:root {
  --blue:#1565C0;
  --blue-light:#42A5F5;
  --blue-bg:#E3F2FD;
  --navy:#0F172A;
  --navy-light:#1E293B;
  --navy-dark:#0B0E14;
  --black:#0A0A0F;
  --surface:#FFFFFF;
  --surface-alt:#F5F7FA;
  --outline:#E2E5EA;
  --text:#0A0A0F;
  --text2:#4A4A6A;
  --muted:#7A7A9A;
  --slate-100:#F1F5F9;
  --slate-400:#94A3B8;
  --slate-500:#64748B;
  --slate-600:#475569;
  --slate-700:#334155;
  --slate-border:#E2E8F0;
  --slate:#F8FAFC;
  --blue-500:#3B82F6;
  --indigo:#667EEA;
  --red-50:#FEF2F2;
  --red:#EF4444;
  --red-600:#DC2626;
  --green:#22C55E;
  --amber:#F59E0B;
  --amber-500:#EAB308;
  --accent:#22D3EE;
  --bio:#059669;
  --primary:#2563EB;
  --success:#10B981;
  --warning:#F59E0B;
  --error:#EF4444;
  --dark-card:#1A2030;
  --gray-blue:#5C6578;
  --gray:#8B95A8;
  --font-h:'Montserrat',sans-serif;
  --font-b:'Open Sans',sans-serif;
  --space-0:0px;
  --space-1:4px;--space-1_5:6px;--space-2:8px;--space-3:12px;--space-4:16px;
  --space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;
  --space-12:48px;--space-16:64px;--space-20:80px;--space-24:96px;
  /* Font sizes */
  --font-xs:12px;--font-sm:13px;--font-base:14px;--font-lg:16px;--font-xl:18px;--font-2xl:20px;
  /* Font weights */
  --fw-normal:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--fw-extrabold:800;
  /* Extended colors */
  --bio-soft:#f0fdf4;--primary-soft:#eff6ff;--red-soft:#fef2f2;--amber-soft:#fffbeb;
  --max-w:1200px;
  --hero-bg:linear-gradient(135deg,var(--navy) 0%,var(--navy-light) 100%);
  --card-shadow:0 1px 3px rgba(0,0,0,.1);
  --card-hover-shadow:0 4px 20px rgba(0,0,0,.08);
}
.flex-center{display:flex;align-items:center;gap:6px}
.flex-gap-10{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.flex-wrap-center{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.text-muted{color:rgba(255,255,255,.45)}
.text-sm{font-size:13px}
.text-14{font-size:14px}
.text-15{font-size:15px;font-weight:700;margin-bottom:8px}
.text-16{font-family:var(--font-h);font-size:16px;font-weight:700;margin-bottom:4px}
.mb-8{margin-bottom:8px}
.mb-12{margin-bottom:12px}
.mb-16{margin-bottom:16px}
.mb-24{margin-bottom:24px}
.mt-8{margin-top:8px}
.p-8{padding:8px 12px}
.p-10{padding:10px 14px}
.p-14{padding:14px 24px}
.rounded-8{border-radius:8px}
.hidden{display:none}
.sr-only{display:none;visibility:hidden}
.max-w{max-width:var(--max-w);margin:0 auto;padding:0 24px}
.badge-orange{display:inline-block;padding:6px 14px;background:var(--amber);color:#fff;border-radius:99px;font-size:12px;font-weight:700;line-height:1.3}
.btn-primary{display:inline-block;padding:14px 24px;background:var(--blue);color:#fff;border-radius:8px;font-size:14px;font-weight:700;text-decoration:none;cursor:pointer;border:none;transition:opacity .15s}
.btn-amber{display:inline-block;padding:14px 24px;background:var(--amber);color:#fff;border-radius:8px;font-size:14px;font-weight:700;text-decoration:none;cursor:pointer;border:none}
.sec-bottom{border-bottom:1px solid var(--outline,#E2E5EA)}
.sec-pad{padding:50px 0 30px;border-bottom:1px solid var(--border)}
.blog-card,.card-slate{background:var(--slate);border:1px solid var(--slate-border);border-radius:12px;overflow:hidden;transition:transform .2s,box-shadow .2s}
.blog-card:hover,.card-slate:hover{transform:translateY(-2px);box-shadow:var(--card-hover-shadow)}
.logo-img{width:36px;height:36px;border-radius:8px}
.footer-text{font-size:13px;color:rgba(255,255,255,.45);line-height:1.6}
.footer-link{color:var(--blue-light);font-size:13px;display:block;margin-top:12px}
.nav-link{font-family:var(--font-h);font-size:18px;font-weight:800;color:#fff}

/* Font consistency */
h1{font-family:"Montserrat",sans-serif!important;font-size:clamp(28px,4vw,48px)!important}
body{font-family:var(--font-b,"Open Sans"),-apple-system,sans-serif!important}

/* Terms & Conditions checkbox (auth modals + login/signup/cms-login) */
.tc-field{margin-bottom:14px}
.tc-checkbox{display:flex;align-items:flex-start;gap:8px;font-size:13px;line-height:1.5;color:var(--text2);cursor:pointer;font-weight:500}
.tc-checkbox input[type=checkbox],.tc-label input[type=checkbox],.auth-tc-input{width:16px;height:16px;margin-top:1px;accent-color:var(--blue);cursor:pointer;flex-shrink:0}
.tc-checkbox a,.tc-label a{color:var(--blue);text-decoration:underline}
.tc-label{display:flex;align-items:flex-start;gap:8px;font-size:13px;line-height:1.5;color:var(--text2);cursor:pointer}

/* Print stylesheet */
@media print{
  header,nav,.nav-inner,.mobile-menu,.hamburger,.user-popup-overlay,.auth-overlay,.gate-overlay,.order-overlay,.pay-overlay,#ai-widget,#ai-widget-panel,#guest-claim-card,.nav-search-wrap,.drop-menu,.status-pill,.disclaimer,.footer-social,.skip-link,.slow-warn,button[class*="btn"],.mm-cta{display:none!important}
  body{font-family:var(--font-b,"Open Sans"),-apple-system,sans-serif;color:#000;background:#fff;font-size:11pt}
  main,.container,.tool-center,.tool-wrap,.results-wrap,.report-preview,.seq-display,.report-block,.primer-seq{width:100%!important;max-width:100%!important;margin:0;padding:0}
  a{color:#000;text-decoration:underline}
  .tool-wrap{flex-direction:column}
  .tool-left,.tool-right{position:static;flex:auto}
  .primer-grid,.two-col,.sample-report{grid-template-columns:1fr 1fr}
  .report-preview,.report-block,.seq-display,.primer-seq{background:#fff!important;color:#000!important;border:1px solid #999;white-space:pre-wrap;overflow:visible}
  .result-card,.panel-card,.proof-card,.tool-card{border:1px solid #999;box-shadow:none;page-break-inside:avoid}
  h1,h2,h3,h4{page-break-after:avoid}
  .pricing-grid,.proof-grid,.faq-grid,.trust-list,.db-health-grid{display:block}
  .price-card,.proof-card,.faq-item,.trust-item,.db-health-item{margin-bottom:12px;page-break-inside:avoid}
  section{padding:12pt 0}
  footer{padding:12pt 0 0;border-top:1px solid #999}
  .footer-grid{display:block}
  .footer-col{margin-bottom:12pt}
  .footer-bottom,.footer-col p,.footer-col a{color:#000!important}
}
