:root{--accent:#6e7881;--dark:#1a1c1f;--text:#33373c;--text-light:#4b545d;--text-muted:#626b74;--booking:#3e444a;--booking-hover:#292e33;--booking-border:#8d969e;--bg-white:#f5f6f8;--bg-light:#eceef1;--bg-soft:#f0f2f4;--border:rgba(26,28,31,.12);--hover:#1a1c1f;--line-green:var(--booking);--line-green-light:var(--booking-hover);--bg-gray:#eceef1;--bg-deep:#0b0d0f;--panel:#fff;--panel-raised:#fafbfc;--line-strong:rgba(26,28,31,.3);--ivory:#e9eaec;--marquee:#e3e6e9;--shadow-card:0 1px 2px rgba(20,24,30,.06);--shadow-card-hover:0 18px 48px rgba(20,24,30,.14);--radius:0px;--font-ja:"Noto Sans JP","Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;--font-serif:"Shippori Mincho B1","Hiragino Mincho ProN","Yu Mincho",serif;--font-en:"Cardo","Times New Roman",serif;--font-jp-display:"Shippori Mincho B1","Hiragino Mincho ProN","Yu Mincho",serif;--font-en-display:"Cardo","Times New Roman",serif;--accent-amber:#6e7881;--accent-amber-soft:#9aa1a8;--accent-amber-deep:#565e66;--ease-shutter:cubic-bezier(0.65,0,0.35,1);--ease-soft:cubic-bezier(0.16,1,0.3,1);--ease:cubic-bezier(0.25,0.1,0.25,1);--duration:0.5s;--duration-fast:0.2s;--z-base:0;--z-raised:10;--z-overlay:20;--z-sticky:30;--z-nav:40;--z-modal:50}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background:var(--bg-white);color:var(--text);font-family:var(--font-ja);font-size:15px;font-weight:400;letter-spacing:.05em;line-break:strict;line-height:2.2;overflow-x:hidden;text-wrap:pretty}::selection{background:var(--accent);color:#fff}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid var(--dark);outline-offset:2px}img{display:block;height:auto;max-width:100%}ol,ul{list-style:none}.skipLink{background:var(--dark);border-radius:0;color:#fff;font-size:14px;font-weight:600;left:16px;padding:12px 24px;position:absolute;text-decoration:underline;top:-100%;transition:top var(--duration-fast);z-index:var(--z-modal)}.skipLink:focus{top:0}@keyframes kenBurnsZoom{0%{transform:scale(1) translate(0)}to{transform:scale(1.15) translate(-2%,-1%)}}@keyframes kenBurnsZoomAlt{0%{transform:scale(1.1) translate(1%,1%)}to{transform:scale(1) translate(0)}}@keyframes scrollPulse{0%,to{opacity:.4;transform:translateX(-50%) translateY(0)}50%{opacity:1;transform:translateX(-50%) translateY(8px)}}@keyframes heroFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes faqFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.header{align-items:center;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:rgba(245,246,248,.94);border-bottom:1px solid rgba(26,28,31,.08);display:flex;height:calc(76px + env(safe-area-inset-top));justify-content:space-between;left:0;padding-left:max(clamp(24px,3vw,48px),env(safe-area-inset-left));padding-right:max(clamp(24px,3vw,48px),env(safe-area-inset-right));padding-top:env(safe-area-inset-top);position:fixed;right:0;top:0;transition:background .6s var(--ease),border-color .6s var(--ease),box-shadow .6s var(--ease);z-index:var(--z-nav)}.header.header--home{backdrop-filter:none;-webkit-backdrop-filter:none;background:linear-gradient(180deg,rgba(9,10,12,.5),rgba(9,10,12,0));border-bottom-color:transparent}.header.header--home.header--scrolled{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:rgba(245,246,248,.94);border-bottom-color:rgba(26,28,31,.08);box-shadow:0 8px 32px rgba(20,24,30,.1)}.headerLogo{align-items:center;display:flex;flex-shrink:0}.headerLogo img{height:32px;width:auto}.header--home:not(.header--scrolled) .headerLogo img{filter:brightness(0) invert(1)}.header--home:not(.header--scrolled) .navLink{color:hsla(220,7%,92%,.68)}.header--home:not(.header--scrolled) .navLink:hover,.header--home:not(.header--scrolled) .navLink[aria-current=page]{color:var(--ivory)}.header--home:not(.header--scrolled) .navEn{color:rgba(195,201,207,.85)}.header--home:not(.header--scrolled) .menuToggle span{background:var(--ivory)}.headerNav{gap:0}.headerNav,.navLink{align-items:center;display:flex}.navLink{color:rgba(26,28,31,.66);flex-direction:column;padding:0 clamp(10px,1.4vw,20px);text-decoration:none;transition:color var(--duration) var(--ease)}.navLink:hover,.navLink[aria-current=page]{color:var(--dark)}.navJa{font-size:11px;letter-spacing:.08em}.navEn,.navJa{font-weight:400}.navEn{font-family:var(--font-en);font-size:10px;letter-spacing:.22em;margin-top:2px;text-transform:uppercase}.navEn,.navLink:hover .navEn,.navLink[aria-current=page] .navEn{color:var(--accent)}.navBtn{background:var(--line-green);border:1px solid var(--line-green);border-radius:0;box-shadow:0 6px 18px rgba(6,199,85,.3);color:var(--bg-deep);display:inline-block;font-size:11px;font-weight:600;letter-spacing:.16em;margin-left:24px;padding:11px 30px;text-transform:uppercase;transition:background var(--duration) var(--ease),color var(--duration) var(--ease),border-color var(--duration) var(--ease),box-shadow var(--duration) var(--ease)}.navBtn:before{content:"( "}.navBtn:after,.navBtn:before{color:var(--bg-deep);font-family:var(--font-en)}.navBtn:after{content:" )"}.navBtn:hover{background:var(--line-green-light);border-color:var(--line-green-light);box-shadow:0 10px 24px rgba(6,199,85,.4)}.navBtn:hover,.navBtn:hover:after,.navBtn:hover:before{color:var(--bg-deep)}.btnGrad:focus-visible,.btnGradLg:focus-visible,.btnOutline:focus-visible,.btnOutlineWhite:focus-visible,.formSubmit:focus-visible,.menuToggle:focus-visible,.navBtn:focus-visible,.navLink:focus-visible{outline:2px solid var(--dark);outline-offset:4px}.formInput:focus-visible,.formSelect:focus-visible,.formTextarea:focus-visible{outline:2px solid var(--dark);outline-offset:2px}.faqItem summary:focus-visible{outline:2px solid var(--dark);outline-offset:2px}.menuToggle{background:none;border:none;cursor:pointer;display:none;flex-shrink:0;height:36px;padding:0;position:relative;width:36px;z-index:var(--z-modal)}.menuToggle span{background:var(--dark);display:block;height:1px;left:7px;position:absolute;transition:transform .3s var(--ease),opacity .3s var(--ease);width:22px}.menuToggle span:first-child{top:10px}.menuToggle span:nth-child(2){top:17px}.menuToggle span:nth-child(3){top:24px}.menuToggle[aria-expanded=true] span:first-child{top:17px;transform:rotate(45deg)}.menuToggle[aria-expanded=true] span:nth-child(2){opacity:0}.menuToggle[aria-expanded=true] span:nth-child(3){top:17px;transform:rotate(-45deg)}.header--home:not(.header--scrolled) .menuToggle[aria-expanded=true] span{background:var(--dark)}.mobileOverlay{align-items:center;background:rgba(246,247,249,.98);display:none;flex-direction:column;gap:4px;inset:0;justify-content:center;position:fixed;z-index:var(--z-sticky)}.mobileOverlay.open{display:flex}.mobileOverlay a{color:rgba(26,28,31,.72);font-family:var(--font-serif);font-size:16px;font-weight:400;letter-spacing:.14em;padding:14px 0;text-decoration:none;transition:color .3s var(--ease)}.mobileOverlay a:hover{color:var(--dark)}.mobileOverlay a:focus-visible{outline:2px solid var(--dark);outline-offset:4px}.mobileOverlay .navBtn{font-size:12px;letter-spacing:.2em;margin-left:0;margin-top:24px;padding:16px 48px}.footer{background:var(--bg-deep);border-top:1px solid hsla(220,7%,92%,.07);color:hsla(220,7%,92%,.65);overflow:hidden;padding:clamp(64px,8vw,100px) max(24px,env(safe-area-inset-right)) calc(40px + env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));position:relative}.footerFv{color:var(--marquee);font-family:var(--font-en);font-size:clamp(72px,14vw,200px);font-weight:400;letter-spacing:.04em;line-height:1;margin-bottom:clamp(40px,6vw,80px);pointer-events:none;text-align:center;user-select:none;white-space:nowrap}.footerInner{margin:0 auto;max-width:1100px}.footerTop{align-items:flex-start;border-bottom:1px solid hsla(220,7%,92%,.08);display:flex;flex-wrap:wrap;gap:40px;justify-content:space-between;margin-bottom:32px;padding-bottom:48px}.footerBrand h3{color:var(--ivory);font-family:var(--font-serif);font-size:14px;font-weight:500;letter-spacing:.12em;margin-top:20px}.footerBrand p{color:hsla(220,7%,92%,.7);font-size:12px;line-height:1.9;margin-top:8px}.footerLogo{filter:brightness(0) invert(1);height:28px;width:auto}.footerLinks{align-items:center;display:flex;flex-wrap:wrap;gap:32px}.footerLinks a{color:hsla(220,7%,92%,.78);font-size:12px;letter-spacing:.08em;text-decoration:none;transition:color .3s var(--ease)}.footerLinks a:hover{color:var(--ivory);text-decoration:underline}.footerLinks a:focus-visible{outline:2px solid var(--ivory);outline-offset:4px}.footerSns{margin-top:24px}.footerSns a{color:hsla(220,7%,92%,.62);font-size:12px;text-decoration:underline;transition:color .3s var(--ease)}.footerSns a:hover{color:var(--ivory)}.footerBottom{color:hsla(220,7%,92%,.68);font-family:var(--font-en);font-size:11px;letter-spacing:.14em;padding-top:32px;text-align:center}.footerLegal{display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:center;margin-bottom:20px}.footerLegal a{color:hsla(220,7%,92%,.72);font-family:var(--font-ja);font-size:11px;letter-spacing:.05em;text-decoration:none;transition:color .3s var(--ease)}.footerLegal a:hover{color:hsla(220,7%,92%,.9)}.footerCta{background:var(--ivory);border-radius:0;color:var(--bg-deep);font-size:11px;font-weight:600;letter-spacing:.2em;padding:14px 36px;text-transform:uppercase;transition:opacity var(--duration) var(--ease)}.footerCta:hover{opacity:.85}main{margin-top:72px}main:has(>.dr-hero:first-child),main:has(>.hero-video:first-child),main:has(>.heroSplit:first-child){margin-top:0}.section{contain-intrinsic-size:auto 600px;content-visibility:auto;padding:clamp(100px,16vw,200px) clamp(24px,4vw,48px)}.bgWhite{background:var(--bg-white)}.bgGray{background:var(--bg-light)}.bgSoft{background:var(--bg-soft)}.bgDark{background:var(--bg-deep);color:var(--ivory)}.inner{margin:0 auto;max-width:1160px}.innerNarrow{margin:0 auto;max-width:720px}.sectionLabel{color:var(--accent);display:block;font-family:var(--font-en);font-size:clamp(12px,1.3vw,14px);font-weight:400;letter-spacing:.42em;margin-bottom:32px;text-transform:uppercase}.sectionTitle{color:var(--dark)}.sectionTitle,.sectionTitleWhite{font-family:var(--font-serif);font-size:clamp(28px,4vw,48px);letter-spacing:.12em;line-height:1.7;text-wrap:balance}.sectionTitleWhite{color:var(--ivory)}.sectionLine{background:var(--accent);height:1px;margin-top:28px;opacity:.6;width:48px}.center{text-align:center}.centerLine{margin-left:auto;margin-right:auto}.centerText{text-align:center}.lead{color:var(--text-light);font-size:14px;letter-spacing:.05em;line-height:2.2;margin-top:24px;max-width:560px}.centerLead{margin-left:auto;margin-right:auto}.btnOutline{background:transparent;border:1px solid var(--line-strong);border-radius:0;color:var(--dark);display:inline-block;font-family:var(--font-en),var(--font-ja);font-size:12px;font-weight:400;letter-spacing:.22em;overflow:hidden;padding:18px 56px;position:relative;text-decoration:none;text-transform:uppercase;transition:background var(--duration) var(--ease),color var(--duration) var(--ease),border-color var(--duration) var(--ease),transform var(--duration) var(--ease);z-index:var(--z-base)}.btnOutline:after{content:"\2192";display:inline-block;margin-left:12px;transition:transform var(--duration) var(--ease)}.btnOutline:hover{background:var(--dark);border-color:var(--dark);color:#fff;transform:translateY(-1px)}.btnOutline:hover:after{transform:translateX(4px)}.btnOutlineWhite{background:transparent;border:1px solid var(--line-strong);border-radius:0;color:var(--ivory);display:inline-block;font-family:var(--font-en),var(--font-ja);font-size:12px;font-weight:400;letter-spacing:.22em;padding:18px 56px;text-decoration:none;text-transform:uppercase;transition:background var(--duration) var(--ease),color var(--duration) var(--ease),border-color var(--duration) var(--ease),transform var(--duration) var(--ease)}.btnOutlineWhite:after{content:"\2192";display:inline-block;margin-left:12px;transition:transform var(--duration) var(--ease)}.btnOutlineWhite:hover{background:var(--ivory);border-color:var(--ivory);color:var(--bg-deep);transform:translateY(-1px)}.btnOutlineWhite:hover:after{transform:translateX(4px)}.btnGrad{background:var(--accent);border:1px solid var(--accent);border-radius:0;color:#fff;display:inline-block;font-size:11px;font-weight:600;letter-spacing:.2em;padding:18px 64px;text-transform:uppercase;transition:opacity var(--duration) var(--ease),transform var(--duration) var(--ease)}.btnGrad:hover{opacity:.9;transform:translateY(-1px)}.btnGradLg{background:var(--accent);border:1px solid var(--accent);border-radius:0;color:#fff;display:inline-block;font-size:12px;font-weight:600;letter-spacing:.2em;padding:20px 80px;text-transform:uppercase;transition:opacity var(--duration) var(--ease),transform var(--duration) var(--ease)}.btnGradLg:hover{opacity:.9;transform:translateY(-1px)}.btnGradFull{background:var(--accent);border:1px solid var(--accent);border-radius:0;color:#fff;display:block;font-size:11px;font-weight:600;letter-spacing:.2em;margin:0 auto;max-width:500px;padding:18px 24px;text-align:center;text-transform:uppercase;transition:opacity var(--duration) var(--ease)}.btnGradFull:hover{opacity:.9}.btnSm{font-size:11px;padding:10px 28px}.heroSplit{display:grid;grid-template-columns:1fr 1fr;height:calc(100dvh - 72px);min-height:560px;width:100%}.heroLeft,.heroRight,.heroSplit{background:#000;overflow:hidden;position:relative}.heroLeft img,.heroRight img{filter:brightness(.95) contrast(1.02);height:100%;object-fit:cover;object-position:center center;width:100%}.heroDiag{inset:0;pointer-events:none;position:absolute;z-index:var(--z-raised)}.heroDiag:after{background:hsla(0,0%,100%,.35);bottom:0;content:"";left:50%;position:absolute;top:0;transform:translateX(-.5px);width:1px}.heroOverlay{background:linear-gradient(180deg,transparent,rgba(0,0,0,.08) 30%,rgba(0,0,0,.35) 65%,rgba(0,0,0,.65) 90%,rgba(0,0,0,.85));inset:0;pointer-events:none;position:absolute;z-index:var(--z-raised)}.heroX{align-items:center;background:transparent;border:1px solid hsla(0,0%,100%,.45);border-radius:50%;font-family:var(--font-serif);font-size:clamp(18px,2vw,24px);font-weight:200;height:clamp(56px,5.5vw,72px);justify-content:center;left:50%;letter-spacing:0;top:42%;transform:translate(-50%,-50%);width:clamp(56px,5.5vw,72px)}.heroLabel,.heroX{color:#fff;display:flex;position:absolute;z-index:var(--z-overlay)}.heroLabel{flex-direction:column;gap:10px;top:32%}.heroLabelLeft{left:clamp(24px,5vw,72px)}.heroLabelRight{align-items:flex-end;right:clamp(24px,5vw,72px);text-align:right}.heroLabel h3,.heroLabelHeading{color:#fff;font-family:var(--font-serif);font-size:clamp(16px,2vw,22px);font-weight:200;letter-spacing:.18em;margin:0}.heroLabel span{color:hsla(0,0%,100%,.55);font-family:var(--font-en);font-size:10px;font-weight:400;letter-spacing:.4em;text-transform:uppercase}.heroScroll{align-items:center;animation:scrollPulse 2s ease-in-out infinite;bottom:clamp(16px,3vw,28px);display:flex;flex-direction:column;gap:6px;left:50%;position:absolute;transform:translateX(-50%);z-index:var(--z-overlay)}.heroScrollText{color:hsla(0,0%,100%,.55);font-family:var(--font-en);font-size:9px;font-weight:500;letter-spacing:.3em;text-transform:uppercase}.heroScrollLine{background:linear-gradient(180deg,hsla(0,0%,100%,.3),transparent);height:32px;width:1px}.heroText{animation:heroFadeIn 1.4s ease .4s both;bottom:0;left:0;padding:0 24px clamp(80px,11vw,140px);position:absolute;right:0;text-align:center;z-index:var(--z-overlay)}.heroTextSub{color:hsla(0,0%,100%,.7);font-family:var(--font-en);font-size:10px;font-weight:400;letter-spacing:.7em;margin-bottom:28px;text-transform:uppercase}.heroTextTitle{color:#fff;font-family:var(--font-serif);font-size:clamp(28px,5vw,54px);font-weight:200;letter-spacing:.22em;line-height:1.8;margin:0;text-wrap:balance}.splitSection>.splitContent{display:flex;flex-direction:column;justify-content:center;padding:clamp(60px,8vw,120px);position:relative}.pageHero{background:linear-gradient(to bottom,#e7eaed,var(--bg-white));color:var(--dark);overflow:hidden;padding:clamp(96px,13vw,160px) 24px clamp(56px,8vw,88px);position:relative;text-align:center}.pageHero:after{background:linear-gradient(to bottom,transparent,var(--accent));bottom:0;content:"";height:clamp(28px,4vw,48px);left:50%;opacity:.7;position:absolute;transform:translateX(-50%);width:1px}.pageHeroEn{color:var(--dark);font-family:var(--font-en);font-size:clamp(40px,7vw,88px);font-weight:400;letter-spacing:.06em;line-height:1.1;margin-bottom:18px;text-transform:capitalize}.pageHeroTitle{color:var(--text-light);font-family:var(--font-ja);font-size:clamp(12px,1.4vw,14px);font-weight:400;letter-spacing:.34em;text-wrap:balance}.breadcrumb{color:rgba(26,28,31,.55);font-size:11px;letter-spacing:.08em;margin-top:28px}.breadcrumb a{color:rgba(26,28,31,.55);text-decoration:underline;transition:color .3s var(--ease)}.breadcrumb a:hover{color:rgba(26,28,31,.85)}.duoGrid{align-items:stretch;display:grid;gap:0;grid-template-columns:1fr auto 1fr;margin:0 auto;max-width:880px}.duoItem{background:var(--bg-white);border-radius:0;box-shadow:var(--shadow-card);overflow:hidden;text-align:center;transition:transform var(--duration) var(--ease),box-shadow var(--duration) var(--ease)}.duoItem:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-1px)}.duoImg{aspect-ratio:4/3;object-fit:cover;width:100%}.duoBody{padding:clamp(24px,3vw,36px) clamp(20px,2.5vw,32px) clamp(16px,2vw,24px)}.duoBody h4{color:var(--dark);font-family:var(--font-serif);font-size:clamp(17px,2vw,20px);font-weight:200;letter-spacing:.08em;margin-bottom:6px;text-wrap:balance}.duoBody .sub{color:var(--text-muted);font-family:var(--font-en);font-size:10px;font-weight:500;letter-spacing:.2em;margin-bottom:16px;text-transform:uppercase}.duoBody p{color:var(--text-light);font-size:clamp(13px,1.4vw,14px);letter-spacing:.05em;line-height:2.2;text-align:left;text-wrap:pretty}.duoX{padding:0 4px;z-index:var(--z-raised)}.duoX,.duoXCircle{align-items:center;display:flex;justify-content:center}.duoXCircle{background:var(--dark);border-radius:50%;color:#fff;flex-shrink:0;font-family:var(--font-en);font-size:18px;font-weight:300;height:44px;width:44px}.priceGrid{display:grid;gap:clamp(24px,3vw,36px);grid-template-columns:repeat(3,1fr);margin:0 auto;max-width:1060px}.priceCard{background:var(--bg-white);border:none;border-radius:0;box-shadow:var(--shadow-card);overflow:hidden;position:relative;transition:transform var(--duration) var(--ease),box-shadow var(--duration) var(--ease)}.priceCard:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-1px)}.priceCard--featured{border:1px solid var(--dark);box-shadow:0 20px 48px rgba(0,0,0,.1);transform:translateY(-8px)}.priceCard--featured:hover{box-shadow:0 28px 56px rgba(0,0,0,.14);transform:translateY(-10px)}.priceCard__badge{background:var(--accent);border-bottom:1px solid var(--dark);color:var(--bg-deep);font-family:var(--font-en);font-size:10px;font-weight:600;left:0;letter-spacing:.4em;padding:8px 0;position:absolute;right:0;text-align:center;text-transform:uppercase;top:0;z-index:1}.priceCard--featured .priceCardHead{padding-top:48px}@media (max-width:900px){.priceCard--featured{transform:translateY(0)}.priceCard--featured:hover{transform:translateY(-1px)}}.priceCardHead{background:var(--dark);border-radius:0;color:var(--bg-deep);padding:28px 24px;text-align:center}.priceCardHead h3,.priceCardHead h4{font-family:var(--font-serif);font-size:15px;font-weight:200;letter-spacing:.1em;text-wrap:balance}.priceCardHead .sub{color:rgba(11,13,15,.62);font-family:var(--font-en);font-size:11px;letter-spacing:.2em;margin-top:6px}.priceCardBody{padding:clamp(36px,4vw,48px) clamp(28px,3vw,36px);text-align:center}.priceAmount{color:var(--dark);font-family:var(--font-en);font-size:clamp(34px,4.5vw,44px);font-variant-numeric:tabular-nums;font-weight:400;line-height:1}.priceAmount .yen{font-size:14px;font-weight:400}.priceAmount .tax{color:var(--text-light);display:block;font-family:var(--font-ja);font-size:11px;font-weight:400;margin-top:8px}.priceFeatures{margin-top:24px;text-align:left}.priceFeatures li{border-bottom:1px solid var(--border);color:var(--text);font-size:13px;letter-spacing:.05em;padding:10px 0 10px 20px;position:relative}.priceFeatures li:before{background:var(--dark);content:"";height:1px;left:0;position:absolute;top:50%;transform:translateY(-50%);width:6px}.courseTable{border-collapse:collapse;border-radius:0;box-shadow:var(--shadow-card);margin-top:24px;overflow:hidden;width:100%}.courseTable thead th{background:var(--dark);color:var(--bg-deep);font-size:12px;font-weight:500;letter-spacing:.1em;padding:16px 20px;text-align:center}.courseTable tbody td{border-bottom:1px solid var(--border);font-size:14px;padding:18px 20px;text-align:center;vertical-align:middle}.courseTable tbody tr:hover{background:var(--bg-soft)}.priceOriginal{color:var(--text-muted);font-size:12px;text-decoration:line-through}.priceDiscount{color:var(--dark);font-size:18px;font-variant-numeric:tabular-nums;font-weight:600}.priceOff{color:var(--accent);letter-spacing:.02em}.addonGrid{display:grid;gap:16px;grid-template-columns:repeat(2,1fr);margin:0 auto;max-width:600px}.addonItem{align-items:center;background:var(--bg-white);border:1px solid var(--border);border-radius:0;display:flex;justify-content:space-between;padding:18px 24px;transition:box-shadow var(--duration) var(--ease)}.addonItem:hover{box-shadow:var(--shadow-card)}.addonItem span:first-child{font-size:14px;font-weight:500}.addonItem span:last-child{color:var(--dark);font-family:var(--font-en);font-variant-numeric:tabular-nums;font-weight:600}.faqCategory{margin-bottom:clamp(40px,5vw,56px)}.faqCategoryTitle{border-bottom:1px solid var(--dark);color:var(--dark);font-family:var(--font-serif);font-size:16px;font-weight:200;letter-spacing:.08em;margin-bottom:0;padding-bottom:16px}.faqItem{border-bottom:1px solid var(--border)}.faqItem summary{align-items:center;color:var(--dark);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:16px;line-height:1.7;list-style:none;padding:24px 0;transition:color var(--duration) var(--ease);user-select:none}.faqItem summary::-webkit-details-marker{display:none}.faqItem summary:before{align-items:center;background:var(--dark);border-radius:0;color:#fff;content:"Q";display:flex;flex-shrink:0;font-family:var(--font-en);font-size:11px;font-weight:600;height:28px;justify-content:center;width:28px}.faqItem summary:after{color:var(--text-muted);content:"+";flex-shrink:0;font-size:18px;font-weight:300;margin-left:auto;transition:transform var(--duration) var(--ease)}.faqItem[open] summary:after{transform:rotate(45deg)}.faqItem summary:hover{color:var(--hover)}.faqAnswer{animation:faqFadeIn .3s ease;color:var(--text-light);font-size:13.5px;line-height:2.2;padding:0 0 24px 44px;text-wrap:pretty}.faqDetails{background:var(--bg-white);border:none;border-bottom:1px solid var(--border);border-radius:0;margin-bottom:1px;overflow:hidden}.faqDetails summary{align-items:center;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:16px;justify-content:space-between;list-style:none;padding:24px 0;user-select:none}.faqDetails summary::-webkit-details-marker{display:none}.faqDetails summary:after{color:var(--text-muted);content:"+";flex-shrink:0;font-size:18px;font-weight:300;transition:transform .3s var(--ease)}.faqDetails[open] summary:after{transform:rotate(45deg)}.faqDetails .faqAnswer{animation:faqFadeIn .3s ease;color:var(--text-light);font-size:14px;line-height:2.2;padding:0 0 24px}.formGroup{margin-bottom:28px}.formLabel{display:block;font-size:11px;letter-spacing:.08em;margin-bottom:10px;text-transform:uppercase}.formLabel,.formRequired{color:var(--dark);font-weight:600}.formRequired{font-size:9px;letter-spacing:.06em;margin-left:8px}.formInput,.formSelect,.formTextarea{appearance:none;background:var(--bg-white);border:1px solid var(--border);border-radius:0;color:var(--text);font-family:var(--font-ja);font-size:15px;outline:none;padding:16px 18px;transition:border-color var(--duration) var(--ease);width:100%}.formInput:focus,.formSelect:focus,.formTextarea:focus{border-color:var(--dark)}.formTextarea{min-height:160px;resize:vertical}.formSelect{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23999' d='M6 8 0 0h12z'/%3E%3C/svg%3E");background-position:right 18px center;background-repeat:no-repeat;padding-right:44px}.formSubmit{background:var(--dark);border:1px solid var(--dark);border-radius:0;color:#fff;cursor:pointer;display:inline-block;font-family:var(--font-ja);font-size:11px;font-weight:600;letter-spacing:.2em;padding:18px 64px;text-transform:uppercase;transition:opacity var(--duration) var(--ease),transform var(--duration) var(--ease)}.formSubmit:hover{opacity:.9;transform:translateY(-1px)}.formSubmit:disabled{cursor:not-allowed;opacity:.3}.trainerGrid{display:grid;gap:clamp(28px,3.5vw,48px);grid-template-columns:repeat(2,1fr);margin:0 auto;max-width:820px}.trainerCard{background:var(--bg-white);border:none;border-radius:0;box-shadow:var(--shadow-card);overflow:hidden;transition:transform var(--duration) var(--ease),box-shadow var(--duration) var(--ease)}.trainerCard:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-1px)}.trainerPhoto{aspect-ratio:3/4;background:var(--bg-light);object-fit:cover;width:100%}.trainerInfo{padding:clamp(24px,3vw,32px)}.trainerRole{color:var(--text-muted);font-size:10px;font-weight:500;letter-spacing:.25em;margin-bottom:8px;text-transform:uppercase}.trainerName,.trainerRole{font-family:var(--font-en)}.trainerName{color:var(--dark);font-size:clamp(18px,2.2vw,22px);font-weight:600;letter-spacing:.04em}.trainerNameJa{color:var(--text-light);font-size:13px;margin-top:4px}.trainerTitle{color:var(--text-muted);font-size:12px;font-weight:500;letter-spacing:.04em;margin-top:8px}.trainerIntro{border-top:1px solid var(--border);margin-top:24px;padding-top:20px}.trainerIntro p{color:var(--text-light);font-size:13px;letter-spacing:.03em;line-height:1.95;margin:0 0 14px}.trainerIntro p:last-child{margin-bottom:0}.trainerIntro strong{color:var(--dark);font-weight:600}.trainerQuals{border-top:1px solid var(--border);margin-top:20px;padding-top:20px}.trainerQuals h5{color:var(--text-muted);font-size:10px;font-weight:600;letter-spacing:.15em;margin-bottom:10px;text-transform:uppercase}.trainerQuals li{color:var(--text-light);font-size:12px;line-height:1.9;padding-left:12px;position:relative}.trainerQuals li:before{color:var(--text-muted);content:"-";left:0;position:absolute}.blogGrid{display:grid;gap:28px;grid-template-columns:repeat(3,1fr);margin-top:64px}.blogCard{background:var(--bg-white);border:none;border-radius:0;box-shadow:var(--shadow-card);display:block;overflow:hidden;transition:transform var(--duration) var(--ease),box-shadow var(--duration) var(--ease)}.blogCard:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-1px)}.blogCardImg{height:200px;overflow:hidden;position:relative;width:100%}.blogCardImg img{background:var(--bg-light);display:block;height:100%;object-fit:cover;transition:transform var(--duration) var(--ease);width:100%}.blogCard:hover .blogCardImg img{transform:scale(1.02)}.blogCardBody{padding:28px}.blogCardDate{color:var(--text-muted);font-family:var(--font-en);font-size:11px;font-variant-numeric:tabular-nums;letter-spacing:.1em;margin-bottom:10px}.blogCardMeta{align-items:center;display:flex;gap:12px;margin-bottom:12px}.blogCardMeta .blogCardDate{margin-bottom:0}.blogCardCategory{background:var(--bg-gray);border:1px solid var(--border);color:var(--text-light);font-size:10px;font-weight:500;letter-spacing:.08em;padding:3px 10px;white-space:nowrap}.blogCardDesc{color:var(--text-light);font-size:12px;margin-top:10px}.blogCardDesc,.blogCardTitle{display:-webkit-box;-webkit-line-clamp:2;line-height:1.8;-webkit-box-orient:vertical;overflow:hidden}.blogCardTitle{color:var(--dark);font-size:14px;font-weight:500;margin-top:8px}.blogDetailHero{background:var(--dark);overflow:hidden;padding:clamp(72px,10vw,120px) 24px clamp(48px,7vw,72px);position:relative}.blogDetailHero img{height:100%;object-fit:cover;opacity:.5;width:100%}.blogDetailHeroContent{margin:0 auto;max-width:800px;position:relative;z-index:var(--z-raised)}.blogDetailTitle{color:#fff;font-family:var(--font-serif);font-size:clamp(20px,2.5vw,32px);font-weight:200;line-height:1.7;text-wrap:balance}.blogDetailMeta{color:hsla(0,0%,100%,.65);font-size:12px;letter-spacing:.06em;margin-bottom:14px}.blogContent{margin:0 auto;max-width:800px;padding:clamp(48px,6vw,80px) 24px}.blogContent h2{border-bottom:1px solid var(--border);font-family:var(--font-serif);font-size:22px;font-weight:200;margin:48px 0 20px;padding-bottom:12px}.blogContent h2,.blogContent h3{color:var(--dark);text-wrap:balance}.blogContent h3{font-size:17px;font-weight:600;margin:36px 0 14px}.blogContent p{color:var(--text-light);font-size:15px;line-height:2.2;margin-bottom:24px;text-wrap:pretty}.blogContent img{border-radius:0;margin:32px 0}.blogContent ol,.blogContent ul{margin:20px 0;padding-left:24px}.blogContent li{font-size:15px;line-height:2.2;list-style:disc}.stepBadge{align-items:center;background:var(--dark);border-radius:0;color:#fff;display:flex;font-family:var(--font-en);font-size:24px;font-weight:200;height:64px;justify-content:center;line-height:1;margin:0 auto 24px;width:64px}.storeCard{background:var(--bg-white);border:none;border-radius:0;box-shadow:var(--shadow-card);margin-bottom:20px;overflow:hidden;padding:clamp(28px,3.5vw,40px);position:relative;transition:transform var(--duration) var(--ease),box-shadow var(--duration) var(--ease)}.storeCard:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-1px)}.storeCardCurrent{border-left:2px solid var(--dark)}.storeCardBadge{background:var(--dark);border-radius:0;color:#fff;font-size:10px;font-weight:600;letter-spacing:.15em;padding:6px 18px;position:absolute;right:0;text-transform:uppercase;top:0}.storeCard h4{font-family:var(--font-serif);font-size:18px;font-weight:200;letter-spacing:.06em;margin-bottom:20px}.storeDetail{color:var(--text-light);font-size:13px;line-height:2.4}.storeLabel{color:var(--dark);font-size:12px;font-weight:600;letter-spacing:.04em;margin-right:12px}.storeGrid{display:grid;gap:12px;grid-template-columns:repeat(2,1fr)}.storeGridItem{align-items:center;background:var(--bg-white);border:1px solid var(--border);border-radius:0;display:flex;justify-content:space-between;padding:20px 24px;text-decoration:none;transition:transform var(--duration) var(--ease),box-shadow var(--duration) var(--ease)}.storeGridItem:hover{box-shadow:var(--shadow-card);transform:translateY(-1px)}.storeGridItem span:first-child{color:var(--text);font-size:14px;font-weight:500}.storeGridItem span:last-child{color:var(--text-muted);flex-shrink:0;font-size:12px}.brandCompareTable{border-radius:0;box-shadow:var(--shadow-card);margin-top:48px;overflow:hidden}.brandCompareHead{display:grid;grid-template-columns:1fr 1fr}.brandCompareHeadCell{align-items:center;color:#fff;display:flex;flex-direction:column;gap:4px;padding:28px 20px;text-align:center}.brandCompareHeadGym{background:var(--dark);color:#fff}.brandCompareHeadPilates{background:#222;color:#fff}.brandCompareRow{border-bottom:1px solid var(--border);display:grid;grid-template-columns:1fr 1fr}.brandCompareRow:last-child{border-bottom:none}.brandCompareCell{align-items:center;display:flex;flex-direction:column;gap:6px;padding:24px 20px;text-align:center}.brandCompareCellGym{background:var(--panel)}.brandCompareCellPilates{background:var(--panel-raised)}.brandCompareCellLabel{background:var(--dark);border-radius:0;color:var(--bg-deep);display:inline-block;font-size:10px;font-weight:600;letter-spacing:.08em;margin-bottom:4px;padding:4px 14px;text-transform:uppercase}.flowSteps{align-items:flex-start;display:flex;gap:0;margin:0 auto;max-width:800px}.flowStep{flex:1;padding:0 20px;position:relative;text-align:center}.flowStep:not(:last-child):after{border-bottom:6px solid transparent;border-left:6px solid var(--text-muted);border-top:6px solid transparent;content:"";height:0;position:absolute;right:-2px;top:28px;width:0}.flowStep h4{color:var(--dark);font-size:14px;font-weight:600;margin-bottom:10px;margin-top:16px}.flowStep p{color:var(--text-light);font-size:12px;line-height:1.9;text-wrap:pretty}.mapWrapper{aspect-ratio:16/9;border-radius:0;box-shadow:var(--shadow-card);overflow:hidden;width:100%}.mapWrapper iframe{border:0;height:100%;width:100%}.infoTable{width:100%}.infoTable tr{border-bottom:1px solid var(--border)}.infoTable th{color:var(--dark);font-size:12px;font-weight:600;letter-spacing:.04em;padding:18px 24px 18px 0;vertical-align:top;white-space:nowrap;width:120px}.infoTable td{color:var(--text-light);font-size:14px;line-height:1.9;padding:18px 0}.hr{background:var(--border);height:1px;margin:clamp(32px,4.5vw,52px) auto;width:32px}.title{color:var(--dark);font-family:var(--font-serif);font-size:clamp(28px,4vw,48px);font-weight:200;letter-spacing:.1em;line-height:1.7;margin-bottom:24px;text-wrap:balance}.bgLav{background:var(--bg-soft)}.paymentMethods{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:24px}.paymentBadge{background:var(--bg-white);border:1px solid var(--border);border-radius:0;color:var(--text);font-size:12px;font-weight:500;letter-spacing:.04em;padding:8px 20px}.flowGrid{display:grid;gap:clamp(24px,3vw,48px);grid-template-columns:repeat(4,1fr);margin:0 auto;max-width:1000px}.flowGrid.flowGrid--5{gap:clamp(16px,2.2vw,32px);grid-template-columns:repeat(5,1fr);max-width:1200px}.flowCard{text-align:center}.flowCardImage{aspect-ratio:4/3;margin-bottom:24px;overflow:hidden}.flowCardImage img{height:100%;object-fit:cover;object-position:center;width:100%}.flowCardNum{color:rgba(0,0,0,.08);font-family:var(--font-en);font-size:clamp(40px,5vw,56px);font-weight:100;-webkit-text-stroke:1px rgba(0,0,0,.1);font-variant-numeric:tabular-nums;letter-spacing:-.02em;line-height:1;margin-bottom:16px}.flowCardTitle{color:var(--dark);font-size:14px;font-weight:600;letter-spacing:.06em;margin-bottom:12px}.flowCardBody{color:var(--text-light);font-size:12px;letter-spacing:.05em;line-height:2.2;text-wrap:pretty}.trainerPreviewGrid{display:grid;gap:clamp(32px,4vw,56px);grid-template-columns:1fr 1fr;margin:0 auto;max-width:780px}.trainerPreviewCard{text-align:center}.trainerPreviewImage{aspect-ratio:3/4;height:auto;margin-bottom:28px;object-fit:cover;object-position:top;overflow:hidden;width:100%}.trainerPreviewRole{color:var(--accent);font-family:var(--font-en);font-size:11px;font-weight:400;letter-spacing:.4em;margin-bottom:8px;text-transform:uppercase}.trainerPreviewName{color:var(--dark);font-family:var(--font-serif);font-size:clamp(18px,2vw,22px);font-weight:300;letter-spacing:.1em}@media (max-width:900px){.header{height:56px;padding:0 16px}.headerLogo img{height:28px}.headerNav{display:none}.menuToggle{display:block}main{margin-top:56px}.section{padding:64px 18px}.inner{max-width:100%}.sectionTitle,.sectionTitleWhite,.title{font-size:clamp(22px,5.5vw,32px)}.lead{font-size:13px}.sectionLabel{font-size:9px;letter-spacing:.3em}.heroSplit{height:calc(100dvh - 56px);min-height:400px}.heroSection{min-height:calc(100dvh - 56px)}.heroLabel{top:30%}.heroLabelLeft{left:16px}.heroLabelRight{right:16px}.splitSection>.splitContent{padding:48px 24px}.splitSection>.splitContent .numberLarge{font-size:60px;margin-bottom:16px;position:static!important}.pageHero{padding:clamp(40px,6vw,56px) 20px clamp(28px,4vw,40px)}.duoGrid{grid-template-columns:1fr}.duoX{padding:4px 0}.duoBody p{text-align:center}.priceGrid{max-width:400px}.addonGrid,.priceGrid,.trainerGrid{grid-template-columns:1fr}.trainerGrid{max-width:360px}.blogGrid{gap:20px;grid-template-columns:1fr;margin-top:40px}.blogCardImg{height:200px}.blogDetailHero{padding:clamp(40px,6vw,60px) 20px clamp(28px,4vw,40px)}.blogContent{padding:clamp(28px,4vw,40px) 20px}.blogContent h2{font-size:18px;margin:28px 0 12px}.blogContent p{font-size:14px}.brandCompareHead{grid-template-columns:1fr 1fr}.brandCompareHeadCell{font-size:10px;padding:16px 10px}.brandCompareHeadCell span:nth-child(2){font-size:16px}.brandCompareHeadCell span:first-child,.brandCompareHeadCell span:nth-child(3){font-size:9px}.brandCompareRow{grid-template-columns:1fr 1fr}.brandCompareCell{padding:16px 10px}.brandCompareCellLabel{font-size:9px;padding:3px 8px}.brandCompareCell span:nth-child(2){font-size:12px}.brandCompareCell span:nth-child(3){font-size:10px}.stepBadge{font-size:20px;height:52px;width:52px}.btnGrad,.btnOutline,.btnOutlineWhite{font-size:11px;padding:16px 40px}.btnGradLg{font-size:11px;max-width:360px;padding:18px 48px;text-align:center;width:100%}.faqDetails summary{font-size:14px;padding:20px 0}.faqDetails .faqAnswer{font-size:13px;padding:0 0 20px}.flowSteps{flex-direction:column;gap:28px}.flowStep:after{display:none}.flowStep{padding:0}.flowGrid,.flowGrid.flowGrid--5{grid-template-columns:repeat(2,1fr)}.flowGrid.flowGrid--5{gap:24px}.infoTable td,.infoTable th{display:block;padding:8px 0;width:100%}.infoTable th{padding-bottom:0}.storeGrid{grid-template-columns:1fr}.footerTop{flex-direction:column;gap:28px;text-align:center}.footerLinks{flex-wrap:wrap;gap:16px 28px;justify-content:center}.footerCta,.footerLogo{text-align:center}.footerCta{width:100%}.footerBottom{font-size:10px}.trainerPreviewGrid{gap:16px;grid-template-columns:1fr 1fr;max-width:100%}.mobileOverlay{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.mobileOverlay a{font-size:16px;padding:18px 0}.section.bgDark{padding:clamp(80px,12vw,120px) 18px}.priceGrid{gap:16px}.priceCardBody{padding:24px 20px}.priceAmount{font-size:clamp(32px,8vw,40px)}.heroScroll{bottom:12px}.heroScrollLine{height:20px}}@media (max-width:599px){.heroSplit{grid-template-columns:1fr;grid-template-rows:1fr 1fr;height:calc(100dvh - 56px);min-height:480px}.heroDiag:after{bottom:auto;height:1px;left:0;right:0;top:50%;transform:translateY(-.5px);width:auto}.heroX{font-size:16px;height:44px;top:50%;width:44px}.heroLabel{gap:6px;top:auto}.heroLabel h3,.heroLabelHeading{font-size:14px;letter-spacing:.12em}.heroLabelLeft{left:14px;right:auto;top:6%}.heroLabelRight{align-items:flex-end;left:auto;right:14px;text-align:right;top:53%}.heroText{padding:0 18px clamp(48px,10vw,72px)}.heroTextTitle{font-size:clamp(20px,6.5vw,30px);letter-spacing:.12em;line-height:1.9}.heroTextSub{font-size:9px;letter-spacing:.5em;margin-bottom:20px}.heroLeft img{object-position:center 50%}.heroRight img{object-position:center 35%}.duoImg{aspect-ratio:16/10}.duoX{padding:8px 0}.duoXCircle{font-size:16px;height:36px;width:36px}.btnOutline,.btnOutlineWhite{display:block;font-size:11px;padding:18px 24px;text-align:center}.footerBottom{font-size:9px}.splitSection>.splitContent{padding:clamp(40px,8vw,64px) 24px}.flowGrid{gap:16px;grid-template-columns:repeat(2,1fr);max-width:100%}.trainerPreviewGrid{grid-template-columns:1fr;margin:0 auto;max-width:260px}}.promises-section{contain-intrinsic-size:auto 800px;content-visibility:auto;padding:clamp(120px,18vw,220px) clamp(24px,4vw,48px)}.promises-section__inner{max-width:1160px}.promises-section__head{align-items:center;display:flex;flex-direction:column;gap:24px;margin-bottom:clamp(64px,10vw,120px);text-align:center}.promises-section__subtitle{color:var(--text-muted);font-family:var(--font-en);font-size:10px;font-weight:500;letter-spacing:.5em}.promises-section__title{color:var(--dark);font-family:var(--font-serif);font-size:clamp(28px,4vw,48px);font-weight:200;letter-spacing:.18em;line-height:1.7;text-wrap:balance}.promises-section__head-rule{background:var(--accent);margin-top:8px;opacity:.7;width:48px}.promises-section__grid{gap:clamp(40px,5vw,80px)}.promise-card{display:flex;flex-direction:column;padding-top:40px}.promise-card__num{color:rgba(0,0,0,.1);font-family:var(--font-en);font-size:clamp(56px,6vw,80px);font-weight:100;letter-spacing:-.03em;line-height:1;-webkit-text-stroke:1px rgba(0,0,0,.12);font-variant-numeric:tabular-nums;margin-bottom:28px;user-select:none}.promise-card__line{background:var(--dark);margin-bottom:24px;width:32px}.promise-card__en{color:var(--text-muted);font-family:var(--font-en);font-size:10px;font-weight:500;letter-spacing:.4em}.promise-card__jp{color:var(--dark);font-family:var(--font-serif);font-size:clamp(18px,2vw,22px);font-weight:300;letter-spacing:.1em;line-height:1.7;margin-bottom:20px;text-wrap:balance}.promise-card__body{font-size:13px;letter-spacing:.05em;line-height:2.2;text-wrap:pretty}@media (max-width:900px){.promises-section__grid{gap:56px;grid-template-columns:1fr}.promise-card{padding-top:16px}}.metrics-section{background:var(--bg-deep);color:var(--ivory);contain-intrinsic-size:auto 600px;content-visibility:auto;padding:clamp(120px,18vw,200px) clamp(24px,4vw,48px)}.metrics-section__inner{margin:0 auto;max-width:1200px}.metrics-section__head{align-items:center;display:flex;flex-direction:column;gap:24px;margin-bottom:clamp(72px,10vw,120px);text-align:center}.metrics-section__subtitle{color:hsla(0,0%,100%,.5);font-family:var(--font-en);font-size:10px;font-weight:500;letter-spacing:.5em;text-transform:uppercase}.metrics-section__title{color:#fff;font-family:var(--font-serif);font-size:clamp(26px,3.6vw,42px);font-weight:200;letter-spacing:.18em;line-height:1.7;text-wrap:balance}.metrics-section__grid{border-bottom:1px solid hsla(0,0%,100%,.12);border-top:1px solid hsla(0,0%,100%,.12);display:grid;gap:0;grid-template-columns:repeat(4,1fr)}.metric-item{border-right:1px solid hsla(0,0%,100%,.08);padding:clamp(40px,5vw,64px) clamp(20px,2.5vw,32px);text-align:center}.metric-item:last-child{border-right:none}.metric-item__en{color:hsla(0,0%,100%,.4);font-family:var(--font-en);font-size:9px;font-weight:500;letter-spacing:.5em;margin-bottom:24px;text-transform:uppercase}.metric-item__valueWrap{align-items:baseline;color:#fff;display:inline-flex;font-variant-numeric:tabular-nums;gap:4px;margin-bottom:24px}.metric-item__num{font-family:var(--font-en);font-size:clamp(48px,6vw,80px);font-weight:200;letter-spacing:-.02em;line-height:1}.metric-item__suffix{color:hsla(0,0%,100%,.7);font-family:var(--font-en);font-size:clamp(20px,2.4vw,28px);font-weight:300;letter-spacing:0}.metric-item__rule{background:hsla(0,0%,100%,.3);height:1px;margin:0 auto 20px;width:24px}.metric-item__jp{color:#fff;font-family:var(--font-serif);font-size:clamp(14px,1.5vw,16px);font-weight:300;letter-spacing:.12em;margin-bottom:8px}.metric-item__detail{color:hsla(0,0%,100%,.5);font-size:11px;letter-spacing:.06em}@media (max-width:900px){.metrics-section__grid{grid-template-columns:repeat(2,1fr)}.metric-item{border-right:1px solid hsla(0,0%,100%,.08)}.metric-item:nth-child(2n){border-right:none}.metric-item:nth-child(-n+2){border-bottom:1px solid hsla(0,0%,100%,.08)}}.voices-section{background:var(--bg-light);contain-intrinsic-size:auto 800px;content-visibility:auto;padding:clamp(120px,18vw,220px) clamp(24px,4vw,48px)}.voices-section__inner{margin:0 auto;max-width:1200px}.voices-section__head{align-items:center;display:flex;flex-direction:column;gap:24px;margin-bottom:clamp(64px,10vw,120px);text-align:center}.voices-section__subtitle{color:var(--text-muted);font-family:var(--font-en);font-size:10px;font-weight:500;letter-spacing:.5em;text-transform:uppercase}.voices-section__title{color:var(--dark);font-family:var(--font-serif);font-size:clamp(28px,4vw,48px);font-weight:200;letter-spacing:.18em;line-height:1.7;text-wrap:balance}.voices-section__lead{color:var(--text-light);font-size:13px;letter-spacing:.05em;line-height:2;margin:0;max-width:560px}.voices-section__rule{background:var(--accent);height:1px;opacity:.7;width:32px}.voices-section__grid{display:grid;gap:clamp(28px,3.5vw,48px);grid-template-columns:repeat(3,1fr)}.voice-photo{display:block;margin:0}.voice-photo__img{display:block;height:auto;width:100%}@media (max-width:768px){.voices-section__grid{gap:32px;grid-template-columns:1fr}}.voice-card{background:var(--panel);border:1px solid var(--border);display:flex;flex-direction:column}.voice-card__imgWrap{aspect-ratio:4/5;background:var(--bg-soft);overflow:hidden;position:relative}.voice-card__img{display:block;height:100%;object-fit:cover;width:100%}.voice-card__metric{background:linear-gradient(0deg,rgba(0,0,0,.85),transparent);bottom:0;color:#fff;display:flex;flex-direction:column;gap:2px;left:0;padding:16px 20px 18px;position:absolute;width:100%}.voice-card__metricLabel{color:hsla(0,0%,100%,.6);font-family:var(--font-en);font-size:9px;font-weight:500;letter-spacing:.4em;text-transform:uppercase}.voice-card__metricValue{color:#fff;font-family:var(--font-en);font-size:clamp(20px,2.5vw,28px);font-variant-numeric:tabular-nums;font-weight:300;letter-spacing:0}.voice-card__metricSub{color:hsla(0,0%,100%,.7);font-size:11px;letter-spacing:.05em;margin-top:2px}.voice-card__body{display:flex;flex:1;flex-direction:column;padding:clamp(24px,3vw,36px)}.voice-card__quote{color:var(--text);flex:1;font-family:var(--font-serif);font-size:clamp(13px,1.4vw,15px);font-weight:300;letter-spacing:.05em;line-height:2.1;margin-bottom:24px;text-wrap:pretty}.voice-card__person{align-items:baseline;border-top:1px solid var(--border);color:var(--text-light);display:flex;font-family:var(--font-en);font-size:11px;gap:10px;letter-spacing:.15em;padding-top:18px}.voice-card__initial{color:var(--dark);font-weight:600;letter-spacing:.2em}.voice-card__sep{color:var(--text-muted)}.voice-card__meta{color:var(--text-light);font-family:var(--font-ja);font-size:11px;letter-spacing:.08em}.voices-section__disclaimer{color:var(--text-muted);font-size:11px;letter-spacing:.05em;margin-top:clamp(48px,6vw,72px);text-align:center}@media (max-width:900px){.voices-section__grid{grid-template-columns:1fr;margin-left:auto;margin-right:auto;max-width:480px}}.studio-gallery{background:var(--bg-white);contain-intrinsic-size:auto 1000px;content-visibility:auto;padding:clamp(120px,18vw,220px) clamp(24px,4vw,48px)}.studio-gallery__inner{margin:0 auto;max-width:1280px}.studio-gallery__head{align-items:center;display:flex;flex-direction:column;gap:24px;margin-bottom:clamp(64px,10vw,120px);text-align:center}.studio-gallery__subtitle{color:var(--text-muted);font-family:var(--font-en);font-size:10px;font-weight:500;letter-spacing:.5em;text-transform:uppercase}.studio-gallery__title{color:var(--dark);font-family:var(--font-serif);font-size:clamp(28px,4vw,48px);font-weight:200;letter-spacing:.18em;line-height:1.7;text-wrap:balance}.studio-gallery__rule{background:var(--accent);height:1px;opacity:.7;width:32px}.studio-gallery__lead{color:var(--text-light);font-size:13px;letter-spacing:.05em;line-height:2.2;margin-top:8px;max-width:520px;text-wrap:pretty}.hide-desktop{display:none}.studio-gallery__grid{display:grid;gap:clamp(8px,1vw,14px);grid-auto-rows:minmax(180px,auto);grid-template-columns:repeat(6,1fr)}.studio-gallery__item{background:var(--bg-soft);margin:0;overflow:hidden;position:relative}.studio-gallery__item--lg{aspect-ratio:16/7;grid-column:span 6;grid-row:span 2}.studio-gallery__item--md,.studio-gallery__item--sm{aspect-ratio:4/3;grid-column:span 3}.studio-gallery__img{display:block;height:100%;object-fit:cover;transition:transform .8s var(--ease);width:100%}.studio-gallery__item:hover .studio-gallery__img{transform:scale(1.04)}.studio-gallery__caption{background:rgba(0,0,0,.6);bottom:16px;color:#fff;font-size:10px;font-weight:500;left:16px;letter-spacing:.15em;opacity:0;padding:6px 12px;pointer-events:none;position:absolute;transition:opacity .3s var(--ease)}.studio-gallery__item:hover .studio-gallery__caption{opacity:1}@media (max-width:900px){.hide-desktop{display:inline}.studio-gallery__grid{grid-auto-rows:minmax(140px,auto);grid-template-columns:repeat(2,1fr)}.studio-gallery__item--lg{aspect-ratio:16/9;grid-column:span 2}.studio-gallery__item--md,.studio-gallery__item--sm{aspect-ratio:1/1;grid-column:span 1}.studio-gallery__caption{bottom:8px;font-size:9px;left:8px;opacity:1;padding:4px 10px}}.faq-teaser{background:var(--bg-white);contain-intrinsic-size:auto 800px;content-visibility:auto;padding:clamp(120px,18vw,220px) clamp(24px,4vw,48px)}.faq-teaser__inner{margin:0 auto;max-width:880px}.faq-teaser__head{align-items:center;display:flex;flex-direction:column;gap:24px;margin-bottom:clamp(56px,8vw,96px);text-align:center}.faq-teaser__subtitle{color:var(--text-muted);font-family:var(--font-en);font-size:10px;font-weight:500;letter-spacing:.5em;text-transform:uppercase}.faq-teaser__title{color:var(--dark);font-family:var(--font-serif);font-size:clamp(28px,4vw,48px);font-weight:200;letter-spacing:.18em;line-height:1.7;text-wrap:balance}.faq-teaser__rule{background:var(--accent);height:1px;opacity:.7;width:32px}.faq-teaser__list{border-top:1px solid var(--border)}.faq-teaser__item{border-bottom:1px solid var(--border)}.faq-teaser__q{align-items:flex-start;cursor:pointer;display:flex;gap:20px;list-style:none;padding:28px 4px;transition:color .3s var(--ease);user-select:none}.faq-teaser__q::-webkit-details-marker{display:none}.faq-teaser__qMark{color:var(--dark);flex-shrink:0;font-family:var(--font-en);font-size:14px;font-weight:500;letter-spacing:.1em;text-align:center;width:24px}.faq-teaser__qText{color:var(--dark);flex:1;font-size:15px;font-weight:500;letter-spacing:.04em;line-height:1.7}.faq-teaser__icon{flex-shrink:0;height:14px;margin-top:4px;position:relative;width:14px}.faq-teaser__icon:after,.faq-teaser__icon:before{background:var(--dark);content:"";left:50%;position:absolute;top:50%;transition:transform .3s var(--ease)}.faq-teaser__icon:before{height:1px;transform:translate(-50%,-50%);width:14px}.faq-teaser__icon:after{height:14px;transform:translate(-50%,-50%);width:1px}.faq-teaser__item[open] .faq-teaser__icon:after{transform:translate(-50%,-50%) scaleY(0)}.faq-teaser__q:hover .faq-teaser__qText{color:var(--text-light)}.faq-teaser__a{align-items:flex-start;animation:faqFadeIn .3s ease;display:flex;gap:20px;padding:0 4px 28px}.faq-teaser__aMark{color:var(--text-muted);flex-shrink:0;font-family:var(--font-en);font-size:14px;font-weight:500;letter-spacing:.1em;text-align:center;width:24px}.faq-teaser__aText{color:var(--text-light);flex:1;font-size:14px;letter-spacing:.05em;line-height:2.1;text-wrap:pretty}.faq-teaser__more{margin-top:clamp(56px,7vw,80px);text-align:center}.access-preview{background:var(--bg-light);contain-intrinsic-size:auto 700px;content-visibility:auto;padding:clamp(120px,18vw,220px) clamp(24px,4vw,48px)}.access-preview__inner{align-items:stretch;display:grid;gap:clamp(48px,6vw,96px);grid-template-columns:1fr 1.2fr;margin:0 auto;max-width:1200px}.access-preview__info{display:flex;flex-direction:column;gap:20px}.access-preview__subtitle{color:var(--text-muted);font-family:var(--font-en);font-size:10px;font-weight:500;letter-spacing:.5em;text-transform:uppercase}.access-preview__title{color:var(--dark);font-family:var(--font-serif);font-size:clamp(26px,3.6vw,42px);font-weight:200;letter-spacing:.18em;line-height:1.6;text-wrap:balance}.access-preview__rule{background:var(--accent);height:1px;margin-bottom:12px;opacity:.7;width:32px}.access-preview__list{margin:0;padding:0}.access-preview__row{border-bottom:1px solid var(--border);display:grid;font-size:13px;gap:24px;grid-template-columns:80px 1fr;padding:18px 0}.access-preview__row dt{color:var(--text-muted);font-family:var(--font-en);font-size:10px;font-weight:500;letter-spacing:.2em;padding-top:4px;text-transform:uppercase}.access-preview__row dd{color:var(--text);letter-spacing:.05em;line-height:1.9;margin:0}.access-preview__row a{color:var(--dark);text-decoration:underline;text-underline-offset:3px}.access-preview__note{color:var(--text-light);font-size:13px;letter-spacing:.03em;line-height:1.9;margin-top:24px}.access-preview__cta{margin-top:28px}.access-preview__map{background:var(--bg-soft);border:1px solid var(--border);min-height:480px;overflow:hidden;position:relative}.access-preview__map iframe{display:block;filter:grayscale(.2) contrast(1.05);height:100%;width:100%}@media (max-width:900px){.access-preview__inner{gap:40px;grid-template-columns:1fr}.access-preview__map{min-height:320px}.access-preview__row{gap:16px;grid-template-columns:70px 1fr;padding:14px 0}}.hero-video{background:#000;color:#fff;height:100dvh;isolation:isolate;min-height:600px;overflow:hidden;position:relative;width:100%}.hero-video__media{height:100%;inset:0;object-fit:cover;object-position:center 42%;position:absolute;width:100%;z-index:1}@media (max-width:768px){.hero-video__media{object-position:center center}}.hero-video__poster{background:url(/images/hero-studio-poster.webp) 50%/cover no-repeat #000}.hero-video__media--hidden{display:none!important}.hero-video__vignette{background:linear-gradient(180deg,rgba(9,10,12,.55),rgba(9,10,12,.24) 28%,rgba(9,10,12,.34) 50%,rgba(9,10,12,.6) 72%,rgba(11,13,15,.82) 90%,#121416);z-index:2}.hero-video__grain,.hero-video__vignette{inset:0;pointer-events:none;position:absolute}.hero-video__grain{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.7 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");background-size:240px 240px;mix-blend-mode:overlay;opacity:.07;z-index:3}.hero-video__content{align-items:center;display:flex;flex-direction:column;inset:0;justify-content:center;padding:0 clamp(24px,4vw,48px);position:absolute;text-align:center;z-index:4}.hero-video__en{color:hsla(220,7%,92%,.8);display:inline-block;font-family:var(--font-en);font-size:clamp(11px,1.2vw,13px);font-weight:400;letter-spacing:.7em;padding-left:.7em;text-shadow:0 1px 10px rgba(0,0,0,.5),0 0 6px rgba(0,0,0,.4);text-transform:uppercase}.hero-video__rule{background:rgba(195,201,207,.7);height:1px;margin:26px auto 30px;width:56px}.hero-video__title{align-items:center;display:flex;flex-direction:column;gap:clamp(14px,2vw,24px);margin:0;text-wrap:balance}.hero-video__logotype{color:var(--ivory);font-family:var(--font-en);font-size:clamp(60px,10.5vw,132px);font-weight:400;letter-spacing:.05em;line-height:1;text-shadow:0 4px 48px rgba(0,0,0,.5),0 0 22px rgba(0,0,0,.42);user-select:none}.hero-video__brand{color:hsla(220,7%,92%,.82);font-family:var(--font-ja);font-size:clamp(11px,1.1vw,13px);font-weight:400;letter-spacing:.32em;text-shadow:0 1px 12px rgba(0,0,0,.55),0 0 9px rgba(0,0,0,.45)}.hero-video__tagline{color:var(--ivory);font-family:var(--font-serif);font-size:clamp(18px,2.6vw,30px);font-weight:400;letter-spacing:.3em;line-height:1.8;text-shadow:0 2px 24px rgba(0,0,0,.45),0 0 14px rgba(0,0,0,.4)}.hero-video__sub{color:hsla(220,7%,92%,.72);font-family:var(--font-ja);font-size:clamp(12px,1.3vw,14px);font-weight:300;letter-spacing:.15em;line-height:2.2;margin-top:clamp(24px,3.5vw,36px);text-shadow:0 1px 12px rgba(0,0,0,.55),0 0 8px rgba(0,0,0,.4)}.hero-video__brMobile{display:none}.hero-video__scroll{align-items:center;bottom:max(clamp(20px,3vw,32px),env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:12px;left:50%;position:absolute;transform:translateX(-50%);z-index:4}.hero-video__scrollText{color:hsla(0,0%,100%,.65);font-family:var(--font-en);font-size:9px;font-weight:500;letter-spacing:.5em;padding-left:.5em;text-transform:uppercase}.hero-video__scrollLine{animation:heroScrollPulse 2.4s ease-in-out infinite;background:linear-gradient(180deg,hsla(0,0%,100%,.5),transparent);height:36px;transform-origin:top center;width:1px}@keyframes heroScrollPulse{0%,to{opacity:.4;transform:scaleY(.4)}50%{opacity:1;transform:scaleY(1)}}@media (max-width:900px){.hero-video__logotype{font-size:clamp(56px,17vw,96px)}.hero-video__tagline{font-size:clamp(16px,4.6vw,22px);letter-spacing:.22em}.hero-video__brMobile{display:inline}}@media (prefers-reduced-motion:reduce){.hero-video__media{display:none}.hero-video{background:linear-gradient(180deg,rgba(0,0,0,.3),rgba(0,0,0,.85)),url(/images/hero-studio-poster.webp) 50%/cover no-repeat #000}.hero-video__scrollLine{animation:none;opacity:.5}}.stickyCta{bottom:max(12px,env(safe-area-inset-bottom));display:none;left:12px;opacity:0;pointer-events:none;position:fixed;right:12px;transform:translateY(16px);transition:opacity .4s var(--ease),transform .4s var(--ease);z-index:var(--z-sticky)}.stickyCta--visible{opacity:1;pointer-events:auto;transform:translateY(0)}.stickyCta__btn{align-items:center;background:var(--line-green);border:1px solid var(--line-green);box-shadow:0 12px 30px rgba(6,199,85,.35);color:var(--bg-deep);display:flex;font-family:var(--font-ja);font-size:14px;font-weight:700;gap:14px;height:56px;justify-content:center;letter-spacing:.12em;text-decoration:none;transition:background .3s var(--ease),box-shadow .3s var(--ease);width:100%}.stickyCta__btn:hover{background:var(--line-green-light);color:var(--bg-deep)}.stickyCta__arrow{font-family:var(--font-en);font-size:16px;transition:transform .3s var(--ease)}.stickyCta__btn:hover .stickyCta__arrow{transform:translateX(4px)}@media (max-width:900px){.stickyCta{display:block}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}html{scroll-behavior:auto}.faqAnswer,.heroLeft img,.heroRight img,.heroScroll{animation:none}.heroScroll{opacity:.5}.blogCard:hover .blogCardImg img{transform:none}.menuToggle span{transition:none}.heroText{animation:none;opacity:1}}.dr-hero{background:#000;color:#fff;height:100dvh;isolation:isolate;min-height:600px;overflow:hidden;position:relative;width:100%}.dr-hero:after{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.7 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");background-size:240px 240px;content:"";inset:0;mix-blend-mode:overlay;opacity:.07;pointer-events:none;position:absolute;z-index:6}.dr-hero__stage{z-index:0}.dr-hero__slide,.dr-hero__stage{inset:0;overflow:hidden;position:absolute}.dr-hero__slide{opacity:0;visibility:hidden}.dr-hero__img{backface-visibility:hidden;filter:brightness(1) contrast(1);height:100%;inset:0;object-fit:cover;object-position:center 40%;transform:translateZ(0);width:100%}.dr-hero__cover,.dr-hero__img{position:absolute;will-change:transform}.dr-hero__cover{background:#050505;bottom:0;pointer-events:none;top:0;width:50%;z-index:4}.dr-hero__cover--left{border-right:1px solid rgba(184,137,92,.15);left:0;transform:translateX(-101%)}.dr-hero__cover--right{right:0;transform:translateX(101%)}.dr-hero__cover-edge{background:linear-gradient(180deg,rgba(184,137,92,0),rgba(184,137,92,.85) 50%,rgba(184,137,92,0));bottom:12%;position:absolute;top:12%;transform:scaleY(0);width:1px}.dr-hero__cover--left .dr-hero__cover-edge{right:0}.dr-hero__cover--right .dr-hero__cover-edge{left:0}.dr-hero__hframe{background:hsla(0,0%,100%,.18);height:1px;left:clamp(20px,5vw,56px);pointer-events:none;position:absolute;right:clamp(20px,5vw,56px);transform-origin:left center;z-index:2}.dr-hero__hframe--top{top:clamp(96px,10vw,138px)}.dr-hero__hframe--bottom{bottom:clamp(96px,10vw,138px)}.dr-hero__edge{align-items:center;bottom:clamp(120px,14vw,180px);display:flex;justify-content:center;pointer-events:none;position:absolute;top:clamp(120px,14vw,180px);width:14px;z-index:2}.dr-hero__edge--left{left:clamp(8px,2vw,18px)}.dr-hero__edge--right{right:clamp(8px,2vw,18px)}.dr-hero__edge-text{color:hsla(0,0%,100%,.45);font-family:var(--font-en-display);font-size:9px;font-weight:500;letter-spacing:.55em;text-indent:.55em;text-orientation:mixed;text-transform:uppercase;white-space:nowrap;writing-mode:vertical-rl}.dr-hero__edge--right .dr-hero__edge-text{color:rgba(184,137,92,.5)}.dr-hero__overlay{background:linear-gradient(180deg,rgba(0,0,0,.08),transparent 25%,rgba(0,0,0,.1) 65%,rgba(0,0,0,.45) 95%,rgba(0,0,0,.65)),linear-gradient(90deg,rgba(0,0,0,.3),rgba(0,0,0,.05) 35%,transparent 55%);inset:0;pointer-events:none;position:absolute;z-index:1}.dr-hero__corner{position:absolute;z-index:3}.dr-hero__corner--tl{align-items:center;display:flex;gap:clamp(16px,2.5vw,32px);left:clamp(20px,5vw,56px);top:clamp(28px,5vw,64px)}.dr-hero__rule{background:hsla(0,0%,100%,.55);height:1px;position:relative;transform-origin:left center;width:clamp(96px,14vw,200px)}.dr-hero__rule:after{background:var(--accent-amber);content:"";height:5px;left:0;position:absolute;top:-2px;transform-origin:left center;width:32px}.dr-hero__caption{left:clamp(20px,5vw,56px);max-width:min(440px,60vw);position:absolute;top:50%;transform:translateY(-50%);z-index:3}.dr-hero__caption-en{color:var(--accent-amber);font-family:var(--font-en-display);font-size:12px;letter-spacing:.5em;margin-bottom:14px;padding-bottom:4px;text-indent:.5em;text-transform:uppercase}.dr-hero__caption-en,.dr-hero__caption-jp{display:inline-flex;font-weight:600;overflow:hidden}.dr-hero__caption-jp{color:#fff;flex-wrap:wrap;font-family:var(--font-jp-display);font-size:clamp(34px,5vw,64px);letter-spacing:.06em;line-height:1.2;margin:0 0 22px;padding-bottom:8px;text-shadow:0 2px 16px rgba(0,0,0,.35)}.dr-hero__char{display:inline-block;transform-origin:bottom center;will-change:transform,opacity}.dr-hero__caption-tag{color:hsla(0,0%,100%,.85);font-family:var(--font-jp-display);font-size:14px;font-weight:400;letter-spacing:.12em;line-height:2;text-shadow:0 1px 12px rgba(0,0,0,.4)}.dr-hero__bottom{align-items:center;bottom:clamp(28px,4vw,56px);display:grid;gap:clamp(16px,3vw,32px);grid-template-columns:auto 1fr auto;left:clamp(20px,5vw,56px);position:absolute;right:clamp(20px,5vw,56px);z-index:3}.dr-hero__indicators-list{align-items:center;display:flex;gap:14px}.dr-hero__dot{background:transparent;border:none;color:hsla(0,0%,100%,.4);cursor:pointer;font-family:var(--font-en-display);font-size:13px;font-weight:500;letter-spacing:.15em;padding:8px 4px;position:relative;transition:color .4s var(--ease-soft)}.dr-hero__dot:before{background:var(--accent-amber);bottom:0;content:"";height:1px;left:4px;position:absolute;right:4px;transform:scaleX(0);transform-origin:left center;transition:transform .5s var(--ease-soft)}.dr-hero__dot.is-active,.dr-hero__dot:hover{color:#fff}.dr-hero__dot.is-active:before{transform:scaleX(1)}.dr-hero__progress{background:hsla(0,0%,100%,.18);height:1px;overflow:hidden;transform-origin:left center}.dr-hero__progress-bar{background:var(--accent-amber);height:100%;transform:scaleX(0);transform-origin:left center;width:100%}.dr-hero__indicators{align-items:baseline;color:hsla(0,0%,100%,.7);display:flex;font-family:var(--font-en-display);font-size:12px;font-weight:500;gap:6px;letter-spacing:.15em}.dr-hero__index{color:var(--accent-amber);display:inline-block;font-size:17px;font-weight:600;overflow:hidden;will-change:transform,opacity}.dr-hero__indicators{overflow:hidden}.dr-hero__sep{color:hsla(0,0%,100%,.3)}.dr-hero__brand{max-width:50vw;position:absolute;right:clamp(20px,5vw,56px);text-align:right;top:clamp(28px,5vw,64px);z-index:3}.dr-hero__brand-en{color:hsla(0,0%,100%,.55);font-family:var(--font-en-display);font-size:10px;font-weight:500;letter-spacing:.55em;margin-bottom:12px;text-indent:.55em;text-transform:uppercase}.dr-hero__brand-jp{color:hsla(0,0%,100%,.92);font-family:var(--font-jp-display);font-size:clamp(14px,1.4vw,18px);font-weight:500;letter-spacing:.18em;line-height:1.7;margin:0}.dr-hero__scroll{align-items:center;bottom:clamp(28px,4vw,56px);color:hsla(0,0%,100%,.6);display:none;flex-direction:column;font-family:var(--font-en-display);font-size:10px;font-weight:500;gap:8px;letter-spacing:.4em;position:absolute;right:clamp(20px,5vw,56px);z-index:3}.dr-hero__scroll-line{animation:drHeroScrollPulse 2.4s ease-in-out infinite;background:linear-gradient(180deg,hsla(0,0%,100%,.7),hsla(0,0%,100%,0));height:32px;width:1px}@keyframes drHeroScrollPulse{0%,to{opacity:.5;transform:scaleY(.4);transform-origin:top center}50%{opacity:1;transform:scaleY(1);transform-origin:top center}}@media (max-width:899px){.dr-hero{height:calc(100svh - 56px);min-height:580px}.dr-hero__brand{display:none}}@media (min-width:600px) and (max-width:899px){.dr-hero__caption{max-width:55vw}.dr-hero__caption-jp{font-size:clamp(38px,6vw,52px)}}@media (max-width:599px){.dr-hero{height:100svh;max-height:820px;min-height:580px}.dr-hero:after{opacity:.05}.dr-hero__corner--tl{gap:12px;left:16px;top:20px}.dr-hero__rule{width:76px}.dr-hero__rule:after{height:4px;width:24px}.dr-hero__caption{left:18px;max-width:none;right:18px;top:46%}.dr-hero__caption-en{font-size:10px;letter-spacing:.4em;margin-bottom:10px}.dr-hero__caption-jp{font-size:clamp(26px,7vw,34px);letter-spacing:.04em;margin-bottom:14px}.dr-hero__caption-tag{font-size:12px;letter-spacing:.08em;line-height:1.85}.dr-hero__edge{bottom:clamp(140px,20vw,170px);top:clamp(80px,14vw,110px);width:12px}.dr-hero__edge--left{left:6px}.dr-hero__edge--right{right:6px}.dr-hero__edge-text{font-size:8px;letter-spacing:.42em}.dr-hero__hframe{left:16px;right:16px}.dr-hero__hframe--top{top:clamp(70px,14vw,96px)}.dr-hero__hframe--bottom{bottom:clamp(96px,16vw,120px)}.dr-hero__bottom{bottom:18px;column-gap:12px;grid-template-areas:"progress count" "list list";grid-template-columns:1fr auto;left:16px;right:16px;row-gap:14px}.dr-hero__progress{grid-area:progress}.dr-hero__indicators{grid-area:count}.dr-hero__indicators-list{gap:12px;grid-area:list}.dr-hero__dot{font-size:12px;padding:12px 8px}.dr-hero__index{font-size:15px}.dr-hero__sep,.dr-hero__total{font-size:11px}.dr-hero__brand{display:none}}@media (max-width:899px) and (max-height:500px) and (orientation:landscape){.dr-hero{height:100svh;min-height:100svh}.dr-hero__caption{max-width:60vw;top:50%;transform:translateY(-50%)}.dr-hero__caption-jp{font-size:clamp(22px,5vw,32px);margin-bottom:10px}.dr-hero__caption-tag{font-size:11px;line-height:1.7}.dr-hero__hframe--top{top:56px}.dr-hero__hframe--bottom{bottom:60px}.dr-hero__bottom{bottom:14px}}@media (min-width:1440px){.dr-hero{min-height:720px}.dr-hero__caption{left:clamp(56px,6vw,96px);max-width:540px}.dr-hero__caption-en{font-size:13px;letter-spacing:.55em;margin-bottom:18px}.dr-hero__caption-jp{font-size:clamp(58px,5.4vw,80px)}.dr-hero__caption-tag{font-size:15px;letter-spacing:.14em}.dr-hero__rule{width:clamp(180px,14vw,240px)}.dr-hero__rule:after{height:6px;width:40px}.dr-hero__corner--tl{left:clamp(56px,5vw,88px);top:clamp(56px,5vw,88px)}.dr-hero__bottom{left:clamp(56px,5vw,88px);right:clamp(56px,5vw,88px)}.dr-hero__brand{right:clamp(56px,5vw,88px);top:clamp(56px,5vw,88px)}.dr-hero__brand-jp{font-size:clamp(16px,1.3vw,20px)}}@media (min-width:1920px){.dr-hero__caption{max-width:620px}.dr-hero__caption-jp{font-size:clamp(72px,5vw,96px)}.dr-hero__caption-tag{font-size:16px}}@media (prefers-reduced-motion:reduce){.dr-hero__scroll-line{animation:none}.dr-hero__cover{transition:none}}@media (max-width:414px){.section{padding:clamp(56px,14vw,80px) 16px}.splitSection>.splitContent{padding:40px 18px}.hero-video__title{font-size:clamp(24px,8vw,32px);letter-spacing:.1em}.hero-video__sub{font-size:11px;letter-spacing:.1em;line-height:2}.btnGrad,.btnGradLg,.btnOutline,.btnOutlineWhite,.formSubmit{align-items:center;display:inline-flex;justify-content:center;min-height:48px;padding:14px 28px}.btnGradFull{align-items:center;display:flex;justify-content:center;min-height:48px;padding:16px 20px}.menuToggle,.navLink{min-height:44px}.menuToggle{min-width:44px}.faq-teaser__q,.faqDetails summary,.faqItem summary{align-items:center;min-height:56px}.access-preview__title,.faq-teaser__title,.metrics-section__title,.promises-section__title,.studio-gallery__title,.voices-section__title{letter-spacing:.12em}.metric-item{padding:32px 16px}.metric-item__num{font-size:clamp(40px,12vw,56px)}.voice-card__body{padding:20px}.studio-gallery__caption{opacity:1}.stickyCta{left:8px;right:8px}.stickyCta__btn{font-size:13px;height:52px}}@media (hover:none){.studio-gallery__item:hover .studio-gallery__img{transform:none}.studio-gallery__item:hover .studio-gallery__caption{opacity:1}.blogCard:hover,.btnGrad:hover,.btnGradLg:hover,.btnOutline:hover,.btnOutlineWhite:hover,.duoItem:hover,.formSubmit:hover,.priceCard--featured:hover,.priceCard:hover,.storeCard:hover,.storeGridItem:hover,.trainerCard:hover,.trainerPreviewCard:hover{box-shadow:var(--shadow-card);transform:none}.blogCard:hover .blogCardImg img,.btnOutline:hover:after,.btnOutlineWhite:hover:after,.stickyCta__btn:hover .stickyCta__arrow{transform:none}}.promises-section{background:var(--bg-white);overflow:hidden;padding:clamp(96px,14vw,180px) 0;position:relative}.promises-section__inner{margin:0 auto;max-width:1240px;padding:0 clamp(20px,5vw,64px)}.promises-section__head{margin-bottom:clamp(64px,9vw,120px);position:relative}.promises-section__subtitle{color:var(--accent-amber);display:inline-block;font-family:var(--font-en-display);font-size:12px;font-weight:600;letter-spacing:.55em;margin-bottom:24px;text-indent:.55em;text-transform:uppercase}.promises-section__title{color:var(--text);font-family:var(--font-jp-display);font-size:clamp(40px,6.5vw,80px);font-weight:700;letter-spacing:.06em;line-height:1.2;margin:0 0 28px}.promises-section__head-rule{background:var(--text);height:1px;position:relative;width:80px}.promises-section__head-rule:after{background:var(--accent-amber);content:"";height:5px;left:0;position:absolute;top:-2px;width:24px}.promises-section__grid{display:grid;gap:clamp(40px,5vw,88px);grid-template-columns:repeat(3,1fr)}.promise-card{padding-top:8px;position:relative}.promise-card__num{color:var(--accent-amber);font-family:var(--font-en-display);font-size:clamp(56px,7vw,96px);font-weight:200;letter-spacing:-.02em;line-height:.9;margin-bottom:20px}.promise-card__line{background:var(--text);height:1px;margin-bottom:36px;width:56px}.promise-card__en{color:var(--accent-amber);font-family:var(--font-en-display);font-size:11px;font-weight:600;letter-spacing:.45em;margin-bottom:14px;text-indent:.45em;text-transform:uppercase}.promise-card__jp{color:var(--text);font-family:var(--font-jp-display);font-size:clamp(22px,2.6vw,30px);font-weight:600;letter-spacing:.06em;line-height:1.55;margin:0 0 28px}.promise-card__body{color:var(--text-light);font-family:var(--font-ja);font-size:14px;font-weight:400;letter-spacing:.06em;line-height:2.05;margin:0}@media (max-width:1024px){.promises-section__grid{gap:clamp(32px,4vw,56px)}.promise-card__num{font-size:clamp(48px,8vw,64px)}.promise-card__jp{font-size:clamp(18px,3vw,24px)}}@media (max-width:767px){.promises-section__grid{gap:56px;grid-template-columns:1fr}.promise-card{max-width:480px}.promise-card__num{font-size:64px;margin-bottom:16px}.promise-card__line{margin-bottom:28px}}@media (max-width:599px){.promises-section{padding:80px 0}.promises-section__head{margin-bottom:56px}.promises-section__title{font-size:clamp(32px,8vw,44px)}}.campaignBanner{background:radial-gradient(ellipse at top,rgba(195,201,207,.1) 0,transparent 50%),linear-gradient(180deg,var(--bg-deep) 0,var(--bg-soft) 100%);overflow:hidden;padding:clamp(64px,9vw,120px) clamp(24px,4vw,48px);position:relative}.campaignBanner:before{background-image:linear-gradient(rgba(195,201,207,.05) 1px,transparent 0),linear-gradient(90deg,rgba(195,201,207,.05) 1px,transparent 0);background-size:60px 60px;content:"";inset:0;pointer-events:none;position:absolute}.campaignBanner__inner{align-items:center;display:flex;flex-direction:column;gap:clamp(20px,2.6vw,32px);margin:0 auto;max-width:880px;text-align:center}.campaignBanner__eyebrow{align-items:center;color:var(--accent,#c3c9cf);display:inline-flex;flex-wrap:wrap;font-family:var(--font-en);font-size:11px;font-weight:500;gap:12px;justify-content:center;letter-spacing:.4em;padding-left:.4em;text-transform:uppercase}.campaignBanner__eyebrowDot{background:var(--accent,#c3c9cf);height:1px;opacity:.6;width:24px}.campaignBanner__title{color:#fff;font-family:var(--font-serif);font-size:clamp(21px,3.6vw,40px);font-weight:200;letter-spacing:.08em;line-height:1.5;margin:0}.campaignBanner__titlePart{display:inline-block;white-space:nowrap}.campaignBanner__titleLine{display:block;white-space:nowrap}.campaignBanner__titleLine+.campaignBanner__titleLine{margin-top:6px}.campaignBanner__rule{background:hsla(0,0%,100%,.35);height:1px;width:56px}.campaignBanner__period{border:1px solid hsla(0,0%,100%,.32);color:#fff;font-family:var(--font-ja);font-size:12px;font-weight:500;letter-spacing:.14em;margin-left:6px;padding:8px 18px;white-space:nowrap}.campaignBanner__offers{border:1px solid hsla(0,0%,100%,.22);display:grid;grid-template-columns:1.5fr 1fr 1fr;list-style:none;margin:0;max-width:780px;padding:0;width:100%}.campaignBanner__offer{align-items:center;display:flex;flex-direction:column;gap:14px;justify-content:center;padding:clamp(22px,3vw,34px) clamp(10px,1.6vw,20px)}.campaignBanner__offer+.campaignBanner__offer{border-left:1px solid hsla(0,0%,100%,.22)}.campaignBanner__offerLabel{color:hsla(0,0%,100%,.72);font-family:var(--font-ja);font-size:clamp(11px,1.15vw,13px);letter-spacing:.2em}.campaignBanner__offerValue{align-items:baseline;color:#fff;display:inline-flex;gap:4px}.campaignBanner__offerPre{color:hsla(0,0%,100%,.8);font-family:var(--font-ja);font-size:clamp(12px,1.3vw,15px);letter-spacing:.08em}.campaignBanner__offerNum{font-family:var(--font-en);font-size:clamp(34px,5.4vw,62px);font-variant-numeric:tabular-nums;font-weight:600;letter-spacing:-.01em;line-height:1}.campaignBanner__offerUnit{font-family:var(--font-ja);font-size:clamp(13px,1.5vw,17px)}.campaignBanner__offerOff{font-family:var(--font-en);font-size:clamp(12px,1.4vw,16px);letter-spacing:.18em;margin-left:2px}.campaignBanner__offerFree{align-items:baseline;color:#fff;display:inline-flex;gap:4px}.campaignBanner__offer--plans{align-items:stretch;justify-content:center}.campaignBanner__planRows{display:flex;flex-direction:column;gap:10px;width:100%}.campaignBanner__planRow{align-items:baseline;display:flex;gap:12px;justify-content:space-between}.campaignBanner__planRow+.campaignBanner__planRow{border-top:1px solid hsla(0,0%,100%,.16);padding-top:10px}.campaignBanner__planGrade{color:hsla(0,0%,100%,.72);font-family:var(--font-ja);font-size:clamp(11px,1.1vw,12.5px);letter-spacing:.1em;white-space:nowrap}.campaignBanner__offer--plans .campaignBanner__offerNum{font-size:clamp(24px,3.2vw,38px)}.campaignBanner__offer--plans .campaignBanner__offerUnit{font-size:clamp(11px,1.2vw,14px)}.campaignBanner__offer--plans .campaignBanner__offerOff{font-size:clamp(10px,1.1vw,13px)}@media (max-width:680px){.campaignBanner__offers{grid-template-columns:1fr;max-width:420px}.campaignBanner__offer{flex-direction:row;gap:12px;justify-content:space-between;padding:16px 22px}.campaignBanner__offer+.campaignBanner__offer{border-left:none;border-top:1px solid hsla(0,0%,100%,.22)}.campaignBanner__offer--plans{align-items:stretch;flex-direction:column;gap:14px}.campaignBanner__offerLabel{letter-spacing:.14em}.campaignBanner__period{font-size:11px;margin-left:0;padding:6px 14px}}.campaignBanner__desc{color:hsla(0,0%,100%,.78);font-family:var(--font-ja);font-size:clamp(12px,1.25vw,13.5px);letter-spacing:.04em;line-height:2;margin:0 auto;max-width:720px;text-align:left}.campaignBanner__desc strong{color:hsla(0,0%,100%,.95);font-weight:500}@media (max-width:768px){.campaignBanner__desc{font-size:12px;line-height:1.95}}.campaignBanner__benefit{align-items:center;display:flex;flex-direction:column;gap:18px}.campaignBanner__lead{color:hsla(0,0%,100%,.7);font-size:13px;font-weight:400;letter-spacing:.3em;margin:0}.campaignBanner__priceText{align-items:baseline;color:hsla(0,0%,100%,.9);display:inline-flex;flex-wrap:wrap;font-family:var(--font-ja);font-size:clamp(16px,1.8vw,20px);font-weight:300;gap:8px;justify-content:center;letter-spacing:.1em;margin:0}.campaignBanner__price{align-items:baseline;color:var(--accent,#c3c9cf);display:inline-flex;font-family:var(--font-en);font-weight:600}.campaignBanner__priceMark{font-size:clamp(20px,2.4vw,28px);margin-right:2px}.campaignBanner__priceNum{font-size:clamp(40px,6vw,72px);font-variant-numeric:tabular-nums;letter-spacing:-.02em;line-height:1}.campaignBanner__priceOff{color:var(--accent,#c3c9cf);font-family:var(--font-en);font-size:clamp(14px,1.6vw,18px);letter-spacing:.2em;margin-left:4px}.campaignBanner__cta{align-items:center;display:flex;flex-direction:column;gap:16px;margin-top:12px}.campaignBanner__btn{align-items:center;background:#06c755;border-radius:0;box-shadow:0 8px 24px rgba(6,199,85,.25);color:#fff;display:inline-flex;font-size:14px;font-weight:600;gap:14px;letter-spacing:.12em;padding:18px 40px;text-decoration:none;transition:background .3s var(--ease,ease),transform .3s var(--ease,ease),box-shadow .3s var(--ease,ease)}.campaignBanner__btn:hover{background:#05b14b;box-shadow:0 12px 28px rgba(6,199,85,.32)}.campaignBanner__btnIcon{background:hsla(0,0%,100%,.22);border-radius:2px;font-family:var(--font-en);font-size:11px;font-weight:700;letter-spacing:.15em;padding:4px 10px}.campaignBanner__btnText{font-size:14px}.campaignBanner__note{color:hsla(0,0%,100%,.55);font-size:11px;letter-spacing:.1em;line-height:1.9;margin:0;max-width:780px}.campaignBanner__noteLink{color:hsla(0,0%,100%,.9);text-decoration:underline;text-underline-offset:3px}.campaignBanner__noteLink:hover{color:#fff}.campaignBanner__brMobile{display:none}@media (max-width:599px){.campaignBanner__brMobile{display:inline}.campaignBanner__priceText{font-size:14px}.campaignBanner__btn{padding:16px 28px}.campaignBanner__eyebrow{font-size:10px;letter-spacing:.3em}.campaignBanner__eyebrowDot{width:16px}}.relatedLinks{background:var(--bg-gray);padding:clamp(72px,9vw,120px) clamp(24px,4vw,48px)}.relatedLinks__inner{margin:0 auto;max-width:1200px}.relatedLinks__head{align-items:center;display:flex;flex-direction:column;gap:16px;margin-bottom:clamp(40px,5vw,64px);text-align:center}.relatedLinks__label{color:var(--text-muted);font-family:var(--font-en);font-size:11px;font-weight:500;letter-spacing:.5em;padding-left:.5em;text-transform:uppercase}.relatedLinks__title{color:var(--dark);font-family:var(--font-serif);font-size:clamp(24px,3.5vw,36px);font-weight:200;letter-spacing:.18em;line-height:1.5;margin:0}.relatedLinks__rule{background:var(--dark);height:1px;margin-top:8px;opacity:.4;width:48px}.relatedLinks__grid{display:grid;gap:clamp(16px,2vw,24px);grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.relatedLink{background:var(--panel);border:1px solid var(--border);color:var(--dark);display:block;padding:clamp(28px,3.2vw,40px) clamp(24px,3vw,32px);position:relative;text-decoration:none;transition:transform .3s var(--ease,ease),box-shadow .3s var(--ease,ease),border-color .3s var(--ease,ease)}.relatedLink:hover{border-color:rgba(195,201,207,.45);box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}.relatedLink__en{color:var(--accent);display:block;font-family:var(--font-en);font-size:11px;font-weight:400;letter-spacing:.3em;margin-bottom:12px;text-transform:uppercase}.relatedLink__title{color:var(--dark);font-size:16px;font-weight:500;letter-spacing:.05em;line-height:1.6;margin:0 0 12px}.relatedLink__desc{color:var(--text-light);font-size:12px;letter-spacing:.03em;line-height:1.9;margin:0}.relatedLink__arrow{bottom:clamp(20px,2.4vw,28px);color:var(--text-muted);font-size:16px;position:absolute;right:clamp(20px,2.4vw,28px);transition:transform .3s var(--ease,ease),color .3s var(--ease,ease)}.relatedLink:hover .relatedLink__arrow{color:var(--dark);transform:translateX(4px)}html.motion-ready .inview{opacity:0;transform:translateY(44px);transition:opacity 1.1s var(--ease-soft),transform 1.1s var(--ease-soft);will-change:opacity,transform}html.motion-ready .inview.is-active{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){html.motion-ready .inview{opacity:1;transform:none;transition:none}}.parallaxImg{overflow:hidden;position:relative}.parallaxImg img{display:block;height:112%;left:0;object-fit:cover;position:absolute;top:-6%;width:100%}.parallaxFrame{overflow:hidden;position:relative}.parallaxFrame>img{height:116%;inset:-8% 0;object-fit:cover;position:absolute;width:100%}@keyframes marqueeSlide{0%{transform:translateX(0)}to{transform:translateX(-50%)}}.imgLift{overflow:hidden}.imgLift img{transition:transform 1.2s var(--ease-soft)}.imgLift:hover img{transform:scale(1.045)}.access-preview__map iframe,.map iframe,.mapWrapper iframe{filter:none}.formInput::placeholder,.formSelect::placeholder,.formTextarea::placeholder{color:rgba(26,28,31,.4)}.breadcrumb [aria-current=page],.breadcrumb span:last-child{color:rgba(26,28,31,.78)}@media (max-width:600px){.courseTable{border-collapse:separate;box-shadow:none;overflow:visible}.courseTable thead{display:none}.courseTable tbody{display:block}.courseTable tbody tr{border:1px solid var(--border);box-shadow:var(--shadow-card);display:block;margin-bottom:16px;padding:22px 20px 24px}.courseTable tbody tr,.courseTable tbody tr:hover{background:var(--panel)}.courseTable tbody td,.courseTable tbody th{border:0;display:block;padding:0;text-align:left}.courseTable tbody th{border-bottom:1px solid var(--border);color:var(--dark);font-family:var(--font-serif);font-size:18px;font-weight:500;letter-spacing:.06em;margin-bottom:14px;padding-bottom:14px}.courseTable tbody td:nth-child(2){color:var(--text-light);font-size:13.5px;line-height:1.9;margin-bottom:16px;overflow-wrap:normal;word-break:keep-all}.courseTable tbody td:nth-child(3){text-align:left}.courseTable tbody td:nth-child(3) .priceDiscount{font-size:26px}.courseTable tbody td:nth-child(3) .priceOriginal{font-size:13px}}.courseHeadKeep{white-space:nowrap}@media (max-width:360px){.courseHeadKeep{white-space:normal}}.backdropFixed{background:linear-gradient(rgba(11,13,15,.35),rgba(11,13,15,.35)),url(/images/hero-studio-poster.webp) 50% /cover no-repeat,var(--bg-deep);inset:0;pointer-events:none;position:fixed;transform:translateZ(0);z-index:-2}.backdropFixed__video{height:100%;object-fit:cover;opacity:0;transition:opacity 1.1s var(--ease-soft);width:100%;will-change:opacity}.bgReveal{background:linear-gradient(rgba(11,13,15,.55),rgba(11,13,15,.4) 40%,rgba(11,13,15,.72));color:var(--ivory)}.hero-video__logotype{display:inline-flex}.hero-video__lt{animation:ltSheen 1.5s var(--ease-soft) both;background:linear-gradient(165deg,#f5f6f7,#d8dce0 30%,#9aa2a9 48%,#e8eaec 62%,#f5f6f7);background-position:0 0;background-size:220% 220%;color:transparent;display:inline-block}@keyframes ltSheen{0%{background-position:130% 130%;opacity:0;transform:translateY(.16em)}to{background-position:0 0;opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.hero-video__lt{animation:none;opacity:1;transform:none}}.btnOutlineWhite{overflow:hidden;position:relative}.btnOutline:before,.btnOutlineWhite:before{background:linear-gradient(105deg,transparent 42%,hsla(220,7%,92%,.22) 50%,transparent 58%);content:"";inset:0;pointer-events:none;position:absolute;transform:translateX(-130%);transition:transform .8s var(--ease-soft)}.btnOutline:hover:before,.btnOutlineWhite:hover:before{transform:translateX(130%)}body:after{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.7 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");background-size:240px 240px;content:"";inset:0;opacity:.04;pointer-events:none;position:fixed;z-index:90}.sectionLine{background:linear-gradient(90deg,rgba(26,28,31,.45),rgba(26,28,31,.06))}.centerLine{background:linear-gradient(90deg,rgba(26,28,31,.06),rgba(26,28,31,.45),rgba(26,28,31,.06))}.bgDark .sectionLine,.section.bgDark .sectionLine{background:linear-gradient(90deg,hsla(220,7%,92%,.55),hsla(220,7%,92%,.08))}.bgDark .centerLine,.section.bgDark .centerLine{background:linear-gradient(90deg,hsla(220,7%,92%,.08),hsla(220,7%,92%,.55),hsla(220,7%,92%,.08))}.promise-card__jp{line-break:strict;word-break:keep-all}.hero-video__media{filter:saturate(1.05) contrast(1.04) brightness(1.05)}.backdropFixed__video{filter:saturate(.72) contrast(1.06) brightness(1.12)}.hero-video__vignette{background:linear-gradient(180deg,rgba(9,10,12,.5),rgba(9,10,12,.2) 30%,rgba(9,10,12,.3) 60%,rgba(11,13,15,.75) 88%,#0b0d0f)}.campaignBanner{background:radial-gradient(ellipse at top,rgba(195,201,207,.06) 0,transparent 50%),linear-gradient(180deg,rgba(11,13,15,.8),rgba(11,13,15,.66) 45%,rgba(11,13,15,.86))}.campaignBanner__inner{position:relative}.campaignBanner__inner:before{background:radial-gradient(ellipse at center,rgba(11,13,15,.72) 0,rgba(11,13,15,.44) 55%,transparent 78%);content:"";inset:-6% -8%;pointer-events:none;position:absolute;z-index:-1}.backdropFixed__video{inset:0;position:absolute}.backdropFixed .backdropFixed__video{opacity:0}.backdropFixed .backdropFixed__video.is-active{opacity:1}.courseTable thead th,.priceCardHead,.priceCard__badge{background:linear-gradient(180deg,#f4f5f6,#dce0e3 44%,#c3c9cf 56%,#edeef0);isolation:isolate;position:relative}.priceCardHead:after,.priceCard__badge:after{background-image:repeating-linear-gradient(90deg,hsla(0,0%,100%,0),hsla(0,0%,100%,.05) 1px,rgba(0,0,0,.02) 2px,transparent 3px);content:"";inset:0;mix-blend-mode:soft-light;pointer-events:none;position:absolute;z-index:-1}.priceCardHead{box-shadow:inset 0 1px 0 hsla(0,0%,100%,.85),inset 0 -1px 0 rgba(0,0,0,.22)}.priceCard__badge{background:linear-gradient(105deg,#edeef0,#c3c9cf 40%,#f4f5f6 60%,#c9cfd4);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.8),0 2px 10px rgba(0,0,0,.3)}.footerFv{background:linear-gradient(100deg,#3c4045,#6b7077 18%,#e9eaec 38%,#9aa1a8 50%,#f2f3f4 64%,#6b7077 82%,#3c4045);-webkit-background-clip:text;background-clip:text;background-size:220% 100%;color:transparent;-webkit-text-fill-color:transparent;animation:metalScan 9s linear infinite;text-shadow:0 1px 0 rgba(0,0,0,.5)}@keyframes metalScan{0%{background-position:140% 0}to{background-position:-40% 0}}.hero-video__lt{background:linear-gradient(162deg,#fff,#d2d7db 30%,#868d94 50%,#edeff1 64%,#b6bdc3 82%,#fff);-webkit-background-clip:text;background-clip:text;background-size:200% 240%;-webkit-text-fill-color:transparent;filter:drop-shadow(0 3px 22px rgba(0,0,0,.55))}.priceCard,.promise-card,.voice-card{background:var(--panel)!important;border:1px solid rgba(26,28,31,.1)!important;box-shadow:var(--shadow-card);transition:transform .5s var(--ease-soft),border-color .5s var(--ease-soft),box-shadow .5s var(--ease-soft)}.promise-card:hover,.voice-card:hover{border-color:rgba(26,28,31,.24)!important;box-shadow:0 22px 48px rgba(20,24,30,.14);transform:translateY(-4px)}.promise-card__num{background:linear-gradient(160deg,rgba(90,98,106,.65),rgba(26,28,31,.18));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;opacity:.45}@media (min-width:901px){.sectionTitle{line-height:1.6}.sectionTitle,.sectionTitleWhite{font-size:clamp(30px,5vw,60px)}}.priceCard--featured{border:1px solid rgba(26,28,31,.3)!important;box-shadow:0 28px 60px rgba(20,24,30,.18);transform:translateY(-18px) scale(1.045);z-index:2}.priceCard--featured:hover{transform:translateY(-22px) scale(1.045)}.priceCard:not(.priceCard--featured){opacity:.92}.priceCard--featured .priceAmount{font-size:clamp(40px,5vw,60px)}@media (max-width:900px){.priceCard--featured{transform:translateY(0) scale(1)}.priceCard--featured:hover{transform:translateY(-2px) scale(1)}.priceCard:not(.priceCard--featured){opacity:1}}.priceOff{background:linear-gradient(105deg,#edeef0,#c3c9cf);border-radius:999px;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.8);color:#121416;display:inline-block;font-size:11px;font-weight:600;letter-spacing:.06em;margin-top:6px;padding:3px 12px}.priceOriginal{opacity:.85;text-decoration-color:rgba(195,201,207,.6)}.campaignBanner__btn{background:var(--line-green);border:1px solid var(--line-green);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.16);color:var(--bg-deep)}.campaignBanner__btn:hover{background:var(--line-green-light);border-color:var(--line-green-light);box-shadow:0 0 28px rgba(6,199,85,.35);transform:translateY(-1px)}.campaignBanner__btnIcon{color:var(--bg-deep);position:relative}@media (prefers-reduced-motion:reduce){.footerFv{animation:none}}.backdropFixed__video.is-active{animation:bgDollyIn 14s ease-out both}@keyframes bgDollyIn{0%{transform:scale(1.001)}to{transform:scale(1.085)}}.access-preview,.faq-teaser,.metrics-section,.promises-section,.section.bgGray,.section.bgWhite,.studio-gallery,.voices-section{transform-style:flat}@media (prefers-reduced-motion:reduce){.backdropFixed__video.is-active{animation:none}}.preloader{align-items:center;animation:preloaderPanel 1s cubic-bezier(.7,0,.25,1) forwards;background:#f5f6f8;display:flex;flex-direction:column;gap:clamp(14px,2vw,22px);inset:0;justify-content:center;pointer-events:all;position:fixed;will-change:clip-path,opacity,background;z-index:200}.preloader__mark{background:linear-gradient(100deg,#c6cbd1,#8a9199 18%,#2e3236 38%,#6b7077 50%,#24272b 64%,#8a9199 82%,#c6cbd1);-webkit-background-clip:text;background-clip:text;background-size:220% 100%;font-family:var(--font-en),"Cardo",serif;font-size:clamp(52px,11vw,140px);font-weight:400;letter-spacing:.05em;line-height:1;-webkit-text-fill-color:transparent;animation:preloaderFlicker .75s step-end both,metalScan 6s linear infinite;filter:drop-shadow(0 2px 18px rgba(26,28,31,.12))}.preloader__sub{animation:preloaderSubFlicker .85s step-end both;color:rgba(26,28,31,.55);font-family:var(--font-en),serif;font-size:clamp(10px,1.3vw,13px);letter-spacing:.5em;padding-left:.5em;text-transform:uppercase}@keyframes preloaderFlicker{0%,6%{opacity:0}8%{opacity:.72}10%{opacity:.08}13%{opacity:.92}16%{opacity:.24}20%{opacity:1}22%{opacity:.55}25%{opacity:1}to{opacity:1}}@keyframes preloaderSubFlicker{0%,28%{opacity:0}31%{opacity:.6}34%{opacity:.1}38%{opacity:.55}to{opacity:.55}}@keyframes preloaderPanel{0%,60%{background:#f5f6f8;clip-path:inset(0 0 0 0);opacity:1}76%{background:#f5f6f8;clip-path:inset(49.6% 0 49.6% 0);opacity:1}84%{background:#1a1c1f;clip-path:inset(49.6% 0 49.6% 0);opacity:1}to{background:#1a1c1f;clip-path:inset(50% 0 50% 0);opacity:0;pointer-events:none;visibility:hidden}}@media (prefers-reduced-motion:reduce){.preloader{animation:preloaderFade .5s ease .5s forwards}.preloader__mark{animation:none;opacity:1}.preloader__sub{animation:none;opacity:.55}}@keyframes preloaderFade{to{opacity:0;pointer-events:none;visibility:hidden}}@media (max-width:900px){.footerLinks{gap:4px 24px}.footerLegal a,.footerLinks a,.footerSns a{align-items:center;display:inline-flex;min-height:48px;padding:4px 2px}.relatedLink{min-height:96px}}@media (max-width:600px){.priceCard,.promise-card,.voice-card{will-change:auto}.stickyCta{padding-bottom:max(10px,env(safe-area-inset-bottom))}}.spBr{display:none}@media (max-width:600px){.spBr{display:inline}}.trainerStats{gap:14px;margin-top:20px}.trainerStat,.trainerStats{align-items:center;display:flex;flex-direction:column}.trainerStat__label{color:var(--text-muted);font-family:var(--font-en);font-size:10px;letter-spacing:.3em;text-transform:uppercase}.trainerStat__value{background:linear-gradient(160deg,#24272b,#565e66 32%,#8a9199 52%,#33373c 66%,#565e66);-webkit-background-clip:text;background-clip:text;font-family:var(--font-en);font-size:clamp(30px,3.4vw,42px);line-height:1;margin-top:6px;-webkit-text-fill-color:transparent}.trainerStat__unit{-webkit-text-fill-color:var(--text-light);font-family:var(--font-ja);font-size:.42em;letter-spacing:.05em;margin-left:5px}.trainerSpecs{align-items:center;display:flex;flex-direction:column;gap:12px}.trainerSpecTags{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;max-width:280px}.trainerSpec{border:1px solid var(--border);border-radius:999px;box-shadow:inset 0 1px 0 hsla(220,7%,92%,.08);color:var(--text);font-size:12px;letter-spacing:.04em;padding:6px 16px}.trainerAwards{align-items:center;display:flex;flex-direction:column;gap:8px}.trainerAwards__list{display:flex;flex-direction:column;gap:6px;list-style:none;padding:0}.trainerAwards__list li{color:var(--text);font-size:12.5px;letter-spacing:.03em;padding-left:18px;position:relative}.trainerAwards__list li:before{color:var(--accent);content:"\2014";left:0;position:absolute}.trainerMeta{border-bottom:1px solid var(--border);border-top:1px solid var(--border);display:flex;flex-direction:column;gap:16px;margin:20px 0;padding:20px 0}.trainerMeta__label{color:var(--text-muted);font-family:var(--font-en);font-size:10px;letter-spacing:.28em;text-transform:uppercase;white-space:nowrap}.trainerMeta__specs{display:flex;flex-direction:column;gap:10px}.trainerMeta .trainerSpecTags{justify-content:flex-start;max-width:none}.reviews{background:var(--bg-light);padding:clamp(96px,15vw,180px) clamp(24px,4vw,48px)}.reviews__inner{margin:0 auto;max-width:1200px}.reviews__head{align-items:center;display:flex;flex-direction:column;gap:18px;margin-bottom:clamp(48px,7vw,80px);text-align:center}.reviews__subtitle{color:var(--text-muted);font-family:var(--font-en);font-size:11px;font-weight:500;letter-spacing:.42em;text-indent:.42em}.reviews__title{color:var(--dark);font-family:var(--font-serif);font-size:clamp(28px,4vw,46px);font-weight:200;letter-spacing:.06em}.reviews__lead{color:var(--text-light);font-size:13px;line-height:1.9;max-width:560px}.reviews__rule{background:var(--accent);height:1px;opacity:.7;width:56px}.reviews__grid{display:flex;flex-wrap:wrap;gap:clamp(20px,2.2vw,28px);justify-content:center}.reviewCard{background:var(--panel);border:1px solid var(--border);display:flex;flex:0 1 360px;flex-direction:column;gap:18px;padding:clamp(26px,2.6vw,34px);transition:border-color .4s var(--ease,ease),transform .4s var(--ease,ease),box-shadow .4s var(--ease,ease)}.reviewCard:hover{border-color:rgba(26,28,31,.24);box-shadow:0 18px 40px rgba(20,24,30,.14);transform:translateY(-3px)}.reviewCard__top{align-items:center;display:flex;gap:12px;justify-content:space-between;min-height:22px}.reviewCard__stars{display:inline-flex;gap:3px}.reviewCard__star{fill:rgba(26,28,31,.14)}.reviewCard__star.is-on{fill:#e5b95c}.reviewCard__source{align-items:center;color:var(--text-light);display:inline-flex;font-family:var(--font-en);font-size:12px;gap:6px;letter-spacing:.04em;white-space:nowrap}.reviewCard__g{display:block}.reviewCard__text{color:var(--dark);flex:1;font-size:13.5px;line-height:2;text-wrap:pretty}.reviewCard__foot{align-items:center;border-top:1px solid var(--border);display:flex;gap:12px;padding-top:16px}.reviewCard__avatar{align-items:center;background:var(--panel-raised);border:1px solid var(--border);border-radius:50%;color:var(--dark);display:inline-flex;flex-shrink:0;font-family:var(--font-en);font-size:16px;height:38px;justify-content:center;width:38px}.reviewCard__meta{display:flex;flex-direction:column;gap:2px;min-width:0}.reviewCard__name{color:var(--dark);font-size:13px;font-weight:500}.reviewCard__sub{color:var(--text-muted);font-size:11px;letter-spacing:.02em}.reviews__cta{margin-top:clamp(40px,5vw,60px);text-align:center}.reviews__btn{align-items:center;background:var(--panel);border:1px solid rgba(26,28,31,.24);color:var(--dark);display:inline-flex;font-size:13px;gap:10px;letter-spacing:.08em;padding:15px 32px;text-decoration:none;transition:background .3s var(--ease,ease),border-color .3s var(--ease,ease),transform .3s var(--ease,ease)}.reviews__btn:hover{background:var(--panel-raised);border-color:rgba(26,28,31,.5);transform:translateY(-1px)}.reviews__disclaimer{color:var(--text-muted);font-size:11px;line-height:1.8;margin-top:28px;text-align:center}@media (max-width:640px){.reviews__grid{gap:18px}.reviewCard{flex-basis:100%}}.goalsGrid{display:grid;gap:clamp(20px,2.6vw,32px);grid-template-columns:repeat(3,1fr);margin:0 auto;max-width:1080px}.goalCard{background:var(--panel);border:1px solid var(--border);display:flex;flex-direction:column;padding:clamp(28px,3vw,40px) clamp(24px,2.6vw,34px);text-align:left;transition:border-color var(--duration) var(--ease),transform var(--duration) var(--ease),box-shadow var(--duration) var(--ease)}.goalCard:hover{border-color:var(--line-strong);box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}.goalCard__num{color:rgba(195,201,207,.3);font-family:var(--font-en);font-size:clamp(28px,3.4vw,40px);-webkit-text-stroke:1px rgba(195,201,207,.36);font-variant-numeric:tabular-nums;line-height:1;margin-bottom:18px}.goalCard__title{color:var(--dark);font-family:var(--font-ja);font-size:clamp(15px,1.7vw,17px);font-weight:600;letter-spacing:.03em;line-height:1.6;margin:0 0 14px}.goalCard__body{color:var(--text-light);flex:1;font-size:clamp(12px,1.2vw,13px);letter-spacing:.04em;line-height:2.1;margin:0;text-wrap:pretty}.goalCard__link{align-items:center;color:#037a3f;display:inline-flex;font-size:12px;font-weight:600;gap:8px;letter-spacing:.08em;margin-top:22px;text-decoration:none;transition:color var(--duration-fast) var(--ease)}.goalCard__link span{transition:transform var(--duration-fast) var(--ease)}.goalCard__link:hover{color:#02602f}.goalCard__link:hover span{transform:translateX(4px)}@media (max-width:900px){.goalsGrid{grid-template-columns:repeat(2,1fr)}}@media (max-width:560px){.goalsGrid{grid-template-columns:1fr}}.trialInfo{margin:0 auto;max-width:960px}.trialInfo__head{margin-bottom:clamp(36px,5vw,56px);text-align:center}.trialInfo__grid{display:grid;gap:clamp(14px,1.8vw,20px);grid-template-columns:repeat(3,1fr)}.trialInfo__card{background:var(--panel);border:1px solid var(--border);padding:clamp(24px,2.6vw,30px);text-align:left}.trialInfo__card--wide{grid-column:1/-1}.trialInfo__cardLabel{color:var(--text-muted);display:inline-block;font-family:var(--font-en);font-size:11px;letter-spacing:.18em;margin-bottom:12px;text-transform:uppercase}.trialInfo__cardMain{align-items:baseline;color:var(--dark);display:flex;flex-wrap:wrap;font-size:clamp(18px,2.2vw,24px);font-weight:700;gap:10px;letter-spacing:.02em;line-height:1.4;margin:0}.trialInfo__strike{color:var(--text-muted);font-size:14px;font-weight:400;text-decoration:line-through}.trialInfo__free{color:#565e66}.trialInfo__cardSub{color:var(--text-light);font-size:12px;letter-spacing:.03em;line-height:1.9;margin:10px 0 0}.trialInfo__list{display:grid;gap:10px;list-style:none;margin:6px 0 0;padding:0}.trialInfo__list li{color:var(--text);font-size:clamp(12px,1.3vw,14px);letter-spacing:.03em;line-height:1.7;padding-left:22px;position:relative}.trialInfo__list li:before{border:1px solid var(--accent);content:"";height:8px;left:2px;position:absolute;top:.55em;transform:rotate(45deg);width:8px}.trialInfo__assurance{display:flex;flex-wrap:wrap;gap:8px 10px;justify-content:center;list-style:none;margin:clamp(28px,3.4vw,36px) auto 0;padding:0}.trialInfo__assurance li{background:var(--bg-white);border:1px solid var(--border);color:var(--text);font-size:12px;letter-spacing:.04em;padding:7px 16px}.trialInfo__cta{display:flex;flex-wrap:wrap;gap:14px 16px;justify-content:center;margin-top:clamp(28px,3.4vw,36px)}.trialInfo__formBtn{font-size:13px;letter-spacing:.1em;padding:16px 40px}@media (max-width:760px){.trialInfo__grid{grid-template-columns:1fr 1fr}}@media (max-width:520px){.trialInfo__grid{grid-template-columns:1fr}.trialInfo__cta{align-items:stretch;flex-direction:column}.trialInfo__formBtn{text-align:center;width:100%}.trialInfo__cta .campaignBanner__btn{justify-content:center}}.planSelector{display:grid;gap:12px;margin:0 auto;max-width:820px}.planSelectorRow{align-items:center;background:var(--panel);border:1px solid var(--border);display:flex;flex-wrap:wrap;gap:8px 18px;padding:clamp(18px,2.2vw,24px) clamp(20px,2.4vw,30px);text-decoration:none;transition:border-color var(--duration) var(--ease),transform var(--duration) var(--ease)}.planSelectorRow:hover{border-color:var(--line-strong);transform:translateX(2px)}.planSelectorRow__when{color:var(--dark);flex:1 1 280px;font-size:clamp(13px,1.5vw,15px);font-weight:500;letter-spacing:.02em;line-height:1.6}.planSelectorRow__when strong{font-weight:700}.planSelectorRow__plan{align-items:center;color:var(--accent);display:inline-flex;font-family:var(--font-en);font-size:12px;font-weight:600;gap:8px;letter-spacing:.06em;white-space:nowrap}.planSelectorRow__plan span{transition:transform var(--duration-fast) var(--ease)}.planSelectorRow:hover .planSelectorRow__plan span{transform:translateX(4px)}.planCta{margin-top:clamp(28px,3.6vw,44px);text-align:center}.addonItem--trial{border-color:var(--line-strong)}.addonTrial{align-items:baseline;display:inline-flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.addonTrial__strike{color:var(--text-muted);font-size:13px;text-decoration:line-through}.addonTrial__free{color:#565e66;font-weight:700}.contactReassure{background:var(--bg-light);border:1px solid var(--border);display:grid;gap:14px;list-style:none;margin:0 0 28px;padding:clamp(22px,3vw,30px) clamp(22px,3vw,32px)}.contactReassure li{color:var(--text);font-size:clamp(12px,1.3vw,13.5px);letter-spacing:.03em;line-height:1.8;padding-left:26px;position:relative}.contactReassure li strong{color:var(--dark);font-weight:600}.contactReassure li:before{border:1px solid var(--accent);content:"";height:9px;left:4px;position:absolute;top:.5em;transform:rotate(45deg);width:9px}.contactNote{color:var(--text-light);font-size:12px;letter-spacing:.03em;line-height:1.9;margin:0 0 24px;text-align:center}.hero-video__chips{display:flex;flex-wrap:wrap;gap:8px 10px;justify-content:center;list-style:none;margin:clamp(22px,3vw,34px) 0 0;max-width:640px;padding:0}.hero-video__chips li{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:rgba(8,10,12,.46);border:1px solid hsla(0,0%,100%,.55);color:#fff;font-family:var(--font-ja);font-size:clamp(11px,1.25vw,13px);font-weight:500;letter-spacing:.04em;padding:7px 14px;text-shadow:0 1px 6px rgba(0,0,0,.65);white-space:nowrap}.hero-video__chip--accent{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:700;text-shadow:none}.hero-video__cta{display:flex;flex-wrap:wrap;gap:12px 14px;justify-content:center;margin-top:clamp(22px,3vw,30px)}.hero-video__btn{align-items:center;border-radius:0;display:inline-flex;font-family:var(--font-ja);font-size:clamp(13px,1.4vw,14px);font-weight:600;gap:10px;justify-content:center;letter-spacing:.06em;padding:15px 30px;text-decoration:none;transition:transform .3s var(--ease),background .3s var(--ease),box-shadow .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease)}.hero-video__btn--line{background:var(--line-green);border:1px solid var(--line-green);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.2),0 14px 34px rgba(6,199,85,.35);color:var(--bg-deep)}.hero-video__btn--line:hover{background:var(--line-green-light);border-color:var(--line-green-light);transform:translateY(-1px)}.hero-video__btnIcon{color:var(--bg-deep);font-family:var(--font-en);font-size:11px;font-weight:700;letter-spacing:.12em;position:relative}.hero-video__btn--ghost{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:rgba(8,10,12,.46);border:1px solid hsla(0,0%,100%,.6);color:#fff}.hero-video__btn--ghost:hover{background:#fff;border-color:#fff;color:#0b0d0f;transform:translateY(-1px)}.hero-video__note{color:hsla(0,0%,100%,.86);font-family:var(--font-ja);font-size:clamp(11px,1.15vw,12.5px);letter-spacing:.04em;margin:clamp(14px,2vw,18px) 0 0;text-shadow:0 1px 8px rgba(0,0,0,.72)}.hero-video__note strong{color:var(--accent);font-weight:700}@media (max-width:900px){.hero-video__logotype{font-size:clamp(48px,15vw,88px)}}@media (max-width:600px){.hero-video__content{padding-bottom:36px;padding-top:70px}.hero-video__logotype{font-size:clamp(42px,13.5vw,64px);letter-spacing:.03em;max-width:100%}.hero-video__brand{font-size:11px;letter-spacing:.1em;line-height:1.7;max-width:100%;overflow-wrap:anywhere}.hero-video__rule{margin:16px auto 18px}.hero-video__title{gap:12px}.hero-video__tagline{font-size:clamp(15px,4.4vw,20px);letter-spacing:.18em}.hero-video__sub{display:none}.hero-video__chips{display:grid;gap:8px;grid-template-columns:1fr 1fr;margin-top:18px;max-width:340px;width:100%}.hero-video__chips li{align-items:center;display:flex;font-size:11px;justify-content:center;letter-spacing:.02em;line-height:1.35;padding:8px 6px;text-align:center;white-space:normal}.hero-video__chip--accent{grid-column:1/-1}.hero-video__cta{align-items:stretch;flex-direction:column;gap:10px;margin-top:20px;max-width:340px;width:100%}.hero-video__btn{padding:14px 20px;width:100%}.hero-video__scroll{display:none}}.trustBar{background:var(--panel);border-bottom:1px solid var(--border);border-top:1px solid var(--border);padding:clamp(20px,3vw,30px) clamp(14px,4vw,48px)}.trustBar__list{display:grid;gap:clamp(8px,2vw,24px);grid-template-columns:repeat(3,1fr);list-style:none;margin:0 auto;max-width:940px;padding:0}.trustBar__item{align-items:center;display:flex;flex-direction:column;gap:6px;justify-content:center;padding:0 4px;position:relative;text-align:center}.trustBar__item:not(:last-child):after{background:var(--border);content:"";height:64%;position:absolute;right:calc(clamp(8px, 2vw, 24px)/-2);top:50%;transform:translateY(-50%);width:1px}.trustBar__stars{color:#e5b95c;font-size:clamp(11px,1.5vw,14px);letter-spacing:1px}.trustBar__headline{color:var(--dark);font-size:clamp(14px,2.5vw,19px);font-weight:700;line-height:1.4;word-break:keep-all}.trustBar__headline,.trustBar__label{letter-spacing:.02em;text-wrap:balance}.trustBar__label{color:var(--text-light);font-size:clamp(10px,1.2vw,12px);line-height:1.5}@media (max-width:560px){.trustBar__headline{font-size:clamp(11px,3.1vw,14px);letter-spacing:0}.trustBar__label{font-size:10px;line-height:1.45}.trustBar__stars{font-size:10px}}.campaignBanner__strike{font-weight:400;opacity:.65;text-decoration:line-through}@media (max-width:600px){.btnOutline,.btnOutlineWhite{letter-spacing:.1em;line-height:1.5;max-width:100%;padding:15px 28px;white-space:normal}.hero-video__chips li{letter-spacing:0}.campaignBanner__btnText{letter-spacing:.06em}}@media (max-width:900px){body{background:var(--bg-white)}.backdropFixed{display:none!important}.bgReveal,.campaignBanner{background:var(--bg-deep)!important}.stickyCta__btn{font-size:13px;height:50px;letter-spacing:.1em}.stickyCta{bottom:max(10px,env(safe-area-inset-bottom));left:10px;right:10px}}.voices-section__scope{color:var(--accent);font-size:12px;font-weight:600;letter-spacing:.12em;margin:0}.reviews__more{margin-top:clamp(28px,4vw,40px);text-align:center}.reviews__moreBtn{background:transparent;border:1px solid var(--line-strong);border-radius:0;color:var(--dark);cursor:pointer;display:inline-block;font-size:12px;font-weight:500;letter-spacing:.12em;padding:14px 36px;transition:background .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease)}.reviews__moreBtn:hover{background:var(--dark);border-color:var(--dark);color:#fff}@media (min-width:901px){.hero-video__chips{margin-top:clamp(18px,2.4vw,28px)}.hero-video__chips li{font-size:13px;letter-spacing:.05em;padding:8px 16px}}.priceCard__pick{color:var(--accent);font-size:12.5px;font-weight:600;letter-spacing:.02em;line-height:1.7;margin:14px 0 4px}.finalCta__chips{display:flex;flex-wrap:wrap;gap:8px 10px;justify-content:center;list-style:none;margin:clamp(28px,4vw,40px) 0 0;padding:0}.finalCta__chips li{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:rgba(8,10,12,.42);border:1px solid hsla(220,7%,92%,.42);color:var(--ivory);font-size:clamp(11px,1.3vw,13px);letter-spacing:.04em;padding:7px 14px;white-space:nowrap}.finalCta__chip--accent{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:700}.finalCta__lead{color:hsla(220,7%,92%,.82);font-size:14px;letter-spacing:.04em;line-height:2.2;margin:clamp(22px,3.5vw,32px) auto clamp(34px,5vw,50px);max-width:560px}.finalCta__actions{display:flex;justify-content:center}@media (max-width:600px){.finalCta__actions .finalCta__btn{justify-content:center;max-width:360px;width:100%}}.stickyCta__line{background:hsla(0,0%,100%,.22);border-radius:3px;color:var(--bg-deep);font-family:var(--font-en);font-size:10px;font-weight:700;letter-spacing:.12em;padding:3px 8px}.section--offer{background:radial-gradient(ellipse at 50% 0,hsla(208,8%,47%,.08) 0,transparent 55%),linear-gradient(180deg,#e9ebee,#f0f2f4);border-bottom:1px solid var(--border);border-top:1px solid var(--border)}.hero-video,.midCta,.reviews,.section,[id],main[id]{scroll-margin-top:96px}.midCta{background:radial-gradient(ellipse at 50% 0,rgba(195,201,207,.06) 0,transparent 60%),linear-gradient(180deg,#121416,#0e1012);border-bottom:1px solid var(--border);border-top:1px solid var(--border);padding:clamp(52px,8vw,88px) clamp(24px,4vw,48px);position:relative}.midCta__inner{align-items:center;display:flex;flex-direction:column;gap:clamp(24px,3.6vw,34px);margin:0 auto;max-width:720px;text-align:center}.midCta__text{color:var(--ivory);font-size:clamp(16px,2.3vw,20px);letter-spacing:.05em;line-height:1.95;margin:0;text-wrap:pretty}@media (max-width:600px){.midCta__btn{justify-content:center;max-width:360px;width:100%}section[aria-labelledby=cta-heading]{padding-bottom:172px!important}}.campaignBanner__btnIcon:before,.hero-video__btnIcon:before{content:"LINE"}@media (max-width:900px){.section{padding-bottom:calc(96px + env(safe-area-inset-bottom))}}.lead{text-wrap:pretty}.campaignBanner__desc,.centerLead,.finalCta__lead{text-wrap:balance}.sectionTitle,.sectionTitleWhite{word-break:auto-phrase}.priceCard__pick{text-wrap:pretty}p{word-break:auto-phrase}.chatbotLauncher{align-items:center;background:linear-gradient(135deg,#e8483b,#ce2e24);border:1px solid hsla(0,0%,100%,.18);border-radius:50%;bottom:calc(84px + env(safe-area-inset-bottom));box-shadow:0 10px 26px rgba(206,46,36,.45);color:#fff;cursor:pointer;display:flex;height:56px;justify-content:center;position:fixed;right:16px;transition:transform .25s var(--ease),box-shadow .25s var(--ease),background .25s var(--ease);width:56px;z-index:var(--z-modal)}.chatbotLauncher:hover{box-shadow:0 14px 32px rgba(206,46,36,.55);transform:translateY(-2px)}.chatbotLauncher__close,.chatbotLauncher__icon{position:absolute;transition:opacity .2s var(--ease),transform .2s var(--ease)}.chatbotLauncher__close{opacity:0;transform:rotate(-90deg)}.chatbotLauncher--open .chatbotLauncher__icon{opacity:0;transform:rotate(90deg)}.chatbotLauncher--open .chatbotLauncher__close{opacity:1;transform:rotate(0)}.chatbot{background:#15181b;border:1px solid var(--border);border-radius:14px;bottom:calc(152px + env(safe-area-inset-bottom));box-shadow:0 24px 60px rgba(0,0,0,.55);display:flex;flex-direction:column;left:12px;max-height:min(62vh,540px);opacity:0;overflow:hidden;pointer-events:none;position:fixed;right:12px;transform:translateY(14px);transition:opacity .28s var(--ease),transform .28s var(--ease),visibility 0s linear .28s;visibility:hidden;z-index:var(--z-modal)}.chatbot--open{opacity:1;pointer-events:auto;transform:translateY(0);transition:opacity .28s var(--ease),transform .28s var(--ease),visibility 0s;visibility:visible}@media (prefers-reduced-motion:reduce){.chatbot{transform:none;transition:opacity .2s var(--ease),visibility 0s linear .2s}.chatbot--open{transition:opacity .2s var(--ease),visibility 0s}}body:has(.mobileOverlay.open) .chatbot,body:has(.mobileOverlay.open) .chatbotLauncher{opacity:0;pointer-events:none;visibility:hidden}@keyframes chatbotTeaserIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes chatbotBounce{0%,to{transform:translateY(0)}30%{transform:translateY(-7px)}55%{transform:translateY(0)}70%{transform:translateY(-3px)}}@keyframes chatbotPulse{0%{opacity:.8;transform:scale(1)}to{opacity:0;transform:scale(1.65)}}.chatbot__head{align-items:center;background:linear-gradient(180deg,#1b1e22,#15181b);border-bottom:1px solid var(--border);display:flex;gap:12px;padding:14px 16px}.chatbot__logo{height:26px;width:auto}.chatbot__headText{display:flex;flex-direction:column;gap:2px;min-width:0}.chatbot__title{color:var(--ivory);font-size:13px;font-weight:600;letter-spacing:.06em}.chatbot__sub{color:var(--text-light);font-size:10.5px;letter-spacing:.04em}.chatbot__body{display:flex;flex:1;flex-direction:column;gap:10px;overflow-y:auto;padding:16px 14px;-webkit-overflow-scrolling:touch}.chatbot__liveRegion{display:contents}.chatbot__msg{display:flex;flex-direction:column;gap:8px}.chatbot__msg--user{align-items:flex-end}.chatbot__bubble{border-radius:12px;font-size:13px;letter-spacing:.02em;line-height:1.8;margin:0;max-width:86%;padding:10px 14px;word-break:auto-phrase}.chatbot__msg--bot .chatbot__bubble{align-self:flex-start;background:#1e2226;border:1px solid var(--border);border-top-left-radius:4px;color:var(--ivory)}.chatbot__msg--user .chatbot__bubble{background:linear-gradient(135deg,#e8483b,#ce2e24);border-top-right-radius:4px;color:#fff}.chatbot__bubble--typing{align-items:center;display:inline-flex;gap:5px;min-height:20px}.chatbot__bubble--typing span{animation:chatbotDot 1s ease-in-out infinite;background:var(--text-light);border-radius:50%;height:6px;width:6px}.chatbot__bubble--typing span:nth-child(2){animation-delay:.15s}.chatbot__bubble--typing span:nth-child(3){animation-delay:.3s}@keyframes chatbotDot{0%,60%,to{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}@media (prefers-reduced-motion:reduce){.chatbot__bubble--typing span{animation:none}}.chatbot__pageLink{color:var(--accent);font-size:12px;letter-spacing:.04em;text-decoration:underline;text-underline-offset:3px}.chatbot__miniBack,.chatbot__pageLink{align-items:center;align-self:flex-start;display:inline-flex;gap:6px}.chatbot__miniBack{background:transparent;border:none;color:var(--text-light);cursor:pointer;font-size:11.5px;letter-spacing:.03em;margin-bottom:4px;padding:0;transition:color .2s var(--ease)}.chatbot__miniBack:hover{color:var(--ivory)}.chatbot__chips{display:flex;flex-wrap:wrap;gap:8px;padding-top:2px}.chatbot__chip{background:transparent;border:1px solid var(--line-strong);border-radius:999px;color:var(--ivory);cursor:pointer;font-size:12px;letter-spacing:.03em;padding:9px 14px;transition:background .2s var(--ease),border-color .2s var(--ease)}.chatbot__chip:hover{background:hsla(220,7%,92%,.08);border-color:var(--ivory)}.chatbot__actions{display:flex;flex-direction:column;gap:8px;padding-top:2px}.chatbot__lineBtn{align-items:center;background:var(--line-green);border:1px solid var(--line-green);border-radius:10px;box-shadow:0 8px 20px rgba(6,199,85,.3);color:var(--bg-deep);display:flex;font-size:13px;font-weight:700;justify-content:center;letter-spacing:.08em;padding:12px 16px;text-decoration:none;transition:background .2s var(--ease)}.chatbot__lineBtn:hover{background:var(--line-green-light)}.chatbot__backBtn{background:transparent;border:1px solid var(--border);border-radius:10px;color:var(--text-light);cursor:pointer;font-size:12px;letter-spacing:.04em;padding:10px 16px;transition:color .2s var(--ease),border-color .2s var(--ease)}.chatbot__backBtn:hover{border-color:var(--line-strong);color:var(--ivory)}.chatbot__foot{border-top:1px solid var(--border);padding:10px 14px calc(10px + env(safe-area-inset-bottom)/2);text-align:center}.chatbot__foot a{color:var(--line-green);font-size:11px;letter-spacing:.06em;text-decoration:underline;text-underline-offset:3px}.chatbot__foot a:hover{color:var(--line-green-light)}@media (min-width:901px){.chatbotLauncher{bottom:24px;height:60px;right:24px;width:60px}.chatbot{bottom:98px;left:auto;max-height:min(68vh,580px);right:24px;width:372px}}.photoBand{border:1px solid var(--border);box-shadow:var(--shadow-card);margin:0 auto;max-width:1080px;overflow:hidden}.photoBand img{display:block;height:clamp(220px,36vw,420px);object-fit:cover;width:100%}.photoBand--below{margin-top:clamp(36px,5vw,56px)}.photoBand figcaption,.photoDuo figcaption{background:var(--panel);color:var(--text-muted);font-size:11px;letter-spacing:.06em;padding:10px 14px;text-align:left}.photoDuo{display:grid;gap:clamp(12px,2vw,20px);grid-template-columns:1fr 1fr;margin:0 auto;max-width:960px}.photoDuo figure{border:1px solid var(--border);box-shadow:var(--shadow-card);margin:0;overflow:hidden}.photoDuo img{display:block;height:clamp(200px,28vw,340px);object-fit:cover;width:100%}@media (max-width:700px){.photoDuo{grid-template-columns:1fr}}.flowPhoto{border:1px solid var(--border);box-shadow:var(--shadow-card);margin-bottom:16px;overflow:hidden}.flowPhoto img{display:block;height:clamp(120px,14vw,170px);object-fit:cover;width:100%}@media (max-width:700px){.flowPhoto img{height:clamp(150px,34vw,210px)}}.bgReveal,.campaignBanner,.chatbot{--accent:#c3c9cf;--dark:#e9eaec;--text:#d4d6d8;--text-light:#b3b9bf;--text-muted:#a4abb2;--border:hsla(220,7%,92%,.14);--line-strong:hsla(220,7%,92%,.32)}.bgReveal .centerLine,.bgReveal .sectionLine{background:linear-gradient(90deg,hsla(220,7%,92%,.08),hsla(220,7%,92%,.55),hsla(220,7%,92%,.08))}.trainerStd{background:var(--bg-deep);color:var(--ivory);overflow:clip;position:relative}.trainerStd__grid{display:grid;gap:clamp(40px,6vw,64px)}.trainerStd__label{color:var(--accent-amber-soft)}.trainerStd__title{color:var(--ivory);font-family:var(--font-serif);font-size:clamp(26px,5.4vw,46px);font-weight:400;letter-spacing:.06em;line-height:1.55;margin-top:20px;text-wrap:balance;word-break:auto-phrase}.trainerStd__title span{display:block}.trainerStd__lead{color:hsla(220,7%,92%,.7);font-size:14px;line-height:2.1;margin-top:24px;max-width:40em;text-wrap:pretty}.trainerStd__metric{border-bottom:1px solid hsla(220,7%,92%,.16);border-top:1px solid hsla(220,7%,92%,.16);display:grid;gap:20px;padding:clamp(24px,4vw,36px) 0}.trainerStd__metricValue{color:var(--ivory);font-family:var(--font-en);font-size:clamp(72px,17vw,132px);font-weight:400;letter-spacing:-.02em;line-height:.82}.trainerStd__metricUnit{color:var(--accent-amber-soft);font-size:clamp(18px,3vw,26px);letter-spacing:.08em;margin-left:8px}.trainerStd__metricEn{color:var(--accent-amber-soft);font-family:var(--font-en);font-size:11px;letter-spacing:.18em}.trainerStd__metricDesc{color:var(--ivory);font-size:14px;font-weight:700;line-height:1.9;margin-top:10px;text-wrap:pretty}.trainerStd__breakdown{color:hsla(220,7%,92%,.55);display:flex;flex-wrap:wrap;font-size:12px;gap:4px 12px;letter-spacing:.04em;list-style:none;margin-top:12px}.trainerStd__item{border-bottom:1px solid hsla(220,7%,92%,.16);display:grid;gap:12px;padding:clamp(26px,4vw,38px) 0}.trainerStd__itemNum{color:var(--accent-amber-soft);font-family:var(--font-en);font-size:13px;letter-spacing:.1em}.trainerStd__itemLabel{color:hsla(220,7%,92%,.5);font-family:var(--font-en);font-size:10.5px;letter-spacing:.18em}.trainerStd__itemTitle{color:var(--ivory);font-size:clamp(17px,3.4vw,21px);font-weight:500;letter-spacing:.03em;line-height:1.85;margin-top:10px;text-wrap:balance;word-break:auto-phrase}.trainerStd__itemBody{color:hsla(220,7%,92%,.66);font-size:14px;line-height:2.05;margin-top:12px;max-width:38em;text-wrap:pretty}.trainerStd__cta{display:grid;gap:20px;justify-items:start}.trainerStd__ctaText{color:var(--ivory);font-family:var(--font-serif);font-size:clamp(17px,3.6vw,24px);letter-spacing:.06em;line-height:1.8;text-wrap:balance;word-break:auto-phrase}.trainerStd__stage{height:clamp(260px,62vw,340px)}.trainerStd__stageInner{height:100%}@media (min-width:1024px){.trainerStd__grid{align-items:start;column-gap:clamp(40px,5vw,84px);grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);row-gap:clamp(44px,4vw,60px)}.trainerStd__intro{grid-column:1;grid-row:1}.trainerStd__metric{grid-column:1;grid-row:2}.trainerStd__list{grid-column:1;grid-row:3}.trainerStd__cta{grid-column:1;grid-row:4}.trainerStd__stage{align-self:stretch;grid-column:2;grid-row:1/5;height:auto}.trainerStd__stageInner{height:min(calc(100svh - 160px),560px);position:sticky;top:108px}.trainerStd__metric{align-items:end;gap:28px;grid-template-columns:auto minmax(0,1fr)}.trainerStd__item{gap:24px;grid-template-columns:3.5rem minmax(0,1fr)}}.logo3d{height:100%;isolation:isolate;min-height:240px;overflow:hidden;pointer-events:none;position:relative;width:100%}.logo3d__halo{background:radial-gradient(ellipse at 48% 46%,hsla(0,0%,100%,.1) 0,hsla(0,0%,100%,.05) 30%,transparent 66%);filter:blur(12px);inset:6% 0 10%;position:absolute;z-index:-1}.logo3d__canvas,.logo3d__poster{height:94%;inset:3%;position:absolute;transition:opacity .7s var(--ease),transform .8s var(--ease);width:94%}.logo3d__poster{filter:grayscale(1) drop-shadow(0 24px 44px rgba(0,0,0,.3));object-fit:contain;opacity:.92;transform:scale(.95)}.logo3d__poster.is-hidden{opacity:0;transform:scale(.98)}.logo3d__canvas{filter:drop-shadow(0 24px 44px rgba(0,0,0,.28));opacity:0;transform:scale(.95)}.logo3d__canvas.is-ready{opacity:1;transform:scale(1)}@media (prefers-reduced-motion:reduce){.logo3d__canvas,.logo3d__poster{transition:none}}:root{--header-height:calc(76px + env(safe-area-inset-top))}main{margin-top:var(--header-height)}main p{font-family:var(--font-ja);font-weight:400}.goalCard__body,.lead,.trainerIntro p,.trialInfo__cardSub{font-size:15px;letter-spacing:.025em;line-height:1.95}.homeCompact,.section{padding-block:clamp(76px,8vw,112px)}.homeSectionHead{margin-bottom:clamp(36px,4.5vw,56px)}.homeSectionActions{margin-top:clamp(32px,4vw,48px)}.sectionLabel{color:var(--text-light);letter-spacing:.26em;margin-bottom:16px}.sectionTitle,.sectionTitleWhite{font-size:clamp(27px,3.6vw,46px);font-weight:400;letter-spacing:.05em;line-height:1.6}.sectionLine{margin-top:24px}.goalCard__body{text-align:left}.goalCard__link,.goalCard__link:hover{color:#37434d}.goalCard__link{text-decoration:underline;text-underline-offset:5px}.header,.header.header--home,.header.header--home.header--scrolled{backdrop-filter:none;-webkit-backdrop-filter:none;background:#f5f6f8;border-bottom:1px solid #d7dce0;box-shadow:none;height:var(--header-height)}.header .headerLogo img,.header.header--home .headerLogo img{filter:brightness(0)}.header .navLink,.header.header--home .navLink{color:var(--text)}.header.header--home .navLink:hover,.header.header--home .navLink[aria-current=page]{color:var(--dark)}.header .navEn,.header.header--home .navEn{color:var(--text-light)}.header .menuToggle span,.header.header--home .menuToggle span{background:var(--dark)}.header .navLink{justify-content:center;min-height:44px;padding-inline:clamp(9px,1vw,16px)}.header .navJa{font-size:12px;letter-spacing:.035em}.header .navBtn{font-size:12px;margin-left:20px;min-height:44px;padding:8px 16px}.menuToggle{height:44px;width:44px}.menuToggle span{left:11px}.menuToggle span:first-child{top:14px}.menuToggle span:nth-child(2){top:21px}.menuToggle span:nth-child(3){top:28px}.menuToggle[aria-expanded=true] span:first-child,.menuToggle[aria-expanded=true] span:nth-child(3){top:21px}.btnGrad,.btnGradFull,.btnGradLg,.campaignBanner__btn,.chatbot__lineBtn,.hero-video__btn--line,.mobileOverlay .navBtn,.navBtn,.stickyCta__btn{background:var(--booking);border:1px solid var(--booking-border);border-radius:4px;box-shadow:none;color:#fff;font-family:var(--font-ja);font-weight:700;letter-spacing:.035em;text-shadow:none}.mobileOverlay .navBtn,.navBtn{align-items:center;display:inline-flex;gap:9px;justify-content:center}.btnGrad:hover,.btnGradFull:hover,.btnGradLg:hover,.campaignBanner__btn:hover,.chatbot__lineBtn:hover,.hero-video__btn--line:hover,.mobileOverlay .navBtn:hover,.navBtn:hover,.stickyCta__btn:hover{background:var(--booking-hover);border-color:var(--booking-border);box-shadow:none;color:#fff}.campaignBanner__btnIcon:after,.campaignBanner__btnIcon:before,.hero-video__btnIcon:after,.hero-video__btnIcon:before,.navBtn:after,.navBtn:before{display:none}.campaignBanner__btnIcon,.hero-video__btnIcon,.navBtn__line,.stickyCta__line{background:url(/images/line-brand-icon.png) 50%/contain no-repeat;border:0;border-radius:0;color:transparent;display:inline-block;flex:0 0 28px;font-size:0;height:28px;letter-spacing:0;line-height:0;padding:0;width:28px}.stickyCta__btn{gap:12px;height:60px}.trialInfo__formBtn,.trialInfo__formBtn:hover{background:transparent;border-color:var(--line-strong);color:var(--dark)}.btnOutline,.btnOutlineWhite{font-family:var(--font-ja);letter-spacing:.04em;min-height:48px}.chatbotLauncher,.chatbotLauncher:hover{background:#333b43;border:1px solid #59636d;box-shadow:0 3px 12px rgba(0,0,0,.14)}.chatbot__msg--user .chatbot__bubble{background:#d7dbdf;color:#1a1c1f}.chatbot__foot a,.chatbot__foot a:hover{color:#e3e8ec}.bgDark,.bgReveal,.chatbot,.footer,.metrics-section,.midCta,.trainerStd{--accent:#c3cbd2;--text:#e9eaec;--text-light:#c1c8cf;--text-muted:#b0b9c1;--border:hsla(220,7%,92%,.2);--line-strong:hsla(220,7%,92%,.46)}.bgDark .sectionTitle,.bgReveal .sectionTitle{color:var(--ivory)}.bgDark :is(a,button):focus-visible,.bgReveal :is(a,button):focus-visible,.midCta :is(a,button):focus-visible,.trainerStd :is(a,button):focus-visible{outline-color:#fff}.trainerStd__breakdown,.trainerStd__itemBody,.trainerStd__lead{color:#c1c8cf}.trainerStd__itemLabel{color:#acb6bf}.trainerStd__grid{gap:32px}.trainerStd__title{font-size:clamp(27px,3.4vw,42px);margin-top:12px}.trainerStd__metric{padding-block:24px}.trainerStd__metricValue{font-size:clamp(72px,10vw,112px)}.trainerStd__item{padding-block:24px}.trainerStd__stage{height:250px}.trainerStd__cta{gap:18px}.trainerStd__ctaText{font-size:clamp(17px,2.2vw,22px)}.priceGrid{align-items:stretch;gap:24px}.priceCard,.priceCard--featured,.priceCard--featured:hover,.priceCard:hover{box-shadow:none;opacity:1;transform:none}.priceCard--featured{border-color:#7c8791!important}.priceCardHead{background:#e2e6e9;border-bottom:1px solid #cdd4da;box-shadow:none;color:#242d34}.priceCardHead:after,.priceCard__badge:after{display:none}.priceCardHead h3,.priceCardHead h4{font-family:var(--font-ja);font-size:16px;font-weight:500}.priceCard__badge{background:#3e444a;border-color:#3e444a;box-shadow:none;color:#fff;font-family:var(--font-ja);font-size:11px;letter-spacing:.08em}.priceCardBody{padding:32px 24px}.priceAmount,.priceCard--featured .priceAmount{font-size:clamp(36px,3.7vw,48px);letter-spacing:-.025em}.priceAmount .tax{letter-spacing:.02em}.priceCard__pick{color:var(--text-light);font-weight:500}.priceFeatures li{letter-spacing:.025em;line-height:1.7}.courseTable thead th{background:#e2e6e9;color:#242d34}.trainerPreviewGrid{gap:clamp(28px,4vw,48px)}.trainerPreviewImage{margin-bottom:22px}.trainerPreviewRole{color:var(--text-light);font-family:var(--font-ja);letter-spacing:.05em;line-height:1.7}.trainerPreviewName{font-size:clamp(22px,2.5vw,28px);font-weight:400}.trainerStats{margin-top:22px}.trainerStat__label{color:var(--text-light)}.trainerAwards__list{font-size:12px;line-height:1.8}.trainerCard{box-shadow:none}.trainerCard:hover{box-shadow:var(--shadow-card);transform:none}.trainerInfo{padding:clamp(24px,3vw,36px)}.access-preview,.faq-teaser,.metrics-section,.promises-section,.reviews,.studio-gallery,.voices-section{padding-block:clamp(76px,8vw,112px)}.faq-teaser__head,.metrics-section__head,.promises-section__head,.reviews__head,.studio-gallery__head,.voices-section__head{gap:18px;margin-bottom:clamp(36px,4.5vw,56px)}.faq-teaser__title,.promises-section__title,.reviews__title,.studio-gallery__title,.voices-section__title{font-size:clamp(27px,3.6vw,46px);font-weight:400;letter-spacing:.05em;line-height:1.6}.faq-teaser__q{padding-block:23px}.faq-teaser__qText,.faqDetails summary,.faqItem summary{font-size:15px;font-weight:500;letter-spacing:.025em;line-height:1.85}.faq-teaser__aText,.faqAnswer{font-size:14px;letter-spacing:.025em;line-height:1.95}.faq-teaser__more{margin-top:32px}.pageHero{padding-block:clamp(64px,7vw,100px) 56px}.pageHeroEn{font-size:clamp(44px,7vw,80px);letter-spacing:.035em}.pageHeroTitle{font-size:14px;letter-spacing:.12em;line-height:1.8}.breadcrumb{color:var(--text-light)}.breadcrumb a{color:inherit;text-underline-offset:4px}.midCta{padding-block:clamp(48px,6vw,72px)}.footerFv{animation:none}.mobileOverlay{background:#f5f6f8;gap:0;inset:var(--header-height) 0 0;justify-content:flex-start;overflow-y:auto;overscroll-behavior:contain;padding:12px 24px calc(28px + env(safe-area-inset-bottom));scroll-padding-block:16px}.mobileOverlay[hidden]{display:none}.mobileOverlay>a{flex-shrink:0;font-family:var(--font-ja);font-size:15px;letter-spacing:.06em;min-height:48px;padding-block:12px}.mobileOverlay>a:not(.navBtn){border-bottom:1px solid #d7dce0;text-align:left;width:min(100%,480px)}.mobileOverlay .navBtn{font-size:13px;margin-top:20px;padding:13px 18px;width:min(100%,480px)}.mobileOverlay__close{align-items:center;align-self:flex-end;background:transparent;border:0;color:#333b43;cursor:pointer;display:inline-flex;flex-shrink:0;font:500 13px/1.5 var(--font-ja);gap:10px;justify-content:center;min-height:44px;min-width:88px}.mobileOverlay__close span{font-size:24px;font-weight:400;line-height:1}.mobileOverlay__close:focus-visible{outline:2px solid var(--dark);outline-offset:2px}body:has(.mobileOverlay.open) .stickyCta{display:none}@media (min-width:1024px){.trainerStd__grid{column-gap:clamp(40px,5vw,72px);row-gap:28px}.trainerStd__stage{height:auto}.trainerStd__stageInner{height:min(48svh,440px);top:110px}}@media (min-width:901px) and (max-width:1199px){.headerNav{display:none}.menuToggle,.stickyCta{display:block}.chatbotLauncher{bottom:calc(88px + env(safe-area-inset-bottom))}.chatbot{bottom:calc(160px + env(safe-area-inset-bottom))}}@media (max-width:900px){:root{--header-height:calc(56px + env(safe-area-inset-top))}.access-preview,.faq-teaser,.homeCompact,.metrics-section,.promises-section,.reviews,.section,.studio-gallery,.voices-section{padding-block:64px}.homeSectionHead{margin-bottom:32px}.homeSectionActions{margin-top:28px}.sectionLabel{font-size:11px;margin-bottom:14px}.faq-teaser__title,.promises-section__title,.reviews__title,.sectionTitle,.sectionTitleWhite,.studio-gallery__title,.voices-section__title{font-size:clamp(25px,4.8vw,36px)}.campaignBanner__btnIcon,.hero-video__btnIcon,.mobileOverlay .navBtn__line,.stickyCta__line{flex-basis:36px;height:36px;width:36px}.trainerStd__grid{gap:28px}.trainerStd__stage{height:220px}.trainerStd__title{font-size:clamp(26px,5.5vw,34px)}section[aria-labelledby=cta-heading]{padding-block:76px!important}}@media (max-width:600px){.goalCard__body,.lead,.trainerIntro p{font-size:14px}.trainerPreviewGrid{max-width:520px}.trainerPreviewRole{font-size:11px}.trainerAwards__list{font-size:12px}.pageHero{padding:56px 24px 48px}.pageHeroTitle{font-size:13px}.priceCardBody{padding:28px 24px}.priceCardHead{padding-block:24px}.faq-teaser__qText,.faqDetails summary,.faqItem summary{font-size:14px}.faq-teaser__aText,.faqAnswer{font-size:13px}.sectionTitle,.sectionTitleWhite{letter-spacing:.03em}}
/* Nishifunabashi editorial home 2026-11-11 */
/* Nishifunabashi: a quiet, photographic editorial system. All rules scoped. */
#ns-home{--ns-ink:#252a2c;--ns-muted:#60686b;--ns-line:#d1d5d5;--ns-paper:#fff;--ns-silver:#edf0ef;--ns-dark:#252b2e;background:var(--ns-paper);color:var(--ns-ink);font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN",sans-serif;font-size:15px;line-height:1.9;isolation:isolate;width:100%;overflow:clip;}
#ns-home *,#ns-home *::before,#ns-home *::after{box-sizing:border-box;}
#ns-home h1,#ns-home h2,#ns-home h3,#ns-home h4,#ns-home p,#ns-home figure,#ns-home blockquote,#ns-home dl,#ns-home dd,#ns-home ul,#ns-home ol{margin:0;}
#ns-home h1,#ns-home h2,#ns-home h3,#ns-home h4{color:inherit;font-weight:500;line-height:1.55;letter-spacing:.035em;}
#ns-home img{display:block;max-width:100%;height:auto;}
#ns-home a{color:inherit;text-decoration:none;}
#ns-home button,#ns-home summary{font:inherit;color:inherit;cursor:pointer;}
#ns-home button{border-radius:0;}
#ns-home a:focus-visible,#ns-home button:focus-visible,#ns-home summary:focus-visible{outline:3px solid #64838d;outline-offset:5px;}
#ns-home [id]{scroll-margin-top:110px;}
#ns-home .ns-wrap{width:min(1120px,calc(100% - 96px));margin:0 auto;}
#ns-home .ns-section{padding:100px 0;position:relative;}
#ns-home .ns-eyebrow{font-size:11px;font-weight:500;letter-spacing:.16em;line-height:1.6;color:var(--ns-muted);margin-bottom:16px;}
#ns-home .ns-title{font-family:"Shippori Mincho B1","Hiragino Mincho ProN",serif;font-size:clamp(28px,3.05vw,40px);line-height:1.65;letter-spacing:.07em;}
#ns-home .ns-heading-row{display:flex;align-items:flex-end;justify-content:space-between;gap:36px;margin-bottom:44px;}
#ns-home .ns-section-lead{font-size:14px;line-height:2.05;color:var(--ns-muted);max-width:460px;padding-bottom:5px;}
#ns-home .ns-small{font-size:12px;color:var(--ns-muted);line-height:1.8;}
#ns-home .ns-button{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:62px;padding:16px 22px;font-size:15px;font-weight:600;line-height:1.55;letter-spacing:.015em;border:1px solid transparent;transition:background-color .18s,color .18s,border-color .18s;}
#ns-home .ns-button-dark{background:var(--ns-dark);color:#fff;border-color:var(--ns-dark);}
#ns-home .ns-button-dark:hover{background:#41494d;border-color:#41494d;}
#ns-home .ns-button-light{background:#fff;color:var(--ns-ink);border-color:#fff;}
#ns-home .ns-button-light:hover{background:#e4e8e7;border-color:#e4e8e7;}
#ns-home .ns-button-outline{background:transparent;border-color:#9da5a7;}
#ns-home .ns-button-outline:hover{background:var(--ns-silver);}
#ns-home .ns-line-icon{display:inline-block;flex:0 0 33px;width:33px;height:33px;background:url("/images/line-brand-icon.png") center/contain no-repeat;color:transparent;border-radius:0;font-size:0;line-height:0;}
#ns-home .ns-arrow{font-size:23px;line-height:1;margin-left:auto;font-weight:400;}
#ns-home .ns-text-link{display:inline-flex;align-items:center;gap:26px;min-height:44px;font-size:13px;line-height:1.6;border-bottom:1px solid #9ca3a5;transition:border-color .18s;}
#ns-home .ns-text-link:hover{border-color:currentColor;}
#ns-home .ns-text-link>span:last-child{font-size:20px;font-weight:400;}
#ns-home .ns-section-foot{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:28px;color:var(--ns-muted);font-size:13px;}

/* The video remains the first visual, but the offer sits immediately beneath it. */
#ns-home .ns-hero{position:relative;height:clamp(520px,61vh,620px);background:#252b2e;color:#fff;overflow:hidden;}
#ns-home .ns-hero-film,#ns-home .ns-hero-video,#ns-home .ns-hero-shade{position:absolute;inset:0;width:100%;height:100%;}
#ns-home .ns-hero-video{object-fit:cover;object-position:center 44%;}
#ns-home .ns-hero-shade{background:linear-gradient(90deg,rgba(13,18,20,.69),rgba(16,20,21,.3) 52%,rgba(16,20,21,.07)),linear-gradient(0deg,rgba(8,14,17,.42),transparent 40%);}
#ns-home .ns-hero-inner{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:space-between;width:min(1280px,calc(100% - 104px));height:100%;margin:auto;padding:30px 0 28px;}
#ns-home .ns-store-label{display:flex;gap:22px;align-items:baseline;font-size:14px;letter-spacing:.15em;border-bottom:1px solid rgba(255,255,255,.35);padding-bottom:16px;}
#ns-home .ns-store-brand{font-family:Cardo,Georgia,serif;font-size:35px;letter-spacing:.04em;line-height:1;}
#ns-home .ns-hero-copy{padding:30px 0;}
#ns-home .ns-hero-kicker{font-size:13px;letter-spacing:.23em;margin-bottom:20px;}
#ns-home .ns-hero h1{font-family:"Shippori Mincho B1","Hiragino Mincho ProN",serif;font-size:clamp(44px,5.6vw,75px);line-height:1.48;letter-spacing:.09em;font-weight:400;text-shadow:0 1px 20px rgba(0,0,0,.12);}
#ns-home .ns-hero-description{font-size:15px;line-height:2.1;letter-spacing:.07em;margin-top:26px;}
#ns-home .ns-hero-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:12px;letter-spacing:.08em;}
#ns-home .ns-hero-bottom p>span{padding:0 8px;color:#d5dcdf;}
#ns-home .ns-video-toggle{min-height:42px;min-width:114px;padding:9px 16px;border:1px solid rgba(255,255,255,.6);background:rgba(19,27,30,.3);color:#fff;font-size:12px;line-height:1.4;letter-spacing:.06em;}
#ns-home .ns-video-toggle:hover{background:rgba(19,27,30,.72);}

#ns-home .ns-first-session{background:linear-gradient(110deg,#f3f4f3,#e4e8e9);padding:30px 0;}
#ns-home .ns-first-inner{display:grid;grid-template-columns:1fr .9fr 1.36fr;align-items:center;gap:36px;}
#ns-home .ns-first-heading .ns-eyebrow{margin-bottom:9px;}
#ns-home .ns-first-heading h2{font-family:"Shippori Mincho B1","Hiragino Mincho ProN",serif;font-size:24px;line-height:1.65;letter-spacing:.06em;}
#ns-home .ns-first-price{padding-left:30px;border-left:1px solid #aeb7ba;}
#ns-home .ns-first-price>p:first-child{font-size:13px;font-weight:500;}
#ns-home .ns-first-price>p:first-child span{font-size:11px;font-weight:400;}
#ns-home .ns-amount{font-family:Cardo,Georgia,serif;font-size:54px;line-height:1.2;letter-spacing:-.025em;margin:4px 0!important;white-space:nowrap;}
#ns-home .ns-amount>span{font-family:"Noto Sans JP",sans-serif;font-size:16px;margin-left:8px;}
#ns-home .ns-first-action{display:flex;flex-direction:column;gap:4px;align-items:flex-end;}
#ns-home .ns-first-action .ns-button{width:100%;}
#ns-home .ns-first-action .ns-text-link{border:0;font-size:12px;}
#ns-home .ns-facts{background:#fff;border-bottom:1px solid var(--ns-line);}
#ns-home .ns-facts-inner{display:grid;grid-template-columns:1fr 1.2fr 1fr;padding:21px 0;}
#ns-home .ns-facts p{text-align:center;font-size:12px;line-height:1.8;border-right:1px solid var(--ns-line);}
#ns-home .ns-facts p:last-child{border:0;}
#ns-home .ns-facts strong{font-size:14px;font-weight:500;}
#ns-home .ns-facts p>span{margin-left:10px;font-size:11px;color:var(--ns-muted);}
#ns-home .ns-jump-nav{background:#f9faf9;border-bottom:1px solid #e4e7e7;}
#ns-home .ns-jump-inner{display:flex;align-items:center;justify-content:center;gap:clamp(28px,4vw,58px);min-height:60px;}
#ns-home .ns-jump-nav a{padding:16px 0;font-size:12px;line-height:1.7;white-space:nowrap;}
#ns-home .ns-jump-nav a::after{content:"↓";margin-left:12px;color:#8b9395;}
#ns-home .ns-jump-nav a:hover{color:#111;}

#ns-home .ns-purpose-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;}
#ns-home .ns-purpose-photo{position:relative;overflow:hidden;background:#e7e9e7;}
#ns-home .ns-purpose-photo img{width:100%;aspect-ratio:1.44;object-fit:cover;}
#ns-home .ns-purpose:nth-child(2) .ns-purpose-photo img{object-position:48% 58%;}
#ns-home .ns-photo-number{position:absolute;bottom:0;left:0;background:#fff;padding:7px 15px 0 0;font-family:Cardo,Georgia,serif;font-size:27px;line-height:1.2;}
#ns-home .ns-purpose-body{padding-top:21px;}
#ns-home .ns-purpose-label{color:var(--ns-muted);font-size:11px;letter-spacing:.04em;margin-bottom:8px;}
#ns-home .ns-purpose h3{font-size:22px;font-weight:500;line-height:1.6;}
#ns-home .ns-purpose-body>p:last-child{color:var(--ns-muted);font-size:13px;line-height:2;margin-top:13px;}
#ns-home .ns-method{display:grid;grid-template-columns:210px 1fr;gap:40px;margin-top:52px;padding:34px 0;border-top:1px solid var(--ns-line);border-bottom:1px solid var(--ns-line);}
#ns-home .ns-method .ns-eyebrow{font-size:10px;margin-bottom:11px;}
#ns-home .ns-method-intro h3{font-size:23px;font-family:"Shippori Mincho B1","Hiragino Mincho ProN",serif;}
#ns-home .ns-method-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;padding:0;list-style:none;}
#ns-home .ns-step-number{display:block;font-family:Cardo,Georgia,serif;font-size:25px;line-height:1.15;color:#7f8a8e;}
#ns-home .ns-method-steps h4{font-size:16px;letter-spacing:.015em;margin:12px 0 8px;}
#ns-home .ns-method-steps p{font-size:12px;line-height:1.9;color:var(--ns-muted);}

#ns-home .ns-trainers{background:#f0f2f1;}
#ns-home .ns-trainer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;}
#ns-home .ns-trainer{display:grid;grid-template-columns:40% minmax(0,1fr);gap:24px;align-items:start;}
#ns-home .ns-trainer-photo{overflow:hidden;background:#dce0df;}
#ns-home .ns-trainer-photo img{width:100%;aspect-ratio:.685;object-fit:cover;object-position:center top;}
#ns-home .ns-trainer-info{padding-top:4px;min-width:0;}
#ns-home .ns-trainer-role{font-size:10px;color:var(--ns-muted);margin-bottom:7px;}
#ns-home .ns-trainer h3{font-size:25px;letter-spacing:.1em;}
#ns-home .ns-trainer-en{font-size:10px;letter-spacing:.1em;color:var(--ns-muted);margin-top:3px;}
#ns-home .ns-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:16px;}
#ns-home .ns-tags span{border:1px solid #b9c0c0;padding:3px 8px;font-size:10px;line-height:1.6;}
#ns-home .ns-trainer-message{margin-top:16px;font-size:12px;line-height:2;color:var(--ns-muted);}
#ns-home .ns-trainer-details{border-top:1px solid #c8cece;margin-top:18px;padding-top:14px;font-size:11px;line-height:1.8;}
#ns-home .ns-trainer-details dt{font-size:10px;color:#535e62;font-weight:600;margin:10px 0 5px;}
#ns-home .ns-trainer-details dt:first-child{margin-top:0;}
#ns-home .ns-trainer-details dd{overflow-wrap:anywhere;}
#ns-home .ns-trainer-more{text-align:right;margin-top:30px;}
#ns-home .ns-standard{display:grid;grid-template-columns:.83fr 1.17fr;gap:48px;margin-top:48px;background:var(--ns-dark);color:#fff;padding:44px 48px;}
#ns-home .ns-standard-number{border-right:1px solid #626c70;}
#ns-home .ns-standard-number>p:first-child{font-size:10px;letter-spacing:.17em;color:#d5dadd;}
#ns-home .ns-standard-number>span{display:block;font-family:Cardo,Georgia,serif;font-size:114px;line-height:1.08;letter-spacing:-.04em;margin-top:9px;}
#ns-home .ns-standard-number small{font-family:"Noto Sans JP",sans-serif;font-size:24px;margin-left:10px;letter-spacing:0;}
#ns-home .ns-standard-number>p:last-child{font-size:11px;color:#c6ced1;margin-top:8px;}
#ns-home .ns-standard-copy h3{font-family:"Shippori Mincho B1","Hiragino Mincho ProN",serif;font-size:23px;line-height:1.8;}
#ns-home .ns-standard-copy>p{font-size:12px;line-height:2;color:#cbd2d5;margin-top:18px;}
#ns-home .ns-standard-copy ul{display:flex;gap:20px;list-style:none;padding:0;margin-top:22px;color:#e5e9eb;font-size:10px;line-height:1.8;}
#ns-home .ns-standard-copy li{border-top:1px solid #899397;padding-top:10px;flex:1;}

#ns-home .ns-pricing{background:#fff;}
#ns-home .ns-price-common>p:first-child{font-size:19px;letter-spacing:.1em;margin-bottom:4px;}
#ns-home .ns-price-common>p:nth-child(2){font-size:13px;}
#ns-home .ns-price-common>span{font-size:11px;color:var(--ns-muted);}
#ns-home .ns-price-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:2px solid var(--ns-ink);border-bottom:1px solid var(--ns-line);padding:28px 0;}
#ns-home .ns-price-plan{padding:0 30px;border-left:1px solid var(--ns-line);}
#ns-home .ns-price-plan:first-child{border:0;padding-left:0;}
#ns-home .ns-plan-en{font-size:10px;letter-spacing:.15em;color:var(--ns-muted);}
#ns-home .ns-price-plan h3{font-size:16px;margin-top:12px;}
#ns-home .ns-price-plan h3>span{font-family:Cardo,Georgia,serif;font-size:35px;line-height:1;padding:0 8px;}
#ns-home .ns-price-value{font-family:Cardo,Georgia,serif;font-size:clamp(33px,3.5vw,48px);line-height:1.25;letter-spacing:-.035em;margin-top:16px;white-space:nowrap;}
#ns-home .ns-price-value>span{font-family:"Noto Sans JP",sans-serif;font-size:11px;letter-spacing:0;margin-left:8px;}
#ns-home .ns-unit-price{font-size:12px;color:var(--ns-muted);margin-top:8px;}
#ns-home .ns-plan-note{font-size:12px;color:var(--ns-muted);line-height:1.9;margin-top:23px;}
#ns-home .ns-price-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:20px;}
#ns-home .ns-price-footer>p{font-size:13px;}
#ns-home .ns-price-footer strong{font-size:17px;font-weight:500;margin-left:16px;}
#ns-home .ns-price-footer>p>span{font-size:11px;}
#ns-home .ns-price-note{font-size:12px;color:var(--ns-muted);margin-top:22px;max-width:780px;}

#ns-home .ns-reviews{background:#f4f5f4;}
#ns-home .ns-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;}
#ns-home .ns-review{padding:26px 26px 22px;background:#fff;display:flex;flex-direction:column;}
#ns-home .ns-review-label{font-size:10px;color:var(--ns-muted);letter-spacing:.1em;margin-bottom:16px;}
#ns-home .ns-review blockquote{font-family:"Shippori Mincho B1","Hiragino Mincho ProN",serif;font-size:19px;line-height:1.9;letter-spacing:.04em;margin-bottom:20px;}
#ns-home .ns-review-author{font-size:11px;color:var(--ns-muted);margin-top:auto;padding-bottom:13px;}
#ns-home .ns-review details{border-top:1px solid var(--ns-line);font-size:12px;}
#ns-home .ns-review summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:44px;}
#ns-home .ns-review summary::-webkit-details-marker{display:none;}
#ns-home .ns-review-full{font-size:12px;line-height:2;white-space:pre-line;color:var(--ns-muted);padding:4px 0 16px;}
#ns-home .ns-results{border-top:1px solid var(--ns-line);border-bottom:1px solid var(--ns-line);margin-top:36px;}
#ns-home .ns-results>summary{display:flex;align-items:center;justify-content:space-between;gap:20px;list-style:none;padding:24px 0;font-size:16px;line-height:1.7;}
#ns-home .ns-results>summary::-webkit-details-marker{display:none;}
#ns-home .ns-results summary small{display:block;font-size:10px;letter-spacing:.06em;color:var(--ns-muted);margin-bottom:6px;}
#ns-home .ns-details-sign{font-size:22px;line-height:1;flex-shrink:0;font-weight:400;color:#6b767a;transition:transform .18s;}
#ns-home details[open]>summary .ns-details-sign{transform:rotate(45deg);}
#ns-home .ns-results-inner{padding-bottom:28px;}
#ns-home .ns-results-inner>p:first-child{font-size:12px;margin-bottom:20px;}
#ns-home .ns-results-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-bottom:20px;align-items:start;}
#ns-home .ns-results-grid img{width:100%;height:auto;}

#ns-home .ns-access{background:#fff;}
#ns-home .ns-studio-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:28px;align-items:end;}
#ns-home .ns-studio-main img{width:100%;aspect-ratio:1.37;object-fit:cover;}
#ns-home .ns-studio-exterior img{width:100%;aspect-ratio:1.47;object-fit:cover;}
#ns-home .ns-studio-grid figcaption{display:flex;align-items:baseline;gap:12px;font-size:11px;color:var(--ns-muted);padding-top:12px;}
#ns-home .ns-studio-grid figcaption>span{font-family:Cardo,Georgia,serif;font-size:18px;color:var(--ns-ink);}
#ns-home .ns-access-info{display:grid;grid-template-columns:1fr 1.15fr;gap:65px;margin-top:50px;}
#ns-home .ns-access-intro .ns-eyebrow{font-size:10px;margin-bottom:14px;}
#ns-home .ns-access-intro h3{font-size:25px;letter-spacing:.07em;}
#ns-home .ns-access-intro>p:last-child{font-size:13px;color:var(--ns-muted);margin-top:20px;line-height:2;}
#ns-home .ns-access-list{border-top:1px solid var(--ns-line);}
#ns-home .ns-access-list>div{display:grid;grid-template-columns:90px 1fr;gap:22px;border-bottom:1px solid var(--ns-line);padding:16px 0;font-size:13px;}
#ns-home .ns-access-list dt{font-size:11px;color:var(--ns-muted);padding-top:3px;}
#ns-home .ns-access-list dd>span{font-size:11px;}
#ns-home .ns-access-list a{font-family:Cardo,Georgia,serif;font-size:23px;letter-spacing:.02em;display:inline-block;}
#ns-home .ns-access-actions{display:flex;justify-content:flex-end;align-items:center;gap:30px;margin-top:28px;}
#ns-home .ns-access-actions .ns-button{min-width:260px;font-size:13px;justify-content:space-between;}

#ns-home .ns-trial{background:#edf0ef;}
#ns-home .ns-trial-price{border-left:1px solid #abb5b7;padding-left:30px;min-width:240px;}
#ns-home .ns-trial-price>span{font-size:12px;}
#ns-home .ns-trial-price>span:last-child{font-size:11px;color:var(--ns-muted);}
#ns-home .ns-trial-price>p{font-family:Cardo,Georgia,serif;font-size:62px;letter-spacing:-.03em;line-height:1.25;}
#ns-home .ns-trial-price small{font-family:"Noto Sans JP",sans-serif;font-size:16px;margin-left:9px;}
#ns-home .ns-trial-content{display:grid;grid-template-columns:1fr 1.08fr;gap:42px;align-items:stretch;}
#ns-home .ns-trial-photo{height:100%;width:100%;object-fit:cover;object-position:42% center;min-height:335px;}
#ns-home .ns-trial-steps{list-style:none;padding:0;}
#ns-home .ns-trial-steps>li{display:flex;gap:22px;padding:21px 0;border-bottom:1px solid #c8cecf;}
#ns-home .ns-trial-steps>li:first-child{padding-top:0;}
#ns-home .ns-trial-steps .ns-step-number{font-size:29px;padding-top:4px;}
#ns-home .ns-trial-steps h3{font-size:17px;line-height:1.6;}
#ns-home .ns-trial-steps p{font-size:12px;color:var(--ns-muted);margin-top:8px;line-height:1.9;}
#ns-home .ns-trial-preparation{display:flex;align-items:baseline;gap:26px;background:#fff;padding:20px 24px;margin-top:28px;font-size:12px;}
#ns-home .ns-trial-preparation strong{font-weight:500;white-space:nowrap;}
#ns-home .ns-trial-preparation p{color:var(--ns-muted);}
#ns-home .ns-reserve{display:grid;grid-template-columns:1fr auto;align-items:center;gap:32px;margin-top:34px;}
#ns-home .ns-reserve h3{font-size:20px;}
#ns-home .ns-reserve p{font-size:12px;color:var(--ns-muted);margin-top:8px;}
#ns-home .ns-reserve .ns-button{min-width:335px;}

#ns-home .ns-faq{background:#fff;}
#ns-home .ns-faq-layout{display:grid;grid-template-columns:1fr 1.5fr;gap:65px;}
#ns-home .ns-faq-heading .ns-text-link{margin-top:30px;font-size:12px;}
#ns-home .ns-faq-list{border-top:1px solid var(--ns-line);}
#ns-home .ns-faq-list details{border-bottom:1px solid var(--ns-line);}
#ns-home .ns-faq-list summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:25px;min-height:86px;padding:20px 0;font-size:15px;line-height:1.8;}
#ns-home .ns-faq-list summary::-webkit-details-marker{display:none;}
#ns-home .ns-faq-list details>p{padding:0 0 25px;color:var(--ns-muted);font-size:13px;line-height:2;}
#ns-home .ns-closing{background:var(--ns-dark);color:#fff;padding:68px 0;}
#ns-home .ns-closing-inner{display:grid;grid-template-columns:1.25fr 1fr;gap:60px;align-items:center;}
#ns-home .ns-closing .ns-eyebrow{color:#c5cdd0;font-size:11px;}
#ns-home .ns-closing h2{font-family:"Shippori Mincho B1","Hiragino Mincho ProN",serif;font-size:34px;line-height:1.75;letter-spacing:.08em;}
#ns-home .ns-closing h2+p{font-size:15px;margin-top:22px;}
#ns-home .ns-closing h2+p>span{display:block;font-size:11px;color:#c6cfd2;margin-top:4px;}
#ns-home .ns-closing-actions{display:flex;align-items:flex-end;flex-direction:column;gap:14px;}
#ns-home .ns-closing .ns-button{width:100%;}
#ns-home .ns-closing .ns-text-link{font-size:12px;color:#e3e8e9;border-color:#839096;}

@media(min-width:1450px){#ns-home .ns-hero-inner{width:min(1280px,calc(100% - 140px));}}
@media(max-width:1050px){
  #ns-home .ns-wrap{width:calc(100% - 64px);}
  #ns-home .ns-section{padding:80px 0;}
  #ns-home .ns-hero-inner{width:calc(100% - 70px);}
  #ns-home .ns-first-inner{grid-template-columns:1fr 1fr;gap:20px 30px;}
  #ns-home .ns-first-heading h2{font-size:23px;}
  #ns-home .ns-first-action{grid-column:1/-1;display:grid;grid-template-columns:1fr auto;align-items:center;gap:24px;}
  #ns-home .ns-first-action .ns-button{justify-content:center;}
  #ns-home .ns-first-action .ns-arrow{margin-left:12px;}
  #ns-home .ns-first-action .ns-text-link{white-space:nowrap;}
  #ns-home .ns-purpose-grid{gap:20px;}
  #ns-home .ns-purpose h3{font-size:19px;}
  #ns-home .ns-method{grid-template-columns:155px 1fr;gap:26px;}
  #ns-home .ns-method-steps{gap:22px;}
  #ns-home .ns-trainer{grid-template-columns:1fr;gap:20px;}
  #ns-home .ns-trainer-photo img{aspect-ratio:1.12;object-position:center 24%;}
  #ns-home .ns-trainer-details{font-size:12px;}
  #ns-home .ns-trainer-message{font-size:13px;}
  #ns-home .ns-standard{padding:36px;gap:32px;}
  #ns-home .ns-standard-number>span{font-size:100px;}
  #ns-home .ns-standard-copy h3{font-size:21px;}
  #ns-home .ns-standard-copy ul{gap:14px;}
  #ns-home .ns-price-plan{padding:0 24px;}
  #ns-home .ns-review-grid{gap:18px;}
  #ns-home .ns-review{padding:22px 19px 16px;}
  #ns-home .ns-review blockquote{font-size:17px;}
  #ns-home .ns-trial-content{gap:30px;grid-template-columns:.92fr 1.08fr;}
  #ns-home .ns-reserve{grid-template-columns:1fr;gap:22px;}
  #ns-home .ns-reserve .ns-button{min-width:0;width:100%;}
  #ns-home .ns-faq-layout{gap:38px;}
  #ns-home .ns-closing-inner{gap:38px;}
  #ns-home .ns-closing h2{font-size:29px;}
}
@media(max-width:700px){
  #ns-home{font-size:14px;}
  #ns-home .ns-wrap{width:calc(100% - 40px);}
  #ns-home .ns-section{padding:58px 0;}
  #ns-home .ns-eyebrow{font-size:10px;margin-bottom:12px;}
  #ns-home .ns-title{font-size:27px;line-height:1.65;letter-spacing:.045em;}
  #ns-home .ns-heading-row{display:block;margin-bottom:29px;}
  #ns-home .ns-section-lead{font-size:13px;line-height:1.95;margin-top:20px;padding:0;}
  #ns-home .ns-desktop-break{display:none;}
  #ns-home .ns-button{font-size:14px;gap:12px;min-height:60px;padding:14px 18px;}
  #ns-home .ns-text-link{font-size:12px;gap:20px;}
  #ns-home .ns-section-foot{display:block;margin-top:20px;}
  #ns-home .ns-section-foot>.ns-text-link{margin-top:12px;}
  #ns-home .ns-hero{height:505px;}
  #ns-home .ns-hero-video{object-position:center center;}
  #ns-home .ns-hero-shade{background:linear-gradient(90deg,rgba(8,15,18,.55),rgba(8,15,18,.1)),linear-gradient(0deg,rgba(8,15,18,.52),rgba(8,15,18,.08) 60%);}
  #ns-home .ns-hero-inner{width:calc(100% - 40px);padding:22px 0 19px;}
  #ns-home .ns-store-label{gap:15px;padding-bottom:16px;font-size:12px;}
  #ns-home .ns-store-brand{font-size:29px;}
  #ns-home .ns-hero-copy{padding:35px 0 22px;}
  #ns-home .ns-hero-kicker{font-size:11px;letter-spacing:.13em;margin-bottom:15px;}
  #ns-home .ns-hero h1{font-size:42px;line-height:1.58;letter-spacing:.035em;}
  #ns-home .ns-hero-description{font-size:12px;line-height:2;margin-top:21px;letter-spacing:.03em;}
  #ns-home .ns-hero-bottom{font-size:9px;gap:8px;letter-spacing:.025em;}
  #ns-home .ns-hero-bottom p>span{padding:0 3px;}
  #ns-home .ns-video-toggle{font-size:10px;min-width:95px;padding:9px 10px;min-height:40px;}
  #ns-home .ns-first-session{padding:25px 0 19px;}
  #ns-home .ns-first-inner{grid-template-columns:1fr 1.05fr;gap:20px 16px;}
  #ns-home .ns-first-heading .ns-eyebrow{font-size:9px;margin-bottom:10px;}
  #ns-home .ns-first-heading h2{font-size:20px;letter-spacing:.01em;line-height:1.7;}
  #ns-home .ns-first-price{padding-left:18px;}
  #ns-home .ns-first-price>p:first-child{font-size:11px;}
  #ns-home .ns-first-price>p:first-child span{font-size:9px;}
  #ns-home .ns-amount{font-size:46px;margin:5px 0!important;}
  #ns-home .ns-amount>span{font-size:13px;margin-left:5px;}
  #ns-home .ns-first-price .ns-small{font-size:9px;line-height:1.75;}
  #ns-home .ns-first-action{display:flex;gap:2px;align-items:flex-end;}
  #ns-home .ns-first-action .ns-button{justify-content:flex-start;}
  #ns-home .ns-first-action .ns-arrow{margin-left:auto;}
  #ns-home .ns-first-action .ns-text-link{min-height:36px;font-size:11px;}
  #ns-home .ns-facts-inner{width:calc(100% - 24px);padding:17px 0;grid-template-columns:1fr 1.15fr 1fr;}
  #ns-home .ns-facts p{font-size:9px;padding:0 4px;line-height:1.7;}
  #ns-home .ns-facts strong{font-size:12px;display:block;font-weight:500;}
  #ns-home .ns-facts p:first-child strong{font-size:14px;}
  #ns-home .ns-facts p>span{display:block;margin-left:0;font-size:9px;}
  #ns-home .ns-facts p:first-child{display:flex;flex-direction:column-reverse;justify-content:center;}
  #ns-home .ns-jump-inner{min-height:54px;width:100%;gap:0;justify-content:space-evenly;padding:0 8px;}
  #ns-home .ns-jump-nav a{font-size:10px;padding:16px 3px;}
  #ns-home .ns-jump-nav a::after{content:none;}
  #ns-home .ns-purpose-grid{grid-template-columns:1fr;gap:29px;}
  #ns-home .ns-purpose{display:grid;grid-template-columns:1fr;}
  #ns-home .ns-purpose-photo img{aspect-ratio:1.78;}
  #ns-home .ns-photo-number{font-size:25px;padding:6px 14px 0 0;}
  #ns-home .ns-purpose-body{padding-top:16px;}
  #ns-home .ns-purpose-label{font-size:10px;margin-bottom:6px;}
  #ns-home .ns-purpose h3{font-size:22px;line-height:1.55;letter-spacing:.025em;}
  #ns-home .ns-purpose h3 br{display:none;}
  #ns-home .ns-purpose-body>p:last-child{font-size:13px;line-height:1.95;margin-top:10px;}
  #ns-home .ns-method{display:block;margin-top:34px;padding:27px 0;}
  #ns-home .ns-method-intro h3{font-size:23px;}
  #ns-home .ns-method-intro h3 br{display:none;}
  #ns-home .ns-method-steps{display:block;margin-top:20px;}
  #ns-home .ns-method-steps>li{display:flex;gap:17px;margin-top:19px;}
  #ns-home .ns-method-steps .ns-step-number{font-size:26px;padding-top:3px;min-width:31px;}
  #ns-home .ns-method-steps h4{font-size:15px;margin:0 0 3px;}
  #ns-home .ns-method-steps p{font-size:12px;}
  #ns-home .ns-trainer-grid{grid-template-columns:1fr;gap:33px;}
  #ns-home .ns-trainer{grid-template-columns:116px minmax(0,1fr);gap:18px;}
  #ns-home .ns-trainer-photo{position:sticky;top:110px;}
  #ns-home .ns-trainer-photo img{aspect-ratio:.65;object-position:center top;}
  #ns-home .ns-trainer-info{padding-top:0;}
  #ns-home .ns-trainer-role{font-size:9px;margin-bottom:5px;}
  #ns-home .ns-trainer h3{font-size:24px;letter-spacing:.06em;}
  #ns-home .ns-trainer-en{font-size:8px;letter-spacing:.1em;}
  #ns-home .ns-tags{margin-top:12px;gap:5px;}
  #ns-home .ns-tags span{font-size:9px;padding:3px 6px;}
  #ns-home .ns-trainer-message{font-size:12px;margin-top:12px;line-height:1.95;}
  #ns-home .ns-trainer-details{font-size:11px;margin-top:14px;padding-top:13px;line-height:1.8;}
  #ns-home .ns-trainer-details dt{font-size:9px;margin-top:9px;}
  #ns-home .ns-trainer-more{margin-top:22px;}
  #ns-home .ns-standard{grid-template-columns:1fr;gap:24px;margin-top:32px;padding:28px 24px;}
  #ns-home .ns-standard-number{border-right:0;border-bottom:1px solid #626c70;padding-bottom:23px;}
  #ns-home .ns-standard-number>span{font-size:100px;margin-top:6px;line-height:1.04;}
  #ns-home .ns-standard-number>p:last-child{margin-top:9px;font-size:10px;}
  #ns-home .ns-standard-copy h3{font-size:20px;line-height:1.8;letter-spacing:.025em;}
  #ns-home .ns-standard-copy>p{font-size:12px;margin-top:13px;line-height:1.95;}
  #ns-home .ns-standard-copy ul{font-size:9px;gap:12px;margin-top:18px;}
  #ns-home .ns-price-common{margin-top:22px;}
  #ns-home .ns-price-common>p:first-child{font-size:17px;margin-bottom:2px;}
  #ns-home .ns-price-common>p:nth-child(2){font-size:12px;}
  #ns-home .ns-price-common>span{font-size:10px;}
  #ns-home .ns-price-grid{display:block;padding:0;}
  #ns-home .ns-price-plan,#ns-home .ns-price-plan:first-child{display:grid;grid-template-columns:1fr 1.3fr;gap:0 13px;border-left:0;padding:22px 0;border-bottom:1px solid var(--ns-line);}
  #ns-home .ns-price-plan:last-child{border-bottom:0;}
  #ns-home .ns-plan-en{grid-column:1;grid-row:1;font-size:9px;align-self:end;}
  #ns-home .ns-price-plan h3{grid-column:1;grid-row:2;margin-top:8px;font-size:14px;line-height:1.4;}
  #ns-home .ns-price-plan h3>span{font-size:38px;padding:0 7px;}
  #ns-home .ns-price-value{grid-column:2;grid-row:1/3;align-self:center;justify-self:end;font-size:39px;margin-top:0;line-height:1.4;}
  #ns-home .ns-price-value>span{font-size:10px;margin-left:5px;}
  #ns-home .ns-unit-price{grid-column:2;grid-row:3;justify-self:end;font-size:11px;margin-top:3px;}
  #ns-home .ns-plan-note{grid-column:1/-1;margin-top:15px;font-size:11px;line-height:1.8;}
  #ns-home .ns-plan-note br{display:none;}
  #ns-home .ns-price-footer{display:block;padding-top:21px;}
  #ns-home .ns-price-footer>p{font-size:12px;}
  #ns-home .ns-price-footer strong{font-size:16px;margin-left:12px;}
  #ns-home .ns-price-footer>p>span{font-size:10px;}
  #ns-home .ns-price-footer .ns-text-link{margin-top:13px;}
  #ns-home .ns-price-note{font-size:11px;line-height:1.9;margin-top:16px;}
  #ns-home .ns-review-grid{grid-template-columns:1fr;gap:16px;}
  #ns-home .ns-review{padding:23px 22px 12px;}
  #ns-home .ns-review-label{font-size:9px;margin-bottom:12px;}
  #ns-home .ns-review blockquote{font-size:19px;line-height:1.9;margin-bottom:15px;}
  #ns-home .ns-review-author{font-size:10px;padding-bottom:10px;}
  #ns-home .ns-review summary{font-size:11px;min-height:44px;}
  #ns-home .ns-review-full{font-size:12px;}
  #ns-home .ns-results{margin-top:25px;}
  #ns-home .ns-results>summary{font-size:14px;gap:14px;padding:22px 0;}
  #ns-home .ns-results summary small{font-size:9px;}
  #ns-home .ns-results-inner>p:first-child{font-size:11px;}
  #ns-home .ns-results-grid{grid-template-columns:1fr;gap:20px;max-width:360px;margin:0 auto 20px;}
  #ns-home .ns-studio-grid{grid-template-columns:1fr;gap:23px;}
  #ns-home .ns-studio-main img{aspect-ratio:1.37;}
  #ns-home .ns-studio-exterior img{aspect-ratio:1.65;}
  #ns-home .ns-studio-grid figcaption{font-size:10px;padding-top:9px;gap:10px;}
  #ns-home .ns-studio-grid figcaption>span{font-size:16px;}
  #ns-home .ns-access-info{grid-template-columns:1fr;gap:24px;margin-top:34px;}
  #ns-home .ns-access-intro .ns-eyebrow{font-size:9px;margin-bottom:10px;}
  #ns-home .ns-access-intro h3{font-size:24px;}
  #ns-home .ns-access-intro>p:last-child{font-size:12px;margin-top:12px;}
  #ns-home .ns-access-list>div{grid-template-columns:72px 1fr;gap:18px;padding:15px 0;font-size:12px;}
  #ns-home .ns-access-list dt{font-size:10px;}
  #ns-home .ns-access-list a{font-size:23px;}
  #ns-home .ns-access-actions{flex-direction:column;align-items:stretch;gap:14px;margin-top:24px;}
  #ns-home .ns-access-actions .ns-button{min-width:0;width:100%;font-size:13px;min-height:56px;}
  #ns-home .ns-access-actions .ns-text-link{align-self:flex-end;font-size:11px;}
  #ns-home .ns-trial .ns-title{font-size:26px;letter-spacing:.015em;}
  #ns-home .ns-trial-price{margin-top:24px;padding-left:19px;min-width:0;}
  #ns-home .ns-trial-price>span{font-size:11px;}
  #ns-home .ns-trial-price>p{font-size:54px;line-height:1.2;}
  #ns-home .ns-trial-price>span:last-child{font-size:10px;}
  #ns-home .ns-trial-content{grid-template-columns:1fr;gap:25px;}
  #ns-home .ns-trial-photo{aspect-ratio:1.7;min-height:0;height:auto;object-position:center;}
  #ns-home .ns-trial-steps>li{gap:18px;padding:19px 0;}
  #ns-home .ns-trial-steps h3{font-size:15px;letter-spacing:.015em;}
  #ns-home .ns-trial-steps .ns-step-number{font-size:27px;min-width:30px;}
  #ns-home .ns-trial-steps p{font-size:12px;margin-top:6px;}
  #ns-home .ns-trial-preparation{display:block;padding:18px 20px;font-size:11px;margin-top:23px;}
  #ns-home .ns-trial-preparation strong{font-size:12px;}
  #ns-home .ns-trial-preparation p{margin-top:6px;}
  #ns-home .ns-reserve{gap:20px;margin-top:27px;}
  #ns-home .ns-reserve h3{font-size:18px;}
  #ns-home .ns-reserve p{font-size:12px;line-height:1.9;}
  #ns-home .ns-faq-layout{grid-template-columns:1fr;gap:26px;}
  #ns-home .ns-faq-heading .ns-text-link{margin-top:16px;font-size:11px;}
  #ns-home .ns-faq-list summary{font-size:13px;gap:20px;min-height:76px;padding:18px 0;}
  #ns-home .ns-faq-list details>p{font-size:12px;padding-bottom:20px;}
  #ns-home .ns-closing{padding:44px 0 35px;}
  #ns-home .ns-closing-inner{grid-template-columns:1fr;gap:28px;}
  #ns-home .ns-closing .ns-eyebrow{font-size:10px;}
  #ns-home .ns-closing h2{font-size:28px;line-height:1.75;letter-spacing:.05em;}
  #ns-home .ns-closing h2+p{font-size:14px;margin-top:20px;}
  #ns-home .ns-closing h2+p>span{font-size:10px;}
  #ns-home .ns-closing-actions{gap:8px;}
  #ns-home .ns-closing .ns-text-link{font-size:11px;}
}
@media(max-width:360px){
  #ns-home .ns-wrap{width:calc(100% - 32px);}
  #ns-home .ns-hero-inner{width:calc(100% - 32px);}
  #ns-home .ns-hero h1{font-size:37px;}
  #ns-home .ns-first-inner{gap:18px 10px;}
  #ns-home .ns-first-price{padding-left:12px;}
  #ns-home .ns-first-heading h2{font-size:18px;}
  #ns-home .ns-amount{font-size:42px;}
  #ns-home .ns-button{font-size:13px;gap:9px;padding:14px;}
  #ns-home .ns-trainer{grid-template-columns:100px minmax(0,1fr);gap:15px;}
  #ns-home .ns-price-value{font-size:34px;}
  #ns-home .ns-title,#ns-home .ns-trial .ns-title{font-size:24px;}
  #ns-home .ns-standard{padding:26px 20px;}
}
@media(prefers-reduced-motion:reduce){#ns-home *,#ns-home *::before,#ns-home *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important;}}
/* Readability pass: body copy stays legible on phones; headings describe their content. */
#ns-home .ns-mobile-break{display:none;}
#contact-name{scroll-margin-top:130px;}
@media(max-width:700px){
 #ns-home .ns-mobile-break{display:block;}
 #ns-home .ns-hero-description{font-size:14px;line-height:1.9;letter-spacing:.01em;}
 #ns-home .ns-section-lead,#ns-home .ns-purpose-body>p:last-child,#ns-home .ns-method-steps p,#ns-home .ns-trainer-message,#ns-home .ns-standard-copy>p,#ns-home .ns-access-intro>p:last-child,#ns-home .ns-trial-steps p,#ns-home .ns-reserve p,#ns-home .ns-faq-list details>p,#ns-home .ns-review-full{font-size:14px;line-height:1.9;}
 #ns-home .ns-trainer-details,#ns-home .ns-price-note,#ns-home .ns-plan-note,#ns-home .ns-access-list>div,#ns-home .ns-trial-preparation,#ns-home .ns-small{font-size:13px;}
 #ns-home .ns-trainer-role,#ns-home .ns-trainer-details dt,#ns-home .ns-tags span,#ns-home .ns-purpose-label,#ns-home .ns-standard-copy ul,#ns-home .ns-review-author,#ns-home .ns-review-label{font-size:11px;}
 #ns-home .ns-faq-list summary{font-size:15px;}
 #ns-home .ns-trainer{grid-template-columns:110px minmax(0,1fr);gap:18px;}
 #ns-home .ns-purpose h3{font-size:20px;}
 #ns-home .ns-text-link{font-size:13px;}
 #ns-home .ns-hero h1{letter-spacing:.045em;}
}

/* Keep the desktop video controls inside short viewport heroes. */
@media(min-width:701px){
 #ns-home .ns-hero h1{font-size:clamp(44px,5vw,64px);line-height:1.45;}
 #ns-home .ns-hero-copy{padding:20px 0;}
 #ns-home .ns-hero-description{margin-top:22px;}
}

/* Load after home.css. Warm neutral surfaces; brand media, 3D and CMS untouched. */
/* Show the homepage immediately; do not depend on the legacy cover animation. */
body:has(#ns-home) .preloader { display: none; }
#ns-home {
  --ns-ink: #2c2b29;
  --ns-muted: #605d58;
  --ns-line: #d7d5d0;
  --ns-paper: #ffffff;
  --ns-silver: #f0efec;
  --ns-dark: #302f2d;
}

/* Alternate open white with a quiet, warm silver instead of repeated cool gray. */
#ns-home .ns-services,
#ns-home .ns-pricing,
#ns-home .ns-access,
#ns-home .ns-faq { background: #ffffff; }
#ns-home .ns-first-session { background: #f4f3f0; border-bottom: 1px solid #dedcd7; }
#ns-home .ns-facts { background: #ffffff; }
#ns-home .ns-jump-nav { background: #fbfaf8; border-color: #e4e1db; }
#ns-home .ns-trainers { background: #f6f4f0; }
#ns-home .ns-reviews { background: #faf9f7; }
#ns-home .ns-trial { background: #f0efec; }
#ns-home .ns-closing { background: #302f2d; }

/* The photographs supply the color. Warm stone is reserved for small wayfinding. */
#ns-home .ns-services .ns-eyebrow,
#ns-home .ns-trainers > .ns-wrap > .ns-heading-row .ns-eyebrow,
#ns-home .ns-pricing .ns-eyebrow,
#ns-home .ns-reviews .ns-eyebrow,
#ns-home .ns-access .ns-eyebrow,
#ns-home .ns-trial .ns-eyebrow,
#ns-home .ns-faq .ns-eyebrow,
#ns-home .ns-purpose-label,
#ns-home .ns-review-label { color: #756b5f; }
#ns-home .ns-step-number,
#ns-home .ns-details-sign,
#ns-home .ns-jump-nav a::after { color: #777067; }
#ns-home .ns-trainer-role,
#ns-home .ns-trainer-en,
#ns-home .ns-trainer-details dt { color: #635d55; }

#ns-home .ns-trainer-photo,
#ns-home .ns-purpose-photo { background: #e8e5df; }
#ns-home .ns-tags span { background: #fdfcf9; border-color: #cfc9be; }
#ns-home .ns-trainer-details { border-color: #d4cfc6; }
#ns-home .ns-first-price,
#ns-home .ns-trial-price { border-color: #b5afa6; }
#ns-home .ns-review { background: #ffffff; border-top: 2px solid #bdb4a8; }
#ns-home .ns-trial-steps > li { border-color: #d0cbc2; }
#ns-home .ns-trial-preparation { background: #fdfcf9; }
#ns-home .ns-text-link { border-color: #a6a096; }

/* Keep the primary action clear and the official green LINE image unchanged. */
#ns-home .ns-button-dark { background: #302f2d; border-color: #302f2d; }
#ns-home .ns-button-dark:hover { background: #494640; border-color: #494640; }
#ns-home .ns-button-light:hover { background: #eeece6; border-color: #eeece6; }
#ns-home .ns-button-outline { border-color: #aaa398; }
#ns-home .ns-button-outline:hover { background: #f0efec; }
#ns-home .ns-closing .ns-eyebrow,
#ns-home .ns-closing h2 + p > span { color: #d5d1ca; }
#ns-home .ns-closing .ns-text-link { color: #eeeae2; border-color: #a59c8e; }
#ns-home a:focus-visible,
#ns-home button:focus-visible,
#ns-home summary:focus-visible { outline-color: #706558; }

/* Keep the Japanese hero phrase on its intended second line on narrow screens. */
@media (max-width: 700px) {
  #ns-home .ns-hero h1 {
    font-size: clamp(32px, 10.5vw, 42px);
    letter-spacing: .02em;
    text-wrap: wrap;
  }
}

/* Original STLiNE model, lighting, materials and scroll interaction are reused unchanged. */
#ns-home .ns-standard{align-items:center;}
#ns-home #ns-original-logo3d{height:280px;width:100%;max-width:300px;margin:4px auto 0;}
#ns-home #ns-original-logo3d .logo3d__poster{height:94%;width:94%;}
#ns-home .ns-standard-number>span{font-size:72px;margin-top:0;}
@media(max-width:700px){
 #ns-home #ns-original-logo3d{height:240px;max-width:240px;}
 #ns-home .ns-standard-number>span{font-size:64px;}
}

/* Append after home.css and warm-color.css. Neutral silver surfaces only.
   No layout, media, 3D, logo, campaign, animation or interaction changes. */
#ns-home {
  --ns-ink: #282828;
  --ns-muted: #4b4b4b;
  --ns-line: #b9b9b9;
  --ns-paper: #dedede;
  --ns-silver: #d2d2d2;
  --ns-dark: #2b2b2b;
}

/* Distinct silver tones keep long sections from becoming one flat gray plane. */
#ns-home .ns-services { background: #dfdfdf; }
#ns-home .ns-pricing { background: #e3e3e3; }
#ns-home .ns-access { background: #dcdcdc; }
#ns-home .ns-faq { background: #e0e0e0; }
#ns-home .ns-reviews { background: #d1d1d1; }
#ns-home .ns-trainers {
  background: linear-gradient(112deg, #c8c8c8 0%, #dedede 36%, #d3d3d3 74%, #cccccc 100%);
  box-shadow: inset 0 1px rgba(255,255,255,.55), inset 0 -1px rgba(40,40,40,.08);
}
#ns-home .ns-trial {
  background: linear-gradient(110deg, #c9c9c9 0%, #dfdfdf 42%, #d1d1d1 100%);
  box-shadow: inset 0 1px rgba(255,255,255,.5);
}
#ns-home .ns-first-session {
  background: linear-gradient(112deg, #bfbfbf 0%, #dfdfdf 24%, #cfcfcf 60%, #e1e1e1 100%);
  border-color: #aeaeae;
  box-shadow: inset 0 1px rgba(255,255,255,.7);
}
#ns-home .ns-facts { background: #d9d9d9; border-color: #b8b8b8; }
#ns-home .ns-jump-nav { background: #cdcdcd; border-color: #b3b3b3; }

/* Neutral graphite labels remain readable across the darkest silver stops. */
#ns-home .ns-services .ns-eyebrow,
#ns-home .ns-trainers > .ns-wrap > .ns-heading-row .ns-eyebrow,
#ns-home .ns-pricing .ns-eyebrow,
#ns-home .ns-reviews .ns-eyebrow,
#ns-home .ns-access .ns-eyebrow,
#ns-home .ns-trial .ns-eyebrow,
#ns-home .ns-faq .ns-eyebrow,
#ns-home .ns-purpose-label,
#ns-home .ns-review-label,
#ns-home .ns-trainer-role,
#ns-home .ns-trainer-en,
#ns-home .ns-trainer-details dt { color: #4b4b4b; }
#ns-home .ns-step-number,
#ns-home .ns-details-sign,
#ns-home .ns-jump-nav a::after { color: #515151; }

/* Silver inset surfaces and quiet reflective edges; photographs stay unfiltered. */
#ns-home .ns-purpose-photo,
#ns-home .ns-trainer-photo { background: #bfbfbf; }
#ns-home .ns-photo-number { background: #dfdfdf; }
#ns-home .ns-tags span { background: #e1e1e1; border-color: #ababab; }
#ns-home .ns-trainer-details { border-color: #aeaeae; }
#ns-home .ns-first-price,
#ns-home .ns-trial-price { border-color: #979797; }
#ns-home .ns-review {
  background: #e4e4e4;
  border-top-color: #929292;
  box-shadow: inset 0 1px rgba(255,255,255,.55);
}
#ns-home .ns-trial-steps > li { border-color: #ababab; }
#ns-home .ns-trial-preparation { background: #e2e2e2; }
#ns-home .ns-text-link { border-color: #929292; }

