/* Lumiere publication palette: black, brand yellow, warm amber, silk ivory. */
:root{--accent:#ffd000;--ink:#10110f;--paper:#eee9df;--muted:#acafa3}.section,.hero,.experience{isolation:isolate}.section{position:relative;overflow:hidden}.section>*:not(.brand-contour){position:relative;z-index:1}.section .brand-contour{position:absolute;z-index:0;right:-12%;top:0;width:75%;height:100%;pointer-events:none;stroke:currentColor;stroke-width:.6;opacity:.055}.philosophy .brand-contour{right:-22%;transform:rotate(-17deg);opacity:.07}.membership .brand-contour{color:var(--accent);right:-22%;opacity:.13}.spa .brand-contour{color:#986221;right:15%;top:-20%;opacity:.09;transform:rotate(55deg)}.day .brand-contour{right:-25%;opacity:.05}.final .brand-contour{color:var(--accent);opacity:.1;right:-12%;top:-20%;height:160%}.paper{background-color:var(--paper);background-image:radial-gradient(ellipse at 95% 0,#b59b6533,transparent 52%),linear-gradient(125deg,#fff8 0%,transparent 42%,#dfd4be44 70%,transparent)}.membership{background:radial-gradient(ellipse at 8% 20%,#96731e20,transparent 50%),linear-gradient(145deg,#171913,#080b09 75%)}.team{background:radial-gradient(ellipse at 100% 50%,#69532018,transparent 60%),#141512}.location{background:radial-gradient(ellipse at 0 80%,#b88b2720,transparent 65%),#141512}.final{background:radial-gradient(ellipse at 50% 100%,#9e72132b,transparent 65%),#080c09}.hero-ribbon{position:absolute;z-index:0;left:-19%;top:-15%;width:66%;height:140%;background:linear-gradient(115deg,transparent 39%,#ffd0000a 40%,#ffd0001c 43%,#ffd00003 47%,transparent 48%);transform:rotate(-10deg);pointer-events:none}.hero h1 .hero-name{color:#ffd000}.hero-content{z-index:2}.hero-foot{z-index:3}.hero-intro:before{content:'';display:inline-block;width:22px;height:1px;background:var(--accent);vertical-align:middle;margin-right:12px}.reading-progress{position:fixed;left:0;top:0;height:2px;width:100%;background:var(--accent);z-index:80;transform-origin:left;transform:scaleX(0);pointer-events:none}.booking-button{position:relative;display:inline-flex;align-items:center;justify-content:space-between;gap:36px;padding:19px 23px;min-height:57px;min-width:230px;background:var(--accent);color:#15160e;font-size:11px;font-weight:600;text-align:left;border:1px solid #e6bc00;transition:background .3s,transform .3s;overflow:hidden}.booking-button:hover{background:#ffe45c;transform:translateY(-2px)}.booking-button:active{transform:translateY(0)}.cta-arrow{font-size:24px;line-height:1;transition:transform .35s}.booking-button:hover .cta-arrow{transform:translate(3px,-3px)}.trail-button{isolation:isolate;overflow:hidden}.trail-button:after{content:'';position:absolute;inset:0;pointer-events:none;z-index:0;border:1px solid #fff9;clip-path:polygon(0 0,0 0,0 0,0 0);animation:edge-trail 2.4s var(--ease) 1 both}.trail-button:hover:after,.trail-button:focus-visible:after{animation:edge-trail-hover 1.5s var(--ease) both}.trail-button>*{position:relative;z-index:1}.nav-book{background:#ffd000;color:#10120b;border-color:#ffd000}.nav-book:hover{background:#ffe779}.hero-bottom .trail-button{padding:18px 22px;border:1px solid var(--accent);background:var(--accent);color:#15160e;min-width:235px}.hero-bottom .trail-button:hover{background:#ffe779}.philosophy-action{margin:35px 0 0 45%}.philosophy-action .booking-button{background:transparent;border-color:#181a1855;min-width:275px}.philosophy-action .booking-button:hover{background:#ffd000}.scene .booking-button{margin-top:30px}.scene .eyebrow{display:flex;align-items:center;gap:16px}.lumi-icon{width:44px;height:44px;flex:none;vertical-align:middle;color:var(--accent)}.lumi-icon path,.lumi-icon circle{stroke-dasharray:180;stroke-dashoffset:0;animation:icon-draw 1.6s var(--ease) both}.scene[data-scene='2'] .lumi-icon,.paper .lumi-icon{color:#89701e}.scene-copy:hover .icon-water{animation:water-sway 2s ease-in-out 1}.scene-copy:hover .icon-spa,.spa-text:hover>.reveal .icon-spa{animation:leaf-breathe 1.8s ease-in-out 1}.scene-copy:hover .icon-move{animation:weight-tilt .8s ease-in-out 1}.club-copy>.booking-button{margin-top:30px}.club-hours .lumi-icon{width:29px;height:29px;margin-right:15px;color:#75601b}.club-hours span{margin-left:44px}.club{background-image:radial-gradient(450px circle at var(--spot-x,60%) var(--spot-y,40%),#fff9,transparent 85%),linear-gradient(130deg,#e7e1d3,#f4efe6 65%,#e0d5bd)}.club-image:before,.club-image:after{opacity:.8;transform:none;border-color:#ffd000}.membership:before{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(500px circle at var(--spot-x,20%) var(--spot-y,30%),#f5d77b0b,transparent 75%)}.membership-note>.booking-button{margin-top:30px}.tariff{transition:background .4s,border-color .4s}.tariff:hover,.tariff[open]{border-color:#ffd00090;background:linear-gradient(90deg,#ffd00008,transparent)}.tariff summary{padding-inline:12px}.tariff .line-link{color:#ffd000}.tariff summary b{color:#ffd000}.spa-photo{border:1px solid #99723260;box-shadow:0 25px 70px #2a1d0c17}.spa-photo:before,.spa-photo:after{opacity:.75;transform:none;border-color:#ffe9a3}.spa-photo:after{height:100%;width:1px;border:0;right:0;bottom:0;background:linear-gradient(transparent,#f8dc8b,transparent);transform:translateY(-100%);animation:spa-shine 4s 1 both}.spa-text>p .lumi-icon{display:block;margin-bottom:22px}.rituals .booking-button{background:transparent;border-color:#9c813c70;color:#3d361d;min-height:46px;font-size:10px;padding:12px 16px;min-width:220px;margin:0 0 24px}.rituals .booking-button:hover{background:#ffd000}.rituals .cta-arrow{font-size:19px}.chapter-cta{display:flex;align-items:center;justify-content:space-between;gap:35px;border-top:1px solid #ffffff30;margin-top:45px;padding-top:35px}.chapter-cta>div{display:flex;gap:20px;align-items:center}.chapter-cta p{font-size:17px;line-height:1.7}.chapter-cta small{display:block;font-size:11px;opacity:.65;margin-top:6px}.paper .chapter-cta{border-color:#181a1835}.day-grid figcaption .lumi-icon{float:right;width:32px;height:32px;margin-top:5px}.team-rail img{transition:filter .7s,transform 1s var(--ease);filter:saturate(.85)}.team-rail figure{overflow:hidden}.team-rail figure:hover img{filter:saturate(1);transform:scale(1.025)}.location-symbol{margin-top:30px}.location-symbol+.reveal{margin-top:15px}.location-meta .booking-button{margin-top:30px}.final-link{padding:24px;border:1px solid #ffd00080;min-width:360px;color:#ffd000}.final-link:before{content:'';position:absolute;bottom:0;left:0;width:100%;height:1px;background:#ffd000;transform:scaleX(.2);transform-origin:left;transition:transform .7s var(--ease)}.final-link:hover:before{transform:scaleX(1)}.word-mask{display:inline-block;overflow:clip;vertical-align:bottom;padding-bottom:.08em;margin-bottom:-.08em}.word-inner{display:inline-block;transition:transform 1s var(--ease),opacity .8s;transition-delay:var(--word-delay)}.js-motion .display.pending .word-inner{transform:translateY(110%);opacity:0}.desktop-visit{position:fixed;z-index:30;right:28px;bottom:26px;display:flex;flex-direction:column;align-items:flex-end;gap:9px;transform:translateY(130%);opacity:0;transition:transform .5s var(--ease),opacity .5s;pointer-events:none}.desktop-visit.visible{opacity:1;transform:none;pointer-events:auto}.desktop-visit .booking-button{box-shadow:0 8px 35px #0004;min-width:225px}.effects-toggle{font-size:8px;letter-spacing:.07em;background:#171a16;color:#dedccc;border:1px solid #ffffff35;padding:8px 12px}.lumi-cursor{position:fixed;left:0;top:0;z-index:200;pointer-events:none;opacity:0;transition:opacity .2s}.lumi-cursor:before{content:'';display:block;position:absolute;width:26px;height:26px;left:-13px;top:-13px;border:1px solid #ffd000a6;border-radius:50%;transition:width .25s,height .25s,left .25s,top .25s,background .25s;box-shadow:0 0 0 1px #14171230}.lumi-cursor.active:before{width:68px;height:68px;left:-34px;top:-34px;background:#171a16dc;border-color:#ffd000c9}.lumi-cursor span{position:absolute;left:-31px;top:-7px;width:62px;text-align:center;font-size:7px;letter-spacing:.07em;color:#ffd000;opacity:0;transition:opacity .2s}.lumi-cursor.active span{opacity:1}.lumi-cursor.visible{opacity:1}.lumi-cursor.pressed:before{width:48px;height:48px;left:-24px;top:-24px}.frame:hover:before,.frame:hover:after{border-color:#ffd000}dialog{max-height:90svh;overflow-y:auto;background:radial-gradient(ellipse at 100% 0,#e6d8b8,transparent 65%),#eee9df;border-top:3px solid #ffd000;padding:40px 50px}dialog h2{font-size:35px;margin:20px 0}#lead-form{margin-top:22px;display:grid;grid-template-columns:1fr 1fr;gap:15px}#lead-form label{display:block;font-size:10px;line-height:1.8}#lead-form input{display:block;width:100%;background:#fff5;border:1px solid #181a1840;padding:13px 11px;font:inherit;font-size:12px;color:#181a18;border-radius:0;margin-top:6px}#lead-form input:focus-visible{outline:2px solid #8f741b;outline-offset:2px}#lead-form button{grid-column:1/-1;display:flex;justify-content:space-between;border:1px solid #181a1840;padding:14px 16px;font-size:12px;cursor:not-allowed;color:#696958;background:#d9d6c9;opacity:1}#lead-form .form-note{grid-column:1/-1;font-size:10px;line-height:1.8;color:#626454}.call-link{font-size:21px;margin-top:20px;padding:16px 0}.dialog-hours{font-size:11px!important}
@keyframes edge-trail{0%{clip-path:polygon(0 0,0 0,0 0,0 0)}35%{clip-path:polygon(0 0,100% 0,100% 4%,0 4%)}70%{clip-path:polygon(96% 0,100% 0,100% 100%,96% 100%)}100%{clip-path:polygon(0 97%,100% 97%,100% 100%,0 100%)}}
@keyframes edge-trail-hover{0%{clip-path:polygon(0 0,0 0,0 0,0 0)}50%{clip-path:polygon(0 0,100% 0,100% 5%,0 5%)}100%{clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}}
@keyframes icon-draw{from{stroke-dashoffset:180}to{stroke-dashoffset:0}}@keyframes water-sway{50%{transform:translateY(-3px)}}@keyframes leaf-breathe{50%{transform:scale(1.08)}}@keyframes weight-tilt{50%{transform:rotate(-7deg)}}@keyframes spa-shine{to{transform:translateY(100%)}}
@media(max-width:1050px){.nav-book{padding:12px;font-size:9px}.hero-bottom .trail-button{min-width:220px}.booking-button{min-width:210px;padding-inline:18px}.chapter-cta p{font-size:15px}}
@media(max-width:760px){.section .brand-contour{width:140%;right:-65%;opacity:.07}.membership .brand-contour{opacity:.1}.hero-ribbon{left:-50%;width:100%}.philosophy-action{margin-left:14%;margin-top:28px}.philosophy-action .booking-button{min-width:0;width:100%;font-size:10px;padding:16px}.philosophy{padding-bottom:90px}.small-mark{bottom:23px}.scene .booking-button{margin-top:25px}.lumi-icon{width:35px;height:35px}.club-copy>.booking-button{min-width:0;width:100%;padding-inline:15px;font-size:10px;gap:15px}.membership-note>.booking-button{grid-column:1/-1;margin-top:20px;justify-self:start}.chapter-cta{align-items:stretch;flex-direction:column;gap:24px;margin-top:30px;padding-top:30px}.chapter-cta .booking-button{align-self:flex-start}.chapter-cta>div{gap:15px}.chapter-cta p{font-size:16px}.desktop-visit{display:none}.lumi-cursor{display:none}.final-link{min-width:0;padding:20px}.mobile-book{width:100%;background:#ffd000;border-top:1px solid #e0b800;font-weight:600;min-height:59px}.hero-bottom .trail-button{font-size:11px;margin-top:23px;min-width:235px}.location-meta .booking-button{width:100%}.nav-book{background:transparent;color:#fff;border:0}.hero-intro{font-size:7px}dialog{padding:35px 24px;max-height:calc(100svh - 35px)}dialog h2{font-size:29px}#lead-form{grid-template-columns:1fr;gap:10px}#lead-form input{padding:10px}.call-link{font-size:19px}.day-grid figcaption .lumi-icon{width:27px;height:27px}.club-hours .lumi-icon{margin-right:10px;width:25px;height:25px}.club-hours span{margin-left:35px}}
@media(hover:none),(pointer:coarse){.lumi-cursor{display:none!important}}
@media(prefers-reduced-motion:reduce){.word-inner{transform:none!important;opacity:1!important}.lumi-cursor{display:none!important}.reading-progress{display:none}.trail-button:after{animation:none;clip-path:none;opacity:.25}}
html[data-effects='off'] *,html[data-effects='off'] *:before,html[data-effects='off'] *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}html[data-effects='off'] .lumi-cursor{display:none!important}html[data-effects='off'] .pending,html[data-effects='off'] .word-inner{opacity:1!important;transform:none!important}

.lumi-icon path,.lumi-icon circle{animation:none}.lumi-icon.in-view path,.lumi-icon.in-view circle{animation:icon-draw 1.6s var(--ease) both}.trail-button:not(.in-view):not(:hover):after{animation:none;clip-path:none;opacity:.15}

/* Premium V2: responsive controls and calm interaction hierarchy. */
body>.effects-toggle{position:fixed;z-index:81;right:24px;bottom:10px;min-height:44px;font-size:10px;padding:10px 14px;background:#171a16;color:#f3eee2}
.desktop-visit{bottom:66px}
:where(button,a,summary,input):focus-visible{outline:3px solid #ffd000;outline-offset:5px}
.paper :where(button,a,summary):focus-visible,dialog :where(button,a,summary):focus-visible{outline-color:#675100}
html{scroll-padding-top:110px;scroll-padding-bottom:100px}
.coach-pagination button,.team-arrows button{min-width:44px;min-height:44px}
#coach-current{font-variant-numeric:tabular-nums}
.booking-button,.nav-book{transition-duration:180ms}
@media(max-width:760px){body>.effects-toggle{right:12px;bottom:calc(68px + env(safe-area-inset-bottom));font-size:10px}.mobile-book{padding-bottom:env(safe-area-inset-bottom)}body{padding-bottom:calc(59px + env(safe-area-inset-bottom))}.hero h1{font-size:clamp(49px,15.7vw,112px)}.coach-info h3{font-size:clamp(25px,7.2vw,38px)}.effects-toggle{opacity:.92}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.pending{opacity:1!important;transform:none!important}}
html[data-page-hidden] *,html[data-page-hidden] *:before,html[data-page-hidden] *:after{animation-play-state:paused!important}

.final>.effects-toggle{position:relative;display:block;min-height:44px;margin:40px auto 0;font-size:11px;color:#eee9df;padding:12px 18px}body:has(dialog[open]) .mobile-book{visibility:hidden}.team .rail-controls button{min-width:44px;min-height:44px}

/* Reading sizes: hierarchy through scale, not low contrast microcopy. */
.header nav a,.nav-book{font-size:12px}.eyebrow{font-size:11px}
.booking-button,.line-link,.coach-book{font-size:12px}
.scene-copy>p:not(.eyebrow),.club-copy>p:not(.eyebrow){font-size:15px;line-height:1.8}
.hero-bottom p{font-size:15px}.hero-foot,.stage-count>span:last-child{font-size:10px}
.coach-info>p,.coach-index,.coach-vertical,.team-caption,.coach-pagination button{font-size:11px}
#lead-form label,#lead-form .form-note{font-size:12px}#lead-form input{font-size:16px;min-height:48px}
@media(max-width:1050px) and (min-width:761px){.header{gap:18px}.header nav{gap:13px}.header nav a,.nav-book{font-size:10px}}
@media(max-width:760px){.header nav a{font-size:16px}.nav-book{font-size:9px}.hero-bottom p{font-size:14px}.scene-copy>p:not(.eyebrow),.club-copy>p:not(.eyebrow){font-size:14px}.hero-foot{font-size:9px}.coach-vertical{font-size:10px}.coach-index,.team-caption{font-size:10px}.coach-info>p{font-size:10px}.hero-intro{font-size:9px}.club-copy{padding-left:0}.club-image{max-width:100%}.philosophy-action{margin-left:0}.philosophy-copy{margin-left:0}.display{letter-spacing:-.05em}}
@media(max-width:360px){.nav-book{font-size:8px}.header{gap:10px}}

.paper .soft{color:#565c51}.paper .chapter-cta small{opacity:.85}.nav-book:hover{color:#10120b}.coach-pagination button{color:#aeb5a7}.rituals summary small,.tariff-time,.membership-note small,footer,.video-toggle{font-size:11px}.scene[data-scene="2"]{color:#252c27}.scene[data-scene="2"] .booking-button{color:#15160e}.rituals p{color:#45483f}
@media(max-width:760px){.header>.nav-book{display:none}.hero-bottom .trail-button,.club-copy>.booking-button,.philosophy-action .booking-button,.mobile-book,.rituals .booking-button{font-size:12px}.team-caption,.coach-info>p,.coach-index,.coach-pagination button{font-size:11px}}
