/* Carnify PDP on the Sofyre house template (sfy-pdp) — donor css byte-identical below; the .flav and .subrow rules at the end are the offer-forced additions (4 flavours, a subscription). Recreate of the donor design (tokens sampled 2026-09-06: serif h 30/400 #24433d · body 14/1.36 #24433d · CTA #ccf46f/#23372b pill · dark panel #23372b · light #f1f3e9) */
:root{--ink:#24433d;--ink2:#23372b;--lime:#ccf46f;--lime2:#a6e05a;--panel:#23372b;--light:#f1f3e9;--line:#e6e6e6;--muted:#6b7a76;--serif:"Dutch801 Rm BT","Times New Roman",Times,Georgia,serif;--sans:"Helvetica Neue",Helvetica,Poppins,Arial,sans-serif;--max:1180px}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--sans);font-size:14px;line-height:1.36;color:var(--ink);background:#fff}
img{max-width:100%;height:auto;display:block}h1,h2,h3{font-family:var(--serif);font-weight:400;margin:0;color:var(--ink)}
h1{font-size:30px;line-height:1.12}h2{font-size:30px;line-height:1.15;text-align:center}h3{font-size:18px}
p{margin:0 0 10px}.wrap{max-width:var(--max);margin:0 auto;padding:0 16px}
.sec{padding:40px 0}@media(min-width:768px){.sec{padding:64px 0}h1{font-size:36px}h2{font-size:38px}}
.btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;border:0;border-radius:555px;background:var(--lime);color:var(--ink2);font:700 17px/1 var(--sans);padding:18px 24px;cursor:pointer;text-decoration:none;letter-spacing:.2px}
.btn:hover{background:var(--lime2)}.btn svg{width:16px;height:16px}
.guar{display:flex;align-items:center;justify-content:center;gap:6px;font-size:12px;color:var(--ink);margin-top:10px}.guar svg{width:14px;height:14px}
.cta-wrap{max-width:420px;margin:24px auto 0}
/* header */
.hdr{border-bottom:1px solid var(--line);padding:14px 16px;text-align:center}.hdr .logo{text-decoration:none;display:inline-block;font-family:var(--serif);font-size:22px;letter-spacing:.14em;color:var(--ink2);text-transform:uppercase}
/* hero */
.hero{padding:20px 0 32px}.hero .grid{display:grid;gap:22px}.hero .grid>*{min-width:0}.gal{min-width:0;max-width:100%}@media(min-width:900px){.hero .grid{grid-template-columns:1fr 1fr;gap:40px;align-items:start}.hero{padding:40px 0 56px}}
.gal-main{border-radius:12px;overflow:hidden;background:#f7f7f5;aspect-ratio:1}.gal-main img{width:100%;height:100%;object-fit:cover;cursor:zoom-in;transition:transform .25s}.gal-main.zoom img{transform:scale(1.35);cursor:zoom-out}
.gal-thumbs{display:flex;gap:8px;margin-top:10px;overflow-x:auto;padding-bottom:4px}.gal-thumbs button{flex:0 0 64px;height:64px;border:2px solid transparent;border-radius:8px;padding:0;background:#f7f7f5;overflow:hidden;cursor:pointer}.gal-thumbs button.on{border-color:var(--lime2)}.gal-thumbs img{width:100%;height:100%;object-fit:cover}
.eyebrow{display:inline-block;background:#eef7e6;color:var(--ink2);font-size:12px;font-weight:600;border-radius:999px;padding:6px 12px;margin-bottom:12px}
.rating{display:flex;align-items:center;gap:8px;font-size:13px;margin-bottom:12px}.stars{color:#7cc242;letter-spacing:1px;font-size:15px}
.bens{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;margin:16px 0 20px;padding:0;list-style:none}.bens li{display:flex;gap:8px;align-items:center;font-size:13px}.bens li:before{content:"";width:18px;height:18px;flex:0 0 18px;border-radius:50%;background:var(--lime) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'><path d='M5 10.5l3 3 7-7' fill='none' stroke='%2323372b' stroke-width='2.2' stroke-linecap='round'/></svg>") center/12px no-repeat}
/* buy box */
.bb-title{font-size:12px;font-weight:700;letter-spacing:.12em;color:var(--ink2);margin-bottom:10px}
.tier{position:relative;display:grid;grid-template-columns:22px 1fr auto;gap:12px;align-items:center;border:1.5px solid var(--line);border-radius:12px;padding:14px 14px;margin-bottom:10px;cursor:pointer;background:#fff}
.tier.on{border-color:var(--lime2);background:#f3fdf2;box-shadow:0 0 0 2px #e3f7d6 inset}
.tier .rad{width:20px;height:20px;border:2px solid #c9cfcc;border-radius:50%;position:relative}.tier.on .rad{border-color:var(--lime2)}.tier.on .rad:after{content:"";position:absolute;inset:4px;border-radius:50%;background:var(--lime2)}
.tier .t1{font-weight:700;font-size:13px;letter-spacing:.04em}.tier .t2{font-size:12px;color:var(--muted)}.tier .save{display:inline-block;margin-top:4px;font-size:11px;font-weight:700;color:#2b7a3b;background:#e6f5ea;border-radius:6px;padding:2px 6px}
.tier .pr{text-align:right}.tier .pr b{display:block;font-size:17px;color:var(--ink2)}.tier .pr s{font-size:12px;color:var(--muted)}
.tier .badge{position:absolute;top:-10px;right:14px;background:var(--ink2);color:#fff;font-size:10px;font-weight:700;letter-spacing:.1em;padding:4px 8px;border-radius:999px}
.timer{display:flex;align-items:center;justify-content:space-between;background:#f6f7f5;border-radius:10px;padding:10px 14px;margin:14px 0;font-size:12px}.timer .d{display:flex;gap:6px}.timer .d b{background:#fff;border:1px solid var(--line);border-radius:6px;padding:4px 7px;font-size:14px;min-width:34px;text-align:center}.timer .ship b{display:block;font-size:13px;color:var(--ink2)}
.pay{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;margin:12px 0 4px}.pay svg{height:22px;width:auto}
/* accordions */
.acc{border-top:1px solid var(--line)}.acc-item{border-bottom:1px solid var(--line)}.acc-item>button{width:100%;background:none;border:0;padding:14px 0;display:flex;justify-content:space-between;align-items:center;font:700 12px/1 var(--sans);letter-spacing:.1em;color:var(--ink2);cursor:pointer;text-align:left}.acc-item>button .pl{width:18px;height:18px;border-radius:50%;background:var(--lime);flex:0 0 18px;position:relative}.acc-item>button .pl:before,.acc-item>button .pl:after{content:"";position:absolute;background:var(--ink2);left:5px;right:5px;top:8px;height:2px}.acc-item>button .pl:after{transform:rotate(90deg)}.acc-item.open>button .pl:after{display:none}
.acc-item .body{display:none;padding:0 0 16px;font-size:13px}.acc-item.open .body{display:block}.acc-item .body h4{margin:12px 0 4px;font:700 11px/1 var(--sans);letter-spacing:.1em;color:var(--ink2)}
.acc-item .body .grid2{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.acc-item .body .cell{background:#f6f7f5;border-radius:8px;padding:10px;font-size:12px}.cell b{display:block;color:var(--ink2)}.cell .n{display:inline-block;background:var(--lime);border-radius:6px;padding:2px 6px;font-weight:700;font-size:11px;margin:4px 0}
/* press */
.press{background:#fff;padding:22px 0;text-align:center}.press .lbl{font-size:12px;color:var(--muted);margin-bottom:12px}.press .logos{display:flex;gap:28px;justify-content:center;align-items:center;flex-wrap:wrap;opacity:.75}.press .logos img{height:26px;width:auto}
/* stats */
.stats{background:var(--light);padding:44px 16px;text-align:center}.stats .stars{font-size:22px}.stats .n{font-family:var(--serif);font-size:64px;line-height:1;color:var(--ink);margin:8px 0}.stats .l{font-family:var(--serif);font-size:24px;color:var(--ink)}
/* reviews */
.rev-head{text-align:center;margin-bottom:18px}.rev-head .r{font-size:13px;margin-bottom:6px}
.tabs{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin:16px 0 6px}.tabs button{border:1.5px solid var(--line);background:#fff;border-radius:999px;padding:10px 16px;font:600 13px/1 var(--sans);color:var(--ink2);cursor:pointer}.tabs button.on{background:var(--ink2);color:#fff;border-color:var(--ink2)}
.tabhint{text-align:center;font-size:11px;color:var(--muted);margin-bottom:14px}
.pane{display:none}.pane.on{display:block}
.rv{display:grid;gap:14px}@media(min-width:900px){.rv{grid-template-columns:repeat(3,1fr)}}
.card{border:1px solid var(--line);border-radius:14px;padding:18px;background:#fff}.card .vb{font-size:11px;font-weight:700;letter-spacing:.1em;color:#2b7a3b;margin-bottom:8px}.card .q1{font-size:13px;color:var(--muted);font-style:italic;margin-bottom:8px}.card .q2{font-family:var(--serif);font-size:19px;line-height:1.2;margin-bottom:10px}.card .who{margin-top:12px;font-size:12px}.card .who b{display:block;color:var(--ink2);font-size:13px}.card .who span{color:var(--muted)}.card .pk{margin-top:8px;font-size:11px;color:var(--muted)}
/* timeline */
.tl{display:grid;gap:20px}@media(min-width:900px){.tl{grid-template-columns:1fr 1fr;align-items:start}}
.tl-img img{border-radius:14px}.tl h3{font:700 12px/1 var(--sans);letter-spacing:.12em;color:var(--ink2);margin:4px 0 12px}.tl .hd{font-family:var(--serif);font-size:22px;margin-bottom:12px}
.tl ul{list-style:none;padding:0;margin:0}.tl li{padding-left:22px;position:relative;margin-bottom:12px;font-size:14px;color:var(--ink2)}.tl li:before{content:"";position:absolute;left:0;top:5px;width:10px;height:10px;border-radius:50%;background:var(--lime2)}.tl li i{display:block;font-style:italic;color:var(--muted);font-size:12px;margin-top:2px}
/* science */
.sci{background:var(--light)}.sci .sub{text-align:center;color:var(--muted);margin:8px 0 22px;font-size:13px}
.sci .cards{display:grid;gap:12px}@media(min-width:900px){.sci .cards{grid-template-columns:repeat(2,1fr)}}
.ing{position:relative;border-radius:14px;overflow:hidden;min-height:210px;background:#111 center/cover no-repeat;color:#fff;padding:22px;display:flex;flex-direction:column;justify-content:flex-end}.ing:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.15),rgba(0,0,0,.72))}.ing>*{position:relative}
.ing .pct{font-size:11px;font-weight:700;letter-spacing:.14em;opacity:.9}.ing h3{font-family:var(--serif);color:#fff;font-size:26px;margin:4px 0 8px}.ing .tags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}.ing .tags span{font-size:10px;font-weight:700;letter-spacing:.06em;border:1px solid rgba(255,255,255,.5);border-radius:999px;padding:4px 8px}.ing p{margin:0;font-size:13px;opacity:.95}
/* safe */
.safe .grid{display:grid;gap:18px}@media(min-width:900px){.safe .grid{grid-template-columns:1fr 1fr;align-items:center}}
.safe .lead{color:var(--muted);font-size:13px;text-align:center;margin:8px 0 18px}.safe .lead b{color:var(--ink2)}
.lists{display:grid;gap:12px}.free{border:1px solid var(--line);border-radius:14px;padding:16px}.free h4,.and h4{font:700 12px/1 var(--sans);letter-spacing:.1em;margin:0 0 10px}.free ul,.and ul{list-style:none;margin:0;padding:0;columns:2;gap:12px}.free li,.and li{font-size:13px;padding:5px 0 5px 22px;position:relative;break-inside:avoid}
.free li:before{content:"✕";position:absolute;left:0;color:#c0392b;font-weight:700}.and{background:var(--panel);color:#fff;border-radius:14px;padding:16px}.and h4{color:#fff}.and li:before{content:"✓";position:absolute;left:0;color:var(--lime);font-weight:700}
/* directions */
.dir .lead{text-align:center;color:var(--muted);font-size:13px;margin:8px auto 22px;max-width:560px}
.dir .cards{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(min-width:900px){.dir .cards{grid-template-columns:repeat(4,1fr)}}
.dc{border:1px solid var(--line);border-radius:14px;padding:14px;text-align:center;background:#fff}.dc img{height:84px;width:auto;margin:0 auto 8px;object-fit:contain}.dc b{display:block;font-size:13px;color:var(--ink2)}.dc .n{display:inline-block;background:var(--lime);border-radius:6px;padding:3px 8px;font-weight:700;font-size:11px;letter-spacing:.06em;margin:6px 0}.dc p{font-size:12px;color:var(--muted);margin:0}
.reco{background:var(--panel);color:#fff;border-radius:14px;padding:16px;margin-top:14px;text-align:center}.reco b{display:block;font-size:11px;letter-spacing:.12em;margin-bottom:4px}
/* compare */
.cmp{max-width:640px;margin:22px auto 0;border-collapse:separate;border-spacing:0;width:100%}.cmp th{font:700 12px/1.2 var(--sans);letter-spacing:.08em;padding:12px 8px;text-align:center}.cmp th.us{background:var(--light);border-radius:12px 12px 0 0;font-family:var(--serif);font-size:18px;letter-spacing:.14em}.cmp td{padding:12px 8px;border-bottom:1px solid var(--line);font-size:13px}.cmp td.us{background:var(--light);text-align:center}.cmp td.o{text-align:center;color:var(--muted)}.cmp tr:last-child td.us{border-radius:0 0 12px 12px}
.ok{display:inline-block;width:22px;height:22px;border-radius:50%;background:var(--lime) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'><path d='M5 10.5l3 3 7-7' fill='none' stroke='%2323372b' stroke-width='2.2' stroke-linecap='round'/></svg>") center/13px no-repeat}.no{display:inline-block;width:22px;height:22px;border-radius:50%;background:#ececec}
/* guarantee */
.gr .grid{display:grid;gap:18px;max-width:900px;margin:0 auto}@media(min-width:900px){.gr .grid{grid-template-columns:1fr 1fr;align-items:center}}
.gr img{border-radius:14px}.gr .box{background:var(--light);border-radius:14px;padding:26px;text-align:center}.gr .box .ic{width:36px;height:36px;border-radius:50%;background:var(--ink2);margin:0 auto 10px}.gr .box h3{font-size:24px;margin-bottom:8px}
/* faq */
.faq .acc-item>button{font:600 13px/1.3 var(--sans);letter-spacing:0;text-transform:none;padding:16px 0}.faq .body{font-size:13px;color:var(--ink)}
.help{margin-top:18px;background:var(--light);border-radius:14px;padding:18px;text-align:center}.help b{display:block;font-family:var(--serif);font-size:18px;margin-bottom:6px}.help p{font-size:12px;color:var(--muted)}.help a{display:inline-block;margin-top:6px;border:1.5px solid var(--ink2);border-radius:999px;padding:8px 16px;font-size:12px;font-weight:700;color:var(--ink2);text-decoration:none}
/* sticky */
.sticky{position:fixed;left:0;right:0;bottom:0;background:#fff;border-top:1px solid var(--line);padding:10px 14px;display:none;z-index:50;box-shadow:0 -6px 20px rgba(0,0,0,.06)}.sticky.on{display:flex;gap:10px;align-items:center}.sticky .p{font-size:12px;line-height:1.2}.sticky .p b{display:block;font-size:14px;color:var(--ink2)}.sticky .btn{padding:14px 18px;font-size:15px;width:auto;flex:1}
footer{padding:28px 16px 90px;text-align:center;font-size:12px;color:var(--muted)}footer a{color:var(--muted);margin:0 8px}

/* offer-forced additions (not in the donor): flavour row + subscribe row, drawn with the chassis tokens */
.flav{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:0 0 16px}.flav button{border:1.5px solid var(--line);border-radius:12px;background:#fff;padding:8px 6px;cursor:pointer;text-align:center;font:600 11px/1.2 var(--sans);color:var(--ink2)}.flav button img{width:48px;height:48px;object-fit:contain;margin:0 auto 6px;border-radius:8px}.flav button.on{border-color:var(--lime2);background:#f3fdf2;box-shadow:0 0 0 2px #e3f7d6 inset}
.subrow{display:flex;gap:10px;align-items:flex-start;border:1.5px solid var(--line);border-radius:12px;padding:12px 14px;margin:4px 0 0;cursor:pointer;background:#fff}.subrow input{margin:3px 0 0;accent-color:var(--lime2)}.subrow b{display:block;font-size:13px;color:var(--ink2)}.subrow em{display:block;font-style:normal;font-size:11px;color:var(--muted);margin-top:2px}
.pay ul{list-style:none;display:flex;gap:6px;justify-content:center;flex-wrap:wrap;margin:0;padding:0}.pay li{display:block}.pay svg{height:22px;width:auto}
