/* ============================================================
   Med Frontier — shared design system
   GE-heritage dark editorial: deep navy ground, monumental type,
   hairline rules, light "exhibit" panels — carrying the brand's
   own red (#E62129, sampled from the mark) as the single accent.
   ============================================================ */

:root{
  --bg:#0B1526;
  --bg-raised:#111E33;
  --bg-inset:#0E1A2C;
  --ink:#FFFFFF;
  --ink-soft:#C7D1E0;
  --muted:#8B98AC;
  --accent:#E62129;        /* brand red — fills, white text passes at 4.56:1 */
  --accent-fill:#E62129;
  --accent-deep:#B81620;   /* accent text on light exhibit panels — 5.98:1 */
  --accent-text:#FF5A52;   /* accent text on dark — 5.84:1 */
  --rule:rgba(255,255,255,.12);
  --rule-soft:rgba(255,255,255,.07);
  --exhibit-bg:#F4F6F9;
  --exhibit-ink:#15181C;
  --exhibit-muted:#5B6470;
  --sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  --display:"Inter Tight","Inter",-apple-system,sans-serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --maxw:1200px;
  color-scheme:dark;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;background-color:var(--bg);scroll-behavior:smooth}
body{
  margin:0;background:var(--bg);color:var(--ink-soft);
  font-family:var(--sans);font-size:17px;line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px}
@media (max-width:640px){.wrap{padding:0 20px}body{font-size:16px}}

h1,h2,h3,h4{font-family:var(--display);color:var(--ink);font-weight:700;line-height:1.08;letter-spacing:-.02em;margin:0}
p{margin:0 0 1.05em}
a{color:var(--accent-text);text-underline-offset:3px}
strong{color:var(--ink);font-weight:600}
:focus-visible{outline:2px solid var(--accent-text);outline-offset:3px;border-radius:2px}
::selection{background:var(--accent-fill);color:#fff}

/* ---------- header ---------- */
header.site{
  position:sticky;top:0;z-index:40;border-bottom:1px solid var(--rule);
  background:rgba(11,21,38,.88);backdrop-filter:saturate(1.3) blur(12px);
}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;height:72px}
.brand{display:flex;align-items:center;text-decoration:none}
.brand img{height:30px;width:auto;display:block}
@media (max-width:520px){ .brand img{height:24px} }
nav.primary{display:flex;align-items:center;gap:26px;font-size:14.5px}
nav.primary a{color:var(--ink-soft);text-decoration:none}
nav.primary a:hover{color:var(--ink)}
nav.primary a[aria-current="page"]{color:var(--ink);border-bottom:2px solid var(--accent);padding-bottom:2px}
.nav-contact{
  border:1px solid var(--accent-text);color:var(--accent-text)!important;
  padding:8px 16px;border-radius:3px;font-weight:600;
}
.nav-contact:hover{background:var(--accent-fill);border-color:var(--accent-fill);color:#fff!important}
/* mobile nav: CSS-only */
.nav-toggle{display:none}
.nav-burger{display:none;color:var(--ink);font-size:26px;line-height:1;cursor:pointer;user-select:none;padding:4px 8px}
@media (max-width:840px){
  nav.primary{
    display:none;position:absolute;top:68px;left:0;right:0;flex-direction:column;
    gap:0;background:var(--bg-raised);border-bottom:1px solid var(--rule);padding:8px 0 16px;
  }
  nav.primary a{padding:12px 28px;width:100%}
  .nav-contact{margin:10px 28px 0;width:auto;text-align:center}
  .nav-burger{display:block}
  .nav-toggle:checked ~ nav.primary{display:flex}
}

/* ---------- hero ---------- */
.hero{padding:clamp(80px,12vw,150px) 0 clamp(64px,9vw,110px);border-bottom:1px solid var(--rule)}
.eyebrow{
  font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;
  color:var(--accent-text);margin:0 0 24px;
}
.eyebrow.quiet{color:var(--muted)}
.hero h1{font-size:clamp(44px,7vw,88px);font-weight:800;max-width:16ch}
.hero .lede{font-size:clamp(18px,2.2vw,22px);color:var(--ink-soft);max-width:58ch;margin-top:28px;line-height:1.6}
.hero .lede strong{color:var(--ink)}

/* ---------- sections ---------- */
section{padding:clamp(72px,10vw,128px) 0;border-bottom:1px solid var(--rule)}
section.inset{background:var(--bg-inset)}
.sec-label{font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--muted);margin:0 0 18px}
h2{font-size:clamp(30px,4vw,48px);max-width:22ch;margin-bottom:22px}
.sec-intro{font-size:18px;color:var(--ink-soft);max-width:62ch}

