/* Design A "Herbal Authority": forest-green nav, watercolour hero, magazine cards, cream paper bands.
   Brand greens from the old site (#0f7a3d footer, #3d6b4f buttons), Playfair Display headings, Montserrat labels, Lora text. */
:root{
  --forest:#123524;--forest2:#1b4a32;--green:#0f7a3d;--btn:#3d6b4f;--moss:#5f7f45;--sage:#e3ead8;--sage2:#cfdcc0;
  --cream:#fbf7ee;--paper:#f3ecdc;--honey:#f2dca5;--cal:#d9701c;--cal2:#b85a10;--ink:#22302a;--muted:#4c5a51;--line:#e2dccb;
  --serif:"Lora",Georgia,"Times New Roman",serif;--head:"Playfair Display",Georgia,serif;--sans:"Montserrat",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --r:14px;--shadow:0 10px 30px rgba(18,53,36,.12);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font:18px/1.75 var(--serif);color:var(--ink);background:var(--cream);overflow-x:hidden}
img,iframe{max-width:100%;height:auto}
a{color:var(--green);text-underline-offset:3px}
a:hover{color:var(--cal2)}
:focus-visible{outline:3px solid var(--cal);outline-offset:3px}
.skip{position:absolute;left:-9999px}.skip:focus{left:10px;top:10px;background:#fff;padding:10px 14px;z-index:99;color:var(--forest)}
h1,h2,h3,h4,h5,h6{font-family:var(--head);color:var(--forest);line-height:1.22;font-weight:700}
mark{background:linear-gradient(transparent 55%,var(--honey) 55%);color:inherit;padding:0 .1em}

/* ---------- header ---------- */
.site-head{background:var(--forest);position:sticky;top:0;z-index:50;box-shadow:0 2px 14px rgba(0,0,0,.18)}
.head-in{max-width:1240px;margin:0 auto;padding:10px 24px;display:flex;align-items:center;gap:18px;justify-content:space-between}
.logo{display:inline-flex;background:var(--cream);border-radius:999px;padding:6px 18px 6px 10px;line-height:0;flex:none}
.logo img{width:150px;height:auto;display:block}
.navbox{display:none}
.menu{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px}
.menu a{display:block;font:600 16px/1 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:#f3efe2;text-decoration:none;padding:13px 14px;border-radius:999px}
.menu a:hover{background:rgba(255,255,255,.1);color:#fff}
.menu .current a{background:var(--cream);color:var(--forest)}
@media (max-width:1020px){
  .head-in{flex-wrap:wrap;padding:10px 16px}
  .logo img{width:130px}
  .navbox{display:block}
  .nav-toggle{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;font:700 16px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:#fff;padding:14px 18px;border:2px solid rgba(255,255,255,.35);border-radius:999px}
  .nav-toggle::-webkit-details-marker{display:none}
  .burger,.burger::before,.burger::after{display:block;width:20px;height:2px;background:#fff;position:relative;content:""}
  .burger::before{position:absolute;top:-6px}.burger::after{position:absolute;top:6px}
  .mainnav{display:none;width:100%}
  .mainnav.open{display:block}
  .menu{flex-direction:column;padding:6px 0 12px}
  .menu a{padding:15px 16px;font-size:17px;border-radius:10px}
}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:10px;justify-content:center;min-height:52px;padding:14px 28px;border-radius:999px;font:700 16px/1.3 var(--sans);letter-spacing:.05em;text-transform:uppercase;text-decoration:none;border:0;cursor:pointer;transition:transform .15s,box-shadow .15s,background .15s}
.btn:hover{transform:translateY(-2px)}
.btn-hero{background:var(--cal);color:#fff;box-shadow:0 10px 24px rgba(185,90,16,.35);text-transform:none;letter-spacing:0;font-size:18px;padding:16px 30px}
.btn-hero:hover{background:var(--cal2);color:#fff}
.btn-more{background:var(--btn);color:#fff}
.btn-more:hover{background:var(--forest);color:#fff}
.btn-send{background:var(--btn);color:#fff}
.btn-send:hover{background:var(--forest)}
.h-cta{margin:28px 0 !important;text-align:center}
.h-cta a{display:inline-block;max-width:100%;background:var(--cal);color:#fff !important;text-decoration:none;font:700 19px/1.35 var(--sans);padding:18px 34px;border-radius:999px;box-shadow:0 10px 24px rgba(185,90,16,.3);transition:transform .15s,background .15s}
.h-cta a:hover{background:var(--cal2);transform:translateY(-2px)}
.h-cta a[href*="amzn"]{background:var(--btn);box-shadow:0 10px 24px rgba(18,53,36,.25)}
.h-cta a[href*="amzn"]:hover{background:var(--forest)}

/* ---------- home hero ---------- */
.hero{position:relative;min-height:600px;display:flex;align-items:center;overflow:hidden;background:#dfe6d6}
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:30% 40%}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(251,247,238,0) 30%,rgba(251,247,238,.55) 52%,rgba(251,247,238,.92) 72%)}
.hero-in{position:relative;z-index:2;max-width:1240px;width:100%;margin:0 auto;padding:60px 24px;display:flex;justify-content:flex-end}
.hero-card{max-width:540px}
.eyebrow{font:700 16px/1.3 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--cal2);margin:0 0 14px}
.hero-title{font-size:56px;line-height:1.08;margin:0 0 30px;color:var(--forest)}
@media (max-width:900px){
  .hero{display:block;min-height:0;background:var(--cream)}
  .hero-img{position:static;height:300px;object-position:28% 30%}
  .hero::after{display:none}
  .hero-in{padding:28px 20px 40px;display:block}
  .hero-title{font-size:38px}
  .btn-hero{width:100%;font-size:17px}
}
.slimhero{background:var(--forest2) url("../../img/gen/herb-band.jpg") center/cover;position:relative}
.slimhero::before{content:"";position:absolute;inset:0;background:rgba(18,53,36,.78)}
.slim-in{position:relative;max-width:1240px;margin:0 auto;padding:48px 24px;text-align:center}
.slimhero .eyebrow{color:var(--honey)}
.slim-tag{font:700 32px/1.25 var(--head);color:#fff;margin:0}

/* ---------- magazine grid ---------- */
.mag{max-width:1240px;margin:0 auto;padding:70px 24px 40px}
.mag-in{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.card{background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}
.card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(18,53,36,.18)}
.card-pic{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--sage)}
.card-img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.card:hover .card-img{transform:scale(1.04)}
.card-body{padding:24px 26px 28px;display:flex;flex-direction:column;flex:1}
.card-title{font-size:24px;margin:0 0 12px}
.card-title a{color:var(--forest);text-decoration:none}
.card-title a:hover{color:var(--cal2)}
.card-ex{margin:0 0 22px;color:var(--muted);font-size:17px;line-height:1.7;flex:1}
.card .btn-more{align-self:flex-start}
.card-lead{grid-column:1/-1;flex-direction:row}
.card-lead .card-pic{flex:0 0 56%;aspect-ratio:auto;min-height:420px}
.card-lead .card-body{padding:44px 46px;justify-content:center}
.card-lead .card-title{font-size:38px}
.card-lead .card-ex{flex:none;font-size:18px}
@media (max-width:1020px){.mag-in{grid-template-columns:repeat(2,minmax(0,1fr))}.card-lead .card-title{font-size:32px}}
@media (max-width:760px){
  .mag{padding:44px 16px 24px}
  .mag-in{grid-template-columns:minmax(0,1fr);gap:24px}
  .card-lead{flex-direction:column}.card-lead .card-pic{flex:none;min-height:0;aspect-ratio:4/3}
  .card-lead .card-body,.card-body{padding:22px 20px 26px}
  .card-lead .card-title{font-size:28px}.card-title{font-size:24px}
  .card .btn-more{align-self:stretch}
}
.pager-wrap{margin-top:40px}
.pager{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;font:700 17px/1 var(--sans)}
.pager a,.pager span{display:inline-flex;align-items:center;justify-content:center;min-width:50px;min-height:50px;padding:0 18px;border-radius:999px;background:#fff;color:var(--forest);text-decoration:none;box-shadow:0 2px 8px rgba(18,53,36,.1)}
.pager .current{background:var(--forest);color:#fff}
.pager a:hover{background:var(--sage)}

/* ---------- featured book ---------- */
.feature-book{background:var(--forest) url("../../img/gen/meadow.jpg") center/cover;position:relative;margin-top:50px}
.feature-book::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,53,36,.95) 0%,rgba(18,53,36,.88) 100%)}
.fb-in{position:relative;max-width:1100px;margin:0 auto;padding:80px 24px;display:grid;grid-template-columns:360px minmax(0,1fr);gap:60px;align-items:center;color:#f2eee1}
.fb-cover{display:block;width:100%;border-radius:10px;box-shadow:0 24px 50px rgba(0,0,0,.45);transform:rotate(-3deg)}
.fb-title{color:#fff;font-size:40px;margin:0 0 18px}
.fb-text p{margin:0 0 16px}
.fb-price{font:600 22px/1.4 var(--sans);color:var(--honey)}
.fb-price s{color:#f5a3a3}
.feature-book .h-cta{text-align:left;margin:22px 0 !important}
.fb-guar{font-size:16px;color:#d8e2d2}
@media (max-width:860px){.fb-in{grid-template-columns:minmax(0,1fr);gap:30px;padding:54px 20px}.fb-pic{max-width:260px;margin:0 auto}.fb-title{font-size:30px}.feature-book .h-cta{text-align:center}}

/* ---------- author band ---------- */
.author-band{background:var(--paper);border-top:1px solid var(--line)}
.ab-in{max-width:1140px;margin:0 auto;padding:80px 24px;display:grid;grid-template-columns:340px minmax(0,1fr);gap:64px;align-items:center}
.ab-bio{text-align:center}
.ab-frame{border-radius:200px 200px 18px 18px;overflow:hidden;border:8px solid #fff;box-shadow:var(--shadow);background:#fff;max-width:320px;margin:0 auto}
.ab-photo{display:block;width:100%;height:auto}
.ab-name{font-size:34px;margin:18px 0 0}
.ab-head,.side-head{display:flex;align-items:center;gap:10px;font-size:30px;margin:0 0 20px}
.leaf{color:var(--moss);flex:none}
.ab-list{list-style:none;margin:0;padding:0;display:grid;gap:12px;counter-reset:ab}
.ab-list a{display:flex;align-items:center;gap:18px;background:#fff;border-radius:12px;padding:10px 18px 10px 10px;text-decoration:none;color:var(--ink);font:600 18px/1.4 var(--head);box-shadow:0 2px 10px rgba(18,53,36,.07);transition:transform .15s}
.ab-list a:hover{transform:translateX(4px);color:var(--green)}
.ab-thumb{width:92px;height:68px;object-fit:cover;border-radius:8px;flex:none}
@media (max-width:860px){.ab-in{grid-template-columns:minmax(0,1fr);gap:40px;padding:54px 16px}.ab-frame{max-width:260px}.ab-head{font-size:26px}.ab-thumb{width:76px;height:60px}.ab-list a{font-size:17px}}

/* ---------- page head (articles, simple pages) ---------- */
.phead{background:var(--paper);border-bottom:1px solid var(--line)}
.phead-in{max-width:1140px;margin:0 auto;padding:56px 24px 34px}
.page-title{font-size:48px;line-height:1.12;margin:0;max-width:900px}
.phead.has-pic .phead-in{padding-bottom:30px}
.phead-pic{max-width:1140px;margin:0 auto -60px;padding:0 24px;position:relative;z-index:1}
.phead-img{display:block;width:100%;height:420px;object-fit:cover;object-position:50% 22%;border-radius:18px;box-shadow:var(--shadow)}
.phead-simple .phead-img{height:300px}
.phead.has-pic + .cols{padding-top:100px}
@media (max-width:760px){.phead-in{padding:34px 16px 22px}.page-title{font-size:32px}.phead-pic{padding:0 16px;margin-bottom:-30px}.phead-img,.phead-simple .phead-img{height:220px;border-radius:12px}.phead.has-pic + .cols{padding-top:60px}}

/* ---------- columns ---------- */
.cols{max-width:1140px;margin:0 auto;padding:50px 24px 70px;display:grid;grid-template-columns:minmax(0,1fr);gap:56px}
.cols.has-side{grid-template-columns:minmax(0,1fr) 340px;gap:48px}
.col-main{min-width:0}
@media (max-width:960px){.cols.has-side{grid-template-columns:minmax(0,1fr)}.cols{padding:40px 16px 50px;gap:40px}}

/* ---------- long-read text ---------- */
.prose{max-width:70ch;overflow-wrap:break-word}
.prose a{overflow-wrap:anywhere}
.prose p,.prose ul,.prose ol{margin:0 0 1.15em}
.prose li{margin:0 0 .45em}
.prose ul li::marker{color:var(--moss)}
.prose h2{font-size:32px;margin:1.5em 0 .5em}
.prose h3{font-size:26px;margin:1.4em 0 .5em}
.prose h4,.prose h5,.prose h6{font-size:22px;margin:1.3em 0 .4em}
.prose > :first-child{margin-top:0}
.prose .h4x{color:var(--green)}
.prose strong{color:#1a2a22}
.pic{margin:28px 0;clear:none}
.pic .gn-img{display:block;margin:0 auto;border-radius:12px;box-shadow:0 6px 22px rgba(18,53,36,.12)}
.pic-small .gn-img{box-shadow:none;border-radius:0}
.pic-small{margin:10px 0}
.pic-right .gn-img{float:none}
.prose .pic-right{float:right;margin:6px 0 16px 28px;max-width:42%}
.prose .pic-left{float:left;margin:6px 28px 16px 0;max-width:42%}
.prose::after{content:"";display:block;clear:both}
.gn-fig figcaption{font-size:16px;color:var(--muted);text-align:center;margin-top:8px}
.gn-bq{margin:28px 0;padding:18px 26px;background:var(--sage);border-left:5px solid var(--moss);border-radius:0 12px 12px 0;font-style:italic}
.gn-table{overflow-x:auto}
.gn-video{position:relative;aspect-ratio:16/9;margin:28px 0;background:#0c2418;border-radius:14px;overflow:hidden;box-shadow:0 20px 50px rgba(0,0,0,.25)}
.gn-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.offer-btn{display:block;width:max-content;max-width:100%;margin:26px auto;border-radius:12px;transition:transform .2s}
.offer-btn:hover{transform:translateY(-4px) scale(1.02)}
.offer-pic{display:block;margin:0 auto}
@media (max-width:600px){
  body{font-size:17px}
  .prose h2{font-size:27px}.prose h3{font-size:23px}.prose h4,.prose h5,.prose h6{font-size:20px}
  .prose .pic-right,.prose .pic-left{float:none;margin:20px auto;max-width:100%}
  .h-cta a{font-size:17px;padding:16px 22px;display:block}
}
.page-card{background:#fff;border-radius:18px;padding:44px 48px;box-shadow:var(--shadow);max-width:none}
.page-card > *{max-width:70ch}
@media (max-width:760px){.page-card{padding:28px 20px}}
.blank-page{min-height:40vh}

/* ---------- sidebar ---------- */
.a-side{display:flex;flex-direction:column;gap:24px;align-self:start;position:sticky;top:110px}
.side-card{background:#fff;border-radius:16px;padding:24px;box-shadow:var(--shadow)}
.side-author{text-align:center;background:var(--forest);color:#fff}
.side-photo{display:block;width:100%;border-radius:120px 120px 12px 12px;border:5px solid var(--cream)}
.side-name{color:#fff;font-size:28px;margin:14px 0 0}
.side-head{font-size:24px;margin-bottom:14px}
.side-posts{list-style:none;margin:0;padding:0}
.side-posts li + li{border-top:1px solid var(--line)}
.side-posts a{display:flex;gap:14px;align-items:center;padding:12px 0;text-decoration:none;color:var(--ink);font:600 16px/1.45 var(--sans)}
.side-posts a:hover{color:var(--green)}
.side-thumb{width:58px;height:58px;object-fit:cover;border-radius:8px;flex:none}
@media (max-width:960px){.a-side{position:static;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);align-items:start}}
@media (max-width:640px){.a-side{grid-template-columns:minmax(0,1fr)}.side-author{max-width:none}.side-photo{max-width:260px;margin:0 auto}}

/* ---------- category archive ---------- */
.archive{max-width:900px;margin:0 auto;padding:60px 24px 20px;display:grid;gap:48px}
.arch-card{background:#fff;border-radius:18px;box-shadow:var(--shadow);overflow:hidden}
.arch-img{display:block;width:100%;height:340px;object-fit:cover}
.arch-body{padding:40px 48px;max-width:none}
.arch-body > *{max-width:70ch}
.arch-title{font-size:36px;margin:0 0 20px}
.arch-title a{color:var(--forest);text-decoration:none}
@media (max-width:760px){.archive{padding:36px 14px 10px}.arch-body{padding:26px 20px}.arch-title{font-size:28px}.arch-img{height:220px}}

/* ---------- shop ---------- */
.shop-list{display:grid;gap:36px}
.prod{background:#fff;border-radius:18px;box-shadow:var(--shadow);padding:40px 44px;border-top:6px solid var(--moss)}
.prod-body{max-width:none}
.prod-title{font-size:30px !important;margin:0 0 20px !important}
.prod .prod-cover{float:right;margin:0 0 18px 30px;max-width:40%}
.prod .h-cta{clear:both}
@media (max-width:760px){.prod{padding:26px 20px}.prod-title{font-size:25px !important}.prod .prod-cover{float:none;margin:0 auto 18px;max-width:70%}}

/* ---------- presell / Oxygen pages: coloured bands ---------- */
.oband{padding:76px 24px}
.oband-in{max-width:1080px;margin:0 auto}
.oband-in.narrow{max-width:760px}
.tone-cream{background:var(--cream)}
.tone-white{background:#fff}
.tone-sage{background:var(--sage)}
.tone-honey{background:linear-gradient(180deg,#fbf1d6,#f6e6bd)}
.tone-hero{background:radial-gradient(ellipse at top,#235c3e 0%,var(--forest) 70%);color:#eef2e8;padding-top:60px}
.tone-hero h1,.tone-hero h2,.tone-hero h3{color:#fff}
.tone-hero mark{background:linear-gradient(transparent 58%,rgba(217,112,28,.75) 58%)}
.tone-offer{background:var(--forest) url("../../img/gen/herb-band.jpg") center/cover;position:relative}
.tone-offer::before{content:"";position:absolute;inset:0;background:rgba(18,53,36,.86)}
.tone-offer .oband-in{position:relative}
.ohead{text-align:center;max-width:900px;margin:0 auto 40px}
.ohead .gn-h,.otitle{font-size:44px;line-height:1.18;margin:0 0 14px}
.ohead h3.gn-h{font-size:28px;font-family:var(--serif);font-weight:600;color:var(--moss);font-style:italic}
.tone-hero .ohead h3.gn-h{color:var(--honey)}
.otitle{font-size:52px}
.ovideo{max-width:960px;margin:0 auto}
.ovideo .gn-video{margin:0}
.obody{max-width:1000px;margin:0 auto;overflow-wrap:break-word}
.obody > p,.obody > ul,.obody > ol,.obody > h2,.obody > h3,.obody > h4,.obody > h5,.obody > h6,.obody > .gn-bq{max-width:72ch;margin-left:auto;margin-right:auto}
.obody p{margin:0 0 1.1em}
.obody .pic .gn-img{max-width:100%}
.obody > .pic{text-align:center}
.mrow{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:44px;align-items:center;background:#fff;border-radius:18px;padding:30px;box-shadow:var(--shadow);margin:0 0 30px}
.tone-white .mrow{background:var(--cream)}
.mrow-right{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}
.mrow-right .mrow-pic{order:2}
.mrow-img{display:block;width:100%;height:auto;border-radius:12px}
.mrow-text{min-width:0}
.mrow-text p:last-child{margin-bottom:0}
.tone-honey .mrow{background:#fffdf6}
@media (max-width:860px){
  .oband{padding:50px 14px}
  .ohead{margin-bottom:28px}
  .ohead .gn-h{font-size:30px}.otitle{font-size:34px}.ohead h3.gn-h{font-size:22px}
  .mrow,.mrow-right{grid-template-columns:minmax(0,1fr);gap:20px;padding:20px}
  .mrow-right .mrow-pic{order:0}
}
.qgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;align-items:start}
.qcard{margin:0;background:#fff;border-radius:16px;padding:30px 30px 26px;box-shadow:var(--shadow);position:relative;border-top:5px solid var(--cal)}
.qcard-title{font:700 18px/1.45 var(--sans);color:var(--forest);margin:0 0 12px}
.qcard blockquote{margin:0 0 16px;font-size:18px;line-height:1.75}
.qcard figcaption{font:600 16px/1.5 var(--sans);color:var(--cal2)}
.qcard-pic{width:70px;height:70px;border-radius:50%;object-fit:cover;float:left;margin:0 16px 8px 0}
@media (max-width:860px){.qgrid{grid-template-columns:minmax(0,1fr)}.qcard{padding:24px 20px}}
.offer-row{display:flex;flex-wrap:wrap;justify-content:center;gap:40px}
.offer-row .offer-btn{margin:0;background:#fff;padding:14px;border-radius:18px;box-shadow:0 20px 50px rgba(0,0,0,.35)}
.gn-icon{display:inline-flex;align-items:center;justify-content:center;gap:8px;color:#3b5998;min-width:52px;min-height:52px;background:#fff;border-radius:50%;box-shadow:0 2px 10px rgba(0,0,0,.1)}
.sales-plain .page-title{max-width:900px;margin:40px auto 0;padding:0 20px;text-align:center}

/* ---------- forms ---------- */
.gn-form label{font:600 16px/1.5 var(--sans);color:var(--forest)}
.gn-form .field input,.gn-form textarea,.gn-form input[type=password]{width:100%;max-width:560px;font:17px/1.4 var(--sans);padding:14px 16px;border:2px solid var(--sage2);border-radius:12px;background:var(--cream);margin-top:6px}
.gn-form input:focus,.gn-form textarea:focus{border-color:var(--moss);outline:none;background:#fff}
.gn-form input[type=password]{width:auto;max-width:100%;margin-bottom:14px}
.post-password-form .btn-send{margin-top:4px}
.form-msg{padding:12px 16px;margin:0 0 18px;border-radius:12px;border:2px solid #c33;background:#fff4f2}
.form-msg.ok{border-color:var(--green);background:#eef7ee}
.field-err{color:#a40000;font-size:16px;display:block}

/* ---------- footer ---------- */
.foot-band{height:120px;background:url("../../img/gen/herb-band.jpg") center/cover;border-top:1px solid var(--line)}
.site-foot{background:var(--forest);color:#e4ebdf;font:16px/1.7 var(--serif)}
.foot-in{max-width:1140px;margin:0 auto;padding:54px 24px 40px;display:grid;grid-template-columns:220px minmax(0,1fr);gap:48px}
.foot-logo img{width:170px}
.foot-text p{margin:0 0 14px}
.foot-text a{color:#fff}
.foot-text a:hover{color:var(--honey)}
.foot-legal{font:600 16px/1.8 var(--sans);padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.18);margin-bottom:20px !important}
.foot-copy{margin-top:22px !important;color:#fff}
@media (max-width:760px){.foot-band{height:70px}.foot-in{grid-template-columns:minmax(0,1fr);gap:24px;padding:40px 18px 34px;text-align:center}}

/* ---------- hero book card (buy path in the first screen) ---------- */
.hero-book{display:flex;gap:18px;align-items:center;margin-top:24px;background:rgba(255,255,255,.94);border-radius:16px;padding:14px 18px 14px 14px;box-shadow:0 12px 30px rgba(18,53,36,.18);max-width:540px}
.hb-cover{width:104px;height:auto;border-radius:8px;flex:none;box-shadow:0 6px 14px rgba(0,0,0,.25)}
.hb-text{min-width:0}
.hb-price{font:700 18px/1.35 var(--sans);color:var(--forest);margin:0 0 10px}
.hb-price s{color:#b3261e}
.hero-book .hb-cta{margin:0 !important;text-align:left}
.hero-book .hb-cta a{font-size:16px;padding:12px 20px;display:block}
@media (max-width:760px){
  .hero-img{height:230px}
  .hero-in{padding:22px 16px 30px}
  .hero-title{font-size:34px;margin-bottom:22px}
  .hero-book{margin-top:18px;padding:12px;gap:14px}
  .hb-cover{width:84px}
  .hb-price{font-size:16px}
  .hero-book .hb-cta a{font-size:16px;padding:12px 14px}
}

/* ---------- review screenshots (book page) ---------- */
.pic-reviews{text-align:center;margin:20px 0}
.rev-img{display:block;width:100%;max-width:720px;height:auto;margin:0 auto;border-radius:12px;box-shadow:var(--shadow);background:#fff}

/* ---------- "On Page" grid (sales page) ---------- */
.band-pages .oband-in{max-width:1240px}
.pgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:34px;align-items:stretch}
.pcard{background:#fff;border-radius:20px;box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column;border-top:6px solid var(--moss)}
.pc-head{padding:28px 32px 8px;text-align:left}
.pc-head h2{display:inline-block;font:700 16px/1 var(--sans) !important;letter-spacing:.1em;text-transform:uppercase;color:#fff;background:var(--forest);padding:10px 16px;border-radius:999px;margin:0 0 14px !important}
.pc-head h2 *{color:#fff !important;background:none !important}
.pc-head h3{font:700 26px/1.25 var(--head) !important;color:var(--forest) !important;margin:0 !important;text-align:left !important}
.pc-head h3 *{font-family:inherit !important}
.pc-body{padding:14px 32px 30px;font-size:18px;line-height:1.75;flex:1;display:flex;flex-direction:column}
.pc-body p{font-size:18px}
.pcard .mrow,.pcard .mrow-right{display:flex;flex-direction:column;gap:18px;background:none;box-shadow:none;padding:0;margin:0 0 20px;border-radius:0}
.pcard .mrow-pic{order:0 !important}
.pcard .mrow-img{width:100%;height:300px;object-fit:cover;border-radius:14px}
.pcard .pic{text-align:center}
.pcard .pic:last-child{margin-top:auto;padding-top:6px}
.pcard .pic:last-child img{max-width:220px;height:auto;opacity:.75}
.pcard > .pc-body > .pic:first-child img{width:100%;height:auto;border-radius:14px}
@media (max-width:900px){.pgrid{grid-template-columns:minmax(0,1fr);gap:24px}.pc-head{padding:22px 20px 6px}.pc-body{padding:12px 20px 24px;font-size:17px}.pc-body p{font-size:17px}.pcard .mrow-img{height:220px}.pc-head h3{font-size:23px !important}}
.pcard .mrow-pic{width:100%;align-self:stretch}
.pcard .pic:last-child,.pcard .pic:last-child img{box-shadow:none !important;border-radius:0 !important;background:none !important}
/* round 3: text inside every button takes the button's colour */
.h-cta a *,.btn *,.offer-btn *,.hb-cta a *{color:inherit !important;background:none !important}
/* card grid: no stretched gaps; a last odd card spans both columns; purchase strip inside the grid */
.pgrid{align-items:start}
.pgrid>.pcard:last-of-type:nth-of-type(odd){grid-column:1/-1}
.pgrid>.pcard:last-of-type:nth-of-type(odd) .mrow-img{height:420px}
.pgrid>.pbuy{grid-column:1/-1;background:var(--forest);border-radius:20px;padding:34px 20px;margin:0}
.early-cta{margin:22px 0 34px !important}
@media (max-width:900px){.pgrid>.pcard:last-of-type:nth-of-type(odd) .mrow-img{height:220px}}
