/* Eternal Twilight — warm plum, champagne and ivory. */
:root{--black:#100d11;--charcoal:#19141a;--surface:#211a22;--surface-soft:#2d222c;--cream:#f8f0e5;--muted:#cbbdc5;--burgundy:#682f4a;--burgundy-bright:#87415f;--gold:#dfbd83;--gold-light:#f3d9ab;--line:#dfbd8333}
html{scroll-padding-top:110px}
body{background:radial-gradient(ellipse at 95% 0,#47243666,transparent 38%),#100d11;color:var(--cream);line-height:1.7}
body:before{opacity:.018}
::selection{background:#dfbd83;color:#20161c}
:focus-visible{outline:3px solid #f3d9ab;outline-offset:5px}
.skip-link{position:fixed;top:12px;left:16px;z-index:1001;padding:12px 20px;background:#f3d9ab;color:#20161c;border-radius:10px;transform:translateY(-160%)}
.skip-link:focus{transform:none}
.topline{background:#181118;border-color:var(--line);letter-spacing:.07em}
.site-header{background:linear-gradient(100deg,#271722f5,#151116f5);border-bottom-color:var(--line);box-shadow:0 8px 35px #0002}
.brand strong{letter-spacing:.12em}
.brand img{background:#fff5e8;border-radius:50%;padding:5px}
.desktop-nav a{font-size:.8rem;transition:color .18s}
.desktop-nav a[aria-current=page]{color:var(--gold-light);text-decoration:underline;text-underline-offset:8px;text-decoration-thickness:2px}
.desktop-nav .nav-call,.btn-gold{background:linear-gradient(125deg,#f2d9ac,#d8b77e);color:#241a20;border-color:#f3d9ab55;box-shadow:0 6px 22px #0002}
.btn{min-height:48px;font-size:.76rem;letter-spacing:.06em;transition:background .2s,box-shadow .2s,transform .2s}
.btn-outline{border-color:#dfbd8370;background:#ffffff04;color:var(--cream)}
@media(hover:hover){.btn:hover{transform:translateY(-2px);box-shadow:0 10px 26px #0004}.btn-outline:hover{background:#dfbd8315}.desktop-nav a:hover{color:var(--gold-light)}}
.section{padding-block:clamp(60px,7vw,100px)}
.eyebrow{font-size:.72rem;letter-spacing:.19em;color:var(--gold)}
.section-heading{max-width:820px}
.section-heading h2,.intro h2{line-height:1.12;letter-spacing:-.035em}
.section-heading p:not(.eyebrow),.intro p{color:var(--muted);line-height:1.8}
.hero{border-radius:28px;border-color:var(--line);box-shadow:0 24px 65px #0004}
.hero-shade{background:linear-gradient(90deg,#21121df2,#1b111bd4 45%,#140e143d),linear-gradient(0deg,#140e1480,transparent)}
.hero-content{width:min(810px,100%);padding:clamp(34px,5vw,68px)}
.hero h1{font-size:clamp(3.4rem,6.2vw,6rem);line-height:1.04;letter-spacing:-.045em}
.hero .hero-logo{width:88px;height:88px;background:#fff4e4;border-radius:50%;padding:8px}
.offer-badge{background:#f5dbac12;border-color:#dfbd8355;box-shadow:none;color:#f3d9ab;font-size:.66rem}
.hero-description{max-width:560px;color:#e0d3db!important;line-height:1.8}
.hero-offer{display:flex;flex-wrap:wrap;gap:8px 18px;color:var(--gold-light);font-size:.9rem!important;font-weight:600}
.hero-offer strong{font-weight:600}
.hero-actions{gap:12px}
.hero-meta{color:var(--muted)}
.marquee{background:#2b1c28;border-block:1px solid var(--line);color:var(--gold-light)}
.marquee-track{animation-duration:45s}
.marquee:hover .marquee-track,.marquee:focus .marquee-track{animation-play-state:paused}
.intro-points span,.visit-chips span{background:#dfbd830a;border:1px solid var(--line);border-radius:10px;color:#e5d9df;padding:9px 13px}
.services-section .stack-card{background:#211921;border:1px solid var(--line);box-shadow:0 22px 55px #0004;border-radius:26px}
.stack-content{background:linear-gradient(145deg,#2b202b,#1c161d)}
.stack-content h3{letter-spacing:-.03em;line-height:1.12}
.stack-content>p:not(.eyebrow):not(.durations){color:var(--muted);line-height:1.75}
.durations{color:var(--gold-light)}
.stack-num{color:#dfbd8330}
.service-index-grid article,.membership-grid article,.blog-card,.experience-grid article,.duration-grid article,.location-card{background:linear-gradient(135deg,#271d27,#1b161d);border:1px solid var(--line);border-radius:22px;box-shadow:0 12px 30px #0002}
.membership-grid article.featured{border-color:#dfbd8388;background:linear-gradient(145deg,#3b2638,#221922)}
.plan-tag{background:#e4c492;color:#251b20}
.gallery-open{background:#1d171d;border:1px solid var(--line);border-radius:20px;overflow:hidden}
.gallery-slide figcaption{color:#dfd2da;line-height:1.5;padding-top:16px}
.gallery-buttons button,.gallery-dots button{min-width:44px;min-height:44px}
.gallery-dots button{position:relative;width:44px;height:44px;padding:0;background:transparent;border:0;border-radius:50%}
.gallery-dots button:after{content:"";position:absolute;width:7px;height:7px;border-radius:50%;background:#877680;inset:0;margin:auto}
.gallery-dots button.active{background:transparent}
.gallery-dots button.active:after{width:22px;border-radius:8px;background:var(--gold)}
.inner-hero{border-radius:24px;border:1px solid var(--line);overflow:hidden}
.inner-hero-overlay{background:linear-gradient(90deg,#21151deb,#1711188f)}
.inner-hero-copy p{color:#eee2e9}
.faq-list details{border-color:var(--line);background:#211921;border-radius:14px;margin-bottom:12px;padding-inline:22px}
.faq-list summary{padding-block:20px;line-height:1.5}
.faq-list details[open]{border-color:#dfbd8377}
.faq-list p{color:var(--muted)}
.map-card{border:1px solid var(--line);border-radius:22px;overflow:hidden}
.site-footer{background:#171017;border-top:1px solid var(--line)}
.footer-grid p,.footer-grid a,.footer-bottom{color:var(--muted)}
.footer-brand img{background:#fff4e4;border-radius:20px;padding:10px}
.sticky-actions a{min-width:48px;min-height:48px;box-shadow:0 5px 20px #0005}
.mobile-nav nav{background:#241a23;border-color:#dfbd8355;box-shadow:0 18px 45px #0006}
.mobile-nav nav a{min-height:44px;font-size:.9rem}
@media(max-width:760px){
 :root{--shell:min(1180px,calc(100% - 32px))}
 .brand strong{font-size:clamp(.82rem,3.8vw,1.1rem);letter-spacing:.08em}.brand img{width:44px;height:44px}.nav-wrap{gap:12px;min-height:72px}
 .hero{height:auto!important;min-height:0!important;max-height:none!important;border-radius:22px!important}
 .hero-shade{background:linear-gradient(180deg,#23151ecc,#18101aee)!important}
 .hero-content{position:relative!important;inset:auto!important;width:100%!important;padding:34px 20px!important;background:transparent!important;border:0!important;border-radius:0!important;backdrop-filter:none!important;box-shadow:none!important;text-align:left!important}
 .hero .offer-badge{margin:0 0 20px!important;padding:8px 12px!important;font-size:.61rem!important;line-height:1.5!important}
 .hero-content .eyebrow{font-size:.65rem!important;line-height:1.6!important;margin-bottom:14px!important}
 .hero h1{font-size:clamp(2.6rem,10vw,3.8rem)!important;line-height:1.08!important;margin-bottom:22px!important}
 .hero-description{display:block!important;font-size:.9rem!important;margin-bottom:22px}
 .hero-offer{display:flex!important;gap:6px 14px!important;border:0!important;border-radius:0!important;padding:0!important;font-size:.83rem!important;line-height:1.65!important;letter-spacing:0!important;text-transform:none!important;margin:0 0 16px!important}
 .hero-offer strong{font-size:.83rem!important;margin:0!important}
 .hero-actions .btn{min-height:48px!important;font-size:.69rem!important}
 .services-section .stack-area{padding-bottom:0!important}
 .services-section .stack-card{position:relative!important;top:auto!important;height:auto!important;min-height:0!important;max-height:none!important;grid-template-rows:auto auto!important;margin-bottom:24px!important;box-shadow:0 12px 32px #0003!important;border-radius:22px!important}
 .services-section .stack-image{height:320px!important}
 .services-section .stack-content{height:auto!important;padding:25px 22px!important;overflow:visible!important}
 .services-section .stack-content h3{white-space:normal!important;height:auto!important;min-height:0!important;padding-right:32px!important;font-size:clamp(1.8rem,7.5vw,2.25rem)!important;margin:0 0 14px!important}
 .services-section .stack-content .eyebrow{font-size:.65rem!important}
 .services-section .stack-content>p:not(.eyebrow):not(.durations){font-size:.9rem!important;line-height:1.7!important;min-height:0!important;margin-bottom:16px!important}
 .services-section .durations{font-size:.7rem!important;line-height:1.7!important}
 .services-section .card-actions{margin:12px 0 0!important}
 .services-section .card-actions .btn{min-height:48px!important;font-size:.68rem!important}
 .services-section .stack-num{font-size:2.1rem!important}
 .home-gallery .gallery-open img[src*="client-"]{object-fit:contain!important}
 .inner-hero h1{font-size:clamp(2.1rem,9vw,3.3rem)!important;line-height:1.12!important}
 .no-wrap{white-space:normal}.site-footer{padding-bottom:90px}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Editorial accents and a labelled contact dock. */
.landmark-callout,.section-heading>.landmark-callout{display:flex;align-items:center;justify-content:flex-start;gap:14px;width:fit-content;max-width:100%;padding:16px 20px;margin:20px 0 0;background:#29212c;border:1px solid #dfbd8345;border-radius:16px;box-shadow:none;letter-spacing:normal;line-height:1.5;text-align:left}
.landmark-callout svg{width:24px;height:24px;min-width:24px;flex-shrink:0;color:#e4c492}
.landmark-callout .landmark-text{display:grid;gap:3px;min-width:0;white-space:normal;overflow-wrap:break-word}
.landmark-label{font-size:.65rem;letter-spacing:.14em;text-transform:uppercase;color:#d1bdcd;font-weight:600}
.landmark-value{font-size:1rem;line-height:1.45;color:#faf0e4;font-weight:600}
@media(max-width:760px){.landmark-callout,.section-heading>.landmark-callout{width:100%;padding:15px 16px;gap:12px}.landmark-value{font-size:.95rem}.directions-head>div{min-width:0;width:100%}}
.intro.section{background:#f1e8dc;color:#33232e;border-radius:28px;padding:clamp(28px,4vw,54px);margin-block:64px;border:1px solid #fff5e8;box-shadow:0 18px 55px #0002}
.intro .eyebrow{color:#754057}.intro.section>div>p:not(.eyebrow){color:#65545f}.intro h2{color:#34212e}
.intro .intro-points span{color:#4d3c47;background:#fff9ef;border-color:#b5926238}.intro .intro-points svg{color:#7b425c}
.section-heading:before{content:"";display:block;width:48px;height:2px;background:linear-gradient(90deg,#e3c18d,#89516e);margin-bottom:24px}
.home-gallery{background:linear-gradient(180deg,#281c29aa,#17121900);border-top:1px solid var(--line)}
.gallery-slide figcaption span{display:inline-grid;place-items:center;width:32px;height:32px;border:1px solid var(--line);border-radius:50%;margin-right:12px;color:var(--gold);font-size:.7rem}
.blog-card{overflow:hidden;transition:transform .2s,border-color .2s}.blog-card img{border-radius:0}
.blog-card h3,.blog-card h2{line-height:1.2}
.hero{border-radius:60px 24px 60px 24px}
.sticky-actions{left:auto;right:24px;bottom:24px;transform:none;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:8px;width:324px;border:1px solid #dfbd8366;border-radius:20px;background:#241b27ed;backdrop-filter:blur(18px);box-shadow:0 12px 42px #0006}
.sticky-actions a{display:flex;align-items:center;justify-content:center;gap:10px;width:auto;height:58px;min-width:0;border-radius:13px;box-shadow:none;transition:background .2s,transform .2s}
.sticky-actions svg{width:23px;height:23px;flex-shrink:0}
.sticky-actions .wa{background:#254d40;color:#effaf2;border:1px solid #a7d2b742}
.sticky-actions .call{background:linear-gradient(120deg,#f3dbb5,#dfbc84);color:#2b2028;border:1px solid #f6e4c7}
.contact-label{display:grid;gap:2px;text-align:left;line-height:1.2}
.contact-label strong{font-size:.86rem;font-weight:700;letter-spacing:.01em}
.contact-label small{font-size:.64rem;opacity:.85}
body.modal-open .sticky-actions{visibility:hidden;pointer-events:none}
.site-footer{padding-bottom:118px}
@media(hover:hover){.sticky-actions .wa:hover{background:#31604f}.sticky-actions a:hover{transform:translateY(-2px)}.blog-card:hover{transform:translateY(-4px);border-color:#dfbd8377}}
@media(max-width:760px){
 .intro.section{margin-block:36px;padding:28px 22px;border-radius:22px;gap:20px}
 .intro h2{font-size:2.25rem}.intro .intro-points span{font-size:.76rem}
 .hero{border-radius:32px 18px 32px 18px!important}
 .sticky-actions{left:12px;right:12px;bottom:max(10px,env(safe-area-inset-bottom));width:auto;padding:7px;gap:7px;border-radius:18px;transform:none}
 .sticky-actions a{height:54px;border-radius:12px}.contact-label strong{font-size:.85rem}.contact-label small{font-size:.63rem}
 .site-footer{padding-bottom:120px}
}