/* Charcoal anchors the silver; only the existing official LINE icon is green. */
#ns-home .ns-button-dark { background: #2b2b2b; border-color: #2b2b2b; }
#ns-home .ns-button-dark:hover { background: #444444; border-color: #444444; }
#ns-home .ns-button-outline { border-color: #8f8f8f; }
#ns-home .ns-button-outline:hover { background: #c7c7c7; }
#ns-home .ns-button-light {
  color: #282828;
  background: linear-gradient(115deg, #c7c7c7 0%, #e5e5e5 45%, #cdcdcd 100%);
  border-color: #bebebe;
}
#ns-home .ns-button-light:hover { background: #e0e0e0; border-color: #d5d5d5; }
#ns-home .ns-closing { background: #2b2b2b; }
#ns-home .ns-closing .ns-eyebrow,
#ns-home .ns-closing h2 + p > span { color: #d0d0d0; }
#ns-home .ns-closing .ns-text-link { color: #e5e5e5; border-color: #a0a0a0; }
#ns-home a:focus-visible,
#ns-home button:focus-visible,
#ns-home summary:focus-visible { outline-color: #4a4a4a; }
#ns-home .ns-hero :focus-visible,
#ns-home .ns-closing :focus-visible { outline-color: #dedede; }

/* Append after silver-color.css. Platinum / satin / graphite hierarchy.
   The silver is carried by surfaces and fine edges, not broad metallic stripes.
   No typography, layout, video, 3D, logo or CMS selectors are changed here. */
