/* Eternity Health shared brand layer.
   Source of truth: /home/home.css (plum, copper, gold, pale plum; Instrument Serif + Plus Jakarta Sans).
   Loaded LAST in each page head so it remaps page tokens without touching markup, IDs or scripts.
   Clinical semantics (--good / --warn / --bad / --weakest / --green / --red) are intentionally NOT remapped. */
@import url("https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap");

:root{
  --eh-plum:#620065;--eh-plum-d:#470049;--eh-plum-dd:#2B1F2D;
  --eh-copper:#C0583A;--eh-copper-d:#a2462b;--eh-gold:#F3CC66;--eh-gold-ink:#8a6410;
  --eh-pale:#F8F3F7;--eh-pale-2:#EFE4EC;--eh-mauve:#D9B3D2;--eh-card:#FFFCFD;
  --eh-ink:#2B1F2D;--eh-ink-soft:#5E4E60;--eh-ink-faint:#8C7A8D;--eh-line:#E4D5E0;--eh-line-2:#D6C2D1;
  --eh-serif:"Instrument Serif",Georgia,serif;
  --eh-sans:"Plus Jakarta Sans",system-ui,sans-serif;
  --eh-mono:ui-monospace,"SFMono-Regular",Menlo,monospace;
  --eh-ease:cubic-bezier(.2,.7,.2,1);
  --eh-shadow:0 30px 60px -44px rgba(98,0,101,.45);

  /* digital-twin / patient-report / user-guide tokens */
  --bg:var(--eh-pale);--bg2:var(--eh-card);--panel:var(--eh-card);--panel2:#FBF6FA;
  --ink:var(--eh-ink);--mut:var(--eh-ink-soft);--muted:var(--eh-ink-soft);--faint:var(--eh-ink-faint);
  --line:var(--eh-line);--line2:var(--eh-line-2);--line-faint:#EFE4EC;
  --teal:var(--eh-plum);--cyan:var(--eh-copper);--violet:var(--eh-plum-d);
  --blue:var(--eh-plum);--blued:var(--eh-plum-d);

  /* platform / template tokens */
  --abyss:#1E1520;--deep:var(--eh-plum-dd);--deep2:#3A2A3C;--navy:var(--eh-plum-dd);--navy2:#1E1520;
  --teal-d:var(--eh-plum-d);--mint:var(--eh-mauve);--mint-l:#EBD3E6;
  --gold-soft:#F7D985;--porcelain:var(--eh-pale);--porcelain-2:var(--eh-pale-2);--paper:var(--eh-pale);
  --card:var(--eh-card);--ink2:var(--eh-ink);--inkmut:var(--eh-ink-soft);
  --ink-soft:var(--eh-ink-soft);--ink-faint:var(--eh-ink-faint);
  --on-dark:var(--eh-pale);--on-dark-soft:rgba(248,243,247,.78);--on-dark-faint:rgba(248,243,247,.55);
  --line-d:rgba(248,243,247,.14);--line-l:var(--eh-line);
  --brand:var(--eh-gold);--brand2:var(--eh-gold);
  --display:var(--eh-serif);--body:var(--eh-sans);
}

html{scroll-behavior:smooth}
body{font-family:var(--eh-sans);color:var(--eh-ink);-webkit-font-smoothing:antialiased;
  background:radial-gradient(900px 520px at 88% -8%,rgba(217,179,210,.42),transparent 65%),var(--eh-pale)}
a{color:var(--eh-plum)}
:focus-visible{outline:3px solid var(--eh-copper);outline-offset:3px}
::selection{background:var(--eh-mauve);color:var(--eh-plum-dd)}
h1{font-family:var(--eh-serif);font-weight:400;letter-spacing:-.01em;color:var(--eh-plum)}
h1 em,h2 em{color:var(--eh-copper);font-style:italic}

/* real logo */
.eh-logo{height:46px;width:auto;display:block;flex:none}
.eh-logo-sm{height:38px}

/* page arrival: restrained, opacity/transform only */
@keyframes eh-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
body>*{animation:eh-in .45s var(--eh-ease) both}
@media (prefers-reduced-motion:reduce){body>*{animation:none}html{scroll-behavior:auto}}

