/* =========================================================================
   SENOVAR LABS — Template B · "Emerald & Gold" Luxury Sanctuary
   Adapted from the attached licensed spa theme.
   Palette: deep emerald + warm gold + sand/cream.  Type: Playfair Display / Inter
   ========================================================================= */

:root{
  --primary-dark:#26352b;   /* deep charcoal-green (footer / CTA)   */
  --primary:#3a4f40;
  --primary-light:#4d6151;
  --gold:#b8985b;           /* warm muted gold (mockup logo)         */
  --gold-light:#c9a961;
  --sand:#ece4d6;           /* travertine                            */
  --sand-2:#f6f2ea;         /* warm light panel                      */
  --paper:#f4efe7;          /* dominant warm background               */
  --olive:#7c8466;
  --white:#ffffff;
  --ink:#2b3a31;            /* charcoal-green headings/text           */
  --ink-2:#3c4842;
  --gray:#6b756c;
  --line:#e6dfd2;

  --font-heading:'Playfair Display', Georgia, serif;
  --font-body:'Inter', system-ui, -apple-system, sans-serif;

  --container:1320px;
  --gut:clamp(20px,5vw,44px);
  --shadow-soft:0 14px 44px rgba(43,58,49,.08);
  --shadow-med:0 24px 70px rgba(38,53,43,.14);
  --shadow-gold:0 14px 44px rgba(184,152,91,.22);
  --ease:cubic-bezier(.4,0,.2,1);
}