/* ---------- anchor numbers (GE year treatment) ---------- */
.anchor-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:2px;background:var(--rule-soft);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.anchor-num{background:var(--bg);padding:38px 30px}
.anchor-num .n{
  font-family:var(--display);font-weight:800;letter-spacing:-.03em;line-height:1;
  font-size:clamp(44px,5.4vw,72px);color:var(--ink);display:block;
}
.anchor-num.accent .n{color:var(--accent-text)}
.anchor-num.reg .n{font-size:clamp(32px,3.2vw,44px);padding-top:12px}
.anchor-num small{display:block;margin-top:12px;font-size:13.5px;color:var(--muted);line-height:1.5;max-width:26ch}
.anchor-hero .n{font-size:clamp(64px,10vw,120px)}

/* ---------- doors (two business lines / two buyers) ---------- */
.doors{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:48px}
@media (max-width:840px){.doors{grid-template-columns:1fr}}
.door{
  background:var(--bg-raised);border:1px solid var(--rule);border-radius:4px;
  padding:34px 30px;display:flex;flex-direction:column;
}
.door .door-tag{font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--accent-text);margin-bottom:14px}
.door h3{font-size:23px;margin-bottom:12px}
.door p{font-size:15.5px;color:var(--ink-soft);margin-bottom:18px}
.door ul{margin:0 0 22px;padding:0;list-style:none;font-size:14.5px;color:var(--ink-soft)}
.door ul li{padding-left:18px;position:relative;margin-bottom:8px}
.door ul li::before{content:"";position:absolute;left:0;top:.65em;width:7px;height:1px;background:var(--accent-text)}
.door .door-go{margin-top:auto;font-weight:600;font-size:15px;text-decoration:none}
.door .door-go:hover{text-decoration:underline}

/* ---------- steps timeline ---------- */
.steps{margin-top:48px;border-left:2px solid var(--rule);padding-left:0;list-style:none}
.step{position:relative;padding:0 0 40px 36px}
.step:last-child{padding-bottom:0}
.step::before{
  content:"";position:absolute;left:-6px;top:8px;width:10px;height:10px;border-radius:50%;
  background:var(--bg);border:2px solid var(--accent-text);
}
.step.hot::before{background:var(--accent);border-color:var(--accent)}
.step .step-num{
  font-family:var(--display);font-weight:800;font-size:15px;color:var(--accent-text);
  letter-spacing:.06em;display:block;margin-bottom:6px;
}
.step h4{font-size:19px;margin-bottom:8px;color:var(--ink)}
.step p{font-size:15.5px;color:var(--ink-soft);margin:0;max-width:66ch}

/* 1-2-3 horizontal variant (Radiologx) */
.steps-3{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;margin-top:52px}
@media (max-width:840px){.steps-3{grid-template-columns:1fr}}
.step3{text-align:center;padding:0 8px}
.step3 .ball{
  width:74px;height:74px;border-radius:50%;margin:0 auto 22px;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--display);font-size:26px;font-weight:800;
  color:var(--accent-text);border:2px solid var(--rule);background:var(--bg-raised);
}
.step3.hot .ball{background:var(--accent-fill);border-color:var(--accent-fill);color:#fff}
.step3 h4{font-size:21px;margin-bottom:10px}
.step3.hot h4{color:var(--accent-text)}
.step3 p{font-size:15px;color:var(--ink-soft)}

/* ---------- cards (deliverables / status quo) ---------- */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-top:46px;background:var(--rule-soft);border:1px solid var(--rule);border-radius:4px;overflow:hidden}
@media (max-width:860px){.cards{grid-template-columns:1fr}}
.card{background:var(--bg-raised);padding:32px 28px}
.card .num{font-family:var(--display);font-size:30px;font-weight:800;color:var(--accent-text);display:block;margin-bottom:16px;letter-spacing:-.02em}
.card h3{font-size:19px;margin-bottom:11px}
.card p{font-size:15px;color:var(--ink-soft);margin:0}

