/* ============================================================
   ARIA Facial Plastic Surgery — luxury-clinical, cool graphite
   ground + rationed gilt-bronze accent. Concept: measured refinement.
   ============================================================ */

:root{
  /* light (default) */
  --bg:        #e8e5df;
  --bg-2:      #f1efea;
  --panel:     #f4f2ee;
  --ink:       #21252b;
  --ink-2:     #4c5158;
  --ink-3:     #6b7178;
  --line:      rgba(33,37,43,.13);
  --line-2:    rgba(33,37,43,.07);
  --accent:    #9a6a3c;   /* gilt bronze — large / decorative */
  --accent-mid:#875a2c;   /* large text */
  --accent-ink:#77501f;   /* small text AA on light */
  --accent-soft: rgba(154,106,60,.12);
  --ghost:     rgba(33,37,43,.28);   /* before-line on canvas */
  --figure:    #2a2f36;              /* refined line base */
  --field-bg:  #fbfaf7;
  --field-line:rgba(33,37,43,.22);
  --shadow:    0 24px 60px -30px rgba(28,24,18,.42);
  --ease: cubic-bezier(.22,1,.36,1);
  --pad: clamp(20px, 5.2vw, 84px);
  --maxw: 1200px;
  color-scheme: light dark;
}

@media (prefers-color-scheme: dark){
  :root{
    --bg:        #14161a;
    --bg-2:      #181b20;
    --panel:     #1c2026;
    --ink:       #e9eaed;
    --ink-2:     #aeb4bc;
    --ink-3:     #868d96;
    --line:      rgba(233,234,237,.14);
    --line-2:    rgba(233,234,237,.07);
    --accent:    #c79457;
    --accent-mid:#cf9c5f;
    --accent-ink:#d7a869;
    --accent-soft: rgba(199,148,87,.14);
    --ghost:     rgba(233,234,237,.30);
    --figure:    #d6dae0;
    --field-bg:  #22262d;
    --field-line:rgba(233,234,237,.24);
    --shadow:    0 30px 70px -34px rgba(0,0,0,.7);
  }
}
/* explicit overrides win in both directions */
:root[data-theme="light"]{
  --bg:#e8e5df;--bg-2:#f1efea;--panel:#f4f2ee;--ink:#21252b;--ink-2:#4c5158;--ink-3:#6b7178;
  --line:rgba(33,37,43,.13);--line-2:rgba(33,37,43,.07);
  --accent:#9a6a3c;--accent-mid:#875a2c;--accent-ink:#77501f;--accent-soft:rgba(154,106,60,.12);
  --ghost:rgba(33,37,43,.28);--figure:#2a2f36;--field-bg:#fbfaf7;--field-line:rgba(33,37,43,.22);
  --shadow:0 24px 60px -30px rgba(28,24,18,.42);color-scheme:light;
}
:root[data-theme="dark"]{
  --bg:#14161a;--bg-2:#181b20;--panel:#1c2026;--ink:#e9eaed;--ink-2:#aeb4bc;--ink-3:#868d96;
  --line:rgba(233,234,237,.14);--line-2:rgba(233,234,237,.07);
  --accent:#c79457;--accent-mid:#cf9c5f;--accent-ink:#d7a869;--accent-soft:rgba(199,148,87,.14);
  --ghost:rgba(233,234,237,.30);--figure:#d6dae0;--field-bg:#22262d;--field-line:rgba(233,234,237,.24);
  --shadow:0 30px 70px -34px rgba(0,0,0,.7);color-scheme:dark;
}

*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--bg);color:var(--ink);
  font-family:"Sora",system-ui,sans-serif;
  font-size:clamp(15px,1vw + 12px,17px);line-height:1.62;
  font-weight:340;-webkit-font-smoothing:antialiased;letter-spacing:-.005em;
  overflow-x:hidden;
}
::selection{background:var(--accent);color:#fff}
a{color:inherit}
img,svg,canvas{max-width:100%;display:block}
h1,h2,h3{margin:0;font-weight:400;text-wrap:balance}
p{margin:0}

.skip{position:fixed;top:-100px;left:12px;z-index:200;background:var(--accent);color:#fff;
  padding:10px 16px;border-radius:8px;font-size:.9rem;transition:top .2s var(--ease)}
.skip:focus{top:12px}

:focus-visible{outline:2px solid var(--accent-mid);outline-offset:3px;border-radius:3px}

/* ---------- shared type ---------- */
.kicker{font-family:"IBM Plex Mono",monospace;font-size:.72rem;letter-spacing:.24em;
  text-transform:uppercase;color:var(--accent-ink);margin:0 0 1.1rem;font-weight:500}
.h-sec{font-family:"Fraunces",serif;font-weight:420;
  font-size:clamp(1.9rem,4.6vw,3.35rem);line-height:1.02;letter-spacing:-.02em}
em{font-style:italic;color:var(--accent-mid);font-family:"Fraunces",serif}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;
  font-family:"Sora",sans-serif;font-weight:480;font-size:.95rem;letter-spacing:-.01em;
  padding:.86em 1.5em;border-radius:999px;border:1px solid transparent;cursor:pointer;
  text-decoration:none;transition:transform .4s var(--ease),background .3s var(--ease),
  border-color .3s var(--ease),color .3s var(--ease);white-space:nowrap}