#ns-home {
  --ns-platinum: #ececec;
  --ns-satin: #e3e3e3;
  --ns-raised: #f0f0f0;
  --ns-silver-band: #d9d9d9;
  --ns-ink: #292929;
  --ns-muted: #505050;
  --ns-line: #c3c3c3;
  --ns-paper: var(--ns-platinum);
  --ns-silver: var(--ns-satin);
  --ns-dark: #2d2d2d;
}

/* Bright platinum is the reading surface; satin marks a change in chapter. */
#ns-home .ns-services,
#ns-home .ns-pricing,
#ns-home .ns-access,
#ns-home .ns-faq { background: var(--ns-platinum); }
#ns-home .ns-trainers,
#ns-home .ns-reviews { background: var(--ns-satin); box-shadow: none; }
#ns-home .ns-first-session {
  background: var(--ns-silver-band);
  border-color: #bdbdbd;
  box-shadow: inset 0 1px rgba(255,255,255,.55);
}
#ns-home .ns-facts { background: var(--ns-platinum); border-color: var(--ns-line); }
#ns-home .ns-jump-nav { background: var(--ns-satin); border-color: var(--ns-line); }
#ns-home .ns-trial {
  background: linear-gradient(180deg, #dedede 0%, #e5e5e5 100%);
  box-shadow: inset 0 1px rgba(255,255,255,.45);
}

