/* Nextaura.ch - feuille de styles partagée entre toutes les pages */
/* ============================================================
   NEXTAURA.CH : DESIGN TOKENS
   ============================================================ */
:root{
  --stone:#F1F0EB;
  --stone-warm:#F8F6F0;
  --stone-deep:#E6E1D2;
  --white:#FDFCFA;

  --mineral:#31566B;
  --mineral-700:#213D4B;
  --mineral-300:#6E8998;
  --mineral-100:#DCE3E6;

  --sage:#789486;
  --sage-700:#566D60;
  --sage-100:#E7EBE4;

  --charcoal:#252B2D;
  --charcoal-70:rgba(37,43,45,.72);
  --charcoal-45:rgba(37,43,45,.48);
  --charcoal-15:rgba(37,43,45,.13);

  --accent:#4285E8;
  --accent-700:#2E67C4;
  --accent-800:#254F98;
  --accent-100:#E4EDFB;
  --accent-ink:#5B9AF0;

  --sun:#E9B77E;

  --font: 'Libre Franklin', 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;

  --container-wide: 1180px;
  --container-text: 700px;
  --container-narrow: 600px;

  --space-section: clamp(3.75rem, 7vw, 7rem);
  --space-block: clamp(2rem, 4vw, 3.25rem);
  --radius: 10px;
  --radius-sm: 6px;

  --bg: var(--stone);
  --text: var(--charcoal);
  --text-muted: var(--charcoal-70);
  --surface: var(--stone-warm);
  --surface-strong: var(--white);
  --border: var(--charcoal-15);

  color-scheme: light;
}

:root[data-theme="dark"]{
  --bg:#20262A;
  --text:#F1EEE6;
  --text-muted:rgba(241,238,230,.72);
  --surface:#293036;
  --surface-strong:#2E363C;
  --border:rgba(241,238,230,.14);
  --stone-deep:#323A40;
  --mineral-100:#31424D;
  --sage-100:#2C3630;
  --accent-100:#25344A;
  color-scheme: dark;
}

@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#20262A;
    --text:#F1EEE6;
    --text-muted:rgba(241,238,230,.72);
    --surface:#293036;
    --surface-strong:#2E363C;
    --border:rgba(241,238,230,.14);
    --stone-deep:#323A40;
    --mineral-100:#31424D;
    --sage-100:#2C3630;
    --accent-100:#25344A;
    color-scheme: dark;
  }
}

*,*::before,*::after{ box-sizing:border-box; }
html{
  scroll-behavior:smooth;
  scroll-padding-top: calc(84px + env(safe-area-inset-top,0px));
}
body{
  margin:0;
  font-family:var(--font);
  background:var(--bg);
  color:var(--text);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  padding-top: env(safe-area-inset-top,0px);
  padding-bottom: env(safe-area-inset-bottom,0px);
}
img,svg{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
ul,ol{ margin:0; padding:0; list-style:none; }
p{ margin:0 0 1.1em; }
p:last-child{ margin-bottom:0; }
h1,h2,h3,h4{ margin:0; font-weight:600; letter-spacing:-0.01em; color:var(--text); }
button{ font-family:inherit; cursor:pointer; }

.skip-link{
  position:fixed; top:-100px; left:1rem; z-index:1000;
  background:var(--accent); color:#fff; padding:.75rem 1.25rem;
  border-radius:var(--radius-sm); transition:top .18s ease;
}
.skip-link:focus{ top:calc(1rem + env(safe-area-inset-top,0px)); }

:focus-visible{ outline:3px solid var(--accent); outline-offset:3px; border-radius:4px; }
/* page headings are focused programmatically on route change for screen
   readers only; they are not interactive, so no visible ring is shown */
h1[tabindex="-1"]:focus{ outline:none; }

.container{ max-width:var(--container-wide); margin-inline:auto; padding-inline:clamp(1.25rem,4vw,3rem); }
.prose{ max-width:var(--container-text); }
.prose-narrow{ max-width:var(--container-narrow); }

.eyebrow-none{ display:none; } /* placeholder, unused: no decorative eyebrows on this site */

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
    scroll-behavior:auto !important;
  }
}
/* ============================================================
   HEADER / NAVIGATION
   ============================================================ */
