
/* GenomHealth — Light Biotech Template (No Blue) */
:root{
  --bg:#ffffff;
  --bg-soft:#f6f7f6;
  --surface:#ffffff;
  --surface-2:#fbfbfa;
  --border:#e6e7e6;
  --text:#111827;
  --muted:#4b5563;
  --muted-2:#6b7280;

  /* Accent palette (teal + sage + warm coral) — intentionally no blue */
  --accent:#0f766e;     /* teal 700 */
  --accent-2:#10b981;   /* emerald 500 */
  --accent-3:#f97316;   /* orange 500 (CTA highlight) */
  --accent-soft:#e7f7f4;
  --shadow: 0 16px 40px rgba(17,24,39,.08);
  --shadow-sm: 0 8px 18px rgba(17,24,39,.07);
  --radius: 18px;
  --radius-sm: 14px;
  --max: 1160px;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;line-height:1.55}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;height:auto}
.container{max-width:var(--max);margin:0 auto;padding:0 20px}
.small{font-size:.92rem;color:var(--muted-2)}
.kicker{letter-spacing:.12em;text-transform:uppercase;color:var(--accent);font-weight:700;font-size:.82rem}
.h1{font-family:"DM Serif Display", ui-serif, Georgia, serif;font-weight:400;letter-spacing:-.02em;font-size:clamp(2.1rem, 4vw, 3.2rem);line-height:1.1;margin:.25rem 0 0}
.h2{font-family:"DM Serif Display", ui-serif, Georgia, serif;font-weight:400;letter-spacing:-.02em;font-size:clamp(1.6rem, 3vw, 2.2rem);line-height:1.2;margin:0}
.lead{font-size:1.08rem;color:var(--muted);max-width:62ch}
.btn{display:inline-flex;align-items:center;gap:.55rem;border-radius:999px;padding:.82rem 1.05rem;font-weight:700;border:1px solid var(--border);background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}
.btn:hover{text-decoration:none;transform:translateY(-1px)}
.btn.primary{background:linear-gradient(135deg, var(--accent), var(--accent-2));border-color:transparent;color:#fff}
.btn.primary:hover{filter:saturate(1.05)}
.btn.ghost{background:transparent}
.badge{display:inline-flex;align-items:center;gap:.45rem;border-radius:999px;padding:.35rem .6rem;background:var(--accent-soft);border:1px solid #cfeee8;color:var(--accent);font-weight:700;font-size:.84rem}

.ribbon{
  position:sticky;top:0;z-index:60;
  background:linear-gradient(90deg, #eefaf7, #fff7ed);
  border-bottom:1px solid var(--border);
  padding:.55rem 0;
}
.ribbon .row{display:flex;align-items:center;justify-content:space-between;gap:14px}
.ribbon strong{font-weight:800}
.ribbon a{font-weight:800}

.header{
  position:sticky;top:48px;z-index:50;
  background:rgba(255,255,255,.82);
  backdrop-filter: blur(12px);
  border-bottom:1px solid rgba(230,231,230,.8);
}
.navrow{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0}
.brand{display:flex;align-items:center;gap:10px}
.logo{
  width:40px;height:40px;border-radius:12px;
  background:radial-gradient(circle at 30% 30%, #e7f7f4 0%, #fff 45%, #fff 100%);
  border:1px solid var(--border);
  display:grid;place-items:center;
  box-shadow:var(--shadow-sm)
}
.brandname{display:flex;flex-direction:column;line-height:1.1}
.brandname span:first-child{font-weight:900;letter-spacing:-.01em}
.brandname span:last-child{font-size:.86rem;color:var(--muted)}
nav ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:18px}
nav a{color:var(--text);font-weight:700}
nav a.active{color:var(--accent);text-decoration:none}
.navcta{display:flex;gap:10px;align-items:center}
.burger{display:none;border:1px solid var(--border);background:var(--surface);border-radius:12px;padding:.55rem .65rem;box-shadow:var(--shadow-sm)}
.burger svg{width:20px;height:20px}
.mobile{display:none;padding:0 0 16px}
.mobile a{display:block;padding:10px 0;border-bottom:1px dashed rgba(230,231,230,.9);color:var(--text);font-weight:800}

.hero{
  padding:56px 0 26px;
  background:
    radial-gradient(800px 320px at 15% 10%, rgba(16,185,129,.18), transparent 60%),
    radial-gradient(700px 320px at 85% 10%, rgba(249,115,22,.14), transparent 60%),
    linear-gradient(180deg, #ffffff 0%, #f6f7f6 100%);
  border-bottom:1px solid var(--border);
}
.heroGrid{
  display:grid;grid-template-columns:1.12fr .88fr;gap:26px;align-items:start
}
.card{
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}
.card.pad{padding:22px}
.heroCard{position:relative;overflow:hidden}
.heroCard::after{
  content:"";position:absolute;inset:-60px -120px auto auto;width:260px;height:260px;border-radius:50%;
  background:radial-gradient(circle at 30% 30%, rgba(16,185,129,.26), rgba(15,118,110,.06), transparent 62%);
  filter: blur(1px);
}
.heroCard::before{
  content:"";position:absolute;inset:auto -120px -80px -140px;width:360px;height:360px;border-radius:50%;
  background:radial-gradient(circle at 40% 40%, rgba(249,115,22,.18), rgba(249,115,22,.05), transparent 62%);
}
.heroStat{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}
.stat{border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px;background:var(--surface-2)}
.stat strong{display:block;font-size:1.1rem}
.stat span{color:var(--muted-2);font-size:.9rem}

.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.section{padding:44px 0}
.section.soft{background:var(--bg-soft);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.feature{padding:18px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-sm)}
.feature h3{margin:8px 0 6px;font-size:1.06rem}
.icon{
  width:42px;height:42px;border-radius:14px;display:grid;place-items:center;
  border:1px solid #cfeee8;background:var(--accent-soft);color:var(--accent)
}
.pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.pill{border:1px solid var(--border);background:#fff;border-radius:999px;padding:.42rem .7rem;font-weight:800;color:var(--muted);font-size:.9rem}

.cta{
  padding:34px 0;
}
.ctaBox{
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  padding:22px;border-radius:var(--radius);
  background:linear-gradient(135deg, rgba(16,185,129,.16), rgba(249,115,22,.10));
  border:1px solid var(--border);
  box-shadow:var(--shadow);
}
.ctaBox h3{margin:0;font-size:1.25rem}
.ctaBox p{margin:6px 0 0;color:var(--muted);max-width:70ch}

.table{
  width:100%;border-collapse:separate;border-spacing:0;overflow:hidden;border-radius:var(--radius);
  border:1px solid var(--border);background:#fff;box-shadow:var(--shadow-sm)
}
.table th,.table td{padding:12px 14px;border-bottom:1px solid var(--border);text-align:left}
.table th{background:#f6f7f6;font-size:.9rem;color:var(--muted);letter-spacing:.02em}
.table tr:last-child td{border-bottom:none}

.faq{margin-top:14px}
.faq details{border:1px solid var(--border);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow-sm);padding:12px 14px}
.faq details+details{margin-top:10px}
.faq summary{cursor:pointer;font-weight:900}
.faq p{margin:10px 0 0;color:var(--muted)}

.blogGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:16px}
.postCard{padding:18px}
.postCard .meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px;color:var(--muted-2);font-size:.9rem}
.tag{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);background:#fff;border-radius:999px;padding:.22rem .55rem;font-weight:900;font-size:.82rem;color:var(--muted)}

.footer{
  padding:30px 0;background:#ffffff;border-top:1px solid var(--border)
}
.footerGrid{display:grid;grid-template-columns:1.2fr .8fr;gap:18px;align-items:start}
.footer a{font-weight:800}
.hr{height:1px;background:var(--border);margin:16px 0}

.pageHead{padding:34px 0 14px;border-bottom:1px solid var(--border);background:linear-gradient(180deg,#fff 0%, #f6f7f6 100%)}
.breadcrumb{color:var(--muted-2);font-weight:700;font-size:.92rem}
.content{padding:26px 0 46px}
.prose{max-width:78ch}
.prose h2{margin:22px 0 10px}
.prose p{color:var(--muted)}
.callout{border-left:4px solid var(--accent);background:var(--accent-soft);padding:12px 14px;border-radius:14px;color:var(--muted);border:1px solid #cfeee8}
.note{border:1px dashed #d1d5db;border-radius:14px;padding:12px 14px;color:var(--muted)}

@media (max-width: 980px){
  .heroGrid{grid-template-columns:1fr;gap:14px}
  .grid3{grid-template-columns:1fr}
  .grid2{grid-template-columns:1fr}
  .blogGrid{grid-template-columns:1fr}
  nav ul{display:none}
  .burger{display:inline-flex}
  .mobile{display:block;display:none}
  .mobile.open{display:block}
  .header{top:44px}
  .ribbon{position:sticky;top:0}
}