/* ================= Digital Twin / patient-report / user-guide ================= */
.eh-twin .logo .t{font-family:var(--eh-serif);font-weight:400;font-size:22px;letter-spacing:0;color:var(--eh-plum)}
.eh-twin .logo .t b{background:none;-webkit-background-clip:initial;background-clip:initial;color:var(--eh-copper);font-weight:400}
.eh-twin .logo .s{color:var(--eh-copper);font-weight:700;letter-spacing:.22em;font-size:10.5px}
.eh-twin .welcome-title{font-family:var(--eh-serif);font-weight:400;color:var(--eh-plum);font-size:clamp(28px,3.4vw,44px);letter-spacing:-.01em}
.eh-twin .goalpill{background:var(--eh-card);border-color:var(--eh-line)}
.eh-twin .goalpill b{color:var(--eh-plum)}
.eh-twin h2.h{font-family:var(--eh-sans);color:var(--eh-plum);font-weight:800;letter-spacing:.16em;font-size:12.5px}
.eh-twin .hint{color:var(--eh-ink-soft)}
.eh-twin section.card{background:var(--eh-card);border-color:var(--eh-line);box-shadow:var(--eh-shadow)}
.eh-twin .stp{background:var(--eh-card);border-color:var(--eh-line)}
.eh-twin .stp .n{color:var(--eh-copper);font-weight:700}
.eh-twin .stp.active{border-color:var(--eh-plum);box-shadow:0 0 0 1px var(--eh-plum),0 14px 30px -18px rgba(98,0,101,.6)}
.eh-twin .stp.done{border-color:var(--eh-mauve)}
.eh-twin .stp.done .n{color:var(--eh-plum)}
.eh-twin .pcard.sel{border-color:var(--eh-plum);box-shadow:0 0 0 1px var(--eh-plum),0 16px 30px -22px rgba(98,0,101,.6)}
.eh-twin .pcard:hover{border-color:var(--eh-mauve)}
.eh-twin .proof-tag{background:var(--eh-pale-2);border-color:var(--eh-mauve);color:var(--eh-plum)}
.eh-twin .src.clickable:hover{border-color:var(--eh-copper);box-shadow:0 0 0 1px var(--eh-copper) inset}

.eh-twin .btn{font-family:var(--eh-sans);border-radius:999px;background:var(--eh-card);border-color:var(--eh-line-2);color:var(--eh-plum);transition:transform .2s var(--eh-ease),background-color .2s,border-color .2s,color .2s}
.eh-twin .btn:hover{border-color:var(--eh-plum)}
.eh-twin .btn.primary,.eh-twin .ai-aud-btn.active,.eh-twin .actions button{background:var(--eh-plum);color:var(--eh-pale);border:1px solid var(--eh-plum);box-shadow:0 10px 24px -14px rgba(98,0,101,.7)}
.eh-twin .btn.primary:hover{background:var(--eh-plum-d);filter:none;transform:translateY(-1px)}
.eh-twin .btn:disabled{transform:none}
.eh-twin .appt-cta{border-radius:999px}