/* Fine neutral borders separate information without darkening the whole page. */
#ns-home .ns-photo-number { background: var(--ns-platinum); }
#ns-home .ns-purpose-photo,
#ns-home .ns-trainer-photo { background: #d2d2d2; }
#ns-home .ns-tags span { background: var(--ns-platinum); border-color: #b9b9b9; }
#ns-home .ns-trainer-details,
#ns-home .ns-trial-steps > li { border-color: var(--ns-line); }
#ns-home .ns-first-price,
#ns-home .ns-trial-price { border-color: #aaaaaa; }
#ns-home .ns-review {
  background: var(--ns-raised);
  border-top-color: #aaaaaa;
  box-shadow: none;
}
#ns-home .ns-trial-preparation { background: var(--ns-raised); }
#ns-home .ns-text-link { border-color: #979797; }

#ns-home .ns-services .ns-eyebrow,
#ns-home .ns-trainers > .ns-wrap > .ns-heading-row .ns-eyebrow,
#ns-home .ns-pricing .ns-eyebrow,
#ns-home .ns-reviews .ns-eyebrow,
#ns-home .ns-access .ns-eyebrow,
#ns-home .ns-trial .ns-eyebrow,
#ns-home .ns-faq .ns-eyebrow,
#ns-home .ns-purpose-label,
#ns-home .ns-review-label,
#ns-home .ns-trainer-role,
#ns-home .ns-trainer-en,
#ns-home .ns-trainer-details dt { color: #565656; }
#ns-home .ns-step-number,
#ns-home .ns-details-sign,
#ns-home .ns-jump-nav a::after { color: #606060; }

