:root{--ink:#171b19;--paper:#f4f3ed;--lime:#d2f74b;--line:#d5d7ce;--muted:#646b63}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,'Hiragino Kaku Gothic ProN','Noto Sans JP',sans-serif;font-size:15px;line-height:1.9}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{display:block;width:100%;object-fit:cover}h1,h2,h3,p{margin:0}p+p{margin-top:15px}h2{font-size:clamp(27px,3.1vw,46px);line-height:1.55;letter-spacing:-.045em}h3{font-size:24px;line-height:1.6}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #799516;outline-offset:6px}.header{height:95px;display:flex;align-items:center;gap:38px;padding:0 4%;background:var(--paper);position:relative;z-index:20;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:20px;margin-right:auto}.brand img{width:117px;height:49px;object-fit:contain;mix-blend-mode:multiply}.brand span{font-size:9px;letter-spacing:.1em;border-left:1px solid #babfb5;padding-left:20px;line-height:1.6;width:120px}.desktop-nav{display:flex;gap:29px;font-size:13px;font-weight:700}.desktop-nav a:hover,.desktop-nav [aria-current]{box-shadow:0 2px var(--ink)}.header-cta{background:var(--ink);color:var(--paper);padding:13px 25px;font-size:13px;display:flex;gap:35px}.header-cta span{color:var(--lime)}.menu-toggle{display:none}.mobile-nav[hidden]{display:none}.skip{position:absolute;left:15px;top:-100px;z-index:50;background:var(--lime);padding:10px}.skip:focus{top:10px}.hero{display:grid;grid-template-columns:48% 52%;min-height:685px}.hero-copy{padding:43px 7.6% 20px 8.3%;display:flex;flex-direction:column;align-items:flex-start}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.15em;line-height:1.5}.live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#81a128;margin-right:8px}.hero h1{font-family:Impact,'Arial Narrow',Arial,sans-serif;font-size:clamp(65px,7.45vw,118px);font-weight:900;line-height:.94;letter-spacing:-.04em;margin:31px 0 24px}.hero h1 em{font-style:normal;color:var(--ink);background:var(--lime);display:inline-block;padding:0 .035em .035em;margin-left:-.035em;letter-spacing:-.045em}.hero h2{font-size:clamp(22px,2vw,30px);font-weight:800}.hero-desc{font-size:13px;line-height:1.9;margin-top:12px;color:#555e54}.hero-actions{display:flex;gap:20px;align-items:center;margin:25px 0 30px;width:100%}.button{min-height:54px;display:inline-flex;justify-content:space-between;align-items:center;gap:35px;padding:14px 22px;font-size:13px;font-weight:700;line-height:1.5;border:1px solid transparent;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.primary{background:var(--lime);color:var(--ink)}.primary:hover{background:#bfeb2c}.dark{background:var(--ink);color:var(--paper)}.dark:hover{background:#343d32}.outline{border-color:currentColor}.text{padding:12px 0;gap:15px;border-bottom:1px solid var(--ink);min-height:40px}.hero-foot{font-size:8px;letter-spacing:.11em;display:flex;justify-content:space-between;gap:15px;width:100%;margin-top:auto!important;padding-top:14px;border-top:1px solid var(--line)}.hero-photo{position:relative;overflow:hidden;background:#282b27}.hero-photo>img{position:absolute;inset:0;height:100%;object-position:58% center;filter:brightness(.77)}.hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#0003,transparent 40%,#0008);pointer-events:none}.photo-top,.photo-bottom{position:absolute;left:35px;right:35px;display:flex;justify-content:space-between;color:#fff;z-index:1}.photo-top{top:30px;font-size:10px;font-weight:bold;line-height:1.4;letter-spacing:.12em}.photo-bottom{bottom:32px;align-items:flex-end}.photo-bottom p{font-family:Impact,'Arial Narrow',sans-serif;font-size:46px;line-height:1;letter-spacing:-.025em}.photo-bottom a{width:56px;height:56px;display:grid;place-items:center;background:var(--lime);color:var(--ink);font-size:29px}.vertical-text{position:absolute;right:20px;top:30%;writing-mode:vertical-rl;color:#fff;z-index:1;font-size:8px;letter-spacing:.2em}.facts{display:grid;grid-template-columns:1fr 1fr 1.3fr 1fr;background:var(--ink);color:var(--paper);padding:32px 4%;gap:30px;align-items:center}.facts>div{border-right:1px solid #495046}.facts strong{font-size:48px;font-family:Impact,'Arial Narrow',sans-serif;line-height:1;letter-spacing:-.025em}.facts strong span{font-size:22px;margin-left:5px;color:var(--lime)}.facts p{font-size:10px;color:#c0c5bd;margin-top:10px}.facts>a{display:flex;justify-content:space-between;font-size:12px;gap:10px}.facts>a span{color:var(--lime);font-size:24px}.wrap{width:92%;max-width:1440px;margin-left:auto;margin-right:auto}.section{padding-top:100px;padding-bottom:100px}.section-heading{display:flex;justify-content:space-between;gap:45px;align-items:flex-end;margin-bottom:43px}.section-heading .eyebrow{margin-bottom:19px}.section-heading>p{font-size:13px;line-height:2;color:var(--muted);padding-bottom:8px}.style-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.card-image{height:330px;position:relative;overflow:hidden;margin-bottom:23px}.card-image img{height:100%;transition:transform .5s}.style-card:hover img{transform:scale(1.035)}.card-num{position:absolute;top:16px;left:19px;background:var(--paper);padding:1px 9px;font-size:11px}.circle-arrow{position:absolute;right:16px;bottom:16px;width:43px;height:43px;display:grid;place-items:center;border-radius:50%;background:var(--lime);font-size:23px}.style-card h3{margin:10px 0}.style-card>p:last-child{font-size:13px;color:var(--muted);max-width:350px}.about{display:grid;grid-template-columns:1fr 1fr;background:var(--ink);color:var(--paper)}.about-photo{position:relative;min-height:570px}.about-photo img{height:100%;position:absolute;inset:0;object-position:center;filter:brightness(.75)}.about-photo span{position:absolute;bottom:35px;left:8%;font-family:Impact,'Arial Narrow',sans-serif;font-size:45px;line-height:1.08}.about-copy{padding:65px 9%}.about-copy .eyebrow{color:var(--lime);margin-bottom:23px}.about-copy>p:not(.eyebrow){font-size:13px;color:#bdc5ba;margin:24px 0}.number-line{display:flex;align-items:center;gap:20px;border-top:1px solid #4a5148;padding:15px 0;font-size:12px}.number-line strong{color:var(--lime);font-size:19px}.about-copy .button{margin-top:20px}.price-panel{background:var(--lime);padding:50px;display:grid;grid-template-columns:1fr 1.1fr;gap:45px;align-items:center}.price-panel h3{font-size:32px;margin-top:18px}.price-panel p:not(.eyebrow,.price){font-size:12px}.price{font-family:Impact,'Arial Narrow',sans-serif;font-size:95px;line-height:1.15;letter-spacing:-.035em;white-space:nowrap}.price>span{font:13px Arial,sans-serif;letter-spacing:0;margin-right:10px}.price small{font:24px Arial,sans-serif;margin-left:8px;letter-spacing:0}.tax{margin-top:9px!important;margin-bottom:22px}.price-panel .button{width:100%;max-width:390px}.access-section{border-top:1px solid var(--line)}.access-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:9%;align-items:center}.access-grid img{height:370px}.access-grid .eyebrow{margin-bottom:20px}.access-grid p:not(.eyebrow){font-size:13px;margin-top:22px}.access-tel{font-size:23px!important;letter-spacing:.035em}.access-grid .button{margin-top:20px}.closing{padding:57px 4%;background:var(--lime)}.closing>a{display:flex;justify-content:space-between;align-items:center;font-size:clamp(25px,4.5vw,66px);font-weight:800;letter-spacing:-.05em;line-height:1.5;margin:15px 0}.closing>a span{font-family:Arial,sans-serif;font-weight:400;border:1px solid #2a312b;width:80px;height:80px;display:grid;place-items:center;border-radius:50%;font-size:45px}.closing>p:last-child{font-size:13px}footer{background:var(--ink);color:var(--paper);padding:55px 4% 20px}.footer-top{display:grid;grid-template-columns:1fr 1fr 1fr;gap:30px;padding-bottom:55px}.wordmark{font-family:Impact,'Arial Narrow',sans-serif;font-style:italic;font-size:70px;line-height:1}.wordmark span{font-size:26px;color:var(--lime)}.footer-top p{font-size:11px;color:#b7bfb3;line-height:2.2}.footer-top>div{display:flex;flex-wrap:wrap;gap:12px 25px;align-content:start;font-size:11px}.footer-bottom{border-top:1px solid #444d40;padding-top:20px;display:flex;justify-content:space-between;font-size:9px;letter-spacing:.06em;color:#b7bfb3}.mobile-cta{display:none}.subhero{padding:72px 0 65px}.subhero h1{font-size:clamp(32px,5vw,68px);line-height:1.45;letter-spacing:-.045em;margin:24px 0}.subhero>p:last-child{color:var(--muted);font-size:14px}.feature{display:grid;grid-template-columns:1.2fr 1fr;gap:7%;align-items:center;padding:45px 0;border-top:1px solid var(--line);scroll-margin-top:25px}.feature>img{height:420px}.feature h2{font-size:32px;margin:20px 0}.feature div>p:last-child{font-size:14px;color:var(--muted)}.wide-photo>img{max-height:600px}.program-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}.program-item{border-top:1px solid var(--ink);padding-top:20px}.program-item>span{font-size:35px;color:#667d2b}.program-item h2{font-size:25px;margin:12px 0}.program-item p{color:var(--muted)}.notice{margin-top:60px;background:#e6e9dd;padding:32px}.notice a{text-decoration:underline}.narrow{max-width:850px}.data-list{margin:30px 0}.data-list>div{display:flex;justify-content:space-between;gap:30px;padding:24px 0;border-top:1px solid var(--line)}dt{font-size:14px}dd{margin:0;font-weight:bold;font-size:20px;text-align:right}dd small{font-size:11px;font-weight:normal}.muted{color:var(--muted);font-size:12px!important}.mt{margin-top:55px}.plain-list{padding-left:22px;margin:25px 0 35px;line-height:2.3}.trial-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.trial-grid img{height:480px}.trial-info .eyebrow{margin-bottom:20px}.trial-info .price{font-size:85px;margin:22px 0}.trial-info .price small{font-size:18px}.trial-info .button{margin-top:25px}.trial-info .muted{margin-top:15px}details{border-bottom:1px solid var(--line);padding:23px 0}details:first-of-type{margin-top:25px;border-top:1px solid var(--line)}summary{font-weight:bold;cursor:pointer}details p{margin:18px 0 0;color:var(--muted)}.steps article{display:flex;gap:30px;padding:28px 0;border-top:1px solid var(--line)}.steps article>span{font-size:44px;line-height:1.5;color:#6e882f}.steps h2{font-size:26px}.steps p{margin-top:14px}.steps{margin-bottom:30px}
@media(min-width:1600px){.hero{min-height:810px}.hero-copy{padding-top:60px}.hero h1{font-size:135px}.hero-desc{font-size:15px}.hero-actions{margin-top:35px}}
@media(max-width:1100px){.brand span{display:none}.header{gap:25px}.desktop-nav{gap:20px}.hero{min-height:635px}.hero h1{font-size:7.4vw}.hero-actions{gap:12px}.hero-actions .button{font-size:11px;padding:13px 15px;gap:18px}.hero-actions .text{padding-left:0;padding-right:0}.hero-foot span{display:none}.card-image{height:260px}.about-copy{padding:45px 8%}.about-copy h2{font-size:31px}.about-photo{min-height:530px}.price-panel{padding:35px;gap:25px}.price{font-size:75px}.price-panel h3{font-size:28px}.trial-grid{gap:35px}}
@media(max-width:760px){body{font-size:14px}.header{height:76px;padding:0 5%;gap:19px}.brand img{width:96px;height:40px}.desktop-nav{display:none}.header-cta{padding:10px 14px;font-size:11px;gap:20px}.menu-toggle{display:flex;flex-direction:column;gap:6px;width:27px;border:0;padding:4px 0;background:none}.menu-toggle span{height:1px;width:26px;background:var(--ink);transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.mobile-nav{position:absolute;top:76px;left:0;right:0;z-index:19;background:var(--paper);padding:25px 6%;border-bottom:1px solid var(--ink);box-shadow:0 20px 25px #0002}.mobile-nav a{display:block;font-size:20px;padding:12px 0;border-bottom:1px solid var(--line)}.hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:30px 6% 26px}.hero h1{font-size:clamp(76px,17.8vw,125px);line-height:.94;margin:27px 0 22px}.hero h2{font-size:25px}.hero-desc{font-size:12px;margin-top:12px}.hero-actions{margin:23px 0 28px;gap:24px}.hero-actions .button{font-size:12px;padding:16px 20px;gap:22px}.hero-actions .text{padding:12px 0}.hero-foot{font-size:8px;padding-top:15px}.hero-foot span{display:inline}.hero-photo{height:370px}.hero-photo>img{object-position:50% 54%}.photo-top{top:22px;left:23px;right:23px}.photo-bottom{bottom:23px;left:23px;right:23px}.photo-bottom p{font-size:37px}.photo-bottom a{width:45px;height:45px}.facts{grid-template-columns:1fr 1fr 1.15fr;padding:28px 6%;gap:16px}.facts strong{font-size:35px}.facts strong span{font-size:14px;margin-left:2px}.facts p{font-size:8px;max-width:100px;line-height:1.6}.facts>div:nth-child(3){border:0}.facts>a{grid-column:1/-1;border-top:1px solid #46503f;padding-top:14px;margin-top:5px;font-size:11px}.facts>a span{line-height:1}.wrap{width:88%}.section{padding:60px 0}.section-heading{display:block;margin-bottom:28px}.section-heading>p{margin-top:22px;font-size:12px}.section-heading .eyebrow{margin-bottom:15px}h2{font-size:29px}.style-grid{grid-template-columns:1fr;gap:38px}.card-image{height:315px;margin-bottom:18px}.style-card h3{font-size:23px}.style-card>p:last-child{max-width:100%;font-size:12px}.about{grid-template-columns:1fr}.about-photo{min-height:335px}.about-photo span{font-size:35px;left:6%;bottom:25px}.about-copy{padding:38px 6% 47px}.about-copy h2{font-size:29px}.about-copy>p:not(.eyebrow){font-size:12px}.price-panel{grid-template-columns:1fr;padding:28px 24px;gap:25px}.price-panel h3{font-size:27px}.price-panel .price{font-size:74px}.price small{font-size:20px}.price-panel .tax{font-size:10px!important;line-height:1.9}.price-panel .button{max-width:none}.access-grid{grid-template-columns:1fr;gap:32px}.access-grid img{height:280px}.access-grid h2{font-size:30px}.closing{padding:35px 6%}.closing>a{font-size:26px;gap:15px}.closing>a span{width:46px;height:46px;flex-shrink:0;font-size:26px}.closing>p:last-child{font-size:11px}footer{padding:40px 6% 95px}.footer-top{grid-template-columns:1fr 1fr;gap:30px 15px;padding-bottom:35px}.wordmark{font-size:55px}.footer-top p{font-size:9px}.footer-top>div{grid-column:1/-1}.footer-bottom{flex-wrap:wrap;gap:12px;font-size:8px}.mobile-cta{display:flex;position:fixed;bottom:14px;left:5%;right:5%;padding:13px 22px;background:var(--ink);color:var(--paper);z-index:15;justify-content:space-between;border:1px solid #6c755f;font-size:12px;box-shadow:0 4px 20px #0004}.mobile-cta span{color:var(--lime)}.subhero{padding:42px 0}.subhero h1{font-size:36px;margin:18px 0}.subhero>p:last-child{font-size:12px}.feature{grid-template-columns:1fr;gap:24px;padding:35px 0}.feature>img{height:285px}.feature h2{font-size:27px;margin:15px 0}.feature div>p:last-child{font-size:13px}.program-grid{grid-template-columns:1fr;gap:30px}.program-item h2{font-size:22px}.notice{padding:24px;margin-top:35px}.data-list>div{gap:20px;padding:20px 0}dt{font-size:12px}dd{font-size:16px}.trial-grid{grid-template-columns:1fr;gap:25px}.trial-grid img{height:300px}.trial-info .price{font-size:70px}.trial-info>p{font-size:12px}.steps article{gap:20px}.steps article>span{font-size:34px}.steps h2{font-size:23px}.steps p{font-size:13px}.wide-photo>img{min-height:260px;object-fit:cover}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
/* The original logo is white; use its silhouette on the light header. */
.brand img{filter:brightness(0);mix-blend-mode:normal}

/* Reception paths */
.booking-intro{font-size:30px!important;font-weight:700;line-height:1.5;margin:20px 0}.booking-actions{display:flex;flex-direction:column;align-items:stretch;gap:12px;margin:24px 0 16px}.booking-actions .button{margin:0}.booking-panel{background:#e6e9dd;padding:32px}.booking-panel h2{font-size:28px;margin:15px 0}.booking-panel>p{margin-bottom:18px}.booking-panel .button{max-width:480px}.reception-links{display:flex;gap:28px;flex-wrap:wrap;margin-top:25px;font-size:13px}.reception-links a{border-bottom:1px solid currentColor}.reception-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding-top:0}.reception-card{display:flex;flex-direction:column;align-items:stretch;border-top:1px solid var(--ink);padding-top:24px}.reception-card h2{font-size:28px;margin:20px 0}.reception-card>p:not(.eyebrow){font-size:13px;margin-bottom:24px}.reception-card .button{margin-top:auto;font-size:12px;gap:12px}.reception-card .muted{margin:12px 0 0!important}#booking,#join{scroll-margin-top:35px}@media(max-width:760px){.reception-grid{grid-template-columns:1fr;gap:35px}.booking-panel{padding:24px}.booking-panel h2{font-size:24px}.booking-actions .button{font-size:12px;gap:15px}.booking-intro{font-size:27px!important}}