.site-header{
  position:sticky; top:0; z-index:100;
  background:var(--stone);
  background:color-mix(in srgb, var(--stone) 92%, transparent);
  -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px);
  border-bottom:1px solid var(--border);
  padding-top: env(safe-area-inset-top,0px);
}
:root[data-theme="dark"] .site-header{ background:var(--bg); background:color-mix(in srgb, var(--bg) 88%, transparent); }
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]) .site-header{ background:var(--bg); background:color-mix(in srgb, var(--bg) 88%, transparent); }
}
.header-inner{
  display:flex; align-items:center; gap:1.5rem;
  padding-block:1.05rem;
}
.brand{
  display:flex; align-items:center; gap:.45rem;
  font-size:1.28rem; font-weight:700; color:var(--mineral); letter-spacing:-.01em;
  margin-right:auto;
}
:root[data-theme="dark"] .brand{ color:var(--stone); }
.brand-mark{ width:13px; height:13px; border-radius:3px; display:inline-block; flex:none; overflow:hidden; }
.brand-mark svg{ display:block; width:100%; height:100%; }

.nav ul{ display:flex; align-items:center; gap:clamp(1rem,2vw,1.9rem); }
.nav a{
  font-size:.98rem; font-weight:500; color:var(--text-muted);
  padding:.4rem .1rem; position:relative; transition:color .15s ease;
}
.nav a:hover{ color:var(--mineral); }
:root[data-theme="dark"] .nav a:hover{ color:var(--stone); }
.nav a[aria-current="page"]{ color:var(--mineral); }
:root[data-theme="dark"] .nav a[aria-current="page"]{ color:var(--stone); }
.nav a[aria-current="page"]::after{
  content:""; position:absolute; left:0; right:0; bottom:-6px; height:2px; background:var(--accent); border-radius:2px;
}