/* Green has one meaning: book an initial session through the official LINE. */
#ns-home .ns-button-dark,
#ns-home .ns-button-primary,
#ns-home .ns-button-light {
  color: #ffffff;
  background: #087a3b;
  border-color: #076b35;
  box-shadow: 0 5px 16px rgba(0, 50, 25, .16);
}
#ns-home .ns-button-dark:hover,
#ns-home .ns-button-primary:hover,
#ns-home .ns-button-light:hover {
  color: #ffffff;
  background: #06632f;
  border-color: #05572a;
}
#ns-home .ns-button-outline { border-color: #919191; }
#ns-home .ns-button-outline:hover { background: #d8d8d8; }
#ns-home .ns-closing { background: var(--ns-dark); }
#ns-home .ns-closing .ns-button-light,
#ns-home .ns-hero .ns-button-primary { border-color: #89b59c; }
#ns-home .ns-closing .ns-eyebrow,
#ns-home .ns-closing h2 + p > span { color: #d2d2d2; }
#ns-home .ns-closing .ns-text-link { color: #e7e7e7; border-color: #a0a0a0; }
#ns-home a:focus-visible,
#ns-home button:focus-visible,
#ns-home summary:focus-visible { outline-color: #505050; }
#ns-home .ns-hero :focus-visible,
#ns-home .ns-closing :focus-visible { outline-color: #dedede; }