.btn--primary{background:var(--accent);color:#fff;border-color:var(--accent)}
.btn--primary:hover{transform:translateY(-2px);background:var(--accent-mid)}
.btn--ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.btn--ghost:hover{border-color:var(--accent-mid);color:var(--accent-ink)}
.btn--nav{padding:.6em 1.1em;font-size:.86rem;background:var(--accent);color:#fff}
.btn--nav:hover{background:var(--accent-mid)}
.btn--block{width:100%;padding:1.05em}

/* ============================================================
   NAV
   ============================================================ */
.nav{position:sticky;top:0;z-index:100;transition:background .4s var(--ease),
  border-color .4s var(--ease),backdrop-filter .4s var(--ease)}
.nav__in{max-width:var(--maxw);margin:0 auto;padding:.9rem var(--pad);
  display:flex;align-items:center;gap:1.4rem}
.nav[data-scrolled]{background:color-mix(in srgb,var(--bg) 82%,transparent);
  backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:.5rem;text-decoration:none;color:var(--ink);
  margin-right:auto;line-height:1}
.brand__mark{color:var(--accent-mid);display:grid;place-items:center}
.brand__word{font-family:"Fraunces",serif;font-size:1.32rem;font-weight:500;letter-spacing:.06em}
.brand__sub{font-family:"IBM Plex Mono",monospace;font-size:.6rem;letter-spacing:.18em;
  text-transform:uppercase;color:var(--ink-3);border-left:1px solid var(--line);
  padding-left:.55rem;margin-left:.1rem}
.nav__links{display:flex;gap:1.7rem}
.nav__links a{text-decoration:none;color:var(--ink-2);font-size:.9rem;font-weight:400;
  transition:color .25s var(--ease);position:relative}
.nav__links a:hover{color:var(--ink)}
.nav__act{display:flex;align-items:center;gap:.7rem}
.theme{width:38px;height:38px;border-radius:999px;border:1px solid var(--line);
  background:transparent;color:var(--ink-2);cursor:pointer;display:grid;place-items:center;
  transition:color .25s var(--ease),border-color .25s var(--ease)}
.theme:hover{color:var(--accent-ink);border-color:var(--accent-mid)}
.theme__moon{display:none}
:root[data-theme="dark"] .theme__sun{display:block}
:root[data-theme="dark"] .theme__moon{display:none}
:root[data-theme="light"] .theme__sun{display:none}
:root[data-theme="light"] .theme__moon{display:block}
@media (prefers-color-scheme:dark){
  :root:not([data-theme]) .theme__sun{display:block}
  :root:not([data-theme]) .theme__moon{display:none}
}
@media (prefers-color-scheme:light){
  :root:not([data-theme]) .theme__moon{display:block}
  :root:not([data-theme]) .theme__sun{display:none}
}
.burger{display:none;width:42px;height:42px;border:1px solid var(--line);border-radius:10px;
  background:transparent;cursor:pointer;padding:0;position:relative}
.burger span{position:absolute;left:11px;right:11px;height:1.6px;background:var(--ink);
  transition:transform .35s var(--ease),opacity .2s var(--ease)}
.burger span:nth-child(1){top:16px}
.burger span:nth-child(2){bottom:16px}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(5px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){transform:translateY(-5px) rotate(-45deg)}

.mobile{position:fixed;inset:0;z-index:99;background:var(--bg);
  padding:6rem var(--pad) 2rem;transform:translateY(-100%);
  transition:transform .5s var(--ease);overflow-y:auto}
.mobile[data-open]{transform:translateY(0)}
.mobile__nav{display:flex;flex-direction:column;gap:.4rem}
.mobile__nav a{text-decoration:none;color:var(--ink);font-family:"Fraunces",serif;
  font-size:1.7rem;padding:.7rem 0;border-bottom:1px solid var(--line-2)}
.mobile__cta{margin-top:1.4rem;color:#fff!important;background:var(--accent);
  border-radius:999px;text-align:center;border-bottom:0!important;font-family:"Sora",sans-serif!important;
  font-size:1rem!important;padding:1em!important}

/* ============================================================
   HERO / PLANNER
   ============================================================ */
.hero{max-width:var(--maxw);margin:0 auto;padding:clamp(2rem,6vh,4.5rem) var(--pad) clamp(3rem,7vh,6rem)}
.hero__wrap{display:grid;grid-template-columns:1.02fr 1.08fr;gap:clamp(2rem,5vw,5rem);
  align-items:center}
.hero__lede{max-width:36ch}
.hero__title{font-family:"Fraunces",serif;font-weight:400;
  font-size:clamp(2.5rem,6.3vw,4.6rem);line-height:1.0;letter-spacing:-.035em;
  margin:.2rem 0 1.6rem}
.hero__title .line{display:block;overflow:hidden;padding-bottom:.04em}
.hero__title .line__i{display:block;transform:translateY(112%)}
.hero__sub{color:var(--ink-2);font-size:clamp(1rem,1.2vw,1.12rem);max-width:44ch;
  text-wrap:pretty}
.hero__cta{display:flex;flex-wrap:wrap;gap:.8rem;margin:1.9rem 0}
.hero__trust{list-style:none;margin:0;padding:1.3rem 0 0;border-top:1px solid var(--line);
  display:flex;flex-wrap:wrap;gap:1.4rem;font-size:.82rem;color:var(--ink-2)}
.hero__trust-n{font-family:"IBM Plex Mono",monospace;color:var(--accent-ink);
  font-weight:600;margin-right:.35em;letter-spacing:.02em}

/* reveal-on-scroll (body elements) */
[data-rv]{opacity:0;transform:translateY(22px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
[data-rv].in{opacity:1;transform:none}

/* planner card */
.planner{background:var(--panel);border:1px solid var(--line);border-radius:20px;
  padding:clamp(1.1rem,2vw,1.7rem);box-shadow:var(--shadow)}
.planner__head{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;
  margin-bottom:.9rem}
.planner__tag{font-family:"IBM Plex Mono",monospace;font-size:.68rem;letter-spacing:.2em;
  text-transform:uppercase;color:var(--accent-ink);font-weight:500}
.planner__note{font-family:"IBM Plex Mono",monospace;font-size:.62rem;color:var(--ink-3);
  letter-spacing:.03em}
.planner__stage{position:relative;aspect-ratio:1/.82;border-radius:14px;overflow:hidden;
  background:
    linear-gradient(0deg,var(--bg-2),var(--bg-2)),
    radial-gradient(120% 90% at 62% 42%,transparent 55%,var(--line-2) 100%);
  border:1px solid var(--line-2)}
.planner__stage canvas{position:absolute;inset:0;width:100%;height:100%}
.planner__fallback{position:absolute;inset:auto 1rem 1rem;font-size:.75rem;color:var(--ink-3);
  font-family:"IBM Plex Mono",monospace}
.js .planner__fallback{display:none}

.planner__procs{display:flex;flex-wrap:wrap;gap:.4rem;margin:1rem 0 .3rem}
.proc{font-family:"IBM Plex Mono",monospace;font-size:.72rem;letter-spacing:.02em;
  padding:.5em .8em;border-radius:999px;border:1px solid var(--line);background:transparent;
  color:var(--ink-2);cursor:pointer;transition:all .3s var(--ease)}
.proc:hover{border-color:var(--accent-mid);color:var(--ink)}
.proc[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:#fff}

.planner__balance{margin:1.1rem 0 .3rem}
.planner__balance>label{font-family:"IBM Plex Mono",monospace;font-size:.66rem;
  letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3);display:block;margin-bottom:.5rem}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:2px;
  background:var(--line);border-radius:2px;outline-offset:6px;cursor:pointer;margin:.4rem 0}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;
  width:20px;height:20px;border-radius:50%;background:var(--accent);border:3px solid var(--panel);
  box-shadow:0 0 0 1px var(--accent);cursor:grab;margin-top:0}
input[type=range]::-moz-range-thumb{width:16px;height:16px;border-radius:50%;
  background:var(--accent);border:3px solid var(--panel);box-shadow:0 0 0 1px var(--accent);cursor:grab}
.planner__scale{display:flex;justify-content:space-between;font-family:"IBM Plex Mono",monospace;
  font-size:.6rem;letter-spacing:.06em;color:var(--ink-3);text-transform:uppercase}
.planner__scale-rec{color:var(--accent-ink)}

.readout{margin:1.2rem 0 0;padding-top:1rem;border-top:1px solid var(--line);
  display:grid;gap:.15rem}
.readout__row{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;
  padding:.34rem 0;border-bottom:1px solid var(--line-2)}
.readout__row:last-child{border-bottom:0}
.readout dt{font-family:"IBM Plex Mono",monospace;font-size:.68rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--ink-3)}
.readout dd{margin:0;font-family:"IBM Plex Mono",monospace;font-size:.95rem;font-weight:500;
  color:var(--ink);font-variant-numeric:tabular-nums}
.readout__row--accent dd{color:var(--accent-ink)}

/* ============================================================
   PROCEDURES — index ledger
   ============================================================ */
.proc-sec{max-width:var(--maxw);margin:0 auto;padding:clamp(3.5rem,9vh,7rem) var(--pad);
  border-top:1px solid var(--line)}
.proc-sec__head{max-width:52ch;margin-bottom:clamp(1.8rem,4vh,3rem)}
.proc-sec__intro{color:var(--ink-2);margin-top:1rem;max-width:48ch}
.ledger{list-style:none;margin:0;padding:0}
.ledger__row{display:grid;grid-template-columns:auto 1fr auto;gap:clamp(1rem,3vw,2.6rem);
  align-items:center;padding:clamp(1.3rem,2.6vw,1.9rem) 0;border-top:1px solid var(--line);
  cursor:pointer;transition:background .3s var(--ease);position:relative}
.ledger__row:last-child{border-bottom:1px solid var(--line)}
.ledger__row::after{content:"";position:absolute;left:calc(var(--pad) * -1);right:calc(var(--pad) * -1);
  top:0;bottom:0;background:var(--accent-soft);opacity:0;transition:opacity .3s var(--ease);z-index:-1}
.ledger__row:hover::after,.ledger__row:focus-visible::after{opacity:1}
.ledger__no{font-family:"IBM Plex Mono",monospace;font-size:.8rem;color:var(--accent-ink);
  font-weight:500;align-self:start;padding-top:.3rem}
.ledger__name{font-family:"Fraunces",serif;font-size:clamp(1.25rem,2.6vw,1.7rem);
  font-weight:420;letter-spacing:-.015em;margin-bottom:.35rem}
.ledger__desc{color:var(--ink-2);font-size:.95rem;max-width:52ch;text-wrap:pretty}
.ledger__meta{display:flex;gap:1.8rem;margin:0}
.ledger__meta dt{font-family:"IBM Plex Mono",monospace;font-size:.6rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ink-3);margin-bottom:.2rem}
.ledger__meta dd{margin:0;font-size:.86rem;color:var(--ink);white-space:nowrap;
  font-variant-numeric:tabular-nums}
