/* =========================================================
   Natural Health Report — Advertorial stylesheet
   Goals: fast (no web fonts), accessible for 60+ readers,
   high contrast, large tap targets, mobile-first.
   Palette: navy blue brand + orange CTA (high-contrast pair).
   ========================================================= */

/* ---------- Design tokens ---------- */
:root{
  --navy:#13294b;         /* brand / header / headings */
  --navy-700:#1a4a85;     /* links / secondary accents */
  --ink:#1f2329;          /* body text */
  --ink-soft:#454c57;     /* secondary text */
  --paper:#ffffff;        /* page background */
  --paper-2:#f3f6fb;      /* section tint (cool/navy-leaning) */
  --line:#d7dde6;         /* borders */
  --cta:#b8420a;          /* CTA button (AA contrast w/ white) */
  --cta-hover:#9a370a;
  --alert:#b3261e;        /* warnings */
  --maxw:700px;           /* readable measure */
  --radius:10px;
  --font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

/* ---------- Reset-ish ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  font-family:var(--font);
  font-size:1.18rem;          /* ~19px base — large for older readers */
  line-height:1.7;
  color:var(--ink);
  background:var(--paper);
}
img{max-width:100%;height:auto;display:block}
a{color:var(--navy-700)}

/* ---------- Accessibility helpers ---------- */
.skip-link{
  position:absolute;left:-999px;top:0;z-index:100;
  background:var(--navy);color:#fff;padding:.75rem 1rem;border-radius:0 0 var(--radius) 0;
}
.skip-link:focus{left:0}

:focus-visible{outline:3px solid var(--cta);outline-offset:2px}

@media (prefers-reduced-motion: reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}

/* ---------- Layout ---------- */
.wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 1.1rem}
.article{padding-top:1.25rem;padding-bottom:2rem}

