  :root{
    --ink:#1a1d1f;
    --ink-soft:#2c3033;
    --paper:#f7f4ef;
    --paper-warm:#efe9df;
    --rule:#d8d2c5;
    --accent:#7a3e2b;        /* burnt sienna — restrained, editorial */
    --accent-deep:#5a2c1e;
    --alert:#a8341f;          /* used sparingly */
    --moss:#3a4a3a;
    --muted:#6b6660;
    --gold:#b08a3e;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{
    font-family:'Source Serif 4', Georgia, serif;
    color:var(--ink);
    background:var(--paper);
    line-height:1.65;
    font-size:18px;
    -webkit-font-smoothing:antialiased;
  }
  .sans{font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif}

  /* ===== TOP STRIP ===== */
  .top-strip{
    background:var(--ink);
    color:var(--paper-warm);
    font-family:'Inter',sans-serif;
    font-size:12px;
    letter-spacing:0.08em;
    text-transform:uppercase;
    text-align:center;
    padding:10px 16px;
  }
  .top-strip strong{color:#fff}

  /* ===== HEADER ===== */
  header.site{
    border-bottom:1px solid var(--rule);
    background:var(--paper);
    padding:18px 24px;
  }
  .site-inner{
    max-width:1180px;
    margin:0 auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
  }
  .logo{
    font-family:'Inter',sans-serif;
    font-weight:800;
    font-size:22px;
    letter-spacing:0.02em;
    color:var(--ink);
    text-decoration:none;
    display:flex;
    align-items:center;
    gap:10px;
  }
  .logo-mark{
    width:30px;height:30px;
    display:inline-flex;align-items:center;justify-content:center;
    background:var(--ink);
    color:var(--paper);
    border-radius:3px;
    font-size:14px;
    font-weight:700;
  }
  .logo-mark svg{width:18px;height:18px}
  .logo small{
    display:block;
    font-size:9px;
    font-weight:500;
    color:var(--muted);
    letter-spacing:0.2em;
    text-transform:uppercase;
    margin-top:2px;
  }
  nav.site-nav{
    font-family:'Inter',sans-serif;
    font-size:13px;
    font-weight:500;
    letter-spacing:0.04em;
  }
  nav.site-nav a{
    color:var(--ink-soft);
    text-decoration:none;
    margin-left:24px;
  }
  nav.site-nav a:hover{color:var(--accent)}
  @media (max-width:680px){
    nav.site-nav{display:none}
  }

  /* ===== ADVERTORIAL LABEL ===== */
  .ad-label{
    max-width:760px;margin:24px auto 0;
    padding:0 24px;
    font-family:'Inter',sans-serif;
    font-size:11px;
    letter-spacing:0.25em;
    text-transform:uppercase;
    color:var(--muted);
    border-bottom:1px solid var(--rule);
    padding-bottom:10px;
  }
  .ad-label span{
    display:inline-block;
    background:var(--paper-warm);
    border:1px solid var(--rule);
    padding:3px 8px;
    margin-right:10px;
    color:var(--ink-soft);
  }

  /* ===== HERO ===== */
  .article{
    max-width:760px;
    margin:0 auto;
    padding:32px 24px 24px;
  }
  .article .kicker{
    font-family:'Inter',sans-serif;
    font-size:13px;
    font-weight:600;
    letter-spacing:0.12em;
    text-transform:uppercase;
    color:var(--accent);
    margin-bottom:14px;
  }
  .article h1{
    font-family:'Source Serif 4', Georgia, serif;
    font-size:clamp(30px, 4.8vw, 48px);
    line-height:1.12;
    font-weight:700;
    letter-spacing:-0.01em;
    color:var(--ink);
    margin-bottom:18px;
  }
  .article .dek{
    font-size:20px;
    line-height:1.5;
    color:var(--ink-soft);
    font-style:italic;
    font-weight:400;
    margin-bottom:22px;
    border-left:3px solid var(--accent);
    padding-left:18px;
  }
  .byline{
    font-family:'Inter',sans-serif;
    font-size:13px;
    color:var(--muted);
    display:flex;
    align-items:center;
    gap:14px;
    flex-wrap:wrap;
    padding:14px 0;
    border-top:1px solid var(--rule);
    border-bottom:1px solid var(--rule);
    margin-bottom:28px;
  }
  .byline .author{color:var(--ink);font-weight:600}
  .byline .dot{color:var(--rule)}

  /* ===== HERO IMAGE ===== */
  .hero-img{
    width:100%;
    aspect-ratio:16/9;
    border-radius:2px;
    background:
      linear-gradient(135deg, rgba(26,29,31,0.35), rgba(26,29,31,0.7)),
      radial-gradient(ellipse at 70% 30%, #5a6b6e 0%, #2c3539 40%, #1a1d1f 90%);
    position:relative;
    overflow:hidden;
    margin-bottom:14px;
  }
  .hero-img img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    position:relative;
    z-index:1;
  }
  .hero-img.has-photo{background:#0d1114}
  .hero-img.has-photo::before{display:none}
  .hero-img::before{
    content:"";
    position:absolute;
    inset:0;
    background-image:
      repeating-linear-gradient(45deg, rgba(255,255,255,0.02) 0 2px, transparent 2px 6px);
  }
  .hero-img-caption{
    font-family:'Inter',sans-serif;
    font-size:13px;
    color:var(--muted);
    border-bottom:1px solid var(--rule);
    padding-bottom:18px;
    margin-bottom:28px;
    line-height:1.5;
  }
  .hero-svg{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
  }

  /* ===== BODY ===== */
  .article p{
    margin-bottom:20px;
    font-size:19px;
    line-height:1.7;
  }
  .article p.lead::first-letter{
    font-family:'Source Serif 4', Georgia, serif;
    font-size:60px;
    float:left;
    line-height:0.9;
    padding:6px 10px 0 0;
    font-weight:700;
    color:var(--accent);
  }
  .article h2{
    font-family:'Source Serif 4', Georgia, serif;
    font-size:30px;
    line-height:1.2;
    font-weight:700;
    margin:42px 0 18px;
    color:var(--ink);
    letter-spacing:-0.01em;
  }
  .article h3{
    font-family:'Inter',sans-serif;
    font-size:15px;
    font-weight:700;
    letter-spacing:0.1em;
    text-transform:uppercase;
    color:var(--accent);
    margin:32px 0 12px;
  }
  .article strong{color:var(--ink);font-weight:700}
  .article em{color:var(--ink-soft)}

  blockquote{
    font-family:'Source Serif 4', Georgia, serif;
    font-style:italic;
    font-size:24px;
    line-height:1.4;
    color:var(--ink);
    border-left:3px solid var(--accent);
    padding:8px 0 8px 22px;
    margin:32px 0;
  }
  blockquote cite{
    display:block;
    margin-top:14px;
    font-style:normal;
    font-family:'Inter',sans-serif;
    font-size:13px;
    color:var(--muted);
    letter-spacing:0.05em;
  }

  /* ===== CALLOUT BOX ===== */
  .callout{
    background:var(--paper-warm);
    border:1px solid var(--rule);
    border-left:4px solid var(--accent);
    padding:24px 26px;
    margin:32px 0;
    font-family:'Inter',sans-serif;
  }
  .callout .ck{
    font-size:11px;
    letter-spacing:0.2em;
    text-transform:uppercase;
    color:var(--accent);
    font-weight:700;
    margin-bottom:10px;
  }
  .callout h4{
    font-family:'Source Serif 4', Georgia, serif;
    font-size:22px;
    line-height:1.3;
    color:var(--ink);
    margin-bottom:10px;
    font-weight:700;
  }
  .callout p{
    font-family:'Inter',sans-serif;
    font-size:15px;
    line-height:1.6;
    color:var(--ink-soft);
    margin:0;
  }

  /* ===== SPEC COMPARISON ===== */
  .spec-table{
    border:1px solid var(--rule);
    margin:32px 0;
    background:#fff;
  }
  .spec-row{
    display:grid;
    grid-template-columns:1.4fr 1fr 1fr 1fr;
    border-bottom:1px solid var(--rule);
    font-family:'Inter',sans-serif;
    font-size:14px;
  }
  .spec-row:last-child{border-bottom:none}
  .spec-row > div{
    padding:14px 12px;
    border-right:1px solid var(--rule);
    display:flex;
    align-items:center;
  }
  .spec-row > div:last-child{border-right:none}
  .spec-row.head{
    background:var(--ink);
    color:var(--paper-warm);
    font-weight:600;
    letter-spacing:0.04em;
    text-transform:uppercase;
    font-size:12px;
  }
  .spec-row.head > div{border-right-color:#3a3e42}
  .spec-row.us{
    background:var(--paper-warm);
    font-weight:600;
  }
  .spec-row.us .col-name{color:var(--accent-deep)}
  .spec-row .check{color:#2e6a3a;font-weight:700}
  .spec-row .x{color:#a8341f}
  @media (max-width:600px){
    .spec-row{grid-template-columns:1.4fr 1fr 1fr 1fr;font-size:12px}
    .spec-row > div{padding:10px 8px}
  }

  /* ===== STATS STRIP ===== */
  .stats{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:0;
    background:var(--ink);
    color:var(--paper-warm);
    margin:36px -8px;
    font-family:'Inter',sans-serif;
  }
  .stats > div{
    padding:24px 16px;
    text-align:center;
    border-right:1px solid #2c3033;
  }
  .stats > div:last-child{border-right:none}
  .stats .num{
    font-family:'Source Serif 4', Georgia, serif;
    font-size:42px;
    font-weight:700;
    line-height:1;
    color:#fff;
    letter-spacing:-0.02em;
  }
  .stats .lbl{
    font-size:11px;
    letter-spacing:0.15em;
    text-transform:uppercase;
    margin-top:8px;
    color:#c5beb1;
  }
  @media (max-width:600px){
    .stats{grid-template-columns:1fr;margin:24px -8px}
    .stats > div{border-right:none;border-bottom:1px solid #2c3033}
    .stats > div:last-child{border-bottom:none}
    .stats .num{font-size:34px}
  }

  /* ===== TESTIMONIAL CARDS ===== */
  .testimonials{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:18px;
    margin:32px 0;
  }
  .t-card{
    background:#fff;
    border:1px solid var(--rule);
    padding:22px 22px 20px;
  }
  .t-stars{
    color:var(--gold);
    font-size:14px;
    letter-spacing:2px;
    margin-bottom:10px;
  }
  .t-quote{
    font-family:'Source Serif 4', Georgia, serif;
    font-size:15px;
    line-height:1.55;
    color:var(--ink);
    margin-bottom:12px;
  }
  .t-meta{
    font-family:'Inter',sans-serif;
    font-size:12px;
    color:var(--muted);
    border-top:1px solid var(--rule);
    padding-top:10px;
  }
  .t-meta strong{color:var(--ink);display:block;font-size:13px;margin-bottom:2px}
  .t-verified{
    display:inline-block;
    background:#e8f0e6;
    color:#2e6a3a;
    font-size:10px;
    padding:2px 6px;
    border-radius:2px;
    letter-spacing:0.08em;
    text-transform:uppercase;
    font-weight:600;
    margin-left:6px;
  }
  @media (max-width:600px){
    .testimonials{grid-template-columns:1fr}
  }

  /* ===== OFFER CARD ===== */
  .offer-section{
    background:var(--paper-warm);
    border-top:1px solid var(--rule);
    border-bottom:1px solid var(--rule);
    padding:48px 0;
    margin:48px 0;
  }
  .offer-card{
    max-width:760px;
    margin:0 auto;
    padding:0 24px;
  }
  .offer-card .o-label{
    text-align:center;
    font-family:'Inter',sans-serif;
    font-size:11px;
    letter-spacing:0.3em;
    text-transform:uppercase;
    color:var(--accent);
    font-weight:700;
    margin-bottom:14px;
  }
  .offer-card h2{
    text-align:center;
    margin-top:0;
    font-size:34px;
    margin-bottom:8px;
  }
  .offer-card .o-sub{
    text-align:center;
    font-family:'Inter',sans-serif;
    font-size:15px;
    color:var(--ink-soft);
    margin-bottom:28px;
  }

  /* Timer */
  .timer-wrap{
    text-align:center;
    margin:0 auto 28px;
    max-width:480px;
  }
  .timer-label{
    font-family:'Inter',sans-serif;
    font-size:12px;
    letter-spacing:0.18em;
    text-transform:uppercase;
    color:var(--ink-soft);
    margin-bottom:10px;
    font-weight:600;
  }
  .timer{
    display:flex;
    justify-content:center;
    gap:10px;
  }
  .timer .seg{
    background:var(--ink);
    color:#fff;
    padding:14px 6px 10px;
    border-radius:3px;
    min-width:74px;
    font-family:'Inter',sans-serif;
  }
  .timer .seg .v{
    font-size:30px;
    font-weight:700;
    line-height:1;
    font-variant-numeric:tabular-nums;
    letter-spacing:-0.02em;
  }
  .timer .seg .u{
    font-size:10px;
    letter-spacing:0.15em;
    text-transform:uppercase;
    color:#a8a39a;
    margin-top:6px;
  }
  @media (max-width:480px){
    .timer .seg{min-width:62px;padding:12px 4px 8px}
    .timer .seg .v{font-size:24px}
  }

  /* Product/Offer box */
  .offer-box{
    background:#fff;
    border:1px solid var(--rule);
    padding:32px;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:32px;
    align-items:center;
  }
  .offer-img{
    aspect-ratio:1/1;
    background:#fff;
    border:1px solid var(--rule);
    border-radius:2px;
    position:relative;
    overflow:hidden;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:18px;
  }
  .offer-img img{
    max-width:100%;
    max-height:100%;
    width:auto;
    height:auto;
    object-fit:contain;
    display:block;
  }
  .article-figure{
    margin:36px 0;
  }
  .article-figure img{
    width:100%;
    display:block;
    border:1px solid var(--rule);
  }
  .article-figure figcaption{
    font-family:'Inter',sans-serif;
    font-size:13px;
    color:var(--muted);
    line-height:1.5;
    padding:10px 2px 0;
    border-bottom:1px solid var(--rule);
    padding-bottom:14px;
  }
  .article-figure figcaption strong{color:var(--ink-soft)}
  .offer-img .badge{
    position:absolute;
    top:14px;left:14px;
    background:var(--alert);
    color:#fff;
    font-family:'Inter',sans-serif;
    font-size:11px;
    font-weight:700;
    letter-spacing:0.1em;
    text-transform:uppercase;
    padding:6px 10px;
    z-index:2;
  }
  .offer-details h3{
    font-family:'Inter',sans-serif;
    font-size:11px;
    letter-spacing:0.2em;
    text-transform:uppercase;
    color:var(--muted);
    margin-bottom:8px;
    font-weight:600;
  }
  .offer-details .title{
    font-family:'Source Serif 4', Georgia, serif;
    font-size:24px;
    line-height:1.2;
    font-weight:700;
    margin-bottom:12px;
    color:var(--ink);
  }
  .offer-details .stars{
    color:var(--gold);
    font-size:14px;
    letter-spacing:2px;
  }
  .offer-details .stars-text{
    font-family:'Inter',sans-serif;
    font-size:13px;
    color:var(--muted);
    margin-bottom:18px;
  }
  .price-row{
    display:flex;
    align-items:baseline;
    gap:10px;
    margin-bottom:6px;
  }
  .price-now{
    font-family:'Inter',sans-serif;
    font-size:34px;
    font-weight:700;
    color:var(--ink);
    letter-spacing:-0.02em;
  }
  .price-was{
    font-family:'Inter',sans-serif;
    font-size:18px;
    color:var(--muted);
    text-decoration:line-through;
  }
  .save-pill{
    display:inline-block;
    background:#e8f0e6;
    color:#2e6a3a;
    font-family:'Inter',sans-serif;
    font-size:12px;
    font-weight:700;
    letter-spacing:0.08em;
    text-transform:uppercase;
    padding:4px 8px;
    margin-bottom:18px;
  }
  .o-feats{
    list-style:none;
    margin-bottom:22px;
  }
  .o-feats li{
    font-family:'Inter',sans-serif;
    font-size:14px;
    color:var(--ink-soft);
    padding:5px 0 5px 22px;
    position:relative;
    line-height:1.5;
  }
  .o-feats li::before{
    content:"";
    position:absolute;
    left:0;top:11px;
    width:12px;height:6px;
    border-left:2px solid var(--accent);
    border-bottom:2px solid var(--accent);
    transform:rotate(-45deg);
  }

  .cta{
    display:block;
    width:100%;
    text-align:center;
    background:var(--ink);
    color:#fff;
    font-family:'Inter',sans-serif;
    font-size:16px;
    font-weight:700;
    letter-spacing:0.06em;
    text-transform:uppercase;
    text-decoration:none;
    padding:18px 24px;
    border:none;
    cursor:pointer;
    transition:background 0.2s;
  }
  .cta:hover{background:var(--accent-deep)}
  .cta.lg{font-size:17px;padding:22px 28px}
  .cta-sub{
    font-family:'Inter',sans-serif;
    font-size:12px;
    color:var(--muted);
    text-align:center;
    margin-top:10px;
    letter-spacing:0.04em;
  }
  @media (max-width:680px){
    .offer-box{grid-template-columns:1fr;padding:24px;gap:20px}
    .price-now{font-size:30px}
  }

  /* ===== TRUST BAR ===== */
  .trust-bar{
    max-width:760px;
    margin:24px auto 0;
    padding:0 24px;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:14px;
  }
  .trust-bar div{
    font-family:'Inter',sans-serif;
    font-size:12px;
    color:var(--ink-soft);
    text-align:center;
    padding:14px 8px;
    border:1px solid var(--rule);
    background:#fff;
    line-height:1.4;
  }
  .trust-bar strong{display:block;color:var(--ink);font-size:13px;margin-bottom:2px}
  @media (max-width:600px){
    .trust-bar{grid-template-columns:1fr;gap:8px}
  }

  /* ===== FAQ ===== */
  .faq{
    max-width:760px;
    margin:48px auto;
    padding:0 24px;
  }
  .faq h2{
    font-family:'Source Serif 4', Georgia, serif;
    font-size:30px;
    margin-bottom:20px;
    text-align:center;
  }
  .faq details{
    border-bottom:1px solid var(--rule);
    padding:18px 0;
  }
  .faq summary{
    font-family:'Inter',sans-serif;
    font-weight:600;
    font-size:16px;
    color:var(--ink);
    cursor:pointer;
    list-style:none;
    position:relative;
    padding-right:30px;
  }
  .faq summary::-webkit-details-marker{display:none}
  .faq summary::after{
    content:"+";
    position:absolute;
    right:0;top:-4px;
    font-size:22px;
    color:var(--accent);
    font-weight:300;
  }
  .faq details[open] summary::after{content:"–"}
  .faq details p{
    margin-top:12px;
    font-family:'Source Serif 4', Georgia, serif;
    font-size:16px;
    color:var(--ink-soft);
    line-height:1.6;
  }

  /* ===== MORE FROM THE JOURNAL ===== */
  .more-section{
    max-width:1100px;
    margin:56px auto 16px;
    padding:0 24px;
  }
  .more-head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    border-bottom:1px solid var(--rule);
    padding-bottom:14px;
    margin-bottom:28px;
  }
  .more-head h2{
    font-family:'Source Serif 4', Georgia, serif;
    font-size:26px;
    font-weight:700;
    color:var(--ink);
    letter-spacing:-0.01em;
  }
  .more-head .more-link{
    font-family:'Inter',sans-serif;
    font-size:12px;
    letter-spacing:0.12em;
    text-transform:uppercase;
    color:var(--accent);
    text-decoration:none;
    font-weight:600;
  }
  .more-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:28px;
  }
  .article-card{
    text-decoration:none;
    color:inherit;
    display:block;
  }
  .article-card .card-img{
    width:100%;
    height:240px;
    border-radius:2px;
    overflow:hidden;
    margin-bottom:14px;
    position:relative;
    background:#f4f1eb;
    display:flex;
    align-items:center;
    justify-content:center;
  }
  .article-card .card-img img{
    max-width:100%;
    max-height:100%;
    width:auto;
    height:auto;
    object-fit:contain;
    padding:14px;
    box-sizing:border-box;
    display:block;
  }
  .article-card .card-cat{
    font-family:'Inter',sans-serif;
    font-size:11px;
    font-weight:700;
    letter-spacing:0.15em;
    text-transform:uppercase;
    color:var(--accent);
    margin-bottom:8px;
  }
  .article-card h3{
    font-family:'Source Serif 4', Georgia, serif;
    font-size:20px;
    line-height:1.25;
    font-weight:700;
    color:var(--ink);
    margin-bottom:10px;
    letter-spacing:-0.01em;
    transition:color 0.2s;
  }
  .article-card:hover h3{color:var(--accent)}
  .article-card .card-meta{
    font-family:'Inter',sans-serif;
    font-size:12px;
    color:var(--muted);
  }
  @media (max-width:780px){
    .more-grid{grid-template-columns:1fr;gap:24px}
    .more-head{flex-direction:column;align-items:flex-start;gap:6px}
  }

  /* ===== FOOTER ===== */
  footer.site{
    background:var(--ink);
    color:#a8a39a;
    padding:36px 24px 24px;
    margin-top:48px;
    font-family:'Inter',sans-serif;
    font-size:13px;
    line-height:1.6;
  }
  footer.site .f-inner{
    max-width:760px;
    margin:0 auto;
  }
  footer.site .disclosure{
    background:#2c3033;
    border-left:3px solid var(--accent);
    padding:14px 16px;
    margin-bottom:22px;
    font-size:12px;
    line-height:1.6;
  }
  footer.site .disclosure strong{color:#fff;display:block;margin-bottom:4px;letter-spacing:0.08em;text-transform:uppercase;font-size:11px}
  footer.site .f-grid{
    display:grid;
    grid-template-columns:2fr 1fr 1fr;
    gap:30px;
    padding:24px 0;
    border-top:1px solid #3a3e42;
    border-bottom:1px solid #3a3e42;
    margin-bottom:18px;
  }
  footer.site .f-brand{
    font-family:'Inter',sans-serif;
    color:#fff;
    font-size:18px;
    font-weight:800;
    margin-bottom:8px;
  }
  footer.site h5{
    color:#fff;
    font-size:11px;
    letter-spacing:0.15em;
    text-transform:uppercase;
    margin-bottom:10px;
    font-weight:600;
  }
  footer.site a{color:#a8a39a;text-decoration:none;display:block;padding:3px 0}
  footer.site a:hover{color:#fff}
  footer.site .copy{
    font-size:11px;
    color:#6b6660;
    text-align:center;
    letter-spacing:0.04em;
  }
  @media (max-width:600px){
    footer.site .f-grid{grid-template-columns:1fr;gap:20px}
  }

  /* ===== STICKY CTA (mobile) ===== */
  .sticky-cta{
    position:fixed;
    bottom:0;left:0;right:0;
    background:var(--ink);
    border-top:2px solid var(--accent);
    padding:10px 14px;
    display:none;
    z-index:50;
    align-items:center;
    gap:10px;
    justify-content:space-between;
  }
  .sticky-cta .sp{
    color:#fff;
    font-family:'Inter',sans-serif;
    font-size:13px;
    line-height:1.2;
  }
  .sticky-cta .sp strong{font-size:15px;color:#fff;display:block}
  .sticky-cta .sp .was{font-size:11px;color:#a8a39a;text-decoration:line-through}
  .sticky-cta a{
    background:var(--accent);
    color:#fff;
    font-family:'Inter',sans-serif;
    font-size:12px;
    font-weight:700;
    letter-spacing:0.06em;
    text-transform:uppercase;
    padding:11px 14px;
    text-decoration:none;
    white-space:nowrap;
  }
  @media (max-width:700px){
    .sticky-cta{display:flex}
    body{padding-bottom:70px}
  }