.ledger__go{font-family:"IBM Plex Mono",monospace;font-size:.72rem;color:var(--accent-ink);
  opacity:0;transform:translateX(-6px);transition:all .3s var(--ease);white-space:nowrap}
.ledger__row:hover .ledger__go,.ledger__row:focus-visible .ledger__go{opacity:1;transform:none}

/* ============================================================
   SURGEON
   ============================================================ */
.surgeon{max-width:var(--maxw);margin:0 auto;padding:clamp(3.5rem,9vh,7rem) var(--pad);
  border-top:1px solid var(--line);
  display:grid;grid-template-columns:.88fr 1.12fr;gap:clamp(2rem,5vw,4.5rem);align-items:start}
.surgeon__side{position:sticky;top:6rem}
.surgeon__post{display:block;font-family:"IBM Plex Mono",monospace;font-size:.8rem;
  letter-spacing:.16em;color:var(--ink-3);margin-top:.7rem;text-transform:uppercase}
.surgeon__lead{color:var(--ink-2);margin-top:1.3rem;max-width:38ch}
.surgeon__quote{margin:1.8rem 0 0;padding:1.4rem 0 0;border-top:1px solid var(--line)}
.surgeon__quote p{font-family:"Fraunces",serif;font-size:clamp(1.25rem,2.4vw,1.6rem);
  line-height:1.28;font-weight:380;letter-spacing:-.01em;text-wrap:pretty}