/* ---------- Header ---------- */
.site-header{
  background:var(--navy);
  border-bottom:4px solid var(--cta);
}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:58px}
.logo{
  color:#fff;font-weight:800;letter-spacing:.2px;font-size:1.15rem;
}
.logo span{color:#7fb0e8}
.ad-disclosure{
  color:#c7d6ec;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;
}

/* ---------- Article meta ---------- */
.kicker{
  color:var(--cta);font-weight:800;text-transform:uppercase;
  letter-spacing:.12em;font-size:.78rem;margin:0 0 .35rem;
}
.byline{color:var(--ink-soft);font-size:.92rem;margin:0 0 1.4rem;border-bottom:1px solid var(--line);padding-bottom:1rem}

/* ---------- Headings ---------- */
h1{
  font-size:2rem;line-height:1.22;font-weight:800;color:var(--ink);
  margin:.2rem 0 1rem;letter-spacing:-.01em;
}
h2{
  font-size:1.5rem;line-height:1.3;font-weight:800;color:var(--navy);
  margin:2.2rem 0 .8rem;
}
.subhead{font-size:1.22rem;color:var(--ink-soft);margin:0 0 1.5rem;font-weight:500}
p{margin:0 0 1.15rem}
em{font-style:italic}

/* ---------- Video card ---------- */
.video-card{margin:0 0 1.2rem}
.video-thumb{
  position:relative;display:block;border-radius:var(--radius);overflow:hidden;
  box-shadow:0 6px 22px rgba(19,41,75,.22);border:1px solid var(--line);
}
.video-thumb img{width:100%;height:auto}
.play-btn{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  background:rgba(0,0,0,.18);transition:background .2s ease;
}
.video-thumb:hover .play-btn,
.video-thumb:focus-visible .play-btn{background:rgba(0,0,0,.32)}
.play-btn svg{filter:drop-shadow(0 2px 6px rgba(0,0,0,.4));width:84px;height:60px}
.video-card figcaption{
  text-align:center;color:var(--alert);font-weight:700;font-size:.95rem;margin-top:.6rem;
}

/* ---------- CTA ---------- */
.cta-wrap{text-align:center;margin:1.5rem 0}
.cta{
  display:inline-block;width:100%;max-width:520px;
  background:var(--navy-700);color:#fff;text-decoration:none;
  font-size:1.3rem;font-weight:800;line-height:1.2;
  padding:1.05rem 1.5rem;border-radius:var(--radius);
  box-shadow:0 4px 0 var(--navy);
  min-height:60px;          /* large tap target */
}
.cta:hover,.cta:focus-visible{background:var(--navy);box-shadow:0 2px 0 var(--navy);transform:translateY(2px)}
.cta-secondary{background:var(--navy-700);box-shadow:0 4px 0 var(--navy)}
.cta-secondary:hover,.cta-secondary:focus-visible{background:var(--navy)}
.micro{text-align:center;color:var(--ink-soft);font-size:.9rem;margin:-.6rem 0 0}

/* ---------- Alerts / callouts ---------- */
.alert{
  background:#fff4e9;border-left:5px solid var(--cta);
  padding:.85rem 1rem;font-weight:700;color:#7a2c06;border-radius:0 var(--radius) var(--radius) 0;
}
.callout{
  background:var(--paper-2);border:1px solid var(--line);border-left:5px solid var(--alert);
  padding:1rem 1.1rem;border-radius:0 var(--radius) var(--radius) 0;
}

/* ---------- Symptom checklist ---------- */
.checklist{list-style:none;margin:1rem 0 1.3rem;padding:0}
.checklist li{
  position:relative;padding:.7rem 0 .7rem 2.4rem;border-bottom:1px solid var(--line);
  font-weight:500;
}
.checklist li::before{
  content:"";position:absolute;left:0;top:.85rem;width:1.5rem;height:1.5rem;
  background:var(--navy-700);border-radius:5px;
}
.checklist li::after{
  content:"";position:absolute;left:.5rem;top:1.0rem;width:.5rem;height:.85rem;
  border:solid #fff;border-width:0 3px 3px 0;transform:rotate(45deg);
}

/* ---------- Reasons list (why everything failed) ---------- */
.reasons{list-style:none;margin:1rem 0 1.3rem;padding:0}
.reasons li{
  position:relative;padding:.7rem 0 .7rem 2.2rem;border-bottom:1px solid var(--line);
}
.reasons li::before{
  content:"\2717";          /* heavy ✗ */
  position:absolute;left:.1rem;top:.6rem;color:var(--alert);font-weight:900;font-size:1.25rem;
}

/* ---------- Testimonials ---------- */
.testimonial{
  margin:0 0 1.1rem;padding:1.1rem 1.2rem;background:var(--paper-2);
  border:1px solid var(--line);border-radius:var(--radius);
}
.t-head{display:flex;align-items:center;gap:.85rem;margin-bottom:.7rem}
.t-avatar{
  width:64px;height:64px;border-radius:50%;flex:0 0 auto;
  border:2px solid #fff;box-shadow:0 1px 4px rgba(19,41,75,.25);
}
.testimonial p{margin:0 0 .6rem;font-size:1.1rem}
.testimonial p:last-child{margin-bottom:0}
.t-name{
  font-weight:800;color:var(--navy);font-size:1rem!important;
  text-transform:uppercase;letter-spacing:.03em;line-height:1.25;margin:0!important;
}
.t-name span{
  display:block;font-weight:600;color:var(--ink-soft);text-transform:none;
  letter-spacing:0;font-size:.9rem;
}
.disclaimer-inline{color:var(--ink-soft);font-size:.86rem;font-style:italic;text-align:center}

/* ---------- FAQ ---------- */
.faq{margin-top:2.2rem;border-top:1px solid var(--line);padding-top:1rem}
.faq details{border-bottom:1px solid var(--line);padding:.4rem 0}
.faq summary{
  cursor:pointer;font-weight:700;font-size:1.1rem;padding:.6rem 0;color:var(--ink);
  list-style:none;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before{content:"+ ";color:var(--cta);font-weight:800}
.faq details[open] summary::before{content:"\2212 "}
.faq details p{margin:.3rem 0 .9rem;color:var(--ink-soft)}

/* ---------- Footer ---------- */
.site-footer{background:var(--paper-2);border-top:1px solid var(--line);margin-top:2.5rem;padding:1.6rem 0 2rem}
.footer-disclaimer{font-size:.85rem;color:var(--ink-soft);line-height:1.55;margin:0 0 .9rem}
.footer-links{margin:.6rem 0}
.footer-links a{display:inline-block;margin:0 .8rem .4rem 0;font-size:.9rem}
.copyright{font-size:.82rem;color:var(--ink-soft);margin:.5rem 0 0}

/* ---------- Larger screens ---------- */
@media (min-width:640px){
  h1{font-size:2.5rem}
  h2{font-size:1.7rem}
  body{font-size:1.2rem}
  .t-avatar{width:72px;height:72px}
}