:root{
    --navy:#2B3A4A;
    --light-navy:#46586A;
    --sage:#8A9A82;
    --deep-sage:#6E7F66;
    --bright-sage:#9CAA94;
    --seafoam:#A8B5AC;
    --sand:#C9B79C;
    --cream:#EFE9DD;
    --linen:#E5DCCC;
    --soft-white:#F7F3EA;
    --taupe:#8B8475;
    --ink:#2B3A4A;
    --radius:14px;
    --maxw:1180px;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    font-family:"DM Sans",system-ui,sans-serif;
    color:var(--ink);
    background:var(--soft-white);
    line-height:1.65;
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3,.serif{font-family:"Playfair Display",Georgia,serif;font-weight:600;color:var(--navy);line-height:1.15;margin:0;}
  em,.script{font-style:italic;}
  a{color:inherit;text-decoration:none;}
  img{max-width:100%;display:block;}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px;}
  .eyebrow{
    font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;
    font-weight:600;color:var(--deep-sage);
  }
  .btn{
    display:inline-block;font-family:"DM Sans",sans-serif;font-weight:600;
    font-size:.95rem;letter-spacing:.02em;padding:15px 30px;border-radius:999px;
    cursor:pointer;border:1.5px solid transparent;transition:.2s ease;
  }
  .btn-primary{background:var(--navy);color:var(--soft-white);}
  .btn-primary:hover{background:#1f2c39;}
  .btn-sage{background:var(--sage);color:#fff;}
  .btn-sage:hover{background:var(--deep-sage);}
  .btn-outline{background:transparent;border-color:var(--navy);color:var(--navy);}
  .btn-outline:hover{background:var(--navy);color:var(--soft-white);}
  .btn-ghost-light{background:transparent;border-color:var(--bright-sage);color:var(--soft-white);}
  .btn-ghost-light:hover{background:var(--bright-sage);color:var(--navy);}
  .center{text-align:center;}

  /* divider */
  .sprig{display:flex;align-items:center;justify-content:center;gap:12px;color:var(--sage);margin:0 auto;}
  .sprig .line{height:1px;width:46px;background:var(--sand);}

  /* ===== Announcement bar ===== */
  .announce{background:var(--navy);color:var(--soft-white);text-align:center;font-size:.85rem;letter-spacing:.04em;padding:9px 16px;}
  .announce a{color:var(--bright-sage);font-weight:600;text-decoration:underline;text-underline-offset:3px;}

  /* ===== Header ===== */
  header{position:sticky;top:0;z-index:50;background:rgba(247,243,234,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--linen);}
  .nav{display:flex;align-items:center;justify-content:space-between;height:74px;}
  .brand{display:flex;align-items:center;gap:12px;}
  .brand .mark{width:42px;height:42px;}
  .brand .name{font-family:"Playfair Display",serif;font-weight:600;font-size:1.1rem;letter-spacing:.14em;color:var(--navy);text-transform:uppercase;line-height:1;}
  .menu{display:flex;align-items:center;gap:30px;}
  .menu a{font-size:.92rem;font-weight:500;color:var(--navy);position:relative;}
  .menu a:hover{color:var(--deep-sage);}
  .menu .has{display:flex;align-items:center;gap:5px;}
  .caret{width:9px;height:9px;}
  .menu .cta{margin-left:6px;}
  .hamburger{display:none;background:none;border:0;cursor:pointer;}

  /* ===== Hero ===== */
  .hero{padding:78px 0 70px;position:relative;overflow:hidden;}
  .hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:54px;align-items:center;}
  .hero .logo-stack{width:118px;height:118px;margin-bottom:18px;}
  .hero h1{font-size:3.5rem;letter-spacing:-.5px;margin:10px 0 0;}
  .hero p.sub{font-size:1.18rem;color:#46505a;margin:22px 0 30px;max-width:33ch;}
  .hero .ctas{display:flex;align-items:center;gap:18px;flex-wrap:wrap;}
  .hero .freebie-link{font-weight:600;color:var(--deep-sage);border-bottom:2px solid var(--sand);padding-bottom:2px;}
  .hero .freebie-link:hover{color:var(--navy);}
  .hero-art{background:linear-gradient(160deg,var(--cream),var(--linen));border-radius:24px;aspect-ratio:4/4.4;display:flex;align-items:center;justify-content:center;position:relative;box-shadow:0 30px 60px -34px rgba(43,58,74,.4);}
  .hero-art .card{background:var(--soft-white);border-radius:16px;box-shadow:0 18px 40px -18px rgba(43,58,74,.35);padding:26px 26px 22px;width:78%;border:1px solid #eadfce;}
  .hero-art .card .greet{font-family:"Playfair Display",serif;font-size:1.25rem;color:var(--navy);}
  .hero-art .card .greet small{display:block;font-family:"DM Sans",sans-serif;font-style:italic;color:var(--taupe);font-size:.8rem;margin-top:2px;}
  .hero-art .row{display:flex;align-items:center;justify-content:space-between;padding:11px 2px;border-bottom:1px solid var(--cream);font-size:.92rem;}
  .hero-art .row:last-child{border-bottom:0;}
  .hero-art .dot{width:16px;height:16px;border-radius:50%;border:2px solid var(--seafoam);}
  .hero-art .dot.done{background:var(--sage);border-color:var(--sage);}
  .hero-art .tlabel{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--sage);font-weight:600;margin:18px 0 6px;}

  /* ===== Pillars ===== */
  .pillars{background:var(--navy);color:var(--soft-white);padding:20px 0;}
  .pillars .row{display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;font-family:"Playfair Display",serif;letter-spacing:.16em;text-transform:uppercase;font-size:.92rem;}
  .pillars .row span.dot{color:var(--bright-sage);}

  section{padding:84px 0;}
  .sec-head{max-width:620px;margin:0 auto 50px;text-align:center;}
  .sec-head h2{font-size:2.5rem;margin:14px 0 0;}
  .sec-head p{color:#54606b;margin:16px 0 0;font-size:1.05rem;}

  /* ===== Start Here cards ===== */
  .start{background:var(--cream);}
  .cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
  .card3{background:var(--soft-white);border:1px solid var(--linen);border-radius:var(--radius);padding:34px 30px;transition:.2s;}
  .card3:hover{transform:translateY(-4px);box-shadow:0 22px 40px -26px rgba(43,58,74,.45);}
  .card3 .ic{width:46px;height:46px;color:var(--sage);margin-bottom:16px;}
  .card3 h3{font-size:1.35rem;}
  .card3 .quote{font-style:italic;color:var(--taupe);margin:6px 0 14px;font-size:.95rem;}
  .card3 p{margin:0 0 20px;color:#54606b;font-size:.96rem;}
  .card3 .go{font-weight:600;color:var(--deep-sage);font-size:.92rem;}
  .card3:hover .go{color:var(--navy);}

  /* ===== Featured products ===== */
  .prod-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
  .prod{display:flex;flex-direction:column;background:var(--soft-white);border:1px solid var(--linen);border-radius:var(--radius);overflow:hidden;transition:.2s;}
  .prod:hover{transform:translateY(-4px);box-shadow:0 22px 40px -26px rgba(43,58,74,.45);}
  .prod .shot{aspect-ratio:1/1;background:var(--cream);display:flex;align-items:center;justify-content:center;overflow:hidden;}
  .prod .shot img{width:100%;height:100%;object-fit:cover;object-position:center top;}
  .prod .shot.journal{background:linear-gradient(155deg,#33455e,var(--navy));flex-direction:column;text-align:center;padding:28px;color:var(--soft-white);}
  .prod .shot.journal .jbook{font-family:"Playfair Display",serif;font-size:1.5rem;line-height:1.25;}
  .prod .shot.journal .jsub{font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--bright-sage);margin-top:12px;}
  .prod .shot.journal .janchor{font-size:1.4rem;color:var(--bright-sage);margin-bottom:10px;}
  .prod .meta{padding:24px;display:flex;flex-direction:column;flex:1;}
  .prod .meta .tag{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--sage);font-weight:600;}
  .prod .meta h3{font-size:1.3rem;margin:8px 0 8px;}
  .prod .meta p{font-size:.93rem;color:#54606b;margin:0 0 18px;flex:1;}
  .prod .meta .btn{align-self:flex-start;}

  /* hero real logo */
  .hero .logo-img{width:300px;max-width:80%;height:auto;margin-bottom:22px;display:block;}

  /* ===== Tools teaser ===== */
  .tools{background:var(--navy);color:var(--soft-white);}
  .tools .sec-head h2{color:var(--soft-white);}
  .tools .sec-head p{color:var(--seafoam);}
  .tools .eyebrow{color:var(--bright-sage);}
  .tools-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;}
  .tool{background:#33455620;border:1px solid var(--light-navy);border-radius:var(--radius);padding:32px;}
  .tool h3{color:var(--soft-white);font-size:1.5rem;}
  .tool p{color:var(--seafoam);font-size:.97rem;margin:10px 0 20px;}
  .pill{display:inline-flex;align-items:center;gap:9px;background:#ffffff10;border:1px solid var(--light-navy);border-radius:999px;padding:8px 14px;font-size:.85rem;margin:0 8px 10px 0;color:var(--soft-white);}
  .pill .gd{width:10px;height:10px;border-radius:50%;background:var(--bright-sage);}
  .pill .ad{width:10px;height:10px;border-radius:50%;background:var(--sand);}

  /* ===== Email magnet ===== */
  .magnet{background:var(--sage);color:#fff;text-align:center;}
  .magnet h2{color:#fff;font-size:2.4rem;}
  .magnet p{max-width:48ch;margin:16px auto 26px;color:#f4f6f1;font-size:1.05rem;}
  .form{display:flex;gap:12px;max-width:480px;margin:0 auto;flex-wrap:wrap;justify-content:center;}
  .form input{flex:1;min-width:230px;padding:15px 18px;border-radius:999px;border:1.5px solid #ffffff66;background:#ffffff;font-size:.95rem;font-family:inherit;color:var(--navy);}
  .form .btn{background:var(--navy);color:#fff;border-color:var(--navy);}
  .form .btn:hover{background:#1f2c39;}
  .magnet .fine{font-size:.8rem;color:#eef1ea;margin-top:14px;}

  /* ===== Blog ===== */
  .blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
  .post{background:var(--soft-white);border:1px solid var(--linen);border-radius:var(--radius);overflow:hidden;transition:.2s;}
  .post:hover{transform:translateY(-4px);box-shadow:0 22px 40px -26px rgba(43,58,74,.45);}
  .post .ph{aspect-ratio:16/10;background:linear-gradient(150deg,var(--linen),var(--seafoam));position:relative;}
  .post .cat{position:absolute;top:12px;left:12px;background:var(--soft-white);color:var(--deep-sage);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;padding:5px 11px;border-radius:999px;}
  .post .pbody{padding:22px;}
  .post h3{font-size:1.25rem;margin:0 0 8px;}
  .post p{font-size:.92rem;color:#54606b;margin:0;}

  /* ===== About teaser ===== */
  .about{background:var(--linen);}
  .about-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:50px;align-items:center;}
  .about .photo{aspect-ratio:4/3;border-radius:20px;background:linear-gradient(150deg,var(--cream),var(--sand));box-shadow:0 26px 50px -30px rgba(43,58,74,.5);}
  .about h2{font-size:2.3rem;}
  .about p{color:#46505a;font-size:1.06rem;margin:18px 0;}
  .vp{display:grid;grid-template-columns:1fr 1fr;gap:14px 26px;margin:22px 0 26px;}
  .vp div{font-size:.95rem;}
  .vp b{font-family:"Playfair Display",serif;color:var(--navy);display:block;font-weight:600;}

  /* ===== Footer ===== */
  footer{background:var(--navy);color:var(--seafoam);padding:64px 0 28px;}
  .foot-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:34px;}
  footer h4{font-family:"DM Sans",sans-serif;font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;color:var(--bright-sage);margin:0 0 16px;}
  footer a{display:block;color:var(--seafoam);font-size:.92rem;margin-bottom:10px;}
  footer a:hover{color:var(--soft-white);}
  .foot-brand .name{font-family:"Playfair Display",serif;letter-spacing:.14em;text-transform:uppercase;color:var(--soft-white);font-size:1.05rem;margin:14px 0 8px;}
  .foot-brand .tl{font-style:italic;color:var(--seafoam);font-size:.95rem;max-width:30ch;}
  .foot-form input{width:100%;padding:12px 15px;border-radius:8px;border:1px solid var(--light-navy);background:#33455630;color:#fff;font-family:inherit;font-size:.9rem;margin-bottom:10px;}
  .foot-form .btn{width:100%;text-align:center;}
  .foot-bottom{border-top:1px solid var(--light-navy);margin-top:46px;padding-top:22px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:.8rem;color:var(--taupe);}
  .foot-bottom a{display:inline;margin:0 0 0 16px;color:var(--taupe);}
  .disclosure{font-size:.78rem;color:var(--light-navy);max-width:70ch;margin:14px 0 0;line-height:1.6;}

  /* ===== Real photo slots (auto-show when file exists) ===== */
  .hero-art img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 28%;border-radius:24px;z-index:0;}
  .hero-art .card{position:relative;z-index:2;}
  .hero-art::after{content:"";position:absolute;inset:0;border-radius:24px;background:linear-gradient(180deg,transparent 72%,rgba(43,58,74,.10));z-index:1;}
  .hero-art.noimg::after{display:none;}
  .about .photo img{width:100%;height:100%;object-fit:cover;object-position:50% 30%;border-radius:20px;display:block;}
  .post .ph img{width:100%;height:100%;object-fit:cover;object-position:50% 35%;position:absolute;inset:0;}

  /* ===== Anchored app section ===== */
  .app{background:linear-gradient(165deg,#33455e,#2B3A4A);color:var(--soft-white);overflow:hidden;}
  .app-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:50px;align-items:center;}
  .app .eyebrow{color:var(--bright-sage);}
  .app h2{color:var(--soft-white);font-size:2.5rem;margin:14px 0 0;}
  .app p.lead{color:var(--seafoam);font-size:1.1rem;margin:18px 0 8px;max-width:46ch;}
  .app .feats{list-style:none;padding:0;margin:18px 0 28px;display:grid;grid-template-columns:1fr 1fr;gap:10px 22px;}
  .app .feats li{font-size:.95rem;color:#e7ece8;display:flex;gap:9px;align-items:flex-start;}
  .app .feats li::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--bright-sage);margin-top:7px;flex:none;}
  .app .form input{background:#fff;}
  .app .badge{display:inline-block;background:#ffffff14;border:1px solid var(--light-navy);color:var(--bright-sage);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600;padding:6px 13px;border-radius:999px;}
  .phone{justify-self:center;width:248px;aspect-ratio:9/19;background:#0f1822;border-radius:34px;padding:11px;box-shadow:0 36px 70px -30px rgba(0,0,0,.6);border:1px solid #3a4b5e;}
  .phone .screen{background:var(--soft-white);border-radius:24px;height:100%;padding:20px 16px;color:var(--navy);overflow:hidden;}
  .phone .pg{font-family:"Playfair Display",serif;font-size:1.05rem;}
  .phone .pg small{display:block;font-style:italic;color:var(--taupe);font-size:.72rem;}
  .phone .anchor-card{background:var(--cream);border-radius:12px;padding:12px;margin:14px 0;}
  .phone .anchor-card .lbl{font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--sage);font-weight:600;}
  .phone .anchor-card .aff{font-family:"Playfair Display",serif;font-size:.92rem;margin-top:4px;}
  .phone .prow{display:flex;justify-content:space-between;align-items:center;font-size:.82rem;padding:8px 2px;border-bottom:1px solid var(--cream);}
  .phone .prow .d{width:14px;height:14px;border-radius:50%;border:2px solid var(--seafoam);}
  .phone .prow .d.on{background:var(--sage);border-color:var(--sage);}
  .phone .coins{margin-top:12px;background:var(--navy);color:#fff;border-radius:10px;padding:10px 12px;font-size:.8rem;display:flex;justify-content:space-between;align-items:center;}

  /* ===== Responsive ===== */
  @media(max-width:920px){
    .hero-grid,.about-grid,.tools-grid,.prod-grid,.app-grid{grid-template-columns:1fr;}
    .phone{order:-1;}
    .app .feats{grid-template-columns:1fr;}
    .cards3,.blog-grid{grid-template-columns:1fr;}
    .hero-art{order:-1;max-width:420px;margin:0 auto;}
    .hero h1{font-size:2.7rem;}
    .menu{display:none;}
    .hamburger{display:block;}
    .foot-top{grid-template-columns:1fr 1fr;}
    .prod{grid-template-columns:1fr;}
  }
  @media(max-width:520px){
    .foot-top{grid-template-columns:1fr;}
    .hero h1{font-size:2.3rem;}
    .sec-head h2{font-size:2rem;}
  }

/* ============================================================
   SUBPAGE STYLES (About, Start Here)
   ============================================================ */
.page-hero{background:var(--linen);text-align:center;padding:72px 0 64px;}
.page-hero .eyebrow{display:block;margin-bottom:14px;}
.page-hero h1{font-size:3rem;margin:0 auto;max-width:16ch;}
.page-hero p{color:#46505a;font-size:1.15rem;max-width:46ch;margin:20px auto 0;}

.story-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:54px;align-items:center;}
.story-grid .photo{aspect-ratio:4/5;border-radius:20px;overflow:hidden;box-shadow:0 26px 50px -30px rgba(43,58,74,.5);background:linear-gradient(150deg,var(--cream),var(--sand));}
.story-grid .photo img{width:100%;height:100%;object-fit:cover;object-position:50% 30%;display:block;}
.story-grid h2{font-size:2.2rem;}
.story-grid p{color:#46505a;font-size:1.05rem;margin:16px 0;}
.story-grid .sign{font-family:"Playfair Display",serif;font-style:italic;color:var(--deep-sage);font-size:1.15rem;margin-top:8px;}

.pillars4{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.pillar-card{background:var(--soft-white);border:1px solid var(--linen);border-radius:var(--radius);padding:30px 24px;text-align:center;}
.pillar-card .ic{width:42px;height:42px;color:var(--sage);margin:0 auto 14px;}
.pillar-card h3{font-size:1.2rem;}
.pillar-card p{color:#54606b;font-size:.93rem;margin:8px 0 0;}

.twofam{display:grid;grid-template-columns:1fr 1fr;gap:28px;}
.fam{background:var(--cream);border-radius:var(--radius);overflow:hidden;border:1px solid var(--linen);}
.fam .fphoto{aspect-ratio:5/4;overflow:hidden;background:linear-gradient(150deg,var(--cream),var(--sand));}
.fam .fphoto img{width:100%;height:100%;object-fit:cover;object-position:50% 35%;}
.fam .fbody{padding:22px 24px;}
.fam .fbody h3{font-size:1.25rem;}
.fam .fbody p{color:#54606b;font-size:.95rem;margin:8px 0 0;}

/* Start Here doorways */
.doorways{display:flex;flex-direction:column;gap:20px;max-width:880px;margin:0 auto;}
.door{display:grid;grid-template-columns:64px 1fr auto;gap:22px;align-items:center;background:var(--soft-white);border:1px solid var(--linen);border-radius:var(--radius);padding:26px 30px;transition:.2s;}
.door:hover{transform:translateY(-3px);box-shadow:0 22px 40px -26px rgba(43,58,74,.45);}
.door .dnum{width:54px;height:54px;border-radius:50%;background:var(--cream);display:flex;align-items:center;justify-content:center;color:var(--deep-sage);font-family:"Playfair Display",serif;font-size:1.4rem;}
.door h3{font-size:1.3rem;margin:0 0 4px;}
.door .quote{font-style:italic;color:var(--taupe);font-size:.95rem;margin:0 0 6px;}
.door p{margin:0;color:#54606b;font-size:.95rem;}
.door .btn{white-space:nowrap;}

@media(max-width:920px){
  .story-grid,.twofam{grid-template-columns:1fr;}
  .pillars4{grid-template-columns:1fr 1fr;}
  .page-hero h1{font-size:2.3rem;}
  .door{grid-template-columns:1fr;text-align:left;}
  .door .dnum{display:none;}
  .door .btn{justify-self:start;margin-top:6px;}
}
@media(max-width:520px){ .pillars4{grid-template-columns:1fr;} }

/* ============================================================
   SHOP + AFFILIATE IDEA PAGES
   ============================================================ */
.affiliate-banner{background:var(--cream);border:1px solid var(--linen);border-radius:12px;padding:13px 22px;font-size:.84rem;color:var(--taupe);text-align:center;max-width:780px;margin:0 auto 44px;line-height:1.55;}

.shop-cats{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.cat-card{display:block;background:var(--soft-white);border:1px solid var(--linen);border-radius:var(--radius);overflow:hidden;transition:.2s;}
.cat-card:hover{transform:translateY(-4px);box-shadow:0 22px 40px -26px rgba(43,58,74,.45);}
.cat-card .ci{aspect-ratio:16/9;background:linear-gradient(150deg,var(--linen),var(--seafoam));display:flex;align-items:center;justify-content:center;}
.cat-card .ci svg{width:50px;height:50px;color:var(--deep-sage);}
.cat-card .cbody{padding:20px 22px;}
.cat-card .count{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--sage);font-weight:600;}
.cat-card h3{font-size:1.22rem;margin:5px 0 6px;}
.cat-card p{color:#54606b;font-size:.9rem;margin:0;}

.roundup-row{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.roundup-card{display:block;background:var(--soft-white);border:1px solid var(--linen);border-radius:var(--radius);overflow:hidden;transition:.2s;}
.roundup-card:hover{transform:translateY(-4px);box-shadow:0 22px 40px -26px rgba(43,58,74,.45);}
.roundup-card .ri{aspect-ratio:16/10;background:linear-gradient(150deg,var(--cream),var(--sand));display:flex;align-items:center;justify-content:center;color:var(--deep-sage);font-size:2rem;}
.roundup-card .rbody{padding:20px 22px;}
.roundup-card h3{font-size:1.18rem;margin:0 0 6px;}
.roundup-card p{color:#54606b;font-size:.9rem;margin:0 0 12px;}
.roundup-card .go{font-weight:600;color:var(--deep-sage);font-size:.9rem;}

.product-list{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.product-card{display:flex;flex-direction:column;background:var(--soft-white);border:1px solid var(--linen);border-radius:var(--radius);overflow:hidden;transition:.2s;}
.product-card:hover{transform:translateY(-4px);box-shadow:0 22px 40px -26px rgba(43,58,74,.45);}
.product-card .pimg{aspect-ratio:1/1;background:#fff;display:flex;align-items:center;justify-content:center;padding:16px;border-bottom:1px solid var(--cream);}
.product-card .pimg img{max-width:100%;max-height:100%;object-fit:contain;}
.product-card .pimg .ph{font-size:2.6rem;color:var(--seafoam);}
.product-card .p2{padding:20px;display:flex;flex-direction:column;flex:1;}
.product-card .pcat{font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--sage);font-weight:600;}
.product-card h3{font-size:1.05rem;margin:6px 0 6px;line-height:1.25;}
.product-card .why{font-size:.9rem;color:#54606b;margin:0 0 16px;flex:1;}
.product-card .why em{color:var(--deep-sage);font-style:italic;}
.product-card .btn{align-self:stretch;text-align:center;}

.roundup-group h2{font-size:1.6rem;margin:0 0 4px;}
.roundup-group .gsub{color:var(--taupe);margin:0 0 24px;font-size:.96rem;}

@media(max-width:920px){
  .shop-cats,.product-list,.roundup-row{grid-template-columns:1fr 1fr;}
}
@media(max-width:600px){
  .shop-cats,.product-list,.roundup-row{grid-template-columns:1fr;}
}

/* ============================================================
   BLOG / ARTICLE
   ============================================================ */
.article-hero{background:var(--linen);padding:60px 0 52px;text-align:center;}
.article-hero .cat{display:inline-block;background:var(--soft-white);color:var(--deep-sage);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;padding:6px 14px;border-radius:999px;margin-bottom:18px;}
.article-hero h1{font-size:2.7rem;max-width:18ch;margin:0 auto;}
.article-hero .meta{color:var(--taupe);font-size:.9rem;margin-top:16px;}
.article{max-width:720px;margin:0 auto;padding:60px 28px 30px;}
.article p{font-size:1.08rem;line-height:1.75;color:#33404b;margin:0 0 22px;}
.article h2{font-size:1.7rem;margin:42px 0 14px;}
.article h3{font-size:1.25rem;margin:30px 0 10px;}
.article em{font-style:italic;}
.article strong{color:var(--navy);}
.article figure{margin:32px 0;}
.article figure img{width:100%;border-radius:14px;display:block;box-shadow:0 22px 44px -28px rgba(43,58,74,.5);}
.article figcaption{text-align:center;color:var(--taupe);font-size:.86rem;margin-top:10px;font-style:italic;}
.article .lead{font-size:1.22rem;color:var(--navy);font-family:"Playfair Display",serif;line-height:1.5;}
.article blockquote{margin:30px 0;padding:18px 26px;border-left:3px solid var(--sage);background:var(--cream);border-radius:0 12px 12px 0;font-family:"Playfair Display",serif;font-style:italic;font-size:1.2rem;color:var(--navy);}
.beforeafter{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:32px 0;}
.beforeafter figure{margin:0;}
.beforeafter .lbl{display:inline-block;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--deep-sage);margin-bottom:8px;}
.article video{width:100%;border-radius:14px;display:block;box-shadow:0 22px 44px -28px rgba(43,58,74,.5);background:#000;}

/* inline affiliate / shop callout */
.callout{background:var(--cream);border:1px solid var(--linen);border-radius:var(--radius);padding:26px 28px;margin:34px 0;}
.callout .ctitle{font-family:"Playfair Display",serif;font-size:1.2rem;color:var(--navy);margin:0 0 4px;}
.callout .csub{color:var(--taupe);font-size:.9rem;margin:0 0 16px;}
.callout ul{list-style:none;margin:0;padding:0;}
.callout li{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:11px 0;border-bottom:1px solid var(--linen);font-size:.96rem;}
.callout li:last-child{border-bottom:0;}
.callout li a{font-weight:600;color:var(--deep-sage);white-space:nowrap;}
.callout li a:hover{color:var(--navy);}
.callout .disc{font-size:.78rem;color:var(--taupe);margin:14px 0 0;}
.article .endcta{text-align:center;background:var(--navy);color:var(--soft-white);border-radius:var(--radius);padding:34px;margin:44px 0 0;}
.article .endcta h3{color:var(--soft-white);font-size:1.5rem;margin:0 0 10px;}
.article .endcta p{color:var(--seafoam);margin:0 0 18px;font-size:.98rem;}
.author-row{display:flex;align-items:center;gap:14px;justify-content:center;margin-top:40px;color:var(--taupe);font-size:.92rem;}
.author-row .av{width:42px;height:42px;border-radius:50%;background:var(--sage);color:#fff;display:flex;align-items:center;justify-content:center;font-family:"Playfair Display",serif;}

@media(max-width:600px){
  .beforeafter{grid-template-columns:1fr;}
  .article-hero h1{font-size:2rem;}
}

/* ============================================================
   PRODUCTS PAGE
   ============================================================ */
.pfeature{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;margin-bottom:72px;}
.pfeature:last-of-type{margin-bottom:0;}
.pfeature .pf-img{border-radius:18px;overflow:hidden;background:var(--cream);box-shadow:0 26px 50px -30px rgba(43,58,74,.5);}
.pfeature .pf-img img{width:100%;display:block;}
.pfeature .pf-img.journal{aspect-ratio:1/1;background:linear-gradient(155deg,#33455e,var(--navy));display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--soft-white);padding:40px;}
.pfeature .pf-img.journal .janchor{font-size:2rem;color:var(--bright-sage);margin-bottom:14px;}
.pfeature .pf-img.journal .jbook{font-family:"Playfair Display",serif;font-size:2rem;line-height:1.2;}
.pfeature .pf-img.journal .jsub{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--bright-sage);margin-top:14px;}
.pfeature.rev .pf-img{order:2;}
.pfeature .tag{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--sage);font-weight:600;}
.pfeature h2{font-size:2rem;margin:8px 0 6px;}
.pfeature .ptag{font-style:italic;color:var(--deep-sage);font-family:"Playfair Display",serif;font-size:1.1rem;margin:0 0 14px;}
.pfeature p{color:#46505a;margin:0 0 14px;}
.pfeature ul.feat{list-style:none;padding:0;margin:14px 0 24px;}
.pfeature ul.feat li{padding-left:26px;position:relative;margin-bottom:9px;color:#46505a;font-size:.97rem;}
.pfeature ul.feat li::before{content:"";position:absolute;left:0;top:9px;width:9px;height:9px;border-radius:50%;background:var(--sage);}
.pfeature .badge-soon{display:inline-block;background:var(--cream);color:var(--deep-sage);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600;padding:5px 12px;border-radius:999px;margin-bottom:12px;}
@media(max-width:860px){
  .pfeature{grid-template-columns:1fr;gap:26px;}
  .pfeature.rev .pf-img{order:0;}
}

/* article lists */
.article ul{margin:0 0 22px;padding-left:22px;}
.article ul li{font-size:1.06rem;line-height:1.7;color:#33404b;margin-bottom:8px;}
.article ul li::marker{color:var(--sage);}
