/* ════════════════════════════════════════════════════════════════════
   CardioMetaIQ — website shared styles
   Built on the CardioMetaIQ design system (colors_and_type.css).
   Tone: quiet clinical instrument, editorial restraint, hairlines,
   serif numerals, ONE purple accent used sparingly, 4-stop response band.
   ════════════════════════════════════════════════════════════════════ */
@import url('colors_and_type.css');

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--text);font-family:var(--sans);
  font-size:var(--body-size);line-height:var(--body-line);letter-spacing:var(--body-spacing);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:inherit;text-decoration:none}
img,svg{display:block;max-width:100%}
::selection{background:var(--primary4);color:var(--primary2)}

/* the 4-stop response band — the product's signature, pinned to page top */
.signal-band{height:3px;background:linear-gradient(90deg,#059669 0%,#0891B2 33%,#D97706 66%,#DC2626 100%);
  position:sticky;top:0;z-index:101}

/* ── Nav ── */
.nav{position:sticky;top:3px;z-index:100;background:rgba(247,248,250,.86);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--border);}
.nav-in{max-width:1240px;margin:0 auto;padding:15px 32px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:13px}
.logo{width:34px;height:34px;border-radius:8px;background:linear-gradient(135deg,var(--primary),var(--primary2));
  display:flex;align-items:center;justify-content:center;color:#fff;font-family:var(--serif);font-weight:600;
  font-size:18px;font-style:italic;box-shadow:var(--shadow-primary);flex:none}
.brand-tx{line-height:1.05}
.brand-tx b{font-family:var(--serif);font-weight:600;font-size:18px;color:var(--ink);letter-spacing:-.02em}
.brand-tx small{display:block;font-size:9.5px;color:var(--text3);font-weight:500;margin-top:1px;letter-spacing:.01em}
.nav-links{display:flex;align-items:center;gap:30px}
.nav-links a{font-size:13px;font-weight:500;color:var(--text3);transition:color .15s}
.nav-links a:hover{color:var(--text)}
.nav-links a.on{color:var(--ink);font-weight:600}
.nav-r{display:flex;align-items:center;gap:16px}
.status-pill{display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:600;color:var(--text2);
  background:#fff;border:1px solid var(--border);border-radius:20px;padding:6px 12px;white-space:nowrap}
.status-pill .dot{width:6px;height:6px;border-radius:50%;background:var(--amber)}
.nav-toggle{display:none}

/* ── Buttons ── */
.btn{font-family:var(--sans);font-weight:600;font-size:13px;border-radius:8px;padding:10px 17px;cursor:pointer;
  display:inline-flex;align-items:center;gap:8px;border:1px solid var(--border2);background:#fff;color:var(--text2);
  transition:transform .12s,border-color .15s,background .15s}
.btn:hover{border-color:var(--text4)}
.btn.primary{color:#fff;border:none;background:linear-gradient(135deg,var(--primary),var(--primary2));box-shadow:var(--shadow-primary)}
.btn.primary:hover{transform:translateY(-1px)}
.btn.lg{padding:13px 22px;font-size:14px}
.btn.ghost{background:transparent;border-color:var(--border2);color:var(--text2)}

/* ── Layout primitives ── */
.wrap{max-width:1240px;margin:0 auto;padding:0 32px}
section{padding:86px 0}
.sec-tight{padding:60px 0}
.eyebrow{font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text3)}
.eyebrow.accent{color:var(--primary)}
.kicker-rule{display:inline-flex;align-items:center;gap:11px}
.kicker-rule::before{content:"";width:26px;height:1.5px;background:var(--primary);opacity:.55}
h1.display{font-family:var(--serif);font-weight:500;font-size:60px;line-height:1.02;letter-spacing:-.035em;color:var(--ink)}
h2.head{font-family:var(--serif);font-weight:500;font-size:40px;line-height:1.08;letter-spacing:-.03em;color:var(--ink)}
h3.sub{font-family:var(--serif);font-weight:500;font-size:24px;line-height:1.2;letter-spacing:-.02em;color:var(--ink)}
.serif-em{font-style:italic;color:var(--primary)}
.lede{font-size:17px;line-height:1.62;color:var(--text2);max-width:600px}
.muted{color:var(--text3)}
.mono{font-family:var(--mono);font-size:var(--mono-size);font-weight:500}
.tabular{font-variant-numeric:tabular-nums}
.sec-head{max-width:720px;margin-bottom:40px}
.sec-head h2{margin:14px 0 0}
.sec-head p{margin-top:16px;font-size:16px;line-height:1.6;color:var(--text2)}

/* ── Cards ── */
.card{background:#fff;border:1px solid var(--border);border-radius:var(--r2);box-shadow:var(--shadow-sm)}
.card.pad{padding:24px 26px}
.card-soft{background:var(--bg2);border:1px solid var(--border);border-radius:var(--r2)}
.divider{height:1px;background:var(--border);border:none}
.hairline-top{border-top:1px solid var(--border)}

/* chips & badges */
.chip{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;border-radius:20px;
  padding:5px 11px;background:var(--bg4);color:var(--text3)}
.chip.tx{background:#F2F8F7;color:var(--rx);border:1px solid #D6E7E4}
.chip.pb{background:#FBF3EC;color:var(--pb);border:1px solid #ECD8C8}
.chip.purple{background:var(--primary4);color:var(--primary)}
.badge-soft{display:inline-block;font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.02em;
  color:var(--text3);background:var(--bg4);border:1px solid var(--border);border-radius:6px;padding:3px 8px}

/* response pills */
.rs-pill{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;border-radius:14px;padding:5px 11px;letter-spacing:.02em}
.rs-pill.strong{color:var(--rs-strong);background:var(--green-bg)}
.rs-pill.good{color:var(--rs-good);background:#ECFEFF}
.rs-pill.modest{color:var(--rs-modest);background:var(--amber-bg)}
.rs-pill.limited{color:var(--rs-limited);background:var(--red-bg)}

/* ── Footer ── */
.footer{background:#fff;border-top:1px solid var(--border);padding:54px 0 40px;margin-top:20px}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px}
.footer h5{font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text3);margin-bottom:14px}
.footer ul{list-style:none}
.footer li{margin-bottom:9px}
.footer li a{font-size:13px;color:var(--text2)}
.footer li a:hover{color:var(--ink)}
.footer-refs{font-size:12px;color:var(--text3);line-height:1.7;margin-top:6px}
.footer-refs i{font-style:italic}
.footer-bottom{max-width:1240px;margin:36px auto 0;padding:22px 32px 0;border-top:1px solid var(--border);
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}
.footer-bottom .cp{font-size:12px;color:var(--text3)}
.footer-bottom .cp b{color:var(--text2);font-weight:600}
.footer-bottom .run{font-family:var(--mono);font-size:10.5px;color:var(--text4);letter-spacing:.02em}

/* reveal-on-scroll */
.reveal{opacity:0;transform:translateY(14px);transition:opacity .6s ease-out,transform .6s ease-out}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

/* ── Responsive ── */
@media (max-width:900px){
  .nav-links{display:none}
  h1.display{font-size:42px}
  h2.head{font-size:30px}
  .footer-grid{grid-template-columns:1fr 1fr}
  section{padding:56px 0}
}