/* Readable Japanese phrases and a visible first action, scoped to this homepage. */
#ns-home { word-break: normal; line-break: strict; text-wrap: wrap; }
#ns-home .ns-heading-row > div:first-child { min-width: 0; flex: 1 1 auto; }
#ns-home .ns-section-lead { flex: 0 1 420px; line-height: 1.95; }
#ns-home .ns-title { font-size: clamp(28px, 3vw, 38px); line-height: 1.5; letter-spacing: .035em; }
#ns-home .ns-text-unit { display: inline-block; }
#ns-home .ns-button { border-radius: 6px; font-size: 16px; font-weight: 700; min-height: 64px; }
#ns-home .ns-button > span:not(.ns-arrow):not(.ns-line-icon) { min-width: 0; }
#ns-home .ns-button-primary { width: min(100%, 390px); justify-content: flex-start; }

/* The trial price and one primary action stay beside the proposition. */
#ns-home .ns-hero { height: auto; min-height: 640px; }
#ns-home .ns-hero-inner { height: auto; min-height: 640px; padding: 26px 0 22px; gap: 18px; }
#ns-home .ns-hero-copy { width: min(650px, 100%); padding: 12px 0; }
#ns-home .ns-hero-kicker { font-size: 12px; margin-bottom: 12px; letter-spacing: .16em; }
#ns-home .ns-hero h1 { font-size: clamp(46px, 4.7vw, 65px); line-height: 1.35; letter-spacing: .025em; text-wrap: wrap; }
#ns-home .ns-hero h1 > span { display: block; white-space: nowrap; }
#ns-home .ns-hero-description { max-width: 510px; margin-top: 18px; font-size: 15px; letter-spacing: .01em; line-height: 1.9; }
#ns-home .ns-hero-description > span { display: block; margin-bottom: 3px; font-weight: 500; }
#ns-home .ns-hero-description > .ns-text-unit { display: inline-block; margin-bottom: 0; font-weight: 400; }
#ns-home .ns-first-price .ns-small { display: flex; flex-wrap: wrap; gap: 0 8px; }
#ns-home .ns-first-price .ns-small > span { display: inline-block; }
#ns-home .ns-hero-reservation { margin-top: 20px; }
#ns-home .ns-hero-offer { display: flex; align-items: baseline; flex-wrap: wrap; gap: 7px 12px; font-size: 13px; margin-bottom: 12px; line-height: 1.5; }
#ns-home .ns-hero-offer strong { font-family: Cardo, Georgia, serif; font-size: 29px; font-weight: 400; }
#ns-home .ns-hero-offer strong > span { font-family: "Noto Sans JP", sans-serif; font-size: 12px; margin-left: 4px; }
#ns-home .ns-offer-duration { font-size: 12px; border-left: 1px solid #a9adae; padding-left: 12px; }
#ns-home .ns-reservation-note { margin-top: 9px; font-size: 12px; line-height: 1.7; color: #eeeeee; }
#ns-home .ns-first-heading h2 { font-size: 28px; line-height: 1.4; letter-spacing: .02em; }
#ns-home .ns-first-reassurance { margin-top: 9px; font-size: 12px; color: var(--ns-muted); line-height: 1.8; }

/* Short labels fit naturally; paragraphs wrap to the actual available space. */
#ns-home .ns-purpose h3 { font-size: clamp(18px, 1.55vw, 21px); letter-spacing: 0; line-height: 1.65; }
#ns-home .ns-purpose-body > p:last-child { font-size: 14px; line-height: 1.9; }
#ns-home .ns-method { grid-template-columns: 235px 1fr; gap: 32px; }
#ns-home .ns-method-intro h3 { font-size: 21px; line-height: 1.65; letter-spacing: .01em; }
#ns-home .ns-standard-copy h3 { line-height: 1.7; letter-spacing: .01em; }
#ns-home .ns-standard-copy > p { font-size: 14px; line-height: 1.9; }
#ns-home .ns-closing h2 { font-size: clamp(27px, 2.4vw, 34px); letter-spacing: .015em; line-height: 1.6; }

/* Portrait and identity together; biography and credentials use the full card. */
#ns-home .ns-trainer { display: block; padding: 26px; background: var(--ns-raised); border: 1px solid var(--ns-line); }
#ns-home .ns-trainer-header { display: grid; grid-template-columns: 138px minmax(0, 1fr); gap: 24px; align-items: center; }
#ns-home .ns-trainer-photo { position: static; }
#ns-home .ns-trainer-photo img { aspect-ratio: .8; object-fit: cover; object-position: center 20%; }
#ns-home .ns-trainer-message { margin-top: 22px; font-size: 14px; line-height: 1.95; }
#ns-home .ns-trainer-details { font-size: 13px; line-height: 1.9; margin-top: 18px; padding-top: 16px; }
#ns-home .ns-trainer-details dd { overflow-wrap: break-word; word-break: normal; }
#ns-home .ns-trainer-details dt { font-size: 11px; margin-top: 15px; }

/* Existing navigation and scroll CTA share the same reservation color on home only. */
body:has(#ns-home) .navBtn,
body:has(#ns-home) .stickyCta__btn { background: #087a3b; color: #ffffff; border-color: #087a3b; box-shadow: 0 4px 14px rgba(0, 48, 22, .14); }
body:has(#ns-home) .navBtn:hover,
body:has(#ns-home) .stickyCta__btn:hover { background: #06632f; color: #ffffff; border-color: #06632f; }

@media (min-width: 701px) and (max-width: 1050px) {
  #ns-home .ns-hero-copy { max-width: 590px; }
  #ns-home .ns-trainer { padding: 20px; }
  #ns-home .ns-trainer-header { grid-template-columns: 104px minmax(0, 1fr); gap: 16px; }
  #ns-home .ns-trainer h3 { font-size: 23px; }
  #ns-home .ns-method { grid-template-columns: 180px 1fr; gap: 25px; }
}
@media (max-width: 700px) {
  #ns-home .ns-hero { min-height: 0; }
  #ns-home .ns-hero-inner { min-height: 0; padding: 20px 0 16px; gap: 18px; }
  #ns-home .ns-store-label { padding-bottom: 13px; }
  #ns-home .ns-hero-copy { padding: 0; width: 100%; }
  #ns-home .ns-hero-kicker { font-size: 11px; margin-bottom: 10px; letter-spacing: .1em; }
  #ns-home .ns-hero h1 { font-size: clamp(32px, 9.8vw, 43px); line-height: 1.42; letter-spacing: .01em; }
  #ns-home .ns-hero-description { margin-top: 14px; font-size: 13px; line-height: 1.85; letter-spacing: 0; }
  #ns-home .ns-hero-description > span { margin-bottom: 5px; }
  #ns-home .ns-hero-reservation { margin-top: 16px; }
  #ns-home .ns-hero-offer { font-size: 12px; gap: 5px 9px; margin-bottom: 10px; }
  #ns-home .ns-hero-offer strong { font-size: 28px; }
  #ns-home .ns-offer-duration { padding-left: 9px; font-size: 11px; }
  #ns-home .ns-button { min-height: 60px; padding: 15px 17px; font-size: 15px; gap: 12px; }
  #ns-home .ns-reservation-note { font-size: 11px; margin-top: 8px; }
  #ns-home .ns-hero-bottom { gap: 8px; }
  #ns-home .ns-first-inner { grid-template-columns: 1fr 1.05fr; gap: 20px 14px; }
  #ns-home .ns-first-heading h2 { font-size: 24px; }
  #ns-home .ns-first-reassurance { font-size: 11px; margin-top: 8px; }
  #ns-home .ns-first-price { padding-left: 14px; }
  #ns-home .ns-first-price .ns-small { font-size: 11px; }
  #ns-home .ns-title, #ns-home .ns-trial .ns-title { font-size: 27px; letter-spacing: .015em; line-height: 1.5; }
  #ns-home .ns-section-lead { margin-top: 16px; }
  #ns-home .ns-purpose h3 { font-size: 21px; letter-spacing: 0; }
  #ns-home .ns-method { display: block; }
  #ns-home .ns-method-intro h3 { font-size: 22px; }
  #ns-home .ns-trainer { padding: 20px; }
  #ns-home .ns-trainer-header { grid-template-columns: 104px minmax(0, 1fr); gap: 16px; }
  #ns-home .ns-trainer h3 { font-size: 23px; letter-spacing: .025em; }
  #ns-home .ns-trainer-role { font-size: 10px; }
  #ns-home .ns-trainer-en { font-size: 9px; letter-spacing: .04em; }
  #ns-home .ns-tags { margin-top: 11px; }
  #ns-home .ns-tags span { font-size: 10px; }
  #ns-home .ns-standard-copy h3 { font-size: 20px; line-height: 1.65; }
  #ns-home .ns-standard-copy ul { flex-direction: column; gap: 11px; font-size: 12px; }
  #ns-home .ns-standard-copy li { padding-top: 8px; }
  #ns-home .ns-closing h2 { font-size: 26px; letter-spacing: 0; }
  #ns-home .ns-price-footer strong { white-space: nowrap; }
}
@media (max-width: 360px) {
  #ns-home .ns-trainer { padding: 16px; }
  #ns-home .ns-trainer-header { grid-template-columns: 95px minmax(0, 1fr); gap: 14px; }
  #ns-home .ns-button { font-size: 14px; padding: 14px; gap: 10px; }
  #ns-home .ns-first-price { padding-left: 12px; }
  #ns-home .ns-title, #ns-home .ns-trial .ns-title { font-size: 25px; }
  #ns-home .ns-closing h2 { font-size: 24px; }
}

/* Append after refined typography and color. Silver / graphite chapter design.
   All surfaces are static: motion is owned by the separate reveal layer.
   Hero, original 3D model, campaign component and reservation mechanics untouched. */
#ns-home {
  --ns-ink: #242424;
  --ns-muted: #4d4d4d;
  --ns-line: #b6b6b6;
  --ns-paper: #e6e6e6;
  --ns-platinum: #e6e6e6;
  --ns-satin: #d5d5d5;
  --ns-raised: #e7e7e7;
  --ns-dark: #252525;
}

/* A confident sans hierarchy below the cinematic serif hero. */
#ns-home .ns-section .ns-title {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif;
  font-weight: 700;
  font-size: clamp(30px, 3.25vw, 42px);
  line-height: 1.45;
  letter-spacing: .005em;
}
#ns-home .ns-purpose h3,
#ns-home .ns-trainer h3,
#ns-home .ns-method-intro h3,
#ns-home .ns-trial-steps h3,
#ns-home .ns-access-intro h3,
#ns-home .ns-reserve h3 {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif;
  font-weight: 700;
  letter-spacing: 0;
}
#ns-home .ns-section .ns-heading-row {
  padding-bottom: 25px;
  border-bottom: 1px solid var(--ns-line);
  margin-bottom: 40px;
}
#ns-home .ns-heading-row .ns-eyebrow { font-weight: 600; letter-spacing: .18em; }
#ns-home .ns-section-lead { color: var(--ns-muted); }

/* Bright metal opens the story. The reflected light is broad and static. */
#ns-home .ns-services {
  background: linear-gradient(115deg, #eeeeee 0%, #dedede 62%, #e6e6e6 100%);
  box-shadow: inset 0 1px rgba(255,255,255,.7);
}
#ns-home .ns-first-session {
  background: linear-gradient(110deg, #d2d2d2 0%, #e6e6e6 45%, #d8d8d8 100%);
  border-color: #a9a9a9;
  box-shadow: inset 0 1px rgba(255,255,255,.65);
}
#ns-home .ns-facts { background: #e0e0e0; border-color: #b9b9b9; }
#ns-home .ns-jump-nav { background: #c9c9c9; border-color: #aaaaaa; }
#ns-home .ns-jump-nav a { font-weight: 600; }
#ns-home .ns-purpose-photo { background: #c6c6c6; box-shadow: 0 10px 28px rgba(0,0,0,.1); }
#ns-home .ns-purpose-photo img { aspect-ratio: 1.28; }
#ns-home .ns-photo-number { background: #e5e5e5; color: #242424; }
#ns-home .ns-purpose-body { padding-top: 23px; }
#ns-home .ns-purpose h3 { font-size: clamp(18px, 1.65vw, 22px); }
#ns-home .ns-purpose-label { color: #4d4d4d; font-weight: 500; }
#ns-home .ns-method { border-color: #a8a8a8; }
#ns-home .ns-method-steps .ns-step-number { color: #555555; }
#ns-home .ns-method-steps h4 { font-weight: 700; }

/* A full graphite chapter makes the people, and then the original 3D, the focus. */
#ns-home .ns-trainers {
  --ns-muted: #c5c5c5;
  --ns-line: #5b5b5b;
  background: #222222;
  color: #f2f2f2;
  box-shadow: inset 0 1px #4c4c4c;
}
#ns-home .ns-trainers > .ns-wrap > .ns-heading-row .ns-eyebrow { color: #bdbdbd; }
#ns-home .ns-trainers > .ns-wrap > .ns-heading-row .ns-section-lead { color: #c5c5c5; }
#ns-home .ns-trainer {
  --ns-muted: #4d4d4d;
  --ns-line: #b7b7b7;
  color: #242424;
  background: linear-gradient(135deg, #ebebeb 0%, #dedede 100%);
  border-color: #bcbcbc;
  padding: 30px;
  box-shadow: 0 16px 35px rgba(0,0,0,.15);
}
#ns-home .ns-trainer-header { grid-template-columns: 156px minmax(0,1fr); gap: 24px; }
#ns-home .ns-trainer-photo { background: #bdbdbd; }
#ns-home .ns-trainer-photo img { aspect-ratio: .76; }
#ns-home .ns-trainer-role,
#ns-home .ns-trainer-en,
#ns-home .ns-trainer-details dt { color: #4d4d4d; }
#ns-home .ns-trainer-message { color: #454545; }
#ns-home .ns-trainer-details { border-color: #b3b3b3; }
#ns-home .ns-tags span { background: #dedede; border-color: #a5a5a5; color: #343434; }
#ns-home .ns-trainer-more .ns-text-link { color: #ededed; border-color: #8c8c8c; }

/* Price returns to a clean silver sheet: numbers carry the emphasis. */
#ns-home .ns-pricing { background: #e7e7e7; box-shadow: inset 0 1px #f7f7f7; }
#ns-home .ns-price-grid { border-top-color: #303030; }
#ns-home .ns-price-value { color: #1f1f1f; }
#ns-home .ns-price-plan h3 { font-weight: 600; }
#ns-home .ns-price-common > p:first-child { font-weight: 700; }

/* Quotes are editorial columns on a deep surface, not another row of pale boxes. */
#ns-home .ns-reviews {
  --ns-muted: #c9c9c9;
  --ns-line: #606060;
  background: #303030;
  color: #f2f2f2;
  box-shadow: inset 0 1px #525252;
}
#ns-home .ns-reviews .ns-eyebrow { color: #bfbfbf; }
#ns-home .ns-reviews .ns-section-lead,
#ns-home .ns-reviews .ns-small { color: #c9c9c9; }
#ns-home .ns-review {
  color: #f2f2f2;
  background: transparent;
  padding: 26px 0 12px;
  border-top: 2px solid #9c9c9c;
  box-shadow: none;
}
#ns-home .ns-review-label { color: #c9c9c9; }
#ns-home .ns-review blockquote { font-size: 20px; line-height: 1.95; }
#ns-home .ns-review-author { color: #bfbfbf; }
#ns-home .ns-review-full { color: #d4d4d4; }
#ns-home .ns-review details { border-color: #676767; }
#ns-home .ns-reviews .ns-text-link { color: #eeeeee; border-color: #999999; }
#ns-home .ns-reviews .ns-details-sign { color: #c5c5c5; }
#ns-home .ns-reviews .ns-results { border-color: #707070; }
#ns-home .ns-reviews .ns-results summary small { color: #c5c5c5; }
#ns-home .ns-results-inner > p:first-child { color: #d2d2d2; }