.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  font-family:inherit; font-size:.98rem; font-weight:600;
  padding:.8rem 1.5rem; border-radius:999px; border:1px solid transparent;
  transition:background .15s ease, color .15s ease, border-color .15s ease, transform .12s ease;
  min-height:44px;
}
.btn:active{ transform:translateY(1px); }
.btn-primary{ background:var(--accent-700); color:#fff; }
.btn-primary:hover{ background:var(--accent-800); }
.btn-ghost{ background:transparent; border-color:var(--charcoal-15); color:var(--text); }
.btn-ghost:hover{ border-color:var(--mineral); color:var(--mineral); }
:root[data-theme="dark"] .btn-ghost{ border-color:var(--border); }
:root[data-theme="dark"] .btn-ghost:hover{ border-color:var(--stone); color:var(--stone); }

.nav-cta{ padding:.68rem 1.3rem; font-size:.94rem; }

.nav-toggle{
  display:none; background:none; border:none; padding:.5rem; width:44px; height:44px;
  align-items:center; justify-content:center;
}
.nav-toggle span, .nav-toggle::before, .nav-toggle::after{
  content:""; display:block; width:22px; height:2px; background:var(--mineral); border-radius:2px;
  position:relative; transition:transform .2s ease, opacity .2s ease;
}
:root[data-theme="dark"] .nav-toggle span,
:root[data-theme="dark"] .nav-toggle::before,
:root[data-theme="dark"] .nav-toggle::after{ background:var(--stone); }
.nav-toggle::before{ position:absolute; top:15px; }
.nav-toggle::after{ position:absolute; bottom:15px; }
.nav-toggle[aria-expanded="true"] span{ opacity:0; }
.nav-toggle[aria-expanded="true"]::before{ transform:translateY(7px) rotate(45deg); }
.nav-toggle[aria-expanded="true"]::after{ transform:translateY(-7px) rotate(-45deg); }

.mobile-nav{
  display:none; position:fixed; inset:0; z-index:99;
  background:var(--bg);
  padding-top:calc(76px + env(safe-area-inset-top,0px));
  padding-bottom: env(safe-area-inset-bottom,0px);
  overflow-y:auto;
}
.mobile-nav.is-open{ display:block; }
.mobile-nav-inner{ padding:1.5rem clamp(1.25rem,6vw,2.5rem) 3rem; display:flex; flex-direction:column; gap:.25rem; }
.mobile-nav a{
  font-size:1.55rem; font-weight:500; padding:.85rem 0; border-bottom:1px solid var(--border); color:var(--text);
}
.mobile-nav a[aria-current="page"]{ color:var(--mineral); }
:root[data-theme="dark"] .mobile-nav a[aria-current="page"]{ color:var(--accent); }
.mobile-nav .btn{
  margin-top:1.75rem; align-self:flex-start;
  font-size:1.05rem; font-weight:600;
  padding:.9rem 1.85rem;
  border-bottom:none;
  color:#fff;
}

@media (max-width: 900px){
  .nav{ display:none; }
  .nav-cta{ display:none; }
  .nav-toggle{ display:flex; }
}

/* ============================================================
   PAGES / SECTIONS
   ============================================================ */
.page[hidden]{ display:none; }
.section{ padding-block:var(--space-section); border-top:1px solid var(--border); }
.section--flush{ border-top:none; }
.section--tight{ padding-block: calc(var(--space-section) * .6); }
.section--warm{ background:var(--surface); }
.section--deep{ background:var(--stone-deep); }
.section--mineral{ background:var(--mineral); color:var(--stone); }
.section--mineral h2, .section--mineral h3{ color:var(--white); }
.section--mineral .text-muted{ color:rgba(248,246,240,.78); }
.section--sage{ background:var(--sage-100); }

.eyebrow{ display:none; }

.section-head{ margin-bottom:var(--space-block); }
.section-head h2{ font-size:clamp(1.55rem,2.4vw,2.15rem); line-height:1.18; }
.section-head p{ font-size:1.1rem; line-height:1.6; color:var(--text-muted); margin-top:.9rem; max-width:42ch; }

.text-muted{ color:var(--text-muted); }

.page-intro{ padding-block: clamp(3.25rem,7vw,5.5rem) clamp(2rem,4vw,3rem); }
.page-intro h1{ font-size:clamp(2.1rem,4vw,3.1rem); line-height:1.12; max-width:16ch; }
.page-intro .lede{ font-size:1.3rem; line-height:1.55; color:var(--text-muted); margin-top:1.4rem; max-width:34ch; font-weight:400; }

/* body copy blocks used across pages */
.copy-block{ margin-bottom:var(--space-block); }
.copy-block h2{ font-size:clamp(1.35rem,2vw,1.8rem); margin-bottom:1rem; line-height:1.22; }
.copy-block .lead-line{ font-size:1.15rem; font-weight:600; color:var(--mineral); margin-bottom:.9rem; line-height:1.4; }
:root[data-theme="dark"] .copy-block .lead-line{ color:var(--stone); }
.copy-block p{ font-size:1.05rem; line-height:1.72; color:var(--text); max-width:64ch; }
.copy-block p + p{ margin-top:1.1em; }
.copy-block strong{ font-weight:600; color:var(--mineral); }
:root[data-theme="dark"] .copy-block strong{ color:var(--accent-ink); }
/* ============================================================
   HERO (Accueil)
   ============================================================ */
.hero-visual{
  position:relative;
  width:100%; aspect-ratio:16/7.2; overflow:hidden; background:var(--stone);
  border-bottom:1px solid var(--border);
}
@media (max-width:700px){ .hero-visual{ aspect-ratio:4/3.6; } }
.hero-visual svg{ width:100%; height:100%; display:block; }

.hero-overlay{
  position:absolute; inset:0; z-index:1;
  display:flex; align-items:flex-end;
  padding-bottom:clamp(1.75rem,5vw,3.25rem);
  background:
    linear-gradient(80deg, rgba(22,37,46,.64) 0%, rgba(22,37,46,.36) 42%, rgba(22,37,46,0) 70%),
    linear-gradient(to top, rgba(17,29,37,.58) 0%, rgba(17,29,37,0) 58%);
}
.hero-overlay .container{ width:100%; }
.hero-overlay h1{
  color:#FBFAF6; font-size:clamp(2rem,4.6vw,3.6rem); line-height:1.08; max-width:14ch;
  text-shadow:0 2px 22px rgba(8,16,22,.28);
  opacity:0; transform:translateY(14px);
}
.hero-overlay .hero-sub{
  color:#E8E3D3; font-weight:400; font-size:clamp(1.15rem,2.1vw,1.6rem); line-height:1.3;
  max-width:21ch; margin-top:.55rem;
  text-shadow:0 2px 16px rgba(8,16,22,.22);
  opacity:0; transform:translateY(14px);
}

.hero-copy{ padding-block:clamp(2.25rem,5vw,3.75rem); }
.hero-copy .container{ display:flex; flex-direction:column; align-items:flex-start; }
.hero-copy .hero-body{
  font-size:1.18rem; line-height:1.6; color:var(--text-muted); max-width:46ch;
  opacity:0; transform:translateY(14px);
}
.hero-copy .btn{ margin-top:1.9rem; opacity:0; transform:translateY(14px); }

.hero-visual.is-visible h1{ animation:heroIn .7s ease forwards; }
.hero-visual.is-visible .hero-sub{ animation:heroIn .7s ease .12s forwards; }
.hero-copy.is-visible .hero-body{ animation:heroIn .7s ease forwards; }
.hero-copy.is-visible .btn{ animation:heroIn .7s ease .12s forwards; }
@keyframes heroIn{ to{ opacity:1; transform:translateY(0); } }

/* ============================================================
   DIVIDER (subtle water line motif)
   ============================================================ */
.divider{ padding-block: clamp(1.5rem, 3vw, 2.5rem); }
.divider svg{ width:100%; height:28px; display:block; }

/* ============================================================
   METHOD PATH : condensed (Accueil)
   ============================================================ */
.method-path{ position:relative; }
.method-path ol{ display:flex; flex-wrap:wrap; gap:2.25rem 0; position:relative; }
.method-path .rail{
  position:absolute; left:0; right:0; top:11px; height:1px;
  background:rgba(248,246,240,.28);
}
.method-step{
  flex:1 1 190px; min-width:150px; padding-right:1.5rem; position:relative;
}
.method-step .node{
  width:11px; height:11px; border-radius:50%; background:var(--sun); margin-bottom:1.1rem;
  position:relative; z-index:1;
}
.method-step h3{ font-size:1.15rem; color:var(--white); margin-bottom:.45rem; font-weight:600; }
.method-step p{ font-size:.98rem; line-height:1.55; color:rgba(248,246,240,.78); max-width:26ch; }

@media (max-width:820px){
  .method-path .rail{ display:none; }
  .method-path ol{ flex-direction:column; gap:1.6rem; border-left:1px solid rgba(248,246,240,.28); }
  .method-step{ padding-left:1.5rem; padding-right:0; }
  .method-step .node{ position:absolute; left:-6px; top:5px; margin:0; }
}

.method-path.reveal .rail{ transform:scaleX(0); transform-origin:left; transition:transform 1.1s cubic-bezier(.4,0,.2,1); }
.method-path.reveal.is-visible .rail{ transform:scaleX(1); }
.method-path.reveal .method-step{ opacity:0; transform:translateY(10px); transition:opacity .6s ease, transform .6s ease; }
.method-path.reveal.is-visible .method-step{ opacity:1; transform:translateY(0); }
.method-path.reveal .method-step:nth-child(1){ transition-delay:.05s; }
.method-path.reveal .method-step:nth-child(2){ transition-delay:.22s; }
.method-path.reveal .method-step:nth-child(3){ transition-delay:.39s; }
.method-path.reveal .method-step:nth-child(4){ transition-delay:.56s; }
.method-path.reveal .method-step:nth-child(5){ transition-delay:.73s; }

/* ============================================================
   METHOD TIMELINE : full (Ma façon de travailler)
   ============================================================ */
.timeline{ position:relative; max-width:760px; }
.timeline-item{
  position:relative; padding-left:2.6rem; padding-bottom:var(--space-block);
  border-left:1px solid var(--border);
}
.timeline-item:last-of-type{ border-left-color:transparent; padding-bottom:0; }
.timeline-item .node{
  position:absolute; left:-6px; top:.3rem; width:11px; height:11px; border-radius:50%;
  background:var(--accent); border:3px solid var(--bg);
}
.timeline-item h2{ font-size:1.5rem; margin-bottom:.75rem; }
.timeline-item .lead-line{ font-size:1.12rem; font-weight:600; color:var(--mineral); margin-bottom:.85rem; line-height:1.4; }
:root[data-theme="dark"] .timeline-item .lead-line{ color:var(--accent-ink); }
.timeline-item p{ font-size:1.04rem; line-height:1.72; max-width:60ch; color:var(--text); }
.timeline-item p + p{ margin-top:1.1em; }
.timeline-item strong{ color:var(--mineral); font-weight:600; }
:root[data-theme="dark"] .timeline-item strong{ color:var(--accent-ink); }

/* ============================================================
   RECOGNISABLE LINES (Ça vous rappelle quelque chose ?)
   ============================================================ */
.recall-list{ display:flex; flex-direction:column; }
.recall-item{
  padding-block:1.6rem; border-top:1px solid var(--border);
  font-size:clamp(1.2rem,2vw,1.55rem); font-weight:600; line-height:1.4; color:var(--mineral);
  max-width:34ch;
}
:root[data-theme="dark"] .recall-item{ color:var(--stone); }
.recall-item:last-child{ border-bottom:1px solid var(--border); }
.recall-item:nth-child(2){ margin-inline-start:clamp(0px,6vw,3.5rem); text-align:left; }
.recall-item:nth-child(4){ margin-inline-start:clamp(0px,6vw,3.5rem); }

/* ============================================================
   STORIES (Situations concrètes)
   ============================================================ */
.story{ padding-block:var(--space-section); border-top:1px solid var(--border); }
.story:first-of-type{ border-top:none; }
.story-head{ max-width:56ch; margin-bottom:var(--space-block); }
.story-head h2{ font-size:clamp(1.5rem,2.6vw,2.05rem); line-height:1.24; }
.story-grid{ display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap:2.5rem 3.5rem; }
@media (max-width:820px){ .story-grid{ grid-template-columns:1fr; gap:2.25rem; } }
.story-part span.tag{
  display:block; font-size:.92rem; font-weight:600; color:var(--sage-700); margin-bottom:.55rem;
}
:root[data-theme="dark"] .story-part span.tag{ color:var(--sage); }
.story-part p{ font-size:1.02rem; line-height:1.68; color:var(--text); max-width:52ch; }
.story-part p + p{ margin-top:.9em; }
.story:nth-of-type(2) .story-grid{ direction:rtl; }
.story:nth-of-type(2) .story-grid > *{ direction:ltr; }
@media (max-width:820px){ .story:nth-of-type(2) .story-grid{ direction:ltr; } }

/* ============================================================
   TESTIMONIALS (Qui suis-je ?)
   ============================================================ */
.testimonials{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2.25rem; }
@media (max-width:820px){ .testimonials{ grid-template-columns:1fr; gap:2rem; } }
.testimonial{ border-top:2px solid var(--mineral); padding-top:1.25rem; }
:root[data-theme="dark"] .testimonial{ border-top-color:var(--accent); }
.testimonial p{ font-size:1.05rem; line-height:1.6; color:var(--text); margin-bottom:1rem; }
.testimonial .who{ font-size:.92rem; }
.testimonial .who .name{ font-weight:600; color:var(--mineral); display:block; }
:root[data-theme="dark"] .testimonial .who .name{ color:var(--stone); }
.testimonial .who .role{ color:var(--text-muted); font-style:italic; }

/* ============================================================
   PORTRAIT PLACEHOLDER (Qui suis-je ?)
   ============================================================ */
.portrait{
  width:100%; aspect-ratio:4/5; max-width:340px; border-radius:var(--radius);
  overflow:hidden; background:var(--mineral);
}
.portrait img{ width:100%; height:100%; object-fit:cover; object-position:50% 22%; display:block; }
.bio-grid{ display:grid; grid-template-columns:1fr auto; gap:3rem; align-items:start; }
@media (max-width:760px){
  .bio-grid{ grid-template-columns:1fr; }
  .bio-grid .portrait{ order:-1; max-width:220px; }
}

/* ============================================================
   CTA CLOSE
   ============================================================ */
.cta-close{ text-align:left; }
.cta-close h2{ font-size:clamp(1.6rem,3vw,2.3rem); max-width:20ch; line-height:1.2; margin-bottom:1rem; }
.cta-close p{ font-size:1.15rem; color:var(--text-muted); max-width:46ch; margin-bottom:1.9rem; }
.cta-close .cta-lead{ font-weight:600; color:var(--mineral); font-size:1.2rem; margin-bottom:.6rem; }
:root[data-theme="dark"] .cta-close .cta-lead{ color:var(--stone); }

/* ============================================================
   FORM (Parlons-en)
   ============================================================ */
.contact-grid{ display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(2.5rem,5vw,5rem); align-items:start; }
@media (max-width:900px){ .contact-grid{ grid-template-columns:1fr; } }
.field{ margin-bottom:1.4rem; }
.field label{ display:block; font-size:.95rem; font-weight:600; color:var(--mineral); margin-bottom:.45rem; }
:root[data-theme="dark"] .field label{ color:var(--stone); }
.field input, .field textarea{
  width:100%; font-family:inherit; font-size:1.03rem; color:var(--text);
  background:var(--surface-strong); border:1px solid var(--border); border-radius:var(--radius-sm);
  padding:.85rem 1rem; transition:border-color .15s ease;
}
.field input:focus, .field textarea:focus{ border-color:var(--accent); outline:none; box-shadow:0 0 0 3px var(--accent-100); }
.field textarea{ resize:vertical; min-height:120px; }
.field .hint{ font-size:.85rem; color:var(--text-muted); margin-top:.4rem; }
.form-note{ font-size:.92rem; color:var(--text-muted); margin-top:1rem; }
.form-success{
  display:none; background:var(--sage-100); border:1px solid var(--sage); border-radius:var(--radius);
  padding:1.1rem 1.3rem; margin-top:1.3rem; font-size:1rem; color:var(--text);
}
.form-success.is-visible{ display:block; }
.direct-contact{ padding-top:.25rem; }
.direct-contact h3{ font-size:1.15rem; margin-bottom:.8rem; }
.direct-contact p{ font-size:1rem; color:var(--text-muted); line-height:1.6; }
.direct-contact a{ color:var(--mineral); font-weight:600; text-decoration:underline; text-underline-offset:3px; }
:root[data-theme="dark"] .direct-contact a{ color:var(--accent-ink); }

/* ============================================================
   FOOTER
   ============================================================ */
.site-footer{ border-top:1px solid var(--border); padding-block:2.75rem 3rem; background:var(--surface); }
.footer-inner{ display:flex; flex-wrap:wrap; justify-content:space-between; gap:2rem 3rem; }
.footer-brand{ font-size:1.05rem; font-weight:700; color:var(--mineral); }
:root[data-theme="dark"] .footer-brand{ color:var(--stone); }
.footer-nav ul{ display:flex; flex-wrap:wrap; gap:.5rem 1.6rem; }
.footer-nav a{ font-size:.95rem; color:var(--text-muted); }
.footer-nav a:hover{ color:var(--mineral); }
:root[data-theme="dark"] .footer-nav a:hover{ color:var(--stone); }
.footer-meta{ font-size:.85rem; color:var(--text-muted); margin-top:2rem; }

/* generic reveal (used sparingly, only where explicitly marked) */
.reveal-fade{ opacity:0; transform:translateY(16px); transition:opacity .7s ease, transform .7s ease; }
.reveal-fade.is-visible{ opacity:1; transform:translateY(0); }

/* ============================================================
   AUTOMATIC DARK MODE (system preference)
   Mirrors the :root[data-theme="dark"] component overrides above
   so the page also reads correctly with no explicit toggle.
   ============================================================ */
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]) .brand{ color:var(--stone); }
  :root:not([data-theme="light"]) .nav a:hover{ color:var(--stone); }
  :root:not([data-theme="light"]) .nav a[aria-current="page"]{ color:var(--stone); }
  :root:not([data-theme="light"]) .btn-ghost{ border-color:var(--border); }
  :root:not([data-theme="light"]) .btn-ghost:hover{ border-color:var(--stone); color:var(--stone); }
  :root:not([data-theme="light"]) .nav-toggle span,
  :root:not([data-theme="light"]) .nav-toggle::before,
  :root:not([data-theme="light"]) .nav-toggle::after{ background:var(--stone); }
  :root:not([data-theme="light"]) .mobile-nav a[aria-current="page"]{ color:var(--accent-ink); }
  :root:not([data-theme="light"]) .copy-block .lead-line{ color:var(--stone); }
  :root:not([data-theme="light"]) .copy-block strong{ color:var(--accent-ink); }
  :root:not([data-theme="light"]) .timeline-item .lead-line{ color:var(--accent-ink); }
  :root:not([data-theme="light"]) .timeline-item strong{ color:var(--accent-ink); }
  :root:not([data-theme="light"]) .recall-item{ color:var(--stone); }
  :root:not([data-theme="light"]) .story-part span.tag{ color:var(--sage); }
  :root:not([data-theme="light"]) .testimonial{ border-top-color:var(--accent); }
  :root:not([data-theme="light"]) .testimonial .who .name{ color:var(--stone); }
  :root:not([data-theme="light"]) .cta-close .cta-lead{ color:var(--stone); }
  :root:not([data-theme="light"]) .field label{ color:var(--stone); }
  :root:not([data-theme="light"]) .direct-contact a{ color:var(--accent-ink); }
  :root:not([data-theme="light"]) .footer-brand{ color:var(--stone); }
  :root:not([data-theme="light"]) .footer-nav a:hover{ color:var(--stone); }
}
