:root{--sbw:0px;}
/* ================= PDP ================= */
.pdp-body{background:var(--cream);}

.p-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:18px 24px;
  border-bottom:2px solid var(--ink);
}
.q-back{font-size:11px;font-weight:700;letter-spacing:.14em;color:var(--ink);text-decoration:none;}
.q-back:hover{color:var(--red);}
.q-logo{height:12px;display:block;}
.p-cart{font-size:11px;font-weight:700;letter-spacing:.1em;color:var(--ink);text-decoration:none;}

.pdp{max-width:1060px;margin:0 auto;padding:48px 24px 80px;}
.pdp-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:52px;
  align-items:start;
}
@media(max-width:860px){.pdp-grid{grid-template-columns:1fr;gap:30px;}}

.pdp-visual-wrap{position:sticky;top:24px;}
@media(max-width:860px){.pdp-visual-wrap{position:static;}}
.pdp-visual{
  position:relative;
  border:2px solid var(--ink);
  background:repeating-linear-gradient(45deg,#e9e8df 0 16px,#f6f5ee 16px 32px);
  min-height:380px;
  box-shadow:8px 8px 0 rgba(20,20,20,.75);
  display:flex;align-items:center;justify-content:center;
  transform:rotate(-1deg);
  padding:30px;
}
.pdp-visual svg{max-height:320px;width:80%;filter:drop-shadow(4px 4px 0 rgba(20,20,20,.2));}
.gal-stage{
  width:100%;
  display:flex;align-items:center;justify-content:center;
}
.pdp-visual img.gal-main{
  max-height:360px;max-width:92%;
  filter:drop-shadow(5px 5px 0 rgba(20,20,20,.25));
}
.gal-svg{width:100%;}
.gal-svg svg{width:100%;height:auto;max-height:480px;display:block;}
.gal-th-svg{display:block;width:100%;height:100%;}
.gal-th-svg svg{width:100%;height:100%;display:block;}
.gal-thumbs{
  display:flex;gap:10px;margin-top:16px;
}
.gal-th{
  width:74px;height:74px;
  border:2px solid var(--ink);
  background:#fff;
  box-shadow:3px 3px 0 rgba(20,20,20,.6);
  cursor:pointer;padding:0;overflow:hidden;
  transition:transform .1s;
}
.gal-th:hover{transform:translate(-1px,-1px);}
.gal-th.on{outline:3px solid var(--yellow);outline-offset:-3px;}
.gal-th img{width:100%;height:100%;object-fit:cover;display:block;}
.pdp-visual .tape{position:absolute;top:-12px;left:50%;width:80px;height:24px;transform:translateX(-50%) rotate(-4deg);opacity:.85;}
.tape.y{background:var(--yellow);}
.pdp-scribble{
  font-family:'Caveat',cursive;color:var(--red);font-size:24px;font-weight:700;
  text-align:right;margin-top:14px;transform:rotate(-2deg);
}

.pdp-chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px;}
.pdp-chip{
  font-size:9.5px;font-weight:700;letter-spacing:.12em;
  border:1.5px solid var(--ink);padding:3px 9px;background:#fff;
}
.pdp-chip.pro{background:var(--ink);color:var(--yellow);}
.pdp-chip.cat{background:var(--yellow);}
.pdp-chip.prog{background:var(--red);color:#fff;}

.pdp-buy h1{font-size:clamp(34px,5vw,52px);line-height:.98;letter-spacing:-.01em;margin-bottom:14px;}
.pdp-rating{font-size:12.5px;margin-bottom:16px;color:#55554d;}
.pdp-rating .stars{color:var(--red);letter-spacing:2px;}
.pdp-rating b{color:var(--ink);}
.pdp-desc{font-size:14.5px;line-height:1.75;color:#3c3c36;margin-bottom:18px;max-width:48ch;}
.pdp-bullets{list-style:none;margin-bottom:24px;display:flex;flex-direction:column;gap:8px;}
.pdp-bullets li{
  font-size:13px;font-weight:700;
  padding-left:24px;position:relative;
}
.pdp-bullets li::before{
  content:'✓';position:absolute;left:0;color:var(--red);font-weight:700;
}

.pdp-price-row{display:flex;align-items:baseline;gap:6px;margin-bottom:18px;}
.pdp-price{font-family:'Archivo Black','Arial Black',sans-serif;font-size:36px;}
.pdp-per{font-family:'Caveat',cursive;color:var(--red);font-size:24px;font-weight:700;}

.pdp-unit{font-size:11px;color:#8a8a82;letter-spacing:.06em;margin:-12px 0 16px;}
/* box composition spec table — common across all PDPs */
.pdp-spec{
  border:2px solid var(--ink);
  background:#fff;
  margin-bottom:18px;
  box-shadow:4px 4px 0 rgba(20,20,20,.6);
}
.spec-head{
  font-family:'Archivo Black','Arial Black',sans-serif;
  font-size:11px;letter-spacing:.16em;
  background:var(--ink);color:var(--yellow);
  padding:8px 14px;
}
.spec-row{
  display:grid;grid-template-columns:110px 1fr;
  border-top:1.5px solid var(--cream2);
}
.spec-row:first-of-type{border-top:none;}
.spec-row .sk{
  font-size:9px;font-weight:700;letter-spacing:.14em;color:#8a8a82;
  padding:10px 14px;
  border-right:1.5px solid var(--cream2);
  display:flex;align-items:center;
}
.spec-row .sv{
  font-size:12.5px;font-weight:700;
  padding:10px 14px;
}

.pdp-variants{margin-bottom:16px;}
.pv-label{
  font-size:9.5px;font-weight:700;letter-spacing:.2em;color:#8a8a82;
  margin-bottom:8px;
}
.vopt{
  display:block;width:100%;text-align:left;
  background:#fff;border:2px solid var(--ink);
  padding:9px 12px;margin-bottom:6px;cursor:pointer;
  font-family:'Space Mono',monospace;font-size:11px;font-weight:700;
  box-shadow:2px 2px 0 rgba(20,20,20,.5);
}
.vopt.on{background:var(--ink);color:var(--yellow);}
.vopt .vo-name{display:block;font-size:12px;letter-spacing:.06em;}
.vopt .vo-mix{display:block;margin-top:5px;font-weight:400;font-size:10.5px;line-height:1.5;color:#55554d;}
.vopt.on .vo-mix{color:#e0ddcf;}
.pdp-tiers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:20px;}
.tier{
  min-width:0;flex-wrap:wrap;overflow-wrap:anywhere;
  display:flex;align-items:center;justify-content:space-between;gap:6px;
  background:#fff;border:2px solid var(--ink);
  padding:10px 12px;cursor:pointer;
  font-family:'Space Mono',monospace;font-size:11.5px;
  box-shadow:2px 2px 0 rgba(20,20,20,.55);
  transition:transform .08s;
}
.tier:hover{transform:translate(-1px,-1px);}
.tier.on{background:var(--yellow);box-shadow:3px 3px 0 var(--ink);}
.tier b{font-weight:700;letter-spacing:.04em;}
.tier .tp{font-family:'Archivo Black','Arial Black',sans-serif;font-size:13px;margin-left:auto;}
.tier .ts{
  font-size:8px;font-weight:700;letter-spacing:.06em;
  background:var(--red);color:#fff;
  padding:1px 5px;flex:none;
}
.tier .tk{
  font-size:7.5px;font-weight:700;letter-spacing:.06em;
  background:var(--ink);color:var(--yellow);
  padding:1px 4px;flex:none;
  transform:rotate(-2deg);
}
.tier .tk.bd{background:var(--red);color:#fff;}
.pro-notice{
  background:var(--ink);color:#fff;
  border:2px solid var(--ink);
  box-shadow:4px 4px 0 var(--red);
  padding:14px 16px;
  margin-bottom:18px;
}
.pro-notice .pn-head{color:var(--yellow);font-size:10px;font-weight:700;letter-spacing:.18em;margin-bottom:6px;}
.pro-notice p{font-size:11.5px;line-height:1.7;color:#d8d6cc;margin:0;}
.pro-notice b{color:#fff;}

.pdp-cta{border:none;cursor:pointer;width:100%;text-align:center;font-size:14px;padding:18px;}
.pdp-sub{font-size:11px;color:#8a8a82;margin-top:12px;letter-spacing:.04em;}
.pdp-sub.sub-limit{
  display:inline-block;margin-top:14px;
  font-family:'Space Mono',monospace;font-size:12px;font-weight:700;letter-spacing:.06em;
  color:var(--ink);background:var(--yellow);
  border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink);
  padding:9px 12px;line-height:1.45;max-width:100%;
}

.pdp-details{
  margin-top:70px;
  display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:0;
  border:2px solid var(--ink);
}
@media(max-width:860px){.pdp-details{grid-template-columns:1fr;}}
.pd-block{
  padding:26px 24px 30px;background:#fff;
  border-right:2px solid var(--ink);
}
.pd-block:last-child{border-right:none;}
@media(max-width:860px){
  .pd-block{border-right:none;border-bottom:2px solid var(--ink);}
  .pd-block:last-child{border-bottom:none;}
}
.pd-label{
  font-family:'Archivo Black','Arial Black',sans-serif;
  font-size:12px;letter-spacing:.14em;
  margin-bottom:12px;
  display:inline-block;
  background:var(--yellow);
  padding:3px 8px;
  transform:rotate(-1deg);
}
.pd-block p{font-size:12.5px;line-height:1.8;color:#3c3c36;}
.pd-rev{
  border-left:3px solid var(--red);
  padding:2px 0 2px 12px;
  margin-bottom:14px;
}
.pd-rev blockquote{font-size:12px;line-height:1.65;color:#3c3c36;}
.pd-rev .who{font-size:10px;font-weight:700;letter-spacing:.1em;color:#8a8a82;margin-top:4px;}

/* ===== product story modules ===== */
/* combined type intensity chart */
.tt-wrap{display:block;}
.tt-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:40px;}
.tt-card{
  position:relative;border:2px solid var(--ink);padding:26px 18px 22px;text-align:center;
  box-shadow:5px 5px 0 rgba(20,20,20,.65);
}
.tt-card.tt-light{background:#8fc0ae;}
.tt-card.tt-mid{background:#3c7a63;color:#fff;}
.tt-card.tt-dark{background:#1e4d3f;color:#fff;box-shadow:6px 6px 0 var(--red);}
.tt-tag{
  position:absolute;top:-13px;left:50%;transform:translateX(-50%) rotate(-2deg);
  background:var(--yellow);border:2px solid var(--ink);
  font-family:'Space Mono',monospace;font-size:10px;font-weight:700;letter-spacing:.1em;
  padding:3px 10px;white-space:nowrap;color:var(--ink);
}
.tt-name{font-family:'Archivo Black','Arial Black',sans-serif;font-size:24px;margin-bottom:14px;}
.tt-lab{font-family:'Space Mono',monospace;font-size:9px;letter-spacing:.16em;opacity:.75;margin-bottom:4px;}
.tt-hours{font-family:'Archivo Black','Arial Black',sans-serif;font-size:34px;margin-bottom:12px;}
.tt-card.tt-dark .tt-hours{color:var(--yellow);}
.tt-note{font-family:'Space Mono',monospace;font-size:10.5px;line-height:1.5;opacity:.9;}
.tt-chart-title{
  font-family:'Space Mono',monospace;font-size:12px;font-weight:700;letter-spacing:.2em;
  text-align:center;margin-bottom:34px;
}
.tt-rows{display:flex;flex-direction:column;gap:38px;max-width:860px;margin:0 auto;}
.ttr{display:flex;align-items:center;gap:16px;}
.ttr-lab{
  flex:0 0 150px;text-align:right;
  font-family:'Space Mono',monospace;font-size:11px;font-weight:700;
}
.ttr-track{
  position:relative;flex:1;height:16px;border:2px solid var(--ink);border-radius:10px;
  background:#e7ede9;
}
.tts{position:absolute;top:0;bottom:0;}
.tts.s1{left:0;background:#8fc0ae;border-radius:8px 0 0 8px;}
.tts.s2{background:#3c7a63;}
.tts.s3{background:#1e4d3f;}
.ttd{
  position:absolute;top:50%;width:11px;height:11px;border-radius:50%;
  background:#fff;border:2.5px solid var(--ink);
  transform:translate(-50%,-50%);z-index:2;
}
.ttc{
  position:absolute;bottom:calc(100% + 7px);transform:translateX(-50%);
  font-family:'Space Mono',monospace;font-size:9.5px;font-weight:700;letter-spacing:.06em;
  padding:3px 9px;border:2px solid var(--ink);border-radius:20px;white-space:nowrap;z-index:1;
}
.ttc.c1{background:#8fc0ae;color:var(--ink);}
.ttc.c2{background:#3c7a63;color:#fff;}
.ttc.c3{background:#1e4d3f;color:#fff;}
.ttc::after{
  content:'';position:absolute;top:100%;left:50%;transform:translateX(-50%);
  border:5px solid transparent;border-top-color:var(--ink);
}
@media(max-width:820px){
  .tt-cards{grid-template-columns:1fr !important;gap:22px;}
  .ttr{flex-direction:column;align-items:stretch;gap:26px;}
  .ttr-lab{flex:none;text-align:left;}
}
/* mobile: diagrams go full-bleed (no shrink, no pan, no clipping) */
body.pdp-body{overflow-x:clip;}
@media(max-width:680px){
  body.pdp-body{overflow-x:clip;}
  .pdp-grid{grid-template-columns:1fr;}
  .pdp-grid > *{min-width:0;}
  .pdp-visual{padding:14px;min-height:0;aspect-ratio:1/1;}
  .sb-fig{width:auto !important;margin-left:0 !important;padding:10px 6px !important;overflow:visible;}
  .sb-fig svg{width:100%;height:auto;display:block;}
  .sb-fig:has(.fig-bars){padding:10px 12px !important;}
  .fig-bars .bar-row .bl{font-size:13px;}
  .fig-bars .bar-row .bl .bv{font-size:19px;}
  .fig-bars .bar-row.hot .bl .bv{font-size:24px;}
  .fig-bars .bars-foot{font-size:11.5px;}
  .graph-box{width:auto;margin-left:0;padding:8px 0;}
  .graph-box svg{width:100%;height:auto;display:block;}
  .bars-svg svg{width:100%;height:auto;display:block;}
}

/* month-by-month program plan cards */
#pPlans{display:flex;flex-direction:column;gap:34px;}
.plan-card{
  background:#fff;border:2px solid var(--ink);
  box-shadow:6px 6px 0 rgba(20,20,20,.7);
  padding:26px 26px 22px;
}
.plan-head{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin-bottom:22px;}
.plan-tag{
  background:var(--yellow);border:2px solid var(--ink);
  font-family:'Space Mono',monospace;font-size:10px;font-weight:700;letter-spacing:.12em;
  padding:4px 10px;white-space:nowrap;
}
.plan-head b{font-family:'Archivo Black','Arial Black',sans-serif;font-size:17px;}
.plan-sub{font-family:'Space Mono',monospace;font-size:11px;color:#55554d;font-weight:700;}
.plan-months{display:grid;grid-template-columns:repeat(3,1fr);gap:0;}
.pm{padding:0 18px;border-left:2px dashed #d8d5c8;}
.pm:first-child{border-left:0;padding-left:0;}
.pm-m{
  display:inline-block;background:#141414;color:var(--yellow);
  font-family:'Space Mono',monospace;font-size:10px;font-weight:700;letter-spacing:.1em;
  padding:4px 10px;margin-bottom:10px;position:relative;
}
.pm-arrow{position:absolute;right:-20px;top:2px;color:var(--red);font-size:13px;}
.pm-type{font-family:'Archivo Black','Arial Black',sans-serif;font-size:14px;}
.pm-phase{font-family:'Space Mono',monospace;font-size:10px;color:#8a8a82;margin:2px 0 12px;text-transform:uppercase;letter-spacing:.08em;}
.pm-sec{font-family:'Space Mono',monospace;font-size:11px;line-height:1.55;color:#55554d;margin-bottom:10px;}
.pm-sec b{display:block;font-size:9.5px;letter-spacing:.16em;color:var(--ink);margin-bottom:2px;}
@media(max-width:720px){
  .plan-months{grid-template-columns:1fr;gap:18px;}
  .pm{border-left:0;padding:0;border-top:2px dashed #d8d5c8;padding-top:14px;}
  .pm:first-child{border-top:0;padding-top:0;}
}

/* plum theme (MooMoo world) */
.tt-plum .tt-card.tt-light{background:#e0b7c6;}
.tt-plum .tt-card.tt-dark{background:#6b2e8f;}
.tt-plum .tts.s1{background:#e0b7c6;}
.tt-plum .tts.s2{background:#6b2e8f;}
.tt-plum .ttc.c1{background:#e0b7c6;color:var(--ink);}
.tt-plum .ttc.c2{background:#6b2e8f;color:#fff;}

/* blue theme (Slim Effector world) */
.tt-blue .tt-card.tt-light{background:#aab8e8;}
.tt-blue .tt-card.tt-mid{background:#5a6fd6;}
.tt-blue .tt-card.tt-dark{background:#2b3990;}
.tt-blue .tts.s1{background:#aab8e8;}
.tt-blue .tts.s2{background:#2b3990;}
.tt-blue .tts.s3{background:#1b2560;}
.tt-blue .ttc.c1{background:#aab8e8;color:var(--ink);}
.tt-blue .ttc.c2{background:#2b3990;color:#fff;}
.tt-blue .ttc.c3{background:#1b2560;color:#fff;}

/* ugc video feed */
.ugc-pols.ugc-videos{display:flex;grid-template-columns:none;gap:14px;overflow-x:auto;padding:6px 2px 16px;scroll-snap-type:x mandatory;}
.vid-card{flex:none;width:190px;border:2px solid var(--ink);background:#fff;box-shadow:5px 5px 0 rgba(20,20,20,.6);scroll-snap-align:start;position:relative;overflow:hidden;}
.vid-card video{display:block;width:100%;height:100%;aspect-ratio:9/16;object-fit:cover;}
.vid-card.wide{width:300px;}
.v-cap{position:absolute;left:8px;bottom:8px;right:8px;background:var(--yellow);border:2px solid var(--ink);font-family:'Space Mono',monospace;font-size:10px;font-weight:700;padding:4px 6px;}
@media(max-width:640px){.vid-card{width:150px;}.vid-card.wide{width:240px;}}

/* before/after strip in reviews */
.revs-photos{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:8px;}
.rp-card{border:2px solid var(--ink);background:#fff;box-shadow:5px 5px 0 rgba(20,20,20,.6);padding:8px 8px 6px;flex:1 1 240px;max-width:320px;}
.rp-card img{display:block;width:100%;border:1px solid #e2e0d6;}
.rp-cap{font-family:'Space Mono',monospace;font-size:10px;font-weight:700;letter-spacing:.08em;margin-top:6px;text-transform:uppercase;color:#55554d;}
.rp-note{font-family:'Space Mono',monospace;font-size:10.5px;color:#8a8a82;margin-bottom:24px;}

/* inline product links (spec table, cards) */
a.spec-link{color:var(--ink);font-weight:700;text-decoration:none;border-bottom:2px solid var(--red);white-space:nowrap;}
a.spec-link:hover{background:var(--yellow);}

/* section jump tabs */
.pdp-tabs{
  position:sticky;z-index:140;
  background:var(--cream);
  border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);
  margin:48px calc(50% - 50vw + (var(--sbw, 0px) / 2)) 0;
}
.pdp-tabs-in{
  max-width:1140px;margin:0 auto;
  display:flex;justify-content:center;gap:0;
}
.pdp-tabs button{
  appearance:none;background:none;border:0;cursor:pointer;
  font-family:'Space Mono',monospace;font-weight:700;
  font-size:12px;letter-spacing:.18em;color:var(--ink);
  padding:14px 26px;position:relative;
}
.pdp-tabs button:hover{background:#e9e7dc;}
.pdp-tabs button.on{background:var(--yellow);box-shadow:inset 0 -4px 0 var(--red);}
@media(max-width:640px){
  .pdp-tabs-in{justify-content:space-between;}
  .pdp-tabs button{padding:12px 10px;font-size:11px;letter-spacing:.1em;flex:1;}
}

.stat-band{
  margin-top:60px;
  background:var(--ink);color:#fff;
  border:2px solid var(--ink);
  box-shadow:6px 6px 0 var(--red);
  padding:26px 24px;
}
.stat-band-in{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;}
@media(max-width:640px){.stat-band-in{grid-template-columns:1fr;}}
.sb-stat{text-align:center;}
.sb-stat b{
  display:block;
  font-family:'Archivo Black','Arial Black',sans-serif;
  font-size:clamp(28px,4vw,40px);color:var(--yellow);
  line-height:1;margin-bottom:6px;
}
.sb-stat span{font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#c9c7bb;}

/* mechanism flow: doom path + cut-ins */
.flow-wrap{max-width:560px;margin:0 auto;}
.flow-step{
  background:#fff;border:2px solid var(--ink);
  box-shadow:4px 4px 0 rgba(20,20,20,.65);
  padding:14px 16px;
  display:flex;align-items:center;gap:14px;
  position:relative;
}
.flow-step .fs-ico{
  flex:none;width:44px;height:44px;
  background:var(--cream);border:2px solid var(--ink);border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  font-size:21px;
}
.flow-step b{
  display:block;
  font-family:'Archivo Black','Arial Black',sans-serif;
  font-size:14px;line-height:1.2;
}
.flow-step span{font-size:11.5px;color:#55554d;line-height:1.55;}
.flow-step.dim{background:var(--cream2);}
.flow-step.dim b{color:#8a8a82;}
.flow-step.dim .fs-ico{opacity:.55;}
.flow-step.dim::after{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(to top right,transparent 47.5%,var(--red) 47.5% 52.5%,transparent 52.5%);
  opacity:.75;
}
.flow-step.dim .fs-x{
  position:absolute;top:-11px;right:-9px;
  background:var(--red);color:#fff;
  font-family:'Archivo Black','Arial Black',sans-serif;
  font-size:10px;letter-spacing:.06em;
  padding:3px 8px;transform:rotate(3deg);
}
.flow-arrow{
  text-align:center;font-size:17px;font-weight:700;color:var(--ink);
  padding:5px 0;line-height:1;
}
.flow-cut{
  background:var(--yellow);border:2px solid var(--ink);
  box-shadow:5px 5px 0 var(--red);
  padding:15px 16px 16px;
  position:relative;
  transform:rotate(-.8deg);
  display:flex;align-items:center;gap:14px;
}
.flow-cut .fs-ico{background:#fff;}
.flow-cut .fc-chip{
  position:absolute;top:-12px;left:14px;
  background:var(--red);color:#fff;
  font-family:'Archivo Black','Arial Black',sans-serif;
  font-size:9.5px;letter-spacing:.1em;
  padding:3px 9px;transform:rotate(-2deg);
}
.flow-cut b{
  display:block;
  font-family:'Archivo Black','Arial Black',sans-serif;
  font-size:14px;line-height:1.2;
}
.flow-cut span{font-size:11.5px;color:#3c3c36;line-height:1.6;}

.graph-box{
  background:none;border:0;box-shadow:none;
  padding:6px 0;
  margin-bottom:18px;
}
.graph-box svg{display:block;width:100%;height:auto;}

.patent-seal{
  float:right;
  width:92px;height:92px;
  background:var(--red);
  clip-path:polygon(50% 0%,57% 9%,68% 4%,72% 15%,84% 13%,84% 25%,96% 27%,92% 38%,100% 44%,93% 53%,99% 63%,88% 67%,90% 79%,78% 78%,76% 90%,65% 85%,59% 96%,50% 88%,41% 96%,35% 85%,24% 90%,22% 78%,10% 79%,12% 67%,1% 63%,7% 53%,0% 44%,8% 38%,4% 27%,16% 25%,16% 13%,28% 15%,32% 4%,43% 9%);
  display:inline-flex;flex-direction:column;align-items:center;justify-content:center;
  transform:rotate(8deg);
  margin:-14px 0 0 12px;
}
.patent-seal .ps-top{
  font-size:8px;font-weight:700;letter-spacing:.14em;color:var(--yellow);
  font-family:'Space Mono',monospace;
}
.patent-seal b{
  font-family:'Archivo Black','Arial Black',sans-serif;
  font-size:14px;color:#fff;letter-spacing:.02em;
}

.chain-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
@media(max-width:760px){.chain-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:500px){.chain-grid{grid-template-columns:1fr;}}
.chain-item{
  background:#fff;border:2px solid var(--ink);
  box-shadow:4px 4px 0 rgba(20,20,20,.65);
  padding:16px 16px 18px;
  position:relative;
}
.chain-item .cn{
  display:inline-block;
  font-size:9px;font-weight:700;letter-spacing:.14em;
  background:var(--red);color:#fff;
  padding:2px 8px;transform:rotate(-2deg);
  margin-bottom:10px;
}
.chain-item b{
  display:block;
  font-family:'Archivo Black','Arial Black',sans-serif;
  font-size:13.5px;line-height:1.25;margin-bottom:6px;
}
.chain-item p{font-size:11.5px;line-height:1.65;color:#3c3c36;}
.chain-item .arr{
  position:absolute;right:-13px;top:50%;transform:translateY(-50%);
  font-size:16px;color:var(--red);z-index:2;
  font-weight:700;
}
@media(max-width:760px){.chain-item .arr{display:none;}}

.bars-panel{
  background:#fff;border:2px solid var(--ink);
  box-shadow:6px 6px 0 rgba(20,20,20,.65);
  padding:28px 26px 22px;
}
.bar-row{margin-bottom:18px;}
.bar-row .bl{
  display:flex;justify-content:space-between;align-items:baseline;
  font-size:12px;font-weight:700;letter-spacing:.06em;
  margin-bottom:6px;
}
.bar-row .bl .bv{
  font-family:'Archivo Black','Arial Black',sans-serif;
  font-size:17px;
}
.bar-row.hot .bl .bv{color:var(--red);font-size:22px;}
.bar-track{
  height:26px;border:2px solid var(--ink);background:var(--cream);
  overflow:hidden;
}
.bar-fill{
  height:100%;
  background:repeating-linear-gradient(45deg,var(--cream2) 0 10px,#dbd8c9 10px 20px);
  border-right:2px solid var(--ink);
}
.bar-row.hot .bar-fill{
  background:repeating-linear-gradient(45deg,var(--yellow) 0 10px,#e8d63a 10px 20px);
}
.bars-foot{font-size:10px;color:#8a8a82;line-height:1.6;margin-top:8px;}

.cards-lead{font-size:13.5px;line-height:1.8;color:#3c3c36;max-width:62ch;margin:-6px 0 22px;}
.cards-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
@media(max-width:700px){.cards-grid{grid-template-columns:1fr;}}
.b-card{
  background:#fff;border:2px solid var(--ink);
  box-shadow:4px 4px 0 rgba(20,20,20,.7);
  padding:18px 20px;
}
.b-card .bc-head{
  display:flex;align-items:center;gap:10px;margin-bottom:8px;
}
.b-card .bc-ico{
  width:32px;height:32px;flex:none;
  background:var(--cream);border:1.5px solid var(--ink);border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  font-size:16px;
}
.b-card b{font-family:'Archivo Black','Arial Black',sans-serif;font-size:14px;}
.b-card p{font-size:12px;line-height:1.7;color:#3c3c36;}

.lrows{border:2px solid var(--ink);background:#fff;box-shadow:6px 6px 0 rgba(20,20,20,.65);}
.lrow{
  display:grid;grid-template-columns:150px 1fr;gap:18px;
  padding:16px 20px;
  border-bottom:2px solid var(--cream2);
}
.lrow:last-child{border-bottom:none;}
.lrow:nth-child(even){background:var(--cream);}
.lrow .ln{
  font-family:'Archivo Black','Arial Black',sans-serif;
  font-size:12.5px;line-height:1.35;
  display:flex;align-items:center;gap:8px;
}
.lrow .ln .if-ico{width:26px;height:26px;font-size:14px;}
.lrow p{font-size:12px;line-height:1.7;color:#3c3c36;align-self:center;}
@media(max-width:600px){.lrow{grid-template-columns:1fr;gap:6px;}}
.lrows-note{font-size:10px;color:#8a8a82;line-height:1.6;margin-top:10px;}
.prod-tag{
  display:inline-flex;flex-direction:column;gap:1px;
  background:#fff;border:2px solid var(--ink);
  box-shadow:3px 3px 0 var(--red);
  padding:7px 13px;margin:6px 2px;
  text-decoration:none;color:var(--ink);
  transform:rotate(-1deg);
  transition:transform .1s;
  vertical-align:middle;
}
.prod-tag:hover{transform:translate(-1px,-2px) rotate(-1deg);box-shadow:4px 4px 0 var(--red);}
.prod-tag b{font-family:'Archivo Black','Arial Black',sans-serif;font-size:12.5px;letter-spacing:.02em;}
.prod-tag em{font-style:normal;font-size:8.5px;font-weight:700;letter-spacing:.1em;color:#8a8a82;}

.vs-table td.tx{
  text-align:left;font-weight:700;font-size:11.5px;line-height:1.55;
  border-left:2px solid var(--ink);padding:12px 14px;width:50%;
}
.vs-table td.tx:first-child{border-left:none;}
.vs-table td.tx.theirs-tx{color:#8a8a82;font-weight:400;}
.vs-table th:first-child.ours{border-left:none;}
.foryou-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
@media(max-width:700px){.foryou-grid{grid-template-columns:1fr;}}
.fy-item{
  background:#fff;border:2px solid var(--ink);
  box-shadow:4px 4px 0 rgba(20,20,20,.7);
  padding:16px 18px;
  display:flex;align-items:center;gap:14px;
  font-size:13.5px;font-weight:700;line-height:1.5;
}
.fy-item:nth-child(odd){transform:rotate(-.5deg);}
.fy-item:nth-child(even){transform:rotate(.5deg);}
.fy-check{
  flex:none;width:28px;height:28px;
  background:var(--yellow);border:2px solid var(--ink);
  display:inline-flex;align-items:center;justify-content:center;
  font-size:15px;font-weight:700;color:var(--red);
  transform:rotate(-3deg);
}

.sb{
  display:grid;grid-template-columns:1fr 1fr;
  border:2px solid var(--ink);
  box-shadow:6px 6px 0 rgba(20,20,20,.65);
  margin-top:26px;
  background:#fff;
  overflow:hidden;
}
#pBlocks .sb:first-child{margin-top:70px;}
@media(max-width:760px){.sb{grid-template-columns:1fr;}}
.sb-img{position:relative;min-height:260px;}
.sb-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.sb-fig{
  position:relative;min-height:260px;
  display:flex;align-items:center;justify-content:center;
  background:var(--cream);
  padding:18px;
}
.sb-fig svg{width:100%;height:auto;}
.fig-bars{width:100%;padding:6px 4px;}
.fig-bars .bar-row{margin-bottom:16px;}
.sb:nth-child(even) .sb-img, .sb:nth-child(even) .sb-fig{order:2;}
@media(max-width:760px){.sb:nth-child(even) .sb-img, .sb:nth-child(even) .sb-fig{order:0;}}
.sb-copy{padding:34px 32px 36px;display:flex;flex-direction:column;justify-content:center;}
.sb-k{
  display:inline-block;align-self:flex-start;
  font-size:9.5px;font-weight:700;letter-spacing:.2em;
  background:var(--ink);color:var(--yellow);
  padding:3px 9px;transform:rotate(-1deg);
  margin-bottom:14px;
}
.sb-h{
  font-family:'Archivo Black','Arial Black',sans-serif;
  font-size:clamp(19px,2.6vw,26px);line-height:1.1;
  margin-bottom:12px;
}
.sb-t{font-size:13px;line-height:1.8;color:#3c3c36;}

.hiw-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
@media(max-width:760px){.hiw-grid{grid-template-columns:1fr;}}
.hiw{
  background:#fff;border:2px solid var(--ink);
  box-shadow:5px 5px 0 rgba(20,20,20,.7);
  padding:22px 20px 24px;
  position:relative;
}
.hiw .hiw-n{
  font-family:'Archivo Black','Arial Black',sans-serif;
  font-size:34px;color:var(--red);
  line-height:1;margin-bottom:10px;
}
.hiw b{
  display:block;
  font-family:'Archivo Black','Arial Black',sans-serif;
  font-size:14.5px;margin-bottom:8px;line-height:1.25;
}
.hiw p{font-size:12.5px;line-height:1.7;color:#3c3c36;}

/* detailed patent cards extras */
.hiwd-num{
  margin-left:auto;
  font-family:'Space Mono',monospace;
  font-size:10px;letter-spacing:.06em;color:#8a8a82;
  white-space:nowrap;
}
.cards-fig svg{display:block;width:100%;max-width:600px;height:auto;margin:0 auto 8px;}

/* custom svg inside the bars section */
.bars-svg svg{display:block;width:100%;max-width:760px;height:auto;margin:0 auto;}

/* detailed step cards (hiw-stack mode) */
.hiw-stack{display:flex;flex-direction:column;gap:20px;}
.hiwd{
  background:#fff;border:2px solid var(--ink);
  box-shadow:5px 5px 0 rgba(20,20,20,.7);
  padding:0 0 0;
}
.hiwd-head{
  display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  border-bottom:2px solid var(--ink);
  padding:12px 18px;min-width:0;
}
.hiwd-chip{
  background:var(--ink);color:var(--yellow);
  font-family:'Archivo Black','Arial Black',sans-serif;
  font-size:11px;letter-spacing:.12em;
  padding:4px 10px;transform:rotate(-1deg);
  flex:none;
}
.hiwd-head b{
  font-family:'Archivo Black','Arial Black',sans-serif;
  font-size:14px;letter-spacing:.02em;
}
.hiwd-body{
  display:grid;grid-template-columns:250px 1fr;gap:20px;
  align-items:center;
  padding:18px 22px;
}
@media(max-width:680px){
  .hiwd-body{grid-template-columns:1fr;padding:14px 10px;}
  .hiwd-fig{width:calc(100% + 20px);margin-left:-10px;}
}
.hiwd-fig svg{display:block;width:100%;height:auto;}
.hiwd-h{
  font-family:'Archivo Black','Arial Black',sans-serif;
  font-size:16px;line-height:1.3;margin-bottom:12px;
}
.hiwd-copy ul{list-style:none;margin:0;padding:0;}
.hiwd-copy li{
  font-size:12.5px;line-height:1.7;color:#3c3c36;
  padding:5px 0 5px 22px;position:relative;
  border-bottom:1.5px dashed var(--cream2);
}
.hiwd-copy li:last-child{border-bottom:none;}
.hiwd-copy li::before{
  content:'✓';position:absolute;left:0;top:5px;
  color:var(--red);font-weight:700;
}
.hiwd-note{
  border-top:2px solid var(--ink);
  background:var(--yellow);
  font-family:'Space Mono',monospace;
  font-size:11.5px;font-weight:700;letter-spacing:.02em;
  padding:10px 18px;
}

.vs-wrap{overflow-x:auto;}
.vs-table{
  width:100%;border-collapse:collapse;
  background:#fff;border:2px solid var(--ink);
  box-shadow:6px 6px 0 rgba(20,20,20,.65);
}
.vs-table th{
  font-family:'Archivo Black','Arial Black',sans-serif;
  font-size:11px;letter-spacing:.08em;
  padding:14px 16px;text-align:center;
  border-bottom:2px solid var(--ink);
}
.vs-table th:first-child{text-align:left;}
.vs-table th.ours{background:var(--yellow);border-left:2px solid var(--ink);}
.vs-table th.theirs{background:var(--cream2);color:#8a8a82;border-left:2px solid var(--ink);}
.vs-table td{
  font-size:12.5px;font-weight:700;
  padding:12px 16px;
  border-bottom:1.5px solid var(--cream2);
}
.vs-table tr:last-child td{border-bottom:none;}
.vs-table td.mark{text-align:center;font-size:15px;border-left:2px solid var(--ink);}
.vs-table td.mark.y{color:var(--red);}
.vs-table td.mark.n{color:#c9c7bb;}

/* shared extra-section headings */
.pdp-xtra{margin-top:70px;}
.pdp-xtra h2{font-size:clamp(24px,3.6vw,36px);margin-bottom:20px;font-family:'Archivo Black','Arial Black',sans-serif;}
.xtra-sub{
  font-family:'Caveat',cursive;color:var(--red);font-size:21px;font-weight:700;
  margin:-10px 0 22px;transform:rotate(-1deg);display:inline-block;
}

/* supplement facts panel */
.ing-panel{
  background:#fff;border:2px solid var(--ink);
  box-shadow:6px 6px 0 rgba(20,20,20,.6);
}
.ip-head{
  font-family:'Archivo Black','Arial Black',sans-serif;
  font-size:11px;letter-spacing:.14em;
  background:var(--ink);color:var(--yellow);
  padding:10px 18px;
}
#pFacts{padding:20px 24px 24px;}
.if-line{
  font-size:12.5px;line-height:1.7;color:#3c3c36;
  padding:7px 0;
  border-bottom:1.5px dashed var(--cream2);
}
.if-line:last-child{border-bottom:none;}
.if-line.hd{font-weight:700;color:var(--ink);}
.if-line.herb{font-weight:700;display:flex;align-items:center;gap:10px;}
.if-ico{
  font-size:17px;line-height:1;flex:none;
  width:30px;height:30px;
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--cream);border:1.5px solid var(--ink);border-radius:50%;
}
.if-note{font-size:10px;color:#8a8a82;line-height:1.7;padding-top:10px;}
.if-nest{
  margin:10px 0 14px 38px;
  border:2px dashed var(--ink);
  background:rgba(244,226,58,.16);
  padding:12px 14px 8px;
  position:relative;
}
.if-nest-tag{
  position:absolute;top:-9px;left:12px;
  font-family:'Space Mono',monospace;
  font-size:8.5px;font-weight:700;letter-spacing:.14em;
  background:#fff;color:var(--red);
  padding:1px 8px;border:1.5px solid var(--ink);
}
.if-nest .if-line.sub{border-bottom:1.5px dashed rgba(20,20,20,.12);padding:6px 0;}
.if-nest .if-line.sub:last-child{border-bottom:none;}
.if-nest .if-line.sub .if-ico{width:26px;height:26px;font-size:14px;}
@media(max-width:520px){.if-nest{margin-left:16px;}}

/* UGC polaroids */
.ugc-pols{
  display:grid;grid-template-columns:repeat(3,1fr);gap:22px;
}
@media(max-width:820px){.ugc-pols{grid-template-columns:repeat(2,1fr);}}
@media(max-width:520px){.ugc-pols{grid-template-columns:1fr;}}
.upol{
  background:#fff;border:2px solid var(--ink);
  box-shadow:5px 5px 0 rgba(20,20,20,.75);
  padding:10px 10px 14px;
  position:relative;
}
.upol:nth-child(3n+1){transform:rotate(-2deg);}
.upol:nth-child(3n+2){transform:rotate(1.4deg);margin-top:14px;}
.upol:nth-child(3n){transform:rotate(-.8deg);}
.upol:hover{transform:translateY(-5px) rotate(0deg);}
.upol .u-tape{
  position:absolute;top:-11px;left:50%;
  width:64px;height:20px;
  transform:translateX(-50%) rotate(-4deg);
  background:var(--yellow);opacity:.85;
}
.upol:nth-child(even) .u-tape{background:var(--pink);}
.upol .u-ph{
  aspect-ratio:1/1;
  border:1.5px solid var(--ink);
  position:relative;overflow:hidden;
  display:flex;align-items:center;justify-content:center;
  font-size:44px;
  background:repeating-linear-gradient(45deg,#e9e8df 0 14px,#f6f5ee 14px 28px);
}
.upol .u-ph img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
}
.upol .u-cap{
  font-family:'Caveat',cursive;
  font-size:19px;font-weight:700;color:var(--ink);
  text-align:center;line-height:1.25;
  margin-top:10px;transform:rotate(-1deg);
}

/* ugc reel mode — auto-rolling review cards, loud edition */
.ugc-pols.ugc-reelwrap{
  display:block;overflow:hidden;
  border:2px solid var(--ink);
  box-shadow:6px 6px 0 rgba(20,20,20,.75);
  background:var(--cream);
  padding:30px 0 32px;
}
.reel-track{
  display:flex;width:max-content;
  animation:ugcslide 32s linear infinite;
}
.ugc-reelwrap:hover .reel-track{animation-play-state:paused;}
.reel-card{
  position:relative;flex:none;
  width:238px;
  background:#fff;
  border:2px solid var(--ink);
  box-shadow:5px 5px 0 rgba(20,20,20,.75);
  padding:10px 10px 12px;
  margin-right:28px;
}
.reel-card:nth-child(odd){transform:rotate(-1.6deg);}
.reel-card:nth-child(even){transform:rotate(1.3deg);margin-top:12px;}
.reel-card:hover{transform:rotate(0deg) translateY(-4px);}
.r-tape{
  position:absolute;top:-11px;left:50%;
  width:62px;height:19px;
  transform:translateX(-50%) rotate(-4deg);
  background:var(--yellow);opacity:.9;
}
.reel-card:nth-child(even) .r-tape{background:var(--pink);}
.r-ph{
  position:relative;overflow:hidden;
  height:200px;
  border:1.5px solid var(--ink);
  background:var(--cream2);
}
.r-ph img{width:100%;height:100%;object-fit:cover;display:block;}
.r-chip{
  position:absolute;top:10px;left:-5px;
  background:var(--red);color:#fff;
  font-size:8.5px;font-weight:700;letter-spacing:.12em;
  padding:3px 9px;
  transform:rotate(-3deg);
}
.r-cap{
  font-family:'Caveat',cursive;
  font-size:21px;font-weight:700;color:var(--ink);
  text-align:center;line-height:1.15;
  margin-top:10px;transform:rotate(-1deg);
}
.r-meta{
  display:flex;align-items:center;justify-content:center;gap:8px;
  margin-top:7px;
}
.r-stars{color:#f5a623;font-size:13px;letter-spacing:2px;}
.r-ver{
  font-size:8px;font-weight:700;letter-spacing:.12em;
  border:1.5px solid var(--ink);
  background:var(--yellow);
  padding:2px 6px;
}
@media(max-width:640px){
  .reel-card{width:196px;margin-right:22px;}
  .r-ph{height:168px;}
  .r-cap{font-size:18px;}
}

/* chain item icon (optional 3-element chain entries) */
.chain-item .chain-ico{
  display:block;font-size:28px;line-height:1;
  margin-bottom:8px;
}

/* ugc gif mode — the original review reel, as-is */
.ugc-pols.ugc-gif{
  display:block;
  border:2px solid var(--ink);
  box-shadow:6px 6px 0 rgba(20,20,20,.75);
  background:#fff;
  overflow:hidden;
}
.ugc-gif img{display:block;width:100%;height:auto;}

/* ugc marquee mode — polaroids drift sideways like the OG review reel */
.ugc-pols.ugc-marquee{
  display:block;overflow:hidden;
  padding:18px 0 10px;
}
.ugc-marquee .ugc-track{
  display:flex;width:max-content;
  animation:ugcslide 36s linear infinite;
}
.ugc-marquee .upol{
  width:210px;flex:none;
  margin-right:24px;margin-top:0;
}
.ugc-marquee .upol:nth-child(3n+2){margin-top:12px;}
.ugc-marquee:hover .ugc-track{animation-play-state:paused;}
@keyframes ugcslide{to{transform:translateX(-50%);}}

/* real reviews grid */
.revs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;}
.rev-card{
  background:#fff;border:2px solid var(--ink);
  box-shadow:5px 5px 0 rgba(20,20,20,.7);
  padding:18px 20px;
}
.rev-card:nth-child(odd){transform:rotate(-.6deg);}
.rev-card:nth-child(even){transform:rotate(.6deg);}
.rev-card .r-stars{color:var(--red);letter-spacing:2px;font-size:13px;margin-bottom:8px;}
.rev-card blockquote{font-size:12.5px;line-height:1.7;color:#3c3c36;}
.rev-card .r-who{
  margin-top:12px;font-size:10px;font-weight:700;letter-spacing:.1em;color:#55554d;
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;
}
.rev-card .vchip{
  background:var(--yellow);border:1.5px solid var(--ink);
  font-size:8.5px;font-weight:700;letter-spacing:.1em;
  padding:1px 6px;transform:rotate(-2deg);
}

/* FAQ accordion */
.faq-item{
  border:2px solid var(--ink);background:#fff;
  box-shadow:3px 3px 0 rgba(20,20,20,.6);
  margin-bottom:10px;
}
.faq-item summary{
  font-family:'Archivo Black','Arial Black',sans-serif;
  font-size:13px;line-height:1.4;
  padding:14px 44px 14px 18px;
  cursor:pointer;list-style:none;
  position:relative;
}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{
  content:'+';
  position:absolute;right:16px;top:50%;transform:translateY(-50%);
  font-size:20px;color:var(--red);
  transition:transform .15s;
}
.faq-item[open] summary{background:var(--yellow);border-bottom:2px solid var(--ink);}
.faq-item[open] summary::after{content:'−';}
.faq-a{
  padding:14px 18px 16px;
  font-size:12.5px;line-height:1.85;color:#3c3c36;
  white-space:pre-line;
}

/* type comparison bars */
.pdp-types{margin-top:70px;}
.pdp-types h2{font-size:clamp(24px,3.6vw,36px);margin-bottom:24px;font-family:'Archivo Black','Arial Black',sans-serif;}
.types-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;}
.type-card{
  background:#fff;border:2px solid var(--ink);
  box-shadow:5px 5px 0 rgba(20,20,20,.7);
  padding:18px 18px 20px;
}
.tc-head{display:flex;align-items:center;gap:8px;margin-bottom:2px;}
.tc-head b{font-family:'Archivo Black','Arial Black',sans-serif;font-size:13.5px;letter-spacing:.03em;}
.tc-tag{
  font-size:8.5px;font-weight:700;letter-spacing:.1em;
  background:var(--red);color:#fff;padding:1px 6px;
  transform:rotate(-2deg);
}
.tc-note{font-size:10.5px;color:#8a8a82;margin-bottom:10px;line-height:1.5;}
.tc-stat{display:grid;grid-template-columns:1fr 34px;gap:4px 8px;align-items:center;margin-top:10px;}
.ts-l{font-size:10px;font-weight:700;letter-spacing:.06em;grid-column:1/-1;}
.ts-track{
  height:12px;border:1.5px solid var(--ink);background:var(--cream);
  display:block;overflow:hidden;
}
.ts-fill{display:block;height:100%;background:var(--yellow);border-right:1.5px solid var(--ink);}
.ts-v{font-family:'Archivo Black','Arial Black',sans-serif;font-size:11px;text-align:right;}

.pdp-pairs{margin-top:70px;}
.pdp-pairs h2{font-size:clamp(24px,3.6vw,36px);margin-bottom:24px;}
.redsq{display:inline-block;width:.22em;height:.22em;background:var(--red);margin-left:.1em;}
.pairs-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
@media(max-width:640px){.pairs-grid{grid-template-columns:1fr;}}
.pair-card{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  background:#fff;border:2px solid var(--ink);
  box-shadow:4px 4px 0 rgba(20,20,20,.7);
  padding:16px 18px;
  text-decoration:none;color:var(--ink);
  transition:transform .1s;
}
.pair-card:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 rgba(20,20,20,.7);}
.pair-card .pc-name{font-weight:700;font-size:14px;}
.pair-card .pc-cat{font-size:10px;letter-spacing:.12em;color:#8a8a82;font-weight:700;margin-top:2px;}
.pair-card .pc-price{font-family:'Archivo Black','Arial Black',sans-serif;font-size:16px;flex:none;}

.pdp-foot{
  border-top:2px solid var(--ink);
  padding:26px 24px 40px;
  font-size:10px;color:#8a8a82;letter-spacing:.04em;
  text-align:center;
}
.pf-links{
  display:flex;justify-content:center;gap:10px 22px;flex-wrap:wrap;
  margin-bottom:14px;
}
.pf-links a{
  color:#55554d;text-decoration:none;
  font-size:10px;font-weight:700;letter-spacing:.12em;
}
.pf-links a:hover{color:var(--red);}

/* ---- appetite family map: which one is me? ---- */
.fam-map{
  margin:44px 0 0;
  border:2px solid var(--ink);background:#fff;
  box-shadow:6px 6px 0 var(--ink);
}
.fam-head{padding:18px 20px 6px;}
.fam-kicker{
  font-family:'Space Mono',monospace;font-size:10px;font-weight:700;
  letter-spacing:.22em;color:#8a8a82;
}
.fam-head h3{
  font-family:'Archivo Black','Arial Black',sans-serif;
  font-size:21px;margin:6px 0 4px;
}
.fam-head p{font-family:'Space Mono',monospace;font-size:12px;color:#55554d;margin:0 0 10px;}
.fam-row{
  display:grid;grid-template-columns:200px 1fr 150px;gap:4px 14px;align-items:center;
  padding:13px 20px;border-top:2px solid var(--ink);
  text-decoration:none;color:var(--ink);position:relative;
}
.fam-row:hover{background:#f6f4ea;}
.fam-row.here{background:var(--yellow);}
.fam-name{font-family:'Archivo Black','Arial Black',sans-serif;font-size:13px;letter-spacing:.02em;}
.fam-chip{
  font-style:normal;font-family:'Space Mono',monospace;font-size:9px;font-weight:700;
  background:var(--ink);color:var(--yellow);padding:2px 6px;margin-left:6px;vertical-align:2px;
}
.fam-tag{font-family:'Space Mono',monospace;font-size:12px;color:#3c3c36;line-height:1.5;}
.fam-row.here .fam-tag{color:var(--ink);}
.fam-form{
  font-family:'Space Mono',monospace;font-size:11px;color:#8a8a82;text-align:right;white-space:nowrap;
}
.fam-row.here .fam-form{color:#55554d;}
.fam-you{
  position:absolute;top:-2px;right:-2px;
  font-family:'Space Mono',monospace;font-size:9px;font-weight:700;letter-spacing:.08em;
  background:var(--red);color:#fff;padding:3px 8px;
}
.fam-foot{
  border-top:2px solid var(--ink);background:var(--ink);
  padding:14px 20px;display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;
}
.fam-q{font-family:'Caveat',cursive;font-size:19px;color:var(--yellow);}
.fam-cta{font-family:'Space Mono',monospace;font-weight:700;text-decoration:none;}
.fam-cta.main{
  background:var(--red);color:#fff;border:2px solid #fff;
  padding:9px 14px;font-size:12px;
}
.fam-cta.main:hover{background:#fff;color:var(--red);border-color:var(--red);}
.fam-cta.alt{color:#c9c6b8;font-size:11.5px;text-decoration:underline;}
.fam-cta.alt:hover{color:#fff;}
.fam-note{font-family:'Space Mono',monospace;font-size:10.5px;color:#8a8a82;flex-basis:100%;}
@media(max-width:680px){
  .fam-row{grid-template-columns:1fr;gap:3px;padding:12px 16px;}
  .fam-form{text-align:left;}
  .fam-head{padding:16px 16px 4px;}
  .fam-foot{padding:14px 16px;}
}

/* ===== mobile floating add-to-cart bar + option bottom sheet ===== */
.fab-cart{position:fixed;left:0;right:0;bottom:0;z-index:210;display:none;align-items:center;gap:12px;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:#f2efe2;border-top:3px solid var(--ink);}
body.fab-on .fab-cart{display:flex;}
body.sheet-open .fab-cart,body.cart-open .fab-cart{display:none;}
@media(min-width:681px){.fab-cart{display:none !important;}}
.fc-price{font-family:'Archivo Black','Arial Black',sans-serif;font-size:17px;flex:none;}
.fc-btn{flex:1;border:none;cursor:pointer;}
.os-ovl{position:fixed;inset:0;background:rgba(20,20,20,.5);opacity:0;pointer-events:none;transition:opacity .25s;z-index:240;}
body.sheet-open .os-ovl{opacity:1;pointer-events:auto;}
.opt-sheet{position:fixed;left:0;right:0;bottom:0;z-index:250;background:#f2efe2;border-top:3px solid var(--ink);transform:translateY(105%);transition:transform .3s;max-height:78dvh;display:flex;flex-direction:column;}
body.sheet-open .opt-sheet{transform:none;}
.os-head{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:2.5px solid var(--ink);background:var(--yellow);flex:none;}
.os-head b{font-family:'Archivo Black','Arial Black',sans-serif;font-size:15px;}
.os-head button{background:none;border:none;font-size:18px;font-weight:700;cursor:pointer;padding:2px 6px;}
.os-body{overflow-y:auto;padding:16px 18px;}
.os-sec{margin-bottom:16px;}
.os-lab{font-size:10.5px;letter-spacing:.12em;font-weight:700;color:#55554d;margin-bottom:9px;}
.os-chips{display:flex;flex-wrap:wrap;gap:8px;}
.os-chip{border:2px solid var(--ink);background:#fff;padding:9px 13px;font-size:12px;font-weight:700;cursor:pointer;font-family:inherit;}
.os-chip.on{background:var(--ink);color:#fff;}
.os-tiers{display:flex;flex-direction:column;gap:8px;}
.os-tier{display:flex;align-items:center;gap:8px;border:2px solid var(--ink);background:#fff;padding:11px 13px;font-size:12px;cursor:pointer;font-family:inherit;text-align:left;}
.os-tier.on{background:var(--yellow);}
.os-tier b{font-weight:700;}
.os-tier .tp{margin-left:auto;font-weight:700;font-size:13px;}
.os-tier .tk{font-size:9px;background:var(--red);color:#fff;padding:2px 6px;font-weight:700;}
.os-tier .tk.bd{background:var(--ink);}
.os-tier .ts{font-size:10.5px;color:var(--red);font-weight:700;}
.os-foot{display:flex;gap:12px;align-items:center;padding:12px 18px calc(12px + env(safe-area-inset-bottom));border-top:2.5px solid var(--ink);background:#fff;flex:none;}
.os-price{font-family:'Archivo Black','Arial Black',sans-serif;font-size:18px;flex:none;}
.os-add{flex:1;border:none;cursor:pointer;}

/* ===== back-to-top button ===== */
.to-top{position:fixed;right:16px;bottom:16px;z-index:205;width:52px;height:52px;border:2.5px solid var(--ink);background:#f2efe2;box-shadow:3px 3px 0 var(--ink);cursor:pointer;font-family:'Archivo Black','Arial Black',sans-serif;font-size:9.5px;color:var(--ink);display:none;flex-direction:column;align-items:center;justify-content:center;gap:2px;line-height:1;}
.to-top .ar{font-size:16px;}
.to-top:hover{background:var(--yellow);}
body.top-on .to-top{display:flex;}
body.fab-on .to-top{bottom:calc(86px + env(safe-area-inset-bottom));}
body.sheet-open .to-top,body.cart-open .to-top{display:none;}