/* Real studio photographs get a lighter chapter; trial is a firmer silver band. */
#ns-home .ns-access { background: #dfdfdf; }
#ns-home .ns-studio-grid { gap: 30px; }
#ns-home .ns-studio-main img,
#ns-home .ns-studio-exterior img { box-shadow: 0 12px 30px rgba(0,0,0,.11); }
#ns-home .ns-access-info { border-top: 1px solid #b2b2b2; padding-top: 34px; }
#ns-home .ns-trial {
  background: #cecece;
  box-shadow: inset 0 1px #ebebeb, inset 0 -1px #b3b3b3;
}
#ns-home .ns-trial .ns-heading-row { border-color: #a3a3a3; }
#ns-home .ns-trial-preparation { background: #e4e4e4; }
#ns-home .ns-trial-steps > li { border-color: #a3a3a3; }
#ns-home .ns-faq { background: #e8e8e8; }
#ns-home .ns-faq-list summary { font-weight: 600; }
#ns-home .ns-closing { background: #202020; border-top: 1px solid #4c4c4c; }

/* Preserve a single, distinct reservation color against every chapter. */
#ns-home .ns-button-dark,
#ns-home .ns-button-primary,
#ns-home .ns-button-light { color: #ffffff; background: #087a3b; border-color: #076b35; }
#ns-home .ns-button-dark:hover,
#ns-home .ns-button-primary:hover,
#ns-home .ns-button-light:hover { color: #ffffff; background: #06632f; border-color: #05572a; }
#ns-home .ns-closing .ns-button-light,
#ns-home .ns-hero .ns-button-primary { border-color: #89b59c; }
#ns-home .ns-trainers a:focus-visible,
#ns-home .ns-reviews a:focus-visible,
#ns-home .ns-reviews summary:focus-visible { outline-color: #dedede; }

@media (min-width:701px) and (max-width:1050px) {
  #ns-home .ns-trainer { padding: 24px; }
  #ns-home .ns-trainer-header { grid-template-columns: 116px minmax(0,1fr); gap: 18px; }
  #ns-home .ns-trainer h3 { font-size: 23px; }
}
@media (max-width:700px) {
  #ns-home .ns-section .ns-title { font-size: 28px; line-height: 1.5; }
  #ns-home .ns-section .ns-heading-row { padding-bottom: 21px; margin-bottom: 30px; }
  #ns-home .ns-purpose-photo img { aspect-ratio: 1.6; }
  #ns-home .ns-purpose-body { padding-top: 18px; }
  #ns-home .ns-purpose h3 { font-size: 21px; }
  #ns-home .ns-trainer { padding: 22px; box-shadow: 0 10px 24px rgba(0,0,0,.13); }
  #ns-home .ns-trainer-header { grid-template-columns: 116px minmax(0,1fr); gap: 18px; }
  #ns-home .ns-trainer h3 { font-size: 22px; }
  #ns-home .ns-review-grid { gap: 28px; }
  #ns-home .ns-review { padding-top: 22px; }
  #ns-home .ns-review blockquote { font-size: 20px; }
  #ns-home .ns-studio-grid { gap: 27px; }
  #ns-home .ns-access-info { padding-top: 27px; }
}
@media (max-width:360px) {
  #ns-home .ns-section .ns-title { font-size: 25px; }
  #ns-home .ns-trainer { padding: 17px; }
  #ns-home .ns-trainer-header { grid-template-columns: 98px minmax(0,1fr); gap: 14px; }
  #ns-home .ns-trainer h3 { font-size: 21px; }
  #ns-home .ns-purpose h3 { font-size: 20px; }
}

/* Progressive one-time entrances. SSR and observer waiting states stay visible. */
#ns-home [data-ns-enter="active"] {
  animation: ns-home-content-enter var(--ns-enter-duration, 600ms) cubic-bezier(.22, 1, .36, 1) var(--ns-enter-delay, 0ms) both;
  will-change: transform, opacity;
}
@keyframes ns-home-content-enter {
  from { opacity: .16; transform: translate3d(0, var(--ns-enter-distance, 18px), 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}

/* The first proposition and offer are readable from the first frame. */
#ns-home .ns-hero-copy,
#ns-home .ns-first-inner {
  animation: ns-home-first-enter 420ms cubic-bezier(.22, 1, .36, 1) backwards;
}
@keyframes ns-home-first-enter {
  from { transform: translate3d(0, 8px, 0); }
  to { transform: translate3d(0, 0, 0); }
}

#ns-home .ns-purpose-photo img,
#ns-home .ns-trainer-photo img {
  transition: transform 480ms cubic-bezier(.22, 1, .36, 1);
}
@media (hover: hover) and (pointer: fine) {
  #ns-home .ns-purpose-photo:hover img,
  #ns-home .ns-trainer-photo:hover img { transform: scale(1.025); }
}
#ns-home .ns-button .ns-arrow,
#ns-home .ns-text-link > span:last-child {
  transition: transform 200ms cubic-bezier(.22, 1, .36, 1);
}
#ns-home .ns-button:hover .ns-arrow,
#ns-home .ns-button:focus-visible .ns-arrow,
#ns-home .ns-text-link:hover > span:last-child,
#ns-home .ns-text-link:focus-visible > span:last-child { transform: translateX(3px); }

/* Keyboard focus must never wait for a reveal or lose visibility afterward. */
#ns-home [data-ns-enter="active"]:focus-within {
  animation: none !important;
  opacity: 1 !important;
  transform: none !important;
  will-change: auto !important;
}
@media (prefers-reduced-motion: reduce) {
  #ns-home [data-ns-enter="active"],
  #ns-home .ns-hero-copy,
  #ns-home .ns-first-inner {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
    will-change: auto !important;
  }
  #ns-home .ns-purpose-photo img,
  #ns-home .ns-trainer-photo img,
  #ns-home .ns-button .ns-arrow,
  #ns-home .ns-text-link > span:last-child {
    transition: none !important;
    transform: none !important;
  }
}

/* Nishifunabashi cinematic edition. Static layout/material layer only.
   Appended after de8cfd1680fb48df.css. Motion lives in a separate scoped layer. */
#ns-home.ns-cinematic {
  --ns-ink: #222222;
  --ns-muted: #515151;
  --ns-line: #b4b4b4;
  --ns-paper: #dedede;
  --ns-dark: #1c1c1c;
  background: #dedede;
  color: #222222;
  font-size: 15px;
}
#ns-home .ns-wrap { width: min(1240px, calc(100% - 96px)); }
#ns-home .ns-section { padding: 112px 0; }
#ns-home .ns-section .ns-title {
  font-size: clamp(34px, 3.4vw, 50px);
  font-family: "Shippori Mincho B1", "Hiragino Mincho ProN", serif;
  font-weight: 500;
  letter-spacing: .025em;
  line-height: 1.55;
}
#ns-home .ns-title > span,
#ns-home .ns-closing h2 > span { display: block; }
#ns-home .ns-section .ns-heading-row {
  align-items: flex-end;
  border: 0;
  padding: 0;
  margin-bottom: 58px;
  gap: 60px;
}
#ns-home .ns-heading-row > div:first-child { flex: 1 1 55%; }
#ns-home .ns-section-lead { flex: 0 1 380px; font-size: 15px; line-height: 2; }
#ns-home .ns-eyebrow { display: flex; align-items: center; gap: 13px; font-size: 11px; letter-spacing: .16em; margin-bottom: 18px; }
#ns-home .ns-eyebrow::before { content: ""; width: 27px; height: 1px; background: currentColor; flex-shrink: 0; }
#ns-home .ns-button {
  border-radius: 2px;
  min-height: 68px;
  padding: 15px 19px;
  font-size: 15px;
  letter-spacing: .01em;
  position: relative;
  box-shadow: 0 4px 0 #04562a, 0 10px 24px rgba(0,0,0,.15);
}
#ns-home .ns-button .ns-arrow {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border: 1px solid rgba(255,255,255,.45);
  border-radius: 50%;
  font-size: 21px;
  flex: 0 0 34px;
}
#ns-home .ns-button-outline { box-shadow: none; background: transparent; }
#ns-home .ns-button-outline .ns-arrow { border-color: #8c8c8c; }
#ns-home .ns-button-primary,
#ns-home .ns-button-dark,
#ns-home .ns-button-light { background: #087a3b; color: #ffffff; border-color: #076632; }
#ns-home .ns-button-primary:hover,
#ns-home .ns-button-dark:hover,
#ns-home .ns-button-light:hover { background: #06632f; border-color: #04552a; color: #ffffff; }
#ns-home .ns-text-link { gap: 24px; font-size: 13px; font-weight: 500; }

/* The film is the stage. The offer has its own solid, readable metal surface. */
#ns-home .ns-hero { min-height: 720px; height: auto; background: #171717; overflow: hidden; }
#ns-home .ns-hero-inner { width: min(1336px, calc(100% - 96px)); min-height: 720px; height: auto; padding: 28px 0 25px; gap: 0; }
#ns-home .ns-hero-video { object-position: center 42%; }
#ns-home .ns-hero-shade {
  background: linear-gradient(90deg, rgba(8,8,8,.8) 0%, rgba(8,8,8,.38) 48%, rgba(8,8,8,.08) 100%), linear-gradient(0deg, rgba(10,10,10,.72), transparent 65%);
}
#ns-home .ns-store-label { border-bottom: 1px solid rgba(255,255,255,.38); padding-bottom: 20px; gap: 20px; }
#ns-home .ns-store-brand { font-size: 38px; letter-spacing: .02em; }
#ns-home .ns-store-label > span:last-child { font-size: 13px; letter-spacing: .16em; }
#ns-home .ns-hero-stage { display: grid; grid-template-columns: minmax(0,1fr) 354px; align-items: end; gap: 36px; padding: 62px 0 46px; }
#ns-home .ns-hero-copy { width: auto; max-width: none; padding: 0; animation: none; }
#ns-home .ns-hero-kicker { display: flex; flex-direction: column; gap: 8px; font-size: 12px; letter-spacing: .15em; margin-bottom: 26px; }
#ns-home .ns-hero-kicker > span { font-size: 11px; letter-spacing: .28em; color: #d3d3d3; }
#ns-home .ns-hero h1 { font-size: clamp(51px, 5.7vw, 82px); line-height: 1.4; letter-spacing: -.025em; font-weight: 500; text-shadow: 0 3px 25px rgba(0,0,0,.3); }
#ns-home .ns-hero h1 > span { display: block; white-space: nowrap; }
#ns-home .ns-hero-description { margin-top: 30px; max-width: 630px; font-size: 15px; line-height: 2; letter-spacing: .02em; }
#ns-home .ns-hero-description > span:first-child { font-size: 17px; font-weight: 600; margin-bottom: 8px; }
#ns-home .ns-hero-reservation {
  position: relative;
  isolation: isolate;
  margin: 0 0 8px;
  padding: 27px 25px 24px;
  color: #222222;
  background: linear-gradient(125deg, #f1f1f1 0%, #bdbdbd 43%, #e4e4e4 64%, #d0d0d0 100%);
  border: 1px solid #f0f0f0;
  box-shadow: 0 20px 45px rgba(0,0,0,.24), inset 0 0 0 5px rgba(255,255,255,.15);
}
#ns-home .ns-hero-reservation::before { content: "FIRST SESSION"; display: block; font-size: 10px; font-weight: 600; letter-spacing: .2em; padding-bottom: 18px; border-bottom: 1px solid #a2a2a2; margin-bottom: 18px; }
#ns-home .ns-hero-offer { display: grid; grid-template-columns: 1fr auto; gap: 3px 10px; font-size: 14px; margin: 0 0 20px; font-weight: 500; }
#ns-home .ns-hero-offer strong { grid-column: 1 / -1; grid-row: 2; font-size: 58px; line-height: 1.15; letter-spacing: -.035em; white-space: nowrap; color: #202020; }
#ns-home .ns-hero-offer strong > span { font-size: 12px; letter-spacing: 0; margin-left: 6px; }
#ns-home .ns-offer-duration { grid-column: 2; grid-row: 1; align-self: center; font-size: 12px; border: 0; padding: 0; color: #494949; }
#ns-home .ns-hero-reservation .ns-button-primary { width: 100%; font-size: 14px; gap: 9px; min-height: 62px; padding: 13px 14px; border-color: #076632; }
#ns-home .ns-hero-reservation .ns-line-icon { width: 29px; height: 29px; flex-basis: 29px; }
#ns-home .ns-hero-reservation .ns-arrow { width: 28px; height: 28px; flex-basis: 28px; font-size: 18px; }
#ns-home .ns-reservation-note { color: #3e3e3e; font-size: 11px; line-height: 1.9; margin-top: 16px; }
#ns-home .ns-hero-bottom { font-size: 12px; letter-spacing: .12em; border-top: 1px solid rgba(255,255,255,.28); padding-top: 18px; }
#ns-home .ns-hero-wordmark { display: flex; justify-content: center; align-items: center; gap: .22em; overflow: hidden; padding: 11px 20px 16px; background: linear-gradient(115deg,#c7c7c7,#efefef 47%,#bcbcbc); color: #737373; font-family: Cardo, Georgia, serif; font-size: clamp(58px, 7.8vw, 120px); line-height: 1; letter-spacing: -.045em; text-shadow: 0 1px #f3f3f3; white-space: nowrap; border-bottom: 1px solid #adadad; }
#ns-home .ns-hero-wordmark i { font-style: normal; font-size: .5em; opacity: .65; }

/* A specific, low-pressure first step, instead of repeating the same price block. */
#ns-home .ns-first-session { background: #272727; color: #f1f1f1; border: 0; padding: 42px 0; box-shadow: none; }
#ns-home .ns-first-inner { grid-template-columns: 1fr 1.3fr 1.1fr; gap: 38px; animation: none; }
#ns-home .ns-first-heading .ns-eyebrow { color: #c5c5c5; font-size: 10px; }
#ns-home .ns-first-heading h2 { font-size: 27px; line-height: 1.55; letter-spacing: .01em; }
#ns-home .ns-first-heading h2 > span { display: block; }
#ns-home .ns-first-preview { border-left: 1px solid #666666; padding-left: 28px; }
#ns-home .ns-first-preview > p { font-size: 13px; line-height: 2; color: #dedede; }
#ns-home .ns-first-preview ul { display: flex; flex-wrap: wrap; gap: 5px 18px; list-style: none; padding: 0; margin-top: 13px; }
#ns-home .ns-first-preview li { font-size: 11px; color: #f0f0f0; }
#ns-home .ns-first-preview li::before { content: "✓"; margin-right: 6px; color: #d8d8d8; }
#ns-home .ns-first-action .ns-button { font-size: 14px; gap: 9px; padding: 14px; min-height: 62px; }
#ns-home .ns-first-action .ns-line-icon { flex-basis: 28px; width: 28px; height: 28px; }
#ns-home .ns-first-action .ns-arrow { flex-basis: 28px; width: 28px; height: 28px; font-size: 18px; }
#ns-home .ns-first-action .ns-text-link { color: #e3e3e3; margin-top: 8px; font-size: 12px; }
#ns-home .ns-facts { background: #c8c8c8; border-color: #a5a5a5; }
#ns-home .ns-facts-inner { padding: 25px 0; }
#ns-home .ns-facts p { border-color: #9b9b9b; color: #373737; font-size: 12px; }
#ns-home .ns-facts strong { color: #222222; font-size: 17px; font-weight: 600; }
#ns-home .ns-jump-nav { background: #e2e2e2; border-color: #b4b4b4; }
#ns-home .ns-jump-inner { min-height: 66px; }
#ns-home .ns-jump-nav a { font-size: 12px; }

/* One large lead photograph, followed by an offset pair — a visible change of rhythm. */
#ns-home .ns-services { background: #e2e2e2; box-shadow: none; }
#ns-home .ns-purpose-grid { grid-template-columns: 1.08fr .92fr; gap: 64px 64px; align-items: start; }
#ns-home .ns-purpose:first-child { grid-column: 1 / -1; display: grid; grid-template-columns: 1.25fr .75fr; gap: 58px; align-items: center; }
#ns-home .ns-purpose:nth-child(3) { margin-top: 100px; }
#ns-home .ns-purpose-photo { position: relative; overflow: hidden; background: #bcbcbc; box-shadow: 12px 14px 0 #c6c6c6; }
#ns-home .ns-purpose-photo img { width: 100%; aspect-ratio: 1.5; height: auto; object-fit: cover; }
#ns-home .ns-purpose:first-child .ns-purpose-photo img { aspect-ratio: 1.25; }
#ns-home .ns-purpose:nth-child(2) .ns-purpose-photo img { aspect-ratio: 1.3; object-position: 48% 60%; }
#ns-home .ns-purpose:nth-child(3) .ns-purpose-photo img { aspect-ratio: 1.5; }
#ns-home .ns-photo-number { z-index: 3; color: #ffffff; background: #242424; font-size: 42px; width: 80px; padding: 12px 0 8px; text-align: center; border-top: 1px solid #878787; border-right: 1px solid #878787; }
#ns-home .ns-purpose-body { padding-top: 29px; }
#ns-home .ns-purpose:first-child .ns-purpose-body { padding: 0; }
#ns-home .ns-purpose-label { font-size: 11px; font-weight: 500; letter-spacing: .1em; margin-bottom: 15px; color: #505050; }
#ns-home .ns-purpose h3 { font-family: "Shippori Mincho B1", "Hiragino Mincho ProN", serif; font-size: clamp(26px,2.3vw,34px); line-height: 1.65; letter-spacing: .015em; font-weight: 500; }
#ns-home .ns-purpose:first-child h3 { max-width: 10em; }
#ns-home .ns-purpose-body > p:last-child { margin-top: 20px; max-width: 36em; font-size: 15px; line-height: 2.1; color: #4d4d4d; }
#ns-home .ns-method { grid-template-columns: 270px 1fr; gap: 50px; margin-top: 90px; padding: 40px 0; border-color: #a6a6a6; }
#ns-home .ns-method-intro h3 { font-family: "Shippori Mincho B1", serif; font-size: 27px; font-weight: 500; line-height: 1.65; }
#ns-home .ns-method-steps { gap: 28px; }
#ns-home .ns-method-steps .ns-step-number { font-size: 35px; color: #616161; }
#ns-home .ns-method-steps p { font-size: 13px; line-height: 1.95; }
#ns-home .ns-section-foot { font-size: 13px; margin-top: 30px; }

/* People are the proof: generous portraits, clear names, credentials below. */
#ns-home .ns-trainers { background: #1f1f1f; color: #eeeeee; box-shadow: none; }
#ns-home .ns-trainer-grid { gap: 56px; align-items: start; }
#ns-home .ns-trainer { display: block; padding: 0; background: #dcdcdc; border: 1px solid #555555; box-shadow: 0 22px 45px rgba(0,0,0,.2); color: #242424; }
#ns-home .ns-trainer:nth-child(2) { margin-top: 78px; }
#ns-home .ns-trainer-header { display: block; position: relative; height: auto; }
/* Clear the legacy sticky-photo top offset before establishing the curtain layer. */
#ns-home .ns-trainer-photo { position: relative; inset: auto; overflow: hidden; margin: 0; height: auto; }
#ns-home .ns-trainer-photo::before { content: none; }
#ns-home .ns-trainer-photo img { aspect-ratio: 1.1; width: 100%; height: auto; object-fit: cover; object-position: center 22%; }
#ns-home .ns-trainer-info { position: static; z-index: auto; inset: auto; height: auto; color: #242424; padding: 28px 32px 0; }
#ns-home .ns-trainer-role { color: #515151; font-size: 11px; margin-bottom: 9px; }
#ns-home .ns-trainer h3 { color: #222222; font-family: "Shippori Mincho B1", serif; font-size: 34px; line-height: 1.5; letter-spacing: .03em; font-weight: 500; }
#ns-home .ns-trainer-en { color: #555555; font-size: 11px; letter-spacing: .13em; margin-top: 4px; }
#ns-home .ns-tags { margin-top: 17px; gap: 8px; }
#ns-home .ns-tags span { color: #333333; background: #e8e8e8; border: 1px solid #a6a6a6; padding: 4px 9px; font-size: 10px; }
#ns-home .ns-trainer-message { margin: 0; padding: 19px 32px 24px; color: #333333; font-size: 15px; line-height: 2; }
#ns-home .ns-trainer-details { margin: 0 32px 30px; border-top: 1px solid #ababab; padding-top: 20px; color: #393939; font-size: 13px; line-height: 1.95; }
#ns-home .ns-trainer-details dt { color: #535353; font-size: 11px; font-weight: 600; }
#ns-home .ns-trainer-more { margin-top: 36px; }
#ns-home .ns-standard { margin-top: 74px; border: 1px solid #606060; background: linear-gradient(120deg,#2d2d2d,#202020); padding: 45px 48px; }
#ns-home .ns-standard-copy h3 { font-size: 28px; }
#ns-home .ns-standard-copy > p { font-size: 15px; line-height: 2; }

/* Prices stay comparable. No invented popularity or recommendation badge. */
#ns-home .ns-pricing { background: linear-gradient(112deg,#d1d1d1,#ededed 52%,#cacaca); box-shadow: inset 0 1px #f1f1f1; }
#ns-home .ns-price-grid { border: 0; padding: 0; gap: 22px; }
#ns-home .ns-price-plan,
#ns-home .ns-price-plan:first-child { border: 1px solid #aeaeae; padding: 29px 27px 27px; background: #e6e6e6; box-shadow: 0 12px 30px rgba(0,0,0,.07); }
#ns-home .ns-plan-en { font-size: 11px; color: #535353; padding-bottom: 17px; border-bottom: 1px solid #b2b2b2; }
#ns-home .ns-price-plan h3 { margin-top: 21px; font-size: 16px; }
#ns-home .ns-price-plan h3 > span { font-size: 48px; }
#ns-home .ns-price-value { font-size: clamp(40px,3.9vw,56px); line-height: 1.2; margin-top: 22px; color: #202020; }
#ns-home .ns-price-value > span { font-size: 12px; margin-left: 4px; }
#ns-home .ns-unit-price { margin-top: 10px; font-size: 13px; }
#ns-home .ns-plan-note { margin-top: 25px; font-size: 13px; }
#ns-home .ns-price-footer { padding-top: 30px; }
#ns-home .ns-price-note { font-size: 13px; margin-top: 25px; }

#ns-home .ns-reviews { background: #2b2b2b; box-shadow: none; }
#ns-home .ns-review-grid { grid-template-columns: 1.15fr 1fr; gap: 34px 60px; }
#ns-home .ns-review:first-child { grid-row: 1 / span 2; border-top: 0; padding-top: 0; }
#ns-home .ns-review:first-child::before { content: "“"; font-family: Cardo,Georgia,serif; font-size: 112px; height: 75px; line-height: 1; color: #a4a4a4; }
#ns-home .ns-review { padding: 24px 0 0; border-top: 1px solid #737373; }
#ns-home .ns-review blockquote { font-size: 21px; line-height: 1.9; letter-spacing: .015em; }
#ns-home .ns-review:first-child blockquote { font-size: 30px; line-height: 1.85; }
#ns-home .ns-review-label { font-size: 11px; margin-bottom: 20px; }
#ns-home .ns-review-author { font-size: 12px; padding-top: 8px; }
#ns-home .ns-review-full { font-size: 13px; line-height: 2; }
#ns-home .ns-review:first-child .ns-review-author { margin-top: 0; }
#ns-home .ns-results { margin-top: 44px; }

/* The studio picture is a destination; its smaller exterior detail overlaps the edge. */
#ns-home .ns-access { background: #dcdcdc; }
#ns-home .ns-studio-grid { grid-template-columns: 1.45fr 1fr; gap: 0; align-items: center; }
#ns-home .ns-studio-grid figure { position: relative; overflow: hidden; }
#ns-home .ns-studio-main { padding-bottom: 28px; }
#ns-home .ns-studio-main img { aspect-ratio: 1.28; object-fit: cover; box-shadow: none; }
#ns-home .ns-studio-exterior { margin-left: -55px; padding: 12px; background: #dcdcdc; z-index: 1; box-shadow: 0 15px 30px rgba(0,0,0,.13); }
#ns-home .ns-studio-exterior img { aspect-ratio: 1.35; box-shadow: none; }
#ns-home .ns-studio-grid figcaption { font-size: 12px; color: #444444; line-height: 1.8; }
#ns-home .ns-access-info { grid-template-columns: .9fr 1.1fr; margin-top: 35px; padding-top: 44px; gap: 65px; border-top: 1px solid #a4a4a4; }
#ns-home .ns-access-intro h3 { font-family: "Shippori Mincho B1",serif; font-size: 32px; font-weight: 500; }
#ns-home .ns-access-list > div { font-size: 14px; padding: 18px 0; }
#ns-home .ns-access-actions { margin-top: 34px; }

#ns-home .ns-trial { background: #bebebe; box-shadow: inset 0 1px #e4e4e4; }
#ns-home .ns-trial-content { grid-template-columns: 1fr 1fr; gap: 52px; }
#ns-home .ns-trial-photo { display: block; position: relative; overflow: hidden; min-height: 430px; object-fit: cover; object-position: 42% center; }
#ns-home .ns-trial-steps > li { padding: 26px 0; gap: 23px; border-color: #949494; }
#ns-home .ns-trial-steps .ns-step-number { color: #414141; font-size: 36px; }
#ns-home .ns-trial-steps h3 { font-size: 19px; font-weight: 600; line-height: 1.65; }
#ns-home .ns-trial-steps p { font-size: 14px; color: #404040; line-height: 1.95; }
#ns-home .ns-trial-price { border-color: #878787; }
#ns-home .ns-trial-price > p { font-size: 70px; color: #202020; }
#ns-home .ns-trial-price > span:last-child { color: #434343; }
#ns-home .ns-trial-preparation { background: #dedede; padding: 23px 28px; font-size: 13px; margin-top: 35px; }
#ns-home .ns-reserve { padding-top: 32px; margin-top: 0; }
#ns-home .ns-reserve h3 { font-size: 22px; }
#ns-home .ns-reserve p { font-size: 14px; color: #404040; }
#ns-home .ns-faq { background: #e2e2e2; }
#ns-home .ns-faq-layout { grid-template-columns: .85fr 1.15fr; gap: 70px; }
#ns-home .ns-faq-list summary { font-size: 16px; min-height: 86px; }
#ns-home .ns-faq-list details > p { font-size: 14px; }
#ns-home .ns-closing { background: linear-gradient(115deg,#1c1c1c,#363636); padding: 92px 0; border: 0; }
#ns-home .ns-closing-inner { grid-template-columns: 1.25fr .85fr; gap: 75px; }
#ns-home .ns-closing h2 { font-size: clamp(32px,3vw,44px); line-height: 1.65; }
#ns-home .ns-closing h2 + p { font-size: 17px; }
#ns-home .ns-closing h2 + p > span { font-size: 12px; }
#ns-home .ns-closing .ns-button { width: 100%; }

