/* ============================================================
   Rambo marketing site — shared styles
   Brand tokens mirror the product app exactly (navy/amber/paper)
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,700;0,900;1,700&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=IBM+Plex+Mono:wght@400;500;600;700&display=swap');

:root{
  --navy:#0C447C;
  --navy-deep:#082F58;
  --amber:#EF9F27;
  --amber-deep:#C97E12;
  --paper:#F5F3ED;
  --paper-warm:#FBF9F4;
  --ink:#1E1C17;
  --muted:#59554C;
  --border:#D8D3C6;
  --card:#FFFFFF;
  --safe:#4F7A46;
  --safe-soft:#E7EFE4;
  --caution:#B8802A;
  --caution-soft:#F6EBD8;
  --danger:#A83E2C;
  --danger-soft:#F5E3DE;
  --unverified:#6B7280;
  --unverified-soft:#E9EAEC;

  --f-display:'Playfair Display', Georgia, serif;
  --f-body:'Plus Jakarta Sans', -apple-system, sans-serif;
  --f-mono:'IBM Plex Mono', monospace;

  --radius-lg:24px;
  --radius-md:16px;
  --radius-sm:10px;
  --shadow-card:0 4px 22px rgba(12,68,124,0.08);
  --shadow-pop:0 14px 40px rgba(12,68,124,0.16);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;overflow-x:hidden;}
body{
  overflow-x:hidden;
  margin:0;
  background:
    radial-gradient(1px 1px at 24px 24px, rgba(12,68,124,0.05) 1px, transparent 0),
    var(--paper);
  background-size:48px 48px;
  color:var(--ink);
  font-family:var(--f-body);
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
::selection{background:var(--amber);color:var(--navy-deep);}
img{max-width:100%;display:block;}
a{color:inherit;}
h1,h2,h3,h4{font-family:var(--f-display);margin:0;letter-spacing:-0.01em;}
p{margin:0;}
button{font-family:inherit;cursor:pointer;}

.wrap{max-width:1140px;margin:0 auto;padding:0 24px;}
.eyebrow{
  font-family:var(--f-mono);
  font-size:11px;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--amber-deep);
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.eyebrow::before{
  content:'';
  width:14px;height:2px;border-radius:2px;
  background:var(--amber);
}

/* ---------- Nav ---------- */
.nav{
  position:sticky;top:0;z-index:50;
  background:rgba(251,249,244,0.82);
  backdrop-filter:blur(14px) saturate(1.4);
  border-bottom:1px solid var(--border);
}
.nav-inner{
  max-width:1140px;margin:0 auto;padding:14px 24px;
  display:flex;align-items:center;justify-content:space-between;
}
.nav-brand{display:flex;align-items:center;gap:10px;text-decoration:none;}
.nav-mark{
  width:40px;height:40px;border-radius:10px;
  display:flex;align-items:center;justify-content:center;
  filter:drop-shadow(0 3px 6px rgba(12,68,124,0.28));
}
.nav-mark img{width:100%;height:100%;object-fit:contain;display:block;}
.nav-word{
  font-family:var(--f-display);font-weight:900;font-size:19px;
  letter-spacing:0.06em;text-transform:uppercase;color:var(--navy);
}
.nav-links{display:flex;align-items:center;gap:28px;font-size:14px;font-weight:600;}
.nav-links a{text-decoration:none;color:var(--ink);opacity:0.75;transition:opacity .15s;}
.nav-links a:hover, .nav-links a.active{opacity:1;color:var(--navy);}
.nav-cta{
  background:linear-gradient(155deg,#F5AC3D,var(--amber));color:var(--navy-deep);padding:10px 18px;border-radius:999px;
  font-size:13.5px;font-weight:700;text-decoration:none;
  box-shadow:0 8px 20px rgba(239,159,39,0.38);
  transition:transform .15s, box-shadow .15s;
}
.nav-cta:hover{transform:translateY(-1px);box-shadow:0 12px 26px rgba(239,159,39,0.46);}
.nav-toggle{
  display:none;background:none;border:none;padding:8px;cursor:pointer;
  flex-direction:column;gap:4px;width:34px;
}
.nav-toggle span{display:block;height:2px;background:var(--navy);border-radius:2px;transition:transform .2s ease, opacity .2s ease;}
.nav-toggle.open span:nth-child(1){transform:translateY(6px) rotate(45deg);}
.nav-toggle.open span:nth-child(2){opacity:0;}
.nav-toggle.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}
.mobile-nav-panel{
  max-height:0;overflow:hidden;background:var(--paper-warm);border-bottom:1px solid var(--border);
  transition:max-height .28s ease;
}
.mobile-nav-panel.open{max-height:320px;}
.mobile-nav-panel a{
  display:block;padding:14px 24px;font-size:15px;font-weight:600;color:var(--ink);
  text-decoration:none;border-bottom:1px solid var(--border);
}
.mobile-nav-panel a:last-child{border-bottom:none;}

