:root{font-family:Inter,Arial,sans-serif;color:#f5f3fa;background:#09090d;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--bg:#09090d;--panel:#111116;--muted:#9a98a5;--line:rgba(255,255,255,.13);--violet:#a78bfa;--cyan:#6ce8ed;--display:'Barlow Condensed',Impact,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;min-width:320px;background:var(--bg)}body.modal-open{overflow:hidden}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--cyan);outline-offset:4px}::selection{background:var(--violet);color:#08080b}.site-header{height:82px;position:absolute;inset:0 0 auto;z-index:20;border-bottom:1px solid rgba(255,255,255,.12);background:rgba(8,8,12,.66);backdrop-filter:blur(18px)}.header-inner{height:100%;max-width:1440px;padding:0 5.5%;margin:auto;display:flex;align-items:center;justify-content:space-between}.brand{display:inline-flex;align-items:center;gap:10px;font-weight:800;letter-spacing:.15em;font-size:18px}.brand-mark{width:29px;height:29px;display:grid;place-items:center;background:var(--violet);color:#0a0910;font-family:var(--display);font-size:24px;font-weight:900;clip-path:polygon(0 0,100% 0,100% 78%,78% 100%,0 100%)}.brand-dot{color:var(--violet)}.main-nav{display:flex;align-items:center;gap:clamp(18px,2.4vw,37px)}.main-nav>a{font-size:10px;letter-spacing:.13em;color:#d2cfdb;transition:color .2s}.main-nav>a:hover,.footer-links a:hover{color:var(--violet)}.button{min-height:52px;display:inline-flex;align-items:center;justify-content:center;gap:28px;padding:0 21px;border:1px solid transparent;font-size:10px;font-weight:700;letter-spacing:.12em;cursor:pointer;transition:background .25s,border-color .25s,transform .25s,color .25s}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--violet);color:#0a0910}.button-primary:hover{background:#c0adff}.button-outline{background:transparent;border-color:rgba(255,255,255,.28);color:#f4f1fa}.button-outline:hover{border-color:var(--violet);background:rgba(167,139,250,.08)}.button-small{min-height:40px;padding:0 15px;font-size:9px}.arrow{font-size:17px;line-height:1;font-weight:400}.menu-toggle{display:none;background:none;border:0;padding:10px}.hero{min-height:760px;height:min(920px,100svh);max-height:1050px;position:relative;display:flex;align-items:center;overflow:hidden;background-image:linear-gradient(90deg,rgba(8,8,12,.96) 0%,rgba(8,8,12,.83) 32%,rgba(8,8,12,.34) 68%,rgba(8,8,12,.44) 100%),linear-gradient(0deg,#09090d 0%,transparent 24%,rgba(9,9,13,.12) 80%,rgba(9,9,13,.36) 100%),var(--hero-image);background-position:center;background-size:cover}.hero:after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 72% 50%,rgba(123,76,218,.14),transparent 42%)}.hero-grid{position:absolute;inset:0 0 0 48%;opacity:.14;background-image:linear-gradient(rgba(255,255,255,.2) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.2) 1px,transparent 1px);background-size:76px 76px;mask-image:linear-gradient(90deg,transparent,#000 60%,transparent)}.hero-content{position:relative;z-index:2;width:min(650px,82%);margin-left:max(8%,calc((100vw - 1280px)/2));padding-top:70px}.eyebrow,.section-kicker,.overline{font-size:10px;font-weight:600;letter-spacing:.18em;color:#bdb7cc}.eyebrow{display:flex;align-items:center;gap:12px}.status-dot{width:6px;height:6px;border-radius:50%;background:var(--cyan);box-shadow:0 0 14px var(--cyan)}.eyebrow-line{height:1px;width:54px;background:var(--violet);margin-left:4px}.hero h1,.intro h2,.membership h2,.setup-title h2,.community-body h2,.location-grid h2,.booking-modal h2{font-family:var(--display);font-size:clamp(78px,10.3vw,148px);font-weight:800;line-height:.78;letter-spacing:-.025em;margin:31px 0 28px}.hero h1 span,.intro h2 span,.membership h2 span,.community-body h2 span,.location-grid h2 span,.booking-modal h2 span{color:var(--violet)}.hero-copy{font-size:14px;line-height:1.9;color:#d0cdd8;max-width:465px}.hero-actions{display:flex;align-items:center;gap:30px;margin-top:30px}.text-link{display:inline-flex;align-items:center;gap:13px;font-size:9px;font-weight:700;letter-spacing:.13em;border:0;background:none;cursor:pointer}.text-link:hover{color:var(--violet)}.hero-meta{display:flex;gap:27px;margin-top:76px;color:#b8b4c2;font-size:9px;letter-spacing:.13em}.meta-symbol{color:var(--violet);margin-right:7px;font-size:14px}.meta-index{margin-left:auto;color:#fff}.hero-side-label{position:absolute;right:3.5%;top:46%;writing-mode:vertical-rl;font-size:9px;letter-spacing:.22em;color:rgba(255,255,255,.65);z-index:2}.scroll-cue{position:absolute;bottom:30px;left:5.5%;z-index:2;display:flex;align-items:center;gap:12px;font-size:8px;letter-spacing:.17em;color:#b8b4c2}.scroll-line{width:35px;height:1px;background:var(--violet)}.section-pad{padding-left:max(6%,calc((100vw - 1280px)/2));padding-right:max(6%,calc((100vw - 1280px)/2))}.intro{padding-top:115px;padding-bottom:120px}.section-kicker{display:flex;justify-content:space-between;gap:20px;padding-bottom:18px;border-bottom:1px solid var(--line);color:#a9a5b3}.section-kicker span:first-child{color:var(--violet)}.intro-heading,.membership-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin:55px 0 53px}.intro h2,.membership h2{font-size:clamp(58px,7.4vw,100px);margin:0;line-height:.84}.intro-heading>p,.membership-heading>p{max-width:355px;margin:0 0 3px;color:var(--muted);font-size:13px;line-height:1.9}.experience-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:16px;align-items:start}.experience-card{border:1px solid var(--line);background:#0e0e13;min-width:0;transition:border-color .3s,transform .3s}.experience-card:hover{border-color:rgba(167,139,250,.6);transform:translateY(-5px)}.experience-card.card-tall{margin-top:36px}.card-image{height:260px;position:relative;overflow:hidden;background:#17151f}.card-tall .card-image{height:305px}.card-image:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(0deg,rgba(9,9,13,.7),transparent)}.card-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.72);transition:transform .6s,filter .4s}.experience-card:hover .card-image img{transform:scale(1.04);filter:saturate(1)}.image-index{position:absolute;bottom:15px;left:18px;z-index:1;font-size:8px;letter-spacing:.15em;color:#eee}.experience-copy{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:23px 20px 24px}.experience-copy h3,.price-card h3{font-family:var(--display);font-size:27px;line-height:1;margin:0 0 12px;letter-spacing:.02em}.experience-copy p{font-size:11px;line-height:1.85;color:var(--muted);margin:0;max-width:285px}.card-arrow{color:var(--violet);font-size:18px}.setup-section{position:relative;min-height:850px;overflow:hidden;background:#0d0c12}.setup-image,.setup-overlay{position:absolute;inset:0}.setup-image{background-size:cover;background-position:center;filter:saturate(.65)}.setup-overlay{background:linear-gradient(90deg,rgba(9,9,13,.98) 0%,rgba(9,9,13,.84) 45%,rgba(9,9,13,.36) 100%),linear-gradient(0deg,#09090d,transparent 35%,rgba(9,9,13,.15))}.setup-content{position:relative;z-index:1;padding-top:76px;padding-bottom:55px;min-height:850px;display:flex;flex-direction:column}.setup-title{max-width:550px;margin:68px 0 auto}.overline{color:var(--violet);margin:0 0 20px}.setup-title h2{font-size:clamp(70px,9vw,120px);line-height:.8;margin:0 0 27px}.setup-title h2 span,.gallery-heading h2 span{color:var(--violet)}.setup-description{max-width:380px;color:#bcb8c7;font-size:13px;line-height:1.9;margin:0 0 26px}.spec-strip{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);padding-top:23px;gap:30px}.spec-strip>div{display:grid;grid-template-columns:30px 1fr;column-gap:12px;row-gap:6px}.spec-number{grid-row:span 2;color:var(--violet);font-size:10px}.spec-title{font-size:10px;letter-spacing:.15em}.spec-note{font-size:10px;color:var(--muted)}.membership{padding-top:116px;padding-bottom:120px}.membership-heading{margin-bottom:50px}.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:stretch}.price-card{position:relative;padding:26px 24px 25px;background:#101015;border:1px solid var(--line);min-height:475px;display:flex;flex-direction:column;transition:transform .25s,border-color .25s}.price-card:hover{transform:translateY(-5px);border-color:rgba(167,139,250,.5)}.price-featured{border-color:var(--violet);background:linear-gradient(160deg,rgba(167,139,250,.12),transparent 52%),#111016}.popular-label{position:absolute;top:0;right:0;background:var(--violet);color:#0b0910;padding:9px 12px;font-size:8px;font-weight:700;letter-spacing:.1em}.popular-label span{margin-left:9px}.price-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:25px;border-bottom:1px solid var(--line)}.price-index{font-size:8px;letter-spacing:.14em;color:#aaa5b5}.price-mark{font-size:24px;color:var(--violet)}.package-label{font-size:10px;color:var(--muted);margin:25px 0 7px}.price-card h3{font-size:32px;margin-bottom:20px}.duration{font-family:var(--display);font-size:37px;font-weight:700;letter-spacing:.03em}.duration span{color:var(--violet)}.price-placeholder{font-size:8px;letter-spacing:.13em;color:var(--violet);margin-top:5px}.package-description{font-size:11px;line-height:1.8;color:var(--muted);min-height:57px;margin:19px 0}.price-card ul{list-style:none;padding:18px 0 22px;margin:0 0 18px;border-top:1px solid var(--line);flex:1}.price-card li{display:flex;gap:9px;margin:11px 0;font-size:10px;color:#d2cfdb}.price-card li span{color:var(--violet)}.button-full{width:100%;justify-content:space-between}.pricing-footnote{font-size:8px;line-height:1.8;letter-spacing:.1em;color:#777381;margin:23px 0 0}.community-section{position:relative;min-height:660px;overflow:hidden;background:#0d0c12}.community-image{position:absolute;inset:0 0 0 42%;background-size:cover;background-position:center;filter:saturate(.55)}.community-section:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#09090d 0%,rgba(9,9,13,.97) 35%,rgba(9,9,13,.67) 67%,rgba(9,9,13,.55) 100%),linear-gradient(0deg,#09090d,transparent 30%)}.community-content{position:relative;z-index:1;padding-top:70px;padding-bottom:85px}.community-body{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:end;margin-top:60px}.community-body h2,.location-grid h2{font-size:clamp(80px,10vw,130px);line-height:.76;margin:0}.community-copy>p{font-size:13px;line-height:1.9;color:#c2becb;max-width:400px;margin:0 0 26px}.event-placeholder{display:flex;align-items:flex-start;gap:14px;border:1px solid rgba(255,255,255,.2);padding:17px;margin-bottom:25px;background:rgba(10,9,15,.52);backdrop-filter:blur(8px)}.event-icon{color:var(--violet);font-size:23px}.event-placeholder>div{flex:1}.event-label{display:block;font-size:8px;letter-spacing:.14em;color:var(--muted);margin-bottom:7px}.event-placeholder strong{font-family:var(--display);font-size:22px}.event-placeholder p{font-size:10px;color:var(--muted);margin:6px 0 0}.demo-tag{font-size:8px;letter-spacing:.1em;border:1px solid var(--violet);padding:5px 7px;color:var(--violet)}.gallery-section{padding-top:110px;padding-bottom:120px}.gallery-heading{display:flex;justify-content:space-between;align-items:end;margin:46px 0 34px;gap:25px}.gallery-heading h2{font-family:var(--display);font-size:clamp(52px,7vw,85px);margin:0;line-height:.9}.gallery-heading p{max-width:280px;font-size:11px;line-height:1.8;color:var(--muted);margin:0}.gallery-grid{display:grid;grid-template-columns:1.1fr .85fr 1fr;grid-template-rows:210px 210px;gap:12px}.gallery-item{position:relative;overflow:hidden;padding:0;border:1px solid var(--line);background:#14131b;cursor:zoom-in;text-align:left}.gallery-item img{width:100%;height:100%;object-fit:cover;filter:saturate(.65);transition:transform .5s,filter .4s}.gallery-item:hover img{transform:scale(1.06);filter:saturate(1)}.gallery-item:after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(0deg,rgba(8,8,12,.8),transparent)}.gallery-large{grid-row:span 2}.gallery-tall{grid-row:span 2;grid-column:2}.gallery-item:nth-child(3){grid-column:3;grid-row:1}.gallery-item:nth-child(4){grid-column:3;grid-row:2}.gallery-caption{position:absolute;z-index:1;left:15px;right:15px;bottom:15px;display:flex;justify-content:space-between;align-items:center;font-size:8px;letter-spacing:.12em}.gallery-caption>span:last-child{color:var(--violet);font-size:15px}.location-section{padding-top:85px;padding-bottom:115px;background:#101015}.location-grid{display:grid;grid-template-columns:1fr .9fr;gap:80px;margin-top:62px}.location-grid h2{font-size:clamp(64px,7.8vw,100px);line-height:.83}.location-description{font-size:12px;line-height:1.9;color:var(--muted);max-width:365px;margin:25px 0 28px}.contact-panel{border-top:1px solid var(--line)}.contact-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 0;border-bottom:1px solid var(--line)}.contact-row span{font-size:9px;letter-spacing:.13em;color:var(--muted)}.contact-row strong{font-size:11px;font-weight:500;color:#e0dce8;text-align:right}.map-placeholder{height:135px;display:flex;align-items:center;justify-content:space-between;padding:18px;margin-top:17px;border:1px solid var(--line);color:#bbb6c8;background:linear-gradient(135deg,rgba(167,139,250,.06),transparent 45%),repeating-linear-gradient(45deg,transparent,transparent 20px,rgba(255,255,255,.018) 21px,rgba(255,255,255,.018) 22px)}.map-cross{font-size:24px;color:var(--violet)}.map-placeholder>span:nth-child(2){font-size:9px;letter-spacing:.14em;line-height:1.8}.map-placeholder small{font-size:8px;color:var(--muted)}.map-coordinates{font-size:8px;letter-spacing:.1em;color:var(--muted)}.site-footer{padding:55px max(6%,calc((100vw - 1280px)/2)) 20px;background:#08080b}.footer-main{display:grid;grid-template-columns:1.3fr .7fr 1fr 1fr;gap:35px;padding-bottom:50px}.footer-brand p{font-family:var(--display);font-size:20px;line-height:1.15;letter-spacing:.06em;color:#bcb6ca}.footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:13px}.footer-links>span,.footer-book>span{font-size:8px;letter-spacing:.16em;color:var(--violet);margin-bottom:6px}.footer-links a{font-size:10px;color:#aaa6b3;transition:color .2s}.footer-book{display:flex;flex-direction:column;align-items:flex-start;gap:17px}.footer-bottom{display:flex;justify-content:space-between;gap:15px;padding-top:18px;border-top:1px solid var(--line);font-size:8px;letter-spacing:.1em;color:#777381}.footer-bottom a{color:#c4bfce}.reveal{opacity:1;transform:none}.js-enabled .reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}.js-enabled .reveal.is-visible{opacity:1;transform:translateY(0)}.modal-backdrop,.lightbox{position:fixed;inset:0;z-index:50;background:rgba(3,3,7,.83);backdrop-filter:blur(13px);display:grid;place-items:center;padding:20px;overflow:auto}.booking-modal{position:relative;width:min(100%,590px);max-height:calc(100svh - 40px);overflow:auto;background:#101015;border:1px solid rgba(167,139,250,.45);padding:34px clamp(22px,5vw,48px) 28px;box-shadow:0 25px 100px rgba(0,0,0,.6)}.modal-close{position:absolute;right:16px;top:12px;width:35px;height:35px;border:1px solid var(--line);background:rgba(10,10,14,.8);font-size:25px;line-height:1;cursor:pointer;z-index:3}.modal-close:hover{color:var(--violet);border-color:var(--violet)}.modal-kicker{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:29px;font-size:8px;letter-spacing:.13em;color:var(--muted)}.modal-kicker span:last-child{color:var(--violet)}.booking-modal h2{font-size:64px;line-height:.82;margin:12px 0 17px}.modal-intro,.booking-success>p:not(.overline){font-size:11px;line-height:1.8;color:var(--muted);margin-bottom:25px}.field-label{display:flex;flex-direction:column;gap:8px;font-size:8px;letter-spacing:.12em;color:#bcb7c8;margin-bottom:17px}.field-label input,.field-label select{height:43px;width:100%;padding:0 12px;background:#09090d;color:#f2eef8;border:1px solid rgba(255,255,255,.16);border-radius:0;font-size:11px;letter-spacing:0;color-scheme:dark}.field-label input::placeholder{color:#777381}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.submit-button{margin-top:5px}.privacy-note{font-size:8px;line-height:1.8;color:#777381;margin:13px 0 0}.form-error{font-size:11px;color:#ff9cae;margin:0 0 13px}.booking-success{padding:26px 0 5px}.success-mark{display:grid;place-items:center;width:43px;height:43px;border:1px solid var(--violet);color:var(--violet);font-size:23px;margin-bottom:25px}.booking-success h2{margin-bottom:22px}.success-details{display:grid;grid-template-columns:1fr 1.5fr;gap:13px;padding:18px 0;margin:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.success-details span{font-size:8px;letter-spacing:.12em;color:var(--muted)}.success-details strong{font-size:10px;font-weight:600}.lightbox{cursor:zoom-out}.lightbox img{max-width:min(1100px,94vw);max-height:85svh;object-fit:contain;border:1px solid var(--line)}.lightbox .modal-close{position:fixed;right:24px;top:24px}.no-script{color:white}
@media(min-width:1500px){.hero-content{margin-left:calc((100vw - 1280px)/2)}.hero h1{font-size:155px}}@media(max-width:1050px){.main-nav{gap:17px}.main-nav>a{font-size:9px}.nav-cta{padding:0 11px;gap:12px}.hero{min-height:700px}.hero-content{margin-left:7%}.hero h1{font-size:clamp(80px,12vw,125px)}.experience-grid{grid-template-columns:1fr 1fr}.experience-card.card-tall{margin-top:0}.card-tall .card-image,.card-image{height:250px}.experience-card:first-child{grid-column:span 2}.experience-card:first-child .card-image{height:330px}.price-card{padding:23px 18px}.price-card h3{font-size:27px}.community-body{gap:30px}.location-grid{gap:40px}.footer-main{grid-template-columns:1.1fr .8fr 1fr;}.footer-book{grid-column:3;grid-row:1}}@media(max-width:760px){.site-header{height:70px}.header-inner{padding:0 22px}.brand{font-size:16px}.menu-toggle{display:flex;flex-direction:column;gap:6px;z-index:3}.menu-toggle span{display:block;width:24px;height:1px;background:#f4f0fb;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)}.main-nav{position:absolute;top:69px;left:0;right:0;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:8px 22px 22px;background:rgba(9,9,13,.98);border-bottom:1px solid var(--line);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .2s,transform .2s,visibility .2s}.main-nav.nav-open{opacity:1;visibility:visible;transform:translateY(0)}.main-nav>a{padding:17px 0;border-bottom:1px solid var(--line);font-size:10px}.nav-cta{margin-top:17px;min-height:45px}.hero{height:auto;min-height:790px;max-height:none;align-items:flex-start;background-position:59% center}.hero:before{content:'';position:absolute;inset:0;background:rgba(8,8,12,.2)}.hero-content{width:88%;margin-left:6%;padding-top:175px}.hero h1{font-size:clamp(76px,16vw,120px);margin-top:29px}.hero-copy{max-width:410px;font-size:12px}.hero-actions{align-items:flex-start;flex-direction:column;gap:21px}.hero-meta{gap:14px;flex-wrap:wrap;margin-top:54px;font-size:8px}.meta-index{margin-left:0}.hero-side-label{display:none}.scroll-cue{bottom:20px;left:6%}.section-pad{padding-left:22px;padding-right:22px}.intro,.membership,.gallery-section{padding-top:75px;padding-bottom:80px}.section-kicker{font-size:8px;letter-spacing:.12em}.section-kicker span:last-child{text-align:right}.intro-heading,.membership-heading{display:block;margin:40px 0 32px}.intro h2,.membership h2{font-size:clamp(60px,13vw,88px)}.intro-heading>p,.membership-heading>p{margin-top:23px;font-size:12px}.experience-grid{grid-template-columns:1fr;gap:14px}.experience-card:first-child{grid-column:auto}.experience-card:first-child .card-image,.card-image,.card-tall .card-image{height:235px}.experience-copy{padding:19px}.setup-section,.setup-content{min-height:800px}.setup-content{padding-top:55px;padding-bottom:30px}.setup-overlay{background:linear-gradient(90deg,rgba(9,9,13,.95),rgba(9,9,13,.65)),linear-gradient(0deg,#09090d,transparent 50%)}.setup-title{margin:75px 0 auto}.setup-title h2{font-size:clamp(68px,14vw,100px)}.setup-description{font-size:12px}.spec-strip{gap:12px}.spec-strip>div{grid-template-columns:1fr;gap:8px}.spec-number{grid-row:auto}.spec-title{font-size:8px;line-height:1.5}.spec-note{font-size:8px;line-height:1.5}.pricing-grid{grid-template-columns:1fr;gap:14px}.price-card{min-height:0;padding:22px}.package-description{min-height:0}.price-card ul{padding-bottom:8px}.pricing-footnote{font-size:7px}.community-section{min-height:850px}.community-image{inset:0;background-position:60% center}.community-section:after{background:linear-gradient(0deg,#09090d 0%,rgba(9,9,13,.88) 50%,rgba(9,9,13,.55) 100%)}.community-content{padding-top:55px;padding-bottom:70px}.community-body{grid-template-columns:1fr;gap:40px;margin-top:50px}.community-body h2{font-size:clamp(85px,18vw,120px)}.community-copy>p{font-size:12px}.gallery-heading{display:block;margin:36px 0 25px}.gallery-heading h2{font-size:clamp(54px,12vw,78px)}.gallery-heading p{margin-top:15px}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:180px 180px 180px;gap:9px}.gallery-large{grid-row:span 2}.gallery-tall{grid-row:span 2;grid-column:2}.gallery-item:nth-child(3){grid-column:1;grid-row:3}.gallery-item:nth-child(4){grid-column:2;grid-row:3}.gallery-caption{left:10px;right:10px;bottom:10px;font-size:7px}.location-section{padding-top:65px;padding-bottom:75px}.location-grid{grid-template-columns:1fr;gap:45px;margin-top:43px}.location-grid h2{font-size:clamp(68px,14vw,94px)}.location-description{font-size:12px}.contact-row strong{max-width:58%;font-size:10px}.map-placeholder{height:115px}.site-footer{padding:40px 22px 18px}.footer-main{grid-template-columns:1fr 1fr;gap:34px 20px;padding-bottom:35px}.footer-brand{grid-column:span 2}.footer-book{grid-column:auto;grid-row:auto}.footer-book .button{padding:0 12px;gap:12px;font-size:8px}.footer-bottom{flex-wrap:wrap;line-height:1.6;font-size:7px}.footer-bottom span:nth-child(2){display:none}.booking-modal{padding:29px 20px 23px}.booking-modal h2{font-size:57px}.field-grid{gap:10px}.field-label{font-size:7px}.field-label input,.field-label select{padding:0 8px;font-size:10px}.modal-kicker{font-size:7px}.button{gap:17px}.js-enabled .reveal{transform:translateY(12px)}}@media(max-width:380px){.hero h1{font-size:70px}.hero-actions .button{width:100%;justify-content:space-between}.hero-meta{flex-direction:column;gap:11px}.gallery-grid{grid-template-rows:150px 150px 150px}.footer-main{gap:28px 14px}.footer-brand p{font-size:18px}.field-grid{grid-template-columns:1fr}.booking-modal{max-height:calc(100svh - 20px);padding:25px 16px}.modal-backdrop{padding:10px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}@media print{.site-header,.modal-backdrop,.lightbox,button{display:none!important}.js-enabled .reveal{opacity:1!important;transform:none!important}}
[hidden]{display:none!important}

/* Expansion block: session flow, planning feedback, and FAQ */
.session-flow{background:#0d0c12;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-top:110px;padding-bottom:115px}.flow-heading{display:grid;grid-template-columns:1fr .55fr;gap:60px;align-items:end;margin:52px 0 44px}.flow-heading h2,.faq-intro h2{font-size:clamp(70px,8vw,112px);line-height:.82;letter-spacing:-.045em;margin:20px 0 0}.flow-heading h2 span,.faq-intro h2 span{color:var(--violet)}.flow-heading>p,.faq-intro>p:not(.overline){font-size:13px;line-height:1.9;color:var(--muted);max-width:420px;margin:0 0 5px}.flow-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.flow-card{position:relative;min-height:285px;padding:27px 25px;background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.008));border:1px solid var(--line);display:flex;flex-direction:column;align-items:flex-start;transition:transform .25s,border-color .25s,background .25s}.flow-card:hover{transform:translateY(-4px);border-color:rgba(176,139,255,.48);background:linear-gradient(145deg,rgba(176,139,255,.07),rgba(255,255,255,.01))}.flow-index,.flow-foot{font-size:8px;letter-spacing:.16em;color:var(--muted)}.flow-symbol{display:grid;place-items:center;width:45px;height:45px;margin:28px 0 23px;border:1px solid rgba(176,139,255,.4);color:var(--violet);font-size:22px}.flow-card h3{font-family:var(--display);font-size:26px;line-height:1.05;letter-spacing:.015em;margin:0 0 13px}.flow-card p{font-size:11px;line-height:1.85;color:var(--muted);margin:0 0 24px;max-width:330px}.flow-foot{margin-top:auto;color:#c8b6f5;font-size:7px}
.faq-section{background:#09090d;padding-top:110px;padding-bottom:120px}.faq-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(40px,9vw,130px);margin-top:55px}.faq-intro h2{font-size:clamp(60px,6.5vw,94px)}.faq-intro>p:not(.overline){margin:25px 0 30px}.faq-list{border-top:1px solid var(--line)}.faq-item{border-bottom:1px solid var(--line)}.faq-item summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:22px;padding:23px 0;font-family:var(--display);font-size:23px;letter-spacing:.01em}.faq-item summary::-webkit-details-marker{display:none}.faq-plus{flex:0 0 27px;width:27px;height:27px;display:grid;place-items:center;border:1px solid var(--line);color:var(--violet);font-family:var(--body);font-size:18px;transition:transform .2s,background .2s}.faq-item[open] .faq-plus{transform:rotate(45deg);background:rgba(176,139,255,.1)}.faq-item p{max-width:620px;margin:-2px 35px 24px 0;color:var(--muted);font-size:11px;line-height:1.9;animation:faq-in .18s ease-out}@keyframes faq-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
.booking-estimate{display:grid;grid-template-columns:1fr auto;gap:8px 15px;padding:15px 13px;margin:0 0 18px;border:1px solid rgba(176,139,255,.28);background:rgba(176,139,255,.045)}.booking-estimate span{font-size:8px;letter-spacing:.12em;color:var(--muted)}.booking-estimate strong{font-size:10px;font-weight:600;text-align:right}.booking-estimate strong:last-child{color:var(--violet)}
@media(max-width:760px){.session-flow,.faq-section{padding-top:75px;padding-bottom:80px}.flow-heading{grid-template-columns:1fr;gap:25px;margin:38px 0 30px}.flow-heading h2,.faq-intro h2{font-size:clamp(65px,13vw,88px)}.flow-heading>p,.faq-intro>p:not(.overline){font-size:12px}.flow-grid{grid-template-columns:1fr}.flow-card{min-height:250px;padding:23px}.flow-symbol{margin:22px 0 19px}.faq-layout{grid-template-columns:1fr;gap:36px;margin-top:38px}.faq-item summary{font-size:21px;padding:19px 0}.faq-item p{font-size:11px;margin-right:5px}}
@media(prefers-reduced-motion:reduce){.flow-card:hover{transform:none}.faq-item p{animation:none}}


/* Accessibility and navigation polish */
.skip-link{position:fixed;z-index:1000;left:16px;top:12px;padding:13px 17px;background:var(--violet);color:#100d18;font-size:10px;font-weight:700;letter-spacing:.12em;transform:translateY(-160%);transition:transform .2s}.skip-link:focus{transform:translateY(0)}
:focus-visible{outline:2px solid var(--violet);outline-offset:4px}
.faq-item summary:focus-visible{outline-offset:1px}
@media(prefers-contrast:more){.section-kicker,.package-description,.flow-card p,.faq-item p,.location-description{color:#d5d0df}.button-outline{border-color:#d5d0df}}
.consent-row{display:grid;grid-template-columns:16px 1fr;gap:11px;align-items:start;margin:8px 0 17px;color:#aaa5b5;font-size:10px;line-height:1.8;letter-spacing:0}.consent-row input{margin:4px 0 0;accent-color:var(--violet);width:14px;height:14px}.consent-row a{color:var(--violet);text-decoration:underline;text-underline-offset:3px}.submit-button:disabled{opacity:.7;cursor:wait;transform:none}


/* Live booking-slot feedback */
.availability-status{margin:10px 0 0;padding:11px 13px;border:1px solid var(--line);color:var(--muted);font-size:11px;line-height:1.7}
.availability-status[data-state="good"]{border-color:rgba(86,146,101,.62);color:#b5e8bd}
.availability-status[data-state="warning"]{border-color:rgba(198,144,77,.62);color:#f1d1a3}
.availability-status[data-state="error"]{border-color:rgba(196,91,111,.7);color:#ffc0ca}
#submit-booking:disabled{opacity:.48;cursor:not-allowed;filter:grayscale(.35)}