.surgeon__quote cite{display:block;margin-top:1rem;font-style:normal;
  font-family:"IBM Plex Mono",monospace;font-size:.72rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--accent-ink)}
.cv{margin:0;display:grid;background:var(--line);border:1px solid var(--line);
  border-radius:16px;overflow:hidden;gap:1px}
.cv__row{background:var(--panel);display:grid;grid-template-columns:.5fr 1fr;gap:1rem;
  padding:1.05rem clamp(1rem,2vw,1.5rem)}
.cv__row dt{font-family:"IBM Plex Mono",monospace;font-size:.64rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ink-3);margin:0}
.cv__row dd{margin:0;font-size:.95rem;color:var(--ink);text-wrap:pretty}
.cv__stats{background:var(--panel);display:grid;grid-template-columns:repeat(3,1fr);
  gap:1px;padding:0}
.stat{padding:1.4rem clamp(1rem,2vw,1.5rem)}
.stat__n{display:block;font-family:"Fraunces",serif;font-size:clamp(1.7rem,3.4vw,2.5rem);
  font-weight:420;letter-spacing:-.02em;color:var(--accent-mid);
  font-variant-numeric:tabular-nums;line-height:1}
.stat__l{display:block;margin-top:.5rem;font-size:.78rem;color:var(--ink-2)}
.stat__l [data-illustrative],[data-illustrative]{font-family:"IBM Plex Mono",monospace;
  font-size:.9em;color:var(--ink-3)}

