/* Self-hosted fonts (were Google Fonts) — files in assets/fonts/ */
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:400 700;font-display:swap;src:url('fonts/cormorant-garamond.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:400 600;font-display:swap;src:url('fonts/cormorant-garamond-italic.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Jost';font-style:normal;font-weight:300 800;font-display:swap;src:url('fonts/jost.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Pinyon Script';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/pinyon-script.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}

/* Gudgel Aesthetics Redesign — global styles (verbatim from DC spec helmet blocks, unioned) */
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip;}
body{font-family:'Jost',sans-serif;color:#2A231C;background:#F5EFE6;overflow-x:clip;max-width:100%;--gold:#B08A47;--gold-ink:#7E6230;--mat:#FFFDF8;--vellum:#F3EBDC;}
img{display:block;max-width:100%;}
a{text-decoration:none;color:inherit;}
::selection{background:#B08A47;color:#fff;}
/* film grain removed per request */
/* paper texture removed per request — sections keep their inline background-color only */
.paper-nude{}
@keyframes marq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes fadeUp{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}
.reveal{animation:fadeUp 1s cubic-bezier(.2,.7,.2,1) both;}
.io{opacity:0;transform:translateY(30px);transition:opacity 1s cubic-bezier(.2,.7,.2,1),transform 1s cubic-bezier(.2,.7,.2,1);}
.io.in{opacity:1;transform:none;}
/* home treatments preview — 12-row list is much taller than the intro column, so centre it
   (sticky is not an option here: body{overflow-x:clip} kills position:sticky in Chromium) */
.svc-aside{align-self:center;}

/* ---- home membership preview: conversion-led plan comparison ---- */
.hm-section{background:#E9DDCA;padding:clamp(84px,10vw,142px) 0;}
.hm-wrap{max-width:1280px;margin:0 auto;padding:0 clamp(20px,5vw,42px);}
.hm-heading{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.72fr);gap:clamp(44px,8vw,118px);align-items:end;}
.hm-kicker{display:flex;align-items:center;gap:14px;font-size:11px;font-weight:500;letter-spacing:.34em;text-transform:uppercase;color:var(--gold-ink);}
.hm-kicker span{width:40px;height:1px;background:rgba(126,98,48,.72);}
.hm-title{max-width:690px;margin-top:25px;font-family:'Cormorant Garamond';font-weight:500;font-size:clamp(48px,6vw,78px);line-height:.94;letter-spacing:-.025em;text-wrap:balance;color:#241D16;}
.hm-title em{font-weight:400;color:var(--gold-ink);}
.hm-heading-copy p{max-width:480px;font-weight:400;font-size:16px;line-height:1.8;text-wrap:pretty;color:#514638;}
.hm-compare{display:inline-flex;align-items:center;gap:12px;margin-top:24px;padding-bottom:6px;border-bottom:1px solid var(--gold-ink);font-size:11.5px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:#2A231C;transition:color .25s ease;}
.hm-compare:hover{color:#6D5429;}
.hm-compare:focus-visible{outline:2px solid var(--gold-ink);outline-offset:5px;}
.hm-plans{margin-top:clamp(48px,6vw,72px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:1px;padding:1px;background:rgba(176,138,71,.38);border:1px solid rgba(176,138,71,.55);outline:1px solid rgba(176,138,71,.24);outline-offset:5px;}
.hm-plan{position:relative;min-height:610px;display:flex;flex-direction:column;padding:clamp(34px,3.2vw,48px);background:#FBF7F0;color:#2A231C;transition:background-color .35s cubic-bezier(.22,1,.36,1);}
.hm-plan::before{content:"";position:absolute;top:0;left:clamp(34px,3.2vw,48px);right:clamp(34px,3.2vw,48px);height:2px;background:#B08A47;transform:scaleX(.32);transform-origin:left;transition:transform .5s cubic-bezier(.22,1,.36,1);}
.hm-plan:hover{background:#FFFDF8;}
.hm-plan:hover::before{transform:scaleX(1);}
.hm-plan--featured{background:radial-gradient(120% 82% at 50% 0%,#241D16 0%,#1B1611 62%);color:#EDE2CF;}
.hm-plan--featured::before{background:linear-gradient(120deg,#cda863,#9c7a36 48%,#e3cb93);transform:scaleX(1);}
.hm-plan--featured:hover{background:radial-gradient(120% 82% at 50% 0%,#2A2119 0%,#1B1611 62%);}
.hm-plan-top{min-height:178px;}
.hm-plan-labels{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.hm-plan-type{font-size:10.5px;font-weight:500;letter-spacing:.27em;text-transform:uppercase;color:var(--gold-ink);}
.hm-plan--featured .hm-plan-type{color:#D9BE86;}
.hm-plan-badge{display:inline-flex;align-items:center;min-height:25px;padding:5px 9px;background:linear-gradient(120deg,#cda863,#9c7a36 48%,#e3cb93);font-size:8.5px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:#17110B;}
.hm-plan h3{margin-top:18px;font-family:'Cormorant Garamond';font-weight:500;font-size:clamp(39px,4vw,52px);line-height:.95;letter-spacing:-.015em;text-wrap:balance;color:#2A231C;}
.hm-plan--featured h3{color:#FBF6EC;}
.hm-plan-top p{max-width:310px;margin-top:18px;font-weight:400;font-size:14.5px;line-height:1.7;text-wrap:pretty;color:#514738;}
.hm-plan--featured .hm-plan-top p{color:rgba(237,226,207,.74);}
.hm-plan-price{display:flex;align-items:flex-end;min-height:88px;white-space:nowrap;font-family:'Cormorant Garamond';font-variant-numeric:lining-nums;font-feature-settings:"lnum" 1;}
.hm-plan-currency{align-self:flex-start;margin-top:10px;margin-right:4px;font-size:24px;line-height:1;color:var(--gold-ink);}
.hm-plan--featured .hm-plan-currency{color:#D9BE86;}
.hm-plan-amount{font-size:clamp(62px,5.7vw,78px);line-height:.78;letter-spacing:-.025em;color:#2A231C;}
.hm-plan--featured .hm-plan-amount{color:#FBF6EC;}
.hm-plan-period{margin:0 0 3px 10px;font-family:'Jost';font-weight:400;font-size:11.5px;letter-spacing:.04em;color:#574E41;}
.hm-plan--featured .hm-plan-period{color:rgba(237,226,207,.62);}
.hm-plan-rule{height:1px;margin:30px 0;background:rgba(176,138,71,.25);}
.hm-plan--featured .hm-plan-rule{background:rgba(217,190,134,.25);}
.hm-plan-benefits{list-style:none;display:flex;flex-direction:column;gap:13px;margin-bottom:36px;}
.hm-plan-benefits li{position:relative;padding-left:18px;font-weight:400;font-size:13.5px;line-height:1.45;color:#514638;}
.hm-plan-benefits li::before{content:"";position:absolute;left:1px;top:.62em;width:5px;height:5px;background:var(--gold-ink);transform:rotate(45deg);}
.hm-plan-benefits strong{font-weight:500;color:#2A231C;}
.hm-plan--featured .hm-plan-benefits li{color:rgba(237,226,207,.82);}
.hm-plan--featured .hm-plan-benefits li::before{background:#D9BE86;}
.hm-plan--featured .hm-plan-benefits strong{color:#FBF6EC;}
.hm-plan-cta{min-height:50px;margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 18px;background:#251E16;font-size:11px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:#F5E9D1;transition:background-color .25s ease;}
.hm-plan-cta span{transition:transform .35s cubic-bezier(.22,1,.36,1);}
.hm-plan-cta:hover{background:#352A1F;}
.hm-plan-cta:hover span{transform:translateX(5px);}
.hm-plan--featured .hm-plan-cta{background:linear-gradient(120deg,#cda863,#9c7a36 48%,#e3cb93);color:#17110B;}
.hm-plan--featured .hm-plan-cta:hover{background:linear-gradient(120deg,#d9b874,#a9853e 48%,#ecd9aa);}
.hm-plan-cta:focus-visible{outline:2px solid #251E16;outline-offset:4px;}
.hm-plan--featured .hm-plan-cta:focus-visible{outline-color:#FBF6EC;}
.hm-guidance{margin-top:26px;text-align:center;font-family:'Cormorant Garamond';font-size:19px;font-style:italic;line-height:1.5;color:#5B4B36;}
.hm-guidance a{display:inline-block;margin-left:6px;font-family:'Jost';font-size:10.5px;font-style:normal;font-weight:500;letter-spacing:.16em;text-transform:uppercase;border-bottom:1px solid rgba(126,98,48,.62);color:#42341F;}
.hm-guidance a:focus-visible{outline:2px solid var(--gold-ink);outline-offset:4px;}
.hm-swipe-cue{display:none;}
@media(max-width:980px){
  .hm-heading{grid-template-columns:1fr;gap:30px;}
  .hm-heading-copy{max-width:560px;}
  .hm-swipe-cue{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:42px;font-size:11.5px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-ink);}
  .hm-swipe-cue span{font-size:18px;}
  .hm-plans{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:min(82vw,370px);gap:12px;margin-top:16px;margin-inline:calc(var(--shell-gutter) * -1);padding:7px var(--shell-gutter) 22px;background:transparent;border:0;outline:0;overflow-x:auto;overscroll-behavior-x:contain;scroll-padding-inline:var(--shell-gutter);scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;}
  .hm-plans::-webkit-scrollbar{display:none;}
  .hm-plan{min-height:560px;border:1px solid rgba(176,138,71,.38);scroll-snap-align:start;}
  .hm-plan--featured{border-color:rgba(217,190,134,.46);}
  .hm-plan-top{min-height:auto;}
  .hm-plan-price{margin-top:34px;}
}
@media(max-width:520px){
  .hm-section{padding:72px 0;}
  .hm-wrap{padding:0 18px;}
  .hm-title{font-size:47px;}
  .hm-heading-copy p{font-size:15.5px;}
  .hm-plans{grid-auto-columns:min(84vw,340px);margin-top:16px;margin-inline:-18px;padding-inline:18px;scroll-padding-inline:18px;}
  .hm-plan{padding:34px 26px 30px;}
  .hm-plan::before{left:26px;right:26px;}
  .hm-plan h3{font-size:42px;}
  .hm-plan-price{margin-top:30px;}
  .hm-plan-amount{font-size:68px;}
  .hm-plan-benefits li{font-size:14px;}
  .hm-plan-cta{font-size:10.5px;}
  .hm-guidance a{display:block;width:max-content;margin:7px auto 0;}
}
@media(prefers-reduced-motion:reduce){
  .hm-compare,.hm-plan,.hm-plan::before,.hm-plan-cta,.hm-plan-cta span{transition:none;}
  .hm-heading.io,.hm-plans.io,.hm-guidance.io{opacity:1;transform:none;}
}
/* ---- contact form ---- */
.gform{display:flex;flex-direction:column;gap:22px;}
.gform-row{display:grid;grid-template-columns:1fr 1fr;gap:22px;}
.gform label{display:flex;flex-direction:column;gap:9px;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:#7A6E5E;}
.gform-req{color:var(--gold);font-weight:400;}
.col-mid{align-self:center;}
.gform input,.gform select,.gform textarea{font-family:'Jost',sans-serif;font-weight:400;font-size:16px;letter-spacing:normal;text-transform:none;color:#2A231C;background:#F8F3EA;border:1px solid rgba(176,138,71,.32);border-radius:0;padding:15px 16px;width:100%;transition:border-color .25s ease,box-shadow .25s ease;}
.gform textarea{resize:vertical;min-height:130px;line-height:1.6;}
.gform select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#B08A47 50%),linear-gradient(135deg,#B08A47 50%,transparent 50%);background-position:calc(100% - 21px) 24px,calc(100% - 15px) 24px;background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:44px;cursor:pointer;}
.gform input:focus,.gform select:focus,.gform textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(176,138,71,.16);}
.gform [data-invalid]{border-color:#A8443B;box-shadow:0 0 0 3px rgba(168,68,59,.12);}
.gform-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.gform button{margin-top:4px;align-self:flex-start;background:linear-gradient(120deg,#cda863,#9c7a36 48%,#e3cb93);color:#231c12;border:none;border-radius:0;padding:18px 42px;font-family:'Jost',sans-serif;font-size:12.5px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;transition:filter .25s ease,opacity .25s ease;}
.gform button:hover{filter:brightness(1.07);}
.gform button:disabled{opacity:.55;cursor:progress;}
.gform-status{font-weight:400;font-size:15px;line-height:1.6;color:#514738;min-height:1px;}
.gform-status[data-tone="ok"]{color:#4B6B4A;}
.gform-status[data-tone="error"]{color:#A8443B;}
/* responsive — union of every page's media queries, verbatim */
@media(max-width:880px){
  .gform-row{grid-template-columns:1fr;}
  .gform button{align-self:stretch;text-align:center;}
  .svc-aside,.col-mid{align-self:stretch;}
  .col2,.col3{grid-template-columns:1fr!important;}
  .svc-no{display:none!important;}
  .m3{grid-template-columns:1fr!important;}
  .grid2{grid-template-columns:1fr!important;}
  .dg{grid-template-columns:1fr 1fr!important;}
  .tiers{grid-template-columns:1fr!important;}
  .feat{transform:none!important;}
  .perks{grid-template-columns:1fr!important;}
  .gal{grid-template-columns:1fr!important;}
  .cta3{grid-template-columns:1fr!important;text-align:center;}
}
@media(max-width:560px){
  .dg{grid-template-columns:1fr!important;}
}

/* ---- home hero crop (keep the serum bottle in frame) ---- */
.hero-img{object-position:center 52%;}
@media(max-width:880px){ .hero-img{object-position:64% 50%;} }
.tech-hero{object-position:center 42%;filter:brightness(1.5) saturate(1.06);}
@media(max-width:880px){ .tech-hero{object-position:72% 48%;filter:brightness(1.28) saturate(1.04);} }

/* ---- mobile: keep hero clear of the fixed header (no overlap on narrow phones) ---- */
@media(max-width:880px){
  .hero-sec{align-items:flex-start!important;}
  .hero-inner{padding-top:clamp(150px,20vh,180px)!important;padding-bottom:clamp(48px,8vh,84px)!important;}
}
/* ---- mobile: tighten announcement strip so the location stops towering ---- */
@media(max-width:560px){
  .strip-row{font-size:9.5px!important;letter-spacing:.13em!important;gap:12px!important;}
  .strip-row .strip-state{display:none;}
  .strip-row .strip-hours{display:none;}
}

/* ---- mobile nav (hamburger) ---- */
.nav-burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:42px;height:42px;padding:0;background:none;border:none;cursor:pointer;color:var(--navfg);}
.nav-burger span{display:block;width:24px;height:1.5px;background:currentColor;transition:transform .35s cubic-bezier(.4,0,.1,1),opacity .2s ease;}
.nav-mobile{position:absolute;top:100%;left:0;right:0;background:#1B1611;padding:14px clamp(20px,5vw,42px) 32px;display:flex;flex-direction:column;opacity:0;visibility:hidden;transform:translateY(-10px);transition:opacity .32s ease,transform .42s cubic-bezier(.4,0,.1,1),visibility .42s;box-shadow:0 34px 60px -24px rgba(0,0,0,.6);}
[data-nav].nav-open .nav-mobile{opacity:1;visibility:visible;transform:translateY(0);}
.nav-mobile a{font-family:'Cormorant Garamond';font-weight:500;font-size:30px;line-height:1;color:#EDE2CF;padding:18px 2px;border-bottom:1px solid rgba(217,190,134,.14);}
.nav-mobile a.m-book{margin-top:26px;font-family:'Jost';font-weight:500;font-size:12px;line-height:1.2;letter-spacing:.22em;text-transform:uppercase;text-align:center;background:linear-gradient(120deg,#cda863,#9c7a36 48%,#e3cb93);color:#231c12;padding:18px;border-bottom:none;}
[data-nav].nav-open .nav-burger span:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
[data-nav].nav-open .nav-burger span:nth-child(2){opacity:0;}
[data-nav].nav-open .nav-burger span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}
@media(max-width:880px){
  .nav-desktop{display:none!important;}
  .nav-burger{display:flex;}
}
/* ============================================================
   TECHNOLOGY — DEVICE STAGE  ("catalogue raisonne")
   The full platform index remains visible while one detail panel comes forward.
   No secondary concern filter: the device names are the only choice required.
   ============================================================ */
[hidden]{display:none!important;}

.dev{display:grid;grid-template-columns:308px 1fr;gap:1px;background:rgba(176,138,71,.34);border:1px solid rgba(176,138,71,.55);outline:1px solid rgba(176,138,71,.25);outline-offset:5px;}
.dev-list{background:var(--vellum);display:flex;flex-direction:column;justify-content:center;}
.dev-row{background:none;border:0;border-bottom:1px solid rgba(176,138,71,.14);cursor:pointer;font-family:'Jost',sans-serif;text-align:left;width:100%;display:grid;grid-template-columns:38px 1fr 16px;align-items:center;gap:11px;padding:15px clamp(16px,1.6vw,24px);box-shadow:inset 0 0 0 0 var(--gold);transition:background .25s ease,color .25s ease,box-shadow .25s ease;}
.dev-row:last-child{border-bottom:0;}
.dev-row .n{font-family:'Cormorant Garamond';font-weight:500;font-size:14px;font-variant-numeric:lining-nums;font-feature-settings:"lnum" 1;color:rgba(176,138,71,.55);transition:color .25s ease;}
.dev-row .t{font-family:'Cormorant Garamond';font-weight:500;font-size:18px;letter-spacing:.01em;line-height:1.2;color:#3A3226;transition:color .25s ease;}
.dev-row .a{color:var(--gold);font-size:12px;opacity:0;transform:translateX(-6px);transition:opacity .25s ease,transform .25s ease;}
.dev-row .c{display:block;font-family:'Jost',sans-serif;font-weight:400;font-size:11.5px;letter-spacing:.035em;line-height:1.35;color:#554C40;margin-top:2px;}
.dev-row:hover{background:#F8F2E7;}
.dev-row:hover .t{color:#2A231C;}
.dev-row:hover .n{color:rgba(176,138,71,.85);}
.dev-row:hover .a,.dev-row.on .a{opacity:1;transform:none;}
.dev-row.on{background:#FBF7F0;box-shadow:inset 2px 0 0 0 var(--gold);}
.dev-row.on .t{color:#2A231C;}
.dev-row.on .n{color:var(--gold);}
.dev-row:focus-visible{outline:1px solid var(--gold);outline-offset:-2px;}

.dev-stage{background:#FBF7F0;display:grid;padding:clamp(30px,3.4vw,54px);}
.dev-panel{grid-area:1/1;display:grid;grid-template-columns:minmax(0,336px) minmax(0,1fr);gap:clamp(28px,3.4vw,56px);opacity:0;visibility:hidden;transition:opacity .4s ease,visibility .4s;}
.dev-panel.on{opacity:1;visibility:visible;}

/* --- the plate: gallery mount. The mat goes UP to near-white so a cream-keyed
   photograph reads as the brightest object on a cream page, not a flat patch. --- */
.dev-plate{position:relative;aspect-ratio:4/5;padding:24px 24px 58px;background:var(--mat);border:1px solid rgba(176,138,71,.55);overflow:hidden;box-shadow:0 1px 2px rgba(58,44,26,.10),0 16px 40px -18px rgba(58,44,26,.30),0 44px 90px -42px rgba(58,44,26,.22);}
.dev-plate img{width:100%;height:100%;object-fit:cover;outline:1px solid rgba(42,35,28,.10);outline-offset:-1px;}
.dev-plate-product img{object-fit:contain;padding:10px 8px 2px;background:radial-gradient(115% 82% at 50% 20%,#40382F 0%,#251E19 52%,#17120F 100%);filter:drop-shadow(0 22px 24px rgba(0,0,0,.28));}
/* gilt rule on the mat, held above the placard */
.dev-plate::after{content:"";position:absolute;inset:12px 12px 46px;border:1px solid rgba(176,138,71,.42);pointer-events:none;}
/* Stand-in plate for a platform with no photo yet — reads as a monogram, not a broken image. */
.dev-plate-mono{display:flex;align-items:center;justify-content:center;height:100%;background:radial-gradient(115% 82% at 50% 30%,#F7F0E3 0%,#EFE5D3 60%,#E6D9C2 100%);outline:1px solid rgba(42,35,28,.10);outline-offset:-1px;font-family:'Pinyon Script';font-size:clamp(96px,13vw,168px);line-height:1;color:rgba(176,138,71,.55);}
.dev-placard{position:absolute;left:24px;right:24px;bottom:22px;text-align:center;font-family:'Jost',sans-serif;font-weight:400;font-size:9.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold-ink);}
.dev-placard::before{content:"";display:block;width:24px;height:1px;margin:0 auto 10px;background:rgba(176,138,71,.5);}
/* no manufacturer photo worth showing — a debossed edition plate, not a missing image */
.dev-mono{position:absolute;inset:24px 24px 58px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(120% 90% at 50% 30%,#F7F0E2 0%,#EFE4CE 55%,#E2D1B2 100%);}
.dev-mono .mk{font-size:13px;line-height:1;color:var(--gold);}
.dev-mono .nm{margin-top:10px;font-family:'Cormorant Garamond';font-weight:500;font-size:clamp(78px,7vw,118px);line-height:1;letter-spacing:.02em;font-variant-numeric:lining-nums;font-feature-settings:"lnum" 1;color:rgba(176,138,71,.34);text-shadow:0 1px 0 rgba(255,255,255,.65),0 -1px 0 rgba(60,45,20,.14);}
.dev-mono .ru{margin-top:14px;width:44px;height:1px;background:rgba(176,138,71,.55);}
.dev-mono .lb{margin-top:14px;padding:0 16px;font-size:10.5px;letter-spacing:.32em;text-transform:uppercase;text-align:center;line-height:1.6;color:#6B5A3D;}

/* --- panel copy: spacing regrouped so the title block reads as one unit --- */
.dev-body{min-width:0;display:flex;flex-direction:column;}
.dev-eb{font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--gold-ink);}
.dev-nm{margin-top:10px;font-family:'Cormorant Garamond';font-weight:500;font-size:clamp(34px,3.8vw,54px);line-height:1.02;letter-spacing:-.5px;color:#2A231C;}
.dev-tg{margin-top:6px;font-family:'Cormorant Garamond';font-style:italic;font-size:clamp(18px,1.7vw,23px);line-height:1.3;color:#8C6D34;}
.dev-sm{margin-top:22px;font-weight:400;font-size:16.5px;line-height:1.75;color:#443B2E;}
/* vitals: ruled lines on the page, not inset boxes — values set in Cormorant */
.dev-vit{margin-top:30px;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(176,138,71,.34);border:1px solid rgba(176,138,71,.34);}
.dev-vit>div{background:#FBF7F0;padding:14px 16px;}
.dev-vit .k{font-size:9.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-ink);}
.dev-vit .v{margin-top:7px;font-family:'Cormorant Garamond';font-weight:500;font-size:17px;line-height:1.3;font-variant-numeric:lining-nums;font-feature-settings:"lnum" 1;color:#2A231C;}
/* treats: a specimen line separated by the site's own gold sparkle — no pills */
.dev-tr{margin-top:18px;display:flex;flex-wrap:wrap;align-items:baseline;column-gap:14px;row-gap:8px;}
.dev-tr span{font-weight:400;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#5E5345;}
.dev-tr span:not(:last-child)::after{content:"\2726";margin-left:14px;font-size:9px;color:rgba(176,138,71,.7);}
.dev-tx{margin-top:24px;font-weight:400;font-size:14px;line-height:1.85;color:#514738;}
.dev-cta{margin-top:auto;padding-top:32px;align-self:flex-start;display:inline-flex;align-items:center;gap:10px;padding-bottom:5px;border-bottom:1px solid var(--gold);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:#2A231C;transition:color .25s ease;}
.dev-hint{margin-top:26px;max-width:620px;padding-left:15px;border-left:1px solid var(--gold);font-weight:400;font-size:13.5px;line-height:1.75;color:#574E41;}

@keyframes devIn{from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:none;}}
@keyframes plateIn{from{opacity:0;transform:scale(.985);}to{opacity:1;transform:none;}}
.dev-panel.on .dev-plate{animation:plateIn .65s cubic-bezier(.2,.7,.2,1) both;}
.dev-panel.on .dev-body>*{animation:devIn .55s cubic-bezier(.2,.7,.2,1) both;}
.dev-panel.on .dev-body>*:nth-child(1){animation-delay:.03s;}
.dev-panel.on .dev-body>*:nth-child(2){animation-delay:.075s;}
.dev-panel.on .dev-body>*:nth-child(3){animation-delay:.12s;}
.dev-panel.on .dev-body>*:nth-child(4){animation-delay:.165s;}
.dev-panel.on .dev-body>*:nth-child(5){animation-delay:.21s;}
.dev-panel.on .dev-body>*:nth-child(6){animation-delay:.255s;}
.dev-panel.on .dev-body>*:nth-child(7){animation-delay:.3s;}
.dev-panel.on .dev-body>*:nth-child(8){animation-delay:.345s;}
@media(prefers-reduced-motion:reduce){
  .dev-panel.on .dev-plate,.dev-panel.on .dev-body>*{animation:none;}
  .dev-panel{transition:none;}
}

@media(max-width:1000px){
  .dev{grid-template-columns:1fr;outline-offset:4px;}
  .dev-list{display:grid;grid-template-columns:1fr 1fr;gap:0;background:var(--vellum);}
  .dev-row{background:var(--vellum);grid-template-columns:30px 1fr;padding:14px;border-right:1px solid rgba(176,138,71,.16);border-bottom:1px solid rgba(176,138,71,.16);}
  .dev-row .t{font-size:16px;}
  .dev-row .n{font-size:13px;}
  .dev-row .a{display:none;}
  .dev-row.on{background:#FBF7F0;box-shadow:inset 0 -2px 0 0 var(--gold);}
  .dev-panel{grid-template-columns:1fr;gap:30px;}
  .dev-plate{width:100%;max-width:330px;margin:0 auto;padding:16px 16px 46px;box-shadow:0 1px 2px rgba(58,44,26,.10),0 18px 44px -20px rgba(58,44,26,.28);}
  .dev-plate::after{inset:9px 9px 36px;}
  .dev-mono{inset:16px 16px 46px;}
  .dev-placard{left:16px;right:16px;bottom:16px;font-size:9px;letter-spacing:.26em;}
}
@media(max-width:560px){
  .dev-stage{padding:24px 18px 30px;}
  .dev-vit{grid-template-columns:1fr;}
  .dev-vit>div{display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding:11px 14px;}
  .dev-vit .v{margin-top:0;font-size:16px;text-align:right;}
  .dev-tr{column-gap:12px;}
  .dev-tr span{font-size:11.5px;letter-spacing:.12em;}
  .dev-tr span:not(:last-child)::after{margin-left:12px;}
}
/* ---- footer: stack on mobile ---- */
@media(max-width:880px){ .footer-grid{grid-template-columns:1fr 1fr!important;gap:34px!important;} }
@media(max-width:520px){ .footer-grid{grid-template-columns:1fr!important;gap:30px!important;} }

/* ============================================================
   SPECIALS PAGE
   Same catalogue grammar as the device stage: gold hairline grids, plate
   numerals, lining figures, no pills. Prices are the display element —
   Cormorant at scale is what keeps a discount from looking like a coupon.
   ============================================================ */
/* banner swapped with shop.html — this crop is for hero-2.jpg (serum bottle) */
.sp-hero{object-position:60% 50%;}
@media(max-width:880px){ .sp-hero{object-position:64% 50%;} }

/* validity rail — four ruled cells under the banner */
.sp-rail{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(176,138,71,.34);border-bottom:1px solid rgba(176,138,71,.34);}
.sp-rail-cell{background:#EFE5D6;padding:20px clamp(16px,2vw,30px);display:flex;flex-direction:column;gap:8px;}
.sp-rail-cell .k{font-size:9.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--gold-ink);}
.sp-rail-cell .v{font-family:'Cormorant Garamond';font-weight:500;font-size:20px;line-height:1.2;font-variant-numeric:lining-nums;font-feature-settings:"lnum" 1;color:#2A231C;}
.sp-rail-cell .v[data-ended]{color:#8A4B43;}

/* feature offer — the free add-on gets the whole width */
.sp-feature{display:grid;grid-template-columns:300px 1fr;gap:1px;background:rgba(176,138,71,.34);border:1px solid rgba(176,138,71,.55);outline:1px solid rgba(176,138,71,.25);outline-offset:5px;}
.sp-feature-mark{background:radial-gradient(120% 90% at 50% 30%,#F7F0E2 0%,#EFE4CE 55%,#E2D1B2 100%);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:clamp(34px,4vw,56px) 24px;}
.sp-feature-mark .mk{font-size:13px;line-height:1;color:var(--gold);}
.sp-feature-mark .nm{margin-top:10px;font-family:'Cormorant Garamond';font-weight:500;font-size:clamp(70px,6.4vw,104px);line-height:1;font-variant-numeric:lining-nums;font-feature-settings:"lnum" 1;color:rgba(176,138,71,.34);text-shadow:0 1px 0 rgba(255,255,255,.65),0 -1px 0 rgba(60,45,20,.14);}
.sp-feature-mark .ru{margin-top:14px;width:44px;height:1px;background:rgba(176,138,71,.55);}
.sp-feature-mark .lb{margin-top:14px;font-size:10px;letter-spacing:.32em;text-transform:uppercase;text-align:center;color:#6B5A3D;}
.sp-feature-body{background:#FBF7F0;padding:clamp(30px,3.4vw,54px);display:flex;flex-direction:column;}
.sp-feature-price{margin-top:26px;padding-top:22px;border-top:1px solid rgba(176,138,71,.34);}
.sp-price-k{font-size:9.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-ink);}
.sp-price-v{margin-top:8px;font-family:'Cormorant Garamond';font-weight:500;font-size:clamp(42px,4.6vw,64px);line-height:1;font-variant-numeric:lining-nums;font-feature-settings:"lnum" 1;color:#2A231C;}
.sp-price-v .plus{color:var(--gold);}
.sp-price-v .unit{font-size:.34em;letter-spacing:.2em;text-transform:uppercase;color:#7A6E5E;vertical-align:middle;}

/* offer grid */
.sp-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(176,138,71,.34);border:1px solid rgba(176,138,71,.55);outline:1px solid rgba(176,138,71,.25);outline-offset:5px;}
.sp-card{background:#FBF7F0;padding:clamp(28px,3vw,46px);display:flex;flex-direction:column;transition:background .3s ease;}
.sp-card:hover{background:#F8F2E7;}
.sp-card-top{display:flex;align-items:baseline;justify-content:space-between;gap:16px;}
.sp-eb{font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--gold-ink);}
.sp-nm{margin-top:12px;font-family:'Cormorant Garamond';font-weight:500;font-size:clamp(30px,3.2vw,44px);line-height:1.02;letter-spacing:-.5px;color:#2A231C;}
.sp-price{margin-top:14px;font-family:'Cormorant Garamond';font-weight:500;font-size:clamp(36px,3.8vw,54px);line-height:1;font-variant-numeric:lining-nums;font-feature-settings:"lnum" 1;color:#2A231C;}
.sp-price .cur{font-size:.4em;letter-spacing:.06em;color:var(--gold-ink);vertical-align:middle;}
.sp-sm{margin-top:16px;font-weight:400;font-size:15.5px;line-height:1.75;color:#443B2E;}
/* specimen line, same grammar as the device stage — no pills anywhere on this site */
.sp-tr{margin-top:18px;display:flex;flex-wrap:wrap;align-items:baseline;column-gap:14px;row-gap:8px;}
.sp-tr span{font-weight:400;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#5E5345;}
.sp-tr span:not(:last-child)::after{content:"\2726";margin-left:14px;font-size:9px;color:rgba(176,138,71,.7);}
.sp-alt{margin-top:18px;padding-left:14px;border-left:1px solid var(--gold);display:flex;flex-direction:column;gap:5px;}
.sp-alt .n{font-size:9.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-ink);}
.sp-alt .v{font-family:'Cormorant Garamond';font-weight:500;font-size:19px;font-variant-numeric:lining-nums;font-feature-settings:"lnum" 1;color:#2A231C;}
.sp-cta{min-height:44px;margin-top:auto;padding-top:25px;align-self:flex-start;display:inline-flex;align-items:center;gap:10px;padding-bottom:5px;border-bottom:1px solid var(--gold);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:#2A231C;transition:color .25s ease;}

/* ZO band */
.sp-zo{margin-top:1px;display:grid;grid-template-columns:1fr 300px;gap:1px;background:rgba(176,138,71,.34);border:1px solid rgba(176,138,71,.55);outline:1px solid rgba(176,138,71,.25);outline-offset:5px;}
.sp-zo-body{background:#FBF7F0;padding:clamp(28px,3vw,46px);}
.sp-zo-side{background:radial-gradient(120% 90% at 50% 30%,#F7F0E2 0%,#EFE4CE 55%,#E2D1B2 100%);padding:clamp(28px,3vw,46px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;}
.sp-zo-fig{display:flex;flex-direction:column;align-items:center;}
.sp-zo-fig .pct{font-family:'Cormorant Garamond';font-weight:500;font-size:clamp(64px,6vw,96px);line-height:1;font-variant-numeric:lining-nums;font-feature-settings:"lnum" 1;color:rgba(176,138,71,.5);text-shadow:0 1px 0 rgba(255,255,255,.65),0 -1px 0 rgba(60,45,20,.14);}
.sp-zo-fig .sym{font-size:.5em;vertical-align:super;}
.sp-zo-fig .off{margin-top:8px;font-size:10px;letter-spacing:.32em;text-transform:uppercase;color:#6B5A3D;}
.sp-zo-side .sp-cta{margin-top:0;padding-top:5px;}

.sp-terms{margin-top:32px;max-width:860px;padding-left:15px;border-left:1px solid var(--gold);font-weight:400;font-size:13.5px;line-height:1.8;color:#574E41;}

/* cross-links */
.sp-more{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(176,138,71,.34);border:1px solid rgba(176,138,71,.55);}
.sp-more-card{background:#FBF7F0;padding:clamp(30px,3.4vw,52px);display:flex;flex-direction:column;transition:background .3s ease;}
.sp-more-card:hover{background:#F8F2E7;}
.sp-more-nm{margin-top:12px;font-family:'Cormorant Garamond';font-weight:500;font-size:clamp(28px,3vw,40px);line-height:1.05;color:#2A231C;}
.sp-more-tx{margin-top:14px;font-weight:400;font-size:15px;line-height:1.75;color:#514738;}
.sp-more-go{margin-top:24px;align-self:flex-start;padding-bottom:5px;border-bottom:1px solid var(--gold);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:#2A231C;}

@media(max-width:1000px){
  .sp-rail{grid-template-columns:1fr 1fr;}
  .sp-feature{grid-template-columns:1fr;}
  .sp-feature-mark{padding:34px 24px;}
  .sp-zo{grid-template-columns:1fr;}
}
@media(max-width:880px){
  .sp-grid,.sp-more{grid-template-columns:1fr;}
}
@media(max-width:560px){
  .sp-rail{grid-template-columns:1fr;}
  .sp-rail-cell{flex-direction:row;align-items:baseline;justify-content:space-between;padding:13px 20px;}
  .sp-tr{column-gap:12px;}
  .sp-tr span{font-size:11.5px;letter-spacing:.12em;}
  .sp-tr span:not(:last-child)::after{margin-left:12px;}
}

/* ---- specials: energy pass (ticker, seal, hover lift, staggered reveal) ---- */
.sp-ticker{background:linear-gradient(120deg,#cda863,#9c7a36 48%,#e3cb93);color:#231c12;overflow:hidden;border-top:1px solid rgba(90,68,26,.28);border-bottom:1px solid rgba(90,68,26,.28);}
.sp-ticker-in{display:flex;width:max-content;animation:marq 42s linear infinite;}
.sp-ticker-in span{display:inline-flex;align-items:center;gap:22px;padding:13px 22px;white-space:nowrap;font-size:11.5px;font-weight:500;letter-spacing:.26em;text-transform:uppercase;}
.sp-ticker:hover .sp-ticker-in{animation-play-state:paused;}

/* rotating seal around the feature plate number */
.sp-seal-wrap{position:relative;display:flex;align-items:center;justify-content:center;width:clamp(190px,17vw,232px);height:clamp(190px,17vw,232px);}
.sp-seal{position:absolute;inset:0;width:100%;height:100%;animation:sealSpin 26s linear infinite;}
/* letter-spacing is left to textLength/lengthAdjust so the ring closes exactly */
.sp-seal text{font-family:'Jost',sans-serif;font-size:12.6px;font-weight:400;text-transform:uppercase;fill:#7E6230;}
@keyframes sealSpin{from{transform:rotate(0)}to{transform:rotate(360deg)}}
.sp-seal-core{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;}
.sp-seal-core .mk{display:block;width:6px;height:6px;background:var(--gold);font-size:0;line-height:0;transform:rotate(45deg);}
.sp-seal-core .nm{margin-top:6px;font-family:'Cormorant Garamond';font-weight:500;font-size:clamp(54px,5vw,74px);line-height:1;font-variant-numeric:lining-nums;font-feature-settings:"lnum" 1;color:rgba(176,138,71,.42);text-shadow:0 1px 0 rgba(255,255,255,.7),0 -1px 0 rgba(60,45,20,.14);}
.sp-seal-core .lb{margin-top:8px;font-size:9.5px;letter-spacing:.3em;text-transform:uppercase;color:#6B5A3D;}

/* cards lift on hover instead of only tinting */
.sp-card,.sp-more-card{transition:background .3s ease,transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s ease;}
.sp-card:hover,.sp-more-card:hover{transform:translateY(-5px);box-shadow:0 34px 62px -38px rgba(58,44,26,.55);z-index:2;position:relative;}
.sp-card:hover .sp-cta{color:var(--gold-ink);}

/* staggered reveal across the offer grid */
.sp-grid.in .sp-card{animation:fadeUp .85s cubic-bezier(.2,.7,.2,1) both;}
.sp-grid.in .sp-card:nth-child(1){animation-delay:.06s;}
.sp-grid.in .sp-card:nth-child(2){animation-delay:.16s;}
.sp-grid.in .sp-card:nth-child(3){animation-delay:.26s;}
.sp-grid.in .sp-card:nth-child(4){animation-delay:.36s;}

/* countdown gets the emphasis it earns */
.sp-rail-cell .v[data-countdown]{color:#8A5A18;}

@media(prefers-reduced-motion:reduce){
  .sp-ticker-in,.sp-seal{animation:none;}
  .sp-grid.in .sp-card{animation:none;}
  .sp-card:hover,.sp-more-card:hover{transform:none;}
}
@media(max-width:1000px){ .sp-seal-wrap{width:200px;height:200px;} }
@media(max-width:560px){
  .sp-ticker-in span{font-size:10.5px;letter-spacing:.2em;gap:16px;padding:11px 16px;}
  .sp-seal-wrap{width:178px;height:178px;}
}

/* ============================================================
   MEMBERSHIP TIERS
   Same engraved-plate grammar as the specials catalogue: one ruled
   plate with 1px hairline gutters and an offset outline, rather than
   three cards floating on cream. Tiers are told apart by ground and
   plate numeral, not by a lifted box — restraint is what reads as
   couture here. Lining figures, Cormorant at scale, no pills.
   ============================================================ */
.tier-plate{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(176,138,71,.34);
  border:1px solid rgba(176,138,71,.55);outline:1px solid rgba(176,138,71,.25);outline-offset:5px;}
.tier-plate--duo{grid-template-columns:repeat(2,1fr);max-width:1020px;margin-inline:auto;}
.tier-band--duo{max-width:1020px;margin-inline:auto;}
.tier-plate--duo .tier-nm{min-height:2.05em;}
.tier{position:relative;background:#FBF7F0;display:flex;flex-direction:column;
  padding:clamp(36px,3.4vw,54px) clamp(26px,2.4vw,40px) clamp(32px,3vw,46px);
  transition:background .35s ease;}
.tier:hover{background:#F8F2E7;}

.tier-mark{display:flex;align-items:baseline;justify-content:space-between;gap:16px;}
.tier-rn{font-family:'Cormorant Garamond';font-weight:500;font-size:clamp(26px,2.6vw,34px);line-height:1;
  letter-spacing:.06em;color:rgba(176,138,71,.45);
  text-shadow:0 1px 0 rgba(255,255,255,.7),0 -1px 0 rgba(60,45,20,.12);}
.tier-eb{font-size:9.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold-ink);}
.tier-nm{margin-top:16px;font-family:'Cormorant Garamond';font-weight:500;
  font-size:clamp(30px,3.2vw,42px);line-height:1.02;letter-spacing:-.5px;color:#2A231C;}

.tier-price{margin-top:22px;padding-top:20px;border-top:1px solid rgba(176,138,71,.34);
  display:flex;align-items:baseline;gap:11px;}
.tier-price .fig{font-family:'Cormorant Garamond';font-weight:500;font-size:clamp(52px,5.4vw,74px);
  line-height:1;font-variant-numeric:lining-nums;font-feature-settings:"lnum" 1;color:#2A231C;}
.tier-price .cur{font-size:.4em;vertical-align:super;letter-spacing:.04em;color:var(--gold-ink);}
.tier-price .per{font-size:9.5px;letter-spacing:.26em;text-transform:uppercase;color:#7A6E5E;}
.tier-note{margin-top:16px;font-weight:400;font-size:15px;line-height:1.72;color:#514738;}

/* benefits read as a ruled menu, not a bulleted feature list */
.tier-list{margin-top:26px;display:flex;flex-direction:column;border-top:1px solid rgba(176,138,71,.24);}
.tier-list span{padding:13px 0;border-bottom:1px solid rgba(176,138,71,.24);
  font-weight:400;font-size:14px;line-height:1.55;letter-spacing:.02em;color:#46402F;}
.tier-list b{font-weight:400;color:#2A231C;font-variant-numeric:lining-nums;}

.tier-cta{margin-top:auto;padding-top:32px;align-self:flex-start;display:inline-flex;align-items:center;gap:10px;
  font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:#2A231C;transition:color .25s ease;}
.tier-cta .u{padding-bottom:5px;border-bottom:1px solid var(--gold);}

/* the featured tier — dark ground, foil edge, foil flag on the top rule */
.tier--feat{background:radial-gradient(120% 82% at 50% 0%,#241D16 0%,#1B1611 62%);color:#EDE2CF;}
.tier--feat:hover{background:radial-gradient(120% 82% at 50% 0%,#2A2119 0%,#1B1611 62%);}
.tier--feat .tier-rn{color:rgba(217,190,134,.42);text-shadow:0 1px 0 rgba(0,0,0,.35);}
.tier--feat .tier-eb{color:var(--gold);}
.tier--feat .tier-nm{color:#FBF6EC;}
.tier--feat .tier-price{border-top-color:rgba(217,190,134,.3);}
.tier--feat .tier-price .fig{color:#FBF6EC;}
.tier--feat .tier-price .cur{color:#D9BE86;}
.tier--feat .tier-price .per,.tier--feat .tier-note{color:rgba(237,226,207,.74);}
.tier--feat .tier-list{border-top-color:rgba(217,190,134,.24);}
.tier--feat .tier-list span{border-bottom-color:rgba(217,190,134,.24);color:rgba(237,226,207,.92);}
.tier--feat .tier-list b{color:#FBF6EC;}
.tier--feat .tier-cta{color:#F3EBDC;}
.tier--feat .tier-cta .u{border-bottom-color:#D9BE86;}
.tier-foil{position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(120deg,#cda863,#9c7a36 48%,#e3cb93);}
.tier-flag{position:absolute;top:0;right:clamp(26px,2.4vw,40px);transform:translateY(-50%);
  background:linear-gradient(120deg,#cda863,#9c7a36 48%,#e3cb93);color:#231c12;
  padding:6px 13px;font-size:9px;font-weight:500;letter-spacing:.26em;text-transform:uppercase;
  box-shadow:0 8px 20px -12px rgba(40,28,16,.7);}

/* service band under the plate — same rule weight, reads as the plate's footer */
.tier-band{margin-top:6px;border:1px solid rgba(176,138,71,.55);outline:1px solid rgba(176,138,71,.25);
  outline-offset:5px;background:#FBF7F0;padding:20px clamp(20px,2.4vw,34px);
  display:flex;align-items:baseline;justify-content:center;flex-wrap:wrap;gap:8px 16px;text-align:center;}
.tier-band .k{font-size:10px;font-weight:500;letter-spacing:.26em;text-transform:uppercase;color:var(--gold-ink);}
.tier-band .v{font-weight:400;font-size:14px;letter-spacing:.02em;color:#514738;}

@media(max-width:880px){
  .tier-plate{grid-template-columns:1fr;}
  /* stacked, a flag straddling the rule reads as the previous tier's footer —
     drop it inside the dark card instead */
  .tier-flag{transform:none;right:auto;left:0;}
}
@media(max-width:560px){
  .tier{padding:34px 24px 30px;}
  .tier-band{flex-direction:column;align-items:center;gap:6px;}
}

/* ============================================================
   MEMBERSHIP MONTHLY MENU
   An open, two-column treatment ledger rather than another row of
   cards. The expanded Platinum plane makes the tier relationship
   legible while preserving the site's espresso, vellum and foil.
   ============================================================ */
.member-menu{position:relative;overflow:hidden;background:#E7DAC6;color:#2A231C;padding:clamp(84px,10vw,138px) 0;}
.member-menu::before,.member-menu::after{content:"";position:absolute;top:0;bottom:0;width:1px;background:rgba(126,98,48,.18);pointer-events:none;}
.member-menu::before{left:clamp(20px,5vw,42px);}
.member-menu::after{right:clamp(20px,5vw,42px);}
.member-menu__frame{position:relative;z-index:1;max-width:1280px;margin:0 auto;padding:0 clamp(20px,5vw,42px);}
.member-menu__intro{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.72fr);gap:clamp(48px,8vw,118px);align-items:end;padding-bottom:clamp(42px,5.5vw,68px);border-bottom:1px solid rgba(126,98,48,.28);}
.member-menu__label{display:flex;align-items:center;gap:14px;font-size:10.5px;font-weight:500;letter-spacing:.31em;text-transform:uppercase;color:#765B2D;}
.member-menu__label::before{content:"";width:42px;height:1px;background:rgba(126,98,48,.68);}
.member-menu__intro h2{margin-top:22px;font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(48px,6.4vw,82px);font-weight:500;line-height:.9;letter-spacing:-.025em;text-wrap:balance;color:#241D16;}
.member-menu__intro h2 em{font-weight:400;color:#8A6A32;}
.member-menu__summary>p:first-child{max-width:58ch;font-size:15.5px;font-weight:400;line-height:1.8;text-wrap:pretty;color:#4C4337;}
.member-menu__commitment{display:flex;align-items:center;gap:11px;margin-top:25px;padding-top:20px;border-top:1px solid rgba(126,98,48,.24);font-size:12px;font-weight:400;line-height:1.6;letter-spacing:.04em;color:#564B3B;}
.member-menu__commitment span{font-size:10px;color:#8A6A32;}
.member-menu__commitment strong{font-weight:500;color:#2A231C;}

.member-menu__comparison{display:grid;grid-template-columns:minmax(285px,.82fr) minmax(0,1.4fr);align-items:stretch;gap:1px;margin-top:clamp(50px,6vw,76px);padding:1px;background:rgba(126,98,48,.34);border:1px solid rgba(126,98,48,.36);outline:1px solid rgba(126,98,48,.16);outline-offset:5px;box-shadow:0 34px 74px -58px rgba(40,28,16,.7);}
.member-menu__tier{min-width:0;padding:clamp(42px,4.5vw,60px) clamp(30px,4vw,52px);}
.member-menu__tier--gold{background:#1B1611;color:#F4ECDE;}
.member-menu__tier--platinum{position:relative;background:#F3EBDC;color:#2A231C;}
.member-menu__tier--platinum::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,#9C7A36,#E3CB93 52%,#9C7A36);}
.member-menu__tier-meta{display:flex;justify-content:space-between;gap:20px;padding-bottom:17px;border-bottom:1px solid rgba(217,190,134,.24);font-size:9.5px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:#D9BE86;}
.member-menu__tier--platinum .member-menu__tier-meta{border-bottom-color:rgba(126,98,48,.25);color:#765B2D;}
.member-menu__tier-head h3{margin-top:23px;font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(36px,4.2vw,54px);font-weight:500;line-height:.98;letter-spacing:-.02em;text-wrap:balance;color:#FBF6EC;}
.member-menu__tier--platinum .member-menu__tier-head h3{color:#2A231C;}
.member-menu__tier-head>p:not(.member-menu__includes){max-width:39ch;margin-top:15px;font-size:14px;font-weight:400;line-height:1.72;color:rgba(244,236,222,.68);}
.member-menu__includes{display:flex;align-items:center;gap:10px;margin-top:16px;font-size:13px;font-weight:400;line-height:1.6;color:#594A38;}
.member-menu__includes span{font-size:9px;color:#8A6A32;}

.member-menu__list{list-style:none;margin-top:30px;border-top:1px solid rgba(217,190,134,.23);}
.member-menu__list--platinum{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(24px,3.4vw,46px);border-top-color:rgba(126,98,48,.24);}
.member-menu__list li{position:relative;min-height:59px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 0 15px 19px;border-bottom:1px solid rgba(217,190,134,.2);font-family:'Cormorant Garamond',Georgia,serif;font-size:18px;font-weight:500;line-height:1.3;color:#F4ECDE;}
.member-menu__list li::before{content:"";position:absolute;left:1px;top:50%;width:5px;height:5px;background:#D9BE86;transform:translateY(-50%) rotate(45deg);}
.member-menu__list small{max-width:145px;font-family:'Jost',sans-serif;font-size:9px;font-weight:400;line-height:1.45;letter-spacing:.14em;text-align:right;text-transform:uppercase;color:rgba(244,236,222,.58);}
.member-menu__tier--platinum .member-menu__list li{border-bottom-color:rgba(126,98,48,.2);color:#30271F;}
.member-menu__tier--platinum .member-menu__list li::before{background:#8A6A32;}
.member-menu__tier--platinum .member-menu__list small{color:#695B4C;}

@media(max-width:940px){
  .member-menu__intro{grid-template-columns:1fr;gap:28px;}
  .member-menu__summary{max-width:620px;}
  .member-menu__comparison{grid-template-columns:1fr;}
  .member-menu__tier--gold{padding-right:clamp(30px,4vw,52px);}
  .member-menu__tier--platinum{margin-top:1px;}
}
@media(max-width:620px){
  .member-menu{padding:76px 0;}
  .member-menu__intro h2{font-size:50px;}
  .member-menu__summary>p:first-child{font-size:15px;}
  .member-menu__commitment{align-items:flex-start;}
  .member-menu__tier{padding:40px 22px;}
  .member-menu__tier--gold{padding-left:22px;padding-right:22px;}
  .member-menu__tier--platinum{padding-left:22px;padding-right:22px;}
  .member-menu__tier-meta{align-items:flex-start;flex-direction:column;gap:7px;}
  .member-menu__list--platinum{grid-template-columns:1fr;}
  .member-menu__list li{align-items:flex-start;flex-direction:column;justify-content:center;gap:5px;padding-left:19px;font-size:19px;}
  .member-menu__list small{max-width:none;text-align:left;}
}

/* ============================================================
   CHAT WIDGET — AI concierge (assets/chat.js)
   Same language as the rest of the site: cream card, gold
   hairlines, squared corners, Cormorant display + Jost body.
   No pills, no rounded bubbles — this is not a SaaS chat.
   ============================================================ */
.gc{position:fixed;right:clamp(14px,2.4vw,28px);bottom:clamp(14px,2.4vw,28px);z-index:1200;
    font-family:'Jost',system-ui,sans-serif;}

/* launcher */
.gc-launch{display:flex;align-items:center;gap:10px;margin-left:auto;
  padding:14px 22px;border:0;cursor:pointer;
  background:linear-gradient(120deg,#cda863,#9c7a36 48%,#e3cb93);color:#231c12;
  font:500 11.5px/1 'Jost',sans-serif;letter-spacing:.2em;text-transform:uppercase;
  box-shadow:0 10px 30px -12px rgba(40,28,16,.55);
  transition:filter .25s ease,transform .25s ease;}
.gc-launch:hover{filter:brightness(1.07);transform:translateY(-1px);}
.gc-launch-mk{font-size:12px;}
.gc-launch-x{display:none;}
.gc-on .gc-launch-tx{display:none;}
.gc-on .gc-launch-x{display:block;}
.gc-on .gc-launch-mk{transform:rotate(45deg);}

/* panel */
.gc-panel{position:absolute;right:0;bottom:calc(100% + 12px);width:min(380px,calc(100vw - 28px));
  --gc-sticky-head:65px;
  display:flex;flex-direction:column;max-height:min(560px,calc(100vh - 120px));
  overflow-y:auto;overscroll-behavior:contain;
  background:#FBF7F0;border:1px solid rgba(176,138,71,.55);
  outline:1px solid rgba(176,138,71,.25);outline-offset:5px;
  box-shadow:0 34px 70px -30px rgba(40,28,16,.42);
  opacity:0;visibility:hidden;transform:translateY(10px);
  transition:opacity .3s ease,transform .3s ease,visibility .3s;}
.gc-on .gc-panel{opacity:1;visibility:visible;transform:translateY(0);}

.gc-head{position:sticky;z-index:2;top:0;display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:12px;
  padding:16px 18px;border-bottom:1px solid rgba(176,138,71,.34);background:#FFFDF8;}
.gc-head-tx{display:flex;flex-direction:column;gap:3px;}
.gc-eyebrow{font-size:9.5px;letter-spacing:.28em;text-transform:uppercase;color:#7E6230;}
.gc-title{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:21px;color:#2A231C;line-height:1;}
.gc-close{background:none;border:0;cursor:pointer;font-size:22px;line-height:1;color:#7A6E5E;padding:2px 4px;
  transition:color .2s ease;}
.gc-close:hover{color:#2A231C;}

/* log */
.gc-log{flex:1 1 auto;min-height:0;overflow-y:auto;padding:18px;display:flex;flex-direction:column;gap:12px;
  scrollbar-width:thin;}
.gc-msg{display:flex;}
.gc-user{justify-content:flex-end;}
.gc-bub{max-width:86%;padding:11px 14px;font-size:13.5px;line-height:1.62;font-weight:400;}
.gc-bot .gc-bub{background:#F5EFE6;border:1px solid rgba(176,138,71,.22);color:#443B2E;}
.gc-user .gc-bub{background:#2A231C;color:#F3EBDC;}
.gc-err .gc-bub{background:#F8F2E7;border-color:rgba(176,138,71,.55);color:#7E6230;}
.gc-bub a{color:#7E6230;text-decoration:underline;text-underline-offset:2px;}
.gc-user .gc-bub a{color:#E3CB93;}
.gc-bub strong{font-weight:500;color:#2A231C;}

/* typing */
.gc-dot{display:inline-block;width:5px;height:5px;margin-right:4px;background:#B08A47;opacity:.4;
  animation:gcDot 1.1s infinite ease-in-out;}
.gc-dot:nth-child(2){animation-delay:.16s;}
.gc-dot:nth-child(3){animation-delay:.32s;margin-right:0;}
@keyframes gcDot{0%,60%,100%{opacity:.28;transform:translateY(0);}30%{opacity:1;transform:translateY(-3px);}}

/* suggested questions — specimen lines on a rail, not pills */
.gc-prompts{display:flex;flex-wrap:wrap;gap:7px;padding:0 18px 14px;}
.gc-prompts[hidden]{display:none;}
.gc-chip{background:none;cursor:pointer;padding:7px 11px;
  border:1px solid rgba(176,138,71,.22);color:#7E6230;
  font:400 11px/1.2 'Jost',sans-serif;letter-spacing:.06em;
  transition:background .2s ease,border-color .2s ease;}
.gc-chip:hover{background:#F8F2E7;border-color:rgba(176,138,71,.55);}

/* input */
.gc-form{display:flex;align-items:stretch;border-top:1px solid rgba(176,138,71,.34);background:#FFFDF8;}
.gc-input{flex:1 1 auto;min-width:0;border:0;background:none;padding:15px 16px;
  font:400 13.5px 'Jost',sans-serif;color:#2A231C;}
.gc-input:focus{outline:none;}
.gc-input::placeholder{color:#6E6353;}
.gc-send{border:0;cursor:pointer;padding:0 20px;font-size:17px;color:#231c12;
  background:linear-gradient(120deg,#cda863,#9c7a36 48%,#e3cb93);
  transition:filter .2s ease;}
.gc-send:hover{filter:brightness(1.07);}
.gc-send:disabled{opacity:.45;cursor:default;}

.gc-fine{margin:0;padding:10px 18px 13px;background:#FFFDF8;
  border-top:1px solid rgba(176,138,71,.14);
  font-size:10px;line-height:1.55;letter-spacing:.04em;color:#7A6E5E;}
.gc-fine a{color:#7E6230;}

/* callback request */
.gc-lead{border-top:1px solid rgba(176,138,71,.14);background:#FFFDF8;}
.gc-lead-open{display:flex;width:100%;align-items:center;justify-content:space-between;gap:16px;background:none;border:0;cursor:pointer;
  padding:12px 18px;text-align:left;color:#7E6230;
  font:400 10.5px/1 'Jost',sans-serif;letter-spacing:.22em;text-transform:uppercase;
  transition:background .2s ease;}
.gc-lead-open:hover{background:#F8F2E7;}
.gc-lead-open[aria-expanded="true"]{position:sticky;z-index:1;top:var(--gc-sticky-head);background:#FFFDF8;box-shadow:0 10px 24px -22px rgba(40,28,16,.75);}
.gc-lead-toggle{flex:0 0 auto;font-size:20px;font-weight:400;line-height:1;letter-spacing:0;}
.gc-lead-form{display:flex;flex-direction:column;gap:8px;padding:4px 18px 15px;}
.gc-lead-form[hidden]{display:none;}
.gc-lead-in{border:1px solid rgba(176,138,71,.34);background:#FBF7F0;padding:11px 12px;
  font:400 13px 'Jost',sans-serif;color:#2A231C;}
.gc-lead-in:focus{outline:none;border-color:rgba(176,138,71,.75);background:#FFFDF8;}
.gc-lead-in::placeholder{color:#6E6353;}
.gc-lead-send{border:0;cursor:pointer;padding:12px 18px;color:#231c12;
  background:linear-gradient(120deg,#cda863,#9c7a36 48%,#e3cb93);
  font:500 11px/1 'Jost',sans-serif;letter-spacing:.2em;text-transform:uppercase;
  transition:filter .2s ease;}
.gc-lead-send:hover{filter:brightness(1.07);}
.gc-lead-send:disabled{opacity:.5;cursor:default;}
.gc-lead-note{margin:2px 0 0;font-size:10px;line-height:1.5;color:#7A6E5E;}
.gc-lead-done{margin:0;padding:14px 18px;font-size:12px;line-height:1.55;color:#7E6230;
  font-family:'Jost',sans-serif;font-weight:400;}

/* mobile — bottom sheet */
@media(max-width:760px){
  .gc{right:12px;bottom:12px;left:12px;}
  .gc-panel{width:auto;left:0;right:0;max-height:min(72vh,calc(100vh - 130px));}
  .gc-launch{padding:13px 19px;}
}
@media(prefers-reduced-motion:reduce){
  .gc-panel{transition:none;}
  .gc-launch:hover{transform:none;}
  .gc-dot{animation:none;}
}

/* ============================================================
   TREATMENTS — CONSULTATION-LED EXPLORER
   Editorial treatment selection built around patient concerns.
   Scoped to services.html so the established site remains untouched.
   ============================================================ */
.services-page{
  --svc-espresso:#1B1611;
  --svc-ink:#2A231C;
  --svc-cream:#F5EFE6;
  --svc-porcelain:#FBF7F0;
  --svc-vellum:#E9DDCA;
  --svc-gold:#B08A47;
  --svc-gold-ink:#7E6230;
  --svc-gold-light:#D9BE86;
  --svc-rule:rgba(176,138,71,.3);
  background:var(--svc-cream);
  color:var(--svc-ink);
}
.services-page main{overflow:clip;}
.svc-shell{width:min(100%,1280px);margin-inline:auto;padding-inline:clamp(20px,5vw,42px);}
.svc-consult,.svc-concern-panel,.svc-detail{scroll-margin-top:140px;}
.svc-skip{position:fixed;z-index:2000;top:12px;left:12px;transform:translateY(-150%);padding:12px 18px;background:var(--svc-porcelain);border:2px solid var(--svc-gold-ink);font-size:.875rem;font-weight:500;color:var(--svc-ink);transition:transform .2s ease;}
.svc-skip:focus{transform:none;}
.services-page :is(a,button):focus-visible{outline:2px solid var(--svc-gold-ink);outline-offset:5px;}
.services-page .svc-hero :is(a,button):focus-visible,
.services-page .svc-detail :is(a,button):focus-visible,
.services-page .svc-experience :is(a,button):focus-visible{outline-color:var(--svc-gold-light);}
.svc-button{display:inline-flex;min-height:54px;align-items:center;justify-content:center;padding:16px 28px;border:1px solid transparent;font:500 .75rem/1.2 'Jost',sans-serif;letter-spacing:.19em;text-align:center;text-transform:uppercase;transition:background-color .25s ease,border-color .25s ease,color .25s ease,filter .25s ease,transform .35s cubic-bezier(.22,1,.36,1);}
.svc-button--gold{background:linear-gradient(120deg,#cda863,#9c7a36 48%,#e3cb93);color:#17110B;}
.svc-button--espresso{background:var(--svc-espresso);color:#F8F1E6;}
.svc-button--outline{border-color:rgba(42,35,28,.45);color:var(--svc-ink);}
.svc-inline-link{display:inline-flex;min-height:44px;align-items:center;gap:12px;padding-block:10px;border-bottom:1px solid rgba(126,98,48,.7);font-size:.75rem;font-weight:500;letter-spacing:.17em;text-transform:uppercase;color:var(--svc-ink);transition:color .25s ease;}
.svc-inline-link--light{border-color:rgba(217,190,134,.68);color:#F4EBDD;}

/* Hero */
.svc-hero{position:relative;min-height:max(640px,70svh);display:flex;align-items:flex-end;background:var(--svc-espresso);isolation:isolate;}
.svc-hero-img{position:absolute;z-index:-3;inset:0;width:100%;height:100%;object-fit:cover;object-position:64% 48%;filter:saturate(.83) contrast(1.03);}
.svc-hero-shade{position:absolute;z-index:-2;inset:0;background:linear-gradient(90deg,rgba(19,15,11,.8) 0%,rgba(24,19,14,.58) 34%,rgba(25,19,14,.14) 68%,rgba(20,15,11,0) 100%),linear-gradient(0deg,rgba(16,12,9,.6) 0%,transparent 46%);}
.svc-hero::after{content:"";position:absolute;z-index:-1;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,var(--svc-gold-light),transparent);opacity:.55;}
.svc-hero-inner{display:flex;align-items:flex-end;min-height:inherit;padding-top:clamp(140px,17vh,186px);padding-bottom:clamp(60px,7.5vh,92px);}
.svc-hero-copy{max-width:730px;color:#FBF5EA;}
.svc-hero-kicker{display:flex;align-items:center;gap:16px;margin-bottom:28px;font-size:.75rem;font-weight:500;letter-spacing:.31em;text-transform:uppercase;color:var(--svc-gold-light);}
.svc-hero-kicker span{width:48px;height:1px;background:currentColor;}
.svc-hero h1{max-width:720px;font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(4rem,7.7vw,6rem);font-weight:500;line-height:.9;letter-spacing:-.035em;text-wrap:balance;}
.svc-hero h1 em{display:block;font-weight:400;color:#E7D5B5;}
.svc-hero-copy>p{max-width:570px;margin-top:28px;font-size:clamp(1rem,1.35vw,1.125rem);font-weight:400;line-height:1.75;text-wrap:pretty;color:rgba(248,241,230,.82);}
.svc-hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px 28px;margin-top:38px;}
/* Vertical scroll cue at the hero's right edge. NO translateX here: after
   rotate(90deg) the element's own X axis points DOWN the page, so translateX(100%)
   shoved the whole label a full label-length (223px) below the hero — 65% of
   "Your goals first" plus its gold rule ended up behind .svc-consult. Rotation
   about right/bottom already seats it correctly. Needs ~301px of hero height. */
.svc-hero-scroll{position:absolute;right:clamp(20px,4vw,58px);bottom:clamp(68px,9vh,104px);display:flex;align-items:center;gap:18px;transform:rotate(90deg);transform-origin:right bottom;font-size:.6875rem;font-weight:500;letter-spacing:.25em;text-transform:uppercase;color:rgba(248,241,230,.56);}
.svc-hero-scroll span{display:block;width:62px;height:1px;background:rgba(217,190,134,.55);}

/* Consultation entry */
.svc-consult{position:relative;padding-block:clamp(88px,10vw,136px);background:var(--svc-porcelain);}
.svc-consult::before{content:"";position:absolute;top:0;left:50%;width:1px;height:56px;background:var(--svc-gold);opacity:.6;}
.svc-consult-grid{display:grid;grid-template-columns:minmax(340px,.82fr) minmax(0,1.18fr);gap:clamp(54px,8vw,112px);align-items:stretch;}
.svc-care-note{position:relative;min-height:570px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;padding:clamp(40px,4.5vw,64px);background:var(--svc-espresso);color:#F6EEDF;}
.svc-care-note::before{content:"";position:absolute;top:0;right:0;width:48%;height:1px;background:linear-gradient(90deg,transparent,var(--svc-gold-light));}
.svc-care-note::after{content:"";position:absolute;right:-120px;bottom:-140px;width:350px;height:350px;border:1px solid rgba(217,190,134,.16);transform:rotate(45deg);}
.svc-care-star{position:relative;z-index:1;font-size:1.5rem;color:var(--svc-gold-light);}
.svc-care-label{position:absolute;top:clamp(44px,4.5vw,68px);right:clamp(40px,4.5vw,64px);font-size:.6875rem;font-weight:500;letter-spacing:.26em;text-transform:uppercase;color:rgba(217,190,134,.76);}
.svc-care-statement{position:relative;z-index:1;max-width:410px;margin-block:auto;padding-block:48px;font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(3.25rem,5vw,4.5rem);font-weight:500;line-height:.93;letter-spacing:-.025em;text-wrap:balance;}
.svc-care-statement em{font-weight:400;color:var(--svc-gold-light);}
.svc-care-signoff{position:relative;z-index:1;padding-top:24px;border-top:1px solid rgba(217,190,134,.27);}
.svc-care-signoff span{display:block;font-family:'Cormorant Garamond',Georgia,serif;font-size:1.375rem;font-weight:500;}
.svc-care-signoff small{display:block;margin-top:6px;font-size:.6875rem;font-weight:400;letter-spacing:.14em;text-transform:uppercase;color:rgba(246,238,223,.6);}
.svc-consult-copy{align-self:center;padding-block:24px;}
.svc-consult-copy h2{max-width:720px;font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(3.2rem,5vw,4.6rem);font-weight:500;line-height:.95;letter-spacing:-.025em;text-wrap:balance;color:#241D16;}
.svc-consult-copy>p{max-width:64ch;margin-top:26px;font-size:1rem;font-weight:400;line-height:1.82;text-wrap:pretty;color:#5E5345;}
.svc-consult-copy>.svc-button{margin-top:30px;}
.svc-pathway{height:40px;margin-block:43px 14px;display:flex;align-items:flex-start;}
.svc-pathway::before{content:"";width:1px;height:100%;margin-left:9px;background:var(--svc-gold);opacity:.65;}
.svc-pathway span{position:relative;width:36px;height:1px;margin-top:39px;background:var(--svc-gold);opacity:.65;}
.svc-pathway span::after{content:"\2726";position:absolute;right:-18px;top:-8px;font-size:.75rem;color:var(--svc-gold-ink);}
.svc-consult-copy h3{margin-bottom:8px;font-size:.75rem;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--svc-gold-ink);}
.svc-concern-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--svc-rule);}
.svc-concern-tab{min-height:62px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 2px;border-bottom:1px solid var(--svc-rule);font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(1.35rem,2vw,1.7rem);font-weight:500;color:#44392D;transition:color .25s ease,background-color .25s ease;}
.svc-concern-tab:nth-child(odd){padding-right:24px;}
.svc-concern-tab:nth-child(even){padding-left:24px;border-left:1px solid var(--svc-rule);}
.svc-concern-tab span{font-family:'Jost',sans-serif;font-size:.6875rem;color:var(--svc-gold-ink);opacity:.35;transition:opacity .25s ease,transform .35s cubic-bezier(.22,1,.36,1);}
.svc-concern-tab.is-active{color:var(--svc-ink);}
.svc-concern-tab.is-active span{opacity:1;transform:rotate(45deg);}

/* Treatment explorer */
.svc-explorer{position:relative;padding-block:clamp(88px,10vw,136px);background:var(--svc-vellum);}
.svc-explorer::before,.svc-explorer::after{content:"";position:absolute;top:0;bottom:0;width:1px;background:rgba(176,138,71,.16);}
.svc-explorer::before{left:clamp(20px,5vw,42px);}
.svc-explorer::after{right:clamp(20px,5vw,42px);}
.svc-concern-panel+.svc-concern-panel{margin-top:clamp(80px,10vw,136px);}
.svc-enhanced .svc-concern-panel+.svc-concern-panel{margin-top:0;}
.svc-concern-head{display:grid;grid-template-columns:minmax(210px,.52fr) minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:end;margin-bottom:36px;}
.svc-concern-head h2{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(3.7rem,6vw,5.2rem);font-weight:500;line-height:.85;letter-spacing:-.03em;color:#241D16;}
.svc-concern-head p{max-width:540px;padding-bottom:5px;font-size:1rem;font-weight:400;line-height:1.72;color:#5E5345;}
.svc-treatment-stage{display:grid;grid-template-columns:minmax(250px,300px) minmax(0,1fr);gap:1px;padding:1px;background:rgba(176,138,71,.43);border:1px solid rgba(126,98,48,.5);outline:1px solid rgba(126,98,48,.2);outline-offset:6px;}
.svc-treatment-tabs{display:flex;flex-direction:column;background:#F3EBDC;}
.svc-treatment-tab{position:relative;min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 28px;border-bottom:1px solid rgba(176,138,71,.2);font-family:'Cormorant Garamond',Georgia,serif;font-size:1.35rem;font-weight:500;line-height:1.16;color:#493E31;transition:background-color .25s ease,color .25s ease;}
.svc-treatment-tab:last-child{border-bottom:0;}
.svc-treatment-tab::before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--svc-gold);transform:scaleY(0);transform-origin:top;transition:transform .35s cubic-bezier(.22,1,.36,1);}
.svc-treatment-tab>span:last-child{font-family:'Jost',sans-serif;font-size:.6875rem;color:var(--svc-gold-ink);opacity:.24;transition:opacity .25s ease,transform .35s cubic-bezier(.22,1,.36,1);}
.svc-treatment-tab.is-active{background:var(--svc-porcelain);color:var(--svc-ink);}
.svc-treatment-tab.is-active::before{transform:scaleY(1);}
.svc-treatment-tab.is-active>span:last-child{opacity:1;transform:rotate(45deg);}
.svc-detail-stack{min-width:0;background:var(--svc-espresso);}
.svc-detail{min-height:650px;display:flex;flex-direction:column;padding:clamp(42px,5vw,72px);color:#F3E9D8;}
.svc-detail[hidden]{display:none;}
.svc-enhanced .svc-detail.is-active{animation:none;}
.svc-detail-intro{max-width:760px;}
.svc-detail-type{font-size:.6875rem;font-weight:500;letter-spacing:.27em;text-transform:uppercase;color:var(--svc-gold-light);}
.svc-detail h3{margin-top:15px;font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(3rem,5.2vw,4.75rem);font-weight:500;line-height:.9;letter-spacing:-.025em;text-wrap:balance;color:#FBF5EA;}
.svc-detail-intro>p:last-child{max-width:63ch;margin-top:22px;font-size:1rem;font-weight:400;line-height:1.78;text-wrap:pretty;color:rgba(243,233,216,.75);}
.svc-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:34px;border-block:1px solid rgba(217,190,134,.24);}
.svc-facts>div{padding:22px 24px 22px 0;}
.svc-facts>div+div{padding-left:24px;border-left:1px solid rgba(217,190,134,.18);}
.svc-facts dt,.svc-options h4{font-size:.6875rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--svc-gold-light);}
.svc-facts dd{margin-top:9px;font-size:.9375rem;font-weight:400;line-height:1.6;color:rgba(243,233,216,.84);}
.svc-options{margin-top:30px;}
.svc-option-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 42px;}
.svc-options ul{list-style:none;display:flex;flex-wrap:wrap;gap:9px 0;margin-top:15px;}
.svc-options li{position:relative;padding-right:18px;margin-right:16px;font-size:.875rem;font-weight:400;line-height:1.55;color:rgba(243,233,216,.84);}
.svc-options li:not(:last-child)::after{content:"\2726";position:absolute;right:-1px;top:.1em;font-size:.5rem;color:var(--svc-gold-light);opacity:.72;}
.svc-price-note{max-width:65ch;margin-top:28px;padding:15px 0 15px 18px;border-left:1px solid var(--svc-gold-light);font-size:.875rem;font-weight:400;line-height:1.65;color:rgba(243,233,216,.7);}
.svc-price-note strong{font-weight:500;color:#FBF5EA;}
/* The note carries a gold left rule and the button sat flush beneath it with no
   gap, so the rule read as a stray line down the button's edge. Separate them. */
.svc-price-note + .svc-button{margin-top:24px;}
.svc-detail>.svc-button{align-self:flex-start;margin-top:auto;padding-top:16px;}

/* Experience, notice, closing */
.svc-experience{position:relative;min-height:clamp(560px,68svh,780px);display:flex;align-items:flex-end;background:var(--svc-espresso);isolation:isolate;}
.svc-experience>img{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 42%;transform:scale(1.1);transform-origin:left center;}
.svc-experience-shade{position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(20,15,11,.82) 0%,rgba(20,15,11,.52) 42%,rgba(20,15,11,.08) 76%),linear-gradient(0deg,rgba(20,15,11,.7),transparent 58%);}
.svc-experience-inner{display:flex;align-items:flex-end;min-height:inherit;padding-top:120px;padding-bottom:clamp(68px,9vw,110px);}
.svc-experience-inner>div{max-width:740px;color:#F6EEDF;}
.svc-experience-label{font-size:.6875rem;font-weight:500;letter-spacing:.29em;text-transform:uppercase;color:var(--svc-gold-light);}
.svc-experience h2{margin-top:18px;font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(3.1rem,5.8vw,5rem);font-weight:500;line-height:.94;letter-spacing:-.025em;text-wrap:balance;}
.svc-experience .svc-inline-link{margin-top:27px;}
.svc-notice{padding-block:34px;background:#DCCDB6;border-block:1px solid rgba(126,98,48,.26);}
.svc-notice p{max-width:65ch;margin-inline:auto;font-size:1rem;font-weight:400;line-height:1.75;text-align:center;text-wrap:pretty;color:#584B3C;}
.svc-notice strong{font-weight:600;color:#2A231C;}
.svc-closing{position:relative;padding-block:clamp(92px,11vw,150px);background:var(--svc-porcelain);text-align:center;}
.svc-closing::before{content:"\2726";display:block;margin-bottom:24px;font-size:1rem;color:var(--svc-gold-ink);}
.svc-closing-inner{display:flex;align-items:center;flex-direction:column;}
.svc-closing h2{max-width:800px;font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(3.5rem,6.4vw,5.6rem);font-weight:500;line-height:.9;letter-spacing:-.03em;text-wrap:balance;color:#241D16;}
.svc-closing h2 em{font-weight:400;color:var(--svc-gold-ink);}
.svc-closing p{max-width:57ch;margin-top:25px;font-size:1rem;font-weight:400;line-height:1.8;text-wrap:pretty;color:#5E5345;}
.svc-closing-actions{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:16px 22px;margin-top:35px;}

@media(hover:hover) and (pointer:fine){
  .svc-button:hover{transform:translateY(-2px);filter:brightness(1.06);}
  .svc-inline-link:hover{gap:12px;}
  .svc-concern-tab:hover{color:var(--svc-gold-ink);}
  .svc-concern-tab:hover span{opacity:1;}
  .svc-treatment-tab:hover{background:#F8F2E7;color:var(--svc-ink);}
  .svc-button--outline:hover{background:var(--svc-espresso);border-color:var(--svc-espresso);color:#F8F1E6;}
}

@media(max-width:980px){
  .svc-consult-grid{grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr);gap:48px;}
  .svc-care-note{min-height:540px;padding:42px;}
  .svc-care-label{top:46px;right:42px;}
  .svc-treatment-stage{grid-template-columns:240px minmax(0,1fr);}
  .svc-detail{padding:48px 42px;}
  .svc-facts{grid-template-columns:1fr;}
  .svc-facts>div{padding:17px 0;}
  .svc-facts>div+div{padding-left:0;border-top:1px solid rgba(217,190,134,.16);border-left:0;}
  .svc-option-groups{grid-template-columns:1fr;gap:0;}
}

@media(max-width:760px){
  .svc-shell{padding-inline:20px;}
  .svc-hero{min-height:max(720px,100svh);align-items:flex-end;}
  .svc-hero-img{object-position:71% 48%;}
  .svc-hero-shade{background:linear-gradient(90deg,rgba(18,14,10,.9) 0%,rgba(19,15,11,.69) 68%,rgba(19,15,11,.34) 100%),linear-gradient(0deg,rgba(16,12,9,.78) 0%,transparent 64%);}
  .svc-hero-inner{padding-top:170px;padding-bottom:72px;}
  .svc-hero h1{font-size:clamp(3.6rem,16vw,5rem);}
  .svc-hero-scroll{display:none;}
  .svc-consult{padding-block:80px;}
  .svc-consult-grid{grid-template-columns:1fr;gap:58px;}
  .svc-care-note{min-height:500px;}
  .svc-consult-copy{padding-block:0;}
  .svc-consult-copy h2{font-size:clamp(3.15rem,13vw,4.25rem);}
  .svc-explorer{padding-block:80px;}
  .svc-explorer::before{left:20px;}
  .svc-explorer::after{right:20px;}
  .svc-concern-head{grid-template-columns:1fr;gap:18px;margin-bottom:30px;}
  .svc-treatment-stage{grid-template-columns:1fr;}
  .svc-treatment-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));}
  .svc-treatment-tab{min-height:70px;padding:15px 18px;font-size:1.18rem;border-right:1px solid rgba(176,138,71,.2);}
  .svc-detail{min-height:0;padding:46px 28px 50px;}
  .svc-detail>.svc-button{margin-top:38px;}
  .svc-experience{min-height:620px;}
  .svc-experience>img{object-position:60% 45%;}
  .svc-experience-shade{background:linear-gradient(90deg,rgba(20,15,11,.72),rgba(20,15,11,.2)),linear-gradient(0deg,rgba(20,15,11,.82),transparent 70%);}
  .svc-closing{padding-bottom:130px;}
}

@media(max-width:520px){
  .svc-hero-inner{padding-top:162px;padding-bottom:58px;}
  .svc-hero-kicker{margin-bottom:22px;font-size:.6875rem;letter-spacing:.25em;}
  .svc-hero h1{font-size:clamp(3.4rem,17vw,4.4rem);}
  .svc-hero-copy>p{margin-top:22px;}
  .svc-hero-actions{align-items:stretch;flex-direction:column;margin-top:30px;}
  .svc-hero-actions .svc-button{width:100%;}
  .svc-hero-actions .svc-inline-link{align-self:flex-start;}
  .svc-care-note{min-height:450px;padding:34px 28px;}
  .svc-care-label{top:38px;right:28px;font-size:.625rem;}
  .svc-care-statement{font-size:3.25rem;}
  .svc-care-signoff small{max-width:230px;line-height:1.6;}
  .svc-concern-tabs{grid-template-columns:1fr;}
  .svc-concern-tab:nth-child(n){padding-inline:2px;border-left:0;}
  .svc-treatment-tabs{grid-template-columns:1fr;}
  .svc-treatment-tab{border-right:0;}
  .svc-detail{padding-inline:24px;}
  .svc-detail h3{font-size:3.25rem;}
  .svc-detail>.svc-button{width:100%;}
  .svc-options li{font-size:.9375rem;}
  .svc-experience h2{font-size:3.55rem;}
  .svc-notice p{text-align:left;}
  .svc-closing-actions{width:100%;flex-direction:column;}
  .svc-closing-actions .svc-button{width:100%;}
}

@media(max-width:760px) and (max-height:500px){
  .svc-hero{min-height:max(500px,125svh);}
  .svc-hero-inner{padding-top:130px;padding-bottom:48px;}
  .svc-hero h1{font-size:clamp(3.2rem,10vw,4.4rem);}
  .svc-hero-copy>p{margin-top:18px;line-height:1.6;}
  .svc-hero-actions{margin-top:24px;}
}

/* Treatments — restrained detail and delight pass */
.services-page .io{
  transform:translateY(14px);
  transition-duration:.7s;
}

.svc-button{
  transition:background-color .25s ease,border-color .25s ease,color .25s ease,filter .25s ease,transform .35s cubic-bezier(.22,1,.36,1);
}
.svc-button--ghostlight{border-color:rgba(248,241,230,.5);color:#F8F1E6;}
.svc-button--ghostlight:hover{background:rgba(248,241,230,.12);}
.svc-button:active{transform:translateY(1px) scale(.985);}
.svc-inline-link{transition:color .25s ease;}
.svc-inline-link span{transition:transform .35s cubic-bezier(.22,1,.36,1);}

.svc-care-note{
  background:radial-gradient(circle at 16% 7%,rgba(217,190,134,.1),transparent 34%),var(--svc-espresso);
  box-shadow:inset 0 0 0 1px rgba(217,190,134,.08);
}

.svc-concern-tab{position:relative;}
.svc-concern-tab::after{
  content:"";
  position:absolute;
  right:2px;
  bottom:-1px;
  left:2px;
  height:1px;
  background:linear-gradient(90deg,var(--svc-gold-ink),var(--svc-gold-light));
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .4s cubic-bezier(.22,1,.36,1);
}
.svc-concern-tab.is-active::after{transform:scaleX(1);}
.svc-concern-tab.is-active span{transform:rotate(45deg) scale(1.08);}

.svc-treatment-stage{position:relative;}
.svc-treatment-tab::after{
  content:"";
  position:absolute;
  z-index:3;
  top:50%;
  right:-7px;
  width:12px;
  height:12px;
  background:var(--svc-porcelain);
  transform:translateY(-50%) rotate(45deg) scale(0);
  transition:transform .35s cubic-bezier(.22,1,.36,1);
}
.svc-treatment-tab.is-active::after{transform:translateY(-50%) rotate(45deg) scale(1);}
.svc-detail-stack{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:radial-gradient(circle at 78% 12%,rgba(217,190,134,.105),transparent 39%),var(--svc-espresso);
  box-shadow:inset 0 0 0 1px rgba(217,190,134,.08);
}
.svc-detail{position:relative;z-index:1;}

.svc-experience{overflow:hidden;}
.svc-experience::after{
  content:"";
  position:absolute;
  z-index:1;
  inset:18px;
  border:1px solid rgba(217,190,134,.27);
  pointer-events:none;
}
.svc-experience>img{transition:transform .8s cubic-bezier(.22,1,.36,1);}
.svc-closing::before{
  width:116px;
  margin:0 auto 26px;
  background:linear-gradient(90deg,var(--svc-gold-ink) 0 39%,transparent 39% 61%,var(--svc-gold-ink) 61% 100%) center/100% 1px no-repeat;
  line-height:1;
  opacity:.86;
}

/* One-time page entrance and short state-change choreography. */
.svc-enhanced .svc-hero-img{animation:svcHeroImageIn .9s cubic-bezier(.22,1,.36,1) both;}
.svc-enhanced .svc-hero-kicker{animation:svcHeroCopyIn .62s .06s cubic-bezier(.22,1,.36,1) both;}
.svc-enhanced .svc-hero h1{animation:svcHeroCopyIn .68s .13s cubic-bezier(.22,1,.36,1) both;}
.svc-enhanced .svc-hero-copy>p{animation:svcHeroCopyIn .68s .21s cubic-bezier(.22,1,.36,1) both;}
.svc-enhanced .svc-hero-actions{animation:svcHeroCopyIn .68s .29s cubic-bezier(.22,1,.36,1) both;}
.svc-enhanced .svc-hero::after{animation:svcRuleDraw .78s .2s cubic-bezier(.22,1,.36,1) both;}
.svc-enhanced .svc-hero-scroll{animation:svcFadeIn .55s .38s ease both;}
.svc-enhanced .svc-hero-scroll span{animation:svcRuleDraw .52s .34s cubic-bezier(.22,1,.36,1) both;}
.svc-enhanced .svc-care-note.io.in::after{animation:svcCareMarkIn .72s .1s cubic-bezier(.22,1,.36,1) both;}
.svc-enhanced .svc-concern-panel.is-active .svc-concern-head:not(.io)>*{animation:svcConcernIn .42s cubic-bezier(.22,1,.36,1) both;}
.svc-enhanced .svc-concern-panel.is-active .svc-concern-head:not(.io)>p{animation-delay:.06s;}
.svc-enhanced .svc-detail.is-active>.svc-detail-intro{animation:svcDetailChildIn .38s .02s cubic-bezier(.22,1,.36,1) both;}
.svc-enhanced .svc-detail.is-active>.svc-facts{animation:svcDetailChildIn .38s .07s cubic-bezier(.22,1,.36,1) both;}
.svc-enhanced .svc-detail.is-active>:is(.svc-options,.svc-option-groups){animation:svcDetailChildIn .38s .12s cubic-bezier(.22,1,.36,1) both;}
.svc-enhanced .svc-detail.is-active>.svc-price-note{animation:svcDetailChildIn .38s .16s cubic-bezier(.22,1,.36,1) both;}
.svc-enhanced .svc-detail.is-active>.svc-button{animation:svcDetailChildIn .38s .2s cubic-bezier(.22,1,.36,1) both;}

@keyframes svcHeroImageIn{
  from{opacity:.74;transform:scale(1.025);}
  to{opacity:1;transform:scale(1);}
}
@keyframes svcHeroCopyIn{
  from{opacity:0;transform:translateY(16px);}
  to{opacity:1;transform:none;}
}
@keyframes svcRuleDraw{
  from{transform:scaleX(0);}
  to{transform:scaleX(1);}
}
@keyframes svcFadeIn{
  from{opacity:0;}
  to{opacity:1;}
}
@keyframes svcCareMarkIn{
  from{opacity:0;transform:rotate(45deg) scale(.92);}
  to{opacity:1;transform:rotate(45deg) scale(1);}
}
@keyframes svcConcernIn{
  from{opacity:0;transform:translateY(8px);}
  to{opacity:1;transform:none;}
}
@keyframes svcDetailChildIn{
  from{opacity:0;transform:translateY(8px);}
  to{opacity:1;transform:none;}
}

@media(hover:hover) and (pointer:fine){
  .svc-button:hover{filter:none;}
  .svc-inline-link:hover{gap:12px;}
  .svc-inline-link:hover span{transform:translateX(5px);}
  .svc-hero .svc-inline-link:hover span{transform:translateY(4px);}
  .svc-concern-tab:hover::after{transform:scaleX(.42);}
  .svc-concern-tab.is-active:hover::after{transform:scaleX(1);}
  .svc-experience:hover>img{transform:scale(1.12);}
}

@media(max-width:760px){
  .svc-treatment-tab::after{display:none;}
  .svc-experience::after{inset:12px;}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  .services-page .io{opacity:1;transform:none;transition:none;}
  .services-page :is(.svc-button,.svc-inline-link,.svc-inline-link span,.svc-concern-tab,.svc-concern-tab span,.svc-treatment-tab,.svc-treatment-tab>span:last-child,.svc-experience>img,.svc-skip){transition:none;}
  .services-page .svc-concern-tab::after,
  .services-page .svc-treatment-tab::before,
  .services-page .svc-treatment-tab::after{transition:none;}
  .services-page :is(.svc-button:active,.svc-inline-link:hover span,.svc-hero .svc-inline-link:hover span){transform:none;}
  .services-page .svc-experience:hover>img{transform:scale(1.1);}
  .svc-enhanced .svc-hero-img,
  .svc-enhanced .svc-hero-kicker,
  .svc-enhanced .svc-hero h1,
  .svc-enhanced .svc-hero-copy>p,
  .svc-enhanced .svc-hero-actions,
  .svc-enhanced .svc-hero-scroll,
  .svc-enhanced .svc-hero-scroll span,
  .svc-enhanced .svc-concern-panel.is-active .svc-concern-head>*,
  .svc-enhanced .svc-detail.is-active,
  .svc-enhanced .svc-detail.is-active>.svc-detail-intro,
  .svc-enhanced .svc-detail.is-active>.svc-facts,
  .svc-enhanced .svc-detail.is-active>:is(.svc-options,.svc-option-groups),
  .svc-enhanced .svc-detail.is-active>.svc-price-note,
  .svc-enhanced .svc-detail.is-active>.svc-button{animation:none;}
  .svc-enhanced .svc-hero::after,
  .svc-enhanced .svc-care-note.io.in::after{animation:none;}
}

/* ============================================================
   SITEWIDE EDITORIAL POLISH
   Shared rhythm, contrast, focus, and responsive foundations.
   Page-specific art direction remains intentionally distinct.
   ============================================================ */
:root{
  --color-espresso:#1B1611;
  --color-ink:#2A231C;
  --color-cream:#F5EFE6;
  --color-porcelain:#FBF7F0;
  --color-vellum:#E9DDCA;
  --color-gold:#B08A47;
  --color-gold-ink:#6D5429;
  --color-gold-light:#D9BE86;
  --ease-out-expo:cubic-bezier(.16,1,.3,1);
  --duration-fast:180ms;
  --duration-medium:360ms;
  --shell-max:1280px;
  --shell-gutter:max(clamp(20px,5vw,42px),env(safe-area-inset-left),env(safe-area-inset-right));
}
body{--gold-ink:var(--color-gold-ink);font-synthesis:none;}
h1,h2,h3{text-wrap:balance;}
p{text-wrap:pretty;}
button,input,select,textarea{font:inherit;}
:is(a,button,input,select,textarea){touch-action:manipulation;}
:is(a,button,input,select,textarea):focus-visible{outline:2px solid var(--color-gold-ink);outline-offset:4px;}
:is(.home-hero,.ga-page-hero,.home-tech,.home-testimonials,footer) :is(a,button):focus-visible{outline-color:var(--color-gold-light);}
:is(a,button,input,select,textarea).ga-on-dark:focus-visible,
.ga-on-dark :is(a,button,input,select,textarea):focus-visible{outline-color:var(--color-gold-light);}
.ga-skip{position:fixed;z-index:2100;top:max(12px,env(safe-area-inset-top));left:max(12px,env(safe-area-inset-left));transform:translateY(-160%);padding:12px 18px;background:var(--color-porcelain);border:2px solid var(--color-gold-ink);font-size:14px;font-weight:500;color:var(--color-ink);transition:transform .2s ease;}
.ga-skip:focus{transform:none;}
.services-page .ga-skip{display:none;}

/* Content remains available without JS; capability class enables reveals. */
.io{opacity:1;transform:none;}
.js .io:not(.in){opacity:0;transform:translateY(30px);}
.js .io.in{opacity:1;transform:none;}
.ga-btn{display:inline-flex;min-height:52px;align-items:center;justify-content:center;transition:transform .3s cubic-bezier(.22,1,.36,1),filter .25s ease,background-color .25s ease,color .25s ease;}
.ga-btn:active{transform:translateY(1px);}
.ga-image-frame{position:relative;isolation:isolate;}
.ga-image-frame::after{content:"";position:absolute;z-index:2;inset:10px;border:1px solid rgba(255,253,248,.42);pointer-events:none;}
.ga-image-frame img{width:100%;height:100%;transition:transform .8s cubic-bezier(.22,1,.36,1);}
.ga-image-frame figcaption{position:absolute;z-index:3;right:18px;bottom:16px;left:18px;padding:11px 14px;background:rgba(27,22,17,.78);backdrop-filter:blur(8px);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:#F5EBDD;}
@media(hover:hover) and (pointer:fine){.ga-image-frame:hover img{transform:scale(1.018);}}

/* Shared interior-page hero. */
.ga-page-hero{isolation:isolate;min-height:max(640px,70svh)!important;background:var(--color-espresso);}
.ga-page-hero::after{content:"";position:absolute;z-index:1;inset:18px;border:1px solid rgba(217,190,134,.22);pointer-events:none;}
.ga-page-hero .ga-hero-media{z-index:-3;animation:gaHeroIn 1s cubic-bezier(.22,1,.36,1) both;}
.ga-page-hero>div:not(:last-child){z-index:-2;}
.ga-page-hero>div:last-child{z-index:2;}
.ga-page-hero h1{max-width:850px;font-size:clamp(48px,7vw,96px)!important;letter-spacing:-.025em!important;}
.ga-hero-chapter-link{display:inline-flex;min-height:44px;align-items:center;gap:12px;margin-top:22px;padding:5px 0;border-bottom:1px solid var(--color-gold);font-size:12.5px;font-weight:500;letter-spacing:.19em;text-transform:uppercase;color:#F5EBDD;}
.ga-hero-chapter-link span{color:var(--color-gold-light);transition:transform var(--duration-medium) var(--ease-out-expo);}
.ga-chapter-anchor{scroll-margin-top:112px;}
@media(hover:hover) and (pointer:fine){.ga-hero-chapter-link:hover span{transform:translateY(4px);}}
@keyframes gaHeroIn{from{opacity:.76;transform:scale(1.025)}to{opacity:1;transform:none}}

/* Small display-gold is ornamental; readable text-gold is deliberately darker. */
:is(.ga-on-light,.home-welcome,.home-treatments,.home-founder,.home-closing) [style*="text-transform:uppercase"][style*="color:var(--gold)"]{color:var(--color-gold-ink)!important;}
:is(.ga-on-light,.home-welcome,.home-treatments,.home-founder,.home-closing) [style*="color:#7A6E5E"]{color:#62584B!important;}
/* Nested espresso panels keep the brighter brass needed for dark-surface contrast. */
:is(.ga-on-light,.home-welcome,.home-treatments,.home-founder,.home-closing) .ga-on-dark [style*="text-transform:uppercase"][style*="color:var(--gold)"]{color:var(--color-gold-light)!important;}

/* Navigation: compact wordmark, earlier tablet switch, short-screen scrolling. */
[data-nav] nav{padding-block:11px!important;}
[data-nav] nav,.strip-row{padding-left:max(clamp(20px,5vw,42px),env(safe-area-inset-left))!important;padding-right:max(clamp(20px,5vw,42px),env(safe-area-inset-right))!important;}
.nav-brand{flex:0 0 auto;min-width:max-content;}
.nav-brand img{height:58px!important;width:auto!important;}
.nav-desktop [aria-current="page"]{color:var(--navactive)!important;}
.nav-mobile [aria-current="page"]{color:var(--color-gold-light)!important;}
.nav-progress{position:absolute;right:0;bottom:0;left:0;height:2px;background:linear-gradient(90deg,#8E6D31,#E0C58E);transform:scaleX(0);transform-origin:left center;animation:gaScrollProgress linear;animation-timeline:scroll(root block);}
@keyframes gaScrollProgress{to{transform:scaleX(1)}}
.nav-mobile{max-height:calc(100dvh - 100px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;}
@media(max-width:1080px){
  .nav-desktop{display:none!important;}
  .nav-burger{display:flex;}
  .nav-mobile{padding-left:max(clamp(20px,5vw,42px),env(safe-area-inset-left));padding-right:max(clamp(20px,5vw,42px),env(safe-area-inset-right));}
}
@media(max-height:720px) and (max-width:1080px){
  .nav-mobile{padding-top:8px;padding-bottom:20px;}
  .nav-mobile a{padding:12px 2px;font-size:25px;}
  .nav-mobile a.m-book{margin-top:16px;padding:15px;}
}

/* Home: shorten the treatment chapter without removing useful detail. */
.home-rating{width:max-content;max-width:100%;border-bottom:1px solid transparent;transition:border-color .25s ease;}
.home-rating:hover{border-color:rgba(217,190,134,.55);}
.home-marquee:hover .home-marquee-track,.home-marquee:focus-within .home-marquee-track{animation-play-state:paused!important;}
.home-treatment-list{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));align-content:center;}
.home-treatment-list>a{grid-template-columns:minmax(0,1fr) auto!important;min-height:138px;}
.home-treatment-list>a:nth-child(odd){border-right:1px solid rgba(176,138,71,.22);padding-right:20px!important;}
.home-treatment-list>a:nth-child(even){padding-left:20px!important;}
.home-all-treatments-mobile{display:none;}
.home-proof{transition:transform .35s cubic-bezier(.22,1,.36,1),border-color .25s ease;}
.home-proof:hover{transform:translateY(-3px);border-color:rgba(109,84,41,.7)!important;}

@media(max-width:1080px){
  .home-treatment-list{grid-template-columns:1fr;}
  .home-treatment-list>a:nth-child(odd){border-right:0;padding-right:4px!important;}
  .home-treatment-list>a:nth-child(even){padding-left:4px!important;}
  .home-treatment-list>a{min-height:0;}
  .home-treatment-list>a:nth-child(n+7):not(.home-all-treatments-mobile){display:none!important;}
  .home-treatment-list .home-all-treatments-mobile{display:flex!important;min-height:54px;align-items:center;justify-content:space-between;padding:18px 4px!important;border-top:1px solid rgba(109,84,41,.45);font-size:11px;font-weight:500;letter-spacing:.17em;text-transform:uppercase;color:var(--color-gold-ink);}
}

/* About: one proof-led anchor with two supporting notes. */
.about-values-grid{grid-template-columns:minmax(0,1.08fr) minmax(300px,.92fr)!important;grid-template-rows:1fr 1fr;}
.about-value--lead{grid-row:1/3;display:flex;flex-direction:column;justify-content:center;background:radial-gradient(circle at 0 0,rgba(217,190,134,.12),transparent 48%),#1B1611!important;}
.about-value-proof{font-size:11px;font-weight:500;letter-spacing:.25em;text-transform:uppercase;color:var(--color-gold-light);}
.about-value{position:relative;overflow:hidden;}
.about-value::after{content:"";position:absolute;right:28px;bottom:24px;width:26px;height:26px;border-right:1px solid rgba(217,190,134,.34);border-bottom:1px solid rgba(217,190,134,.34);}
.about-gallery .gal>div:first-child{transform:translateY(-20px);}

/* Contact: location choice feels immediate; form gets a calm clinical panel. */
.contact-locations-intro{max-width:760px;margin:0 auto 50px;text-align:center;}
.contact-locations-script{display:block;font-family:'Pinyon Script';font-size:clamp(34px,4vw,48px);line-height:1;color:var(--color-gold-ink);}
.contact-locations-intro h2{margin-top:8px;font-family:'Cormorant Garamond';font-size:clamp(38px,4.6vw,60px);font-weight:500;line-height:1;}
.contact-locations-intro p{max-width:510px;margin:18px auto 0;font-size:16px;font-weight:400;line-height:1.75;color:#514738;}
.location-card{position:relative;overflow:hidden;transition:transform .45s cubic-bezier(.22,1,.36,1),box-shadow .45s ease;}
.location-card::before{content:"";position:absolute;top:0;right:0;width:92px;height:92px;border-top:1px solid rgba(176,138,71,.38);border-right:1px solid rgba(176,138,71,.38);transform:translate(30px,-30px) rotate(45deg);}
.location-card--dark{background:var(--color-espresso)!important;color:#EDE2CF!important;box-shadow:0 34px 74px -46px rgba(40,28,16,.75);}
.location-card--dark :is(h3,address,a,span){color:#EDE2CF!important;}
.location-card--dark>div:first-child{color:var(--color-gold-light)!important;}
.location-card--dark a[href*="book.prospyrmed"]{background:linear-gradient(120deg,#cda863,#9c7a36 48%,#e3cb93)!important;color:#17110B!important;}
.location-card--dark a[href*="google.com"]{border-color:rgba(237,226,207,.6)!important;color:#F6EEDF!important;}
.contact-form-section{position:relative;background:#F5EFE6!important;}
.contact-form-section::before{content:"";position:absolute;top:0;left:50%;width:1px;height:48px;background:var(--color-gold-ink);opacity:.55;}
.contact-form-panel{padding:clamp(28px,3.5vw,48px);background:var(--color-porcelain);border:1px solid rgba(176,138,71,.25);box-shadow:0 38px 80px -56px rgba(40,28,16,.55);}
#contact{scroll-margin-top:120px;}
.gform label{color:#62584B;}
.gform [aria-invalid="true"]{border-color:#934039;box-shadow:0 0 0 3px rgba(147,64,57,.12);}

/* Shop: one image-led primary destination, three compact supporting choices. */
.shop-grid{grid-template-columns:minmax(0,1.18fr) minmax(320px,.82fr)!important;grid-template-rows:auto auto auto;}
.shop-card--feature{grid-row:1/3;min-height:720px;}
.shop-card-media{height:430px;min-height:0;flex:0 0 430px;overflow:hidden;}
.shop-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.22,1,.36,1);}
.shop-card-body{display:flex;flex:1;flex-direction:column;padding:clamp(34px,4vw,58px);}
.shop-card-action{display:inline-flex;min-height:48px;align-items:center;justify-content:space-between;gap:18px;align-self:flex-start;margin-top:26px;padding:13px 18px;background:#251E16;border:1px solid #251E16;font-size:12px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:#F5E9D1;transition:background-color .25s ease,filter .25s ease;}
.shop-card-action>span{color:currentColor;transition:transform var(--duration-medium) var(--ease-out-expo);}
.shop-card--feature .shop-card-action,.shop-card--gift .shop-card-action{background:linear-gradient(120deg,#cda863,#9c7a36 48%,#e3cb93);border-color:transparent;color:#17110B;}
.shop-card:not(.shop-card--feature){min-height:218px;}
.shop-card--gift{grid-column:1/-1;min-height:250px!important;}
.shop-card>span[style*="font-size:120px"]{display:none;}
.shop-specials-link{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:24px;padding:22px 26px;border-top:1px solid rgba(109,84,41,.45);border-bottom:1px solid rgba(109,84,41,.45);font-family:'Cormorant Garamond';font-size:21px;color:var(--color-ink);}
.shop-specials-link strong{font-family:'Jost';font-size:11px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--color-gold-ink);}
@media(hover:hover) and (pointer:fine){
  .shop-card--feature:hover .shop-card-media img{transform:scale(1.025);}
  .shop-card:hover .shop-card-action>span{transform:translateX(5px);}
  .shop-card:hover .shop-card-action{filter:brightness(1.07);}
}

/* Education: visual curriculum rail and mobile-safe actions. */
.education-intro>div{row-gap:clamp(50px,7vw,82px)!important;}
.education-training-frame{aspect-ratio:4/3;}
.education-method{grid-column:1/-1;list-style:none;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(109,84,41,.34);border-bottom:1px solid rgba(109,84,41,.34);}
.education-method li{display:flex;gap:16px;padding:24px clamp(16px,2.4vw,30px);border-right:1px solid rgba(109,84,41,.22);}
.education-method li:last-child{border-right:0;}
.education-method>li>span{font-family:'Cormorant Garamond';font-size:21px;color:var(--color-gold-ink);}
.education-method strong{display:block;font-family:'Cormorant Garamond';font-size:22px;font-weight:500;line-height:1.1;}
.education-method small{display:block;margin-top:7px;font-size:12px;font-weight:400;line-height:1.55;color:#554C40;}
.education-course-card,.education-additional-card{box-shadow:0 28px 60px -52px rgba(40,28,16,.65);}
.education-course-cta{white-space:normal;text-align:center;}

@media(max-width:880px){
  .ga-page-hero{min-height:max(520px,62svh)!important;align-items:flex-end!important;}
  .ga-page-hero::after{inset:12px;}
  .ga-page-hero>div:last-child{padding-top:170px!important;}
  .home-tech>div>.io:last-child{min-height:0!important;}
  .about-values-grid{grid-template-columns:1fr!important;grid-template-rows:auto;}
  .about-value--lead{grid-row:auto;}
  .about-gallery .gal>div:first-child{transform:none;}
  .shop-grid{grid-template-columns:1fr!important;grid-template-rows:auto;}
  .shop-card--feature{grid-row:auto;min-height:620px;}
  .shop-card--gift{grid-column:auto;}
  .education-method{grid-template-columns:1fr;}
  .education-method li{border-right:0;border-bottom:1px solid rgba(109,84,41,.22);}
  .education-method li:last-child{border-bottom:0;}
}
@media(max-width:520px){
  .ga-btn,.education-course-cta{width:100%;max-width:100%;padding-inline:16px!important;white-space:normal!important;text-align:center;}
  .home-proof-grid{gap:26px 16px!important;}
  .location-card{padding:32px 26px!important;}
  .shop-card--feature{min-height:560px;}
  .shop-card-media{height:280px;min-height:0;flex-basis:280px;}
  .shop-specials-link{align-items:flex-start;flex-direction:column;}
  .education-course-card{padding:34px 24px!important;}
}

/* Mobile concierge is a compact 48px action until opened. */
@media(max-width:760px){
  .gc{right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));left:max(12px,env(safe-area-inset-left));}
  .gc-panel{--gc-sticky-head:77px;max-height:min(72dvh,calc(100dvh - 130px - env(safe-area-inset-bottom)));overflow-y:auto;overscroll-behavior:contain;scroll-padding-block:83px 18px;-webkit-overflow-scrolling:touch;}
  .gc-log{flex:0 0 auto;min-height:0;overflow:visible;}
  .gc-launch{width:48px;height:48px;padding:0!important;justify-content:center;}
  .gc-launch :is(.gc-launch-tx,.gc-launch-x){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}
  .gc-input,.gc-lead-in{min-height:44px;font-size:16px;}
}

/* ============================================================
   IMPECCABLE FINISHING PASS
   Precise interaction, dependable content, and narrow-screen craft.
   ============================================================ */
a,button{-webkit-tap-highlight-color:transparent;}
button{cursor:pointer;}

/* Content never depends on an observer firing. Hero and component motion remain. */
.js .io:not(.in){opacity:1;transform:none;}

/* Motion belongs to paint/composite properties, never layout properties. */
.ga-arrow-link>span:last-child,
.hm-compare>span:last-child,
.tier-cta>span:last-child{transition:transform var(--duration-medium) var(--ease-out-expo);}
.sp-grid.in .sp-card{animation:none;}
@media(hover:hover) and (pointer:fine){
  .ga-arrow-link:hover>span:last-child,
  .hm-compare:hover>span:last-child,
  .tier:hover .tier-cta>span:last-child{transform:translateX(5px);}
  .shop-hero .ga-arrow-link:hover>span:last-child{transform:translateY(4px);}
  .ga-btn:hover{transform:translateY(-2px);}
}

/* Treatment rows feel responsive without moving surrounding content. */
.home-treatment-list>a{position:relative;transition:background-color .25s ease,border-color .25s ease;}
.home-treatment-list>a>span:last-child{transition:transform var(--duration-medium) var(--ease-out-expo),color .25s ease;}
@media(hover:hover) and (pointer:fine){
  .home-treatment-list>a:hover{background:rgba(176,138,71,.055);}
  .home-treatment-list>a:hover>span:last-child{transform:translateX(5px);color:var(--color-gold-ink)!important;}
}

/* A less repetitive, more editorial homepage cadence. */
:is(.home-welcome,.home-treatments,.home-tech,.hm-section,.home-founder,.home-testimonials,.home-closing){padding-block:clamp(72px,8vw,112px)!important;}

/* Keep small actionable type and controls comfortably legible. */
.nav-burger{width:44px;height:44px;}
[data-strip] a[href^="tel:"]{position:relative;padding-block:16px;margin-block:-16px;}
.hm-plan-cta{font-size:12px;}
.ga-arrow-link,.hm-compare,.hm-guidance a,.home-rating{min-height:44px;align-items:center;}
.hm-guidance a{display:inline-flex;}
.gform label{font-size:12px;letter-spacing:.19em;}
.gc-close{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;padding:0;}
.gc-launch{min-height:44px;}
.gc-chip{min-height:44px;font-size:12.5px;line-height:1.35;}
.gc-lead-open,.gc-lead-send{min-height:44px;font-size:12px;}
.gc-input::placeholder,.gc-lead-in::placeholder{color:#6B6052;opacity:1;}
.gc-fine a{position:relative;}
.gc-fine a::after{content:"";position:absolute;inset:-15px -6px;}
footer nav a,footer a[href^="tel:"],footer a[href^="mailto:"]{display:flex;min-height:44px;align-items:center;margin-block:-6px;}
.location-card a[href^="tel:"]{display:inline-flex;width:max-content;max-width:100%;min-height:44px;align-items:center;}
.contact-form-copy a[href^="tel:"]{display:inline-flex;min-height:44px;align-items:center;margin-block:-9px;}

/* Direct book and join actions read as decisions, not editorial navigation. */
.dev-cta,.tier-cta{min-height:48px;margin-top:auto;padding:13px 18px;align-self:flex-start;background:#251E16;border:1px solid #251E16;font-weight:500;color:#F5E9D1;transition:background-color .25s ease,filter .25s ease;}
.dev-cta{padding-top:13px;padding-bottom:13px;border-bottom:1px solid #251E16;}
/* Secondary action under Book: prepay the package on the Prospyr store. Ghost so Book stays primary. */
.dev-buy{min-height:44px;margin-top:12px;padding:11px 16px;align-self:flex-start;display:inline-flex;align-items:center;gap:10px;background:transparent;border:1px solid rgba(109,84,41,.5);font-size:12px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--color-gold-ink);transition:background-color .25s ease;}
@media(hover:hover) and (pointer:fine){.dev-buy:hover{background:rgba(176,138,71,.1);}}
.tier-cta .u{padding:0;border:0;}
.tier--feat .tier-cta{background:linear-gradient(120deg,#cda863,#9c7a36 48%,#e3cb93);border-color:transparent;color:#17110B;}
@media(hover:hover) and (pointer:fine){.dev-cta:hover,.tier-cta:hover{filter:brightness(1.09);}}

/* A shorter, denser site ending keeps the final invitation in view. */
footer{padding:clamp(48px,6vw,72px) 0 30px!important;}
footer .footer-grid{gap:32px!important;padding-bottom:42px!important;}
@media(min-width:881px){
  footer nav a,footer a[href^="tel:"],footer a[href^="mailto:"]{min-height:32px;margin-block:-3px;}
  .gc{right:18px;bottom:18px;}
  .gc-launch{min-height:48px;gap:8px;padding:0 16px;font-size:10.5px;box-shadow:0 12px 26px -18px rgba(40,28,16,.58);}
}

/* The Academy wording stays readable over the bright clinical coat. */
.education-hero::before{content:"";position:absolute;z-index:0;inset:0;background:linear-gradient(90deg,rgba(15,10,7,.62) 0%,rgba(15,10,7,.3) 50%,transparent 78%);pointer-events:none;}

/* Shopping begins in the hero; the destination chapter follows sooner. */
#shop-destinations{scroll-margin-top:112px;padding-top:clamp(64px,7vw,96px)!important;}
.shop-destinations>div>.io:first-child{margin-bottom:46px!important;}

/* Closed seasonal campaigns leave a graceful, useful next step. */
.sp-expired{background:radial-gradient(120% 100% at 50% 0%,#FBF7F0 0%,#EFE5D6 100%);padding:clamp(76px,9vw,124px) 0;text-align:center;}
.sp-expired-inner{max-width:760px;margin:0 auto;padding:0 var(--shell-gutter);}
.sp-expired-mark{font-family:'Pinyon Script';font-size:clamp(38px,5vw,56px);line-height:1;color:var(--color-gold-ink);}
.sp-expired h2{margin-top:10px;font-family:'Cormorant Garamond';font-size:clamp(40px,5.4vw,68px);font-weight:500;line-height:.98;color:var(--color-ink);}
.sp-expired p{max-width:560px;margin:22px auto 0;font-size:16.5px;font-weight:400;line-height:1.8;color:#514738;}
.sp-expired-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:14px;margin-top:34px;}

@media(max-width:1080px){
  body.nav-menu-open{overflow:hidden;}
}
@media(max-width:560px){
  .strip-row a[href^="tel:"]{font-size:12px;letter-spacing:.11em;}
  .dev,.dev-list,.dev-stage,.dev-panel,.dev-row{min-width:0;}
  .dev-list{grid-template-columns:repeat(2,minmax(0,1fr));}
  .dev-row{width:auto;min-height:48px;grid-template-columns:22px minmax(0,1fr);gap:6px;padding:12px 10px;}
  .dev-row .t{min-width:0;font-size:15.5px;overflow-wrap:anywhere;}
  .dev-row .n{font-size:12px;}
  .home-all-treatments-mobile{font-size:12px!important;}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  .io,.js .io:not(.in),.reveal{opacity:1!important;transform:none!important;transition:none!important;animation:none!important;}
  .home-marquee-track,.sp-ticker-in{animation:none!important;transform:none!important;}
  .ga-page-hero .ga-hero-media,.ga-image-frame img,.shop-card-media img,.nav-progress{animation:none!important;transition:none!important;transform:none!important;}
  .ga-btn,.ga-arrow-link>span,.ga-hero-chapter-link>span,.shop-card-action>span,.home-proof,.home-treatment-list>a>span:last-child,.hm-compare>span,.tier-cta>span,.location-card,.shop-card{transition:none!important;}
}

/* specials photo panels — image behind the seal / the percentage figure */
.sp-photo-panel{position:relative;overflow:hidden;background:none;}
.sp-photo-panel>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
.sp-photo-panel::after{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,rgba(18,13,9,.3) 0%,rgba(18,13,9,.12) 42%,rgba(18,13,9,.55) 100%);}
.sp-photo-panel>*:not(img){position:relative;z-index:2;}
.sp-photo-panel .sp-seal text{fill:#F7ECD4;}
.sp-photo-panel .sp-seal-core .mk{color:#E3C88C;}
.sp-photo-panel .sp-seal-core .lb{color:#FBF3E2;text-shadow:0 1px 6px rgba(0,0,0,.55);}
.sp-photo-panel .sp-zo-fig .pct{color:#F8F1E1;text-shadow:0 2px 12px rgba(0,0,0,.5);}
.sp-photo-panel .sp-zo-fig .off{color:#EBDCBB;}
.sp-photo-panel .sp-cta{color:#F6EDDA;border-bottom-color:#D9BE86;}

/* ==========================================================================
   AUGUST SPECIALS  —  .sx-*  (scale, contrast, motion; no stock photography)
   ========================================================================== */
.specials-page{--sx-espresso:#17110B;--sx-ink:#2A231C;--sx-cream:#F7F1E6;--sx-paper:#EFE5D6;
  --sx-gold:#B08A47;--sx-gold-lt:#E3CB93;--sx-gold-dp:#8A6A2E;}

/* ---- stage ---- */
.sx-stage{position:relative;min-height:max(640px,78svh);display:flex;align-items:flex-end;
  overflow:hidden;background:var(--sx-espresso);isolation:isolate;}
.sx-stage-media{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;
  object-position:center 52%;filter:saturate(.8) contrast(1.05);}
.sx-stage-veil{position:absolute;inset:0;z-index:-1;background:
  linear-gradient(90deg,rgba(14,10,7,.94) 0%,rgba(16,12,8,.8) 42%,rgba(16,12,8,.34) 74%,rgba(16,12,8,.12) 100%),
  linear-gradient(180deg,rgba(14,10,7,.6) 0%,rgba(14,10,7,.05) 40%,rgba(14,10,7,.8) 100%);}
.sx-stage-inner{position:relative;width:100%;max-width:1280px;margin:0 auto;
  padding:clamp(120px,16vh,200px) clamp(20px,5vw,42px) clamp(52px,7vh,84px);}
.sx-eyebrow{display:flex;align-items:center;gap:16px;margin-bottom:26px;
  font-size:12px;font-weight:500;letter-spacing:.4em;text-transform:uppercase;color:#E7D4A8;}
.sx-eyebrow span{width:46px;height:1px;background:var(--sx-gold);}
.sx-title{display:flex;flex-direction:column;line-height:.82;color:#FBF6EC;}
.sx-month{font-family:'Pinyon Script',cursive;font-size:clamp(46px,7vw,104px);line-height:1;
  color:var(--sx-gold-lt);margin-bottom:-.12em;padding-left:.06em;}
.sx-word{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;
  font-size:clamp(66px,13.5vw,196px);letter-spacing:-.03em;padding-bottom:.16em;}
.sx-lede{margin-top:clamp(12px,1.6vh,22px);max-width:520px;font-weight:400;font-size:clamp(16px,1.5vw,18px);
  line-height:1.75;color:rgba(248,242,232,.88);}

/* countdown */
.sx-clock{margin-top:38px;display:inline-flex;flex-direction:column;gap:12px;
  padding:20px 26px;border:1px solid rgba(217,190,134,.34);
  background:linear-gradient(180deg,rgba(28,21,14,.62),rgba(18,13,9,.5));backdrop-filter:blur(3px);}
.sx-clock-lb{font-size:10.5px;font-weight:500;letter-spacing:.34em;text-transform:uppercase;color:var(--sx-gold-lt);}
.sx-clock-row{display:flex;align-items:baseline;gap:clamp(8px,1.4vw,18px);}
.sx-unit{display:flex;flex-direction:column;align-items:center;min-width:clamp(44px,5vw,66px);}
.sx-unit .n{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;
  font-size:clamp(34px,4.4vw,58px);line-height:1;color:#FBF6EC;
  font-variant-numeric:lining-nums tabular-nums;font-feature-settings:"lnum" 1,"tnum" 1;}
.sx-unit .u{margin-top:7px;font-size:9.5px;letter-spacing:.26em;text-transform:uppercase;color:rgba(237,226,207,.66);}
.sx-sep{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(26px,3vw,40px);
  line-height:1;color:rgba(217,190,134,.5);transform:translateY(-.18em);}
.sx-scroll{margin-top:34px;display:inline-flex;align-items:center;gap:12px;padding-bottom:7px;
  border-bottom:1px solid var(--sx-gold);font-size:12px;font-weight:500;letter-spacing:.22em;
  text-transform:uppercase;color:#F5EBDD;}

/* ---- marquee ---- */
.sx-marquee{overflow:hidden;background:var(--sx-espresso);border-block:1px solid rgba(217,190,134,.22);}
.sx-marquee-track{display:flex;align-items:center;gap:28px;width:max-content;padding:15px 0;
  animation:sx-slide 38s linear infinite;}
.sx-marquee-track span{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(19px,2.1vw,27px);
  font-weight:500;letter-spacing:.01em;color:#F3E7CF;white-space:nowrap;
  font-variant-numeric:lining-nums;font-feature-settings:"lnum" 1;}
.sx-marquee-track i{font-style:normal;font-size:12px;color:var(--sx-gold);}
@keyframes sx-slide{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ---- offer bands ---- */
.sx-band{position:relative;overflow:hidden;padding:clamp(66px,8.5vw,124px) 0;}
.sx-band--dark{background:var(--sx-espresso);color:#EDE2CF;}
.sx-band--light{background:var(--sx-cream);color:var(--sx-ink);}
.sx-band + .sx-band{border-top:1px solid rgba(176,138,71,.24);}
.sx-band-inner{position:relative;max-width:1280px;margin:0 auto;padding:0 clamp(20px,5vw,42px);
  display:grid;grid-template-columns:1fr minmax(280px,.72fr);gap:clamp(32px,5vw,80px);align-items:center;}

/* the oversized ghost numeral */
.sx-num{position:absolute;top:50%;left:clamp(-14px,-1.5vw,0px);transform:translateY(-50%);
  font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:clamp(190px,26vw,380px);
  line-height:.8;letter-spacing:-.05em;pointer-events:none;user-select:none;z-index:0;
  font-variant-numeric:lining-nums;font-feature-settings:"lnum" 1;}
.sx-band--dark .sx-num{color:rgba(217,190,134,.07);}
.sx-band--light .sx-num{color:rgba(138,106,46,.09);}
.sx-band-body,.sx-figure{position:relative;z-index:1;}

.sx-kicker{font-size:11px;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--sx-gold);}
.sx-band--light .sx-kicker{color:var(--sx-gold-dp);}
.sx-name{margin-top:14px;font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;
  font-size:clamp(40px,5.6vw,78px);line-height:1;letter-spacing:-.025em;}
.sx-band--dark .sx-name{color:#FBF6EC;}
.sx-copy{margin-top:20px;max-width:56ch;font-weight:400;font-size:16px;line-height:1.8;}
.sx-band--dark .sx-copy{color:rgba(237,226,207,.82);}
.sx-band--light .sx-copy{color:#544839;}
.sx-facts{margin-top:22px;display:flex;flex-wrap:wrap;align-items:baseline;column-gap:14px;row-gap:8px;
  list-style:none;padding:0;}
.sx-facts li{font-size:12px;font-weight:400;letter-spacing:.16em;text-transform:uppercase;}
.sx-band--dark .sx-facts li{color:rgba(237,226,207,.74);}
.sx-band--light .sx-facts li{color:#6A5D4B;}
.sx-facts li:not(:last-child)::after{content:"\2726";margin-left:14px;font-size:9px;color:var(--sx-gold);}

/* the five-step ZO list */
.sx-five{margin-top:24px;padding:0;list-style:none;display:grid;gap:1px;
  background:rgba(217,190,134,.2);border-block:1px solid rgba(217,190,134,.2);max-width:520px;}
.sx-five li{background:var(--sx-espresso);padding:13px 2px;display:flex;align-items:baseline;gap:14px;
  font-family:'Cormorant Garamond',Georgia,serif;font-size:20px;color:#F1E6D2;}
.sx-five b{font-weight:500;font-size:12px;letter-spacing:.12em;color:var(--sx-gold);
  font-family:'Jost',sans-serif;min-width:22px;font-variant-numeric:lining-nums;}
.sx-five span{font-family:'Jost',sans-serif;font-size:12.5px;letter-spacing:.14em;
  text-transform:uppercase;color:rgba(237,226,207,.5);}
.sx-bonus{margin-top:22px;padding-left:16px;border-left:1px solid var(--sx-gold);
  display:flex;flex-direction:column;gap:6px;}
.sx-bonus .k{font-size:9.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--sx-gold);}
.sx-bonus .v{font-family:'Cormorant Garamond',Georgia,serif;font-size:21px;color:#FBF6EC;}

/* the money */
.sx-figure{text-align:right;}
.sx-fig-lb{font-size:10px;font-weight:500;letter-spacing:.34em;text-transform:uppercase;}
.sx-band--dark .sx-fig-lb{color:var(--sx-gold-lt);}
.sx-band--light .sx-fig-lb{color:var(--sx-gold-dp);}
.sx-fig-v{margin-top:10px;display:flex;align-items:flex-start;justify-content:flex-end;
  font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;line-height:.86;
  font-size:clamp(84px,13vw,190px);letter-spacing:-.045em;
  font-variant-numeric:lining-nums tabular-nums;font-feature-settings:"lnum" 1,"tnum" 1;}
.sx-band--dark .sx-fig-v{color:#FBF6EC;}
.sx-band--light .sx-fig-v{color:var(--sx-ink);}
.sx-fig-v .cur,.sx-fig-v .pct{font-size:.36em;line-height:1;margin-top:.16em;color:var(--sx-gold);}
.sx-fig-v .cur{margin-right:.04em;}
.sx-fig-v--word{letter-spacing:-.02em;}
.sx-fig-note{margin-top:14px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;}
.sx-band--dark .sx-fig-note{color:rgba(237,226,207,.6);}
.sx-band--light .sx-fig-note{color:#7A6E5E;}

/* gold-sweep CTA */
.sx-cta{position:relative;overflow:hidden;margin-top:30px;display:inline-flex;align-items:center;gap:12px;
  min-height:48px;padding:14px 26px;border:1px solid var(--sx-gold);
  font-size:12px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;
  transition:color .3s ease,border-color .3s ease;}
.sx-band--dark .sx-cta{color:#F5EBDD;}
.sx-band--light .sx-cta{color:var(--sx-ink);}
.sx-cta::before{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(120deg,#cda863,#9c7a36 48%,#e3cb93);
  transform:translateX(-101%);transition:transform .45s cubic-bezier(.22,1,.36,1);}
.sx-cta>*{position:relative;}
.sx-cta i{font-style:normal;color:var(--sx-gold);transition:transform .35s cubic-bezier(.22,1,.36,1),color .3s ease;}
@media(hover:hover) and (pointer:fine){
  .sx-cta:hover{color:#1B1409;border-color:transparent;}
  .sx-cta:hover::before{transform:translateX(0);}
  .sx-cta:hover i{transform:translateX(5px);color:#1B1409;}
}
.sx-cta:focus-visible{outline:2px solid var(--sx-gold-lt);outline-offset:3px;}

/* reveal */
.sx-band .sx-band-body,.sx-band .sx-figure{opacity:0;transform:translateY(26px);
  transition:opacity .7s ease,transform .7s cubic-bezier(.22,1,.36,1);}
.sx-band .sx-figure{transition-delay:.1s;}
.sx-band.is-in .sx-band-body,.sx-band.is-in .sx-figure{opacity:1;transform:none;}

/* ---- closing ---- */
.sx-close{background:var(--sx-paper);padding:clamp(56px,7vw,96px) 0 clamp(66px,8vw,110px);}
.sx-close-inner{max-width:1280px;margin:0 auto;padding:0 clamp(20px,5vw,42px);}
.sx-terms{max-width:78ch;padding-left:16px;border-left:1px solid var(--sx-gold);
  font-weight:400;font-size:13.5px;line-height:1.85;color:#514738;}
.sx-terms b{font-weight:500;color:var(--sx-ink);}
.sx-final{margin-top:clamp(48px,6vw,84px);text-align:center;
  opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s cubic-bezier(.22,1,.36,1);}
.sx-final.is-in{opacity:1;transform:none;}
.sx-final h2{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;
  font-size:clamp(38px,5.6vw,76px);line-height:1.02;letter-spacing:-.03em;color:var(--sx-ink);}
.sx-final h2 em{font-style:italic;color:var(--sx-gold-dp);}
.sx-final-actions,.sx-closed-actions{margin-top:32px;display:flex;flex-wrap:wrap;gap:16px;justify-content:center;}
.sx-btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:16px 34px;
  font-size:12.5px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;
  transition:filter .25s ease,background-color .3s ease,color .3s ease;}
.sx-btn--gold{background:linear-gradient(120deg,#cda863,#9c7a36 48%,#e3cb93);color:#231c12;}
.sx-btn--line{border:1px solid var(--sx-ink);color:var(--sx-ink);}
@media(hover:hover) and (pointer:fine){
  .sx-btn--gold:hover{filter:brightness(1.08);}
  .sx-btn--line:hover{background:var(--sx-ink);color:var(--sx-cream);}
}

/* ---- closed state ---- */
.sx-closed{background:var(--sx-espresso);color:#EDE2CF;padding:clamp(80px,10vw,140px) 0;text-align:center;}
.sx-closed-inner{max-width:760px;margin:0 auto;padding:0 clamp(20px,5vw,42px);}
.sx-closed h2{margin-top:16px;font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;
  font-size:clamp(34px,4.6vw,60px);line-height:1.04;color:#FBF6EC;}
.sx-closed p{margin-top:18px;font-weight:400;font-size:16px;line-height:1.8;color:rgba(237,226,207,.78);}
.sx-closed .sx-btn--line{border-color:rgba(237,226,207,.5);color:#EDE2CF;}

/* ---- cross-links ---- */
.sx-more{background:var(--sx-cream);padding:clamp(60px,7.5vw,104px) 0;}
.sx-more-inner{max-width:1280px;margin:0 auto;padding:0 clamp(20px,5vw,42px);
  display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(176,138,71,.3);
  border:1px solid rgba(176,138,71,.5);outline:1px solid rgba(176,138,71,.22);outline-offset:5px;}
.sx-more-card{background:#FBF7F0;padding:clamp(30px,3.4vw,50px);display:flex;flex-direction:column;
  transition:background .3s ease;}
.sx-more-card:hover{background:#F6EFE2;}
.sx-more-nm{margin-top:12px;font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;
  font-size:clamp(28px,3.2vw,42px);line-height:1.04;color:var(--sx-ink);}
.sx-more-tx{margin-top:14px;font-weight:400;font-size:15px;line-height:1.75;color:#514738;}
.sx-more-go{margin-top:26px;padding-bottom:6px;align-self:flex-start;
  border-bottom:1px solid var(--sx-gold);font-size:12px;font-weight:500;letter-spacing:.2em;
  text-transform:uppercase;color:var(--sx-ink);}
.sx-more-go i{font-style:normal;color:var(--sx-gold);}

/* ---- responsive ---- */
@media (max-width:900px){
  .sx-band-inner{grid-template-columns:1fr;gap:34px;}
  .sx-figure{text-align:left;}
  .sx-fig-v{justify-content:flex-start;}
  .sx-more-inner{grid-template-columns:1fr;}
  .sx-num{font-size:clamp(150px,40vw,240px);opacity:.85;}
}
@media (max-width:560px){
  .sx-stage{min-height:max(560px,76svh);}
  .sx-clock{width:100%;padding:16px 18px;}
  .sx-clock-row{justify-content:space-between;gap:6px;}
  .sx-unit{min-width:0;}
}
@media (prefers-reduced-motion:reduce){
  .sx-marquee-track{animation:none;}
  .sx-band .sx-band-body,.sx-band .sx-figure,.sx-final{opacity:1;transform:none;transition:none;}
  .sx-cta::before{transition:none;}
}

/* ===== Location chooser (consultation booking) =============================
   Replaces Prospyr's own location page with one tap on our side, so the client
   lands directly on their location's service list. */
.loc-pick{position:fixed;inset:0;z-index:9100;display:flex;align-items:center;justify-content:center;padding:24px;}
.loc-pick[hidden]{display:none;}
.loc-pick-scrim{position:absolute;inset:0;background:rgba(10,8,6,.68);backdrop-filter:blur(3px);opacity:0;transition:opacity .35s ease;}
.loc-pick.is-open .loc-pick-scrim{opacity:1;}
.loc-pick-card{position:relative;width:min(400px,100%);padding:42px 34px 30px;text-align:center;
  background:#FBF5EA;border:1px solid rgba(176,138,71,.4);
  box-shadow:0 26px 70px rgba(12,8,5,.45);
  opacity:0;transform:translateY(10px);transition:opacity .35s ease,transform .35s cubic-bezier(.22,1,.36,1);}
.loc-pick.is-open .loc-pick-card{opacity:1;transform:none;}
.loc-pick-title{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:30px;line-height:1.1;color:#2A231C;margin:0 0 6px;}
.loc-pick-sub{margin:0 0 22px;font-weight:400;font-size:14px;color:#574E41;}
.loc-pick-btn{display:block;margin-bottom:10px;padding:16px 20px;text-decoration:none;
  background:#2A231C;border:1px solid #2A231C;
  transition:background .25s ease,transform .25s ease;}
.loc-pick-btn:hover{background:#3A3025;transform:translateY(-1px);}
.loc-pick-btn .n{display:block;font-family:'Jost',sans-serif;font-size:12px;font-weight:500;letter-spacing:.26em;text-transform:uppercase;color:#F7EEDE;}
.loc-pick-x{position:absolute;top:8px;right:10px;width:38px;height:38px;background:none;border:0;cursor:pointer;font-size:24px;line-height:1;color:#8B7C68;}
.loc-pick-x:hover{color:#2A231C;}
.loc-pick-btn:focus-visible,.loc-pick-x:focus-visible{outline:2px solid var(--gold);outline-offset:3px;}
/* The dialog takes focus on open so no button lights up. It is a container,
   not a control — it must never draw a ring of its own. */
.loc-pick-card:focus,.loc-pick-card:focus-visible{outline:none;}
@media (prefers-reduced-motion:reduce){.loc-pick-scrim,.loc-pick-card,.loc-pick-btn{transition:none;}.loc-pick-card{transform:none;}}

/* ===== Specials invitation ==================================================
   Design by Jake's Claude design pass (specials-modal-4a), ported in.
   EVERY selector is namespaced under .spop- — the original used bare `h2`,
   `.body`, `.cta`, `.close`, `.tile`, which would have collided with the whole
   site the moment it landed in this stylesheet.
   Fonts come from the site's self-hosted Cormorant/Jost, not the Google CDN
   link in the original file. */
.spop-invite{position:fixed;inset:0;z-index:9000;display:flex;align-items:center;justify-content:center;padding:40px 16px;
  --spop-ink:#1B1712;--spop-cream:#F8F1E6;--spop-terracotta:#C85A3C;--spop-terracotta-lt:#E8B0A0;
  --spop-gold:#8A5A1F;--spop-pink:#C9367F;--spop-muted:#574F44;--spop-label:#5A5145;}
.spop-invite[hidden]{display:none;}
.spop-invite-scrim{position:absolute;inset:0;background:rgba(11,9,7,.14);opacity:0;transition:opacity .5s ease;}  /* no blur, no heavy dim — the page stays legible behind it; the scrim exists only so a click outside closes the card */
.spop-invite.is-open .spop-invite-scrim{opacity:1;}

.spop-spark{position:absolute;animation:spop-twinkle 3.2s ease-in-out infinite;pointer-events:none;}
.spop-spark--1{top:12%;left:16%;color:#E2A32B;font-size:20px;}
.spop-spark--2{bottom:14%;right:13%;color:#E84B96;font-size:15px;animation-duration:4.1s;animation-delay:.9s;}
.spop-spark--3{top:28%;right:19%;color:#C9A35A;font-size:11px;animation-duration:3.6s;animation-delay:1.7s;}

.spop-card{position:relative;overflow:hidden auto;width:520px;max-width:100%;
  max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px);overscroll-behavior:contain;
  background:var(--spop-cream);box-shadow:0 40px 90px rgba(0,0,0,.55);
  opacity:0;}
.spop-invite.is-open .spop-card{animation:spop-cardRise 700ms cubic-bezier(.22,1,.36,1) both;}

.spop-close{position:absolute;top:16px;right:16px;width:32px;height:32px;border-radius:50%;
  background:rgba(248,241,230,.92);border:0;cursor:pointer;z-index:2;
  display:flex;align-items:center;justify-content:center;
  color:var(--spop-gold);font-family:'Jost',sans-serif;font-size:17px;font-weight:400;
  transition:transform .2s ease,background .2s ease,color .2s ease;}
.spop-close:hover{background:#fff;color:var(--spop-ink);transform:rotate(90deg);}

.spop-checker{height:104px;display:flex;align-items:center;justify-content:center;
  background-color:var(--spop-terracotta);
  background-image:repeating-conic-gradient(var(--spop-terracotta) 0% 25%,var(--spop-terracotta-lt) 25% 50%);
  background-size:38px 38px;animation:spop-checkSlide 14s linear infinite;}
.spop-eyebrow{background:var(--spop-cream);padding:10px 24px;white-space:nowrap;
  font-family:'Jost',sans-serif;font-size:11px;font-weight:500;letter-spacing:.28em;text-transform:uppercase;color:var(--spop-gold);
  box-shadow:0 4px 14px rgba(90,40,20,.25);}
.spop-scallop{display:block;width:100%;height:14px;margin-top:-1px;}

.spop-body{padding:30px 46px 34px;}
.spop-title{margin:0;font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(44px,5.4vw,58px);line-height:1.0;letter-spacing:-.015em;color:var(--spop-ink);
  animation:spop-tileUp 600ms cubic-bezier(.22,1,.36,1) 150ms both;}
.spop-title em{font-style:italic;color:var(--spop-pink);}
.spop-lede{margin:16px 0 0;font-family:'Jost',sans-serif;font-size:14.5px;line-height:1.78;font-weight:400;color:var(--spop-muted);max-width:40ch;
  animation:spop-tileUp 600ms cubic-bezier(.22,1,.36,1) 240ms both;}

.spop-tiles{margin:26px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.spop-tile{border:1px solid;border-top-width:3px;padding:15px 16px;display:flex;flex-direction:column;gap:7px;
  animation:spop-tileUp 550ms cubic-bezier(.22,1,.36,1) both;transition:transform .16s ease,box-shadow .16s ease;}
.spop-tile:hover{box-shadow:0 10px 24px rgba(27,23,18,.12);transform:translateY(-3px) rotate(-.4deg);}
.spop-t-name{font-family:'Jost',sans-serif;font-size:10.5px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:#4F473B;}
.spop-t-value{font-family:'Cormorant Garamond',serif;font-size:39px;line-height:.92;letter-spacing:-.01em;color:var(--spop-ink);}
.spop-t-note{font-family:'Jost',sans-serif;font-size:10.5px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:#5A5145;}
.spop-tile--1{background:#FBF3E2;border-color:#ECD9B4;border-top-color:#E2A32B;animation-delay:340ms;}
.spop-tile--2{background:#FBEEF4;border-color:#EED2DF;border-top-color:#E84B96;animation-delay:430ms;}
.spop-tile--3{background:#EEF3F9;border-color:#D3DFEC;border-top-color:#2F6FB5;animation-delay:520ms;}
.spop-tile--4{background:#FAEFE9;border-color:#EED6CA;border-top-color:var(--spop-terracotta);animation-delay:610ms;}

.spop-actions{margin:26px 0 0;display:flex;flex-direction:column;gap:12px;
  animation:spop-tileUp 550ms cubic-bezier(.22,1,.36,1) 700ms both;}
.spop-cta{display:flex;align-items:center;justify-content:center;gap:12px;padding:23px;
  background:var(--spop-ink);color:var(--spop-cream);text-decoration:none;
  font-family:'Jost',sans-serif;font-size:12.5px;letter-spacing:.26em;text-transform:uppercase;
  transition:background .2s ease,gap .2s ease;}
.spop-cta:hover{background:var(--spop-terracotta);gap:20px;}
.spop-arrow{letter-spacing:0;}
.spop-meta{display:flex;align-items:center;justify-content:space-between;padding-top:4px;}
.spop-countdown{display:flex;align-items:center;gap:9px;font-family:'Jost',sans-serif;font-size:10.5px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--spop-label);}
.spop-countdown[hidden]{display:none;}
.spop-dot{width:6px;height:6px;background:var(--spop-terracotta);border-radius:50%;animation:spop-pulseDot 2.4s ease-out infinite;}
.spop-countdown strong{color:#A2452D;font-weight:600;font-size:12px;}
.spop-later{background:none;border:0;cursor:pointer;font-family:'Jost',sans-serif;font-size:10.5px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--spop-label);transition:color .2s ease;}
.spop-later:hover{color:var(--spop-ink);}
.spop-cta:focus-visible,.spop-later:focus-visible,.spop-close:focus-visible{outline:2px solid var(--spop-terracotta);outline-offset:3px;}
.spop-card:focus,.spop-card:focus-visible{outline:none;}

@keyframes spop-cardRise{from{opacity:0;transform:translateY(26px) scale(.985);}to{opacity:1;transform:none;}}
@keyframes spop-tileUp{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:none;}}
@keyframes spop-checkSlide{from{background-position:0 0;}to{background-position:60px 0;}}
@keyframes spop-pulseDot{0%,100%{box-shadow:0 0 0 0 rgba(200,90,60,.5);}60%{box-shadow:0 0 0 7px rgba(200,90,60,0);}}
@keyframes spop-twinkle{0%,100%{opacity:.25;transform:scale(.8) rotate(0deg);}50%{opacity:1;transform:scale(1.15) rotate(20deg);}}

/* Phone: a floating card, not a full-bleed sheet. Jake's call 2026-08-15 — the
   edge-to-edge bottom sheet read as a takeover rather than as a popup, so it
   sits centred with the page visible on all four sides. It still has to FIT:
   measured at 390x844 the content wanted 998px, so the tiles stay a 2x2 grid
   (stacking them was what made it 200px too tall) and the chrome is tightened
   below. dvh, not vh, so iOS's URL bar cannot push it off; the safe-area insets
   keep it off the notch and the home indicator in either orientation. */
@media (max-width:640px){
  .spop-invite{padding:max(18px,env(safe-area-inset-top)) 16px max(18px,env(safe-area-inset-bottom));}
  .spop-spark{display:none;}
  .spop-card{width:100%;max-height:calc(100vh - 36px);max-height:calc(100dvh - 36px);}
  .spop-close{top:11px;right:11px;width:44px;height:44px;}  /* thumb-sized, not 32px */
  .spop-checker{height:56px;}
  .spop-body{padding:20px 20px 22px;}
  .spop-title{font-size:30px;}
  /* The lede names the same four offers the tiles show, and on a phone it cost
     three lines and ~90px — the difference between a popup and a takeover. */
  .spop-lede{display:none;}
  .spop-tiles{margin-top:16px;gap:8px;}
  .spop-tile{padding:10px 12px;gap:4px;}
  .spop-t-value{font-size:27px;}
  .spop-actions{margin-top:16px;gap:10px;}
  .spop-cta{padding:17px;}
}
@media (prefers-reduced-motion:reduce){
  .spop-card,.spop-title,.spop-lede,.spop-tile,.spop-actions{animation:none!important;opacity:1!important;transform:none!important;}
  .spop-checker,.spop-dot,.spop-spark{animation:none!important;}
  .spop-invite-scrim{transition:none;}
}

/* Persistent mobile booking. The header is fixed, so a Book pill beside the burger
   is reachable at every scroll position — no separate sticky bar needed.
   Full "Book Now" at desktop's letterspacing so the gold block reads as type,
   not as an empty slab; softer gradient because the desktop stop lands as a
   dark smudge at mobile width. */
.nav-actions{display:none;}
.nav-book-m{display:inline-flex;align-items:center;justify-content:center;height:44px;padding:0 17px;font-family:'Jost';font-weight:500;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;white-space:nowrap;background:linear-gradient(120deg,#d8b877,#b08a47 55%,#e3cb93);color:#231c12;}
@media(max-width:1080px){
  .nav-actions{display:flex;align-items:center;gap:16px;}
}
@media(max-width:400px){
  .nav-book-m{padding:0 13px;font-size:10px;letter-spacing:.16em;}
  .nav-actions{gap:12px;}
}
/* Pair the burger with the Book block so the two right-hand controls read as one
   set instead of a gold slab beside loose hairlines. Border follows --navfg, so it
   works on both the transparent and the scrolled cream header. */
@media(max-width:1080px){
  .nav-burger{align-items:center;border:1px solid;border-color:color-mix(in srgb,currentColor 30%,transparent);}
}
/* Mobile wordmark was washing out at 58px, worst on the scrolled cream header.
   Restore the authored 76px under 1080px — the header has the room now that the
   nav links are in the drawer. */
@media(max-width:1080px){
  .nav-brand img{height:76px!important;}
}
@media(max-width:400px){
  .nav-brand img{height:66px!important;}
}
