:root{--ink:#29253c;--plum:#6d587c;--rose:#c67774;--beige:#f6f0ea;--gold:#b79a68;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:"Noto Sans JP",sans-serif;background:#fff;line-height:1.8}img{display:block;width:100%}a{color:inherit;text-decoration:none}.header{height:78px;display:flex;align-items:center;padding:0 4vw;position:fixed;inset:0 0 auto;z-index:20;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-bottom:1px solid rgba(41,37,60,.08)}.logo{font-size:26px;font-weight:800;letter-spacing:.04em}.logo span{color:var(--rose)}.logo small{font-size:10px;display:block;line-height:1.25;letter-spacing:.08em}.header nav{display:flex;gap:26px;margin-left:auto;font-size:13px;font-weight:600}.header nav a:hover{color:var(--rose)}.header-cta{margin-left:28px;background:var(--ink);color:#fff;padding:12px 24px;border-radius:99px;font-size:13px;font-weight:700}.menu{display:none}.hero{min-height:750px;padding-top:78px;display:grid;grid-template-columns:52% 48%;background:linear-gradient(135deg,#f7f0ec,#eee7f2)}.hero-photo{position:relative;overflow:hidden}.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 60%,rgba(238,231,242,.8))}.hero-photo img{height:100%;object-fit:cover}.hero-copy{padding:8vw 7vw 6vw 6vw;align-self:center}.eyebrow,.section-head>p{font-weight:700;letter-spacing:.22em;color:var(--rose);font-size:12px}.hero h1,.section-head h2,.message h2,.access h2{font-family:"Shippori Mincho",serif}.hero h1{font-size:clamp(44px,5vw,76px);line-height:1.35;margin:14px 0 26px;font-weight:700}.hero h1 em{font-style:normal;color:var(--rose)}.lead{max-width:580px}.hero-buttons{display:flex;gap:14px;margin-top:35px}.btn{display:inline-flex;justify-content:center;align-items:center;min-height:56px;padding:0 34px;border-radius:4px;font-weight:700;letter-spacing:.05em}.primary{background:linear-gradient(135deg,var(--rose),#b85f67);color:#fff;box-shadow:0 10px 25px rgba(184,95,103,.24)}.ghost{border:1px solid var(--plum);color:var(--plum)}.hero-tags{display:flex;gap:10px;margin-top:30px}.hero-tags span{border:1px solid rgba(109,88,124,.25);background:rgba(255,255,255,.55);padding:5px 13px;border-radius:99px;font-size:12px}.section{padding:110px max(6vw,30px)}.section-head{text-align:center;margin-bottom:58px}.section-head h2{font-size:clamp(30px,3vw,46px);line-height:1.55;margin:8px 0}.intro{background:#fff}.intro-text{max-width:800px;margin:-20px auto 60px;text-align:center}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;max-width:1200px;margin:auto}.feature-grid article{padding:38px;background:var(--beige);border-radius:2px}.feature-grid b{font-family:serif;color:var(--gold);font-size:34px}.feature-grid h3{font-size:20px}.feature-grid p{font-size:14px}.services{background:var(--ink)}.section-head.light h2{color:#fff}.service-grid{max-width:1200px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-grid article{background:#fff;overflow:hidden}.service-grid img{height:260px;object-fit:cover}.service-grid article div{padding:28px}.service-grid span,.price-grid>article>p,.access-card>span{color:var(--rose);letter-spacing:.15em;font-size:10px;font-weight:800}.service-grid h3{margin:6px 0}.service-grid p{font-size:14px}.price{background:var(--beige)}.price-grid{display:grid;grid-template-columns:repeat(2,minmax(0,480px));justify-content:center;gap:24px}.price-grid article{background:#fff;padding:50px;border:1px solid #e4dcd6;position:relative}.price-grid h3{font-size:24px;margin:4px 0}.amount{margin:25px 0;border-bottom:1px solid #ddd;padding-bottom:20px}.amount b{font-size:50px;color:var(--rose);line-height:1}.amount small{display:block;font-size:11px}.price-grid ul{padding-left:1.2em;font-size:14px}.price-grid li{margin:8px 0}.recommended{border-color:var(--rose)!important}.badge{position:absolute;top:0;right:0;background:var(--rose);color:#fff;font-size:10px;padding:8px 15px}.note{text-align:center;font-size:11px}.center{text-align:center;margin-top:32px}.gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:240px 240px;gap:10px;max-width:1200px;margin:auto}.gallery img{height:100%;object-fit:cover}.gallery img:first-child{grid-row:1/3}.gallery img:last-child{grid-column:2/4}.instagram{max-width:600px;margin:32px auto 0;padding:20px 26px;background:linear-gradient(110deg,#6d587c,#c67774);color:#fff;display:flex;justify-content:space-between;align-items:center}.instagram span{font-size:12px}.flow{background:#f8f5f8}.flow ol{max-width:950px;margin:auto;padding:0;display:grid;grid-template-columns:repeat(4,1fr);list-style:none}.flow li{display:flex;gap:15px;padding:22px;border-right:1px solid #ddd}.flow li:last-child{border:none}.flow li>b{font-family:serif;font-size:28px;color:var(--rose)}.flow h3{font-size:16px;margin:4px 0}.flow p{font-size:12px}.message{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center;max-width:1400px;margin:auto}.message-photo img{height:600px;object-fit:cover}.message h2{font-size:clamp(30px,3vw,46px);line-height:1.55}.message strong{display:block;margin-top:30px;color:var(--gold)}.faq{max-width:1000px;margin:auto}.faq details{border-bottom:1px solid #ddd;padding:24px 6px}.faq summary{font-weight:700;cursor:pointer;list-style:none;padding-right:40px;position:relative}.faq summary:after{content:"＋";position:absolute;right:8px;color:var(--rose)}.faq details[open] summary:after{content:"−"}.faq details p{color:#635f6c;font-size:14px}.access{display:grid;grid-template-columns:1fr 1fr;gap:30px;background:var(--beige)}.access>div:first-child{padding:4vw}.access h2{font-size:38px}.dark{border-color:var(--ink);color:var(--ink);margin-top:20px}.access-card{background:var(--ink);color:#fff;padding:5vw}.access-card h3{font-family:"Shippori Mincho";font-size:30px}.access-card .btn{margin-top:20px}.login{display:block;margin-top:25px;font-size:13px}footer{padding:50px 6vw;display:flex;align-items:end;gap:30px;background:#fff}footer p{font-size:11px}footer p:last-child{margin-left:auto}.mobile-cta{display:none}
@media(max-width:850px){.header{height:64px}.header nav{display:none;position:absolute;top:64px;left:0;right:0;background:#fff;padding:25px;flex-direction:column;margin:0}.header nav.open{display:flex}.header-cta{display:none}.menu{display:flex;margin-left:auto;border:0;background:none;width:40px;gap:5px;flex-direction:column}.menu i{height:2px;background:var(--ink);width:26px}.hero{padding-top:64px;display:block;min-height:0}.hero-photo{height:55vh;min-height:430px}.hero-photo:after{background:linear-gradient(0deg,#eee7f2 0,transparent 35%)}.hero-copy{padding:45px 25px 65px}.hero h1{font-size:43px}.lead{font-size:14px}.hero-buttons{flex-direction:column}.hero-tags{flex-wrap:wrap}.section{padding:75px 22px}.section-head{margin-bottom:38px}.section-head h2{font-size:29px}.intro-text{text-align:left}.feature-grid,.service-grid,.price-grid{grid-template-columns:1fr}.service-grid img{height:240px}.price-grid article{padding:36px 28px}.gallery{grid-template-columns:1fr 1fr;grid-template-rows:220px 180px 180px}.gallery img:first-child{grid-column:1/3;grid-row:auto}.gallery img:last-child{grid-column:auto}.instagram{display:block}.instagram span{display:block}.flow ol{grid-template-columns:1fr}.flow li{border-right:0;border-bottom:1px solid #ddd}.message{grid-template-columns:1fr}.message-photo img{height:380px}.access{grid-template-columns:1fr}.access>div:first-child,.access-card{padding:45px 26px}.access-card h3{font-size:25px}footer{display:block;padding-bottom:90px}footer p:last-child{margin-top:30px}.mobile-cta{display:grid;position:fixed;bottom:0;left:0;right:0;z-index:30;grid-template-columns:1fr 2fr;box-shadow:0 -3px 15px rgba(0,0,0,.12)}.mobile-cta a{padding:15px;text-align:center;background:#fff;font-size:13px;font-weight:700}.mobile-cta a:last-child{background:var(--rose);color:#fff}}

/* Blue and white brand theme */
:root{--ink:#123b66;--plum:#286a9f;--rose:#2586c7;--beige:#eef7fc;--gold:#63b5df;--white:#fff}
.header{background:rgba(255,255,255,.96);border-bottom-color:rgba(18,59,102,.1)}
.hero{background:linear-gradient(135deg,#fff,#e8f6ff)}
.hero-photo:after{background:linear-gradient(90deg,transparent 60%,rgba(232,246,255,.84))}
.primary{background:linear-gradient(135deg,#2586c7,#1267a4);box-shadow:0 10px 25px rgba(18,103,164,.24)}
.hero-tags span{border-color:rgba(40,106,159,.25)}
.price-grid article{border-color:#d5e6f2}
.instagram{background:linear-gradient(110deg,#123b66,#2586c7)}
.flow{background:#f2f8fc}
.hero h1 span,.hero h1 em,.section-head h2 span,.message h2 span{display:block}
@media(max-width:850px){.hero-photo:after{background:linear-gradient(0deg,#e8f6ff 0,transparent 35%)}.hero h1{font-size:clamp(35px,10vw,43px);line-height:1.45}.section-head h2,.message h2{line-height:1.65}.section-head h2 span,.message h2 span{display:inline}.hero h1 span,.hero h1 em{white-space:nowrap}.intro-text{line-break:strict}.note{font-size:12px}}

/* Editorial headings without punctuation */
.hero h1 span,.hero h1 em{position:relative;width:max-content;max-width:100%}
.hero h1 span{padding-bottom:.12em}
.hero h1 span:after{content:"";position:absolute;left:0;bottom:0;width:2.2em;height:3px;background:#63b5df}
.hero h1 em{margin-left:1.05em;margin-top:.12em}
.section-head h2,.message h2{letter-spacing:.055em}
.section-head h2:after{content:"";display:block;width:52px;height:3px;margin:24px auto 0;background:linear-gradient(90deg,#2586c7,#63b5df)}
.section-head.light h2:after{background:#63b5df}
.section-head h2 span,.message h2 span{margin-top:.16em}
.word-heading{display:flex;align-items:center;justify-content:center;gap:clamp(30px,5vw,78px)}
.word-heading span{display:flex!important;align-items:center;gap:clamp(30px,5vw,78px);margin:0!important}
.word-heading span:not(:last-child):after{content:"";display:block;width:1px;height:1.15em;background:currentColor;opacity:.34}
.word-heading:after{display:none!important}

/* Instagram as the primary acquisition path */
.header-instagram{background:linear-gradient(110deg,#6b4fbb,#2586c7 48%,#dc5b8c)}
.ig-button{gap:12px;background:linear-gradient(110deg,#6b4fbb,#2586c7 48%,#dc5b8c);color:#fff;box-shadow:0 10px 25px rgba(37,134,199,.25)}
.ig-button span,.ig-button b{font-family:Arial,sans-serif;font-weight:700}
.instagram-focus{display:grid;grid-template-columns:1fr 1fr;max-width:1180px;margin:72px auto 0;background:#123b66;color:#fff;box-shadow:0 22px 55px rgba(18,59,102,.16)}
.instagram-focus-photo img{height:100%;min-height:390px;object-fit:cover}
.instagram-focus-copy{display:flex;flex-direction:column;justify-content:center;padding:64px}
.instagram-focus-copy>p{margin:0;color:#63b5df;font-size:12px;font-weight:800;letter-spacing:.22em}
.instagram-focus-copy h2{margin:14px 0 20px;font-family:"Shippori Mincho",serif;font-size:clamp(30px,3vw,46px);line-height:1.55;letter-spacing:.055em}
.instagram-focus-copy>span{font-size:14px;margin-bottom:28px}
.instagram-focus-copy .btn{align-self:flex-start;flex-direction:column;gap:0;min-width:270px;line-height:1.45;padding:13px 28px}
.instagram-focus-copy .btn b{font-size:12px}
.access-card>.ig-button{margin-right:10px}
@media(max-width:850px){.hero h1 em{margin-left:.65em}.hero-buttons .ig-button{order:-1}.instagram-focus{grid-template-columns:1fr;margin:40px 18px 0}.instagram-focus-photo img{min-height:0;height:240px}.instagram-focus-copy{padding:38px 25px}.instagram-focus-copy h2{font-size:29px}.instagram-focus-copy .btn{align-self:stretch;min-width:0}.word-heading{gap:14px;font-size:clamp(24px,7.2vw,29px)!important}.word-heading span{gap:14px}.section-head h2 span,.message h2 span{display:block}.mobile-cta{grid-template-columns:.8fr 1.4fr 1fr}.mobile-cta .mobile-instagram{background:linear-gradient(110deg,#6b4fbb,#2586c7 48%,#dc5b8c);color:#fff}.mobile-cta a:last-child{background:#123b66}.access-card>.ig-button{margin-right:0}}

/* Grand opening offer */
.campaign{position:relative;margin:0;background:linear-gradient(145deg,#0d3258,#155b91);color:#fff;text-align:center;overflow:hidden}
.campaign:before,.campaign:after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(99,181,223,.3)}
.campaign:before{width:520px;height:520px;left:-260px;top:-220px}.campaign:after{width:360px;height:360px;right:-150px;bottom:-180px}
.campaign-kicker{position:relative;z-index:1;display:inline-flex;align-items:center;gap:20px;margin-bottom:20px;padding:9px 20px;border:1px solid rgba(255,255,255,.4);font-size:14px;font-weight:700;letter-spacing:.08em}
.campaign-kicker span{color:#8ed5f5;font-size:12px;letter-spacing:.18em}
.campaign-title{position:relative;z-index:1}.campaign-title p{margin:0;font-size:18px;letter-spacing:.16em}.campaign-title h2{margin:-4px 0 4px;font-family:"Shippori Mincho",serif;font-size:clamp(54px,7vw,92px);line-height:1.25}.campaign-title h2 b{color:#8ed5f5;font-size:1.25em}.campaign-title>strong{font-size:16px;letter-spacing:.1em}
.campaign-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:1100px;margin:48px auto 38px}
.campaign-grid article{position:relative;display:grid;grid-template-columns:105px 1fr;align-items:center;gap:18px;min-height:225px;padding:28px 25px;text-align:left;background:linear-gradient(150deg,#fff 58%,#edf8ff);color:#123b66;border-top:4px solid #63b5df;box-shadow:0 18px 38px rgba(0,0,0,.18)}
.campaign-grid article>span{position:absolute;top:12px;right:17px;color:rgba(37,134,199,.22);font-family:serif;font-size:35px}.campaign-grid p{margin:0;font-weight:800;font-size:17px}.campaign-grid small{display:block;min-height:3.3em;color:#5f7890;font-size:12px}.campaign-grid strong{display:block;color:#e14d55;font-size:40px;line-height:1.15}
.campaign-icon{position:relative;width:105px;height:105px;overflow:hidden;border-radius:50%;background:#e8f6ff;box-shadow:inset 0 0 0 1px #cde8f7}
.campaign-icon img{position:absolute;top:0;height:100%;width:300%;max-width:none;object-fit:cover}
.campaign-icon.icon-01 img{left:0}.campaign-icon.icon-02 img{left:-100%}.campaign-icon.icon-03 img{left:-200%}
.campaign-cta{position:relative;z-index:1;background:#fff;color:#123b66;min-width:280px;box-shadow:0 12px 28px rgba(0,0,0,.18)}

/* Plan discounts and personal support */
.discount-grid{display:grid;grid-template-columns:repeat(2,minmax(0,480px));justify-content:center;gap:24px;margin:24px auto 30px}
.discount-grid article{padding:28px 34px;background:#123b66;color:#fff}.discount-grid span,.support-grid span{color:#63b5df;font-size:12px;font-weight:800;letter-spacing:.16em}.discount-grid h3{display:inline-block;margin:0 18px 0 8px}.discount-grid p{margin:12px 0 0;font-size:13px}.discount-grid strong{font-size:21px;color:#fff}
.support{background:#fff}.support-grid{display:grid;grid-template-columns:repeat(2,minmax(0,550px));justify-content:center;gap:20px}.support-grid article{display:grid;grid-template-columns:42% 58%;background:#eef7fc;overflow:hidden}.support-grid img{height:100%;min-height:270px;object-fit:cover}.support-grid article>div{padding:30px}.support-grid h3{margin:6px 0 12px;font-size:20px}.support-grid p{margin:0;font-size:14px}
@media(max-width:850px){.campaign{padding-left:18px;padding-right:18px}.campaign-kicker{gap:10px;font-size:12px}.campaign-title p{font-size:15px}.campaign-title h2{font-size:58px}.campaign-title>strong{font-size:14px}.campaign-grid{grid-template-columns:1fr;margin-top:34px}.campaign-grid article{grid-template-columns:92px 1fr;min-height:180px;padding:22px 18px}.campaign-icon{width:88px;height:88px}.campaign-grid small{min-height:0;margin-bottom:5px}.campaign-cta{width:100%}.discount-grid,.support-grid{grid-template-columns:1fr}.discount-grid article{padding:24px}.discount-grid h3{display:block;margin:4px 0}.support-grid article{grid-template-columns:1fr}.support-grid img{min-height:0;height:210px}.support-grid article>div{padding:26px}}

/* Store introduction and exterior */
.access{grid-template-columns:minmax(300px,.85fr) minmax(420px,1.15fr);align-items:stretch}
.store-intro{display:flex;flex-direction:column;justify-content:center;padding:4vw!important;background:#eef7fc}
.store-intro>p{font-size:14px}.store-exterior{position:relative;margin:0;min-height:520px;overflow:hidden;background:#dbeaf3}
.store-exterior img{width:100%;height:100%;object-fit:cover}
.store-exterior figcaption{position:absolute;right:18px;bottom:18px;padding:8px 15px;background:rgba(18,59,102,.88);color:#fff;font-size:12px;letter-spacing:.08em}
.access-card{grid-column:1/-1;text-align:center;padding:4vw}.access-card p{max-width:620px;margin-left:auto;margin-right:auto}
@media(max-width:850px){.access{grid-template-columns:1fr}.store-intro{padding:45px 26px!important}.store-exterior{min-height:0;height:330px}.store-exterior figcaption{right:12px;bottom:12px}.access-card{grid-column:auto;text-align:left}.access-card p{margin-left:0}}

/* What to bring */
.belongings{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(420px,1.1fr);gap:7vw;align-items:center;background:linear-gradient(135deg,#fff,#eef7fc)}
.belongings-visual{max-width:540px;justify-self:end}.belongings-visual img{filter:drop-shadow(0 18px 32px rgba(18,59,102,.1))}
.belongings-copy h2{position:relative;margin:8px 0 20px;padding-bottom:18px;font-family:"Shippori Mincho",serif;font-size:clamp(30px,3vw,46px);letter-spacing:.055em}
.belongings-copy h2:after{content:"";position:absolute;left:0;bottom:0;width:52px;height:3px;background:linear-gradient(90deg,#2586c7,#63b5df)}
.belongings-copy>p:not(.eyebrow){font-size:14px}.belongings-copy ul{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:30px 0 0;padding:0;list-style:none}
.belongings-copy li{display:flex;align-items:center;gap:14px;padding:16px 18px;background:#fff;border:1px solid #d5e6f2;box-shadow:0 8px 18px rgba(18,59,102,.06)}
.belongings-copy li b{color:#2586c7;font-family:serif;font-size:20px}.belongings-copy li span{font-weight:700}
@media(max-width:850px){.belongings{grid-template-columns:1fr;gap:25px}.belongings-visual{max-width:430px;justify-self:center}.belongings-copy ul{grid-template-columns:1fr 1fr}.belongings-copy li{padding:13px 12px;gap:9px}.belongings-copy li span{font-size:14px}}

/* Multi-page navigation and layouts */
.header nav a.active{color:#2586c7;position:relative}.header nav a.active:after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:2px;background:#2586c7}.page-main{padding-top:78px}.subhero{padding:100px max(6vw,30px);text-align:center;background:linear-gradient(135deg,#123b66,#247fb7);color:#fff}.subhero>p{margin:0;color:#8ed5f5;font-size:12px;font-weight:800;letter-spacing:.24em}.subhero h1{margin:12px 0 10px;font-family:"Shippori Mincho",serif;font-size:clamp(38px,5vw,66px);letter-spacing:.08em}.subhero>span{font-size:14px}.home-nav{background:#f4f9fd}.page-links{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;max-width:1200px;margin:auto}.page-links a{padding:30px;background:#fff;border-top:4px solid #2586c7;box-shadow:0 10px 25px rgba(18,59,102,.08);transition:transform .2s,box-shadow .2s}.page-links a:hover{transform:translateY(-5px);box-shadow:0 16px 32px rgba(18,59,102,.14)}.page-links span{color:#63b5df;font-family:serif;font-size:24px}.page-links h3{margin:8px 0;font-size:20px}.page-links p{min-height:4em;font-size:13px}.page-links b{color:#2586c7;font-size:13px}.home-summary .center{margin-top:40px}.compact-access{display:grid;grid-template-columns:1fr 1.25fr;align-items:stretch;background:#eef7fc}.compact-access>div{align-self:center;padding:6vw}.compact-access h2{font-family:"Shippori Mincho",serif;font-size:clamp(30px,3vw,44px)}.compact-access img{height:100%;min-height:500px;object-fit:cover}.next-page{text-align:center;padding:70px 25px;background:#eef7fc}.next-page p{font-weight:700}.next-page .btn{min-width:260px}.page-main>.campaign{margin:0}
@media(max-width:1100px){.header nav{gap:16px}.page-links{grid-template-columns:repeat(2,1fr)}}
@media(max-width:850px){.page-main{padding-top:64px}.header nav a.active:after{display:none}.subhero{padding:65px 22px}.subhero h1{font-size:36px}.page-links{grid-template-columns:1fr 1fr;gap:10px}.page-links a{padding:22px 17px}.page-links h3{font-size:17px}.page-links p{min-height:0}.compact-access{grid-template-columns:1fr}.compact-access>div{padding:55px 25px}.compact-access img{min-height:0;height:330px}.home-nav{padding-top:70px;padding-bottom:70px}}

/* LP photography across navigation, benefits and detail pages */
.campaign-photos{position:relative;z-index:1;display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:8px;max-width:920px;margin:-10px auto 32px;overflow:hidden;border:5px solid rgba(255,255,255,.9);box-shadow:0 16px 34px rgba(4,35,67,.18)}
.campaign-photos img{height:170px;object-fit:cover}.campaign-photos img:first-child{height:100%}
.page-links a{padding:0;overflow:hidden}.page-links a>img{height:150px;object-fit:cover}.page-links a>div{padding:23px 25px 27px}.page-links .illustration-card>img{object-fit:cover;object-position:center;background:#e9f5fb}
.page-links span{display:inline-block;margin-top:-3px}
body:has(.header nav a[href="service.html"].active) .subhero{background:linear-gradient(90deg,rgba(5,38,74,.9),rgba(22,105,157,.7)),url("assets/slide-03.webp") center 43%/cover}
body:has(.header nav a[href="price.html"].active) .subhero{background:linear-gradient(90deg,rgba(5,38,74,.9),rgba(22,105,157,.7)),url("assets/slide-08.webp") center/cover}
body:has(.header nav a[href="guide.html"].active) .subhero{background:linear-gradient(90deg,rgba(5,38,74,.9),rgba(22,105,157,.68)),url("assets/slide-06.webp") center 42%/cover}
body:has(.header nav a[href="access.html"].active) .subhero{background:linear-gradient(90deg,rgba(5,38,74,.9),rgba(22,105,157,.62)),url("assets/iofit-suzaka-exterior-sunny.png") center 48%/cover}
.discount-grid article{position:relative;isolation:isolate;overflow:hidden;background-position:center;background-size:cover}.discount-grid article:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(6,42,78,.96),rgba(18,59,102,.76))}.discount-grid article:first-child{background-image:url("assets/slide-01.webp")}.discount-grid article:last-child{background-image:url("assets/slide-02.webp")}
@media(max-width:850px){.campaign-photos{grid-template-columns:1.4fr 1fr;margin:0 auto 28px}.campaign-photos img{height:125px}.campaign-photos img:first-child{grid-row:1/3;height:100%}.page-links a{padding:0}.page-links a>img{height:105px}.page-links a>div{padding:17px 15px 21px}.page-links h3{margin:4px 0}.page-links p{font-size:12px}.subhero{background-position:center!important}}

/* Image balance corrections */
.campaign-photos{grid-template-columns:repeat(3,1fr);grid-auto-rows:180px}
.campaign-photos img,.campaign-photos img:first-child{height:100%;object-fit:cover}
.page-links .illustration-card>img{object-fit:contain;object-position:center;padding:8px 18px;background:#e9f5fb}
@media(max-width:850px){.campaign-photos{grid-template-columns:repeat(3,1fr);grid-auto-rows:110px;gap:4px}.campaign-photos img,.campaign-photos img:first-child{grid-row:auto;height:100%}.page-links .illustration-card>img{padding:6px 10px}}

/* Integrated belongings cards */
.belongings{display:block;background:#eef7fc}
.belongings-visual{display:none}
.belongings-copy{max-width:1200px;margin:auto;text-align:center}
.belongings-copy h2{font-size:clamp(30px,3vw,46px)}
.belongings-copy ul{grid-template-columns:repeat(4,1fr);gap:16px;margin-top:36px}
.belongings-copy li{position:relative;isolation:isolate;aspect-ratio:1/1;align-items:flex-end;padding:22px 18px;background-color:#fff;background-image:url("assets/gym-belongings-icons.png");background-repeat:no-repeat;background-size:200% 200%;border:4px solid #fff;box-shadow:0 12px 28px rgba(18,59,102,.12);overflow:hidden}
.belongings-copy li:after{content:"";position:absolute;inset:auto 0 0;height:30%;z-index:-1;background:linear-gradient(0deg,rgba(255,255,255,.98),rgba(255,255,255,.9),transparent)}
.belongings-copy li:nth-child(1){background-position:0 0}.belongings-copy li:nth-child(2){background-position:100% 0}.belongings-copy li:nth-child(3){background-position:0 100%}.belongings-copy li:nth-child(4){background-position:100% 100%}
.belongings-copy li b{font-size:24px}.belongings-copy li span{font-size:17px}
@media(max-width:850px){.belongings-copy ul{grid-template-columns:1fr 1fr;gap:10px;margin-top:26px}.belongings-copy li{padding:14px 10px;border-width:3px}.belongings-copy li b{font-size:19px}.belongings-copy li span{font-size:14px}}

/* Photo and card containment refinements */
html,body{max-width:100%;overflow-x:clip}
img{max-width:100%}
.campaign-photos,.page-links,.service-grid,.support-grid,.gallery,.compact-access,.access,.message{width:100%}
.campaign-photos>* ,.page-links>* ,.service-grid>* ,.support-grid>* ,.gallery>* ,.compact-access>* ,.access>* ,.message>*{min-width:0}
.campaign-photos{align-items:stretch}
.campaign-photos img{display:block;width:100%;min-width:0;max-width:100%;object-position:center}
.page-links a,.service-grid article,.support-grid article,.price-grid article,.discount-grid article,.store-exterior,.message-photo{min-width:0;overflow:hidden}
.page-links a>img,.service-grid img,.support-grid img,.gallery img,.compact-access img,.store-exterior img,.message-photo img{display:block;max-width:100%}
.belongings-copy li{min-width:0;justify-content:center;gap:8px;text-align:center}
.belongings-copy li span{min-width:0;overflow-wrap:anywhere}
.hero-copy{min-width:0}.hero-buttons{flex-wrap:wrap}.hero-buttons .btn{white-space:nowrap;padding-left:24px;padding-right:24px}
@media(max-width:1200px) and (min-width:851px){.hero-copy{padding-left:5vw;padding-right:5vw}.hero-buttons{display:grid;grid-template-columns:1fr 1fr}.hero-buttons .btn{padding-left:14px;padding-right:14px;font-size:14px}}
@media(max-width:850px){.campaign-photos{width:100%;overflow:hidden}.belongings-copy li{flex-direction:column;gap:0;justify-content:flex-end}.belongings-copy li:after{height:38%}.hero-buttons .btn{white-space:normal}}

/* Rich service page */
.service-details{background:#f4f9fd}
.service-detail{display:grid;grid-template-columns:1.05fr .95fr;align-items:stretch;max-width:1200px;margin:0 auto 42px;background:#fff;box-shadow:0 16px 38px rgba(18,59,102,.1);overflow:hidden}
.service-detail.reverse{grid-template-columns:.95fr 1.05fr}.service-detail.reverse .service-detail-photo{order:2}.service-detail.reverse .service-detail-copy{order:1}
.service-detail-photo{position:relative;margin:0;min-height:470px;overflow:hidden;background:#123b66}
.service-detail-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(145deg,rgba(22,130,193,.08),rgba(4,50,91,.3))}
.service-detail-photo img{width:100%;height:100%;object-fit:cover}
.service-detail-photo figcaption{position:absolute;left:22px;bottom:20px;z-index:1;padding:8px 14px;background:rgba(18,59,102,.88);color:#fff;font-size:12px;font-weight:800;letter-spacing:.15em}
.service-detail-copy{align-self:center;padding:55px 6vw 55px 5vw}.service-detail-copy>span{color:#2586c7;font-size:13px;font-weight:800;letter-spacing:.14em}.service-detail-copy h3{margin:8px 0 20px;color:#123b66;font-family:"Shippori Mincho",serif;font-size:clamp(28px,3vw,42px)}.service-detail-copy p{font-size:15px;line-height:2}
.service-points{margin:26px 0 0;padding:0;list-style:none}.service-points li{position:relative;margin:10px 0;padding:11px 12px 11px 36px;background:#eef7fc;color:#123b66;font-size:14px;font-weight:700}.service-points li:before{content:"✓";position:absolute;left:14px;color:#2586c7}
.support-story{background:linear-gradient(145deg,#0d3258,#155b91)}.support-story-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:1200px;margin:auto}.support-story-grid article{background:#fff;overflow:hidden}.support-story-grid img{height:280px;object-fit:cover}.support-story-grid article>div{padding:28px}.support-story-grid span{color:#2586c7;font-size:11px;font-weight:800;letter-spacing:.15em}.support-story-grid h3{margin:6px 0 12px;color:#123b66;font-size:20px}.support-story-grid p{margin:0;font-size:14px}.support-story .ig-button{border:1px solid rgba(255,255,255,.65)}
@media(max-width:850px){.service-detail,.service-detail.reverse{grid-template-columns:1fr;margin-bottom:24px}.service-detail.reverse .service-detail-photo,.service-detail.reverse .service-detail-copy{order:initial}.service-detail-photo{min-height:0;height:300px}.service-detail-copy{padding:34px 24px 38px}.service-detail-copy p{font-size:14px;line-height:1.9}.support-story-grid{grid-template-columns:1fr}.support-story-grid img{height:240px}.support-story-grid article>div{padding:24px}}

/* Introduction movie */
.intro-movie{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,430px);gap:clamp(48px,8vw,110px);align-items:center;max-width:1200px;margin:auto}
.intro-movie-copy{max-width:600px}
.intro-movie-copy h2{position:relative;margin:10px 0 28px;padding-bottom:22px;color:#123b66;font-family:"Shippori Mincho",serif;font-size:clamp(36px,4.3vw,62px);line-height:1.45;letter-spacing:.06em}
.intro-movie-copy h2:after{content:"";position:absolute;left:0;bottom:0;width:58px;height:3px;background:linear-gradient(90deg,#2586c7,#63b5df)}
.intro-movie-copy>p:not(.eyebrow){max-width:560px;margin-bottom:30px}
.intro-movie-frame{position:relative;padding:12px;background:#123b66;box-shadow:24px 24px 0 #dff1fb}
.intro-movie-frame video{display:block;width:100%;aspect-ratio:9/16;background:#081d32;object-fit:cover}
.intro-movie-frame>span{display:block;padding:11px 8px 1px;color:#fff;font-size:12px;font-weight:700;letter-spacing:.12em;text-align:center}
@media(max-width:850px){.intro-movie{grid-template-columns:1fr;gap:38px;padding-left:28px;padding-right:28px}.intro-movie-copy h2{font-size:36px}.intro-movie-frame{width:min(100%,390px);margin:auto;box-shadow:14px 14px 0 #dff1fb}.intro-movie-copy .btn{width:100%}}

/* Balanced facility gallery */
.gallery{grid-template-columns:2fr 1fr 1fr;grid-template-rows:260px 260px;grid-auto-flow:dense}
.gallery img{width:100%;height:100%;min-width:0;object-fit:cover}
.gallery img:nth-child(1){grid-column:1;grid-row:1/3}
.gallery img:nth-child(2){grid-column:2;grid-row:1}
.gallery img:nth-child(3){grid-column:3;grid-row:1}
.gallery img:nth-child(4){grid-column:2;grid-row:2}
.gallery img:nth-child(5){grid-column:3;grid-row:2}
@media(max-width:850px){.gallery{grid-template-columns:1fr 1fr;grid-template-rows:220px 175px 175px}.gallery img:nth-child(1){grid-column:1/3;grid-row:1}.gallery img:nth-child(2){grid-column:1;grid-row:2}.gallery img:nth-child(3){grid-column:2;grid-row:2}.gallery img:nth-child(4){grid-column:1;grid-row:3}.gallery img:nth-child(5){grid-column:2;grid-row:3}}

/* Keep the full hero artwork visible on phones */
@media(max-width:850px){.hero-photo{height:auto;min-height:0;aspect-ratio:3/4}.hero-photo img{height:100%;object-position:center top}}

/* Improve contrast for the white copy embedded at the foot of the hero image */
@media(max-width:850px){.hero-photo:after{background:linear-gradient(0deg,rgba(5,43,79,.9) 0,rgba(11,72,116,.68) 17%,rgba(19,102,158,.24) 36%,transparent 52%)}}
