/* Bitterkin PDP, direct copy of Primal Remedies /products/ceylon-cinnamon-7200mg (GemPages + Dawn + Kaching + Loox look).
   Only color swap: Primal brown -> Bitterkin forest/accent green. Cream stays cream. Bright green buy buttons stay bright green.
   Gold for stars and the 90-day seal. Type: Jost (headings) + DM Sans (body), same as Primal. Mobile sizes = Primal +1 to +2px (floor 15px). */
:root{
  --forest:#1d3327; --green:#2f5d3a; --green2:#24472d;
  --cream:#fbf6ee; --cream2:#f6ecdd; --sel:#fcf8f1;
  --gold:#d9a441; --gold-soft:#f5e7c6;
  --cta:#3daa35; --cta-sh:#1f6b19; --kick-g:#3caa35;
  --red:#c5453f; --pink:#fff5f4; --mint:#f4fff4;
  --ink:#1e1e1e; --ink2:#2d2d2d; --sub:#555; --line:#e4e4e4; --bar-line:#dcd2c8; --rad-line:#d6cbc2;
  --hl:#fdf3a6;
  --jost:"Jost",-apple-system,"Segoe UI",Arial,sans-serif;
  --dm:"DM Sans",-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --logo:"Merriweather",Georgia,serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
html,body{margin:0}
body{font-family:var(--dm);font-size:19px;line-height:1.5;color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
button{font-family:inherit}
svg.i{width:1em;height:1em;flex:none;display:inline-block;vertical-align:middle}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.stars{display:inline-flex;gap:1px;color:var(--gold);vertical-align:-2px}
h1,h2,h3{margin:0}

/* ---------- 1. top bar (Primal: brown, FALL SALE + countdown; ours: no timer) ---------- */
.topbar{background:var(--forest);color:#fff;text-align:center;padding:9px 15px 10px;line-height:1.2}
.topbar .t1{display:block;font-weight:700;font-size:18px;letter-spacing:.02em}
.topbar .t2{display:block;font-size:18px;color:#d5ddd7;margin-top:3px}
.topbar.off .t1{display:none}.topbar.off .t2{margin:0;color:#fff;font-weight:500}

/* ---------- 2. header (sticky like Primal) ---------- */
.hd{position:sticky;top:0;z-index:40;background:#fff;box-shadow:0 1px 0 rgba(0,0,0,.06)}
.hd-in{height:56px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;max-width:1200px;margin:0 auto}
.hd .ib{background:none;border:0;padding:11px;color:var(--ink);font-size:26px;line-height:0;cursor:pointer;text-decoration:none}
.logo{font-family:var(--logo);font-weight:700;font-size:26px;line-height:1;color:var(--forest);text-decoration:none;display:flex;align-items:center;gap:6px;letter-spacing:-.01em;padding:11px 0}
.logo svg{color:var(--gold);font-size:22px}
.nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-top:1px solid var(--line);box-shadow:0 12px 24px rgba(0,0,0,.12)}
.nav.open{display:block}
.nav a{display:block;padding:14px 20px;font-size:18px;font-weight:500;text-decoration:none;border-bottom:1px solid var(--line);max-width:1200px;margin:0 auto}

/* ---------- 3. product top: gallery + buy box ---------- */
.top{padding:10px 10px 0}
.gal{position:relative}
.track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.track::-webkit-scrollbar{display:none}
.slide{flex:0 0 100%;scroll-snap-align:start;position:relative;aspect-ratio:370/322;overflow:hidden;container-type:inline-size}
.trow{display:flex;align-items:center;gap:6px;margin-top:8px}
.arw{flex:none;width:48px;height:48px;border-radius:50%;border:0;background:radial-gradient(circle,#fff 0 16px,#d9d2c9 16.5px 17.5px,transparent 18px);color:var(--ink);font-size:17px;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}
.thumbs{flex:1;min-width:0;display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.thumbs::-webkit-scrollbar{display:none}
.thumbs button{flex:0 0 54px;padding:0;border:2px solid transparent;border-radius:4px;overflow:hidden;background:#fff;cursor:pointer;opacity:.75}
.thumbs button.on{border-color:var(--green);opacity:1}
.tclone{position:relative;width:100%;aspect-ratio:370/322;container-type:inline-size;overflow:hidden;pointer-events:none}

/* gallery slide graphics: sized in container units so the thumbnails are true mini copies (base 370 x 322) */
.sl{position:absolute;inset:0;--u:calc(100cqw / 370);font-family:var(--dm);color:var(--ink2);overflow:hidden}
.sl .ttl{font-family:var(--jost);font-weight:600;line-height:1.12;text-align:center;color:var(--ink2)}
.sl .ttl em{font-style:normal;color:var(--green)}
/* s1 photo + 3 benefit tiles */
.s1{display:grid;grid-template-columns:1fr calc(102 * var(--u));gap:calc(4 * var(--u));background:#fff}
.s1 .ph{position:relative;overflow:hidden;border-radius:calc(6 * var(--u))}
.s1 .ph img{width:100%;height:100%;object-fit:cover}
.ribbon{position:absolute;top:calc(12 * var(--u));left:calc(12 * var(--u));background:var(--forest);color:#fff;font-size:calc(16 * var(--u));line-height:1;padding:calc(6 * var(--u)) calc(10 * var(--u));border-radius:calc(6 * var(--u));border:1px solid rgba(255,255,255,.55);white-space:nowrap}
.tiles{display:grid;grid-template-rows:repeat(3,1fr);gap:calc(4 * var(--u))}
.tile{background:linear-gradient(160deg,#f8efe2,#efe1cc);border-radius:calc(6 * var(--u));display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:calc(4 * var(--u));font-size:calc(17 * var(--u));line-height:1.15;font-weight:600;color:#2b2a24}
.tile svg{font-size:calc(32 * var(--u));color:var(--green);margin-bottom:calc(6 * var(--u))}
/* s2 melon to capsule */
.s2{background:linear-gradient(0deg,var(--cream2),#fff 85%);padding:calc(16 * var(--u)) calc(16 * var(--u)) 0}
.s2 .ttl{font-size:calc(26 * var(--u))}
.s2 .cols{display:grid;grid-template-columns:1fr calc(24 * var(--u)) 1fr;gap:calc(4 * var(--u));margin-top:calc(10 * var(--u));text-align:center}
.s2 .cols b{display:block;font-family:var(--jost);font-weight:600;font-size:calc(18 * var(--u));margin-bottom:calc(6 * var(--u))}
.s2 .cols b.g{color:var(--green)}
.s2 .cols img{width:100%;aspect-ratio:1/0.82;object-fit:cover;border-radius:calc(8 * var(--u))}
.s2 .mid{display:flex;align-items:center;justify-content:center;border-left:2px dotted #b8ad9f;margin-left:calc(11 * var(--u));margin-top:calc(26 * var(--u))}
.s2 .box{margin-top:calc(10 * var(--u));border:1.5px dashed var(--green);border-radius:calc(8 * var(--u));background:#fff;padding:calc(6 * var(--u)) calc(10 * var(--u));text-align:center;font-size:calc(18 * var(--u));font-weight:500;line-height:1.3}
/* s3 feel better */
.s3{background:linear-gradient(0deg,var(--cream2),#fff 70%);padding:calc(14 * var(--u)) calc(18 * var(--u)) 0;text-align:center}
.s3 .ttl{font-size:calc(29 * var(--u))}
.s3 .ttl em{color:var(--green)}
.s3 .sub{font-size:calc(18 * var(--u));line-height:1.3;margin-top:calc(6 * var(--u))}
.s3 .ic3{display:grid;grid-template-columns:repeat(3,1fr);gap:calc(6 * var(--u));margin-top:calc(10 * var(--u));font-size:calc(16 * var(--u));line-height:1.15;font-weight:600}
.s3 .ic3 svg{display:block;margin:0 auto calc(4 * var(--u));font-size:calc(30 * var(--u));color:var(--green)}
.s3 .bagc{position:absolute;left:50%;bottom:calc(-70 * var(--u));transform:translateX(-50%);width:calc(170 * var(--u));aspect-ratio:1;border-radius:50%;overflow:hidden;box-shadow:0 0 0 calc(14 * var(--u)) rgba(47,93,58,.06),0 0 0 calc(30 * var(--u)) rgba(47,93,58,.04)}
.s3 .bagc img{width:100%;height:100%;object-fit:cover;object-position:center 30%}
/* s4 + trust panel share the badge look */
.s4{background:linear-gradient(189deg,var(--green) 0%,var(--forest) 100%);color:#fff;padding:calc(16 * var(--u)) calc(14 * var(--u));text-align:center}
.s4 .ttl{color:#fff;font-weight:600;font-size:calc(27 * var(--u))}
.s4 .b4{display:grid;grid-template-columns:repeat(4,1fr);gap:calc(6 * var(--u));margin-top:calc(12 * var(--u))}
.s4 .b4 div{border:1px solid rgba(255,255,255,.9);border-radius:calc(8 * var(--u));padding:calc(8 * var(--u)) calc(3 * var(--u));font-size:calc(16 * var(--u));font-weight:500;line-height:1.15;text-transform:uppercase}
.s4 .b4 svg{display:block;margin:0 auto calc(6 * var(--u));font-size:calc(30 * var(--u))}
.s4 .c6{display:grid;grid-template-columns:1fr 1fr;gap:calc(7 * var(--u)) calc(8 * var(--u));margin-top:calc(14 * var(--u));text-align:left;font-size:calc(16 * var(--u));line-height:1.2}
.s4 .c6 span{display:flex;align-items:center;gap:calc(6 * var(--u))}
.s4 .c6 svg{font-size:calc(17 * var(--u))}
/* s5 review card */
.s5{background:linear-gradient(0deg,var(--cream2),#fff 70%);padding:calc(14 * var(--u)) calc(16 * var(--u))}
.s5 .rt{display:flex;align-items:center;gap:calc(8 * var(--u));font-size:calc(16 * var(--u))}
.s5 .rt .stars{font-size:calc(16 * var(--u))}
.s5 .q{font-family:var(--jost);font-weight:600;font-size:calc(27 * var(--u));line-height:1.18;margin-top:calc(8 * var(--u))}
.s5 .q em{font-style:normal;color:var(--green)}
.s5 .bd{width:56%;font-size:calc(17 * var(--u));line-height:1.35;margin-top:calc(8 * var(--u))}
.s5 .bd b{display:block;margin-top:calc(6 * var(--u))}
.s5 .who{position:absolute;right:0;bottom:0;width:44%;height:62%;object-fit:cover;border-top-left-radius:calc(80 * var(--u))}
/* s6 capsule diagram */
.s6{background:linear-gradient(0deg,var(--cream2),#fff 70%)}
.s6 .ctr{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:calc(132 * var(--u));aspect-ratio:1;border-radius:50%;overflow:hidden;box-shadow:0 0 0 calc(6 * var(--u)) #fff,0 0 0 calc(7 * var(--u)) #cdbfae}
.s6 .ctr img{width:100%;height:100%;object-fit:cover}
.s6 .co{position:absolute;width:calc(112 * var(--u));text-align:center;font-size:calc(16 * var(--u));line-height:1.15;font-weight:600}
.s6 .co svg{display:block;margin:0 auto calc(4 * var(--u));width:calc(40 * var(--u));height:calc(40 * var(--u));padding:calc(7 * var(--u));border:1.5px solid var(--green);border-radius:50%;color:var(--green);background:#fff}
.s6 .l{left:calc(8 * var(--u))}.s6 .r{right:calc(8 * var(--u))}
.s6 .y1{top:calc(12 * var(--u))}.s6 .y2{top:calc(117 * var(--u))}.s6 .y3{top:calc(222 * var(--u))}
/* s7 comparison */
.s7{background:linear-gradient(0deg,var(--cream2),#fff 70%);padding:calc(14 * var(--u)) calc(16 * var(--u))}
.s7 .ttl{font-size:calc(27 * var(--u))}
.s7 .tbl{display:grid;grid-template-columns:calc(196 * var(--u)) calc(110 * var(--u));justify-content:center;gap:0 calc(10 * var(--u));margin-top:calc(10 * var(--u))}
.s7 .us,.s7 .them{border-radius:calc(8 * var(--u));overflow:hidden}
.s7 .us{background:var(--green);color:#fff;box-shadow:0 4px 12px rgba(0,0,0,.15)}
.s7 .them{background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.08)}
.s7 .hdr{height:calc(30 * var(--u));display:flex;align-items:center;justify-content:center;font-family:var(--jost);font-weight:600;font-size:calc(18 * var(--u))}
.s7 .us .hdr{background:var(--forest)}
.s7 .them .hdr{color:#6b6b6b}
.s7 .row{height:calc(50 * var(--u));display:flex;align-items:center;justify-content:center;gap:calc(8 * var(--u));font-size:calc(17 * var(--u));font-weight:500;border-top:1px solid rgba(255,255,255,.2)}
.s7 .them .row{border-top:1px solid #eee;color:#9a9a9a;font-size:calc(20 * var(--u))}
.s7 .row svg{font-size:calc(18 * var(--u))}
/* s8 90 days */
.s8{background:linear-gradient(0deg,var(--cream2),#fff 70%);text-align:center;padding:calc(18 * var(--u)) calc(26 * var(--u)) 0}
.s8 .seal90{width:calc(90 * var(--u));height:calc(90 * var(--u));margin:0 auto}
.s8 .k{font-size:calc(17 * var(--u));letter-spacing:.04em;color:var(--green);margin-top:calc(10 * var(--u))}
.s8 .ttl{font-size:calc(30 * var(--u));font-weight:600;margin-top:calc(2 * var(--u))}
.s8 .tx{font-size:calc(18 * var(--u));line-height:1.35;margin-top:calc(8 * var(--u))}

/* ---------- buy box ---------- */
.buy{padding:12px 0 0}
.rating{display:flex;align-items:center;gap:7px;font-size:18px;color:#1e1e1e;flex-wrap:wrap;line-height:1.3}
.rating .stars{font-size:17px}
.rating a{text-decoration:none;display:inline-block;padding:12px 0;margin:-12px 0}
h1.pt{font-family:var(--jost);font-weight:600;font-size:31px;line-height:1.18;color:var(--ink2);margin:8px 0 10px}
.promise{font-size:19px;line-height:1.5;color:#1e1e1e;margin:0 0 16px}
.promise p{margin:0}
.promise u{text-underline-offset:2px}
.pills{display:grid;grid-template-columns:auto auto;grid-template-rows:repeat(3,auto);grid-auto-flow:column;justify-content:space-between;gap:12px 8px;margin:0 0 6px}
.pill{display:flex;align-items:center;gap:6px;font-size:16.5px;font-weight:500;line-height:1.2;white-space:nowrap}
.pill svg{font-size:20px;color:var(--green)}
/* blueprint pills are long on both sides: tighten under 390px so both columns fit at 375 */
@media (max-width:389px){.pills{gap:12px 6px}.pill{font-size:15.5px;gap:5px}.pill svg{font-size:18px}}

/* bundle block (Kaching look) */
#pick{scroll-margin-top:66px;margin-top:18px}
.ptitle{display:flex;align-items:center;gap:12px;font-weight:700;font-size:19px;letter-spacing:.04em;margin:0 0 6px;white-space:nowrap;color:#202020}
.ptitle:before,.ptitle:after{content:"";flex:1;height:2px;background:#d8cfc6}
.bar{position:relative;display:flex;align-items:center;gap:10px;border:1px solid var(--bar-line);border-radius:10px;padding:13px 12px 13px 10px;background:#fcfcfc;margin-top:14px;cursor:pointer;-webkit-tap-highlight-color:transparent}
.bar input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.bar .rad{width:22px;height:22px;border-radius:50%;border:2px solid var(--rad-line);flex:none;position:relative;background:#fff}
.bar.on{background:var(--sel);border-color:transparent;box-shadow:inset 0 0 0 2px var(--forest);padding-top:17px;padding-bottom:17px}
.bar.on .rad{border-color:var(--forest)}
.bar.on .rad:after{content:"";position:absolute;inset:4px;border-radius:50%;background:var(--forest)}
.bar input:focus-visible+.rad{outline:3px solid var(--gold);outline-offset:2px}
.bm{flex:1;min-width:0}
.b1{display:flex;align-items:center;flex-wrap:wrap;gap:4px 7px}
.bt{font-size:19px;font-weight:600;line-height:1.25;color:#0b0b0b}
.save{background:var(--gold-soft);color:#1a1a1a;font-size:15px;font-weight:500;padding:3px 9px;border-radius:12px;line-height:1.3;white-space:nowrap}
.bs{display:block;font-size:18px;color:#4e4e4e;margin-top:2px}
.bp{text-align:right;flex:none;line-height:1.25}
.bp b{display:block;font-size:20px;color:var(--green);font-weight:700}
.bp s{display:block;font-size:17px;color:#6e6e6e}
.tab{position:absolute;top:-13px;right:10px;background:var(--forest);color:#fff;font-size:15px;font-weight:700;line-height:1;padding:6px 12px;border-radius:30px}
.refill{position:relative;display:flex;align-items:center;gap:14px;border:2px dashed var(--forest);border-radius:10px;padding:12px 14px;margin-top:14px;cursor:pointer;background:#fcfcfc;-webkit-tap-highlight-color:transparent}
.refill input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.refill .box{width:26px;height:26px;border:2px solid var(--forest);border-radius:2px;flex:none;display:flex;align-items:center;justify-content:center;color:var(--forest);background:#fff}
.refill .box svg{font-size:17px;opacity:0}
.refill input:checked+.box svg{opacity:1}
.refill input:focus-visible+.box{outline:3px solid var(--gold);outline-offset:2px}
.refill strong{display:block;font-size:18px;line-height:1.3;color:#1e1e1e}
.refill .sm{display:block;font-size:18px;color:#555;line-height:1.35}
.rf-note{display:none;background:var(--cream);border-radius:8px;padding:9px 12px;margin-top:8px;font-size:17px;line-height:1.45;color:var(--forest)}
.rf-note.show{display:block}
.atc{display:block;width:100%;text-align:center;background:var(--cta);color:#fff;font-weight:700;font-size:22px;line-height:1.2;padding:17px 14px;border-radius:7px;text-decoration:none;margin-top:16px;box-shadow:0 1px 0 var(--cta-sh)}
.atc .ap{font-weight:500}
.atc:active{transform:translateY(1px)}
.stock{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;font-size:18px;color:#2d2d2d;margin:12px 0 0}
.stock .dot{width:7px;height:7px;border-radius:50%;background:var(--cta);display:inline-block}
.stock svg{font-size:16px;color:var(--ink2)}
.stock span{display:inline-flex;align-items:center;gap:6px}
.payrow{display:flex;justify-content:center;margin-top:10px}
.payrow img{height:24px;width:auto}
.gstrip{display:flex;gap:10px;align-items:center;background:var(--cream);border-radius:7px;padding:12px 10px;margin-top:18px}
.gstrip svg.mb{width:56px;height:56px;flex:none}
.gstrip strong{display:block;font-size:20px;line-height:1.3;color:#151515}
.gstrip .g{font-size:18px;line-height:1.45;color:#151515}

/* accordions (GemPages plain) */
.accs{margin-top:14px}
details.acc,.rowbtn{border:1px solid var(--line);border-radius:5px;margin-top:10px;background:#fff}
details.acc summary,.rowbtn{list-style:none;padding:17px 14px 17px 12px;font-weight:600;font-size:19px;line-height:1.35;color:#1e1e1e;display:flex;justify-content:space-between;align-items:center;cursor:pointer;gap:12px}
details.acc summary::-webkit-details-marker{display:none}
.pl{position:relative;width:14px;height:14px;flex:none}
.pl:before,.pl:after{content:"";position:absolute;background:#6d6258;left:0;right:0;top:6.5px;height:1.5px}
.pl:after{left:6.25px;right:auto;width:1.5px;top:0;height:14px;transition:transform .2s}
details.acc[open] .pl:after{transform:scaleY(0)}
.acc-b{padding:0 14px 18px 12px;font-size:19px;line-height:1.5;color:#1e1e1e}
.acc-b p{margin:0 0 12px}
.acc-b p:last-child{margin-bottom:0}
.acc-b ul{list-style:none;margin:0;padding:0}
.acc-b li{margin:0 0 10px}
.acc-b ul:not(.ticks) li{padding-left:1.7em;text-indent:-1.7em}
.acc-b h4{margin:14px 0 2px;font-size:19px;font-weight:700}
.acc-b h4:first-child{margin-top:0}
.rowbtn{width:100%;text-align:left}
.rowbtn svg{color:#6d6258;font-size:18px}

/* own-words build: bold-lead tick lines, her-thought lines, small notes */
.ticks{list-style:none;margin:0;padding:0;display:grid;gap:12px;text-align:left}
.acc-b .ticks li,.ticks li{display:flex;align-items:flex-start;gap:12px;margin:0;font-size:19px;line-height:1.45}
.ticks li svg{width:26px;height:26px;padding:5px;border-radius:50%;background:var(--green);color:#fff;margin-top:1px}
.ticks b{color:var(--forest)}
.sol .ticks{max-width:560px;margin:0 auto 4px}
.gblock .ticks{max-width:460px;margin:0 auto 24px}
.th{font-family:var(--jost);font-weight:500;font-style:italic;font-size:22px;line-height:1.3;text-align:center;margin:0 0 10px;color:var(--ink2)}
.acc-b .fine{font-size:18px;color:#555;margin-top:14px}
.tl-note{font-size:18px;line-height:1.45;color:#555;margin:2px 0 0 44px}

/* ---------- sections ---------- */
.sec{padding:40px 15px}
.wrap{max-width:760px;margin:0 auto}
.wide{max-width:1100px;margin:0 auto}
.kick{display:block;text-align:center;font-size:20px;font-weight:600;line-height:1.2;margin:0 0 6px}
.kick.red{color:var(--red)}.kick.grn{color:var(--kick-g)}
h2.h{font-family:var(--jost);font-weight:600;font-size:31px;line-height:1.18;text-align:center;color:#1e1e1e;margin:0 0 18px}
h2.h u{text-underline-offset:4px;text-decoration-thickness:2px}
.cbody{font-size:19px;line-height:1.5;text-align:center;margin:0 0 14px}
.cbody p{margin:0 0 12px}
.cbody p:last-child{margin-bottom:0}
.cbody b{color:var(--forest)}
.cbody + .th{margin-top:22px}
.pains + .th{margin-top:26px}
.hsub{font-family:var(--jost);font-weight:500;font-size:22px;line-height:1.3;text-align:center;color:var(--forest);margin:-10px 0 16px}
.tried{margin:22px 0 0}

/* why trust panel */
.trust-wrap{padding:24px 10px 0}
.trust-row{max-width:1100px;margin:0 auto}
.trust{background:linear-gradient(189deg,var(--green) 0%,var(--forest) 100%);color:#fff;border-radius:10px;padding:25px 10px;text-align:center}
.trust h2{font-family:var(--jost);font-weight:600;font-size:27px;line-height:1.2;color:#fff;margin:0 0 16px}
.tb4{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:0 0 16px}
.tb4 div{border:1px solid #fff;border-radius:8px;padding:9px 3px 8px;font-size:15px;font-weight:500;line-height:1.2;text-transform:uppercase;letter-spacing:0}
.tb4 svg{display:block;margin:0 auto 8px;font-size:34px}
.tc6{display:grid;grid-template-columns:1fr 1fr;gap:12px 8px;text-align:left;font-size:18px;line-height:1.3;padding:0 4px}
.tc6 span{display:flex;align-items:center;gap:7px}
.tc6 svg{font-size:20px}
.fq{display:none}

/* testimonial grid */
.tsts{background:var(--cream);padding:24px 15px 36px;margin-top:40px}
.rline{display:flex;justify-content:center;align-items:center;gap:7px;font-size:18px;color:#151515;margin-bottom:8px}
.tsts h2.h{font-size:29px;margin-bottom:18px}
.tgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px 12px}
.tcard{background:#fff;border-radius:6px;overflow:hidden;box-shadow:0 1px 6px rgba(0,0,0,.1);display:flex;flex-direction:column}
.tcard img{aspect-ratio:1/1;object-fit:cover;width:100%;border-radius:6px 6px 0 0}
.tcard .tb2{padding:10px 10px 14px;display:flex;flex-direction:column;flex:1;color:#444}
.tcard .stars{font-size:16px}
.tcard h3{font-size:18px;line-height:1.25;font-weight:700;margin:6px 0 4px;color:#222}
.tst{font-size:18px;line-height:1.4;margin:0 0 12px;color:#333}
.tcard .who{font-size:18px;font-weight:700;margin-top:auto;color:#444}
@media (max-width:959px){
  .tgrid{grid-template-columns:1fr;gap:12px}
  .tcard{display:grid;grid-template-columns:84px 1fr;gap:0 12px;padding:12px;align-items:center}
  .tcard img{grid-column:1;grid-row:1/3;width:84px;height:84px;border-radius:6px}
  .tcard .tb2{display:contents}
  .tcard .stars{grid-column:2;grid-row:1;align-self:end}
  .tcard h3{grid-column:2;grid-row:2;align-self:start;font-size:19px;margin:4px 0 0}
  .tcard .tst{grid-column:1/-1;grid-row:3;margin:10px 0 6px}
  .tcard .who{grid-column:1/-1;grid-row:4}
}

/* problem */
.strip3{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;margin:4px 0 22px;border-radius:4px;overflow:hidden}
.strip3 img{width:100%;aspect-ratio:118/196;object-fit:cover}
.pains{display:grid;grid-template-columns:1fr 1fr;gap:12px 12px;margin-top:18px}
.pain{border:1px dashed var(--red);background:var(--pink);border-radius:7px;padding:12px 10px;text-align:center;font-size:18px;font-weight:600;line-height:1.35;display:flex;align-items:center;justify-content:center}
.pain.full{grid-column:1/-1}

/* solution */
.sol{background:linear-gradient(0deg,var(--cream) 0%,#fff 88%);padding-bottom:0}
.chips{display:grid;grid-template-columns:1fr 1fr;gap:10px 10px;margin:22px 0 26px}
.chip{border:1px dashed var(--kick-g);background:var(--mint);border-radius:7px;padding:8px 8px;text-align:center;font-size:18px;font-weight:600;line-height:1.3;display:flex;align-items:center;justify-content:center;min-height:52px}
.prodshot{width:78%;max-width:340px;margin:0 auto;aspect-ratio:288/240;overflow:hidden}
.prodshot img{width:100%;height:100%;object-fit:cover;object-position:center 40%}

/* science band */
.sci{background:linear-gradient(143deg,#13271c 0%,var(--green) 53%,#16291f 100%);color:#fff;padding:36px 10px 40px}
.sci h2.h{color:#fff;margin-bottom:12px;padding:0 16px}
.sci .lead{font-size:19px;line-height:1.5;text-align:center;margin:0 0 22px;padding:0 16px}
.icards{display:grid;gap:16px}
.icard{display:flex;gap:14px;align-items:flex-start;background:var(--cream);color:#151515;border-radius:14px;padding:16px;box-shadow:0 4px 14px rgba(0,0,0,.18)}
.icard img{width:100px;height:143px;flex:none;border-radius:8px;object-fit:cover}
.icard h3{font-family:var(--jost);font-weight:600;font-size:22px;line-height:1.2;margin:2px 0 6px}
.icard .ct{font-size:19px;line-height:1.45;margin:0}
.icard .ct + .ct{margin-top:10px}
.icard .proof{font-weight:600;color:var(--forest)}
@media (max-width:959px){
  .icard{display:grid;grid-template-columns:76px 1fr;gap:12px 14px;align-items:center}
  .icard img{width:76px;height:76px;border-radius:50%}
  .icard > div{display:contents}
  .icard h3{grid-column:2;margin:0}
  .icard .ct{grid-column:1/-1}
  .icard .ct + .ct{margin-top:-2px}
}
.sci .close{font-size:19px;font-weight:600;line-height:1.5;text-align:center;margin:26px 0 0;padding:0 6px}

/* expect timeline */
.exp h2.h{font-size:30px}
.tl-img{border-radius:8px;overflow:hidden;margin:0 0 30px;aspect-ratio:360/266}
.tl-img img{width:100%;height:100%;object-fit:cover}
.tl{position:relative}
.step{position:relative;padding:0 0 26px 0}
.step:before{content:"";position:absolute;left:15px;top:38px;bottom:4px;border-left:2px dashed var(--green)}
.step:last-child{padding-bottom:6px}
.sh{display:flex;align-items:center;gap:12px;margin:0 0 12px}
.sh .dot{width:32px;height:32px;border-radius:50%;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;flex:none}
.sh .em{font-size:22px;line-height:1}
.sh h3{font-family:var(--jost);font-weight:600;font-size:23px;line-height:1.2;color:var(--forest)}
.step .card{margin-left:44px;border:1px solid var(--green);background:var(--cream);border-radius:10px;padding:12px 14px;font-size:19px;line-height:1.45}
.step .card p{margin:0}
.step .card p + p{margin-top:6px}

/* 90-day block */
.gblock{background:var(--cream);text-align:center;padding:30px 15px 0}
.seal90{display:block;width:84px;height:84px;margin:0 auto 10px}
.gblock .k{display:block;font-size:18px;font-weight:600;color:var(--green);letter-spacing:.03em;margin-bottom:2px}
.gblock h2.h{margin-bottom:10px}
.gblock p{font-size:19px;line-height:1.5;margin:0 0 20px}
.gbody{max-width:520px;margin:0 auto 24px}
.gbody p{margin:0 0 12px}
.gbody b{color:var(--forest)}
.gbody .gclose{margin:18px 0 0;font-size:20px}
.gimg{position:relative;max-width:360px;margin:6px auto 0;aspect-ratio:338/282}
.gimg img{width:100%;height:100%;object-fit:cover;object-position:center 25%;-webkit-mask-image:linear-gradient(180deg,#000 70%,rgba(0,0,0,.92));}
.gimg svg.mbb{position:absolute;left:8px;top:6px;width:92px;height:92px}

/* reviews (Loox look) */
.revs{padding:36px 15px 30px}
.rhead{display:flex;align-items:center;justify-content:center;gap:10px;font-size:19px;font-weight:600;margin:0 0 10px}
.rhead .stars{font-size:21px}
.btn-line{display:block;width:100%;text-align:center;border:1px solid #d9d9d9;border-radius:5px;padding:13px 16px;font-size:18px;font-weight:500;text-decoration:none;background:#fff;color:#1e1e1e;cursor:pointer}
.rlist{display:grid;gap:12px;margin-top:16px}
.rv-i{border:1px solid #e6e6e6;border-radius:8px;padding:16px;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.rv-i .nm{font-weight:700;font-size:18px;color:#2b2b2b}
.rv-i .stars{font-size:16px;margin:8px 0 8px}
.rv{font-size:19px;line-height:1.5;margin:0;color:#111}
.rv mark{background:var(--hl);padding:1px 3px;border-radius:3px;color:inherit}
.rv-i img{width:80px;height:80px;object-fit:cover;border-radius:4px;margin-top:12px}
.rv-i.more{display:none}
.rlist.all .rv-i.more{display:block}
.more-w{text-align:center;margin-top:18px}
.btn-sm{display:inline-block;border:1px solid #d9d9d9;border-radius:5px;padding:12px 20px;font-size:18px;background:#fff;color:#1e1e1e;cursor:pointer}

/* FAQ */
.faq{padding:36px 15px 44px}
.faq h2.h{font-weight:600}
.faq details.acc summary{padding:17px 14px}
.faq .acc-b{padding:0 14px 16px}

/* footer (Primal: dark brown GemPages footer) */
footer{background:var(--forest);color:#fff;padding:30px 20px 120px;font-size:16px;line-height:1.5}
.foot-in{max-width:1100px;margin:0 auto}
footer .logo{color:#fff;font-size:28px}
footer .fl{display:flex;flex-direction:column;gap:0;margin:8px 0 0}
footer .fl a,footer .fl button{color:#fff;text-decoration:none;background:none;border:0;padding:0;font:inherit;font-size:17px;cursor:pointer;text-align:left;width:max-content;min-width:48px;padding:12px 0;line-height:1.4}
footer hr{border:0;border-top:1px solid rgba(255,255,255,.22);margin:22px 0}
footer h3{font-family:var(--jost);font-weight:600;font-size:22px;line-height:1.2;margin:0 0 10px}
footer p{margin:0 0 8px}
footer p a[data-email]{display:inline-block;padding:12px 0;margin:-12px 0}
.signup{display:flex;margin-top:12px}
.signup input{flex:1;min-width:0;border:0;border-radius:0;padding:13px 12px;font:inherit;font-size:18px;color:#1e1e1e;min-height:50px}
.signup button{border:0;background:var(--green);color:#fff;font:inherit;font-size:18px;font-weight:700;padding:0 20px;min-height:50px;cursor:pointer;box-shadow:inset 0 0 0 1px rgba(255,255,255,.25)}
.signup-msg{display:none;margin-top:8px;font-weight:700}
.signup-msg.show{display:block}
.legal{font-size:15px;line-height:1.5;color:#e3e9e5;text-align:center}
.legal p{margin:0 0 8px}
.copy{text-align:center;font-size:15px;margin-top:4px}
.copy img{height:24px;width:auto;margin:10px auto 0}

/* sticky bottom bar (Primal: fixed after ~12% scroll, jumps to the bundle picker) */
.sticky{position:fixed;left:0;right:0;bottom:0;z-index:50;background:#fff;padding:8px 16px calc(8px + env(safe-area-inset-bottom));box-shadow:0 -3px 14px rgba(0,0,0,.12);transform:translateY(115%);transition:transform .25s ease}
.sticky.show{transform:none}
.sticky .sk-l{display:none}
.sticky a{display:flex;align-items:center;justify-content:center;gap:10px;background:var(--cta);color:#fff;text-decoration:none;font-weight:700;font-size:20px;line-height:1.2;letter-spacing:0;padding:9px 12px;min-height:54px;border-radius:7px;box-shadow:0 2px 0 var(--cta-sh);text-align:center}
.sticky a svg{font-size:20px}
.sticky .sk-sub{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:6px;font-size:16px;font-weight:700;color:var(--kick-g);text-transform:uppercase;letter-spacing:.01em}
.sticky .sk-sub svg{font-size:18px}

/* Supplement Facts modal */
dialog.facts{border:0;border-radius:14px;padding:0;width:min(420px,calc(100% - 24px));max-height:calc(100% - 40px)}
dialog.facts::backdrop{background:rgba(20,30,24,.55)}
.fx{padding:48px 18px 18px;position:relative}
.fx .close{position:absolute;right:8px;top:4px;background:none;border:0;font-size:32px;line-height:1;cursor:pointer;color:var(--ink);padding:6px 10px}
.sf{border:2px solid #111;padding:8px 10px;font-family:Arial,Helvetica,sans-serif;color:#111;font-size:15px;line-height:1.35}
.sf h3{font-size:30px;font-weight:900;margin:0;line-height:1;letter-spacing:-.02em}
.sf .r{display:flex;justify-content:space-between;gap:10px}
.sf .thick{border-top:9px solid #111;margin:5px 0}
.sf .med{border-top:4px solid #111;margin:5px 0}
.sf small{font-size:14px}
.fx .note2{font-size:16px;line-height:1.45;margin:12px 0 0;color:#444}

/* narrow phones (375): keep the blueprint's longer buy-box blocks at 3 lines */
@media (max-width:389px){
  .gstrip{gap:8px;padding:12px 8px}
  .gstrip svg.mb{width:46px;height:46px}
  .accs .acc-b{padding-left:10px;padding-right:6px}
}

/* ---------- desktop (Dawn product layout: gallery left, buy box right) ---------- */
@media (min-width:960px){
  .hd-in{height:70px;padding:0 24px}
  .logo{font-size:30px}
  #pick{scroll-margin-top:84px}
  .top{display:grid;grid-template-columns:minmax(0,600px) minmax(0,480px);gap:48px;justify-content:center;max-width:1200px;margin:0 auto;padding:30px 24px 0}
  .gal-col{position:sticky;top:90px;align-self:start}
  .arw{width:36px;height:36px;font-size:17px}
  .thumbs button{flex-basis:64px}
  .buy{padding:0}
  h1.pt{font-size:34px}
  .trust-wrap{padding:56px 24px 0}
  .trust-row{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center}
  .trust{padding:30px 22px}
  .trust h2{font-size:26px}
  .fq{display:block;background:var(--cream);border-radius:10px;padding:32px 30px}
  .fq .stars{font-size:22px}
  .fq blockquote{margin:12px 0 14px;font-family:var(--jost);font-size:22px;line-height:1.4;color:#1e1e1e}
  .fq .cite{font-size:16px;color:#444}
  .tsts{margin-top:56px;padding:48px 24px 56px}
  .tsts h2.h{font-size:32px}
  .tgrid{grid-template-columns:repeat(4,1fr);gap:22px}
  .sec{padding:64px 24px}
  h2.h{font-size:36px}
  .kick{font-size:22px}
  .strip3{max-width:760px;margin-left:auto;margin-right:auto}
  .strip3 img{aspect-ratio:1/1}
  .pains{grid-template-columns:repeat(3,1fr)}
  .pain.full{grid-column:auto}
  .chips{grid-template-columns:repeat(4,1fr)}
  .sol{padding-bottom:0}
  .sci{padding:64px 24px}
  .icards{grid-template-columns:1fr 1fr;max-width:960px;margin:0 auto}
  .sci .lead,.sci .close{max-width:720px;margin-left:auto;margin-right:auto}
  .exp .tl-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start;max-width:1040px;margin:0 auto}
  .exp .tl-img{position:sticky;top:100px;aspect-ratio:4/4.2;margin:0}
  .exp h2.h{font-size:34px;margin-bottom:34px}
  .gblock{padding:56px 24px 0}
  .gblock .gwrap{display:grid;grid-template-columns:1fr 420px;gap:40px;align-items:end;max-width:1000px;margin:0 auto;text-align:left}
  .gblock .seal90{margin:0 0 10px}
  .gblock h2.h{text-align:left}
  .gimg{margin:0;max-width:none}
  .revs{padding:64px 24px 40px}
  .revs .wrap{max-width:1000px}
  .rlist{display:block;columns:2;column-gap:16px}
  .rv-i{break-inside:avoid;margin-bottom:16px}
  .btn-line{max-width:360px;margin:0 auto}
  .faq{padding:56px 24px 72px}
  footer{padding:50px 24px 140px}
  .foot-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr 1.4fr;gap:40px}
  .foot-grid hr{display:none}
  .sticky{display:flex;align-items:center;justify-content:center;gap:24px;padding:10px 24px}
  .sticky .sk-l{display:block;font-family:var(--jost);font-weight:500;font-size:21px;color:#1e1e1e}
  .sticky .sk-r{width:400px}
}
