:root{
    --black:#000000;
    --ink:#3a3a3a;
    --ink-soft:#4a4a4a;
    --gold:#c79a3f;          /* italic accent words */
    --gold-deep:#b07d2a;     /* italic body emphasis */
    --yellow:#dccb3f;        /* CTA button */
    --green:#15935a;         /* CTA button (emerald) */
    --green-dark:#0f7d4b;    /* CTA hover */
    --yellow-hi:#f6ec7a;     /* text highlight */
    --cream:#fbf6da;         /* checklist panel */
    --check:#d4b13e;         /* checkmark circle */
    --check-green:#46b16a;   /* green checks (some lists) */
    --rule:#c9a23e;
    --serif:"Sora", "Helvetica Neue", Arial, sans-serif;
    --sans:"Poppins", "Helvetica Neue", Arial, sans-serif;
  }
  *{box-sizing:border-box;}
  html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
  body{
    margin:0;
    background:#ffffff;
    color:var(--ink);
    font-family:var(--sans);
    font-size:20.5px;
    line-height:1.66;
    -webkit-font-smoothing:antialiased;
  }
  /* ---------- top + bottom bars ---------- */
  .bar{
    background:var(--black);
    width:100%;
  }
  .bar-inner{
    max-width:1080px;
    margin:0 auto;
    padding:18px 28px;
    display:flex;
    justify-content:center;
    align-items:center;
  }
  .logo{
    color:#fff;
    font-family:var(--serif);
    font-weight:600;
    font-size:20px;
    letter-spacing:.22em;
    display:flex;
    align-items:center;
    gap:.1em;
  }
  .logo .glyph{
    font-size:26px;
    font-style:italic;
    font-weight:700;
    transform:translateY(1px);
    margin-right:.12em;
  }
  .logo img{ height:54px; width:auto; display:block; }
  /* ---------- main column ---------- */
  .wrap{
    max-width:650px;
    margin:0 auto;
    padding:54px 28px 70px;
  }
  /* ---------- headlines ---------- */
  h1,h2,h3{
    font-family:var(--serif);
    color:#111;
    font-weight:700;
    line-height:1.18;
    margin:0;
  }
  .hero-h1{
    font-size:44px;
    text-align:center;
    line-height:1.14;
    letter-spacing:.2px;
  }
  .hero-sub{
    font-family:var(--serif);
    font-size:20px;
    text-align:center;
    color:#1a1a1a;
    margin-top:16px;
    font-weight:500;
  }
  .hero-line{
    text-align:center;
    font-size:16px;
    margin-top:16px;
    color:#222;
  }
  .sec-h{
    font-size:33px;
    margin:42px 0 8px;
    line-height:1.2;
  }
  .sec-h.center{ text-align:center; }
  .sec-h.big{ font-size:35px; }
  .gold-i{ color:var(--gold); font-style:italic; }
  .em-gold{ color:var(--gold-deep); font-style:italic; font-weight:600; }
  /* ---------- body text ---------- */
  p{ margin:0 0 16px; }
  .wrap p{ font-size:20.5px; }
  .hi{ background:var(--yellow-hi); padding:0 2px; box-decoration-break:clone;-webkit-box-decoration-break:clone; }
  strong{ color:#1d1d1d; font-weight:700; }
  em{ }
  .desk{ font-weight:700; color:#1d1d1d; margin-bottom:0; }
  .desk + p{ margin-top:2px; }
  .desk-block{ display:flex; align-items:center; gap:20px; margin-top:4px; }
  .desk-photo{ width:100px; height:100px; flex:none; border-radius:50%; background:linear-gradient(135deg,#ededed,#dcdcdc); border:1px dashed #b9b9b9; display:flex; align-items:center; justify-content:center; text-align:center; color:#8a8a8a; font-size:11px; font-weight:500; letter-spacing:.04em; line-height:1.3; overflow:hidden; }
  .desk-photo img{ width:100%; height:100%; object-fit:cover; }
  .desk-text{ min-width:0; }
  @media (max-width:520px){
    .desk-block{ flex-direction:column; align-items:flex-start; gap:12px; }
  }
  .rule{
    width:34px;height:0;border:none;border-top:2px solid var(--rule);
    margin:14px 0 22px;
  }
  /* ---------- CTA button ---------- */
  .cta{
    display:block;
    width:100%;
    background:var(--green);
    border:none;
    border-radius:7px;
    padding:22px 16px 18px;
    text-align:center;
    text-decoration:none;
    color:#ffffff;
    cursor:pointer;
    margin:30px 0;
    box-shadow:0 16px 26px -14px rgba(15,110,65,.7);
    transition:transform .12s ease, box-shadow .12s ease, background .12s ease;
  }
  .cta:hover{ transform:translateY(-2px); background:var(--green-dark); box-shadow:0 22px 30px -14px rgba(15,110,65,.75); }
  .cta:active{ transform:translateY(0); }
  .cta .big{
    display:block;
    font-family:var(--sans);
    font-weight:700;
    font-size:24px;
    line-height:1.15;
    letter-spacing:.2px;
  }
  .cta .small{
    display:block;
    font-size:12px;
    font-weight:500;
    margin-top:6px;
    color:rgba(255,255,255,.9);
  }
  /* ---------- image placeholders ---------- */
  .img{
    background:linear-gradient(135deg,#efefef,#e3e3e3);
    border:1px dashed #b9b9b9;
    border-radius:4px;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    color:#8a8a8a;
    font-size:12px;
    font-weight:500;
    letter-spacing:.04em;
    padding:10px;
    margin:28px auto;
    line-height:1.4;
  }
  .img.book{ height:280px; width:330px; background:linear-gradient(135deg,#e9e9ec,#d8d8de); }
  .img.wide{ height:300px; width:100%; }
  .img.tall{ height:360px; width:100%; }
  .img.square{ height:280px; width:300px; }
  .img.portrait{ height:280px; width:280px; }
  .img.book-flat{ height:220px; width:100%; }
  .img.stage{ height:320px; width:100%; }
  .caption{
    text-align:center;
    font-size:12px;
    font-style:italic;
    color:#555;
    margin:-12px 0 18px;
    line-height:1.4;
  }
  /* ---------- press / forbes card ---------- */
  .press{
    border:1px solid #e2e2e2;
    border-radius:4px;
    margin:22px 0;
    overflow:hidden;
    box-shadow:0 2px 10px rgba(0,0,0,.05);
  }
  .press-head{
    background:var(--black);
    color:#fff;
    text-align:center;
    font-family:var(--serif);
    font-weight:700;
    font-size:24px;
    padding:11px 0;
    letter-spacing:.5px;
  }
  .press-body{ padding:20px 22px 22px; }
  .press-body h4{
    font-family:var(--serif);
    font-size:25px;
    font-weight:700;
    color:#111;
    margin:0 0 11px;
    line-height:1.2;
  }
  .press-meta{ font-size:12px; color:#777; margin-bottom:11px; }
  .press-meta .by{ color:#222; font-weight:600; }
  .press-body p{ font-size:14px; color:#444; line-height:1.6; margin:0; }
  .press-hl{ background:#bcdcff; }
  /* stacked headline-style press (three rows) */
  .press-rows{ border:1px solid #e2e2e2; border-radius:4px; padding:6px 0; margin:22px 0; box-shadow:0 2px 10px rgba(0,0,0,.05); }
  .prow{ display:flex; gap:12px; padding:12px 14px; border-bottom:1px solid #efefef; }
  .prow:last-child{ border-bottom:none; }
  .prow .pr-text{ flex:1; }
  .prow .pub{ font-size:10px; color:#888; margin-bottom:3px; }
  .prow .pr-title{ font-size:12px; color:#5b3fb0; font-weight:600; line-height:1.3; margin-bottom:4px; }
  .prow .pr-sub{ font-size:10.5px; color:#777; line-height:1.4; }
  .prow .pr-thumb{ width:46px;height:46px;flex:none;border-radius:4px;background:linear-gradient(135deg,#e6e6e6,#d2d2d2);border:1px dashed #bbb; }
  /* ---------- checklists ---------- */
  ul.checks{ list-style:none; margin:14px 0 8px; padding:0; }
  ul.checks li{ position:relative; padding:0 0 12px 32px; font-size:20.5px; line-height:1.5; }
  ul.checks li::before{
    content:"✓";
    position:absolute; left:0; top:5px;
    width:21px;height:21px;border-radius:50%;
    background:var(--check); color:#fff;
    font-size:13px; font-weight:700;
    display:flex;align-items:center;justify-content:center;
    line-height:1;
  }
  ul.checks.green li::before{ background:var(--check-green); }
  /* learn panel (cream box) */
  .panel{
    background:var(--cream);
    border-radius:8px;
    padding:28px 26px 16px;
    margin:26px 0;
  }
  .panel ul{ list-style:none; margin:0; padding:0; }
  .panel li{ position:relative; padding:0 0 22px 34px; font-size:20.5px; line-height:1.5; }
  .panel li::before{
    content:"✓";
    position:absolute; left:0; top:5px;
    width:22px;height:22px;border-radius:50%;
    background:var(--check); color:#fff;
    font-size:13px; font-weight:700;
    display:flex;align-items:center;justify-content:center;
  }
  .panel li b{ color:#1d1d1d; }
  /* ---------- testimonials ---------- */
  .reviews{ margin:14px 0; }
  .review{
    border:1px solid #e6e6e6;
    border-radius:6px;
    padding:14px 16px;
    margin-bottom:12px;
    box-shadow:0 1px 4px rgba(0,0,0,.04);
  }
  .review-head{ display:flex; align-items:center; gap:9px; margin-bottom:6px; }
  .avatar{ width:26px;height:26px;border-radius:50%;background:#d9d9d9;flex:none; }
  .rev-name{ font-size:14px; font-weight:600; color:#222; display:flex; align-items:center; gap:5px; }
  .verified-badge{ width:13px;height:13px;border-radius:50%;background:#1f8fe0;color:#fff;font-size:8px;display:inline-flex;align-items:center;justify-content:center; }
  .stars{ color:#e8a020; font-size:13px; letter-spacing:1px; }
  .rev-title{ font-size:14px; font-weight:700; color:#222; margin:3px 0 2px; }
  .rev-date{ font-size:11.5px; color:#888; margin-bottom:4px; }
  .verified{ font-size:11px; color:#c45500; font-weight:600; margin-bottom:8px; }
  .review p{ font-size:13px; color:#444; line-height:1.6; margin:0 0 8px; }
  .review p:last-child{ margin-bottom:0; }
  /* ---------- footer ---------- */
  .footer-inner{
    max-width:920px;
    margin:0 auto;
    padding:60px 26px 70px;
    color:#cfcfcf;
    text-align:center;
  }
  .footer-inner .logo{ font-size:18px; margin-bottom:8px; }
  .footer-inner .logo img{ height:46px; }
  .foot-co{ color:#fff; font-size:11px; font-weight:700; margin-bottom:14px; }
  .foot-links{ display:flex; justify-content:center; flex-wrap:wrap; gap:6px 18px; margin-bottom:6px; }
  .foot-links a{ color:var(--yellow); font-size:11px; text-decoration:none; font-weight:600; }
  .foot-links a:hover{ text-decoration:underline; }
  .disclaimer{ color:#5e5e5e; font-size:10px; line-height:1.6; margin-top:26px; max-width:680px; margin-left:auto; margin-right:auto; }
  .disclaimer p{ margin:0 0 10px; }
  @media (max-width:740px){
    .wrap{ padding-left:20px; padding-right:20px; }
    .hero-h1{ font-size:32px; }
    .sec-h{ font-size:25px; }
    .sec-h.big{ font-size:26px; }
    .img.book,.img.square,.img.portrait{ width:100%; max-width:330px; }
  }
  /* nav */
  .bar-inner{ justify-content:space-between; flex-wrap:wrap; gap:12px 22px; }
  .nav{ display:flex; align-items:center; gap:24px; flex-wrap:wrap; }
  .nav a{ color:#e7e7e7; text-decoration:none; font-family:var(--sans); font-size:14px; font-weight:500; letter-spacing:.03em; transition:color .12s ease; }
  .nav a:hover{ color:#fff; }
  .nav a.active{ color:var(--gold); }
  .nav a.nav-apply{ background:transparent; color:var(--gold); border:1.5px solid var(--gold); padding:6px 14px; border-radius:6px; font-weight:600; }
  .nav a.nav-apply:hover{ background:var(--gold); color:#111; }
  @media (max-width:600px){
    .bar-inner{ justify-content:center; }
    .nav{ gap:14px 18px; justify-content:center; }
    .nav a{ font-size:13px; }
    .nav a.nav-apply{ padding:5px 12px; }
  }
  /* mobile menu */
  .nav-toggle{ display:none; background:none; border:none; color:#fff; cursor:pointer; padding:6px; -webkit-tap-highlight-color:transparent; }
  .nav-toggle svg{ width:28px; height:28px; stroke:currentColor; display:block; }
  @media (max-width:720px){
    .bar{ position:relative; }
    .bar-inner{ justify-content:space-between; flex-wrap:nowrap; align-items:center; gap:10px; }
    .nav-toggle{ display:inline-flex; }
    .nav{
      display:none; position:absolute; top:100%; left:0; right:0; margin:0;
      background:#000; flex-direction:column; align-items:stretch; gap:0;
      padding:4px 0 10px; border-top:1px solid #1d1d1d; z-index:80;
      box-shadow:0 18px 30px -16px rgba(0,0,0,.85);
    }
    .bar.open .nav{ display:flex; }
    .nav a{ width:100%; padding:13px 24px; font-size:15.5px; }
  }

/* --- wordmark sizing for the longer brand name (only addition) --- */
.logo{ font-size:17px; letter-spacing:.16em; white-space:nowrap; }
.logo .glyph{ font-size:23px; }
@media (max-width:600px){ .logo{ font-size:14px; letter-spacing:.12em; } .logo .glyph{ font-size:19px; } }

/* generic centering utility (used by price lines / centered paragraphs) */
.center{ text-align:center; }
.wrap p.center{ text-align:center; }

/* ---------- pack catalog (horizontal scroll of cards) ---------- */
.catalog{ margin:24px 0 6px; }
.catalog-track{
  display:flex; gap:18px; overflow-x:auto; padding:6px 2px 16px;
  scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch;
}
.catalog-track::-webkit-scrollbar{ height:8px; }
.catalog-track::-webkit-scrollbar-track{ background:#f1f1f1; border-radius:4px; }
.catalog-track::-webkit-scrollbar-thumb{ background:#d4d4d4; border-radius:4px; }
.pcard{
  flex:0 0 250px; scroll-snap-align:start; display:flex; flex-direction:column;
  border:1px solid #e2e2e2; border-radius:8px; overflow:hidden; background:#fff;
  box-shadow:0 2px 10px rgba(0,0,0,.05); text-decoration:none; color:inherit;
  transition:transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}
.pcard:hover{ transform:translateY(-3px); box-shadow:0 16px 26px -14px rgba(0,0,0,.28); border-color:#cdb978; }
.pcard .thumb{
  aspect-ratio:1/1; width:100%;
  background:linear-gradient(135deg,#efefef,#e3e3e3); border-bottom:1px dashed #c7c7c7;
  display:flex; align-items:center; justify-content:center; text-align:center;
  color:#8a8a8a; font-size:11px; font-weight:500; letter-spacing:.04em; line-height:1.4; padding:12px;
}
.pcard .pc-body{ padding:16px 16px 18px; display:flex; flex-direction:column; flex:1; }
.pcard .pc-kicker{ font-size:10.5px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--gold-deep); margin-bottom:5px; }
.pcard .pc-title{ font-family:var(--serif); font-size:19px; font-weight:700; color:#111; line-height:1.18; margin:0 0 8px; }
.pcard .pc-blurb{ font-size:13px; color:#555; line-height:1.5; margin:0 0 14px; }
.pcard .pc-foot{ margin-top:auto; display:flex; align-items:center; justify-content:space-between; gap:8px; }
.pcard .pc-price{ font-family:var(--serif); font-weight:700; color:#111; font-size:18px; }
.pcard .pc-price s{ color:#9a9a9a; font-size:13px; font-weight:400; margin-left:4px; }
.pcard .pc-go{ background:var(--green); color:#fff; font-family:var(--sans); font-size:12.5px; font-weight:600; padding:8px 13px; border-radius:6px; white-space:nowrap; }
.pcard:hover .pc-go{ background:var(--green-dark); }
.catalog-hint{ text-align:center; font-size:12px; color:#999; margin:2px 0 0; font-style:italic; }
@media (max-width:600px){
  .pcard{ flex-basis:80%; }
  .catalog-track{ gap:14px; }
}

/* ============ HOMEPAGE LANDING LAYOUT ============ */
.container{ max-width:1080px; margin:0 auto; padding:0 28px; }
.section{ padding:62px 0; }
.band-cream{ background:var(--cream); }
.eyebrow{ font-family:var(--sans); font-weight:600; letter-spacing:.22em; text-transform:uppercase; font-size:12px; color:var(--gold-deep); text-align:center; margin:0 0 14px; }

.home-hero{ text-align:center; padding:74px 0 28px; }
.home-hero h1{ font-family:var(--serif); font-weight:800; font-size:54px; line-height:1.08; color:#111; margin:0 auto; max-width:800px; }
.home-hero .lead{ font-family:var(--sans); font-size:20px; color:#333; line-height:1.6; max-width:640px; margin:20px auto 0; }

.btn-row{ display:flex; gap:16px; justify-content:center; align-items:center; flex-wrap:wrap; margin-top:30px; }
.btn{
  display:inline-block; background:var(--green); color:#fff; font-family:var(--sans);
  font-weight:700; font-size:16px; padding:15px 30px; border-radius:7px; text-decoration:none;
  box-shadow:0 14px 24px -14px rgba(15,110,65,.7);
  transition:transform .12s ease, background .12s ease, box-shadow .12s ease;
}
.btn:hover{ background:var(--green-dark); transform:translateY(-2px); box-shadow:0 20px 28px -14px rgba(15,110,65,.75); }
.btn-ghost{ background:transparent; color:#1d1d1d; border:1.5px solid #cdb978; box-shadow:none; }
.btn-ghost:hover{ background:#faf3df; color:#1d1d1d; box-shadow:none; }

.thumbs{ display:flex; justify-content:center; gap:14px; flex-wrap:wrap; margin-top:46px; }
.thumb-mini{
  width:118px; height:118px; border-radius:10px; flex:none;
  background:linear-gradient(135deg,#efefef,#e3e3e3); border:1px dashed #c7c7c7;
  display:flex; align-items:center; justify-content:center; text-align:center;
  font-size:9.5px; color:#8a8a8a; letter-spacing:.04em; line-height:1.35; padding:8px;
}

.land-h{ font-family:var(--serif); font-weight:700; font-size:37px; text-align:center; color:#111; margin:0 0 12px; line-height:1.18; }
.land-h .gold-i{ color:var(--gold); font-style:italic; }
.land-sub{ font-family:var(--sans); text-align:center; color:#555; max-width:640px; margin:0 auto; font-size:17px; line-height:1.6; }
.narrow{ max-width:680px; }

@media (max-width:740px){
  .home-hero{ padding:50px 0 20px; }
  .home-hero h1{ font-size:36px; }
  .home-hero .lead{ font-size:18px; }
  .land-h{ font-size:28px; }
  .section{ padding:46px 0; }
  .thumb-mini{ width:96px; height:96px; }
}

/* ---------- pack grid (static, 3 per row) ---------- */
.pack-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:10px; }
.pack-grid .pcard{ flex:initial; }
@media (max-width:820px){ .pack-grid{ grid-template-columns:repeat(2,1fr); gap:18px; } }
@media (max-width:560px){ .pack-grid{ grid-template-columns:1fr; } }

/* ---------- hero video ---------- */
.video-frame{
  position:relative; max-width:760px; margin:36px auto 0; aspect-ratio:16/9;
  border-radius:12px; overflow:hidden; background:#000;
  box-shadow:0 26px 54px -24px rgba(0,0,0,.55); border:1px solid #e2e2e2;
}
.video-frame iframe, .video-frame video{ position:absolute; inset:0; width:100%; height:100%; border:0; }
.video-ph{
  position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:12px; text-align:center; background:radial-gradient(120% 120% at 50% 32%, #2b2b2b, #000);
  color:#dcdcdc; cursor:pointer;
}
.video-ph .play{
  width:76px; height:76px; border-radius:50%; background:var(--green);
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 12px 26px -8px rgba(0,0,0,.6); transition:transform .15s ease, background .15s ease;
}
.video-frame:hover .play{ transform:scale(1.07); background:var(--green-dark); }
.video-ph .play svg{ width:30px; height:30px; fill:#fff; margin-left:5px; }
.video-ph-label{ font-family:var(--serif); font-size:21px; color:#fff; letter-spacing:.03em; margin-top:2px; }
.video-ph-sub{ font-size:13px; color:#9a9a9a; max-width:300px; line-height:1.5; }
@media (max-width:740px){
  .video-frame{ margin-top:26px; }
  .video-ph-label{ font-size:18px; }
}

/* ============ E-COMMERCE ============ */
.bar-right{ display:flex; align-items:center; gap:18px; }
@media (max-width:760px){ .bar-right{ gap:14px; } }

/* product page layout */
.product{ max-width:1080px; margin:0 auto; padding:38px 28px 46px; display:grid; grid-template-columns:1fr 360px; gap:46px; align-items:start; }
.product-main{ min-width:0; grid-column:1; grid-row:1; }
.product-aside{ grid-column:2; grid-row:1; position:sticky; top:88px; align-self:start; }
.product-main h2.sec-h:first-child{ margin-top:6px; }
@media (max-width:880px){
  .product{ grid-template-columns:1fr; gap:30px; padding:26px 22px 40px; }
  .product-aside{ position:static; grid-column:1; grid-row:auto; order:-1; }
}

/* buy box */
.buybox{ border:1px solid #e4e4e4; border-radius:14px; overflow:hidden; background:#fff; box-shadow:0 10px 30px -16px rgba(0,0,0,.22); }
.buybox .bb-cover{ width:100%; aspect-ratio:1/1; background:linear-gradient(135deg,#efefef,#e3e3e3); border-bottom:1px dashed #c7c7c7; display:flex; align-items:center; justify-content:center; text-align:center; color:#8a8a8a; font-size:11px; letter-spacing:.04em; line-height:1.4; padding:14px; }
.buybox .bb-body{ padding:20px 20px 22px; }
.bb-kicker{ font-size:10.5px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--gold-deep); margin-bottom:6px; }
.bb-title{ font-family:var(--serif); font-weight:700; font-size:23px; line-height:1.18; color:#111; margin:0 0 8px; }
.bb-rating{ display:flex; align-items:center; gap:8px; font-size:13px; color:#666; margin-bottom:14px; }
.bb-rating .stars{ color:#e8a020; font-size:15px; letter-spacing:1px; }
.bb-price{ display:flex; align-items:baseline; gap:10px; flex-wrap:wrap; margin-bottom:4px; }
.bb-price .now{ font-family:var(--serif); font-weight:700; font-size:34px; color:#111; }
.bb-price s{ color:#9a9a9a; font-size:18px; }
.bb-badge{ background:#fdeccd; color:#9a6b16; font-size:11.5px; font-weight:700; padding:3px 9px; border-radius:20px; letter-spacing:.02em; }
.bb-sub{ font-size:13px; color:#777; margin:0 0 16px; }
.btn-buy{ display:block; width:100%; text-align:center; font-family:var(--sans); font-weight:700; font-size:16px; border-radius:8px; padding:15px; cursor:pointer; border:none; text-decoration:none; transition:transform .12s ease, background .12s ease, box-shadow .12s ease; }
.btn-buy{ background:var(--green); color:#fff; box-shadow:0 12px 22px -12px rgba(15,110,65,.75); }
.btn-buy:hover{ background:var(--green-dark); transform:translateY(-2px); }
.bb-trust{ list-style:none; margin:18px 0 0; padding:16px 0 0; border-top:1px solid #eee; }
.bb-trust li{ position:relative; padding:0 0 9px 24px; font-size:13.5px; color:#555; line-height:1.45; }
.bb-trust li::before{ content:"✓"; position:absolute; left:0; top:1px; color:var(--green); font-weight:700; }
.bb-upsell{ margin:14px 0 0; font-size:13px; color:#666; text-align:center; }
.bb-upsell a{ color:var(--green); font-weight:600; text-decoration:none; }
.bb-upsell a:hover{ text-decoration:underline; }

/* toast */
.jpu-toast{ position:fixed; left:50%; bottom:26px; transform:translate(-50%,140%); background:#15122b; color:#fff; padding:13px 20px; border-radius:10px; font-family:var(--sans); font-size:14px; box-shadow:0 14px 34px -10px rgba(0,0,0,.5); z-index:120; display:flex; align-items:center; gap:8px; transition:transform .28s cubic-bezier(.2,.9,.3,1.2); max-width:90vw; }
.jpu-toast span{ background:var(--green); width:20px; height:20px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; font-size:12px; }
.jpu-toast a{ color:var(--gold-soft); font-weight:600; text-decoration:none; }
.jpu-toast.show{ transform:translate(-50%,0); }

/* mobile sticky buy bar */
.mobile-buybar{ display:none; }
@media (max-width:880px){
  .mobile-buybar{ display:flex; position:fixed; left:0; right:0; bottom:0; z-index:80; background:#fff; border-top:1px solid #e2e2e2; box-shadow:0 -6px 20px rgba(0,0,0,.10); padding:9px 14px; align-items:center; gap:11px; }
  .mobile-buybar .mb-thumb{ width:44px; height:44px; flex:none; border-radius:9px; display:flex; align-items:center; justify-content:center; font-size:23px; }
  .mobile-buybar .mb-info{ flex:1; min-width:0; }
  .mobile-buybar .mb-title{ font-size:12.5px; font-weight:600; color:#222; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; line-height:1.25; }
  .mobile-buybar .mb-price{ font-family:var(--serif); font-weight:700; font-size:17px; color:#111; white-space:nowrap; }
  .mobile-buybar .btn-buy{ margin:0; flex:none; width:auto; padding:12px 18px; }

}

.cs-row{ display:flex; justify-content:space-between; font-size:15px; color:#444; margin-bottom:10px; }
.cs-total{ display:flex; justify-content:space-between; font-family:var(--serif); font-weight:700; font-size:22px; color:#111; padding-top:12px; border-top:1px solid #eee; margin-top:6px; }
.cs-save{ background:#eef7f1; color:#15935a; font-size:12.5px; font-weight:600; padding:8px 12px; border-radius:8px; text-align:center; margin:12px 0; }
.crosssell{ margin-top:26px; }
.crosssell h3{ font-family:var(--serif); font-size:20px; margin:0 0 14px; color:#111; }
.cross-item{ display:flex; align-items:center; gap:14px; padding:12px 0; border-bottom:1px solid #f0f0f0; }
.cross-item .x-cover{ width:48px; height:48px; flex:none; border-radius:6px; background:linear-gradient(135deg,#efefef,#e3e3e3); border:1px dashed #c7c7c7; }
.cross-item .x-info{ flex:1; min-width:0; }
.cross-item .x-title{ font-weight:600; font-size:14.5px; color:#222; }
.cross-item .x-price{ font-size:13px; color:#777; }
.cross-item .x-add{ background:#fff; border:1.4px solid var(--green); color:var(--green); font-weight:600; font-size:13px; padding:7px 13px; border-radius:7px; cursor:pointer; white-space:nowrap; }
.cross-item .x-add:hover{ background:#f1faf4; }
.bundle-cta{ background:var(--cream); border-radius:12px; padding:18px 20px; margin:22px 0 0; text-align:center; }
.bundle-cta b{ font-family:var(--serif); font-size:18px; color:#111; }

/* ---------- sales letter: cover, preview, tracklist ---------- */
.letter-cover{
  width:240px; aspect-ratio:1/1; margin:6px auto 22px; border-radius:12px;
  background:linear-gradient(135deg,#efefef,#e3e3e3); border:1px dashed #c7c7c7;
  display:flex; align-items:center; justify-content:center; text-align:center;
  color:#8a8a8a; font-size:12px; letter-spacing:.04em; line-height:1.5; padding:14px;
  box-shadow:0 12px 26px -16px rgba(0,0,0,.3);
}
.preview{ display:flex; align-items:center; gap:16px; border:1px solid #e4e4e4; border-radius:12px; padding:14px 16px; margin:0 0 26px; background:#fafafa; }
.preview .pv-cover{ width:60px; height:60px; flex:none; border-radius:8px; background:linear-gradient(135deg,#efefef,#e3e3e3); border:1px dashed #c7c7c7; display:flex; align-items:center; justify-content:center; text-align:center; font-size:8px; color:#9a9a9a; line-height:1.2; }
.preview .pv-body{ flex:1; min-width:0; }
.preview .pv-label{ font-family:var(--serif); font-weight:700; font-size:16px; color:#111; margin-bottom:7px; }
.preview audio{ width:100%; height:38px; display:block; }
.preview .pv-note{ font-size:12px; color:#999; margin-top:5px; }
@media (max-width:520px){ .preview{ flex-direction:column; align-items:stretch; } .preview .pv-cover{ display:none; } }

.tracks{ border:1px solid #e4e4e4; border-radius:12px; overflow:hidden; margin:16px 0 24px; }
.track{ display:flex; align-items:flex-start; gap:13px; padding:18px; border-bottom:1px solid #efefef; }
.track:last-child{ border-bottom:none; }
.track .tnum{ flex:none; font-family:var(--serif); font-weight:700; font-size:18px; color:var(--gold-deep); line-height:1.4; width:15px; text-align:right; }
.track .tthumb{ flex:none; width:48px; height:48px; border-radius:50%; background:linear-gradient(135deg,#efefef,#e3e3e3); border:1px dashed #c7c7c7; }
.track .tinfo{ flex:1; min-width:0; }
.track .tt{ font-weight:700; color:#15122b; font-size:19px; line-height:1.3; margin-bottom:3px; }
.track .td{ font-size:16px; color:#555; line-height:1.5; }



/* ---------- sales letter headline + lead ---------- */
.pdp-headline{ font-family:var(--serif); font-weight:800; font-size:40px; line-height:1.12; color:#15122b; margin:0 0 14px; }
.pdp-headline .gold-i{ color:var(--gold); font-style:italic; }
.pdp-subhead{ font-size:21px; line-height:1.5; color:#333; margin:0 0 6px; }
.after-block{ margin:26px 0 8px; }
.after-h{ font-family:var(--serif); font-weight:700; font-size:23px; color:#15122b; margin:0 0 12px; }
@media (max-width:740px){ .pdp-headline{ font-size:30px; } .pdp-subhead{ font-size:18px; } }

/* sales pages: body copy one pixel smaller */
body.pdp-page{ font-size:19px; }
body.pdp-page .product-main p{ font-size:19px; }
body.pdp-page ul.checks li{ font-size:19.5px; }

/* readable headline emphasis — gold, not italic */
.gold-i, .land-h .gold-i, .pdp-headline .gold-i{ font-style:normal; }

/* ============ SHOP (50-track catalog) ============ */
.shop-hero{ text-align:center; padding:52px 0 26px; }
.shop-h1{ font-family:var(--serif); font-weight:800; font-size:clamp(27px, 5.6vw, 44px); line-height:1.13; color:#15122b; margin:0 auto; max-width:780px; }
.shop-sub{ font-size:clamp(15px, 2.1vw, 19px); color:#444; margin:15px auto 0; max-width:620px; line-height:1.55; }
.shop-search{ max-width:560px; margin:26px auto 14px; position:relative; }
.shop-search input{ width:100%; font-family:var(--sans); font-size:17px; padding:15px 18px 15px 46px; border:1.5px solid #d8d8d8; border-radius:10px; outline:none; transition:border-color .15s ease, box-shadow .15s ease; }
.shop-search input:focus{ border-color:var(--green); box-shadow:0 0 0 3px rgba(21,147,90,.15); }
.shop-search svg{ position:absolute; left:16px; top:50%; transform:translateY(-50%); width:19px; height:19px; stroke:#999; fill:none; stroke-width:2; }
.trust-strip{ display:flex; justify-content:center; flex-wrap:wrap; gap:8px 22px; margin-top:10px; font-size:13.5px; color:#666; }
.trust-strip span{ white-space:nowrap; }

.shop{ padding:14px 0 36px; }
.shop-layout{ display:grid; grid-template-columns:232px 1fr; gap:34px; align-items:start; }
@media (max-width:860px){ .shop-layout{ grid-template-columns:1fr; gap:16px; } }
.shop-side{ position:sticky; top:88px; background:#f6f6f3; border:1px solid #ececec; border-radius:14px; padding:18px 14px; }
.shop-side h3{ font-family:var(--serif); font-size:18px; margin:0 0 12px; color:#111; }
@media (max-width:860px){ .shop-side{ position:static; padding:12px; } .shop-side h3{ display:none; } .cat-list{ display:none; } }
.cat-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:3px; }
@media (max-width:860px){ .cat-list{ flex-direction:row; flex-wrap:wrap; gap:8px; } }
.cat-btn{ width:100%; text-align:left; background:none; border:none; cursor:pointer; font-family:var(--sans); font-size:14.5px; color:#444; padding:9px 12px; border-radius:8px; display:flex; justify-content:space-between; align-items:center; gap:10px; transition:background .12s ease,color .12s ease; }
@media (max-width:860px){ .cat-btn{ width:auto; border:1px solid #e2e2e2; padding:7px 12px; } }
.cat-btn .c-count{ font-size:12px; color:#aaa; background:#f3f3f3; border-radius:20px; padding:1px 8px; }
.cat-btn:hover{ background:#f6f3ea; color:#111; }
.cat-btn.active{ background:#15122b; color:#fff; }
.cat-btn.active .c-count{ background:rgba(255,255,255,.2); color:#fff; }

.shop-count{ font-size:13.5px; color:#888; margin-bottom:14px; }
.track-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
@media (max-width:1120px){ .track-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .track-grid{ grid-template-columns:1fr; } }
.tcard{ display:flex; flex-direction:column; border:1px solid #e6e6e6; border-radius:14px; overflow:hidden; background:#fff; box-shadow:0 4px 14px rgba(20,15,45,.05); transition:transform .14s ease, box-shadow .14s ease, border-color .14s ease; }
.tcard:hover{ transform:translateY(-3px); box-shadow:0 18px 30px -16px rgba(20,15,45,.25); border-color:#d9cfa6; }
.tcard-thumb{ aspect-ratio:1/1; width:100%; display:flex; align-items:center; justify-content:center; font-size:60px; text-decoration:none; }
.tcard-body{ padding:15px 16px 16px; display:flex; flex-direction:column; flex:1; }
.tcard-cat{ font-size:10.5px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--gold-deep); margin-bottom:6px; }
.tcard-title{ font-family:var(--serif); font-weight:700; font-size:18px; line-height:1.22; color:#15122b; margin:0 0 6px; text-decoration:none; display:block; }
.tcard-title:hover{ color:var(--green); }
.tcard-desc{ font-size:13.5px; color:#666; line-height:1.5; margin:0 0 14px; flex:1; }
.tcard-foot{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:auto; }
.tcard-price{ font-family:var(--serif); font-weight:700; font-size:19px; color:#111; }
.tcard-add{ background:var(--green); color:#fff; border:none; font-family:var(--sans); font-weight:600; font-size:13px; padding:9px 14px; border-radius:8px; cursor:pointer; white-space:nowrap; text-decoration:none; transition:background .12s ease; }
.tcard-add:hover{ background:var(--green-dark); }
.tcard-add.added{ background:#eef7f1; color:#15935a; }
.no-results{ text-align:center; color:#888; padding:50px 0; font-size:16px; }
.t-money{ background:linear-gradient(135deg,#f3e2b0,#e6c878); }
.t-love{ background:linear-gradient(135deg,#f6d0dc,#e596b0); }
.t-ex{ background:linear-gradient(135deg,#f3c9c9,#dd9a9a); }
.t-confidence{ background:linear-gradient(135deg,#f6dbb0,#e6b266); }
.t-calm{ background:linear-gradient(135deg,#cfe0f0,#9bc0e0); }
.t-influence{ background:linear-gradient(135deg,#dcd5f2,#a99ad9); }
.t-focus{ background:linear-gradient(135deg,#cfeadf,#8fc7b0); }
.t-health{ background:linear-gradient(135deg,#d2eed3,#92c894); }
.t-healing{ background:linear-gradient(135deg,#e3d8f2,#bda7d9); }


/* mobile category dropdown */
.cat-select{ display:none; width:100%; font-family:var(--sans); font-size:15px; padding:12px 40px 12px 14px; border:1.5px solid #d8d8d8; border-radius:9px; background-color:#fff; color:#222; -webkit-appearance:none; -moz-appearance:none; appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 14px center; background-size:12px; }
@media (max-width:860px){ .cat-select{ display:block; } }

/* ensure the category button list is hidden on mobile (dropdown takes over) */
@media (max-width:860px){ .shop-side .cat-list{ display:none !important; } }

/* minimal logo: small headphones icon + lighter wordmark */
.logo{ font-size:15px; letter-spacing:.12em; font-weight:700; gap:9px; white-space:nowrap; text-decoration:none; }
.logo .glyph{ display:none; }
.logo-ico{ width:21px; height:21px; color:var(--gold-soft); flex:none; display:block; }
.logo-word{ color:#fff; }
.footer-inner .logo-word{ color:#fff; }
@media (max-width:600px){ .logo{ font-size:12.5px; letter-spacing:.1em; gap:7px; } .logo-ico{ width:18px; height:18px; } }

/* ============ ONE-STEP CHECKOUT ============ */


/* ============ ACCOUNT + LOGIN ============ */
.auth-card{ max-width:430px; margin:28px auto 0; border:1px solid #e4e4e4; border-radius:14px; padding:30px 28px; box-shadow:0 10px 30px -16px rgba(0,0,0,.18); background:#fff; }
.auth-card h1{ font-family:var(--serif); font-size:26px; margin:0 0 6px; text-align:center; color:#111; }
.auth-card .auth-sub{ text-align:center; color:#777; font-size:15px; margin:0 0 22px; }
.auth-card .btn-buy{ margin-top:6px; }
.auth-alt{ text-align:center; font-size:14px; color:#666; margin-top:18px; }
.auth-alt a{ color:var(--green); font-weight:600; text-decoration:none; }
.auth-note{ font-size:12px; color:#9a6b16; background:#fdf4e0; border:1px solid #f0e2bf; border-radius:8px; padding:9px 12px; margin-top:16px; line-height:1.5; }

.a-download{ background:var(--green); color:#fff; border:none; font-weight:600; font-size:13px; padding:10px 16px; border-radius:8px; text-decoration:none; white-space:nowrap; display:inline-block; }
.a-download:hover{ background:var(--green-dark); }

/* real cover images (square) */
.cover-img{ padding:0; }
.tcard-thumb img, .letter-cover img, .preview .pv-cover img, .mobile-buybar .mb-thumb img{ width:100%; height:100%; object-fit:cover; display:block; border-radius:inherit; }
.letter-cover.cover-img{ border:none; }
.preview .pv-cover.cover-img{ border:none; }


/* order bump + post-purchase upsell */
.upsell{ border:1px solid #e4e4e4; border-radius:14px; padding:24px; margin:24px auto 0; max-width:540px; text-align:center; box-shadow:0 10px 30px -16px rgba(0,0,0,.2); }
.upsell-tag{ display:inline-block; background:#fdeccd; color:#9a6b16; font-size:11.5px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; padding:3px 11px; border-radius:20px; margin-bottom:12px; }
.upsell h3{ font-family:var(--serif); font-size:21px; margin:0 0 8px; color:#111; line-height:1.25; }
.upsell p{ color:#555; font-size:14.5px; margin:0 0 16px; line-height:1.55; }
.upsell .btn-buy{ max-width:380px; margin:0 auto; }
.upsell-no{ display:block; background:none; border:none; color:#999; font-size:13px; text-decoration:underline; cursor:pointer; margin:12px auto 0; }

/* restore track-page bottom padding for the mobile buy bar */
@media (max-width:880px){ body.pdp-page{ padding-bottom:72px; } }

/* best-seller badge */
.tcard-thumb{ position:relative; }
.best-badge{ position:absolute; top:8px; left:8px; z-index:2; background:rgba(21,18,43,.86); color:#f0d488; font-family:var(--sans); font-size:10px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; padding:3px 9px; border-radius:20px; }

/* order bump: anchor price + savings + added state */

/* payment card field */

/* uploaded banner logo */
.logo{ gap:0; }
.logo-img{ height:34px; width:auto; display:block; }
.footer-inner .logo-img{ height:42px; }
@media (max-width:600px){ .logo-img{ height:25px; } }

/* logo sizing (override template default height) */
.logo img{ height:34px; width:auto; display:block; }
.footer-inner .logo img{ height:42px; }
@media (max-width:600px){ .logo img{ height:24px; } }

/* reviews section */
.reviews{ margin-top:32px; border-top:1px solid #eee; padding-top:26px; }
.rev-summary{ display:flex; align-items:center; gap:16px; flex-wrap:wrap; margin-top:6px; }
.rev-avg{ font-family:var(--serif); font-size:36px; font-weight:800; color:#111; line-height:1; }
.rev-stars{ color:#e6b800; font-size:18px; letter-spacing:2px; }
.rev-count{ color:#777; font-size:13.5px; }
.rev-note{ font-size:12.5px; color:#9a6b16; background:#fdf4e0; border:1px solid #f0e2bf; border-radius:8px; padding:10px 13px; margin:6px 0 16px; line-height:1.55; }
details.rev-details summary{ cursor:pointer; color:var(--green); font-weight:600; font-size:14px; margin-top:16px; list-style:none; display:inline-flex; align-items:center; gap:6px; }
details.rev-details summary::-webkit-details-marker{ display:none; }
details.rev-details summary::after{ content:"\25be"; }
details.rev-details[open] summary::after{ content:"\25b4"; }
.rev-card{ border:1px solid #ececec; border-radius:12px; padding:16px 18px; margin-top:14px; }
.rev-card .rc-stars{ color:#e6b800; font-size:14px; letter-spacing:1.5px; }
.rev-card .rc-title{ font-weight:700; color:#222; margin:6px 0 4px; }
.rev-card .rc-body{ color:#555; font-size:14px; line-height:1.55; }
.rev-card .rc-meta{ font-size:12.5px; color:#999; margin-top:8px; }
.rev-verified{ color:#15935a; font-weight:600; }


/* recent-purchase popup */
.jpu-pop{ position:fixed; left:18px; bottom:18px; z-index:130; width:300px; max-width:calc(100vw - 36px); background:#fff; border:1px solid #e6e6e6; border-radius:12px; box-shadow:0 16px 40px -12px rgba(0,0,0,.28); padding:14px 30px 14px 14px; display:flex; gap:12px; align-items:flex-start; transform:translateY(150%); opacity:0; transition:transform .42s cubic-bezier(.2,.9,.3,1.2), opacity .3s; pointer-events:none; }
.jpu-pop.show{ transform:translateY(0); opacity:1; pointer-events:auto; }
.jpu-pop .pop-ico{ width:38px; height:38px; flex:none; border-radius:9px; background:linear-gradient(135deg,#15122b,#2b2550); color:#f0d488; display:flex; align-items:center; justify-content:center; font-size:18px; }
.jpu-pop .pop-body{ flex:1; min-width:0; }
.jpu-pop .pop-line{ font-size:13.5px; color:#222; }
.jpu-pop .pop-sub{ font-size:13px; color:#555; margin-top:1px; }
.jpu-pop .pop-ago{ font-size:11px; color:#aaa; margin-top:4px; }
.jpu-pop .pop-x{ position:absolute; top:6px; right:9px; background:none; border:none; color:#bbb; font-size:18px; cursor:pointer; line-height:1; }
.jpu-pop .pop-x:hover{ color:#777; }
@media (max-width:600px){ .jpu-pop{ left:10px; right:10px; bottom:10px; width:auto; } }
@media (max-width:880px){ body.pdp-page .jpu-pop{ bottom:80px; } }

/* all-access bundle banner */
.bundle-band{ background:linear-gradient(135deg,#15122b,#241f47); color:#fff; border-radius:16px; padding:26px 30px; display:flex; align-items:center; justify-content:space-between; gap:28px; flex-wrap:wrap; box-shadow:0 18px 44px -20px rgba(20,15,45,.55); }
.bundle-info{ flex:1; min-width:260px; }
.bundle-tag{ display:inline-block; background:rgba(240,212,136,.16); color:#f0d488; font-size:11px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; padding:4px 11px; border-radius:20px; margin-bottom:11px; }
.bundle-h{ font-family:var(--serif); font-size:27px; font-weight:800; margin:0 0 7px; line-height:1.15; color:#fff; }
.bundle-h .gold-i{ color:#f0d488; }
.bundle-sub{ color:#cfcbe0; font-size:15px; line-height:1.55; margin:0; max-width:560px; }
.bundle-sub s{ color:#8d88a8; }
.bundle-cta{ text-align:center; flex:none; background:none; padding:0; margin:0; }
.bundle-price{ font-family:var(--serif); font-weight:800; font-size:38px; color:#fff; line-height:1; }
.bundle-save{ color:#7fdca6; font-size:13px; font-weight:700; margin-top:4px; }
.bundle-btn{ width:auto; margin-top:12px; white-space:nowrap; padding:13px 26px; }
@media (max-width:680px){ .bundle-band{ padding:22px; } .bundle-cta{ text-align:left; align-self:stretch; } .bundle-btn{ width:100%; } }
/* track buybox bundle line */
.bb-bundle{ font-size:13px; color:#555; margin:12px 0 0; text-align:center; }
.bb-bundle a{ color:var(--green); font-weight:700; text-decoration:underline; }
.bb-bundle a:hover{ text-decoration:underline; }

/* light value-pack band (override dark style) */
.bundle-band{ background:linear-gradient(135deg,#fdfaf2,#f6efda); color:#1f1b33; border:1px solid #ecdfb8; box-shadow:0 14px 38px -22px rgba(120,95,20,.32); }
.bundle-tag{ background:#15122b; color:#f0d488; }
.bundle-h{ color:#15122b; }
.bundle-h .gold-i{ color:var(--gold-deep); }
.bundle-sub{ color:#6b6450; }
.bundle-sub s{ color:#b3a784; }
.bundle-price{ color:#15122b; }
.bundle-save{ color:#15935a; }

/* slim bundle strip (subtle) */
.bundle-strip{ display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; background:#faf6ea; border:1px solid #ecdfb8; border-radius:11px; padding:11px 16px; margin-bottom:18px; }
.bundle-strip .bs-text{ font-size:13.5px; color:#5a4f33; line-height:1.45; }
.bundle-strip .bs-text b{ color:#15122b; }
.bundle-strip .bs-btn{ background:var(--green); color:#fff; border:none; font-family:var(--sans); font-weight:600; font-size:13px; padding:9px 16px; border-radius:8px; cursor:pointer; white-space:nowrap; flex:none; transition:background .12s ease; }
.bundle-strip .bs-btn:hover{ background:var(--green-dark); }
@media (max-width:560px){ .bundle-strip .bs-btn{ width:100%; } }

/* mobile hero spacing */
@media (max-width:600px){ .shop-hero{ padding:34px 0 20px; } .shop-search{ margin-top:20px; } }

/* mobile search sizing (16px avoids iOS zoom-on-focus) */
@media (max-width:600px){
  .shop-search input{ font-size:16px; padding:13px 16px 13px 42px; }
  .shop-search svg{ left:14px; width:18px; height:18px; }
}

/* hero subhead link */
.sub-link{ color:var(--green); font-weight:600; text-decoration:none; white-space:nowrap; }
.sub-link:hover{ text-decoration:underline; }

/* "As seen in" logo strip (placeholders) */
.seen-in{ text-align:center; margin:22px auto 0; }
.seen-label{ display:block; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:#aaa; margin-bottom:13px; }
.seen-logos{ display:flex; align-items:center; justify-content:center; gap:32px; flex-wrap:wrap; }
.seen-logo{ display:inline-flex; align-items:center; gap:7px; color:#bcbcbc; font-weight:700; font-size:16px; letter-spacing:.01em; }
.seen-logo svg{ width:18px; height:18px; }
.seen-note{ font-size:11px; color:#c8c8c8; margin-top:13px; font-style:italic; }
@media (max-width:600px){ .seen-logos{ gap:22px; } .seen-logo{ font-size:14px; } }

/* As seen in — single line, wordmark style */
.seen-in{ display:flex; align-items:center; justify-content:center; gap:14px 24px; flex-wrap:wrap; margin:22px auto 0; }
.seen-label{ display:inline; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:#a8a8a8; margin:0; }
.seen-logos{ display:flex; align-items:center; justify-content:center; gap:26px; flex-wrap:wrap; }
.seen-logo{ color:#9a9a9a; font-family:var(--serif); font-weight:700; font-size:17px; letter-spacing:.01em; white-space:nowrap; }
@media (max-width:600px){ .seen-logos{ gap:16px; } .seen-logo{ font-size:14px; } }

/* new category tints */
.t-mind{ background:linear-gradient(135deg,#cfe7ec,#92c7d0); }
.t-habits{ background:linear-gradient(135deg,#fbddc6,#f0a87a); }
.t-manifest{ background:linear-gradient(135deg,#f7dcec,#e3a9cf); }

/* logo: slightly smaller */
.logo img{ height:30px; }
.footer-inner .logo img{ height:38px; }
@media (max-width:600px){ .logo img{ height:21px; } }

/* footer social links */
.foot-social{ display:flex; gap:18px; justify-content:center; margin:14px 0 4px; }
.foot-social a{ display:inline-flex; align-items:center; gap:7px; color:#bbb; font-size:13px; text-decoration:none; transition:color .15s; }
.foot-social a:hover{ color:#fff; }
.foot-social svg{ width:19px; height:19px; }

/* blog */
.blog-list{ display:grid; gap:18px; margin-top:10px; }
.blog-card{ display:block; padding:22px 24px; border:1px solid #ececec; border-radius:14px; text-decoration:none; color:inherit; background:#fff; transition:border-color .15s, box-shadow .15s, transform .15s; }
.blog-card:hover{ border-color:var(--gold); box-shadow:0 8px 22px rgba(0,0,0,.05); transform:translateY(-2px); }
.blog-card h2{ font-family:var(--serif); font-size:21px; color:#111; margin:0 0 8px; line-height:1.25; }
.blog-card p{ color:#555; margin:0 0 12px; font-size:15.5px; line-height:1.55; }
.blog-more{ color:var(--gold); font-weight:600; font-size:14px; }
.article p{ font-size:17px; line-height:1.7; }
.article .sec-h{ margin-top:30px; }

/* article subheadings / FAQ */
.article h3, .faq-q{ font-family:var(--serif); font-size:19px; color:#111; margin:24px 0 6px; }
.article ul.checks{ margin:14px 0; }

/* match product-page body size (19px) on About / Como Funciona */
body.content-page .wrap p{ font-size:19px; }
body.content-page ul.checks li, body.content-page .panel li, body.content-page .wrap ul li, body.content-page .wrap ol li{ font-size:19px; line-height:1.66; }