/* ---------- proof component ---------- */
.proof{
  display:grid;grid-template-columns:auto 1fr;gap:48px;align-items:start;
  background:var(--bg-raised);border:1px solid var(--rule);border-radius:4px;
  padding:44px 40px;margin-top:48px;
}
@media (max-width:820px){.proof{grid-template-columns:1fr;gap:26px;padding:30px 24px}}
.proof .stat{
  font-family:var(--display);font-weight:800;letter-spacing:-.03em;line-height:.95;
  font-size:clamp(56px,9vw,104px);color:var(--accent-text);white-space:nowrap;
}
.proof .stat small{
  display:block;font-family:var(--sans);font-weight:500;letter-spacing:0;
  font-size:13.5px;color:var(--muted);margin-top:14px;line-height:1.55;
  white-space:normal;max-width:26ch;
}
.proof .proof-body p{font-size:16.5px;color:var(--ink-soft)}
.proof-table{width:100%;border-collapse:collapse;margin:18px 0 6px;font-size:14px}
.proof-table th{
  text-align:left;font-family:var(--sans);font-size:11px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--muted);font-weight:600;
  padding:0 14px 10px 0;border-bottom:1px solid var(--rule);
}
.proof-table td{
  padding:10px 14px 10px 0;border-bottom:1px solid var(--rule-soft);
  color:var(--ink-soft);vertical-align:top;
}
.proof-table td.mono{font-family:var(--mono);font-size:13.5px;color:var(--ink);white-space:nowrap}

/* ---------- rule-box (checkable commitments) ---------- */
.rule-box{border-left:3px solid var(--accent);padding:6px 0 6px 22px;margin:30px 0 0}
.rule-box p{margin:0;font-size:16px;color:var(--ink)}

/* ---------- honest block ---------- */
.honest{
  background:var(--bg-raised);border:1px solid var(--rule);border-left:3px solid var(--ink);
  border-radius:4px;padding:42px 38px;margin-top:46px;
}
@media (max-width:640px){.honest{padding:28px 22px}}
.honest h3{font-size:22px;margin-bottom:10px}
.honest > p{font-size:15.5px;color:var(--ink-soft);max-width:64ch}
.honest dl{margin:28px 0 0;display:grid;gap:22px}
.honest dt{font-family:var(--display);font-size:16.5px;font-weight:700;color:var(--ink);margin-bottom:5px}
.honest dd{margin:0;font-size:15px;color:var(--ink-soft);max-width:70ch}