.eh-twin .cat .ch{background:linear-gradient(90deg,var(--eh-pale-2),transparent)}
.eh-twin .cat .ch .cn,.eh-twin .exp .ttl,.eh-twin .report-section>summary,.eh-twin .report-id .who,.eh-twin .history-panel h3,.eh-twin .summary-cell b{color:var(--eh-plum)}
.eh-twin .report-section>summary::after,.eh-twin .cmp-summary-arrow{color:var(--eh-copper)}
.eh-twin .report-section>summary:focus-visible{outline-color:var(--eh-copper)}
.eh-twin .kv .meas{color:var(--eh-plum)}
.eh-twin .kpi{background:#FBF6FA;border-color:var(--eh-line)}
.eh-twin .kpi .k{color:var(--eh-ink-soft);font-weight:700}
.eh-twin .kpi .v{font-variant-numeric:tabular-nums}
.eh-twin .plan{border-color:var(--eh-mauve);background:linear-gradient(180deg,#FBF1F8,var(--eh-card))}
.eh-twin .plan .ph,.eh-twin .plan .h{color:var(--eh-plum)}
.eh-twin .plan .one-plan-timeline>li{border-color:rgba(98,0,101,.16)}
.eh-twin .plan-parallel,.eh-twin .twin-summary{border-color:var(--eh-mauve)}
.eh-twin .twin-summary{background:linear-gradient(135deg,#FFF6F6,var(--eh-card))}
.eh-twin .adherence-panel{border-color:var(--eh-mauve);background:linear-gradient(180deg,#FBF1F8,var(--eh-card))}
.eh-twin .adherence-panel h2{color:var(--eh-plum)}
.eh-twin .adherence-result-card{background:var(--eh-card);border-color:var(--eh-line)}
.eh-twin .adherence-delta{background:var(--eh-pale-2);border-color:var(--eh-mauve)}
.eh-twin .adherence-check input,.eh-twin .ai-consent input{accent-color:var(--eh-plum)}
.eh-twin .safety-notice{border-left-color:var(--eh-copper);background:#FBEFE9}
.eh-twin .coverage-help summary{border-color:var(--eh-copper);color:var(--eh-copper)}
.eh-twin .pdf-viewer{background:var(--eh-pale)}
.eh-twin .cmp-twin{border-left-color:var(--eh-plum)}
.eh-twin .cmp-tw-hl,.eh-twin .cmp-col.twin .cmp-head{color:var(--eh-plum)}
.eh-twin .cmp-patient-title{background:linear-gradient(90deg,var(--eh-pale-2),transparent)}
.eh-twin .ai-sample{background:var(--eh-pale);border-color:var(--eh-line-2);color:var(--eh-plum)}
.eh-twin .ai-sample:hover{background:var(--eh-pale-2);border-color:var(--eh-mauve)}
.eh-twin .ai-msg.user{background:var(--eh-pale-2);border-color:var(--eh-mauve);color:var(--eh-plum-dd)}
.eh-twin .ai-msg.bot{background:#FBF6FA}
.eh-twin #aiCoachQuestion:focus,.eh-twin .history-grid input:focus,.eh-twin .adherence-controls input:focus{outline:none;border-color:var(--eh-plum)}
.eh-twin .fseg.many{background:linear-gradient(180deg,#F3EEF5,#FAF7FB)}
.eh-twin .fseg.few{background:linear-gradient(180deg,#FBEDE6,#FDF7F3)}
.eh-twin .fseg.few .fv{color:var(--eh-copper-d)}
.eh-twin .build-steps .bs.on .bi{border-color:var(--eh-plum);color:var(--eh-plum)}
/* Simulation theatre stays dark: brand plum night, data bars keep semantic colours */
.eh-twin .theatre{background:linear-gradient(180deg,#2B1F2D,#1E1520);border-color:#3A2A3C}
.eh-twin .agebig{background:linear-gradient(90deg,var(--eh-gold),#F7D985);-webkit-background-clip:text;background-clip:text;color:transparent}
.eh-twin .track{background:#3A2A3C}
.eh-twin .track i{background:linear-gradient(90deg,var(--eh-copper),var(--eh-gold))}
.eh-twin .sb .sbt{background:#3A2A3C}
.eh-twin .sb .sbn{color:#E2D3DF}
.eh-twin .foot{border-top-color:var(--eh-line);color:var(--eh-ink-faint)}
.eh-twin table th{color:var(--eh-ink-soft)}

/* ================= comparison.html ================= */
.brand b{color:var(--eh-copper)}
.shell.nav .brand,.brand-name{font-family:var(--eh-serif);font-weight:400;color:var(--eh-plum)}

/* ================= platform.html (dark surfaces become plum-dd, like homepage dark sections) ================= */
#site-header .brand-name,.brand-name{color:var(--eh-pale)}
.brand-name .dotai,.dotai{color:var(--eh-gold)}
#site-header .nav-links a:not(.btn){font-family:var(--eh-sans);letter-spacing:.04em;text-transform:none;font-size:.88rem;color:rgba(248,243,247,.8)}
#site-header .nav-links a:not(.btn):hover{color:var(--eh-gold)}

/* ================= standalone reports (twin-patient-report / twin-physician-report) ================= */
.actions a{color:var(--eh-plum);border-color:var(--eh-line-2)!important;border-radius:999px!important}
.actions button{border-radius:999px!important}
.page{box-shadow:0 2px 20px rgba(98,0,101,.12)}

/* ================= program purchase (minimal shell) ================= */
body.eh-shell main{border-color:var(--eh-line);background:var(--eh-card);box-shadow:var(--eh-shadow)}
body.eh-shell h1{font-size:2.6rem;line-height:1.05}
body.eh-shell button{font:600 1rem var(--eh-sans);background:var(--eh-plum);color:var(--eh-pale);border:0;border-radius:999px;padding:13px 24px}
body.eh-shell button:hover{background:var(--eh-plum-d)}

/* ================= print: legibility over brand ================= */
@media print{
  body{background:#fff!important;color:#1a141b}
  body>*{animation:none!important}
  .card,section.card,.page{box-shadow:none!important}
  .theatre{background:#fff!important;color:#1a141b!important}
  .agebig{-webkit-text-fill-color:var(--eh-plum);color:var(--eh-plum)}
}
.brand-logo-img{background:var(--eh-pale);border-radius:12px;padding:4px 8px;height:44px;box-sizing:content-box}

/* ===== pass 2: hard-coded BRAND blues/teals (data/risk colours untouched) ===== */
.eh-twin{background:radial-gradient(1000px 560px at 85% -12%,rgba(217,179,210,.5),transparent 65%),radial-gradient(760px 420px at -8% 6%,rgba(243,204,102,.16),transparent 70%),var(--eh-pale)}
.eh-twin .eh-wordmark{font-family:var(--eh-serif);font-size:22px;color:var(--eh-plum)}
.eh-twin .eh-wordmark span{color:var(--eh-copper)}
.eh-twin .mark{background:var(--eh-plum);box-shadow:none}
/* sign-up gate */
.eh-twin .modal{background:var(--eh-card);border-color:var(--eh-line);box-shadow:0 40px 90px -40px rgba(43,31,45,.6)}
.eh-twin .modal h2{font-family:var(--eh-serif);font-weight:400;font-size:30px;color:var(--eh-plum);letter-spacing:0}
.eh-twin .modal .mlogo .eh-logo{height:42px}
.eh-twin .modal .mbtn{background:var(--eh-plum);color:var(--eh-pale);border-radius:999px}
.eh-twin .modal .mbtn:hover{background:var(--eh-plum-d);filter:none}
.eh-twin .modal .mbtn.ghost{background:transparent;color:var(--eh-plum)}
.eh-twin .modal input:focus,.eh-twin .modal select:focus,.eh-twin .modal textarea:focus{border-color:var(--eh-plum);box-shadow:0 0 0 3px rgba(98,0,101,.12)}
.eh-twin .modal .roleopts label:hover{border-color:var(--eh-mauve)}
.eh-twin .modal .roleopts label:has(input:checked){border-color:var(--eh-plum);background:var(--eh-pale-2);box-shadow:0 0 0 2px rgba(98,0,101,.14)}
.eh-twin .modal .roleopts input:checked+span{color:var(--eh-plum)}
.eh-twin .modal .ilist li b{color:var(--eh-plum)}
.eh-twin .modal .ilist .ist{background:var(--eh-plum)}
/* chips, headings, controls */
.eh-twin .proof-tag,.eh-twin .upfiles .uf,.eh-twin .cov-chip,.eh-twin .fmtline code{background:var(--eh-pale-2);border-color:var(--eh-mauve);color:var(--eh-plum)}
.eh-twin .dial-status,.eh-twin .modecard .mt,.eh-twin .reqbox h3,.eh-twin .report-tools h2,.eh-twin .report-tool-group h3,.eh-twin .bandh{color:var(--eh-plum)}
.eh-twin .report-tools h2{font-family:var(--eh-serif);font-weight:400;font-size:26px;letter-spacing:0}
.eh-twin .drop.over{background:var(--eh-pale-2);border-color:var(--eh-copper)}
.eh-twin .seg button.on{background:var(--eh-plum);color:var(--eh-pale)}
.eh-twin .history-panel{background:#FBF6FA}
.eh-twin .coverage-help summary:focus-visible{outline-color:var(--eh-copper)}
.eh-twin .appt-cta{background:var(--eh-gold);color:var(--eh-plum-dd)}
.eh-twin .appt-cta:hover{background:#F7D985}
.eh-twin .appt-cta.secondary{background:var(--eh-card);color:var(--eh-plum);border:1px solid var(--eh-line-2)}

/* comparison.html */
.eh-cmp header{background:rgba(248,243,247,.92)}
.eh-cmp .brand{color:var(--eh-plum);font-family:var(--eh-serif);font-weight:400;font-size:22px;letter-spacing:0}
.eh-cmp .navlink{background:var(--eh-card);border-color:var(--eh-line);border-radius:999px;color:var(--eh-ink-soft)}
.eh-cmp .navlink:hover{border-color:var(--eh-plum);color:var(--eh-plum)}
.eh-cmp .navlink.active{background:var(--eh-pale-2);border-color:var(--eh-mauve);color:var(--eh-plum)}
.eh-cmp .navlink.primary,.eh-cmp .back{background:var(--eh-plum);color:var(--eh-pale);border-radius:999px;border-color:transparent}
.eh-cmp .navlink.primary:hover,.eh-cmp .back:hover{background:var(--eh-plum-d)}
.eh-cmp .eyebrow{color:var(--eh-copper);letter-spacing:.22em}
.eh-cmp h1{letter-spacing:-.01em}
.eh-cmp th{background:var(--eh-pale-2);color:var(--eh-plum)}
.eh-cmp td{border-top-color:var(--eh-line)}
.eh-cmp table{background:var(--eh-card)}
.eh-cmp .twin{border-left-color:var(--eh-mauve)}
.eh-cmp .highlight{color:var(--eh-plum)}

/* patient-data-template */
header.hero{background:var(--eh-plum-dd)!important}
