
  :root{
    --navy:#243763; --navy-dark:#1B2C4F; --gold:#C8A96B; --gold-deep:#A57422;
    --cream:#F6F1E8; --paper:#fff; --ink:#23314e; --muted:#5d6878; --line:#e7e0d2;
    --radius:16px; --shadow:0 8px 24px rgba(36,55,99,.08); --tap:52px;
  }
  *{box-sizing:border-box}
  html{-webkit-text-size-adjust:100%; scroll-behavior:smooth}
  body{margin:0; background:var(--paper); color:var(--ink);
    font-family:"Source Sans 3",system-ui,-apple-system,sans-serif;
    font-size:19px; line-height:1.6; -webkit-font-smoothing:antialiased; padding-bottom:84px}
  h1,h2,h3{font-family:"Newsreader",Georgia,serif; color:var(--navy); line-height:1.15; margin:0 0 .4em}
  p{margin:0 0 1em}
  a{color:var(--gold-deep); text-decoration:none}
  .wrap{width:100%; max-width:720px; margin:0 auto; padding:0 22px}
  .narrow{max-width:580px}
  .eye{display:block; font-size:.74rem; font-weight:700; letter-spacing:.07em; text-transform:uppercase; color:var(--gold-deep); margin-bottom:.3em}
  .label{display:inline-flex; align-items:center; gap:.5em; font-size:.78rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--navy); background:var(--cream); border:1px solid var(--line); padding:.45em 1em; border-radius:999px; margin-bottom:.9em}
  .label::before{content:""; width:8px; height:8px; border-radius:50%; background:var(--gold)}
  .btn{display:inline-flex; align-items:center; justify-content:center; gap:.4em; min-height:var(--tap); padding:.7em 1.3em; border-radius:999px; font-weight:700; font-size:1.02rem; text-align:center; cursor:pointer; border:2px solid transparent; transition:transform .06s ease}
  .btn:active{transform:translateY(1px)}
  .btn-primary{background:var(--navy); color:#fff}
  .btn-gold{background:var(--gold); color:var(--navy-dark)}
  .btn-ghost{background:#fff; color:var(--navy); border-color:var(--navy)}
  .btn-ghost-onnavy{background:transparent; color:#fff; border-color:rgba(255,255,255,.7)}
  header{position:sticky; top:0; z-index:60; background:rgba(255,255,255,.97); backdrop-filter:saturate(1.2) blur(6px); border-bottom:1px solid var(--line)}
  .nav{display:flex; align-items:center; justify-content:space-between; max-width:1000px; margin:0 auto; padding:12px 22px}
  .brand{font-family:"Newsreader",serif; font-weight:700; font-size:1.18rem; color:var(--navy)}
  .navlinks{display:none; gap:1.5rem; align-items:center}
  .navlinks a{color:var(--navy); font-weight:600; font-size:1rem; padding:6px 0; border-bottom:2px solid transparent}
  .navlinks a:hover{color:var(--gold-deep)}
  .navlinks a.active{color:var(--gold-deep); border-bottom-color:var(--gold)}
  .menubtn{display:inline-flex; flex-direction:column; gap:5px; background:none; border:0; cursor:pointer; padding:10px; min-height:var(--tap)}
  .menubtn span{width:26px; height:3px; background:var(--navy); border-radius:2px}
  .mobilemenu{display:none; border-top:1px solid var(--line); background:#fff}
  .mobilemenu.open{display:block}
  .mobilemenu a{display:block; padding:16px 22px; color:var(--navy); font-weight:700; border-bottom:1px solid var(--line); font-size:1.1rem}
  .mobilemenu a.active{color:var(--gold-deep)}
  section{padding:40px 0}
  .hero{padding:34px 0 6px}
  .hero h1{font-size:2.1rem}
  .lead{font-size:1.12rem; color:var(--ink)}
  .sec{font-size:1.7rem}
  .intro{color:var(--muted); font-size:1.08rem}
  .ctas{display:flex; flex-wrap:wrap; gap:12px; margin-top:18px}
  .quietlinks{margin-top:14px; font-size:1rem}
  .quietlinks a{font-weight:700; margin-right:1.2rem}
  .cards{display:grid; gap:16px; margin-top:18px}
  .card{background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:22px; box-shadow:var(--shadow); display:flex; flex-direction:column}
  .card h3{font-size:1.3rem} .card p{color:var(--ink)}
  .card .more{margin-top:auto; font-weight:700; color:var(--navy)}
  .buybox{background:var(--navy); color:#eaf0fb; border-radius:var(--radius); padding:26px; margin-top:22px}
  .buybox h3{color:#fff; font-size:1.5rem}
  .buybox .price{font-family:"Newsreader",serif; font-size:2.2rem; color:#fff; margin:.1em 0 .3em}
  .buybox p{color:#d4ddee} .buybox .row{display:grid; gap:12px; margin-top:18px}
  .strike{color:#9fb0d0; font-size:1rem; text-decoration:line-through; font-weight:600; margin-left:.4em}
  .product{background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:24px; box-shadow:var(--shadow); margin-top:18px}
  .product.flag{background:var(--navy); color:#eaf0fb}
  .product.flag h3,.product.flag .price{color:#fff} .product.flag p{color:#d4ddee}
  .product.best{background:var(--cream); border-left:4px solid var(--gold)}
  .product h3{font-size:1.45rem}
  .product .price{font-family:"Newsreader",serif; font-size:1.9rem; color:var(--gold-deep)}
  .product .row{display:grid; gap:10px; margin-top:16px}
  details{border-top:1px solid var(--line); margin-top:14px; padding-top:6px}
  .product.flag details{border-color:rgba(255,255,255,.25)}
  summary{cursor:pointer; font-weight:700; padding:10px 0; list-style:none; min-height:var(--tap); display:flex; align-items:center; justify-content:space-between}
  summary::-webkit-details-marker{display:none}
  summary::after{content:"+"; font-size:1.3rem} details[open] summary::after{content:"\2013"}
  .inside{list-style:none; padding:0; margin:6px 0 10px; display:grid; gap:8px}
  .inside li{padding-left:1.4em; position:relative; color:inherit}
  .inside li::before{content:""; position:absolute; left:0; top:.55em; width:8px; height:8px; border-radius:50%; background:var(--gold)}
  .guidegrid{display:grid; gap:14px; margin-top:18px}
  .gcard{background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:18px; box-shadow:var(--shadow); display:flex; flex-direction:column}
  .gcard h3{font-size:1.12rem; margin-bottom:.2em} .gcard p{font-size:.98rem; color:var(--muted)}
  .gcard .more{margin-top:auto; font-weight:700; color:var(--gold-deep)}
  .who-list{list-style:none; padding:0; margin:18px 0 0; display:grid; gap:12px}
  .who-list li{background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:16px 18px; box-shadow:var(--shadow)}
  .who-list strong{display:block; color:var(--navy); font-size:1.06rem; margin-bottom:.15em}
  .who-list span{display:block; color:var(--muted); font-size:1rem}
  .who-list .res-link{display:inline-block; margin-top:.5em; font-weight:700; color:var(--gold-deep)}
  .beatcard{background:var(--cream); border-left:4px solid var(--gold)}
  .picks{display:grid; gap:12px; margin-top:14px}
  .pick{display:flex; align-items:center; justify-content:space-between; min-height:var(--tap); background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:14px 18px; box-shadow:var(--shadow)}
  .pick .pt{font-weight:700; color:var(--navy)} .pick .pp{font-weight:700; color:var(--gold-deep)}
  .talk{margin-top:24px; background:#fff; border:1px dashed var(--line); border-radius:var(--radius); padding:20px}
  .contact{font-size:.98rem; color:var(--muted)}
  .coach{background:var(--navy); color:#eaf0fb; border-radius:var(--radius); padding:26px; margin-top:26px}
  .coach h2,.coach h3{color:#fff} .coach p{color:#d4ddee}
  .coach .label{background:rgba(255,255,255,.1); color:#fff; border-color:rgba(255,255,255,.25)}
  .coach .tiers{display:grid; gap:12px; margin-top:16px}
  .tier{background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.18); border-radius:var(--radius); padding:18px}
  .tier h3{font-size:1.15rem; margin-bottom:.1em} .tier .tp{color:var(--gold); font-weight:700}
  .tier p{margin:.3em 0 .8em; font-size:.98rem}
  .coach .tools{background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.18); border-radius:var(--radius); padding:18px; margin-top:16px}
  .coach .tools strong{color:#fff}
  .beatgrid{display:grid; gap:14px; margin-top:18px}
  .topic{background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:20px; box-shadow:var(--shadow)}
  .topic .ic{font-size:1.6rem} .topic h3{font-size:1.2rem; margin:.3em 0 .25em}
  .topic .links{display:flex; flex-wrap:wrap; gap:.4em 1.1em; margin-top:.4em}
  .topic .links a{font-weight:700; font-size:.98rem}
  .honest{list-style:none; padding:0; margin:16px 0 0; display:grid; gap:10px}
  .honest li{padding-left:1.5em; position:relative}
  .honest li::before{content:"\2713"; position:absolute; left:0; color:var(--gold-deep); font-weight:700}
  .sourcerow{display:flex; flex-wrap:wrap; gap:10px; margin-top:12px}
  .sourcerow a{background:var(--cream); border:1px solid var(--line); border-radius:999px; padding:.5em 1.1em; font-weight:700; color:var(--navy)}
  footer{background:var(--navy); color:#cdd7ec; padding:32px 0; margin-top:10px}
  footer h3{font-size:1.05rem; margin:0 0 .2em; color:#fff} footer a{color:#fff}
  .foot-cols{display:grid; gap:18px}
  .disc{font-size:.85rem; color:#aebbd6; margin-top:16px; line-height:1.5}
  #sticky{position:fixed; left:0; right:0; bottom:0; z-index:55; background:var(--navy); border-top:1px solid var(--navy-dark); padding:10px 16px calc(10px + env(safe-area-inset-bottom)); display:none; align-items:center; justify-content:space-between; gap:12px}
  #sticky .msg{color:#eaf0fb; font-weight:700; font-size:.98rem}
  #sticky .btn{flex:0 0 auto; min-width:150px}
  .view[hidden]{display:none}
  @media (min-width:900px){
    .navlinks{display:flex} .menubtn{display:none} .mobilemenu{display:none!important}
    .hero h1{font-size:2.8rem}
    .cards,.guidegrid{grid-template-columns:1fr 1fr 1fr}
    .who-list,.picks,.beatgrid,.coach .tiers{grid-template-columns:1fr 1fr}
    .who-list .beatcard{grid-column:1/-1}
    .buybox .row,.product .row{grid-template-columns:auto auto; justify-content:start}
    .foot-cols{grid-template-columns:1fr 1fr 1fr}
    #sticky{display:none!important} body{padding-bottom:0}
  }
  @media (prefers-reduced-motion:reduce){*{transition:none!important; scroll-behavior:auto}}
  :focus-visible{outline:3px solid var(--gold); outline-offset:2px; border-radius:6px}
  /* ---- Product covers (sales impulse) ---- */
  .pcover{display:flex; gap:12px; justify-content:center; margin:0 0 18px}
  .pcover img{height:200px; width:auto; border:5px solid #fff; border-radius:6px; background:#fff; display:block; box-shadow:0 10px 24px rgba(20,30,55,.28)}
  .buybox .pcover img,.product.flag .pcover img{box-shadow:0 12px 28px rgba(0,0,0,.5)}
  .pbody{min-width:0}
  @media (min-width:900px){
    .hascover{display:flex; flex-direction:row; align-items:center; gap:30px}
    .hascover .pcover{flex:0 0 auto; margin:0; flex-direction:column}
    .hascover .pcover.duo{flex-direction:row}
    .hascover .pcover img{height:248px}
    .hascover .pbody{flex:1 1 auto}
  }


/* ===== Answers article layer ===== */
.article-wrap{max-width:760px;margin:0 auto;padding:0 20px}
.crumbs{font-size:.82rem;color:var(--muted);padding:18px 0 0}
.crumbs a{color:var(--gold-deep);font-weight:600;text-decoration:none}
.crumbs a:hover{text-decoration:underline}
.art-hero{padding:14px 0 8px;border-bottom:1px solid var(--line);margin-bottom:1.4em}
.art-hero h1{font-size:2.05rem;margin:.15em 0 .35em}
.art-hero .lead{font-size:1.18rem;color:var(--ink);line-height:1.55}
.art-meta{font-size:.82rem;color:var(--muted);margin-top:.9em}
article.prose{font-size:1.06rem;line-height:1.7;color:var(--ink)}
article.prose h2{font-size:1.5rem;margin:1.5em 0 .4em}
article.prose h3{font-size:1.16rem;margin:1.2em 0 .3em}
article.prose p{margin:.55em 0 1em}
article.prose ul{margin:.2em 0 1.2em;padding-left:1.2em}
article.prose li{margin:.4em 0}
article.prose a{color:var(--gold-deep);font-weight:600}
.callout{background:var(--cream);border:1px solid var(--line);border-radius:var(--radius);padding:1.1em 1.3em;margin:1.4em 0}
.callout strong{color:var(--navy)}
.takeaways{background:#fff;border:1px solid var(--line);border-left:5px solid var(--gold);border-radius:12px;padding:1.1em 1.3em;margin:1.6em 0}
.takeaways h2{font-size:1.18rem;margin:0 0 .4em}
.faq{margin:2em 0 1em}
.faq h2{font-size:1.5rem;margin-bottom:.5em}
.faq details{border:1px solid var(--line);border-radius:12px;padding:.2em 1em;margin:.6em 0;background:#fff}
.faq summary{font-family:"Newsreader",serif;font-weight:600;color:var(--navy);font-size:1.08rem;padding:.7em 0;cursor:pointer;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";float:right;color:var(--gold-deep);font-weight:700}
.faq details[open] summary::after{content:"\2013"}
.faq details p{margin:.2em 0 1em;color:var(--ink)}
.related{margin:2em 0;padding:1.3em;background:var(--cream);border-radius:var(--radius)}
.related h2{font-size:1.2rem;margin:0 0 .5em}
.related ul{list-style:none;padding:0;margin:0}
.related li{margin:.5em 0}
.related a{color:var(--navy);font-weight:600}
.guide-cta{text-align:center;background:var(--navy);color:#fff;border-radius:var(--radius);padding:1.7em 1.3em;margin:2.2em 0}
.guide-cta h2{color:#fff;font-size:1.45rem;margin:0 0 .3em}
.guide-cta p{color:#d8e0f0;margin:0 0 1em}
.guide-cta .btn-gold{background:var(--gold);color:var(--navy-dark);border-color:var(--gold)}
@media(min-width:900px){.navlinks{display:flex!important}.menubtn{display:none}.art-hero h1{font-size:2.4rem}}
/* ===== Single-product (Boomer Buddy Guide) CTA ===== */
.product-cta{display:flex;gap:1.4em;align-items:center;background:var(--navy);color:#fff;border-radius:var(--radius);padding:1.6em;margin:2.2em 0}
.product-cta .product-cover{width:150px;flex:none;border-radius:8px;box-shadow:0 10px 26px rgba(0,0,0,.35)}
.product-cta .eye{color:var(--gold)}
.product-cta h2{color:#fff;margin:.1em 0 .12em;font-size:1.6rem}
.product-cta p{color:#d8e0f0;margin:.3em 0 .9em}
.product-cta .price{font-family:"Newsreader",serif;font-size:1.75rem;font-weight:700;color:#fff;margin:.1em 0 .55em}
.product-cta .price .was{font-size:1rem;color:#9fb0d0;text-decoration:line-through;margin-left:.4em;font-weight:400}
.product-cta .btn-gold{background:var(--gold);color:var(--navy-dark);border-color:var(--gold)}
.secondary-note{font-size:.95rem;color:var(--muted);text-align:center;margin:-0.4em 0 2em}
@media(max-width:560px){.product-cta{flex-direction:column;text-align:center}.product-cta .product-cover{width:140px}}
