/* ==========================================================
   AlkaBurn — alkkaburn.com
   Design system: "EMBER GRID"  (dark-first, bento layout)

   Deliberately different architecture from a light-canvas
   marketing site: the default surface is near-black, content
   sits on raised panels, sections are separated by hairline
   rules and skewed dividers rather than colour blocks, and
   the benefit grid is a bento arrangement rather than equal
   columns.

   Palette sampled from the AlkaBurn bottle with PIL:
     orange band  #d5620f    bright orange #f0902f
     ember deep   #8a2a0b    bottle black  #121214
     cream label  #d1c7b8    gold badge    #9c751a
     benefits artwork background #c4612f  (flush-mount hex)

   Bootstrap 5.3.8 supplies grid + utilities only.
   ========================================================== */

:root{
  /* Dark canvas */
  --void:#0e0e10;
  --void-2:#141417;
  --void-3:#1b1b20;
  --panel:#212128;
  --hair:#2c2c34;
  --hair-2:#3a3a44;

  /* Light panels */
  --bone:#f6f3ee;
  --bone-2:#ebe6dd;
  --cream:#d1c7b8;

  /* Ember */
  --ember:#d5620f;
  --ember-2:#e0700a;
  --ember-hi:#f0902f;
  --ember-deep:#8a2a0b;
  --ember-panel:#c4612f;   /* exact benefits-artwork background */
  --ember-glow:rgba(213,98,15,.22);
  --gold:#9c751a;
  --gold-hi:#c9a13c;

  /* Type on dark */
  --tx:#f2efe9;
  --tx-2:#b6b2ab;
  --tx-3:#7d7a75;
  /* Type on light */
  --ink:#17171b;
  --ink-2:#4a4a52;
  --ink-3:#7b7b84;

  --f-d:'Archivo',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --f-b:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --f-m:'IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,monospace;

  --r-xs:4px; --r-sm:8px; --r:12px; --r-lg:20px; --r-xl:28px; --r-pill:999px;

  --sh:0 1px 2px rgba(0,0,0,.3),0 8px 30px rgba(0,0,0,.36);
  --sh-hi:0 2px 6px rgba(0,0,0,.34),0 22px 56px rgba(0,0,0,.5);
  --sh-em:0 10px 34px rgba(213,98,15,.34);

  --ease:cubic-bezier(.2,.9,.3,1);
  --wrap:1220px;
  --head:70px;
  --sat:env(safe-area-inset-top,0px);
  --sab:env(safe-area-inset-bottom,0px);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--head) + 20px)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation-duration:.01ms!important;transition-duration:.01ms!important}}
body{margin:0;font-family:var(--f-b);font-size:16.5px;line-height:1.72;
  color:var(--tx);background:var(--void);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--ember-hi);text-decoration:none;transition:color .2s var(--ease)}