/* ---------- Hero ---------- */
.hero{
  position:relative;
  background:linear-gradient(165deg,var(--navy-deep) 0%,var(--navy) 55%,#12559A 100%);
  color:#fff;
  overflow:hidden;
  padding:88px 0 120px;
}
.hero::after{
  content:'';position:absolute;inset:0;
  background:
    radial-gradient(560px 420px at 84% 8%, rgba(239,159,39,0.22), transparent 60%),
    radial-gradient(420px 320px at 10% 90%, rgba(255,255,255,0.06), transparent 60%);
  pointer-events:none;
}
.hero-grid{
  position:relative;z-index:1;
  display:grid;grid-template-columns:1.1fr 0.9fr;gap:56px;align-items:center;
}
.hero-eyebrow{
  font-family:var(--f-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--amber);display:inline-flex;align-items:center;gap:8px;margin-bottom:18px;
}
.hero-eyebrow::before{content:'';width:16px;height:2px;background:var(--amber);border-radius:2px;}
.hero h1{
  font-size:clamp(38px,5vw,58px);
  line-height:1.03;
  font-weight:900;
  letter-spacing:-0.02em;
  margin-bottom:20px;
}
.hero h1 em{
  font-style:italic;color:var(--amber);
}
.hero p.lede{
  font-size:18px;line-height:1.6;color:rgba(255,255,255,0.82);
  max-width:480px;margin-bottom:32px;
}
.hero-ctas{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:28px;}
.btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:14px 24px;border-radius:14px;
  font-weight:700;font-size:15px;text-decoration:none;border:none;
  transition:transform .22s cubic-bezier(.2,.8,.2,1), box-shadow .22s ease;
}
.btn-amber{background:linear-gradient(155deg,#F5AC3D,var(--amber));color:var(--navy-deep);box-shadow:0 14px 30px rgba(239,159,39,0.35);}
.btn-amber:hover{transform:translateY(-2px);box-shadow:0 18px 36px rgba(239,159,39,0.44);}
.btn-ghost{background:rgba(255,255,255,0.1);color:#fff;border:1.5px solid rgba(255,255,255,0.35);}
.btn-ghost:hover{background:rgba(255,255,255,0.18);transform:translateY(-2px);}
.btn-navy{background:linear-gradient(155deg,var(--navy),var(--navy-deep));color:#fff;box-shadow:0 10px 24px rgba(12,68,124,0.3);}
.btn-navy:hover{transform:translateY(-2px);box-shadow:0 16px 32px rgba(12,68,124,0.38);}
.btn-outline{background:transparent;color:var(--navy);border:1.5px solid var(--border);}
.btn-outline:hover{border-color:var(--navy);transform:translateY(-1px);}

.store-badges{display:flex;gap:10px;align-items:center;}
.store-badge{
  display:flex;align-items:center;gap:8px;
  background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.2);
  padding:9px 14px;border-radius:10px;font-size:12.5px;color:rgba(255,255,255,0.85);
}
.store-badge b{display:block;font-size:14px;color:#fff;font-family:var(--f-body);}

/* Hero phone/card mock — styled like a real device */
.hero-visual{position:relative;display:flex;justify-content:center;width:fit-content;margin:0 auto;}
.mock-phone{
  position:relative;z-index:1;
  width:250px;aspect-ratio:9/17.5;
  background:linear-gradient(155deg, #2a2f36 0%, #0d1013 12%, #05070a 50%, #0d1013 88%, #2a2f36 100%);
  border-radius:46px;
  padding:3px;
  box-shadow:
    0 4px 2px -2px rgba(4,20,38,0.35),
    0 40px 80px rgba(4,26,49,0.5),
    0 14px 30px rgba(4,26,49,0.35),
    inset 0 0 0 1px rgba(255,255,255,0.12),
    inset 0 1.5px 1px rgba(255,255,255,0.18);
  transform:rotate(1.5deg);
  transition:transform .4s ease;
}
.mock-phone:hover{transform:rotate(0deg) translateY(-4px);}
/* Fallback for browsers without aspect-ratio support (very old/unusual UAs) */
@supports not (aspect-ratio: 1/1){
  .mock-phone{height:486px;}
}
/* side buttons */
.mock-phone::before{
  content:'';position:absolute;left:-3px;top:22%;width:3px;height:7%;
  background:linear-gradient(90deg,#05070a,#2a2f36);border-radius:2px 0 0 2px;
}
.mock-phone::after{
  content:'';position:absolute;right:-3px;top:30%;width:3px;height:12%;
  background:linear-gradient(270deg,#05070a,#2a2f36);border-radius:0 2px 2px 0;
}
.mock-screen{
  position:relative;height:100%;width:100%;
  background:var(--paper);border-radius:43px;overflow:hidden;
  display:flex;flex-direction:column;
}
.mock-screen::after{
  content:'';position:absolute;inset:0;pointer-events:none;z-index:30;
  background:linear-gradient(115deg, rgba(255,255,255,0.10) 0%, rgba(255,255,255,0.03) 18%, transparent 32%);
}
.mock-island{
  position:absolute;top:10px;left:50%;transform:translateX(-50%);
  width:34%;height:20px;background:#0b1620;border-radius:14px;z-index:5;
}
.mock-statusbar{
  display:flex;align-items:center;justify-content:space-between;
  padding:10px 20px 0;color:var(--ink);flex-shrink:0;
}
.mock-time{font-family:var(--f-body);font-weight:700;font-size:12px;}
.mock-status-icons{display:flex;align-items:center;gap:4px;color:var(--ink);}
.mock-home-indicator{
  position:absolute;bottom:8px;left:50%;transform:translateX(-50%);
  width:34%;height:4px;border-radius:3px;background:rgba(30,28,23,0.35);
}
.mock-header{
  background:linear-gradient(155deg,var(--navy),var(--navy-deep));padding:4px 16px 16px;flex-shrink:0;
}
.mock-word-row{display:flex;align-items:center;gap:8px;}
.mock-word-row img{width:26px;height:26px;flex-shrink:0;}
.mock-word{font-family:var(--f-display);font-weight:900;color:#fff;font-size:22px;letter-spacing:3px;}
.mock-tag{font-family:var(--f-mono);font-size:9px;color:rgba(255,255,255,0.5);margin-top:4px;}

/* Scanned product row — deliberately masked/blurred, no fake product content */
.mock-product{
  background:#fff;margin:-14px 0 10px;border-radius:16px;padding:12px;
  box-shadow:0 6px 18px rgba(0,0,0,0.08);display:flex;gap:10px;align-items:center;
}
.mock-product-thumb{
  width:38px;height:38px;border-radius:10px;flex-shrink:0;
  background:repeating-linear-gradient(135deg, var(--border), var(--border) 3px, #EDE9DD 3px, #EDE9DD 6px);
  display:flex;align-items:center;justify-content:center;color:var(--muted);
}
.mock-lines{flex:1;}
.mock-line{height:8px;border-radius:4px;background:var(--border);margin-bottom:6px;}
.mock-line.short{width:55%;}
.mock-line.blurred{filter:blur(2.5px);opacity:0.7;}
.mock-pill{
  display:inline-flex;align-items:center;gap:5px;
  background:var(--safe-soft);color:var(--safe);
  font-family:var(--f-mono);font-size:10px;font-weight:600;
  padding:4px 9px;border-radius:999px;flex-shrink:0;
}
.mock-pill.caution{background:var(--caution-soft);color:var(--caution);}
.mock-pill.bad{background:var(--danger-soft);color:var(--danger);}

/* Per-child verdict cards */
.mock-verdicts{padding-top:2px;}
.mock-verdict-row{
  display:flex;align-items:center;gap:8px;background:#fff;border-radius:12px;
  padding:8px 10px;margin-bottom:6px;box-shadow:0 2px 8px rgba(0,0,0,0.05);
}
.mock-verdict-avatar{
  width:30px;height:30px;border-radius:15px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--f-display);font-weight:700;font-size:12px;color:#fff;
}
.mock-verdict-avatar.k1{background:linear-gradient(155deg,var(--amber),#D9840F);}
.mock-verdict-avatar.k2{background:linear-gradient(155deg,#7AAED1,#3E7BA6);}
.mock-verdict-info{flex:1;min-width:0;}
.mock-verdict-name{font-family:var(--f-mono);font-size:10.5px;font-weight:600;color:var(--ink);}
.mock-verdict-reason{font-family:var(--f-mono);font-size:9.5px;color:var(--muted);margin-top:2px;}

/* Slide carousel — cycles between 3 screens inside the same phone frame */
.mock-slides{position:relative;flex:1;overflow:hidden;}
.mock-slide{
  position:absolute;inset:0;padding:4px 12px 8px;
  opacity:0;transform:translateY(10px);
  transition:opacity .45s ease, transform .45s ease;
  pointer-events:none;
}
.mock-slide.active{opacity:1;transform:translateY(0);pointer-events:auto;}
@media (prefers-reduced-motion:reduce){
  .mock-slide{transition:opacity .2s ease;transform:none;}
}
/* Bottom tab bar — the single biggest signal that this is a real app screen */
.mock-tabbar{
  display:flex;align-items:center;justify-content:space-around;
  padding:8px 14px 4px;flex-shrink:0;position:relative;
  border-top:1px solid var(--border);background:#fff;
}
.mock-tab{
  display:flex;flex-direction:column;align-items:center;gap:2px;
  color:var(--muted);position:relative;
}
.mock-tab span{font-family:var(--f-mono);font-size:7.5px;font-weight:600;}
.mock-tab.active{color:var(--navy);}
.mock-tab-badge{
  position:absolute;top:-2px;right:-2px;width:6px;height:6px;border-radius:50%;
  background:var(--danger);border:1.5px solid #fff;
}
.mock-tab-scan{
  width:38px;height:38px;border-radius:50%;flex-shrink:0;
  background:linear-gradient(155deg,var(--amber),#D9840F);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 6px 14px rgba(239,159,39,0.45);
  margin-top:-18px;border:3px solid #fff;
}
.mock-dots{display:flex;justify-content:center;gap:6px;padding:6px 0 2px;flex-shrink:0;}
.mock-dot-ind{width:6px;height:6px;border-radius:3px;background:var(--border);transition:width .25s ease, background .25s ease;}
.mock-dot-ind.active{width:16px;background:var(--amber);}

/* Slide 2: recall alert */
.mock-alert-card{
  display:flex;gap:10px;align-items:flex-start;background:var(--danger-soft);
  border-radius:14px;padding:12px;margin-top:2px;
}
.mock-alert-icon{color:var(--danger);font-size:16px;line-height:1;flex-shrink:0;}
.mock-alert-title{font-family:var(--f-mono);font-size:10.5px;font-weight:700;color:var(--danger);line-height:1.4;}
.mock-alert-sub{font-family:var(--f-mono);font-size:9px;color:var(--muted);margin-top:4px;line-height:1.4;}
.mock-alert-cta{
  font-family:var(--f-mono);font-size:9.5px;font-weight:600;color:var(--navy);
  padding:10px 2px;
}

/* Slide 3: weekly history rows */
.mock-hist-row{
  display:flex;align-items:center;gap:10px;background:#fff;border-radius:12px;
  padding:10px;margin-bottom:8px;box-shadow:0 2px 8px rgba(0,0,0,0.05);
}
.mock-hist-stats{display:flex;gap:4px;flex-shrink:0;}
.mock-hist-dot{
  width:20px;height:20px;border-radius:6px;display:flex;align-items:center;justify-content:center;
  font-family:var(--f-mono);font-size:9px;font-weight:700;
}
.mock-hist-dot.safe{background:var(--safe-soft);color:var(--safe);}
.mock-hist-dot.caution{background:var(--caution-soft);color:var(--caution);}
.mock-hist-dot.bad{background:var(--danger-soft);color:var(--danger);}

.floaty{
  position:absolute;z-index:20;background:#fff;border-radius:14px;padding:10px 14px;
  box-shadow:0 16px 34px rgba(4,26,49,0.28);display:flex;align-items:center;gap:8px;
  font-family:var(--f-mono);font-size:11px;font-weight:600;
  animation:bob 5s ease-in-out infinite;
}
.floaty.f1{top:70px;right:100%;margin-right:14px;color:var(--danger);animation-delay:.2s;white-space:nowrap;}
.floaty.f2{top:240px;left:100%;margin-left:14px;color:var(--caution);animation-delay:.75s;white-space:nowrap;}
.floaty.f3{bottom:70px;left:100%;margin-left:14px;color:var(--safe);animation-delay:1.3s;white-space:nowrap;}
@keyframes bob{0%,100%{transform:translateY(0);}50%{transform:translateY(-8px);}}
@media (prefers-reduced-motion:reduce){.floaty{animation:none;} .mock-phone{transition:none;}}

/* ---------- Hero entrance ---------- */
@keyframes fadeUp{from{opacity:0;transform:translateY(22px);}to{opacity:1;transform:translateY(0);}}
@keyframes popIn{from{opacity:0;transform:translateY(30px) rotate(2deg) scale(.96);}to{opacity:1;transform:translateY(0) rotate(2deg) scale(1);}}
.hero-eyebrow, .hero h1, .hero p.lede, .hero-ctas, .store-badges{
  animation:fadeUp .8s cubic-bezier(.2,.8,.2,1) both;
}
.hero h1{animation-delay:.05s;}
.hero p.lede{animation-delay:.15s;}
.hero-ctas{animation-delay:.25s;}
.store-badges{animation-delay:.35s;}
.mock-phone{animation:popIn .9s cubic-bezier(.2,.8,.2,1) .2s both;}
.floaty{animation:bob 5s ease-in-out infinite, fadeUp .7s ease .6s both;}
@media (prefers-reduced-motion:reduce){
  .hero-eyebrow,.hero h1,.hero p.lede,.hero-ctas,.store-badges,.mock-phone,.floaty{animation:none;}
}

/* ---------- Scroll reveal ---------- */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.2,.8,.2,1), transform .7s cubic-bezier(.2,.8,.2,1);}
.reveal.in-view{opacity:1;transform:translateY(0);}
.reveal-group .reveal:nth-child(1){transition-delay:.02s;}
.reveal-group .reveal:nth-child(2){transition-delay:.1s;}
.reveal-group .reveal:nth-child(3){transition-delay:.18s;}
.reveal-group .reveal:nth-child(4){transition-delay:.26s;}
.reveal-group .reveal:nth-child(5){transition-delay:.34s;}
.reveal-group .reveal:nth-child(6){transition-delay:.42s;}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none;}}

/* ---------- Section shell ---------- */
section{padding:96px 0;}
.section-head{max-width:640px;margin-bottom:52px;padding-bottom:28px;border-bottom:1px solid var(--border);}
.section-navy .section-head{border-bottom-color:rgba(255,255,255,0.14);}
.section-head h2{font-size:clamp(28px,3.6vw,40px);margin-top:14px;line-height:1.1;}
.section-head p{font-size:16px;color:var(--muted);margin-top:14px;line-height:1.6;}
.section-alt{background:var(--paper-warm);border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
.section-navy{background:var(--navy);color:#fff;}
.section-navy .eyebrow{color:var(--amber);}
.section-navy .eyebrow::before{background:var(--amber);}
.section-navy .quote-card p{color:rgba(255,255,255,0.92);}
.section-navy .quote-role{color:rgba(255,255,255,0.55);}
.section-navy .quote-name{color:#fff;}

/* ---------- Feature grid ---------- */
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.feature-card{
  background:var(--card);border-radius:var(--radius-md);padding:26px;
  box-shadow:var(--shadow-card);border:1px solid var(--border);
  position:relative;overflow:hidden;
  transition:transform .2s ease, box-shadow .2s ease;
}
.feature-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--amber),transparent 70%);
  opacity:0;transition:opacity .2s ease;
}
.feature-card:hover{transform:translateY(-3px);box-shadow:0 10px 28px rgba(12,68,124,0.14);}
.feature-card:hover::before{opacity:1;}
.feature-icon{
  width:44px;height:44px;border-radius:12px;background:linear-gradient(155deg,var(--navy),var(--navy-deep));
  display:flex;align-items:center;justify-content:center;color:var(--amber);
  font-size:20px;margin-bottom:16px;box-shadow:0 6px 14px rgba(12,68,124,0.25);
}
.feature-card h3{font-size:18px;margin-bottom:8px;font-family:var(--f-body);font-weight:700;}
.feature-card p{color:var(--muted);font-size:14.5px;line-height:1.55;}

/* ---------- Tier legend strip ---------- */
.tier-strip{display:flex;gap:14px;flex-wrap:wrap;}
.tier-chip{
  display:flex;align-items:center;gap:8px;
  padding:10px 16px;border-radius:999px;font-family:var(--f-mono);font-size:12.5px;font-weight:600;
  border:1px solid transparent;box-shadow:0 2px 8px rgba(12,68,124,0.06);
  transition:transform .15s ease;
}
.tier-chip:hover{transform:translateY(-2px);}
.tier-chip.safe{background:var(--safe-soft);color:var(--safe);}
.tier-chip.caution{background:var(--caution-soft);color:var(--caution);}
.tier-chip.bad{background:var(--danger-soft);color:var(--danger);}
.tier-chip.unverified{background:var(--unverified-soft);color:var(--unverified);}

/* ---------- Steps ---------- */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:0;position:relative;}
.step{position:relative;padding:0 20px;}
.step:not(:last-child)::after{
  content:'';position:absolute;top:26px;right:-10px;width:20px;height:1.5px;background:var(--border);
}
.step-num{
  font-family:var(--f-mono);font-size:12px;color:var(--amber-deep);font-weight:700;
  border:1.5px solid var(--amber);width:34px;height:34px;border-radius:10px;
  display:flex;align-items:center;justify-content:center;margin-bottom:16px;
}
.step h3{font-size:16.5px;font-weight:700;font-family:var(--f-body);margin-bottom:8px;}
.step p{color:var(--muted);font-size:14px;line-height:1.55;}

/* ---------- Recall tool teaser card ---------- */
.tool-teaser{
  display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;
}
.tool-teaser-copy h2{font-size:clamp(26px,3.4vw,36px);margin:14px 0 16px;}
.tool-teaser-copy p{color:var(--muted);font-size:15.5px;line-height:1.6;margin-bottom:22px;}
.tool-card-mini{
  background:#fff;border-radius:var(--radius-lg);border:1px solid var(--border);
  box-shadow:var(--shadow-card);padding:26px;
}
.tool-card-mini .fake-input{
  display:flex;align-items:center;gap:10px;border:1.5px solid var(--border);
  border-radius:999px;padding:12px 16px;color:var(--muted);font-size:14px;margin-bottom:16px;
}
.result-row{
  display:flex;align-items:center;gap:10px;padding:10px 0;border-top:1px solid var(--border);
  font-size:13.5px;
}
.result-row:first-of-type{border-top:none;}
.result-tag{
  font-family:var(--f-mono);font-size:9.5px;font-weight:700;padding:3px 8px;border-radius:6px;
  background:var(--danger);color:#fff;letter-spacing:0.4px;flex-shrink:0;
}

/* ---------- Multi-child "reports at a glance" dashboard mock ---------- */
.dash-mock{
  background:#fff;border-radius:var(--radius-lg);border:1px solid var(--border);
  box-shadow:var(--shadow-pop);padding:8px;
}
.dash-mock-head{
  background:linear-gradient(155deg,var(--navy),var(--navy-deep));
  border-radius:16px;padding:18px 20px;margin-bottom:10px;
  display:flex;align-items:center;justify-content:space-between;
}
.dash-mock-head .dm-title{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.08em;color:rgba(255,255,255,0.65);text-transform:uppercase;}
.dash-mock-head .dm-week{font-family:var(--f-mono);font-size:10.5px;color:var(--amber);font-weight:700;}
.dash-row{
  display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;
  transition:background .15s ease;
}
.dash-row:hover{background:var(--paper-warm);}
.dash-avatar{
  width:40px;height:40px;border-radius:20px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--f-display);font-weight:700;font-size:14px;color:#fff;
}
.dash-avatar.k1{background:linear-gradient(155deg,var(--amber),#D9840F);}
.dash-avatar.k2{background:linear-gradient(155deg,#7AAED1,#3E7BA6);}
.dash-info{flex:1;min-width:0;}
.dash-name{font-size:13.5px;font-weight:700;color:var(--ink);}
.dash-sub{font-family:var(--f-mono);font-size:10.5px;color:var(--muted);margin-top:2px;}
.dash-stats{display:flex;gap:6px;flex-shrink:0;}
.dash-stat{
  width:30px;height:30px;border-radius:9px;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--f-mono);font-size:11px;font-weight:700;
}
.dash-stat.safe{background:var(--safe-soft);color:var(--safe);}
.dash-stat.caution{background:var(--caution-soft);color:var(--caution);}
.dash-stat.bad{background:var(--danger-soft);color:var(--danger);}
.dash-divider{height:1px;background:var(--border);margin:4px 14px;}

/* ---------- Testimonials ---------- */
.quote-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.quote-card{
  background:rgba(255,255,255,0.06);border-radius:var(--radius-md);padding:26px;
  border:1px solid rgba(255,255,255,0.14);backdrop-filter:blur(6px);
  position:relative;
}
.quote-card::before{
  content:'"';position:absolute;top:10px;right:20px;font-family:var(--f-display);
  font-size:52px;color:rgba(239,159,39,0.28);line-height:1;
}
.quote-card p{font-size:15px;line-height:1.6;color:var(--ink);margin-bottom:16px;}
.quote-who{display:flex;align-items:center;gap:10px;}
.quote-avatar{width:32px;height:32px;border-radius:16px;background:var(--amber);flex-shrink:0;}
.quote-name{font-size:13px;font-weight:700;}
.quote-role{font-size:12px;color:var(--muted);}

/* ---------- CTA band ---------- */
.cta-band{
  background:var(--navy);color:#fff;border-radius:28px;padding:56px;
  display:flex;align-items:center;justify-content:space-between;gap:32px;
  position:relative;overflow:hidden;
}
.cta-band::after{
  content:'';position:absolute;inset:0;
  background:radial-gradient(420px 300px at 90% -10%, rgba(239,159,39,0.25), transparent 60%);
}
.cta-band h2{font-size:clamp(24px,3vw,32px);position:relative;z-index:1;max-width:480px;}
.cta-band .btn-amber{position:relative;z-index:1;flex-shrink:0;}

/* ---------- Footer ---------- */
footer{background:var(--ink);color:rgba(255,255,255,0.65);padding:64px 0 28px;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;margin-bottom:48px;}
.footer-brand .nav-word{color:#fff;}
.footer-brand p{margin-top:14px;font-size:13.5px;line-height:1.6;max-width:260px;color:rgba(255,255,255,0.55);}
.footer-col h4{font-family:var(--f-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,0.4);margin-bottom:14px;}
.footer-col a{display:block;font-size:14px;color:rgba(255,255,255,0.72);text-decoration:none;margin-bottom:10px;}
.footer-col a:hover{color:var(--amber);}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,0.12);padding-top:24px;
  display:flex;justify-content:space-between;font-size:12.5px;color:rgba(255,255,255,0.4);flex-wrap:wrap;gap:10px;
}

/* ---------- Recall tool page ---------- */
.tool-hero{background:var(--navy);color:#fff;padding:64px 0 48px;}
.tool-hero h1{font-size:clamp(30px,4vw,42px);margin:14px 0 12px;}
.tool-hero p{color:rgba(255,255,255,0.78);max-width:560px;font-size:15.5px;line-height:1.6;}
.search-panel{
  background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-pop);
  padding:22px;margin-top:-40px;position:relative;z-index:5;
  display:flex;gap:10px;flex-wrap:wrap;
}
.search-panel input[type=text]{
  flex:1;min-width:220px;border:1.5px solid var(--border);border-radius:12px;
  padding:14px 16px;font-family:var(--f-body);font-size:15px;color:var(--ink);
}
.search-panel input:focus{outline:2px solid var(--amber);outline-offset:1px;}
.search-panel select{
  border:1.5px solid var(--border);border-radius:12px;padding:14px 12px;font-family:var(--f-body);font-size:14px;color:var(--ink);background:#fff;
}
.search-panel button{
  background:var(--navy);color:#fff;border:none;border-radius:12px;padding:14px 24px;font-weight:700;font-size:15px;
}
.search-panel button:hover{background:var(--navy-deep);}
.search-hint{font-family:var(--f-mono);font-size:11.5px;color:var(--muted);margin-top:12px;}

.results-wrap{padding:52px 0 100px;}
.result-status{font-family:var(--f-mono);font-size:13px;color:var(--muted);margin-bottom:20px;}
.recall-card{
  background:#fff;border-radius:18px;border:1px solid var(--border);overflow:hidden;
  box-shadow:var(--shadow-card);margin-bottom:16px;display:flex;
  transition:transform .18s ease, box-shadow .18s ease;
}
.recall-card:hover{transform:translateX(2px);box-shadow:0 12px 28px rgba(12,68,124,0.14);}
.recall-strip{width:5px;background:var(--danger);flex-shrink:0;}
.recall-strip.class2{background:var(--caution);}
.recall-strip.class3{background:var(--unverified);}
.recall-body{padding:18px 20px;flex:1;}
.recall-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px;}
.recall-class{
  font-family:var(--f-mono);font-size:10px;font-weight:700;padding:3px 9px;border-radius:999px;letter-spacing:0.4px;
  background:var(--danger);color:#fff;
}
.recall-class.c2{background:var(--caution-soft);color:var(--caution);}
.recall-date{font-family:var(--f-mono);font-size:11px;color:var(--muted);margin-left:auto;}
.recall-name{font-family:var(--f-mono);font-weight:600;font-size:14.5px;margin-bottom:4px;}
.recall-firm{font-family:var(--f-mono);font-size:11.5px;color:var(--muted);margin-bottom:8px;}
.recall-reason{font-size:13.5px;line-height:1.55;color:var(--ink);}
.empty-state{
  text-align:center;padding:60px 20px;border:1.5px dashed var(--border);border-radius:18px;color:var(--muted);
}

/* ---------- Blog ---------- */
.blog-hero{background:var(--navy);color:#fff;padding:70px 0 56px;}
.blog-hero h1{font-size:clamp(32px,4.4vw,46px);margin:14px 0 12px;}
.blog-hero p{color:rgba(255,255,255,0.78);max-width:560px;font-size:16px;line-height:1.6;}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding:60px 0 100px;}
.post-card{
  background:#fff;border-radius:20px;overflow:hidden;border:1px solid var(--border);
  box-shadow:var(--shadow-card);text-decoration:none;color:var(--ink);
  display:flex;flex-direction:column;transition:transform .22s cubic-bezier(.2,.8,.2,1), box-shadow .22s ease;
}
.post-card:hover{transform:translateY(-5px);box-shadow:0 18px 40px rgba(12,68,124,0.16);}
.post-card:hover .post-readmore{color:var(--amber-deep);}
.post-thumb{aspect-ratio:16/10;position:relative;overflow:hidden;background:var(--navy);}
.post-thumb img{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .4s cubic-bezier(.2,.8,.2,1);
}
.post-thumb::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(8,47,88,0.05) 40%, rgba(8,47,88,0.55) 100%);
}
.post-card:hover .post-thumb img{transform:scale(1.06);}
.post-cat{
  position:absolute;top:12px;left:12px;background:var(--amber);color:var(--navy-deep);
  font-family:var(--f-mono);font-size:10px;font-weight:700;padding:4px 10px;border-radius:999px;letter-spacing:0.3px;
  z-index:1;
}
.post-body{padding:20px;flex:1;display:flex;flex-direction:column;}
.post-date{font-family:var(--f-mono);font-size:11px;color:var(--muted);margin-bottom:8px;}
.post-body h3{font-size:17px;line-height:1.35;font-family:var(--f-body);font-weight:700;margin-bottom:10px;}
.post-excerpt{font-size:13.5px;color:var(--muted);line-height:1.55;flex:1;}
.post-readmore{font-family:var(--f-mono);font-size:12px;color:var(--navy);font-weight:600;margin-top:14px;transition:color .15s ease;}

.featured-post{
  display:grid;grid-template-columns:1fr 1fr;gap:0;border-radius:22px;overflow:hidden;
  border:1px solid var(--border);box-shadow:var(--shadow-card);background:#fff;margin-bottom:40px;text-decoration:none;color:var(--ink);
}
.featured-thumb{position:relative;overflow:hidden;aspect-ratio:12/5;min-height:220px;background:var(--navy);}
.featured-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.featured-copy{padding:36px;display:flex;flex-direction:column;justify-content:center;}
.featured-copy .eyebrow{margin-bottom:14px;}
.featured-copy h2{font-size:26px;line-height:1.25;margin-bottom:12px;}
.featured-copy p{color:var(--muted);font-size:14.5px;line-height:1.6;margin-bottom:18px;}

/* ---------- Article page ---------- */
.article-hero{background:var(--paper-warm);border-bottom:1px solid var(--border);padding:0 0 40px;overflow:hidden;}
.article-hero-banner{
  height:280px;position:relative;margin-bottom:40px;overflow:hidden;background:var(--navy);
}
.article-hero-banner img{width:100%;height:100%;object-fit:cover;display:block;}
.article-hero-banner::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(8,47,88,0.08) 55%, rgba(8,47,88,0.5) 100%);
}
.article-wrap{max-width:720px;margin:0 auto;padding:0 24px;}
.article-hero .eyebrow{margin-bottom:16px;}
.article-hero h1{font-size:clamp(28px,4vw,42px);line-height:1.15;margin-bottom:16px;}
.article-meta{display:flex;gap:16px;align-items:center;font-family:var(--f-mono);font-size:12.5px;color:var(--muted);flex-wrap:wrap;}
.article-body{padding:48px 0 90px;}
.article-body p{font-size:16.5px;line-height:1.75;color:var(--ink);margin-bottom:22px;}
.article-body h2{font-size:23px;margin:38px 0 14px;}
.article-body h3{font-size:18.5px;font-family:var(--f-body);font-weight:700;margin:28px 0 10px;}
.article-body ul{margin:0 0 22px;padding-left:22px;}
.article-body li{font-size:16px;line-height:1.7;margin-bottom:8px;color:var(--ink);}
.callout{
  background:var(--paper-warm);border-left:4px solid var(--amber);border-radius:0 14px 14px 0;
  padding:18px 22px;margin:28px 0;font-size:15px;line-height:1.6;
}
.callout b{color:var(--navy);}
.article-cta{
  background:var(--navy);color:#fff;border-radius:20px;padding:32px;margin-top:48px;
  display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;
}
.article-cta p{font-size:15px;color:rgba(255,255,255,0.8);margin-top:4px;}

/* ---------- Newsletter: shared form styling ---------- */
.newsletter-form{display:flex;gap:10px;flex-wrap:wrap;}
.newsletter-form input[type=email]{
  flex:1;min-width:220px;border:1.5px solid rgba(255,255,255,0.28);border-radius:12px;
  padding:14px 16px;font-family:var(--f-body);font-size:15px;color:#fff;
  background:rgba(255,255,255,0.08);
}
.newsletter-form input[type=email]::placeholder{color:rgba(255,255,255,0.5);}
.newsletter-form input[type=email]:focus{outline:2px solid var(--amber);outline-offset:1px;background:rgba(255,255,255,0.12);}
.newsletter-form button{
  background:var(--amber);color:var(--navy-deep);border:none;border-radius:12px;
  padding:14px 22px;font-weight:700;font-size:14.5px;white-space:nowrap;
  transition:transform .15s ease, box-shadow .15s ease;
}
.newsletter-form button:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(239,159,39,0.35);}
.newsletter-form button:disabled{opacity:0.7;cursor:default;transform:none;}
.newsletter-success{
  display:flex;align-items:center;gap:10px;
  font-family:var(--f-mono);font-size:13.5px;color:var(--amber);
  padding:14px 4px;
}
.newsletter-error{font-family:var(--f-mono);font-size:12px;color:#F2A79A;margin-top:8px;}

/* Light-background variant (used on paper backgrounds, not navy) */
.newsletter-form.on-light input[type=email]{
  color:var(--ink);background:#fff;border-color:var(--border);
}
.newsletter-form.on-light input[type=email]::placeholder{color:var(--muted);}
.newsletter-form.on-light input[type=email]:focus{background:#fff;}
.newsletter-success.on-light{color:var(--safe);}

/* ---------- Newsletter: hero-style dedicated section ---------- */
.newsletter-card{
  background:linear-gradient(155deg,var(--navy-deep),var(--navy) 65%,#12559A 120%);
  color:#fff;border-radius:28px;padding:56px;position:relative;overflow:hidden;
}
.newsletter-card::after{
  content:'';position:absolute;inset:0;
  background:radial-gradient(480px 340px at 88% -10%, rgba(239,159,39,0.24), transparent 60%);
}
.newsletter-card-inner{position:relative;z-index:1;display:grid;grid-template-columns:1.1fr 0.9fr;gap:40px;align-items:center;}
.newsletter-card h2{font-size:clamp(24px,3vw,34px);margin:12px 0 12px;}
.newsletter-card p.lede-sm{color:rgba(255,255,255,0.78);font-size:15px;line-height:1.6;margin-bottom:0;}
.newsletter-perks{display:flex;flex-direction:column;gap:10px;margin-top:20px;}
.newsletter-perk{display:flex;align-items:center;gap:10px;font-size:13.5px;color:rgba(255,255,255,0.85);}
.newsletter-perk span{color:var(--amber);font-weight:700;}
.newsletter-fine{font-family:var(--f-mono);font-size:11px;color:rgba(255,255,255,0.5);margin-top:12px;}
.beehiiv-embed-wrap{min-height:56px;display:flex;align-items:center;}
.beehiiv-embed-wrap iframe{border-radius:12px !important;width:100% !important;}

/* ---------- Newsletter: inline card (articles, tool pages) ---------- */
.newsletter-inline{
  background:linear-gradient(155deg,var(--navy),var(--navy-deep));color:#fff;
  border-radius:20px;padding:30px 32px;margin:40px 0;
}
.newsletter-inline h3{color:#fff;font-size:19px;margin-bottom:8px;font-family:var(--f-body);font-weight:700;}
.newsletter-inline p{color:rgba(255,255,255,0.78);font-size:14px;margin-bottom:18px;}
.newsletter-inline .newsletter-fine{margin-top:10px;}

/* ---------- Newsletter: compact footer strip ---------- */
.footer-newsletter{
  border-bottom:1px solid rgba(255,255,255,0.12);padding-bottom:32px;margin-bottom:36px;
}
.footer-newsletter .beehiiv-embed-wrap{width:100%;max-width:560px;margin:0 auto;}
@media (max-width:640px){
  .footer-newsletter{padding-bottom:24px;margin-bottom:28px;}
}

/* ---------- Founder note ---------- */
.founder-note{
  display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:start;
  background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);
  padding:36px;box-shadow:var(--shadow-card);
}
.founder-avatar{
  width:76px;height:76px;border-radius:50%;flex-shrink:0;
  box-shadow:0 8px 18px rgba(12,68,124,0.22);
  border:3px solid #fff;
}
.founder-note p{font-size:15.5px;line-height:1.7;color:var(--ink);margin-bottom:14px;}
.founder-note p:last-of-type{margin-bottom:0;}
.founder-signoff{margin-top:16px;font-family:var(--f-mono);font-size:12.5px;color:var(--muted);}
.founder-signoff b{color:var(--ink);font-family:var(--f-body);font-size:14px;}
@media (max-width:640px){
  .founder-note{grid-template-columns:1fr;padding:28px 22px;}
}

/* ---------- Responsive ---------- */
@media (max-width:920px){
  .hero-grid{grid-template-columns:1fr;}
  .hero-visual{order:-1;margin-bottom:20px;}
  .feature-grid, .quote-grid, .blog-grid{grid-template-columns:repeat(2,1fr);}
  .steps{grid-template-columns:1fr;gap:28px;}
  .step:not(:last-child)::after{display:none;}
  .tool-teaser{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .featured-post{grid-template-columns:1fr;}
  .cta-band{flex-direction:column;text-align:center;}
}
@media (max-width:640px){
  .nav-links{display:none;}
  .nav-toggle{display:flex;}
  .feature-grid,.quote-grid,.blog-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;}
  section{padding:64px 0;}
  .hero{padding:48px 0 56px;}

  /* Hero visual: on narrow screens, decorative floating tags just add
     clutter — drop them and let the phone speak for itself */
  .hero-visual{padding:0 22px;}
  .mock-phone{width:210px;aspect-ratio:9/19;}
  @supports not (aspect-ratio: 1/1){ .mock-phone{height:443px;} }
  .floaty{display:none;}
  .mock-verdict-avatar{width:26px;height:26px;border-radius:13px;font-size:11px;}
  .mock-verdict-name{font-size:9.5px;}
  .mock-verdict-reason{font-size:8px;}
  .mock-product{padding:9px;margin-bottom:6px;}
  .mock-tabbar{padding:6px 14px 2px;}
  .store-badges{flex-wrap:wrap;}
  .hero-ctas{flex-direction:column;align-items:stretch;}
  .hero-ctas .btn{justify-content:center;}

  /* Household dashboard mock: tighten padding so stat pills don't crowd */
  .dash-mock{padding:6px;}
  .dash-row{padding:10px 8px;gap:8px;}
  .dash-stat{width:26px;height:26px;font-size:10px;}
  .dash-name{font-size:12.5px;}
  .dash-sub{font-size:10px;}

  /* Founder note: stack avatar above text, centered */
  .founder-note{text-align:left;}
  .founder-avatar{width:64px;height:64px;}

  /* Featured blog post + article hero banner: shorter on small screens */
  .featured-thumb{aspect-ratio:16/9;min-height:0;}
  .article-hero-banner{height:190px;}

  /* Recall lookup search panel: stack cleanly */
  .search-panel{flex-direction:column;margin-top:-24px;}
  .search-panel button{width:100%;}

  /* cta-band and step numbers */
  .cta-band{padding:32px 24px;}
  .step:not(:last-child)::after{display:none;}
}

@media (max-width:400px){
  .mock-phone{width:190px;}
  @supports not (aspect-ratio: 1/1){ .mock-phone{height:401px;} }
  .mock-verdict-name{font-size:9px;}
  .mock-verdict-reason{font-size:7.5px;}
}
