:root{--indigo-deep: #070b1f;--indigo: #141b47;--plum: #2a1f4e;--vermilion: #d2452c;--vermilion-soft: #e8825f;--peach: #f3d3bd;--paper: #fbf8f3;--white: #ffffff;--ink-dark: #1b1a2e;--ink-light: #f3efe8;--ink-mute-dark: rgba(27, 26, 46, .82);--ink-mute-light: rgba(243, 239, 232, .86);--sky-top: var(--indigo-deep);--sky-bottom: var(--indigo);--font-jp: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans JP", sans-serif;--font-mincho: "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", "Noto Serif JP", serif;--font-serif: "Cormorant Garamond", "Times New Roman", Georgia, serif;--container: 1120px;--gutter: clamp(20px, 5vw, 64px);--edge: max(var(--gutter), calc((100vw - var(--container)) / 2));--radius: 4px;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-inout: cubic-bezier(.65, 0, .35, 1)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:auto;--day: 0;--grain: .13;--vignette-night: 1;--vignette-day: 0}body{margin:0;font-family:var(--font-jp);font-weight:400;font-size:16px;line-height:1.85;letter-spacing:.01em;color:var(--ink-light);background:var(--indigo-deep);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:clip}img,video{display:block;max-width:100%}a{color:inherit;text-decoration:none}h1,h2,h3,p,ul,ol,dl,dd,figure{margin:0}ul,ol{padding:0;list-style:none}.container{width:min(100% - 2 * var(--gutter),var(--container));margin-inline:auto}.section{position:relative;padding-block:clamp(96px,14vh,180px)}.serif{font-family:var(--font-serif);font-weight:400;letter-spacing:.06em}.h2,.hero__title,.cta__title,.why__turn,.promise h3,.step h3,.trainer h3,.trainer__quote,.hero__poem{font-family:var(--font-mincho);font-weight:700}.eyebrow{font-family:var(--font-jp);font-weight:700;font-size:.92rem;letter-spacing:.06em;opacity:.88;margin-bottom:.6rem}.h2{font-size:clamp(1.65rem,3.2vw,2.5rem);line-height:1.5;letter-spacing:.02em}.lead{margin-top:1.2rem;max-width:36em;font-size:1rem;color:var(--ink-mute)}.line{display:block;overflow:hidden;padding-bottom:.12em;margin-bottom:-.12em}.line__in{display:block}[data-ink=light]{color:var(--ink-light);--ink: var(--ink-light);--ink-mute: var(--ink-mute-light);--rule: rgba(243, 239, 232, .18);--glass-bg: rgba(12, 16, 44, .24);--glass-line: rgba(255, 255, 255, .16);--glass-line-hover: rgba(255, 255, 255, .34);--glass-shadow: 0 30px 70px -36px rgba(3, 5, 18, .9);--glass-sheen: rgba(255, 255, 255, .14)}[data-ink=dark]{color:var(--ink-dark);--ink: var(--ink-dark);--ink-mute: var(--ink-mute-dark);--rule: rgba(27, 26, 46, .14);--glass-bg: rgba(255, 255, 255, .4);--glass-line: rgba(255, 255, 255, .75);--glass-line-hover: rgba(255, 255, 255, 1);--glass-shadow: 0 30px 60px -34px rgba(90, 50, 30, .35);--glass-sheen: rgba(255, 255, 255, .6)}.sky{position:fixed;inset:0;z-index:-1;background:linear-gradient(180deg,var(--sky-top) 0%,var(--sky-bottom) 100%);pointer-events:none}.sky__bloom{position:absolute;left:50%;bottom:-24vh;width:160vw;height:70vh;transform:translate(-50%);background:radial-gradient(ellipse at 50% 100%,#e8825f80,#e8825f00 62%);opacity:0}.sky__particles{position:absolute;inset:0;width:100%;height:100%}.fx{position:fixed;inset:0;z-index:30;pointer-events:none}.fx__vignette{position:absolute;inset:0}.fx__vignette--night{background:radial-gradient(ellipse 80% 70% at 50% 45%,#05081800 45%,#0508189e);opacity:var(--vignette-night)}.fx__vignette--day{background:radial-gradient(ellipse 85% 75% at 50% 45%,#8c462800 50%,#8c462838);opacity:var(--vignette-day)}.fx__grain{position:absolute;inset:-50%;width:200%;height:200%;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.82' numOctaves='2' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/></filter><rect width='220' height='220' filter='url(%23n)'/></svg>");background-size:220px 220px;opacity:var(--grain);mix-blend-mode:overlay;animation:grain 1.1s steps(6) infinite;will-change:transform}@keyframes grain{0%{transform:translate(0)}17%{transform:translate(-5%,-8%)}34%{transform:translate(-12%,4%)}51%{transform:translate(6%,-13%)}68%{transform:translate(-9%,11%)}85%{transform:translate(11%,6%)}to{transform:translate(3%,-3%)}}.clock{position:fixed;left:var(--gutter);bottom:22px;z-index:25;font-size:.85rem;letter-spacing:.2em;color:var(--ink-light);opacity:.7;pointer-events:none;transition:color .6s ease;font-variant-numeric:tabular-nums}html.is-day .clock{color:var(--ink-dark)}.media-wrap{position:relative;overflow:hidden;background:linear-gradient(160deg,#ffffff12,#ffffff04 60%),#0000001f;--tint-a: rgba(20, 27, 71, .5);--tint-b: rgba(42, 31, 78, .5);--tint-blend: soft-light;--tint-o: .6}.media-wrap:before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,var(--tint-a),var(--tint-b));mix-blend-mode:var(--tint-blend);opacity:var(--tint-o)}.media-wrap.is-missing:after{content:attr(data-label);position:absolute;left:12px;bottom:10px;font-family:var(--font-serif);font-size:.72rem;letter-spacing:.2em;opacity:.35}.media-wrap--optional.is-missing{display:none}video.media,img.media{width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .9s ease}.media.is-ready{opacity:1}.media.is-dipping{opacity:.55;transition-duration:.3s}.media.is-missing{display:none}@media(min-width:1024px){video.media{filter:saturate(.84) contrast(1.05)}}.nav{position:fixed;inset:0 0 auto;z-index:20;display:flex;justify-content:space-between;align-items:center;padding:18px var(--gutter);color:var(--ink-light);transition:color .6s ease}.nav:before{content:"";position:absolute;left:0;right:0;top:0;height:140%;z-index:-1;pointer-events:none;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);-webkit-mask-image:linear-gradient(to bottom,#000 35%,transparent);mask-image:linear-gradient(to bottom,#000 35%,transparent)}.nav--dark{color:var(--ink-dark)}.nav__brand{font-size:1.2rem;letter-spacing:.32em}.nav__cta{font-size:.85rem;font-weight:700;letter-spacing:.04em;padding:.6em 1.25em;border:1px solid rgba(255,255,255,.35);border-radius:999px;background:#ffffff14;-webkit-backdrop-filter:blur(14px) saturate(140%);backdrop-filter:blur(14px) saturate(140%);box-shadow:inset 0 1px #ffffff2e;opacity:.92;transition:opacity .3s ease,background-color .3s ease,border-color .3s ease}.nav--dark .nav__cta{border-color:#1b1a2e40;background:#fff6}.nav__cta:hover{opacity:1;background:#ffffff29}.btn{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;min-height:56px;padding:11px 28px;border-radius:999px;font-size:1rem;font-weight:700;letter-spacing:.03em;line-height:1.3;text-align:center;transition:translate .5s var(--ease-out),background-color .3s ease,box-shadow .5s ease}.btn:hover{translate:0 -2px}.btn--primary{background:var(--vermilion);color:#fff;box-shadow:0 18px 40px -18px #d2452cb3}.btn--primary:hover{box-shadow:0 22px 44px -16px #d2452ccc}.btn--ghost{border:1px solid rgba(27,26,46,.3);background:#fff6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.btn--ghost-light{border-color:#ffffff8c;background:#ffffff1a;color:var(--ink-light)}.btn__main{display:block}.btn__sub{display:block;margin-top:2px;font-size:.8rem;font-weight:400;letter-spacing:.02em;opacity:.92}@media(max-width:479px){.hero__cta .btn,.cta__buttons .btn{width:100%}}.card{position:relative;border-radius:16px;padding:22px;background:var(--glass-bg);border:1px solid var(--glass-line);box-shadow:var(--glass-shadow),inset 0 1px 0 var(--glass-sheen);-webkit-backdrop-filter:blur(18px) saturate(112%);backdrop-filter:blur(18px) saturate(112%);transition:border-color .5s ease,translate .7s var(--ease-out)}.card:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(135deg,#ffffff24,#fff0 38%),linear-gradient(315deg,#e8825f14,#e8825f00 45%)}@media(hover:hover){.card:hover{border-color:var(--glass-line-hover);translate:0 -4px}}.hero__eyebrow,.hero__title,.hero__sub,.hero__poem,.btn,.nav__cta,.h2,.thought,.why__turn,.promise h3,.step h3,.lead,.trainer h3,.trainer__quote,.voices__note,.price-row dt,.price-row small,.faq summary,.cta__title,.cta__sub,.cta__hours,.flow__note{word-break:keep-all;overflow-wrap:anywhere}.nb{white-space:nowrap}.hero__title,.h2,.cta__title,.why__turn,.promise h3,.step h3,.trainer__quote,.faq summary{text-wrap:balance}@media(prefers-reduced-motion:reduce){.hero__video--room{opacity:1}.hero__cue i,.fx__grain{animation:none}.sky__particles{display:none}}::selection{background:#d2452c59}.hero{position:relative;height:100svh;min-height:560px;overflow:hidden;display:grid;align-items:end}.hero__media{position:absolute;inset:0;background:none;--tint-a: rgba(20, 27, 71, .55);--tint-b: rgba(210, 69, 44, .3);--tint-blend: soft-light;--tint-o: .7}.hero__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero__video--room{opacity:0}.hero__veil{position:absolute;inset:0;background:linear-gradient(180deg,#070b1f26,#070b1f80 62%,#070b1fe0)}.hero__breath{position:absolute;left:50%;top:60%;width:120vw;height:50vh;transform:translate(-50%,-50%);pointer-events:none}.hero__breath i{position:absolute;inset:0;background:radial-gradient(ellipse at center,#e8825f38,#e8825f00 60%);opacity:.35}.horizon{position:absolute;left:0;right:0;top:58%;height:1px;pointer-events:none}.horizon__line{position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,var(--vermilion-soft) 28%,#fff7ee 50%,var(--vermilion-soft) 72%,transparent 100%);transform:scaleX(0);transform-origin:50% 50%}.horizon__glow{position:absolute;left:50%;top:0;width:130vw;height:46vh;transform:translate(-50%,-50%);background:radial-gradient(ellipse at center,#e8825f80,#e8825f00 60%);opacity:0}.hero__copy{position:relative;z-index:2;padding-bottom:clamp(56px,9vh,140px)}.hero__eyebrow{margin-bottom:1.2rem}.hero__title{font-weight:700;font-size:clamp(1.7rem,7.2vw,3.8rem);line-height:1.4;letter-spacing:.02em}@media(min-width:768px){.hero__title{font-size:clamp(2.2rem,4.6vw,3.8rem)}}.hero__sub{margin-top:1.4rem;font-size:clamp(1rem,1.2vw,1.1rem);line-height:1.8;opacity:.94;max-width:36em}.hero__poem{margin-top:1rem;font-size:1rem;opacity:.82}.hero__cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:1.6rem}.hero__cue{position:absolute;right:var(--gutter);bottom:28px;z-index:2;display:flex;flex-direction:column;align-items:center;gap:10px;font-size:.72rem;letter-spacing:.3em;opacity:.7;transition:opacity .5s ease}.hero__cue i{width:1px;height:52px;background:linear-gradient(180deg,currentColor,transparent);animation:cue 2.8s ease-in-out infinite}.hero__cue.is-hidden{opacity:0}@keyframes cue{0%,to{opacity:.25;transform:translateY(-4px)}50%{opacity:1;transform:translateY(4px)}}.why{padding-block:clamp(120px,18vh,220px) clamp(120px,24vh,260px)}.why__grid{display:grid;gap:48px}.why__media{aspect-ratio:16 / 10;border-radius:12px;max-height:46vh;--tint-a: rgba(20, 27, 71, .7);--tint-b: rgba(42, 31, 78, .7);--tint-blend: color;--tint-o: .45}.thoughts{margin-top:28vh}.thought{font-size:clamp(1.05rem,1.5vw,1.35rem);font-weight:400;line-height:1.8;letter-spacing:.01em;max-width:30em}.thought+.thought{margin-top:36vh}.why__turn{margin-top:36vh;font-size:clamp(1.3rem,2.2vw,1.9rem);line-height:1.6;letter-spacing:.02em;max-width:24em}@media(min-width:1024px){.why__grid{grid-template-columns:1.1fr .9fr;gap:80px;align-items:start}.why__media{order:2;position:sticky;top:12vh;aspect-ratio:4 / 5;max-height:76vh}.why__text{order:1}}.promise-list{display:grid;gap:48px;margin-top:56px}.promise__media{aspect-ratio:4 / 5;margin:-22px -22px 22px;border-radius:15px 15px 0 0;--tint-a: rgba(232, 130, 95, .45);--tint-b: rgba(20, 27, 71, .45);--tint-blend: soft-light;--tint-o: .65}.promise__num{font-size:.88rem;font-weight:700;letter-spacing:.06em;opacity:.88}.promise h3{font-size:clamp(1.2rem,1.6vw,1.4rem);line-height:1.5;margin-top:.4em;letter-spacing:.02em}.promise p{margin-top:.7em;font-size:1rem;line-height:1.85;color:var(--ink-mute)}@media(min-width:768px){.promise-list{grid-template-columns:repeat(3,1fr);gap:28px}}.flow{position:relative;padding-block:clamp(96px,14vh,180px);overflow:hidden}.flow__bg{position:absolute;inset:0;opacity:.22;background:none;pointer-events:none;--tint-a: rgba(243, 211, 189, .6);--tint-b: rgba(255, 255, 255, .5);--tint-blend: screen;--tint-o: .8}.flow__bg.is-missing:after{display:none}.flow__head{position:relative;margin-bottom:48px}.flow__track{position:relative;width:min(100% - 2 * var(--gutter),var(--container));margin-inline:auto}.flow__steps{position:relative;display:grid;gap:48px;padding-left:28px}.flow__line{position:absolute;left:0;top:0;bottom:0;width:1px;background:var(--rule)}.flow__progress{position:absolute;inset:0;background:linear-gradient(180deg,var(--vermilion-soft),var(--vermilion));transform:scaleY(0);transform-origin:top}.step__week{display:block;font-size:.9rem;font-weight:700;letter-spacing:.06em;opacity:.88}.step h3{font-size:clamp(1.3rem,2vw,1.7rem);line-height:1.5;margin-top:.4em;letter-spacing:.02em;transition:color .6s ease}.step p{margin-top:.6em;font-size:1rem;line-height:1.8;color:var(--ink-mute)}.step p b{font-weight:700;color:var(--ink)}.step__feel{margin-top:.45em}.step.is-active h3{color:var(--vermilion)}.flow__note{position:relative;margin-top:48px;font-size:1rem;color:var(--ink-mute)}@media(min-width:1024px){.flow{height:100vh;min-height:680px;padding-block:0;display:flex;flex-direction:column;justify-content:center}.flow__track{width:100%;margin:0;overflow:visible}.flow__steps{display:flex;gap:0;width:max-content;padding:40px var(--edge) 0}.flow__line{left:var(--edge);right:var(--edge);top:0;bottom:auto;width:auto;height:1px}.flow__progress{background:linear-gradient(90deg,var(--vermilion-soft),#fff7ee 55%,var(--vermilion));transform:scaleX(0);transform-origin:left}.step{flex:none;width:34vw;max-width:480px;padding-right:72px}}.trainers__media{aspect-ratio:16 / 9;border-radius:12px;margin-top:48px;--tint-a: rgba(243, 211, 189, .4);--tint-b: rgba(232, 130, 95, .25);--tint-blend: soft-light;--tint-o: .6}.trainer-list{display:grid;gap:40px;margin-top:64px}.trainer{padding:24px 22px 26px}.trainer__media{aspect-ratio:4 / 5;margin:-24px -22px 20px;border-radius:15px 15px 0 0}.trainer h3{font-size:1.3rem;letter-spacing:.02em}.trainer__kana{margin-left:.5em;font-family:var(--font-jp);font-size:.8rem;font-weight:400;opacity:.75}.trainer__tag{font-size:1rem;line-height:1.8;color:var(--ink-mute);margin-top:.5em}.trainer__quote{margin-top:.9em;font-size:1.05rem;line-height:1.7}.voices__note{margin-top:1rem;font-size:.95rem;font-weight:700}.voice-list{display:grid;gap:24px;margin-top:36px}.voice{padding:26px 24px}.voice__text{font-size:1rem;line-height:1.9}.voice__who{margin-top:1rem;font-size:.92rem;color:var(--ink-mute)}.voices__disclaimer{margin-top:28px;font-size:.95rem;color:var(--ink-mute);max-width:40em}@media(min-width:768px){.voice-list{grid-template-columns:repeat(3,1fr);gap:28px}}@media(min-width:768px){.trainers__media{aspect-ratio:21 / 9}.trainer-list{grid-template-columns:repeat(3,1fr);gap:32px}}.price-list{margin-top:48px;max-width:760px;padding:6px 28px}.price-row:first-child:before,.price-row:last-child:after{display:none}.price-row{position:relative;display:flex;justify-content:space-between;align-items:baseline;gap:24px;padding:28px 0}.price-row:before{content:"";position:absolute;left:0;top:0;width:100%;height:1px;background:var(--rule);transform:scaleX(var(--rule-scale, 1));transform-origin:left}.price-row:last-child:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:var(--rule)}.price-row dt{font-size:1.05rem;font-weight:700;flex:1 1 auto}.price-row dt small,.price-row dd small{display:block;margin-top:.2em;font-size:.9rem;font-weight:400;line-height:1.6;color:var(--ink-mute)}.price-row dd{text-align:right;flex:0 0 auto}.num{font-family:var(--font-jp);font-size:clamp(1.6rem,3vw,2.4rem);font-weight:700;letter-spacing:.01em;line-height:1.2;font-variant-numeric:tabular-nums}.price-row--main .num{color:var(--vermilion)}.price__note{margin-top:24px;color:var(--ink-mute);font-size:1rem;max-width:40em}.faq-list{margin-top:40px;max-width:760px;padding:4px 28px}.faq{border-top:1px solid var(--rule)}.faq:first-child{border-top:none}.faq summary{list-style:none;cursor:pointer;position:relative;padding:24px 40px 24px 0;font-size:1.05rem;font-weight:700}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"";position:absolute;right:6px;top:50%;width:10px;height:10px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:translateY(-70%) rotate(45deg);transition:transform .45s var(--ease-inout)}.faq[open] summary:after{transform:translateY(-30%) rotate(225deg)}.faq__body{overflow:hidden}.faq__body p{padding:0 0 24px;font-size:1rem;color:var(--ink-mute);max-width:40em}.cta{position:relative;min-height:100svh;display:grid;align-items:center;overflow:hidden;text-align:center;padding-block:clamp(96px,14vh,180px)}.cta__media{position:absolute;inset:0;background:none;opacity:.5}.cta__media:before{content:"";position:absolute;inset:0;z-index:1;mix-blend-mode:normal;opacity:1;background:linear-gradient(180deg,#ffffff8c,#fff4ecdb 70%,#f8e2d6e6)}.cta__media.is-missing:after{display:none}.cta__inner{position:relative;z-index:2}.cta__line{display:block;width:min(100%,420px);height:1px;margin:0 auto 48px;background:linear-gradient(90deg,transparent,var(--vermilion-soft) 30%,var(--vermilion) 50%,var(--vermilion-soft) 70%,transparent);transform:scaleX(0)}.cta__title{font-weight:700;font-size:clamp(1.75rem,4.4vw,3.4rem);letter-spacing:.02em;line-height:1.4}.cta__sub{margin-top:1.4rem;font-size:1rem;color:var(--ink-mute)}.cta__buttons{margin-top:2.4rem;display:flex;gap:16px;justify-content:center;flex-wrap:wrap}.cta__hours{margin-top:2.4rem;font-size:.95rem;letter-spacing:.04em;color:var(--ink-mute)}.footer{padding:48px 0 44px;font-size:.9rem;line-height:2;text-align:center;background:var(--white);color:var(--ink-mute-dark)}.footer__brand{font-size:1.1rem;letter-spacing:.32em;color:var(--ink-dark);margin-bottom:.4rem}.footer__ai{margin-top:.8rem;font-weight:700;color:var(--ink-dark)}.footer__note{opacity:.7}html.reduced .horizon__line,html.reduced .flow__progress,html.reduced .cta__line{transform:none}html.reduced .horizon__glow{opacity:.6}html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis [data-lenis-prevent],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent-touch],.lenis [data-lenis-prevent-vertical],.lenis [data-lenis-prevent-horizontal]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}.lenis.lenis-autoToggle{transition-property:overflow;transition-duration:1ms;transition-behavior:allow-discrete}