a:hover{color:var(--gold-hi)}
::selection{background:var(--ember);color:#fff}
:focus-visible{outline:2px solid var(--ember-hi);outline-offset:3px;border-radius:var(--r-xs)}

h1,h2,h3,h4,h5{font-family:var(--f-d);font-weight:800;line-height:1.08;
  letter-spacing:-.032em;margin:0 0 .55em;color:var(--tx)}
h1{font-size:clamp(2.3rem,5.6vw,4.1rem);font-weight:900;letter-spacing:-.045em}
h2{font-size:clamp(1.75rem,3.9vw,2.85rem);letter-spacing:-.038em}
h3{font-size:clamp(1.14rem,2.1vw,1.42rem);letter-spacing:-.022em}
h4{font-size:1.03rem;letter-spacing:-.015em}
p{margin:0 0 1.05rem}
strong,b{font-weight:700;color:var(--tx)}

.ab-wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:26px}
.ab-narrow{max-width:790px;margin-inline:auto}
.ab-skip{position:absolute;left:-9999px;top:0;background:var(--ember);color:#fff;padding:14px 22px;z-index:9999}
.ab-skip:focus{left:0;color:#fff}

/* ── Light panel inversion ── */
.ab-light{background:var(--bone);color:var(--ink)}
.ab-light h1,.ab-light h2,.ab-light h3,.ab-light h4{color:var(--ink)}
.ab-light p{color:var(--ink-2)}
.ab-light strong,.ab-light b{color:var(--ink)}
.ab-light a{color:var(--ember)}
.ab-light a:hover{color:var(--ember-deep)}

/* ── Kicker (mono, numbered) ── */
.ab-kick{display:inline-flex;align-items:center;gap:10px;font-family:var(--f-m);
  font-size:.7rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;
  color:var(--ember-hi);margin-bottom:18px}
.ab-kick::before{content:"";width:26px;height:1px;background:var(--ember)}
.ab-light .ab-kick{color:var(--ember)}
.ab-kick-g{color:var(--gold-hi)}.ab-kick-g::before{background:var(--gold)}
.ab-lead{font-size:1.1rem;line-height:1.72;color:var(--tx-2)}
.ab-light .ab-lead{color:var(--ink-2)}
.ab-hd{max-width:760px;margin-bottom:52px}
.ab-hd-c{max-width:760px;margin:0 auto 52px;text-align:center}
.ab-hd-c .ab-kick{justify-content:center}

/* ── Buttons ── */
.ab-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;
  font-family:var(--f-d);font-weight:700;font-size:.95rem;letter-spacing:-.01em;line-height:1;
  padding:17px 34px;border-radius:var(--r-sm);border:1.5px solid transparent;
  cursor:pointer;text-decoration:none;white-space:nowrap;
  transition:transform .22s var(--ease),box-shadow .22s var(--ease),background .18s,color .18s,border-color .18s}
.ab-btn-p{background:var(--ember);color:#fff;box-shadow:var(--sh-em)}
.ab-btn-p:hover{background:var(--ember-2);color:#fff;transform:translateY(-2px);box-shadow:0 14px 40px rgba(213,98,15,.45)}
.ab-btn-w{background:var(--bone);color:var(--ink)}
.ab-btn-w:hover{background:#fff;color:var(--ink);transform:translateY(-2px)}
.ab-btn-d{background:var(--void);color:var(--tx);border-color:var(--hair-2)}
.ab-btn-d:hover{background:var(--void-3);color:var(--tx);border-color:var(--ember)}
.ab-btn-o{background:transparent;border-color:var(--hair-2);color:var(--tx)}
.ab-btn-o:hover{border-color:var(--ember);color:var(--ember-hi);background:rgba(213,98,15,.07)}
.ab-light .ab-btn-o{border-color:#cfc9be;color:var(--ink)}
.ab-light .ab-btn-o:hover{border-color:var(--ember);color:var(--ember);background:rgba(213,98,15,.06)}
.ab-btn-s{padding:11px 20px;font-size:.85rem}
.ab-btn-l{padding:20px 44px;font-size:1.02rem}

/* ── Ticker ── */
.ab-ticker{background:var(--ember);color:#fff;overflow:hidden;
  padding-top:var(--sat);border-bottom:1px solid rgba(0,0,0,.2)}
.ab-ticker-in{display:flex;gap:0;white-space:nowrap;animation:abscroll 34s linear infinite}
.ab-ticker span{display:inline-flex;align-items:center;gap:26px;padding:9px 26px 9px 0;
  font-family:var(--f-m);font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.ab-ticker span::after{content:"\25C6";font-size:.5rem;opacity:.6}
.ab-ticker a{color:#fff;text-decoration:underline;text-underline-offset:3px}
@keyframes abscroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.ab-ticker-in{animation:none}}

/* ── Header ── */
.ab-head{position:sticky;top:0;z-index:900;background:rgba(14,14,16,.86);
  backdrop-filter:saturate(160%) blur(16px);-webkit-backdrop-filter:saturate(160%) blur(16px);
  border-bottom:1px solid transparent;transition:border-color .3s,background .3s}
.ab-head.stuck{border-bottom-color:var(--hair);background:rgba(14,14,16,.96)}
.ab-head-in{display:flex;align-items:center;justify-content:space-between;gap:24px;height:var(--head)}
.ab-brand{display:inline-flex;align-items:center;gap:11px;font-family:var(--f-d);
  font-weight:900;font-size:1.2rem;letter-spacing:-.04em;color:var(--tx);text-transform:uppercase}
.ab-brand:hover{color:var(--tx)}
.ab-brand em{font-style:normal;color:var(--ember-hi)}
.ab-mark{width:32px;height:32px;flex:none;border-radius:var(--r-xs);
  background:linear-gradient(150deg,var(--ember-hi),var(--ember-deep));
  display:grid;place-items:center;color:#fff;box-shadow:0 3px 12px rgba(213,98,15,.4)}
.ab-nav{display:flex;align-items:center;gap:30px}
.ab-nav a{font-family:var(--f-m);font-size:.76rem;font-weight:500;letter-spacing:.13em;
  text-transform:uppercase;color:var(--tx-2);position:relative;padding:6px 0}
.ab-nav a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;
  background:var(--ember-hi);transition:width .3s var(--ease)}
.ab-nav a:hover,.ab-nav a.on{color:var(--tx)}
.ab-nav a:hover::after,.ab-nav a.on::after{width:100%}
.ab-head-r{display:flex;align-items:center;gap:11px}

.ab-burger{display:none;width:42px;height:42px;border:1px solid var(--hair-2);
  background:var(--void-3);border-radius:var(--r-sm);cursor:pointer;
  flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:0}
.ab-burger span{display:block;width:17px;height:1.5px;background:var(--tx);transition:.3s var(--ease)}
.ab-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.ab-burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.ab-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
.ab-drawer{position:fixed;inset:0;z-index:1000;background:var(--void);
  padding:80px 28px 40px;padding-top:calc(80px + var(--sat));overflow-y:auto;display:none}
.ab-drawer.open{display:block;animation:abfade .28s var(--ease)}
@keyframes abfade{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}
.ab-drawer nav a{display:block;font-family:var(--f-d);font-size:1.5rem;font-weight:800;
  letter-spacing:-.03em;color:var(--tx);padding:16px 0;border-bottom:1px solid var(--hair)}
.ab-drawer-x{position:absolute;top:calc(18px + var(--sat));right:26px;width:42px;height:42px;
  border:1px solid var(--hair-2);background:var(--void-3);border-radius:var(--r-sm);
  font-size:1.5rem;color:var(--tx);cursor:pointer;line-height:1}

/* ── Hero: asymmetric, oversized numeral ── */
.ab-hero{position:relative;padding:72px 0 90px;overflow:hidden;
  background:radial-gradient(1100px 620px at 78% 14%,rgba(213,98,15,.19),transparent 62%),
             radial-gradient(760px 520px at 8% 92%,rgba(156,117,26,.13),transparent 62%),
             var(--void)}
.ab-hero::after{content:"";position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(var(--hair) 1px,transparent 1px),linear-gradient(90deg,var(--hair) 1px,transparent 1px);
  background-size:74px 74px;opacity:.28;
  mask-image:radial-gradient(circle at 50% 40%,#000,transparent 78%);
  -webkit-mask-image:radial-gradient(circle at 50% 40%,#000,transparent 78%)}
.ab-hero-g{position:relative;z-index:2;display:grid;grid-template-columns:1.06fr .94fr;gap:56px;align-items:center}
.ab-hero h1 em{font-style:normal;color:var(--ember-hi)}
.ab-hero .ab-lead{max-width:52ch;font-size:1.13rem}
.ab-hero-acts{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.ab-hero-strip{display:flex;flex-wrap:wrap;gap:0;margin-top:34px;
  border-top:1px solid var(--hair);padding-top:22px}
.ab-hero-stat{padding-right:30px;margin-right:30px;border-right:1px solid var(--hair)}
.ab-hero-stat:last-child{border-right:0;margin-right:0;padding-right:0}
.ab-hero-stat b{display:block;font-family:var(--f-d);font-size:1.62rem;font-weight:900;
  color:var(--tx);letter-spacing:-.04em;line-height:1}
.ab-hero-stat span{font-family:var(--f-m);font-size:.66rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--tx-3)}
.ab-hero-media{position:relative}
.ab-hero-media::before{content:"";position:absolute;inset:4% 6%;border-radius:50%;
  background:radial-gradient(ellipse,rgba(213,98,15,.34),transparent 66%);filter:blur(52px)}
.ab-hero-media img{position:relative;max-height:480px;margin-inline:auto;
  filter:drop-shadow(0 30px 56px rgba(0,0,0,.62))}
.ab-badge{position:absolute;z-index:3;background:var(--panel);border:1px solid var(--hair-2);
  border-radius:var(--r);padding:11px 17px;box-shadow:var(--sh)}
.ab-badge b{display:block;font-family:var(--f-d);font-size:1.2rem;font-weight:900;
  color:var(--ember-hi);letter-spacing:-.03em;line-height:1.1}
.ab-badge span{font-family:var(--f-m);font-size:.6rem;letter-spacing:.13em;
  text-transform:uppercase;color:var(--tx-3)}
.ab-badge.b1{top:6%;left:-10px}
.ab-badge.b2{bottom:10%;right:-10px}

/* ── Trust strip ── */
.ab-trust{background:var(--void-2);border-block:1px solid var(--hair);padding:22px 0}
.ab-trust-in{display:flex;align-items:center;justify-content:center;gap:52px;flex-wrap:wrap}
.ab-trust img{height:46px;width:auto;opacity:.72;filter:grayscale(1) brightness(1.7);
  transition:opacity .25s,filter .25s}
.ab-trust img:hover{opacity:1;filter:none}

/* ── Sections ── */
.ab-sec{padding:92px 0;position:relative}
.ab-sec.tight{padding:58px 0}
.ab-sec.alt{background:var(--void-2)}
.ab-sec.deep{background:linear-gradient(170deg,var(--void-2),var(--void))}
.ab-sec.ember{background:var(--ember-panel);color:#fff}
.ab-sec.ember h1,.ab-sec.ember h2,.ab-sec.ember h3,.ab-sec.ember h4{color:#fff}
.ab-sec.ember p,.ab-sec.ember .ab-lead{color:rgba(255,255,255,.84)}
.ab-sec.ember .ab-kick{color:#fff}.ab-sec.ember .ab-kick::before{background:rgba(255,255,255,.55)}
.ab-rule{height:1px;background:var(--hair);border:0;margin:0}

/* Skewed divider */
.ab-skew{position:relative;height:76px;overflow:hidden;background:var(--void)}
.ab-skew::before{content:"";position:absolute;left:-4%;right:-4%;height:150px;bottom:0;
  background:var(--bone);transform:skewY(-2.1deg);transform-origin:bottom left}
.ab-skew.up::before{background:var(--void);top:0;bottom:auto;transform:skewY(-2.1deg);transform-origin:top left}
.ab-skew.up{background:var(--bone)}

/* Flush artwork mount — no seam against panel */
.ab-flush{display:block;width:100%;max-width:900px;margin:0 auto;border-radius:var(--r-lg);overflow:hidden}
.ab-flush img{width:100%;display:block}
.ab-figure{margin:2rem auto;max-width:920px}
.ab-figure img{width:100%;border-radius:var(--r-lg);border:1px solid var(--hair)}
.ab-light .ab-figure img{border-color:#ddd6ca}
.ab-figure figcaption{margin-top:13px;text-align:center;font-family:var(--f-m);
  font-size:.74rem;letter-spacing:.06em;color:var(--tx-3)}
.ab-light .ab-figure figcaption{color:var(--ink-3)}

/* ── Bento benefit grid ── */
.ab-bento{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}
.ab-cell{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.16);
  border-radius:var(--r-lg);padding:28px 26px;
  transition:background .3s var(--ease),transform .3s var(--ease)}
.ab-cell:hover{background:rgba(255,255,255,.15);transform:translateY(-4px)}
.ab-cell h3{font-size:1.08rem;margin-bottom:8px;color:#fff}
.ab-cell p{font-size:.92rem;color:rgba(255,255,255,.8);margin:0}
.ab-cell-i{width:40px;height:40px;border-radius:var(--r-sm);background:rgba(255,255,255,.17);
  color:#fff;display:grid;place-items:center;margin-bottom:15px}
.ab-cell.w3{grid-column:span 3}
.ab-cell.w2{grid-column:span 2}
.ab-cell.w6{grid-column:span 6}
.ab-cell.tall{grid-row:span 2;display:flex;flex-direction:column;justify-content:center}

/* ── Numbered mechanism rail ── */
.ab-rail{display:grid;grid-template-columns:repeat(3,1fr);gap:0;
  border:1px solid var(--hair);border-radius:var(--r-lg);overflow:hidden;background:var(--void-2)}
.ab-rail-i{padding:38px 32px;border-right:1px solid var(--hair);position:relative;
  transition:background .3s var(--ease)}
.ab-rail-i:last-child{border-right:0}
.ab-rail-i:hover{background:var(--void-3)}
.ab-rail-n{font-family:var(--f-d);font-size:3.2rem;font-weight:900;line-height:1;
  color:transparent;-webkit-text-stroke:1.5px var(--hair-2);letter-spacing:-.05em;
  margin-bottom:14px;transition:-webkit-text-stroke-color .3s}
.ab-rail-i:hover .ab-rail-n{-webkit-text-stroke-color:var(--ember)}
.ab-rail-i h3{margin-bottom:9px}
.ab-rail-i p{color:var(--tx-2);font-size:.94rem;margin:0}

/* ── Ingredient cards ── */
.ab-ing{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:18px}
.ab-ing-c{background:var(--void-2);border:1px solid var(--hair);border-radius:var(--r-lg);
  padding:30px 28px;position:relative;overflow:hidden;
  transition:border-color .3s var(--ease),transform .3s var(--ease)}
.ab-ing-c::before{content:"";position:absolute;top:0;left:0;width:100%;height:2px;
  background:linear-gradient(90deg,var(--ember),transparent)}
.ab-ing-c:hover{border-color:var(--hair-2);transform:translateY(-4px)}
.ab-ing-top{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}
.ab-ing-n{font-family:var(--f-m);font-size:.72rem;color:var(--ember-hi);letter-spacing:.12em}
.ab-grade{font-family:var(--f-m);font-size:.62rem;font-weight:600;letter-spacing:.1em;
  text-transform:uppercase;padding:4px 10px;border-radius:var(--r-pill);border:1px solid}
.ab-grade.g-mod{color:var(--gold-hi);border-color:rgba(201,161,60,.4);background:rgba(201,161,60,.1)}
.ab-grade.g-lim{color:#c98a5a;border-color:rgba(201,138,90,.4);background:rgba(201,138,90,.1)}
.ab-grade.g-weak{color:#b06a6a;border-color:rgba(176,106,106,.4);background:rgba(176,106,106,.1)}
.ab-ing-c h3{margin-bottom:8px;font-size:1.14rem}
.ab-ing-c p{color:var(--tx-2);font-size:.93rem;margin:0}

/* ── Pricing: ticket stubs ── */
.ab-tickets{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:start}
.ab-ticket{background:var(--bone);color:var(--ink);border-radius:var(--r-lg);
  position:relative;display:flex;flex-direction:column;overflow:hidden;
  transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.ab-ticket:hover{transform:translateY(-6px);box-shadow:var(--sh-hi)}
.ab-ticket.hot{outline:2px solid var(--ember);outline-offset:0}
.ab-ticket-hd{background:var(--void);color:var(--tx);padding:22px 26px 20px;position:relative}
.ab-ticket.hot .ab-ticket-hd{background:var(--ember);color:#fff}
.ab-ticket-tier{font-family:var(--f-m);font-size:.64rem;letter-spacing:.18em;
  text-transform:uppercase;color:var(--tx-3);margin-bottom:6px}
.ab-ticket.hot .ab-ticket-tier{color:rgba(255,255,255,.8)}
.ab-ticket-hd h3{font-size:1.75rem;margin:0;color:inherit;letter-spacing:-.04em}
.ab-ticket-sup{font-family:var(--f-m);font-size:.72rem;letter-spacing:.08em;color:var(--tx-3);margin-top:4px}
.ab-ticket.hot .ab-ticket-sup{color:rgba(255,255,255,.82)}
/* perforation */
.ab-perf{height:16px;background:var(--void);position:relative}
.ab-ticket.hot .ab-perf{background:var(--ember)}
.ab-perf::before,.ab-perf::after{content:"";position:absolute;top:0;width:22px;height:22px;
  border-radius:50%;background:var(--void-2)}
.ab-perf::before{left:-11px}
.ab-perf::after{right:-11px}
.ab-perf-line{position:absolute;left:14px;right:14px;top:50%;height:0;
  border-top:1.5px dashed rgba(255,255,255,.28)}
.ab-ticket-b{padding:24px 26px 28px;display:flex;flex-direction:column;flex:1;text-align:center}
.ab-ticket-b img{max-height:168px;margin:0 auto 16px}
.ab-price{font-family:var(--f-d);font-size:3.1rem;font-weight:900;color:var(--ink);
  line-height:1;letter-spacing:-.05em}
.ab-price sup{font-size:1.1rem;top:-1.05em;font-weight:700}
.ab-price small{font-family:var(--f-m);font-size:.68rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--ink-3);font-weight:500}
.ab-tot{margin:12px 0 3px;font-size:.94rem;color:var(--ink-2)}
.ab-tot s{color:var(--ink-3);margin-right:8px}
.ab-tot b{font-family:var(--f-d);font-size:1.3rem;color:var(--ink);letter-spacing:-.03em}
.ab-ship{font-family:var(--f-m);font-size:.7rem;letter-spacing:.09em;text-transform:uppercase;
  color:var(--ember);font-weight:600;margin-bottom:18px}
.ab-ticket ul{list-style:none;padding:0;margin:0 0 22px;text-align:left}
.ab-ticket li{position:relative;padding:7px 0 7px 24px;font-size:.87rem;color:var(--ink-2);
  border-bottom:1px solid #e0dad0}
.ab-ticket li:last-child{border-bottom:0}
.ab-ticket li::before{content:"\2192";position:absolute;left:0;color:var(--ember);font-weight:700}
.ab-ticket .ab-btn{margin-top:auto}
.ab-cc{max-height:22px;margin:13px auto 0;opacity:.5}

/* ── Bonuses ── */
.ab-bonus{background:var(--void-2);border:1px solid var(--hair);border-radius:var(--r);
  padding:24px 22px;height:100%;transition:border-color .28s,transform .28s var(--ease)}
.ab-bonus:hover{border-color:var(--hair-2);transform:translateY(-3px)}
.ab-bonus-n{font-family:var(--f-m);font-size:.64rem;letter-spacing:.15em;text-transform:uppercase;
  color:var(--gold-hi);display:block;margin-bottom:10px}
.ab-bonus h4{font-size:1rem;margin-bottom:6px;line-height:1.35}
.ab-bonus h4 s{display:block;font-family:var(--f-m);font-size:.72rem;font-weight:400;
  color:var(--tx-3);margin-top:4px;letter-spacing:.05em}
.ab-bonus p{font-size:.88rem;color:var(--tx-2);margin:0}

/* ── Testimonials ── */
.ab-quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.ab-quote{background:var(--void-2);border:1px solid var(--hair);border-radius:var(--r-lg);
  padding:30px 28px;transition:border-color .3s,transform .3s var(--ease)}
.ab-quote:hover{border-color:var(--hair-2);transform:translateY(-4px)}
.ab-stars{color:var(--ember-hi);letter-spacing:2.5px;font-size:.92rem;margin-bottom:13px}
.ab-quote p{font-size:.95rem;color:var(--tx-2);margin-bottom:20px}
.ab-who{display:flex;align-items:center;gap:13px;padding-top:17px;border-top:1px solid var(--hair)}
.ab-who img{width:50px;height:50px;border-radius:var(--r-sm);object-fit:cover;flex:none}
.ab-who-n{font-family:var(--f-d);font-weight:800;font-size:.98rem;color:var(--tx);letter-spacing:-.02em}
.ab-who-m{font-family:var(--f-m);font-size:.7rem;color:var(--tx-3);letter-spacing:.05em}
.ab-vfy{display:inline-flex;align-items:center;gap:5px;font-family:var(--f-m);font-size:.62rem;
  letter-spacing:.09em;color:var(--ember-hi);margin-top:5px}

/* ── Guarantee ── */
.ab-guar{display:grid;grid-template-columns:210px 1fr;gap:42px;align-items:center;
  background:var(--void-2);border:1px solid var(--hair);border-radius:var(--r-xl);padding:46px 48px}
.ab-guar img{max-height:190px;margin-inline:auto}

/* ── FAQ ── */
.ab-faq details{border-bottom:1px solid var(--hair);transition:border-color .25s}
.ab-faq details[open]{border-bottom-color:var(--hair-2)}
.ab-light .ab-faq details{border-bottom-color:#ded7cc}
.ab-faq summary{padding:22px 0;font-family:var(--f-d);font-size:1.06rem;font-weight:700;
  letter-spacing:-.02em;color:var(--tx);cursor:pointer;list-style:none;
  display:flex;align-items:center;justify-content:space-between;gap:18px}
.ab-light .ab-faq summary{color:var(--ink)}
.ab-faq summary::-webkit-details-marker{display:none}
.ab-faq summary::after{content:"";flex:none;width:14px;height:14px;border-right:2px solid var(--ember);
  border-bottom:2px solid var(--ember);transform:rotate(45deg);transition:transform .3s var(--ease);margin-top:-6px}
.ab-faq details[open] summary::after{transform:rotate(225deg);margin-top:4px}
.ab-faq-a{padding:0 0 24px;color:var(--tx-2);font-size:.97rem;max-width:70ch}
.ab-light .ab-faq-a{color:var(--ink-2)}
.ab-faq-a p:last-child{margin-bottom:0}

/* ── Article ── */
.ab-art{padding:56px 0 78px;background:var(--bone);color:var(--ink)}
.ab-art h1,.ab-art h2,.ab-art h3{color:var(--ink)}
.ab-art h2{margin-top:2.35em;margin-bottom:.5em;scroll-margin-top:100px;
  font-size:clamp(1.42rem,2.9vw,1.95rem)}
.ab-art h2:first-of-type{margin-top:1.25em}
.ab-art h3{margin-top:1.8em;margin-bottom:.45em;font-size:1.17rem}
.ab-art p{color:var(--ink-2);font-size:1.055rem;line-height:1.82}
.ab-art ul,.ab-art ol{color:var(--ink-2);padding-left:1.3em;margin-bottom:1.2rem}
.ab-art li{margin-bottom:.55rem;line-height:1.76}
.ab-art li::marker{color:var(--ember)}
.ab-art strong{color:var(--ink)}
.ab-art blockquote{border-left:3px solid var(--ember);padding:4px 0 4px 24px;margin:1.9rem 0;
  font-family:var(--f-d);font-size:1.16rem;font-weight:600;letter-spacing:-.02em;
  color:var(--ink);line-height:1.5}
.ab-dek{font-size:1.2rem;line-height:1.6;color:var(--ink-2);font-weight:500;margin-bottom:1.5rem}

/* Meta */
.ab-meta{display:flex;flex-wrap:wrap;gap:8px 22px;align-items:center;font-family:var(--f-m);
  font-size:.74rem;letter-spacing:.04em;color:var(--ink-3);
  padding:15px 0;border-block:1px solid #ded7cc;margin:20px 0 32px}
.ab-meta b{color:var(--ink);font-weight:600}

/* AEO answer */
.ab-answer{background:var(--void);color:var(--tx);border-radius:var(--r-lg);
  padding:28px 32px;margin:2rem 0;position:relative}
.ab-answer::before{content:"Quick answer";position:absolute;top:-10px;left:26px;
  background:var(--ember);color:#fff;font-family:var(--f-m);font-size:.6rem;font-weight:600;
  letter-spacing:.15em;text-transform:uppercase;padding:4px 12px;border-radius:var(--r-pill)}
.ab-answer h3{font-size:1.1rem;margin:8px 0 10px;color:var(--tx)}
.ab-answer p{margin:0;color:var(--tx-2);font-size:1rem}

/* Key takeaways */
.ab-key{border:1px solid #ddd6ca;border-left:3px solid var(--ember);border-radius:var(--r-sm);
  background:#fff;padding:26px 30px;margin:2rem 0}
.ab-key h3{font-family:var(--f-m);font-size:.72rem;font-weight:600;letter-spacing:.16em;
  text-transform:uppercase;color:var(--ember);margin-bottom:14px}
.ab-key ul{margin:0;padding-left:1.1em}
.ab-key li{color:var(--ink-2);font-size:.96rem;margin-bottom:.5rem}
.ab-key li:last-child{margin-bottom:0}

/* Author / E-E-A-T */
.ab-author{display:grid;grid-template-columns:auto 1fr;gap:20px;background:#fff;
  border:1px solid #ddd6ca;border-radius:var(--r-lg);padding:26px 28px;margin:2.4rem 0}
.ab-author-av{width:56px;height:56px;border-radius:var(--r-sm);flex:none;
  background:linear-gradient(150deg,var(--ember-hi),var(--ember-deep));color:#fff;
  display:grid;place-items:center;font-family:var(--f-d);font-weight:900;font-size:1.05rem}
.ab-author h4{font-size:1rem;margin-bottom:5px;color:var(--ink)}
.ab-author p{font-size:.91rem;color:var(--ink-2);margin-bottom:8px}
.ab-creds{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}
.ab-creds span{font-family:var(--f-m);font-size:.66rem;letter-spacing:.06em;color:var(--ember);
  background:rgba(213,98,15,.08);border:1px solid rgba(213,98,15,.24);
  padding:4px 10px;border-radius:var(--r-pill)}

/* Medical review banner */
.ab-medrev{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid #ddd6ca;
  border-radius:var(--r-sm);padding:14px 20px;margin:1.6rem 0;font-size:.87rem;color:var(--ink-2)}
.ab-medrev-i{width:32px;height:32px;border-radius:var(--r-xs);background:var(--ember);color:#fff;
  display:grid;place-items:center;flex:none;font-size:.9rem}
.ab-medrev b{color:var(--ink)}

/* Notes */
.ab-note{background:#fff6ec;border:1px solid #eccfae;border-radius:var(--r-sm);
  padding:20px 24px;font-size:.93rem;color:var(--ink-2);margin:1.9rem 0}
.ab-note strong{color:var(--ink)}
.ab-note-w{background:#fdeee9;border-color:#e8b6a4}
.ab-note-w strong{color:#8a2a0b}

/* Table */
.ab-tablewrap{overflow-x:auto;border:1px solid #ddd6ca;border-radius:var(--r);
  margin:1.9rem 0;background:#fff}
.ab-table{width:100%;border-collapse:collapse;min-width:580px;margin:0}
.ab-table th{background:var(--void);color:var(--tx);text-align:left;padding:14px 18px;
  font-family:var(--f-m);font-size:.7rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase}
.ab-table td{padding:14px 18px;border-top:1px solid #e6e0d6;font-size:.93rem;color:var(--ink-2)}
.ab-table tbody tr:nth-child(even){background:#faf8f4}
.ab-table td b,.ab-table td strong{color:var(--ink)}

/* Sources */
.ab-sources{background:#fff;border:1px solid #ddd6ca;border-radius:var(--r);
  padding:24px 28px;margin:2rem 0}
.ab-sources h4{font-family:var(--f-m);font-size:.72rem;font-weight:600;letter-spacing:.15em;
  text-transform:uppercase;color:var(--ink-3);margin-bottom:13px}
.ab-sources ol{margin:0;padding-left:1.3em}
.ab-sources li{font-size:.86rem;color:var(--ink-2);margin-bottom:8px;line-height:1.6}

/* TOC */
.ab-toc{background:#fff;border:1px solid #ddd6ca;border-radius:var(--r);padding:24px 28px;margin:1.9rem 0}
.ab-toc h4{font-family:var(--f-m);font-size:.7rem;font-weight:600;letter-spacing:.15em;
  text-transform:uppercase;color:var(--ink-3);margin-bottom:13px}
.ab-toc ol{margin:0;padding-left:1.2em}
.ab-toc li{margin-bottom:7px;font-size:.92rem}
.ab-toc a{color:var(--ink-2);font-weight:500}
.ab-toc a:hover{color:var(--ember)}

/* Breadcrumbs */
.ab-crumbs{background:var(--void-2);border-bottom:1px solid var(--hair);padding:13px 0;
  font-family:var(--f-m);font-size:.74rem;letter-spacing:.05em}
.ab-crumbs a{color:var(--tx-3)}
.ab-crumbs a:hover{color:var(--ember-hi)}
.ab-crumbs i{font-style:normal;color:var(--hair-2);margin:0 9px}
.ab-crumbs span{color:var(--tx-2)}

/* Cards */
.ab-card{display:block;background:var(--void-2);border:1px solid var(--hair);
  border-radius:var(--r-lg);padding:26px 24px;height:100%;
  transition:transform .28s var(--ease),border-color .28s}
.ab-card:hover{transform:translateY(-4px);border-color:var(--hair-2)}
.ab-card .ab-tag{font-family:var(--f-m);font-size:.64rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ember-hi);display:block;margin-bottom:10px}
.ab-card h3{font-size:1.05rem;margin-bottom:8px;line-height:1.32}
.ab-card p{color:var(--tx-2);font-size:.89rem;margin-bottom:12px}
.ab-card .ab-more{font-family:var(--f-m);font-size:.72rem;letter-spacing:.09em;color:var(--ember-hi)}

/* CTA band */
.ab-band{background:var(--ember);color:#fff;padding:46px 0}
.ab-band-in{display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap}
.ab-band h3{color:#fff;margin-bottom:5px;font-size:1.55rem}
.ab-band p{color:rgba(255,255,255,.85);margin:0;font-size:.96rem}

/* Final CTA */
.ab-final{padding:0 0 92px;background:var(--void)}
.ab-final-c{background:linear-gradient(155deg,var(--ember-deep) 0%,var(--ember) 58%,var(--ember-hi) 130%);
  border-radius:var(--r-xl);padding:72px 56px;text-align:center;position:relative;overflow:hidden}
.ab-final-c::before{content:"";position:absolute;inset:0;
  background-image:linear-gradient(rgba(0,0,0,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.13) 1px,transparent 1px);
  background-size:56px 56px;opacity:.5}
.ab-final-c>*{position:relative;z-index:1}
.ab-final-c .ab-kick{color:#fff;justify-content:center}
.ab-final-c .ab-kick::before{background:rgba(255,255,255,.6)}
.ab-final-c h2{color:#fff;max-width:20ch;margin-inline:auto}
.ab-final-c p{color:rgba(255,255,255,.86);max-width:54ch;margin:0 auto 28px}
.ab-final-note{margin-top:18px;font-family:var(--f-m);font-size:.72rem;
  letter-spacing:.09em;color:rgba(255,255,255,.66)}

/* Footer */
.ab-foot{background:var(--void-2);border-top:1px solid var(--hair);padding:64px 0 0}
.ab-foot-g{padding-bottom:46px}
.ab-foot p{font-size:.88rem;color:var(--tx-2);line-height:1.66}
.ab-foot-mail a{font-family:var(--f-m);font-size:.85rem;color:var(--ember-hi)}
.ab-foot-cc{max-height:24px;opacity:.42;margin-top:14px}
.ab-foot h4{font-family:var(--f-m);font-size:.68rem;font-weight:500;letter-spacing:.16em;
  text-transform:uppercase;color:var(--tx-3);margin-bottom:16px}
.ab-foot ul{list-style:none;padding:0;margin:0}
.ab-foot li{margin-bottom:9px}
.ab-foot li a{color:var(--tx-2);font-size:.87rem}
.ab-foot li a:hover{color:var(--ember-hi)}
.ab-foot-legal{border-top:1px solid var(--hair);padding:26px 0 34px;
  padding-bottom:calc(34px + var(--sab));font-size:.8rem;color:var(--tx-3)}
.ab-foot-legal p{margin-bottom:11px;color:var(--tx-3)}
.ab-fine{font-size:.73rem;line-height:1.72;color:#615f5c}

/* Dock + top */
.ab-dock{display:none;position:fixed;left:0;right:0;bottom:0;z-index:880;
  background:var(--void-2);border-top:1px solid var(--hair);padding:10px 18px;
  padding-bottom:calc(10px + var(--sab));align-items:center;justify-content:space-between;gap:14px}
.ab-dock b{display:block;font-family:var(--f-d);font-size:.98rem;color:var(--tx);letter-spacing:-.02em}
.ab-dock span{font-family:var(--f-m);font-size:.66rem;letter-spacing:.08em;color:var(--tx-3)}
.ab-top{position:fixed;right:22px;bottom:92px;z-index:870;width:44px;height:44px;
  border-radius:var(--r-sm);background:var(--panel);border:1px solid var(--hair-2);
  color:var(--tx);cursor:pointer;font-size:1rem;display:grid;place-items:center;
  opacity:0;pointer-events:none;transform:translateY(10px);
  transition:opacity .3s var(--ease),transform .3s var(--ease)}
.ab-top.show{opacity:1;pointer-events:auto;transform:none}

/* Reveal */
.ab-rev{opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.ab-rev.in{opacity:1;transform:none}

.ab-related{background:var(--void-2);padding:70px 0;border-top:1px solid var(--hair)}

/* ── Responsive ── */
@media (max-width:1100px){.ab-nav{gap:20px}}
@media (max-width:991px){
  .ab-nav{display:none}
  .ab-burger{display:flex}
  .ab-hero-g{grid-template-columns:1fr;gap:44px;text-align:center}
  .ab-hero{padding:48px 0 66px}
  .ab-hero .ab-kick{justify-content:center}
  .ab-hero .ab-lead{margin-inline:auto}
  .ab-hero-acts,.ab-hero-strip{justify-content:center}
  .ab-hero-media img{max-height:350px}
  .ab-badge{display:none}
  .ab-bento{grid-template-columns:1fr}
  .ab-cell.w3,.ab-cell.w2,.ab-cell.w6{grid-column:span 1}
  .ab-cell.tall{grid-row:span 1}
  .ab-rail{grid-template-columns:1fr}
  .ab-rail-i{border-right:0;border-bottom:1px solid var(--hair)}
  .ab-rail-i:last-child{border-bottom:0}
  .ab-tickets,.ab-quotes{grid-template-columns:1fr}
  .ab-guar{grid-template-columns:1fr;gap:26px;text-align:center;padding:36px 28px}
  .ab-trust-in{gap:30px}
  .ab-trust img{height:36px}
  .ab-band-in{flex-direction:column;text-align:center}
  .ab-skew{height:48px}
}
@media (max-width:767px){
  body{font-size:16px}
  .ab-sec{padding:60px 0}
  .ab-sec.tight{padding:42px 0}
  .ab-dock{display:flex}
  .ab-top{bottom:84px;right:16px}
  .ab-final{padding-bottom:60px}
  .ab-final-c{padding:46px 24px;border-radius:var(--r-lg)}
  .ab-author{grid-template-columns:1fr;text-align:center;justify-items:center}
  .ab-creds{justify-content:center}
  .ab-art{padding:40px 0 58px}
  .ab-art p{font-size:1.01rem}
  .ab-medrev{flex-direction:column;text-align:center;gap:10px}
  .ab-hero-stat{padding-right:18px;margin-right:18px}
}
@media (max-width:480px){
  .ab-wrap{padding-inline:18px}
  h1{font-size:2.1rem}
  .ab-price{font-size:2.5rem}
  .ab-btn{padding:15px 26px;font-size:.9rem}
  .ab-btn-l{padding:17px 30px;font-size:.96rem}
  .ab-rail-n{font-size:2.6rem}
}