/* ---------- exhibit (light panel on dark, GE style) ---------- */
.exhibit{
  background:var(--exhibit-bg);color:var(--exhibit-ink);border-radius:3px;
  padding:34px 32px;margin-top:44px;box-shadow:0 24px 60px rgba(0,0,0,.35);
}
.exhibit,.exhibit h3,.exhibit h4{color:var(--exhibit-ink)}
.exhibit h4{font-size:17px;margin-bottom:14px}
.exhibit p,.exhibit li{color:var(--exhibit-muted);font-size:14.5px}
.exhibit .doc-line{display:flex;gap:14px;padding:9px 0;border-bottom:1px solid rgba(21,24,28,.09);font-size:14px}
.exhibit .doc-line:last-child{border-bottom:0}
.exhibit .doc-line .k{font-family:var(--mono);font-size:12.5px;color:#9AA3AE;white-space:nowrap;padding-top:1px}
.exhibit .doc-line .v{color:#2A3138}
.exhibit .tagline{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#9AA3AE;font-weight:600;margin-bottom:16px}
/* mock UI rows for Radiologx exhibit */
.exhibit .ui-row{height:9px;border-radius:99px;background:rgba(21,24,28,.08);margin:10px 0}
.exhibit .ui-row.hot{background:rgba(230,33,41,.32);width:62%}
.exhibit .ui-meta{display:flex;justify-content:space-between;align-items:center;padding-top:14px;font-size:12px}
.exhibit .ui-meta .l{color:var(--accent-deep);font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.exhibit .ui-meta .r{color:var(--exhibit-muted)}

/* ---------- term (inline definition) ---------- */
.term{border-bottom:1px dotted var(--muted);cursor:help;color:var(--ink)}

/* ---------- split ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;margin-top:44px}
@media (max-width:860px){.split{grid-template-columns:1fr;gap:36px}}
.split h3{font-size:21px;margin-bottom:12px}
.split p{font-size:15.5px;color:var(--ink-soft)}

/* ---------- evidence list ---------- */
.evidence-list{margin-top:42px;display:grid;gap:2px;background:var(--rule-soft);border:1px solid var(--rule);border-radius:4px;overflow:hidden}
.ev{background:var(--bg-raised);padding:28px 30px;display:grid;grid-template-columns:210px 1fr;gap:30px}
@media (max-width:760px){.ev{grid-template-columns:1fr;gap:8px;padding:22px}}
.ev .k{font-family:var(--display);font-size:16.5px;font-weight:700;color:var(--ink)}
.ev .v{font-size:15px;color:var(--ink-soft)}

/* ---------- band (cross-link, no dead ends) ---------- */
.band{border-bottom:1px solid var(--rule)}
.band .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px;padding-top:34px;padding-bottom:34px}
.band .band-label{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:600}
.band a{font-family:var(--display);font-weight:700;font-size:clamp(18px,2.4vw,24px);color:var(--ink);text-decoration:none}
.band a:hover{color:var(--accent-text)}
.band a::after{content:" →"}

/* ---------- cta ---------- */
.cta-sec{padding:clamp(72px,10vw,120px) 0}
.btn{
  display:inline-block;background:var(--accent-fill);color:#fff;text-decoration:none;
  padding:15px 28px;border-radius:3px;font-size:15px;font-weight:600;margin-top:16px;
}
.btn:hover{background:#C2141B}
.btn.ghost{background:transparent;border:1px solid var(--accent-text);color:var(--accent-text)}
.btn.ghost:hover{background:var(--accent-fill);border-color:var(--accent-fill);color:#fff}
.cta-mail{font-size:14.5px;color:var(--muted);margin-top:14px}
.cta-mail a{color:var(--accent-text)}
.note{font-size:13.5px;color:var(--muted);margin-top:24px;max-width:58ch}

/* ---------- footer ---------- */
footer.site{padding:44px 0 60px;font-size:13.5px;color:var(--muted)}
footer.site .foot-mark{height:44px;width:auto;display:block;margin-bottom:18px;opacity:.9}
footer.site .cols{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:36px}
@media (max-width:760px){footer.site .cols{grid-template-columns:1fr;gap:26px}}
footer.site b{display:block;color:var(--ink-soft);font-weight:600;margin-bottom:9px;font-size:13.5px}
footer.site a{color:var(--muted)}
footer.site a:hover{color:var(--ink-soft)}
.legal{margin-top:34px;padding-top:22px;border-top:1px solid var(--rule-soft);font-size:12.5px;line-height:1.7}

/* ---------- coverage spec grid ---------- */
.spec{margin-top:44px;border-top:1px solid var(--rule)}
.spec-row{display:grid;grid-template-columns:230px 1fr;gap:32px;padding:24px 0;border-bottom:1px solid var(--rule-soft)}
@media (max-width:760px){.spec-row{grid-template-columns:1fr;gap:8px;padding:20px 0}}
.spec-row dt{
  font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;
  color:var(--accent-text);margin:0;padding-top:3px;
}
.spec-row dd{margin:0;font-size:16px;color:var(--ink-soft)}
.spec-row dd .items{display:flex;flex-wrap:wrap;gap:8px}
.spec-row dd .items span{
  border:1px solid var(--rule);border-radius:2px;padding:5px 12px;
  font-size:14.5px;color:var(--ink-soft);white-space:nowrap;
}
.spec-row dd em{color:var(--muted);font-style:normal;font-size:14.5px;display:block;margin-top:8px}

/* ---------- pain-point openers ---------- */
.asks{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:8px}
@media (max-width:840px){.asks{grid-template-columns:1fr;gap:14px}}
.asks p{
  font-family:var(--display);font-size:clamp(20px,2.5vw,27px);font-weight:700;
  color:var(--ink);line-height:1.25;letter-spacing:-.015em;margin:0;
  border-left:3px solid var(--accent);padding-left:20px;
}

/* ---------- visual (generated exhibit imagery) ---------- */
.visual{margin:0;padding:clamp(40px,6vw,64px) 0 0}
.visual img{width:100%;height:auto;display:block;border:1px solid var(--rule);border-radius:4px}
.visual figcaption{font-size:12.5px;color:var(--muted);margin-top:14px;line-height:1.6;max-width:78ch}
.visual figcaption a{color:var(--muted);text-decoration:underline}
.visual figcaption a:hover{color:var(--ink-soft)}
.visual--sm{max-width:386px}
.visual--sm figcaption{max-width:none}

/* ---------- misc ---------- */
.hr-quiet{border:0;border-top:1px solid var(--rule);margin:0}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