*,*::before,*::after{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body{
  font-family:var(--font-body); color:var(--ink); background:var(--paper);
  line-height:1.7; font-size:16.5px; font-weight:400; overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; transition:color .3s ease; }
ul{ list-style:none; }
button{ font-family:inherit; cursor:pointer; border:none; background:none; }

h1,h2,h3,h4,h5{ font-family:var(--font-heading); font-weight:600; line-height:1.16; color:var(--primary-dark); }
.h1{ font-size:clamp(2.6rem,5.4vw,4.4rem); font-weight:700; letter-spacing:-.01em; }
.h2{ font-size:clamp(2rem,4vw,3.1rem); }
.h3{ font-size:clamp(1.4rem,2.5vw,1.9rem); }
em,.it{ font-style:italic; }

.container{ max-width:var(--container); margin:0 auto; padding:0 var(--gut); }
.section{ padding:clamp(70px,10vw,120px) 0; position:relative; }
.section.tight{ padding:clamp(48px,7vw,84px) 0; }
.bg-sand{ background:var(--sand-2); }
.bg-sand-2{ background:var(--sand); }
.bg-emerald{ background:var(--primary-dark); color:var(--sand-2); }
.bg-emerald h1,.bg-emerald h2,.bg-emerald h3{ color:var(--white); }

/* ---- eyebrow + section header ---- */
.eyebrow{
  display:inline-block; color:var(--gold); font-family:var(--font-body);
  font-weight:600; text-transform:uppercase; letter-spacing:.22em; font-size:.78rem;
  margin-bottom:14px;
}
.eyebrow.center{ display:block; }
.sec-head{ max-width:680px; margin:0 auto clamp(42px,6vw,64px); text-align:center; }
.sec-head h2{ position:relative; display:inline-block; padding-bottom:22px; }
.sec-head h2::after{
  content:""; position:absolute; left:50%; bottom:0; transform:translateX(-50%);
  width:64px; height:3px; background:linear-gradient(90deg,var(--gold),var(--primary));
}
.sec-head p{ color:var(--gray); margin-top:18px; font-size:1.08rem; }
.sec-head.left{ margin-left:0; text-align:left; }
.sec-head.left h2::after{ left:0; transform:none; }

.lede{ font-size:clamp(1.1rem,1.6vw,1.28rem); color:var(--gray); line-height:1.65; }
.muted{ color:var(--gray); }
.gold{ color:var(--gold); }

/* ---- buttons ---- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.6em;
  padding:15px 34px; font-family:var(--font-body); font-weight:600; font-size:.86rem;
  text-transform:uppercase; letter-spacing:.09em; border-radius:0; position:relative;
  overflow:hidden; transition:all .4s var(--ease); border:2px solid transparent; white-space:nowrap;
}
.btn svg{ width:1.05em; height:1.05em; }
.btn::before{
  content:""; position:absolute; top:0; left:-100%; width:100%; height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.25),transparent); transition:left .55s;
}
.btn:hover::before{ left:100%; }
.btn-primary{ background:var(--primary); color:#fff; }
.btn-primary:hover{ background:var(--primary-dark); transform:translateY(-2px); box-shadow:var(--shadow-med); }
.btn-accent{ background:var(--gold); color:#2a2410; }
.btn-accent:hover{ background:var(--gold-light); transform:translateY(-2px); box-shadow:var(--shadow-gold); }
.btn-outline{ border-color:var(--primary); color:var(--primary); }
.btn-outline:hover{ background:var(--primary); color:#fff; transform:translateY(-2px); }
.btn-ghost-gold{ border-color:rgba(201,169,97,.55); color:var(--gold); }
.btn-ghost-gold:hover{ background:var(--gold); color:#2a2410; border-color:var(--gold); transform:translateY(-2px); }
.btn-white{ background:#fff; color:var(--primary); }
.btn-white:hover{ background:var(--sand); transform:translateY(-2px); }

/* =========================================================================
   HEADER / NAV
   ========================================================================= */
.lx-head{
  position:fixed; top:0; left:0; right:0; z-index:60;
  padding:18px 0; transition:all .4s var(--ease);
  background:rgba(13,76,60,.0);
}
.lx-head.scrolled{ background:rgba(255,255,255,.97); box-shadow:0 6px 30px rgba(13,76,60,.08); padding:12px 0; backdrop-filter:saturate(120%) blur(8px); }
.lx-bar{ display:flex; align-items:center; justify-content:space-between; gap:24px; }
.lx-brand{ display:inline-flex; align-items:center; gap:12px; }
.lx-brand img{ height:42px; width:auto; }
.lx-brand .bt{ font-family:var(--font-heading); font-weight:700; font-size:1.34rem; letter-spacing:.01em; color:#fff; display:flex; flex-direction:column; line-height:1; }
.lx-brand .bt small{ font-family:var(--font-body); font-weight:500; font-size:.56rem; letter-spacing:.32em; text-transform:uppercase; color:var(--gold); margin-top:5px; }
.lx-head.scrolled .lx-brand .bt{ color:var(--primary-dark); }
.lx-brand.light .bt{ color:#fff; }

.lx-nav{ display:flex; align-items:center; gap:32px; margin-left:auto; }
.lx-nav > a, .lx-has-drop > a{
  font-size:.86rem; font-weight:500; letter-spacing:.06em; text-transform:uppercase;
  color:rgba(255,255,255,.92); position:relative; padding:6px 0;
}
.lx-head.scrolled .lx-nav > a, .lx-head.scrolled .lx-has-drop > a{ color:var(--ink); }
.lx-nav > a::after, .lx-has-drop > a::after{
  content:""; position:absolute; left:0; bottom:0; height:2px; width:0; background:var(--gold); transition:width .3s var(--ease);
}
.lx-nav > a:hover::after, .lx-has-drop:hover > a::after, .lx-nav > a.active::after{ width:100%; }
.lx-nav a:hover, .lx-has-drop:hover > a{ color:var(--gold); }
.lx-nav a.active{ color:var(--gold); }
.car{ font-size:.8em; }

.lx-has-drop{ position:relative; }
.lx-drop{
  position:absolute; top:calc(100% + 16px); left:50%; transform:translateX(-50%) translateY(8px);
  background:#fff; border:1px solid var(--line); box-shadow:var(--shadow-med);
  width:320px; padding:12px; opacity:0; visibility:hidden; transition:all .3s var(--ease);
}
.lx-has-drop:hover .lx-drop{ opacity:1; visibility:visible; transform:translateX(-50%) translateY(0); }
.lx-drop a{ display:flex; align-items:center; gap:12px; padding:11px 13px; font-size:.92rem; color:var(--ink); text-transform:none; letter-spacing:0; font-weight:500; transition:background .2s; }
.lx-drop a:hover{ background:var(--sand-2); color:var(--primary); }
.lx-drop .gi{ font-size:1.15rem; width:24px; text-align:center; flex:none; }

.lx-head-cta{ padding:12px 26px; }
.lx-burger{ display:none; width:30px; height:22px; position:relative; }
.lx-burger span{ position:absolute; left:0; height:2px; width:100%; background:#fff; transition:.3s var(--ease); }
.lx-head.scrolled .lx-burger span{ background:var(--primary-dark); }
.lx-burger span:nth-child(1){ top:0; } .lx-burger span:nth-child(2){ top:10px; } .lx-burger span:nth-child(3){ top:20px; }
body.menu-open .lx-burger span:nth-child(1){ top:10px; transform:rotate(45deg); }
body.menu-open .lx-burger span:nth-child(2){ opacity:0; }
body.menu-open .lx-burger span:nth-child(3){ top:10px; transform:rotate(-45deg); }
body.menu-open .lx-burger span{ background:#fff; }

.lx-mnav{
  position:fixed; inset:0; z-index:55; background:var(--primary-dark); color:#fff;
  display:flex; flex-direction:column; justify-content:center; padding:0 var(--gut);
  transform:translateX(100%); transition:transform .45s var(--ease); overflow-y:auto;
}
body.menu-open .lx-mnav{ transform:translateX(0); }
.lx-mnav > a{ font-family:var(--font-heading); font-size:1.7rem; color:#fff; padding:9px 0; }
.lx-mnav > a:hover{ color:var(--gold); }
.lx-mlabel{ color:var(--gold); text-transform:uppercase; letter-spacing:.2em; font-size:.74rem; margin:20px 0 6px; font-weight:600; }
.lx-msub{ display:flex; flex-direction:column; }
.lx-msub a{ color:rgba(255,255,255,.78); padding:7px 0; font-size:1rem; border-bottom:1px solid rgba(255,255,255,.1); }

/* =========================================================================
   HERO
   ========================================================================= */
.lx-hero{
  position:relative; min-height:100vh; display:flex; align-items:center;
  padding:140px 0 90px; overflow:hidden;
  background:radial-gradient(120% 100% at 75% 0%, #14543f 0%, var(--primary-dark) 45%, #08382b 100%);
  color:#fff;
}
.lx-hero::before{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(40% 50% at 82% 60%, rgba(201,169,97,.18), transparent 70%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60'%3E%3Cpath d='M0 0h60v60H0z' fill='none'/%3E%3Cpath d='M30 0v60M0 30h60' stroke='%23ffffff' stroke-opacity='0.03' stroke-width='1'/%3E%3C/svg%3E");
}
.lx-hero-grid{ position:relative; z-index:2; display:grid; grid-template-columns:1.06fr .94fr; gap:clamp(30px,5vw,64px); align-items:center; }
.lx-hero h1{ color:#fff; margin:.18em 0 .5em; }
.lx-hero h1 .it{ color:var(--gold); }
.lx-hero .lede{ color:rgba(255,255,255,.86); max-width:52ch; }
.lx-hero-cta{ display:flex; flex-wrap:wrap; gap:16px; margin-top:36px; }
.lx-hero-figure{ position:relative; }
.lx-hero-figure .ring{
  position:absolute; inset:8% 6%; border:1px solid rgba(201,169,97,.4); border-radius:50%;
}
.lx-hero-figure .glow{ position:absolute; inset:10%; background:radial-gradient(circle at 50% 55%, rgba(201,169,97,.28), transparent 65%); filter:blur(26px); }
.lx-hero-figure img{ position:relative; z-index:2; filter:drop-shadow(0 40px 60px rgba(0,0,0,.5)); animation:lx-float 8s ease-in-out infinite; }
/* full-bleed atmosphere layer + legibility scrim */
.atmo{ position:absolute; inset:0; background-size:cover; background-position:center; z-index:0; }
.lx-hero::after, .lx-phero::after{ z-index:1; }
.lx-hero .container, .lx-phero .container{ position:relative; z-index:2; }
.lx-hero{ background:none; }
.lx-hero::before{ z-index:1; background:linear-gradient(90deg, rgba(8,47,36,.92) 0%, rgba(8,47,36,.62) 40%, rgba(8,47,36,.2) 72%, transparent 100%); }
.lx-phero::before{ content:""; position:absolute; inset:0; z-index:1; pointer-events:none; background:linear-gradient(90deg, rgba(8,47,36,.9) 0%, rgba(8,47,36,.55) 42%, rgba(8,47,36,.15) 74%, transparent 100%); }

/* grounded machine scene (no border box) */
.scene{ position:relative; display:grid; place-items:center; min-height:340px; }
.scene .machine{ position:relative; z-index:2; max-height:360px; width:auto; filter:drop-shadow(0 40px 50px rgba(0,0,0,.55)); animation:lx-float 8s ease-in-out infinite; }
.scene .floor{ position:absolute; left:50%; bottom:10%; width:74%; height:60px; transform:translateX(-50%);
  background:radial-gradient(50% 60% at 50% 50%, rgba(212,175,55,.34), transparent 70%); filter:blur(16px); z-index:1; }
.srow-media.scene{ min-height:300px; background-size:cover; background-position:center; border:1px solid rgba(201,169,97,.3); box-shadow:var(--shadow-med); overflow:hidden; }
.srow-media.scene .machine{ max-height:240px; }
.srow-media.scene .num{ z-index:3; }

/* image-dominant treatment tiles (machine on atmosphere) */
.tcard.has-media{ padding:0; overflow:hidden; }
.tcard-media{ position:relative; aspect-ratio:16/9; overflow:hidden; border-bottom:1px solid var(--line); background-size:cover; background-position:center; display:grid; place-items:center; }
.tcard-media::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg, transparent 55%, rgba(7,47,36,.5)); }
.tcard-media .machine{ position:relative; z-index:1; max-height:80%; width:auto; object-fit:contain; transition:transform .6s var(--ease); filter:drop-shadow(0 16px 22px rgba(0,0,0,.4)); }
.tcard.has-media:hover .tcard-media .machine{ transform:scale(1.05); }
.tcard-pad{ padding:30px 30px 34px; }
.tcard.has-media .ti{ margin-top:-52px; position:relative; z-index:2; background:var(--white); box-shadow:0 8px 20px -8px rgba(13,76,60,.3); }
@keyframes lx-float{ 0%,100%{ transform:translateY(0) } 50%{ transform:translateY(-16px) } }
.lx-hero-meta{ display:flex; flex-wrap:wrap; gap:14px 34px; margin-top:40px; padding-top:26px; border-top:1px solid rgba(255,255,255,.14); }
.lx-hero-meta span{ font-size:.78rem; letter-spacing:.12em; text-transform:uppercase; color:rgba(255,255,255,.78); display:inline-flex; align-items:center; gap:.6em; }
.lx-hero-meta span::before{ content:""; width:6px; height:6px; background:var(--gold); border-radius:50%; }
.lx-scroll{ position:absolute; bottom:26px; left:50%; transform:translateX(-50%); z-index:3; color:rgba(255,255,255,.6); font-size:.72rem; letter-spacing:.2em; text-transform:uppercase; display:flex; flex-direction:column; align-items:center; gap:8px; }
.lx-scroll::after{ content:""; width:1px; height:42px; background:linear-gradient(var(--gold),transparent); }

/* ---- page (inner) hero ---- */
.lx-phero{
  position:relative; padding:170px 0 84px; color:#fff; overflow:hidden;
  background:radial-gradient(120% 120% at 70% 0%, #15553f, var(--primary-dark) 55%, #08372a);
}
.lx-phero::after{ content:""; position:absolute; inset:0; background:radial-gradient(40% 60% at 85% 50%, rgba(201,169,97,.16), transparent 70%); pointer-events:none; }
.lx-phero .container{ position:relative; z-index:2; }
.lx-phero h1{ color:#fff; max-width:18ch; }
.lx-phero .lede{ color:rgba(255,255,255,.85); max-width:60ch; margin-top:18px; }
.lx-crumb{ font-size:.8rem; letter-spacing:.14em; text-transform:uppercase; color:var(--gold); margin-bottom:20px; }
.lx-crumb a{ color:rgba(255,255,255,.7); } .lx-crumb a:hover{ color:#fff; }

/* =========================================================================
   FEATURES / PILLARS
   ========================================================================= */
.feat-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:26px; }
.feat{ text-align:center; padding:40px 26px; background:#fff; border:1px solid var(--line); transition:transform .4s var(--ease), box-shadow .4s; }
.feat:hover{ transform:translateY(-6px); box-shadow:var(--shadow-soft); }
.feat .fi{ width:74px; height:74px; margin:0 auto 22px; border-radius:50%; display:grid; place-items:center; color:var(--gold); background:linear-gradient(135deg,rgba(201,169,97,.14),rgba(26,95,74,.1)); border:1px solid rgba(201,169,97,.35); }
.feat .fi svg{ width:30px; height:30px; }
.feat h3{ font-size:1.18rem; margin-bottom:10px; }
.feat p{ color:var(--gray); font-size:.96rem; margin:0; }

/* =========================================================================
   ALTERNATING SERVICE ROWS (home)
   ========================================================================= */
.srow{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(30px,5vw,70px); align-items:center; margin-bottom:clamp(48px,7vw,90px); }
.srow:last-child{ margin-bottom:0; }
.srow.flip .srow-media{ order:2; }
.srow-media{ position:relative; }
.srow-media .frame{ position:relative; background:var(--primary-dark); border:1px solid rgba(201,169,97,.3); padding:clamp(26px,4vw,48px); overflow:hidden; }
.srow-media .frame::after{ content:""; position:absolute; inset:0; background:radial-gradient(60% 60% at 50% 60%, rgba(201,169,97,.18), transparent 70%); }
.srow-media img{ position:relative; z-index:2; margin:0 auto; max-height:280px; width:auto; }
.srow-media .num{ position:absolute; top:-22px; left:-10px; font-family:var(--font-heading); font-style:italic; font-size:5rem; color:var(--gold); opacity:.25; z-index:3; }
.srow-body .eyebrow{ margin-bottom:10px; }
.srow-body h3{ font-size:clamp(1.6rem,2.6vw,2.1rem); margin-bottom:14px; }
.srow-body p{ color:var(--gray); margin-bottom:20px; }
.srow-tags{ display:flex; flex-wrap:wrap; gap:10px; margin-bottom:26px; }
.srow-tags span{ font-size:.78rem; letter-spacing:.04em; color:var(--primary); background:var(--sand-2); border:1px solid var(--line); padding:6px 14px; }
.txt-link{ display:inline-flex; align-items:center; gap:.5em; color:var(--primary); font-weight:600; font-size:.84rem; text-transform:uppercase; letter-spacing:.08em; }
.txt-link svg{ width:1.1em; height:1.1em; transition:transform .3s; }
.txt-link:hover{ color:var(--gold); } .txt-link:hover svg{ transform:translateX(4px); }

/* =========================================================================
   TREATMENTS GRID (ecosystem page + cards)
   ========================================================================= */
.tcard-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.tcard{ background:#fff; border:1px solid var(--line); padding:34px 30px; transition:all .4s var(--ease); position:relative; overflow:hidden; }
.tcard::before{ content:""; position:absolute; left:0; top:0; height:3px; width:0; background:linear-gradient(90deg,var(--gold),var(--primary)); transition:width .4s var(--ease); }
.tcard:hover{ transform:translateY(-6px); box-shadow:var(--shadow-med); border-color:transparent; }
.tcard:hover::before{ width:100%; }
.tcard .ti{ width:60px; height:60px; border-radius:50%; display:grid; place-items:center; color:var(--gold); background:linear-gradient(135deg,rgba(201,169,97,.14),rgba(26,95,74,.08)); border:1px solid rgba(201,169,97,.3); margin-bottom:22px; }
.tcard .ti svg{ width:26px; height:26px; }
.tcard h3{ font-size:1.28rem; margin-bottom:10px; }
.tcard p{ color:var(--gray); font-size:.96rem; margin-bottom:20px; }
.tcard .more{ font-size:.78rem; letter-spacing:.1em; text-transform:uppercase; color:var(--primary); font-weight:600; display:inline-flex; align-items:center; gap:.5em; }
.tcard:hover .more{ color:var(--gold); }

/* =========================================================================
   STATS BAND
   ========================================================================= */
.stats{ display:grid; grid-template-columns:repeat(4,1fr); gap:30px; text-align:center; }
.stats .st .n{ font-family:var(--font-heading); font-size:clamp(2.6rem,5vw,3.6rem); color:var(--gold); font-weight:700; line-height:1; }
.stats .st .l{ margin-top:10px; font-size:.82rem; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,.8); }

/* =========================================================================
   SERVICE DETAIL
   ========================================================================= */
.chips{ display:flex; flex-wrap:wrap; gap:12px; margin-top:26px; }
.chip{ display:inline-flex; align-items:baseline; gap:8px; background:rgba(255,255,255,.06); border:1px solid rgba(201,169,97,.3); padding:9px 16px; }
.chip b{ color:var(--gold); font-weight:600; font-size:.86rem; }
.chip span{ font-size:.74rem; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.7); }

.split{ display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(30px,5vw,64px); align-items:center; }
.sci-list{ display:flex; flex-direction:column; gap:20px; }
.sci{ background:var(--sand-2); border:1px solid var(--line); border-left:3px solid var(--gold); padding:26px 28px; }
.sci h4{ font-size:1.16rem; margin-bottom:8px; color:var(--primary-dark); }
.sci p{ color:var(--gray); margin:0; font-size:.98rem; }

.ben-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
.ben{ display:flex; gap:16px; padding:24px; background:#fff; border:1px solid var(--line); transition:transform .3s, box-shadow .3s; }
.ben:hover{ transform:translateY(-4px); box-shadow:var(--shadow-soft); }
.ben .bk{ width:42px; height:42px; flex:none; border-radius:50%; display:grid; place-items:center; color:var(--gold); background:rgba(201,169,97,.14); border:1px solid rgba(201,169,97,.3); }
.ben h4{ font-size:1.05rem; margin-bottom:6px; }
.ben p{ color:var(--gray); font-size:.94rem; margin:0; }

.steps{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.step{ position:relative; padding:30px 26px; background:var(--sand-2); border:1px solid var(--line); }
.step .sn{ font-family:var(--font-heading); font-style:italic; font-size:2.4rem; color:var(--gold); line-height:1; margin-bottom:14px; }
.step h4{ font-size:1.08rem; margin-bottom:8px; }
.step p{ color:var(--gray); font-size:.92rem; margin:0; }

/* FAQ accordion */
.faq{ max-width:840px; margin:0 auto; }
.qa{ border-bottom:1px solid var(--line); }
.qa button{ width:100%; text-align:left; display:flex; justify-content:space-between; align-items:center; gap:20px; padding:26px 6px; font-family:var(--font-heading); font-size:1.15rem; color:var(--primary-dark); }
.qa .ic{ flex:none; width:30px; height:30px; border-radius:50%; border:1px solid var(--gold); color:var(--gold); display:grid; place-items:center; transition:.3s var(--ease); font-size:1.1rem; }
.qa.open .ic{ background:var(--gold); color:#fff; transform:rotate(45deg); }
.qa .ans{ max-height:0; overflow:hidden; transition:max-height .4s var(--ease); }
.qa .ans p{ padding:0 6px 26px; color:var(--gray); margin:0; }

/* cost / cta panel */
.cta-panel{ position:relative; overflow:hidden; background:var(--primary-dark); color:#fff; padding:clamp(40px,6vw,68px); text-align:center; }
.cta-panel::before{ content:""; position:absolute; inset:0; background:radial-gradient(50% 80% at 50% 0%, rgba(201,169,97,.2), transparent 70%); }
.cta-panel > *{ position:relative; z-index:2; }
.cta-panel h2{ color:#fff; }
.cta-panel p{ color:rgba(255,255,255,.85); max-width:60ch; margin:16px auto 30px; }

/* =========================================================================
   ABOUT
   ========================================================================= */
.about-split{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(30px,5vw,64px); align-items:center; }
.founder-card{ display:flex; gap:20px; align-items:center; padding:24px; background:#fff; border:1px solid var(--line); }
.founder-card .av{ width:64px; height:64px; flex:none; border-radius:50%; background:linear-gradient(135deg,var(--primary),var(--primary-light)); color:var(--gold); display:grid; place-items:center; font-family:var(--font-heading); font-size:1.4rem; border:2px solid var(--gold); }
.founder-card h4{ font-size:1.1rem; margin-bottom:2px; }
.founder-card span{ color:var(--gold); font-size:.82rem; letter-spacing:.08em; text-transform:uppercase; }
.value-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.value{ padding:32px 28px; background:var(--sand-2); border:1px solid var(--line); border-top:3px solid var(--gold); }
.value .vn{ font-family:var(--font-heading); font-style:italic; color:var(--gold); font-size:1.8rem; margin-bottom:10px; }
.value h3{ font-size:1.2rem; margin-bottom:8px; }
.value p{ color:var(--gray); font-size:.95rem; margin:0; }

/* =========================================================================
   FOUNDING 50
   ========================================================================= */
.f50{ text-align:center; position:relative; }
.f50 .big{ font-family:var(--font-heading); font-weight:700; font-size:clamp(8rem,26vw,20rem); line-height:.8; background:linear-gradient(160deg,var(--gold-light),var(--gold) 40%,var(--primary) 120%); -webkit-background-clip:text; background-clip:text; color:transparent; }
.f50 h2{ color:#fff; max-width:20ch; margin:0 auto; }
.perk-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:20px; max-width:860px; margin:0 auto; text-align:left; }
.perk{ display:flex; gap:16px; padding:24px; background:rgba(255,255,255,.04); border:1px solid rgba(201,169,97,.28); }
.perk .pk{ flex:none; width:40px; height:40px; border-radius:50%; display:grid; place-items:center; color:var(--gold); border:1px solid var(--gold); }
.perk h4{ color:#fff; font-size:1.06rem; margin-bottom:5px; }
.perk p{ color:rgba(255,255,255,.78); font-size:.94rem; margin:0; }

/* =========================================================================
   CONTACT
   ========================================================================= */
.contact-grid{ display:grid; grid-template-columns:.95fr 1.05fr; gap:clamp(30px,5vw,56px); align-items:start; }
.cinfo .row{ display:flex; gap:16px; padding:22px 0; border-bottom:1px solid var(--line); }
.cinfo .row .ci{ width:46px; height:46px; flex:none; border-radius:50%; display:grid; place-items:center; color:var(--gold); background:rgba(201,169,97,.12); border:1px solid rgba(201,169,97,.3); }
.cinfo .row h4{ font-size:1.04rem; margin-bottom:3px; }
.cinfo .row p,.cinfo .row a{ color:var(--gray); font-size:.96rem; }
.cinfo .row a:hover{ color:var(--primary); }
.form{ background:#fff; border:1px solid var(--line); padding:clamp(28px,4vw,44px); box-shadow:var(--shadow-soft); }
.field{ margin-bottom:20px; }
.field label{ display:block; font-size:.78rem; letter-spacing:.1em; text-transform:uppercase; color:var(--primary); font-weight:600; margin-bottom:8px; }
.field input,.field select,.field textarea{ width:100%; padding:14px 16px; border:1px solid var(--line); background:var(--sand-2); font-family:inherit; font-size:.98rem; color:var(--ink); transition:border .25s; }
.field input:focus,.field select:focus,.field textarea:focus{ border-color:var(--gold); outline:none; }
.field textarea{ min-height:130px; }
.grid-2{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }

/* =========================================================================
   FOOTER
   ========================================================================= */
.lx-foot{ background:var(--primary-dark); color:rgba(255,255,255,.74); padding:clamp(60px,8vw,88px) 0 30px; }
.lx-foot-top{ display:grid; grid-template-columns:1.6fr 1fr 1fr 1.2fr; gap:40px; padding-bottom:44px; border-bottom:1px solid rgba(255,255,255,.12); }
.lx-foot .lx-brand .bt{ color:#fff; }
.lx-blurb{ margin:20px 0; font-size:.96rem; max-width:38ch; line-height:1.7; }
.lx-foot-contact{ display:flex; flex-direction:column; gap:10px; }
.lx-foot-contact a{ display:inline-flex; align-items:center; gap:10px; color:rgba(255,255,255,.8); font-size:.94rem; }
.lx-foot-contact a svg{ width:18px; height:18px; color:var(--gold); }
.lx-foot-contact a:hover{ color:var(--gold); }
.lx-foot-col h5{ color:#fff; font-family:var(--font-heading); font-size:1.06rem; margin-bottom:18px; }
.lx-foot-col ul{ display:flex; flex-direction:column; gap:11px; }
.lx-foot-col a{ font-size:.94rem; } .lx-foot-col a:hover{ color:var(--gold); }
.lx-foot-bot{ display:flex; justify-content:space-between; gap:14px; flex-wrap:wrap; padding-top:24px; font-size:.8rem; letter-spacing:.06em; color:rgba(255,255,255,.55); }

/* =========================================================================
   REVEAL ANIMATIONS
   ========================================================================= */
.reveal{ opacity:0; transform:translateY(26px); transition:opacity .7s var(--ease), transform .7s var(--ease); }
.reveal.in{ opacity:1; transform:none; }
.reveal.d1{ transition-delay:.08s } .reveal.d2{ transition-delay:.16s } .reveal.d3{ transition-delay:.24s } .reveal.d4{ transition-delay:.32s }

/* =========================================================================
   RESPONSIVE
   ========================================================================= */
@media (max-width:1080px){
  .feat-grid{ grid-template-columns:repeat(2,1fr); }
  .tcard-grid{ grid-template-columns:repeat(2,1fr); }
  .steps{ grid-template-columns:repeat(2,1fr); }
  .stats{ grid-template-columns:repeat(2,1fr); gap:40px 20px; }
  .lx-foot-top{ grid-template-columns:1fr 1fr; }
}
@media (max-width:900px){
  .lx-nav, .lx-head-cta{ display:none; }
  .lx-burger{ display:block; }
  .lx-hero-grid, .split, .about-split, .contact-grid{ grid-template-columns:1fr; }
  .lx-hero-figure{ order:-1; max-width:440px; margin:0 auto; }
  .srow, .srow.flip .srow-media{ grid-template-columns:1fr; }
  .srow.flip .srow-media{ order:0; }
  .lx-hero{ min-height:auto; }
}
@media (max-width:640px){
  .feat-grid, .tcard-grid, .ben-grid, .value-grid, .perk-grid, .steps, .grid-2{ grid-template-columns:1fr; }
  .lx-foot-top{ grid-template-columns:1fr; }
  .lx-foot-bot{ flex-direction:column; }
}
@media (prefers-reduced-motion:reduce){
  *{ animation:none !important; transition:none !important; }
  .reveal{ opacity:1; transform:none; }
}

/* =========================================================================
   EDITORIAL "SANCTUARY" LAYER — light, photographic, travertine + gold
   ========================================================================= */

/* photo-slot system: licensed jpg layered over a warm travertine placeholder */
.photo, .tcard-media, .ed-hero-photo, .ed-tile{ background-size:cover; background-position:center; background-repeat:no-repeat; }

/* header sits over a LIGHT hero now → dark text by default */
.lx-head .lx-brand .bt{ color:var(--ink); }
.lx-head .lx-brand .bt small{ color:var(--gold); }
.lx-head .lx-nav > a, .lx-head .lx-has-drop > a{ color:var(--ink); }
.lx-head .lx-nav a:hover, .lx-head .lx-has-drop:hover > a, .lx-head .lx-nav a.active{ color:var(--gold); }
.lx-head .lx-burger span{ background:var(--ink); }
.lx-head{ background:rgba(244,239,231,.0); }
.lx-head.scrolled{ background:rgba(244,239,231,.97); box-shadow:0 6px 30px rgba(38,53,43,.08); }

/* ---- editorial hero (split: plaster text panel + full-bleed photo) ---- */
.ed-hero{ display:grid; grid-template-columns:1.02fr .98fr; min-height:90vh; }
.ed-hero-text{ background-color:var(--paper); background-size:cover; background-position:center;
  display:flex; align-items:center; padding:140px clamp(28px,5vw,84px) 90px; }
.ed-inner{ max-width:580px; margin-left:auto; width:100%; }
.ed-title{ font-family:var(--font-heading); font-weight:500; font-size:clamp(2.7rem,5vw,4.7rem);
  line-height:1.04; letter-spacing:-.015em; color:var(--ink); }
.ed-rule{ display:block; width:66px; height:2px; background:var(--gold); margin:28px 0; }
.ed-lede{ color:var(--gray); font-size:clamp(1.05rem,1.4vw,1.2rem); max-width:48ch; line-height:1.7; }
.ed-cta{ display:flex; gap:14px; margin-top:34px; flex-wrap:wrap; }
.ed-hero-photo{ min-height:62vh; background-color:var(--sand); }

/* ---- editorial feature strip (4 photo tiles, mockup-style) ---- */
.ed-features{ display:grid; grid-template-columns:repeat(4,1fr); }
.ed-tile{ position:relative; min-height:320px; display:flex; align-items:flex-end; overflow:hidden;
  background-color:var(--sand); transition:flex .4s; }
.ed-tile-grad{ position:absolute; inset:0; z-index:1; transition:opacity .4s;
  background:linear-gradient(180deg, rgba(28,37,30,0) 32%, rgba(22,30,24,.85) 100%); }
.ed-tile:hover .ed-tile-grad{ background:linear-gradient(180deg, rgba(28,37,30,.12) 18%, rgba(22,30,24,.9) 100%); }
.ed-tile-cap{ position:relative; z-index:2; display:flex; gap:14px; align-items:flex-start; padding:28px 26px; color:#fff; }
.ed-tile-cap .ico{ flex:none; color:var(--gold-light); }
.ed-tile-cap .ico svg{ width:34px; height:34px; }
.ed-tile-cap h4{ color:#fff; font-family:var(--font-body); font-weight:600; text-transform:uppercase; letter-spacing:.1em; font-size:.9rem; margin-bottom:5px; }
.ed-tile-cap p{ color:rgba(255,255,255,.82); font-size:.84rem; margin:0; line-height:1.45; }

/* treatment tiles now photo-led (no machine cutout) */
.tcard.has-media .tcard-media{ aspect-ratio:16/10; }
.tcard.has-media .ti{ margin-top:-52px; }

@media (max-width:1000px){
  .ed-features{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:900px){
  .ed-hero{ grid-template-columns:1fr; min-height:auto; }
  .ed-hero-photo{ min-height:52vh; order:-1; }
  .ed-hero-text{ padding:120px 28px 64px; }
  .ed-inner{ margin:0; }
}
@media (max-width:560px){
  .ed-features{ grid-template-columns:1fr; }
}
.ed-about-photo{ min-height:420px; border-radius:4px; box-shadow:var(--shadow-soft); }

/* header over a DARK (emerald) inner-page hero → light text */
.lx-head.on-dark .lx-brand .bt{ color:#fff; }
.lx-head.on-dark .lx-brand .bt small{ color:var(--gold-light); }
.lx-head.on-dark .lx-nav > a, .lx-head.on-dark .lx-has-drop > a{ color:rgba(255,255,255,.92); }
.lx-head.on-dark .lx-nav a:hover, .lx-head.on-dark .lx-has-drop:hover > a, .lx-head.on-dark .lx-nav a.active{ color:var(--gold-light); }
.lx-head.on-dark .lx-burger span{ background:#fff; }
.lx-head.on-dark.scrolled .lx-brand .bt{ color:var(--ink); }
.lx-head.on-dark.scrolled .lx-nav > a, .lx-head.on-dark.scrolled .lx-has-drop > a{ color:var(--ink); }
.lx-head.on-dark.scrolled .lx-burger span{ background:var(--ink); }