/* ============================================================
   SAFETY
   ============================================================ */
.safety{padding:clamp(3.5rem,9vh,7rem) var(--pad);background:var(--bg-2);
  border-top:1px solid var(--line)}
.safety__head{max-width:var(--maxw);margin:0 auto clamp(1.8rem,4vh,3rem)}
.safety__h{max-width:20ch}
.safety__grid{max-width:var(--maxw);margin:0 auto;display:grid;
  grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);
  border:1px solid var(--line);border-radius:16px;overflow:hidden}
.safety__cell{background:var(--bg);padding:clamp(1.5rem,2.6vw,2.1rem)}
.safety__seal{color:var(--accent-mid);display:block;margin-bottom:1.1rem}
.safety__cell h3{font-family:"Fraunces",serif;font-size:1.18rem;font-weight:420;
  margin-bottom:.6rem;letter-spacing:-.01em}
.safety__cell p{font-size:.9rem;color:var(--ink-2);text-wrap:pretty}

/* ============================================================
   TESTIMONIAL — ceremonial centered (the one centered block)
   ============================================================ */
.quote{padding:clamp(4rem,11vh,8rem) var(--pad);border-top:1px solid var(--line);
  display:grid;place-items:center;text-align:center}
.quote__fig{margin:0;max-width:24ch;position:relative}
.quote__mark{font-family:"Fraunces",serif;font-size:6rem;line-height:.6;color:var(--accent);
  opacity:.4;margin-bottom:.4rem}
.quote blockquote{margin:0}
.quote blockquote p{font-family:"Fraunces",serif;font-size:clamp(1.5rem,4vw,2.6rem);
  line-height:1.24;font-weight:380;letter-spacing:-.02em;text-wrap:balance}
.quote figcaption{margin-top:1.8rem}
.quote__who{display:block;font-family:"IBM Plex Mono",monospace;font-size:.9rem;
  letter-spacing:.16em;color:var(--ink)}
.quote__meta{display:block;margin-top:.4rem;font-family:"IBM Plex Mono",monospace;
  font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}

/* ============================================================
   CONSULT + FORM
   ============================================================ */
.consult{max-width:var(--maxw);margin:0 auto;padding:clamp(3.5rem,9vh,7rem) var(--pad);
  border-top:1px solid var(--line);
  display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(2rem,5vw,4.5rem);align-items:start}