@media (max-width:1100px) {
  #ns-home .ns-wrap { width: calc(100% - 64px); }
  #ns-home .ns-hero-inner { width: calc(100% - 64px); }
  #ns-home .ns-hero-stage { grid-template-columns: minmax(0,1fr) 320px; gap: 25px; }
  #ns-home .ns-hero h1 { font-size: clamp(44px,5.1vw,62px); }
  #ns-home .ns-hero-reservation { padding: 23px 20px; }
  #ns-home .ns-hero-reservation .ns-button-primary { font-size: 13px; }
  #ns-home .ns-first-inner { grid-template-columns: 1fr 1.35fr; gap: 25px; }
  #ns-home .ns-first-action { grid-column: 1 / -1; display: flex; flex-direction: row; justify-content: flex-end; gap: 28px; align-items: center; }
  #ns-home .ns-first-action .ns-button { max-width: 350px; }
  #ns-home .ns-first-action .ns-text-link { white-space: nowrap; margin: 0; }
  #ns-home .ns-purpose-grid { gap: 50px; }
  #ns-home .ns-purpose:first-child { gap: 35px; }
  #ns-home .ns-purpose h3 { font-size: 27px; }
  #ns-home .ns-trainer-grid { gap: 32px; }
  #ns-home .ns-trainer-info { padding: 25px 25px 0; }
  #ns-home .ns-trainer-message { padding: 18px 25px 25px; }
  #ns-home .ns-trainer-details { margin: 0 25px 26px; }
  #ns-home .ns-price-grid { gap: 16px; }
  #ns-home .ns-price-plan,#ns-home .ns-price-plan:first-child { padding: 24px 19px; }
  #ns-home .ns-price-value { font-size: 43px; }
  #ns-home .ns-review-grid { gap: 30px 40px; }
  #ns-home .ns-review:first-child blockquote { font-size: 26px; }
  #ns-home .ns-trial-content { gap: 32px; }
  #ns-home .ns-trial-steps h3 { font-size: 17px; }
}
@media (min-width:701px) and (max-width:900px) {
  #ns-home .ns-hero { min-height: 820px; }
  #ns-home .ns-hero-inner { min-height: 820px; }
  #ns-home .ns-hero-stage { grid-template-columns: 1fr; padding: 36px 0; gap: 25px; }
  #ns-home .ns-hero-copy { max-width: 100%; }
  #ns-home .ns-hero h1 { font-size: 60px; }
  #ns-home .ns-hero-reservation { width: min(100%,600px); display: grid; grid-template-columns: .9fr 1.1fr; gap: 8px 25px; align-items: center; }
  #ns-home .ns-hero-reservation::before { grid-column: 1; border: 0; padding: 0; margin: 0; }
  #ns-home .ns-hero-offer { grid-column: 1; grid-row: 2; margin: 0; }
  #ns-home .ns-hero-offer strong { font-size: 48px; }
  #ns-home .ns-hero-reservation .ns-button-primary { grid-column: 2; grid-row: 1 / 3; }
  #ns-home .ns-hero-reservation .ns-reservation-note { grid-column: 2; grid-row: 3; margin: 0; }
  #ns-home .ns-hero-reservation .ns-text-unit { display: inline; }
  #ns-home .ns-method { grid-template-columns: 1fr; gap: 28px; }
  #ns-home .ns-price-value { font-size: 36px; }
  #ns-home .ns-price-value > span { display: block; margin-top: 3px; }
  #ns-home .ns-trainer h3 { font-size: 28px; }
  #ns-home .ns-trainer-photo img { aspect-ratio: .85; }
  #ns-home .ns-standard { padding: 32px; gap: 28px; }
  #ns-home .ns-standard-copy h3 { font-size: 23px; }
  #ns-home .ns-trial .ns-heading-row { align-items: center; }
  #ns-home .ns-trial .ns-title { font-size: 30px; }
  #ns-home .ns-trial-photo { min-height: 470px; }
  #ns-home .ns-faq-layout { gap: 40px; }
  #ns-home .ns-closing-inner { gap: 35px; }
}
@media (max-width:700px) {
  #ns-home .ns-wrap { width: calc(100% - 40px); }
  #ns-home .ns-section { padding: 72px 0; }
  #ns-home .ns-section .ns-title { font-size: 31px; line-height: 1.55; letter-spacing: .005em; }
  #ns-home .ns-section .ns-heading-row { display: block; margin-bottom: 34px; padding: 0; }
  #ns-home .ns-section-lead { margin-top: 20px; font-size: 14px; line-height: 1.95; }
  #ns-home .ns-eyebrow { font-size: 10px; gap: 10px; margin-bottom: 14px; }
  #ns-home .ns-eyebrow::before { width: 22px; }
  #ns-home .ns-button { min-height: 62px; padding: 14px 16px; font-size: 14px; gap: 10px; }
  #ns-home .ns-button .ns-arrow { width: 30px; height: 30px; flex-basis: 30px; font-size: 19px; }
  #ns-home .ns-hero { min-height: 0; overflow: hidden; }
  #ns-home .ns-hero-inner { width: 100%; min-height: 0; padding: 0; gap: 0; }
  #ns-home .ns-store-label { margin: 0 22px; padding: 22px 0 16px; gap: 17px; }
  #ns-home .ns-store-brand { font-size: 32px; }
  #ns-home .ns-store-label > span:last-child { font-size: 12px; }
  #ns-home .ns-hero-stage { display: block; padding: 0; }
  #ns-home .ns-hero-copy { min-height: 370px; padding: 42px 22px 35px; display: flex; flex-direction: column; justify-content: center; }
  #ns-home .ns-hero-kicker { gap: 6px; margin-bottom: 20px; font-size: 11px; letter-spacing: .12em; }
  #ns-home .ns-hero-kicker > span { font-size: 9px; letter-spacing: .22em; }
  #ns-home .ns-hero h1 { font-size: clamp(32px,10.2vw,58px); letter-spacing: -.035em; line-height: 1.48; }
  #ns-home .ns-hero-description { font-size: 13px; margin-top: 23px; letter-spacing: 0; line-height: 1.9; }
  #ns-home .ns-hero-description > span:first-child { font-size: 14px; font-weight: 600; margin-bottom: 5px; }
  #ns-home .ns-hero-description > .ns-text-unit { display: inline-block; }
  #ns-home .ns-hero-shade { background: linear-gradient(90deg,rgba(0,0,0,.68),rgba(0,0,0,.15)), linear-gradient(0deg,rgba(0,0,0,.65),transparent 82%); }
  #ns-home .ns-hero-film { height: 490px; }
  #ns-home .ns-hero-video { object-position: center 35%; }
  #ns-home .ns-hero-reservation { margin: 0; border: 0; border-top: 1px solid #f0f0f0; padding: 20px 22px 22px; box-shadow: inset 0 4px rgba(255,255,255,.2); }
  #ns-home .ns-hero-reservation::before { display: none; }
  #ns-home .ns-hero-offer { display: flex; flex-wrap: nowrap; align-items: baseline; justify-content: space-between; font-size: 12px; gap: 8px; margin-bottom: 15px; }
  #ns-home .ns-hero-offer strong { font-size: 41px; line-height: 1; }
  #ns-home .ns-hero-offer strong > span { font-size: 10px; margin-left: 3px; }
  #ns-home .ns-offer-duration { font-size: 11px; white-space: nowrap; align-self: auto; }
  #ns-home .ns-hero-reservation .ns-button-primary { font-size: 15px; min-height: 62px; gap: 11px; padding: 14px 16px; }
  #ns-home .ns-hero-reservation .ns-line-icon { width: 30px; height: 30px; flex-basis: 30px; }
  #ns-home .ns-reservation-note { margin-top: 12px; font-size: 11px; line-height: 1.75; }
  #ns-home .ns-hero-bottom { padding: 13px 22px; font-size: 10px; background: #222222; border: 0; }
  #ns-home .ns-hero-wordmark { font-size: clamp(31px,8.2vw,58px); gap: .22em; padding: 15px 12px; }
  #ns-home .ns-first-session { padding: 34px 0; }
  #ns-home .ns-first-inner { display: grid; grid-template-columns: 1fr; gap: 20px; }
  #ns-home .ns-first-heading h2 { font-size: 27px; }
  #ns-home .ns-first-heading h2 > span { display: inline-block; }
  #ns-home .ns-first-preview { border: 0; padding: 0; }
  #ns-home .ns-first-preview > p { font-size: 14px; line-height: 1.9; }
  #ns-home .ns-first-preview ul { gap: 5px 14px; margin-top: 10px; }
  #ns-home .ns-first-preview li { font-size: 11px; }
  #ns-home .ns-first-action { display: flex; flex-direction: column; align-items: stretch; gap: 5px; margin-top: 3px; }
  #ns-home .ns-first-action .ns-button { max-width: none; font-size: 14px; }
  #ns-home .ns-first-action .ns-text-link { align-self: flex-end; margin-top: 4px; }
  #ns-home .ns-facts-inner { padding: 20px 0; grid-template-columns: .9fr 1.2fr 1fr; width: calc(100% - 32px); }
  #ns-home .ns-facts p { font-size: 10px; }
  #ns-home .ns-facts strong { font-size: 14px; }
  #ns-home .ns-facts p > span { font-size: 10px; margin: 0; display: block; }
  #ns-home .ns-jump-inner { gap: 0; min-height: 57px; justify-content: space-between; width: calc(100% - 36px); }
  #ns-home .ns-jump-nav a { font-size: 10px; padding: 17px 0; }
  #ns-home .ns-jump-nav a::after { display: none; }
  #ns-home .ns-purpose-grid { display: block; }
  #ns-home .ns-purpose { margin: 0 0 42px; }
  #ns-home .ns-purpose:first-child { display: block; }
  #ns-home .ns-purpose:nth-child(3) { margin-top: 0; margin-bottom: 0; }
  #ns-home .ns-purpose-photo { box-shadow: 7px 8px 0 #c5c5c5; }
  #ns-home .ns-purpose-photo img,
  #ns-home .ns-purpose:first-child .ns-purpose-photo img,
  #ns-home .ns-purpose:nth-child(2) .ns-purpose-photo img,
  #ns-home .ns-purpose:nth-child(3) .ns-purpose-photo img { aspect-ratio: 1.35; }
  #ns-home .ns-photo-number { width: 64px; padding: 8px 0 6px; font-size: 34px; }
  #ns-home .ns-purpose-body,#ns-home .ns-purpose:first-child .ns-purpose-body { padding: 24px 0 0; }
  #ns-home .ns-purpose-label { font-size: 10px; margin-bottom: 9px; }
  #ns-home .ns-purpose h3 { font-size: 25px; letter-spacing: 0; line-height: 1.6; }
  #ns-home .ns-purpose:first-child h3 { max-width: none; }
  #ns-home .ns-purpose-body > p:last-child { margin-top: 13px; font-size: 14px; line-height: 1.95; }
  #ns-home .ns-method { display: block; margin-top: 48px; padding: 29px 0; }
  #ns-home .ns-method-intro h3 { font-size: 25px; }
  #ns-home .ns-method-steps { display: block; margin-top: 25px; }
  #ns-home .ns-method-steps li { display: grid; grid-template-columns: 35px 1fr; gap: 15px; margin-top: 20px; }
  #ns-home .ns-method-steps .ns-step-number { font-size: 29px; padding-top: 3px; }
  #ns-home .ns-method-steps h4 { margin: 0 0 5px; font-size: 16px; }
  #ns-home .ns-method-steps p { font-size: 13px; }
  #ns-home .ns-section-foot { display: flex; align-items: flex-start; flex-direction: column; gap: 12px; font-size: 12px; }
  #ns-home .ns-section-foot .ns-text-link { align-self: flex-end; }
  #ns-home .ns-trainer-grid { display: grid; grid-template-columns: 1fr; gap: 34px; }
  #ns-home .ns-trainer { padding: 0; }
  #ns-home .ns-trainer:nth-child(2) { margin-top: 0; }
  #ns-home .ns-trainer-header { display: block; }
  #ns-home .ns-trainer-photo img { aspect-ratio: 1; object-position: center 23%; }
  #ns-home .ns-trainer-info { padding: 23px 23px 0; }
  #ns-home .ns-trainer-role { font-size: 10px; margin-bottom: 5px; }
  #ns-home .ns-trainer h3 { font-size: 30px; letter-spacing: .025em; }
  #ns-home .ns-trainer-en { font-size: 10px; letter-spacing: .1em; }
  #ns-home .ns-tags { margin-top: 12px; }
  #ns-home .ns-tags span { font-size: 10px; padding: 3px 8px; }
  #ns-home .ns-trainer-message { padding: 18px 23px 21px; font-size: 14px; line-height: 1.95; }
  #ns-home .ns-trainer-details { margin: 0 23px 24px; padding-top: 18px; font-size: 13px; }
  #ns-home .ns-trainer-details dt { font-size: 11px; }
  #ns-home .ns-trainer-more { margin-top: 27px; }
  #ns-home .ns-trainer-more .ns-text-link { font-size: 12px; }
  #ns-home .ns-standard { margin-top: 45px; padding: 28px 23px; gap: 26px; }
  #ns-home .ns-standard-copy h3 { font-size: 23px; }
  #ns-home .ns-standard-copy > p { font-size: 14px; }
  #ns-home .ns-price-common { margin-top: 22px; }
  #ns-home .ns-price-grid { display: block; }
  #ns-home .ns-price-plan,#ns-home .ns-price-plan:first-child { display: grid; grid-template-columns: .85fr 1.15fr; gap: 0 10px; padding: 23px 19px; border: 1px solid #ababab; margin-bottom: 14px; }
  #ns-home .ns-plan-en { grid-column: 1; grid-row: 1; border: 0; padding: 0; font-size: 9px; }
  #ns-home .ns-price-plan h3 { grid-column: 1; grid-row: 2; margin-top: 7px; font-size: 14px; }
  #ns-home .ns-price-plan h3 > span { font-size: 36px; padding: 0 6px; }
  #ns-home .ns-price-value { grid-column: 2; grid-row: 1 / 3; margin: 0; justify-self: end; align-self: center; font-size: 37px; white-space: nowrap; }
  #ns-home .ns-price-value > span { font-size: 9px; margin-left: 3px; }
  #ns-home .ns-unit-price { grid-column: 2; grid-row: 3; margin-top: 3px; font-size: 11px; justify-self: end; }
  #ns-home .ns-plan-note { grid-column: 1 / -1; grid-row: 4; margin-top: 15px; font-size: 12px; }
  #ns-home .ns-price-footer { padding-top: 13px; }
  #ns-home .ns-price-note { font-size: 12px; margin-top: 17px; }
  #ns-home .ns-review-grid { display: block; }
  #ns-home .ns-review { margin-top: 28px; padding-top: 22px; }
  #ns-home .ns-review:first-child { padding-top: 0; margin-top: 0; }
  #ns-home .ns-review:first-child::before { font-size: 86px; height: 56px; }
  #ns-home .ns-review blockquote { font-size: 21px; }
  #ns-home .ns-review:first-child blockquote { font-size: 26px; line-height: 1.8; }
  #ns-home .ns-review-label { font-size: 10px; margin-bottom: 15px; }
  #ns-home .ns-review-author { font-size: 11px; }
  #ns-home .ns-review-full { font-size: 13px; }
  #ns-home .ns-results { margin-top: 28px; }
  #ns-home .ns-studio-grid { display: block; }
  #ns-home .ns-studio-main { padding-bottom: 0; }
  #ns-home .ns-studio-main img { aspect-ratio: 1.15; }
  #ns-home .ns-studio-exterior { width: 86%; margin: 30px 0 0 auto; padding: 9px; }
  #ns-home .ns-studio-exterior img { aspect-ratio: 1.4; }
  #ns-home .ns-studio-grid figcaption { font-size: 11px; }
  #ns-home .ns-access-info { grid-template-columns: 1fr; gap: 25px; margin-top: 35px; padding-top: 28px; }
  #ns-home .ns-access-intro h3 { font-size: 28px; }
  #ns-home .ns-access-list > div { font-size: 13px; padding: 15px 0; gap: 15px; }
  #ns-home .ns-access-actions { margin-top: 24px; }
  #ns-home .ns-trial .ns-title { font-size: 29px; }
  #ns-home .ns-trial-price { margin-top: 25px; padding-left: 20px; }
  #ns-home .ns-trial-price > p { font-size: 58px; }
  #ns-home .ns-trial-content { grid-template-columns: 1fr; gap: 30px; }
  #ns-home .ns-trial-photo { min-height: 0; height: auto; aspect-ratio: 1.32; object-position: center; }
  #ns-home .ns-trial-steps > li { padding: 22px 0; gap: 17px; }
  #ns-home .ns-trial-steps .ns-step-number { font-size: 31px; }
  #ns-home .ns-trial-steps h3 { font-size: 17px; line-height: 1.65; }
  #ns-home .ns-trial-steps p { font-size: 14px; }
  #ns-home .ns-trial-preparation { padding: 21px; margin-top: 26px; font-size: 12px; }
  #ns-home .ns-reserve { display: grid; grid-template-columns: 1fr; gap: 22px; padding-top: 29px; margin-top: 0; }
  #ns-home .ns-reserve h3 { font-size: 20px; }
  #ns-home .ns-reserve p { font-size: 13px; }
  #ns-home .ns-reserve .ns-button { min-width: 0; width: 100%; }
  #ns-home .ns-faq-layout { grid-template-columns: 1fr; gap: 30px; }
  #ns-home .ns-faq-list summary { font-size: 14px; min-height: 80px; }
  #ns-home .ns-faq-list details > p { font-size: 13px; }
  #ns-home .ns-closing { padding: 64px 0 50px; }
  #ns-home .ns-closing-inner { grid-template-columns: 1fr; gap: 30px; }
  #ns-home .ns-closing h2 { font-size: 29px; line-height: 1.7; letter-spacing: 0; }
  #ns-home .ns-closing h2 + p { font-size: 16px; margin-top: 24px; }
  #ns-home .ns-closing h2 + p > span { font-size: 11px; }
}
@media (max-width:360px) {
  #ns-home .ns-wrap { width: calc(100% - 32px); }
  #ns-home .ns-section .ns-title { font-size: 28px; }
  #ns-home .ns-store-label { margin-inline: 18px; }
  #ns-home .ns-hero-copy { padding: 34px 18px 31px; min-height: 350px; }
  #ns-home .ns-hero h1 { font-size: 36px; }
  #ns-home .ns-hero-description { font-size: 12px; }
  #ns-home .ns-hero-description > span:first-child { font-size: 13px; }
  #ns-home .ns-hero-reservation { padding: 19px 18px 21px; }
  #ns-home .ns-hero-offer { gap: 6px; font-size: 11px; }
  #ns-home .ns-hero-offer strong { font-size: 36px; }
  #ns-home .ns-hero-offer strong > span { font-size: 9px; }
  #ns-home .ns-hero-reservation .ns-button-primary { font-size: 14px; }
  #ns-home .ns-first-heading h2 { font-size: 25px; }
  #ns-home .ns-purpose h3 { font-size: 23px; }
  #ns-home .ns-trainer-info { padding: 22px 20px 0; }
  #ns-home .ns-trainer h3 { font-size: 28px; }
  #ns-home .ns-trainer-message { padding: 18px 20px 22px; }
  #ns-home .ns-trainer-details { margin: 0 20px 22px; }
  #ns-home .ns-price-plan,#ns-home .ns-price-plan:first-child { padding: 21px 15px; }
  #ns-home .ns-price-value { font-size: 34px; }
  #ns-home .ns-trial .ns-title { font-size: 26px; }
  #ns-home .ns-closing h2 { font-size: 26px; }
}
@media (max-width:330px) {
  #ns-home .ns-hero h1 { font-size: 32px; }
  #ns-home .ns-hero-offer strong { font-size: 32px; }
  #ns-home .ns-hero-offer strong > span { font-size: 8px; }
  #ns-home .ns-offer-duration { font-size: 10px; }
  #ns-home .ns-hero-reservation .ns-button-primary { font-size: 12px; }
  #ns-home .ns-first-action .ns-button { font-size: 12px; }
  #ns-home .ns-section .ns-title { font-size: 25px; }
  #ns-home .ns-price-value { font-size: 29px; }
  #ns-home .ns-price-value > span { font-size: 8px; }
  #ns-home .ns-price-plan h3 > span { font-size: 31px; }
}

/* Keep Japanese meaning units together at narrow widths. */
#ns-home .ns-heading-unit { display: inline-block; white-space: nowrap; }
#ns-home .ns-trial .ns-eyebrow { color: #494949; }
@media (min-width:701px) and (max-width:900px) {
  #ns-home .ns-section .ns-heading-row { display: block; }
  #ns-home .ns-heading-row .ns-section-lead { max-width: 520px; margin-top: 22px; }
  #ns-home .ns-trial-price { margin-top: 25px; }
}

/* One-time editorial motion. Append after the previous motion layer.
   The page, images and controls remain visible before JS, on errors and after cleanup. */
#ns-home .ns-hero-copy,
#ns-home .ns-first-inner,
#ns-home [data-ns-enter="active"] { animation: none; }

/* Staged hero entrance. The offer never changes opacity. */
#ns-home[data-ns-intro="active"] .ns-store-label {
  animation: ns-cinematic-hero-label 800ms cubic-bezier(.16,1,.3,1) both;
  will-change: transform;
}
#ns-home[data-ns-intro="active"] #ns-hero-title > span {
  animation: ns-cinematic-hero-line 1050ms cubic-bezier(.16,1,.3,1) both;
  will-change: transform, opacity;
}
#ns-home[data-ns-intro="active"] #ns-hero-title > span:nth-child(2) { animation-delay: 160ms; }
#ns-home[data-ns-intro="active"] .ns-hero-reservation {
  animation: ns-cinematic-offer 950ms cubic-bezier(.16,1,.3,1) 180ms both;
  will-change: transform;
}
#ns-home[data-ns-intro="active"] .ns-hero-wordmark {
  animation: ns-cinematic-wordmark 1300ms cubic-bezier(.16,1,.3,1) both;
  will-change: transform;
}
@keyframes ns-cinematic-hero-label {
  from { transform: translate3d(0,-14px,0); }
  to { transform: translate3d(0,0,0); }
}
@keyframes ns-cinematic-hero-line {
  from { opacity: .72; transform: translate3d(0,34px,0); }
  to { opacity: 1; transform: translate3d(0,0,0); }
}
@keyframes ns-cinematic-offer {
  from { transform: translate3d(0,28px,0); }
  to { transform: translate3d(0,0,0); }
}
@keyframes ns-cinematic-wordmark {
  from { transform: translate3d(54px,0,0); }
  to { transform: translate3d(0,0,0); }
}

/* Text and photographic reveals use distinct choreography. */
#ns-home [data-ns-reveal] { --ns-reveal-delay: 0ms; }
#ns-home [data-ns-reveal][data-ns-order="1"] { --ns-reveal-delay: 90ms; }
#ns-home [data-ns-reveal][data-ns-order="2"] { --ns-reveal-delay: 180ms; }
#ns-home [data-ns-reveal="copy"] {
  animation: ns-cinematic-copy 720ms cubic-bezier(.16,1,.3,1) var(--ns-reveal-delay) both;
  will-change: transform, opacity;
}
@keyframes ns-cinematic-copy {
  from { opacity: .28; transform: translate3d(0,30px,0); }
  to { opacity: 1; transform: translate3d(0,0,0); }
}

/* A silver screen rolls away once, while the real photograph settles into its frame. */
#ns-home [data-ns-reveal="photo"]::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(115deg,#c1c1bf 0%,#eeeeeb 37%,#a7a7a5 78%,#d4d4d1 100%);
  transform-origin: right center;
  animation: ns-cinematic-curtain 1080ms cubic-bezier(.76,0,.24,1) var(--ns-reveal-delay) both;
  will-change: transform;
}
#ns-home [data-ns-reveal="photo"] > img,
#ns-home [data-ns-reveal="image"] {
  animation: ns-cinematic-image 1080ms cubic-bezier(.16,1,.3,1) var(--ns-reveal-delay) both;
  will-change: transform;
}
@keyframes ns-cinematic-curtain {
  0% { transform: scaleX(1); }
  12% { transform: scaleX(1); }
  84%,100% { transform: scaleX(0); }
}
@keyframes ns-cinematic-image {
  from { transform: translate3d(0,10px,0) scale(1.09); }
  to { transform: translate3d(0,0,0) scale(1); }
}

/* Fine-pointer hover has a photographic response and a clearly moving CTA arrow.
   No hover-only information; touch receives the same complete content. */
#ns-home .ns-purpose-photo > img,
#ns-home .ns-trainer-photo > img,
#ns-home .ns-studio-grid figure > img { transition: transform 850ms cubic-bezier(.16,1,.3,1); }
#ns-home .ns-button { position: relative; overflow: hidden; isolation: isolate; }
#ns-home .ns-button > span { position: relative; z-index: 1; }
#ns-home .ns-button::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background: linear-gradient(110deg,transparent 20%,rgba(255,255,255,.08) 50%,transparent 80%);
  transform: translateX(-115%);
  transition: transform 650ms cubic-bezier(.22,1,.36,1);
}
#ns-home .ns-button .ns-arrow,
#ns-home .ns-text-link > span:last-child {
  transition: transform 350ms cubic-bezier(.16,1,.3,1);
}
@media (hover:hover) and (pointer:fine) {
  #ns-home .ns-purpose-photo:not([data-ns-reveal]):hover > img,
  #ns-home .ns-trainer-photo:not([data-ns-reveal]):hover > img,
  #ns-home .ns-studio-grid figure:not([data-ns-reveal]):hover > img { transform: scale(1.045); }
  #ns-home .ns-button:hover::before { transform: translateX(115%); }
  #ns-home .ns-button:hover .ns-arrow { transform: translate3d(5px,-3px,0); }
  #ns-home .ns-text-link:hover > span:last-child { transform: translateX(6px); }
}
#ns-home .ns-button:focus-visible::before { transform: translateX(115%); }
#ns-home .ns-button:focus-visible .ns-arrow { transform: translate3d(5px,-3px,0); }
#ns-home .ns-text-link:focus-visible > span:last-child { transform: translateX(6px); }

/* Content with keyboard focus must be immediately stable and readable. */
#ns-home [data-ns-reveal]:focus-within,
#ns-home [data-ns-reveal]:focus-within > img {
  animation: none !important;
  opacity: 1 !important;
  transform: none !important;
  will-change: auto !important;
}
#ns-home [data-ns-reveal]:focus-within::after { content: none; animation: none !important; }

@media (prefers-reduced-motion:reduce) {
  #ns-home[data-ns-intro] .ns-store-label,
  #ns-home[data-ns-intro] #ns-hero-title > span,
  #ns-home[data-ns-intro] .ns-hero-reservation,
  #ns-home[data-ns-intro] .ns-hero-wordmark,
  #ns-home [data-ns-reveal],
  #ns-home [data-ns-reveal] > img {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
    will-change: auto !important;
  }
  #ns-home [data-ns-reveal="photo"]::after { content: none; animation: none !important; }
  #ns-home .ns-purpose-photo > img,
  #ns-home .ns-trainer-photo > img,
  #ns-home .ns-studio-grid figure > img,
  #ns-home .ns-button::before,
  #ns-home .ns-button .ns-arrow,
  #ns-home .ns-text-link > span:last-child {
    transition: none !important;
    transform: none !important;
  }
  #ns-home .ns-button::before { content: none; }
}

/* STLiNE Nishifunabashi — machined silver, photographic depth.
   Homepage-only material layer. No content, video, original 300H model or CTA
   selectors. Photographic ::after remains reserved for the existing reveal. */
#ns-home.ns-cinematic {
  --ns-metal-edge: #959595;
  --ns-metal-highlight: #f4f4f4;
  --ns-metal-shadow: rgba(24, 29, 32, .19);
}

/* Light comes from the upper left. A solid lower edge gives the offer weight. */
#ns-home .ns-hero-reservation {
  border: 1px solid #f0f0f0;
  border-bottom-color: #a6a6a6;
  border-radius: 3px;
  background: linear-gradient(124deg, #f0f0f0 0%, #c4c4c4 36%, #e7e7e7 58%, #c5c5c5 100%);
  box-shadow: inset 0 2px 0 rgba(255,255,255,.85),
    inset 2px 0 0 rgba(255,255,255,.25),
    inset 0 -2px 0 rgba(89,98,102,.22),
    0 8px 0 #808080, 0 10px 0 #3e3e3e,
    0 24px 40px rgba(0,0,0,.4);
}
#ns-home .ns-hero-reservation::before {
  color: #484848;
  border-bottom-color: #939393;
  text-shadow: 0 1px 0 rgba(255,255,255,.7);
}
#ns-home .ns-hero-offer strong {
  text-shadow: 0 1px 0 #f6f6f6;
}
#ns-home .ns-hero-wordmark {
  background: linear-gradient(113deg,#a4a4a4 0%,#e8e8e8 26%,#c7c7c7 53%,#eaeaea 77%,#a3a3a3 100%);
  color: #646464;
  border-top: 1px solid #f3f3f3;
  border-bottom: 3px solid #797979;
  box-shadow: inset 0 2px 0 rgba(255,255,255,.5), inset 0 -1px 0 #e6e6e6;
  text-shadow: 0 1px 0 #ffffff, 0 -1px 0 rgba(27,34,38,.32);
}

/* Open editorial sections alternate with substantial dark stages. */
#ns-home .ns-first-session {
  background: radial-gradient(ellipse at 12% 0%, #414141 0%, transparent 62%), #272727;
  box-shadow: inset 0 1px 0 #6a6a6a, inset 0 -1px 0 #161616;
}
#ns-home .ns-facts {
  background: linear-gradient(110deg,#c4c4c4,#e4e4e4 46%,#bebebe);
  border-top-color: #f2f2f2;
  border-bottom-color: #989898;
  box-shadow: inset 0 -3px 0 rgba(71,82,88,.08);
}
#ns-home .ns-jump-nav {
  background: #dedede;
  border-top-color: #f3f3f3;
  border-bottom-color: #a9a9a9;
  box-shadow: 0 5px 10px rgba(33,42,47,.06);
}
#ns-home .ns-services {
  background: linear-gradient(124deg,#d5d5d5 0%,#e6e6e6 42%,#cdcdcd 100%);
}
#ns-home .ns-trainers {
  background: radial-gradient(ellipse at 78% 12%,#404040 0%,transparent 56%), #222222;
  border-top: 1px solid #797979;
  box-shadow: inset 0 2px 0 rgba(255,255,255,.08), inset 0 -1px 0 #151515;
}
#ns-home .ns-pricing {
  background: linear-gradient(124deg,#c3c3c3 0%,#e9e9e9 43%,#cdcdcd 100%);
  border-top: 1px solid #f1f1f1;
  border-bottom: 1px solid #979797;
  box-shadow: inset 0 6px 0 rgba(255,255,255,.22), inset 0 -1px 0 rgba(255,255,255,.6);
}
#ns-home .ns-reviews {
  background: radial-gradient(ellipse at 0% 4%, #424242 0%, transparent 56%), #2a2a2a;
  border-top: 1px solid #7c7c7c;
  box-shadow: inset 0 2px 0 rgba(255,255,255,.09);
}
#ns-home .ns-access {
  background: linear-gradient(115deg,#d2d2d2,#e5e5e5 52%,#d0d0d0);
  border-top: 1px solid #f1f1f1;
}
#ns-home .ns-trial {
  background: linear-gradient(126deg,#bebebe,#dadada 48%,#bebebe);
  border-top: 1px solid #f1f1f1;
  border-bottom: 1px solid #9d9d9d;
  box-shadow: inset 0 6px 0 rgba(255,255,255,.18);
}
#ns-home .ns-faq { background: #e0e0e0; }
#ns-home .ns-closing {
  background: radial-gradient(ellipse at 80% 0%,#505050 0%,transparent 58%), #232323;
  border-top: 1px solid #999999;
  box-shadow: inset 0 2px 0 rgba(255,255,255,.12);
}

/* Real photographs sit on a tangible silver backing, never behind a veil. */
#ns-home .ns-purpose-photo {
  border: 1px solid #efefef;
  border-radius: 2px;
  box-shadow: 0 2px 0 #818181, 9px 11px 0 #acacac,
    10px 12px 0 #848484, 0 22px 30px rgba(28,40,47,.17);
}
#ns-home .ns-photo-number {
  background: linear-gradient(135deg,#4c4c4c,#252525);
  border-color: #adadad;
  border-bottom: 3px solid #191919;
  box-shadow: 3px 3px 10px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.18);
}
#ns-home .ns-trainer {
  background: linear-gradient(123deg,#eaeaea 0%,#d4d4d4 62%,#e0e0e0 100%);
  border-color: #cecece;
  border-bottom-color: #959595;
  border-radius: 3px;
  box-shadow: 0 7px 0 #818181, 0 9px 0 #191919,
    0 23px 38px rgba(0,0,0,.3), inset 0 1px 0 #f7f7f7;
}
#ns-home .ns-trainer-photo {
  margin: 9px 9px 0;
  border: 1px solid #b0b0b0;
  box-shadow: 0 1px 0 #f7f7f7;
}
#ns-home .ns-trainer-info { text-shadow: 0 1px 0 rgba(255,255,255,.5); }
#ns-home .ns-tags span {
  background: #e5e5e5;
  border-color: #aaaaaa;
  box-shadow: inset 0 1px 0 #f9f9f9, 0 1px 0 #bbbbbb;
}
#ns-home .ns-trainer-details { border-top-color: #a7a7a7; }
#ns-home .ns-studio-main img,
#ns-home .ns-trial-photo {
  border: 1px solid #f1f1f1;
  box-shadow: 0 4px 0 #919191, 0 7px 0 #bababa, 0 20px 30px rgba(28,40,48,.18);
}
#ns-home .ns-studio-exterior {
  background: linear-gradient(135deg,#f1f1f1,#c3c3c3 70%,#e0e0e0);
  border: 1px solid #f0f0f0;
  border-bottom-color: #989898;
  box-shadow: 0 6px 0 #909090, 0 20px 32px rgba(28,40,48,.24);
}

/* All prices have equal visual weight. No popularity claim is introduced. */
#ns-home .ns-price-plan,
#ns-home .ns-price-plan:first-child {
  background: linear-gradient(128deg,#f0f0f0 0%,#dcdcdc 62%,#eaeaea 100%);
  border: 1px solid #f5f5f5;
  border-right-color: #b6b6b6;
  border-bottom-color: #a9a9a9;
  border-radius: 3px;
  box-shadow: inset 0 3px 0 #fcfcfc, 0 7px 0 #9c9c9c,
    0 8px 0 #767676, 0 19px 28px rgba(33,49,60,.16);
}
#ns-home .ns-plan-en { color: #494949; border-bottom-color: #b1b1b1; }
#ns-home .ns-price-plan h3,
#ns-home .ns-price-value { text-shadow: 0 1px 0 #ffffff; }
#ns-home .ns-price-value { color: #282828; }
#ns-home .ns-price-footer { padding-top: 36px; }

/* Small numbered plates give the sequence a tactile rhythm. */
#ns-home .ns-method-steps .ns-step-number,
#ns-home .ns-trial-steps .ns-step-number {
  display: inline-grid;
  place-items: center;
  width: 44px;
  min-width: 44px;
  height: 46px;
  flex: 0 0 44px;
  padding: 0;
  border: 1px solid #f6f6f6;
  border-right-color: #b3b3b3;
  border-bottom-color: #aeaeae;
  border-radius: 3px;
  background: linear-gradient(135deg,#efefef,#cacaca);
  box-shadow: 0 3px 0 #989898, 0 7px 12px rgba(36,55,68,.12);
  color: #4d4d4d;
  font-size: 28px;
  line-height: 1;
  text-shadow: 0 1px 0 #ffffff;
}
#ns-home .ns-trial-preparation {
  background: #e2e2e2;
  border-top: 1px solid #f6f6f6;
  border-bottom: 1px solid #ababab;
  box-shadow: inset 3px 0 0 #959595;
}
#ns-home .ns-faq-list {
  border-top-color: #aaaaaa;
  box-shadow: 0 -1px 0 #f9f9f9;
}
#ns-home .ns-faq-list details {
  border-bottom-color: #b3b3b3;
  box-shadow: 0 1px 0 #f4f4f4;
}
#ns-home .ns-faq-list details[open] {
  background: linear-gradient(100deg,rgba(244,248,251,.52),transparent 82%);
}
#ns-home .ns-faq-list .ns-details-sign {
  display: grid;
  place-items: center;
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  border: 1px solid #f8f8f8;
  border-bottom-color: #a5a5a5;
  border-radius: 50%;
  background: linear-gradient(135deg,#f4f4f4,#cacaca);
  box-shadow: 0 3px 0 #9f9f9f, 0 6px 10px rgba(40,60,75,.12);
  color: #474747;
  transition: transform 180ms ease;
}
#ns-home .ns-faq-list summary:focus-visible {
  outline: 2px solid #474747;
  outline-offset: 5px;
}
#ns-home .ns-faq-list summary:active .ns-details-sign { transform: translateY(2px); }

@media (max-width:700px) {
  #ns-home .ns-hero-reservation {
    border-inline: 0;
    border-radius: 0;
    box-shadow: inset 0 4px 0 rgba(255,255,255,.55), inset 0 -5px 0 #949494;
  }
  #ns-home .ns-purpose-photo {
    box-shadow: 0 2px 0 #818181, 6px 7px 0 #acacac,
      7px 8px 0 #848484, 0 15px 23px rgba(28,40,47,.15);
  }
  #ns-home .ns-trainer-photo { margin: 7px 7px 0; }
  #ns-home .ns-trainer { box-shadow: 0 5px 0 #818181, 0 7px 0 #191919, 0 17px 27px rgba(0,0,0,.24); }
  #ns-home .ns-price-plan,
  #ns-home .ns-price-plan:first-child { margin-bottom: 22px; }
  #ns-home .ns-price-footer { padding-top: 10px; }
  #ns-home .ns-method-steps li { grid-template-columns: 40px 1fr; gap: 15px; }
  #ns-home .ns-method-steps .ns-step-number,
  #ns-home .ns-trial-steps .ns-step-number {
    width: 40px; min-width: 40px; height: 42px; flex-basis: 40px; font-size: 26px;
  }
  #ns-home .ns-trial-steps > li { gap: 17px; }
  #ns-home .ns-faq-list summary { gap: 18px; }
  #ns-home .ns-faq-list .ns-details-sign { flex-basis: 30px; width: 30px; height: 30px; }
}

@media (prefers-reduced-motion:reduce) {
  #ns-home .ns-faq-list .ns-details-sign { transition: none; transform: none !important; }
}
@media (forced-colors:active) {
  #ns-home .ns-hero-reservation,
  #ns-home .ns-hero-wordmark,
  #ns-home .ns-first-session,
  #ns-home .ns-facts,
  #ns-home .ns-jump-nav,
  #ns-home .ns-services,
  #ns-home .ns-trainers,
  #ns-home .ns-pricing,
  #ns-home .ns-reviews,
  #ns-home .ns-access,
  #ns-home .ns-trial,
  #ns-home .ns-faq,
  #ns-home .ns-closing,
  #ns-home .ns-trainer,
  #ns-home .ns-price-plan,
  #ns-home .ns-price-plan:first-child,
  #ns-home .ns-method-steps .ns-step-number,
  #ns-home .ns-trial-steps .ns-step-number,
  #ns-home .ns-faq-list .ns-details-sign,
  #ns-home .ns-faq-list details[open] {
    background: Canvas;
    color: CanvasText;
    border-color: CanvasText;
    box-shadow: none;
    text-shadow: none;
  }
  #ns-home .ns-faq-list summary:focus-visible { outline-color: Highlight; }
}

/* Nishifunabashi sculpted controls — append after cinematic design/motion.
   Purely visual; links, text, hit-area geometry and sticky visibility stay intact. */
#ns-home .ns-button:is(.ns-button-primary,.ns-button-dark,.ns-button-light),
body:has(#ns-home) .navBtn,
body:has(#ns-home) .stickyCta__btn {
  position: relative;
  border: 1px solid #064a28;
  border-top-color: #56aa7b;
  border-radius: 11px;
  background: linear-gradient(180deg,#0d7e40 0%,#096d36 56%,#07582e 100%);
  color: #ffffff;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.27),
    inset 0 -2px 0 rgba(0,0,0,.15),
    0 2px 0 #064c28,
    0 6px 0 #043b22,
    0 10px 12px rgba(2,26,14,.16),
    0 17px 26px rgba(2,26,14,.19);
  text-shadow: 0 1px 1px rgba(0,31,13,.35);
  transform: translateY(0);
  transition: transform 180ms cubic-bezier(.2,.8,.2,1);
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}

/* A narrow bevel catches light, while the text face stays dark enough to read. */
#ns-home .ns-button:is(.ns-button-primary,.ns-button-dark,.ns-button-light)::before {
  background: linear-gradient(110deg,transparent 20%,rgba(255,255,255,.035) 50%,transparent 80%);
}
#ns-home .ns-button:is(.ns-button-primary,.ns-button-dark,.ns-button-light) .ns-arrow {
  background: rgba(0,36,15,.24);
  border: 1px solid rgba(255,255,255,.32);
  border-top-color: rgba(255,255,255,.54);
  box-shadow: inset 0 1px 3px rgba(0,28,12,.23),0 1px 0 rgba(255,255,255,.13);
  color: #ffffff;
}
#ns-home .ns-button .ns-line-icon {
  box-shadow: 0 1px 2px rgba(0,29,12,.18);
}

/* Navigation has the same material, with a shallower edge to fit its rail. */
body:has(#ns-home) .navBtn {
  border-radius: 8px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.27),inset 0 -1px 0 rgba(0,0,0,.16),0 4px 0 #043b22,0 9px 16px rgba(2,26,14,.19);
}
body:has(#ns-home) .stickyCta__btn {
  border-radius: 12px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.27),inset 0 -2px 0 rgba(0,0,0,.15),0 5px 0 #043b22,0 12px 22px rgba(2,26,14,.23);
}

/* Secondary actions feel like satin-metal keys, clearly quieter than booking. */
#ns-home .ns-button.ns-button-outline {
  border: 1px solid #959c9e;
  border-top-color: #ffffff;
  border-radius: 9px;
  background: linear-gradient(160deg,#f3f5f5 0%,#dce0e1 46%,#c7ccce 100%);
  color: #252c2e;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.85),inset 0 -1px 0 rgba(71,80,84,.12),0 4px 0 #8f979a,0 11px 20px rgba(26,34,38,.14);
  text-shadow: 0 1px 0 rgba(255,255,255,.55);
  transform: translateY(0);
  transition: transform 180ms cubic-bezier(.2,.8,.2,1);
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}

@media (hover:hover) and (pointer:fine) {
  #ns-home .ns-button:is(.ns-button-primary,.ns-button-dark,.ns-button-light):hover,
  body:has(#ns-home) .navBtn:hover,
  body:has(#ns-home) .stickyCta__btn:hover {
    background: linear-gradient(180deg,#0d7e40 0%,#096d36 56%,#07582e 100%);
    border-color: #064a28;
    border-top-color: #80c99e;
    color: #ffffff;
    transform: translateY(-2px);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.33),inset 0 -2px 0 rgba(0,0,0,.15),0 2px 0 #064c28,0 7px 0 #043b22,0 16px 24px rgba(2,26,14,.25);
  }
  body:has(#ns-home) .navBtn:hover {
    box-shadow: inset 0 1px 0 rgba(255,255,255,.33),0 5px 0 #043b22,0 12px 18px rgba(2,26,14,.21);
  }
  #ns-home .ns-button.ns-button-outline:hover {
    background: linear-gradient(160deg,#f8fafa 0%,#e0e4e5 46%,#ccd1d3 100%);
    color: #252c2e;
    border-color: #959c9e;
    border-top-color: #ffffff;
    transform: translateY(-2px);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.9),0 5px 0 #8f979a,0 13px 22px rgba(26,34,38,.18);
  }
}

/* Pressing the key shortens its side wall. No JS or layout animation. */
#ns-home .ns-button:is(.ns-button-primary,.ns-button-dark,.ns-button-light):active,
body:has(#ns-home) .navBtn:active,
body:has(#ns-home) .stickyCta__btn:active {
  background: linear-gradient(180deg,#0a7038,#06562d);
  color: #ffffff;
  border-color: #064a28;
  border-top-color: #439867;
  transform: translateY(4px);
  box-shadow: inset 0 1px 3px rgba(0,25,10,.2),0 2px 0 #043b22,0 5px 10px rgba(2,26,14,.18);
  transition-duration: 90ms;
}
body:has(#ns-home) .navBtn:active { transform: translateY(2px); }
#ns-home .ns-button.ns-button-outline:active {
  background: linear-gradient(160deg,#dfe4e5,#c5cdcf);
  color: #252c2e;
  transform: translateY(3px);
  box-shadow: inset 0 1px 3px rgba(50,61,65,.14),0 1px 0 #8f979a,0 4px 8px rgba(26,34,38,.14);
  transition-duration: 90ms;
}

/* A dual light/dark ring remains visible on both silver and graphite sections. */
#ns-home .ns-button:focus-visible,
body:has(#ns-home) .navBtn:focus-visible,
body:has(#ns-home) .stickyCta__btn:focus-visible {
  outline: 3px solid #ffffff;
  outline-offset: 4px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.27),0 0 0 9px #202a25,0 6px 0 #043b22,0 14px 22px rgba(2,26,14,.2);
}

/* Disable the inherited hover fill on touch; active still gives immediate feedback. */
@media (hover:none), (pointer:coarse) {
  #ns-home .ns-button:is(.ns-button-primary,.ns-button-dark,.ns-button-light):hover:not(:active),
  body:has(#ns-home) .navBtn:hover:not(:active),
  body:has(#ns-home) .stickyCta__btn:hover:not(:active) {
    background: linear-gradient(180deg,#0d7e40 0%,#096d36 56%,#07582e 100%);
    color: #ffffff;
    border-color: #064a28;
    border-top-color: #56aa7b;
  }
}

@media (prefers-reduced-motion:reduce) {
  #ns-home .ns-button,
  body:has(#ns-home) .navBtn,
  body:has(#ns-home) .stickyCta__btn {
    transition: none !important;
    transform: none !important;
  }
}

@media (forced-colors:active) {
  #ns-home .ns-button,
  body:has(#ns-home) .navBtn,
  body:has(#ns-home) .stickyCta__btn {
    background: ButtonFace !important;
    color: ButtonText !important;
    border: 2px solid ButtonText !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }
  #ns-home .ns-button::before { content: none !important; }
  #ns-home .ns-button .ns-arrow { background: ButtonFace; color: ButtonText; border-color: ButtonText; box-shadow: none; }
  #ns-home .ns-button:focus-visible,
  body:has(#ns-home) .navBtn:focus-visible,
  body:has(#ns-home) .stickyCta__btn:focus-visible { outline: 3px solid Highlight; outline-offset: 4px; }
}
