:root{
  --ink:#0E2430; --ink-2:#1B3945; --bone:#F7F5F1; --paper:#FFFFFF;
  --slate:#3A4B51; --mute:#6E8087; --line:#E3DFD8;
  --signal:#BE1E37; --signal-soft:#FCEEEA; --teal:#15736C; --teal-soft:#E5F0EB;
  --vessel:#BCD6D5;
  --display:"Bricolage Grotesque",system-ui,sans-serif;
  --body:"Source Serif 4",Georgia,serif;
  --mono:"IBM Plex Mono",ui-monospace,monospace;
  --wrap:1080px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bone);color:var(--slate);font-family:var(--body);font-size:17px;line-height:1.62;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:var(--display);color:var(--ink);line-height:1.1;margin:0;font-weight:700;letter-spacing:-0.02em}
p{margin:0 0 1em}
a{color:var(--teal)}
:focus-visible{outline:3px solid var(--teal);outline-offset:3px;border-radius:2px}
img{max-width:100%;height:auto}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 22px}
.eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--mute);margin:0 0 14px;display:block}

/* ---------- emergency bar ---------- */
.alarm{position:sticky;top:0;z-index:50;background:var(--signal);color:#fff;font-family:var(--display);font-weight:700;font-size:15px}
.alarm .wrap{display:flex;gap:10px 20px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding-top:10px;padding-bottom:10px}
.alarm a{color:#fff;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.55);padding:6px 14px;border-radius:999px;text-decoration:none;white-space:nowrap;font-family:var(--mono);font-size:13px}
.alarm a:hover{background:#fff;color:var(--signal)}

/* ---------- nav ---------- */
.nav{background:var(--ink);border-bottom:1px solid rgba(228,237,233,.14)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:18px 30px;flex-wrap:wrap;padding-top:16px;padding-bottom:16px}
.brand{text-decoration:none;display:block}
.brand .mark{font-family:var(--display);font-weight:800;color:#fff;font-size:17px;letter-spacing:-0.02em;display:block}
.brand .sub{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#8CA3A6;display:block;margin-top:3px}
.nav ul{list-style:none;display:flex;gap:6px 22px;margin:0;padding:0;flex-wrap:wrap}
.nav a.link{font-family:var(--display);font-weight:700;font-size:15px;color:#C5D6D3;text-decoration:none;padding:4px 0;border-bottom:2px solid transparent}
.nav a.link:hover{color:#fff}
.nav a.link[aria-current="page"]{color:#fff;border-bottom-color:var(--signal)}

/* ---------- hero ---------- */
.hero{background:var(--ink);color:#E4EDE9;position:relative;overflow:hidden}
.hero .wrap{position:relative;z-index:2;padding-top:70px;padding-bottom:62px}
.angio{position:absolute;inset:0;width:100%;height:100%;z-index:1;opacity:.5}
.angio path{fill:none;stroke:var(--vessel);stroke-linecap:round}
.fill{stroke-dasharray:1400;stroke-dashoffset:1400;animation:inject 2.6s cubic-bezier(.3,.7,.3,1) forwards}
.fill.d1{animation-delay:.1s}.fill.d2{animation-delay:.4s}.fill.d3{animation-delay:.7s}.fill.d4{animation-delay:1s}
@keyframes inject{to{stroke-dashoffset:0}}
.hero h1{color:#fff;font-size:clamp(32px,5.8vw,60px);max-width:16ch;font-weight:800;letter-spacing:-0.035em}
.hero h1 em{font-style:normal;color:#FF9C84}
.lede{font-size:clamp(17px,2.2vw,21px);max-width:48ch;color:#C5D6D3;margin-top:22px}
.who{margin-top:36px;padding-top:24px;border-top:1px solid rgba(228,237,233,.22);display:flex;gap:12px 40px;flex-wrap:wrap;align-items:baseline}
.who .name{font-family:var(--display);font-weight:700;color:#fff;font-size:21px}
.who .creds{font-family:var(--mono);font-size:12px;color:#9CB1B1;letter-spacing:.03em;line-height:1.8}
.cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.btn{display:inline-block;text-decoration:none;font-family:var(--display);font-weight:700;font-size:15px;padding:13px 22px;border-radius:4px;border:1px solid transparent}
.btn-red{background:var(--signal);color:#fff}
.btn-red:hover{background:#9E1730}
.btn-ghost{border-color:rgba(228,237,233,.4);color:#E4EDE9}
.btn-ghost:hover{background:rgba(228,237,233,.1)}

/* ---------- page header (inner pages) ---------- */
.pagehead{background:var(--ink);color:#C5D6D3;padding:52px 0 46px}
.pagehead h1{color:#fff;font-size:clamp(28px,4.6vw,46px);max-width:20ch;letter-spacing:-0.03em}
.pagehead .eyebrow{color:#8CA3A6}
.pagehead p{margin-top:18px;max-width:56ch;font-size:18px;color:#C5D6D3}

/* ---------- sections ---------- */
section{padding:70px 0}
section.tight{padding:48px 0}
.band-paper{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.head{max-width:62ch;margin-bottom:38px}
.head h2{font-size:clamp(25px,3.4vw,36px)}
.head p{margin-top:14px;color:var(--mute)}
.prose{max-width:68ch}
.prose h2{font-size:clamp(22px,3vw,30px);margin:38px 0 14px}
.prose h2:first-child{margin-top:0}
.prose h3{font-size:19px;margin:26px 0 8px}
.prose ul{padding-left:20px;margin:0 0 1em}
.prose li{margin-bottom:8px}

/* ---------- lists ---------- */
.cols{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.list{list-style:none;padding:0;margin:0}
.list li{padding:14px 0;border-bottom:1px solid var(--line)}
.list li:first-child{border-top:1px solid var(--line)}
.list b{font-family:var(--display);color:var(--ink);font-weight:700;font-size:17px;display:block;letter-spacing:-0.01em}
.list span{font-size:15px;color:var(--mute)}
.list .yr{display:block;font-family:var(--mono);font-size:12px;letter-spacing:.1em;color:var(--teal);margin-bottom:4px}
.tag{display:inline-block;font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;padding:3px 8px;border-radius:3px;vertical-align:2px;margin-left:8px}
.tag-em{background:var(--signal-soft);color:var(--signal)}

/* ---------- condition cards ---------- */
.cond{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line)}
.cond a{background:var(--paper);padding:26px 24px;text-decoration:none;display:block;color:var(--slate)}
.cond a:hover{background:var(--teal-soft)}
.cond h3{font-size:20px;margin-bottom:10px}
.cond p{font-size:16px;margin:0}
.cond .more{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--teal);display:block;margin-top:12px}

/* ---------- callouts ---------- */
.warn{background:var(--signal-soft);border-left:4px solid var(--signal);padding:18px 20px;margin:30px 0;border-radius:0 4px 4px 0}
.warn b{font-family:var(--display);color:var(--signal);display:block;margin-bottom:4px;font-size:17px}
.warn p{margin:0;font-size:16px}
.note{background:var(--teal-soft);border-left:4px solid var(--teal);padding:18px 20px;margin:30px 0;border-radius:0 4px 4px 0}
.note b{font-family:var(--display);color:var(--teal);display:block;margin-bottom:4px;font-size:17px}
.note p{margin:0;font-size:16px}

/* ---------- portrait ---------- */
.portrait{margin:0 0 24px;max-width:280px}
.portrait img{width:100%;display:block;border-radius:4px;border:1px solid var(--line)}
.portrait figcaption{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--mute);margin-top:10px}

/* ---------- referral ---------- */
.refer{background:var(--ink);color:#D3E0DC}
.refer h2,.refer h3{color:#fff}
.refer .head p{color:#A2B7B8}
.refer .eyebrow{color:#8CA3A6}
.refgrid{display:grid;grid-template-columns:1.15fr .85fr;gap:44px;align-items:start}
.checklist{list-style:none;padding:0;margin:0;counter-reset:c}
.checklist li{padding:12px 0 12px 40px;border-bottom:1px solid rgba(211,224,220,.16);position:relative;font-size:16px}
.checklist li::before{counter-increment:c;content:counter(c,decimal-leading-zero);position:absolute;left:0;top:14px;font-family:var(--mono);font-size:12px;color:#7D9698;letter-spacing:.06em}
.checklist b{color:#fff;font-family:var(--display)}
.checklist a{color:#C5D6D3}
.dialcard{background:var(--ink-2);border:1px solid rgba(211,224,220,.18);padding:26px;border-radius:6px}
.dialcard .lbl{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#8CA3A6;display:block;margin-bottom:6px}
.dialcard .num{font-family:var(--display);font-weight:700;font-size:24px;color:#fff;text-decoration:none;display:block;margin-bottom:20px;letter-spacing:-0.02em}
.dialcard .num:hover{color:#FF9C84}

/* ---------- FAQ ---------- */
details{border-bottom:1px solid var(--line);padding:18px 0}
details:first-of-type{border-top:1px solid var(--line)}
summary{font-family:var(--display);font-weight:700;color:var(--ink);font-size:18px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;align-items:flex-start}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font-family:var(--mono);color:var(--teal);font-size:20px;line-height:1}
details[open] summary::after{content:"\2013"}
details p{margin-top:12px;margin-bottom:0;max-width:70ch}

/* ---------- form ---------- */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 24px}
.field{display:flex;flex-direction:column}
.field.wide{grid-column:1 / -1}
.field label{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);margin-bottom:6px}
.field input,.field select,.field textarea{font-family:var(--body);font-size:16px;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:4px;padding:11px 12px;width:100%}
.field textarea{resize:vertical;min-height:96px;line-height:1.5}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--teal);outline:2px solid var(--teal-soft)}
.req{color:var(--signal)}
.form-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:26px}
.form-actions button{font-family:var(--display);font-weight:700;font-size:15px;padding:13px 22px;border-radius:4px;border:1px solid transparent;cursor:pointer}
.btn-send{background:var(--teal);color:#fff}
.btn-send:hover{background:#0E5C56}
.btn-copy{background:transparent;border-color:var(--line);color:var(--ink)}
.btn-copy:hover{border-color:var(--ink)}
.form-msg{font-size:15px;margin-top:14px;min-height:1.4em}
.form-msg.err{color:var(--signal)}
.form-msg.ok{color:var(--teal)}
.form-note{font-size:14px;color:var(--mute);margin-top:22px;max-width:70ch}

/* ---------- places ---------- */
.places{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:26px}
.place{background:var(--paper);border:1px solid var(--line);padding:24px;border-radius:6px}
.place h3{font-size:19px;margin-bottom:8px}
.place p{font-size:15px;color:var(--mute);margin-bottom:8px}
.hours{display:block;font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--signal);margin-bottom:8px}

/* ---------- next steps + footer ---------- */
.next{background:var(--ink-2);color:#D3E0DC}
.next h2{color:#fff}
.related{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}
.related a{font-family:var(--display);font-weight:700;font-size:14px;text-decoration:none;color:var(--ink);background:var(--paper);border:1px solid var(--line);padding:9px 15px;border-radius:999px}
.related a:hover{border-color:var(--teal);color:var(--teal)}
footer{background:var(--ink);color:#8CA3A6;padding:44px 0;font-size:14px}
footer a{color:#C5D6D3}
footer .mark{font-family:var(--display);font-weight:800;color:#fff;font-size:20px;letter-spacing:-0.02em;display:block}
footer .tagline{font-family:var(--mono);font-size:12px;letter-spacing:.04em;color:#9CB1B1;display:block;margin-top:7px;max-width:52ch;line-height:1.5}
.fmap{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:22px;margin:26px 0;padding:24px 0;border-top:1px solid rgba(211,224,220,.16);border-bottom:1px solid rgba(211,224,220,.16)}
.fmap h4{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#8CA3A6;font-weight:400;margin-bottom:10px}
.fmap ul{list-style:none;margin:0;padding:0}
.fmap li{margin-bottom:7px}
.fmap a{text-decoration:none;font-size:14px}
.fmap a:hover{color:#fff}
.fineprint{max-width:78ch;margin-top:14px;font-size:13px;line-height:1.6}

@media (max-width:820px){
  .cols,.refgrid,.cond{grid-template-columns:1fr}
  .cond{gap:1px}
  .form-grid{grid-template-columns:1fr}
  section{padding:48px 0}
  .hero .wrap{padding-top:44px;padding-bottom:44px}
  .nav ul{gap:6px 16px}
}
@media (prefers-reduced-motion:reduce){
  .fill{animation:none;stroke-dashoffset:0}
  html{scroll-behavior:auto}
}
@media print{
  .alarm,.nav,.angio,.cta-row,.related{display:none}
  body{background:#fff;font-size:12pt}
  .hero,.refer,.pagehead,.next{background:#fff;color:#000}
  .hero h1,.pagehead h1,.refer h2,.dialcard .num{color:#000}
  section{padding:16px 0}
}

/* ---------- clinical figures ---------- */
.fig{margin:32px 0;padding:0}
.figrow{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.fig img{width:100%;display:block;background:#000;border:1px solid var(--line);border-radius:4px}
.fig-single img{max-width:420px}
.fig figcaption{font-size:14px;color:var(--mute);margin-top:12px;line-height:1.55;max-width:68ch}
@media (max-width:640px){ .figrow{grid-template-columns:1fr} }
.figrow-3{grid-template-columns:1fr 1fr 1fr}
@media (max-width:640px){ .figrow-3{grid-template-columns:1fr} }