.consult__lead{color:var(--ink-2);margin-top:1.2rem;max-width:42ch;text-wrap:pretty}
.consult__facts{list-style:none;margin:2rem 0 0;padding:0;display:grid;gap:1px;
  background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.consult__facts li{background:var(--bg);display:flex;justify-content:space-between;gap:1rem;
  padding:.9rem 1.1rem;font-size:.86rem}
.consult__facts li span:first-child{color:var(--ink-3);font-family:"IBM Plex Mono",monospace;
  font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;align-self:center}
.consult__facts li span:last-child{color:var(--ink);text-align:right;font-variant-numeric:tabular-nums}

.form{background:var(--panel);border:1px solid var(--line);border-radius:18px;
  padding:clamp(1.3rem,2.6vw,2rem);box-shadow:var(--shadow);
  display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.field{display:flex;flex-direction:column;gap:.4rem}
.field--wide{grid-column:1/-1}
.field label{font-family:"IBM Plex Mono",monospace;font-size:.66rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ink-2)}
.field__opt{color:var(--ink-3);text-transform:none;letter-spacing:0}
.field input,.field select,.field textarea{
  font-family:"Sora",sans-serif;font-size:.95rem;color:var(--ink);
  background:var(--field-bg);border:1px solid var(--field-line);border-radius:10px;
  padding:.75em .85em;transition:border-color .25s var(--ease),box-shadow .25s var(--ease);
  width:100%;resize:vertical}
.field select{appearance:none;background-image:
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236b7178' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right .9em center;padding-right:2.2em;cursor:pointer}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;
  border-color:var(--accent-mid);box-shadow:0 0 0 3px var(--accent-soft)}
.field[data-invalid] input,.field[data-invalid] select{border-color:#c0492f}
.field__err{margin:0;font-size:.76rem;color:#c0492f;font-family:"IBM Plex Mono",monospace}
@media (prefers-color-scheme:dark){.field__err,.field[data-invalid] input,.field[data-invalid] select{--e:#e88a72}
  .field__err{color:#e88a72}.field[data-invalid] input,.field[data-invalid] select{border-color:#e88a72}}
.form__foot{grid-column:1/-1;margin-top:.3rem}
.form__fine{font-size:.74rem;color:var(--ink-3);margin-top:.8rem;text-align:center}
.form__success{grid-column:1/-1;background:var(--accent-soft);border:1px solid var(--accent-mid);
  border-radius:10px;padding:1rem 1.1rem;font-size:.9rem;color:var(--accent-ink);
  font-family:"Sora",sans-serif}

/* ============================================================
   FOOTER
   ============================================================ */
.foot{border-top:1px solid var(--line);padding:clamp(2.5rem,6vh,4rem) var(--pad)}
.foot__in{max-width:var(--maxw);margin:0 auto;display:flex;flex-wrap:wrap;
  justify-content:space-between;gap:2rem}
.foot__brand .brand__word{font-size:1.5rem}
.foot__brand p{color:var(--ink-3);font-size:.82rem;margin-top:.5rem}
.foot__meta{text-align:right;color:var(--ink-2);font-size:.84rem;display:grid;gap:.35rem}
.foot__meta a{color:var(--accent-ink);text-decoration:none}
.foot__meta a:hover{text-decoration:underline}
.foot__legal{color:var(--ink-3);font-size:.72rem;max-width:44ch;margin-left:auto;margin-top:.4rem}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:960px){
  .hero__wrap{grid-template-columns:1fr;gap:2.4rem}
  .hero__lede{max-width:none}
  .surgeon,.consult{grid-template-columns:1fr}
  .surgeon__side{position:static}
  .safety__grid{grid-template-columns:repeat(2,1fr)}
  .ledger__row{grid-template-columns:auto 1fr;gap:.6rem 1.4rem}
  .ledger__meta{grid-column:2;display:flex}
  .ledger__go{display:none}
}
@media (max-width:720px){
  .nav__links{display:none}
  .btn--nav{display:none}
  .burger{display:block}
}
@media (max-width:560px){
  .form{grid-template-columns:1fr}
  .cv__row{grid-template-columns:1fr;gap:.3rem}
  .cv__stats{grid-template-columns:1fr}
  .safety__grid{grid-template-columns:1fr}
  .ledger__meta{flex-wrap:wrap;gap:.4rem 1.4rem}
  .foot__in{flex-direction:column}
  .foot__meta{text-align:left}
  .foot__legal{margin-left:0}
  .brand__sub{display:none}
}

/* ============================================================
   REDUCED MOTION — settled, complete
   ============================================================ */
@media (prefers-reduced-motion:reduce){
  *{animation-duration:.001ms!important;animation-iteration-count:1!important;
    transition-duration:.001ms!important;scroll-behavior:auto!important}
  [data-rv]{opacity:1;transform:none}
  .hero__title .line__i{transform:none}
}
html{scroll-behavior:smooth}
