:root{
  --pink:#FF4D9D; --purple:#7B3DF5; --orange:#FF8A3D; --yellow:#FFD34D;
  --teal:#3ED6D6; --sky:#5BC8F0; --lime:#8BE04A; --cream:#FFF9F2; --navy:#0D0D1A;
  --ink:#16121F; --ink-2:#57506A; --ink-3:#918AA3;
  --night:#0A0714; --night-2:#120C24; --mist:#EDE9F7; --mist-2:#ADA5C4;
  --g1:#FF8A3D; --g2:#5BC8F0;
  --display:"Bebas Neue","Montserrat",Impact,sans-serif;
  --body:"Montserrat",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,sans-serif;
  --noise:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNjAiIGhlaWdodD0iMTYwIj48ZmlsdGVyIGlkPSJuIj48ZmVUdXJidWxlbmNlIHR5cGU9ImZyYWN0YWxOb2lzZSIgYmFzZUZyZXF1ZW5jeT0iMC44NSIgbnVtT2N0YXZlcz0iMyIvPjxmZUNvbG9yTWF0cml4IHR5cGU9InNhdHVyYXRlIiB2YWx1ZXM9IjAiLz48L2ZpbHRlcj48cmVjdCB3aWR0aD0iMTYwIiBoZWlnaHQ9IjE2MCIgZmlsdGVyPSJ1cmwoI24pIiBvcGFjaXR5PSIwLjQyIi8+PC9zdmc+');
}
*{box-sizing:border-box;}
body{margin:0;background:var(--night);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
.wrap{max-width:1180px;margin:0 auto;padding-inline:20px;}
h1,h2,h3,h4,.disp{font-family:var(--display);font-weight:400;letter-spacing:.014em;line-height:.9;text-transform:uppercase;margin:0;}
.grain::after{content:"";position:absolute;inset:0;background-image:var(--noise);opacity:.05;pointer-events:none;mix-blend-mode:multiply;}
.eyebrow{font-family:var(--display);font-size:14px;letter-spacing:.22em;}
h2{font-size:clamp(40px,6.6vw,74px);margin-top:8px;}
.sub{color:var(--ink-2);max-width:56ch;margin:14px 0 0;font-size:16.5px;}
section{padding-block:86px;}
a{color:inherit;}

/* palm shadows */
.palm{position:absolute;pointer-events:none;z-index:1;filter:blur(2px);}
.palm svg{width:100%;height:auto;display:block;animation:sway 13s ease-in-out infinite;transform-origin:90% 95%;}
@keyframes sway{0%,100%{transform:rotate(0deg) scale(1)}50%{transform:rotate(4.5deg) scale(1.03)}}
@media (prefers-reduced-motion:reduce){.palm svg{animation:none}}

/* gradient ticker */
.ticker{background:linear-gradient(100deg,var(--purple),var(--pink) 48%,var(--orange));overflow:hidden;white-space:nowrap;padding-block:11px;position:relative;z-index:9;}
.tt{display:inline-flex;gap:28px;animation:slide 34s linear infinite;font-family:var(--display);font-size:15px;letter-spacing:.17em;color:#fff;}
.tt span{display:inline-flex;gap:28px;align-items:center;}
.tt i{font-style:normal;opacity:.75;}
@keyframes slide{from{transform:translateX(0)}to{transform:translateX(-50%)}}

nav{position:relative;z-index:8;display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:20px;}
.logo{display:block;line-height:0;flex:none;}
.logo img{height:44px;width:auto;display:block;filter:saturate(1.06) brightness(1.1);}
@media(max-width:600px){.logo img{height:34px}}
.nl{display:flex;gap:24px;font-size:12.5px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;}
.nl a{color:var(--mist);text-decoration:none;opacity:.8;}
.nl a:hover{opacity:1;color:var(--pink);}
@media(max-width:980px){.nl{display:none}}
.btn{font-family:var(--display);font-size:17px;letter-spacing:.09em;padding:13px 26px;border-radius:999px;text-decoration:none;display:inline-flex;align-items:center;gap:10px;
  transition:transform .18s ease,box-shadow .18s ease;border:0;cursor:pointer;}
.btn:hover{transform:translateY(-3px);}
.btn-a{color:#fff;background:linear-gradient(100deg,var(--purple),var(--pink));box-shadow:0 10px 28px rgba(255,77,157,.34);}
.btn-a:hover{box-shadow:0 16px 34px rgba(255,77,157,.46);}
.btn-o{color:#fff;border:2px solid rgba(255,255,255,.5);}
.btn-o:hover{background:#fff;color:var(--night);border-color:#fff;}
.btn-sm{font-size:15px;padding:10px 20px;}
/* Named cartglyph, not cart: WooCommerce's add-to-cart form is <form class="cart">
   and a bare .cart here turned that whole form into a 26px circle. */
.cartglyph{width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,.28);display:grid;place-items:center;flex:none;}
.cartglyph svg{width:14px;height:14px;fill:currentColor;}

/* ============ HERO (dark aurora) ============ */
.hero{position:relative;overflow:hidden;background:var(--night);}
/* pattern 1 — slow aurora ribbons */
.aur{position:absolute;inset:-30%;z-index:0;filter:blur(52px);opacity:.85;transition:background .9s ease;
  background:
    conic-gradient(from 200deg at 24% 28%, transparent 0deg, color-mix(in srgb,var(--g1) 78%,transparent) 42deg, transparent 122deg),
    conic-gradient(from 20deg  at 78% 22%, transparent 0deg, color-mix(in srgb,var(--g2) 74%,transparent) 50deg, transparent 130deg),
    conic-gradient(from 300deg at 62% 84%, transparent 0deg, color-mix(in srgb,var(--purple) 66%,transparent) 46deg, transparent 124deg),
    conic-gradient(from 120deg at 10% 78%, transparent 0deg, color-mix(in srgb,var(--pink) 50%,transparent) 38deg, transparent 118deg);
  animation:turn 42s linear infinite;}
@keyframes turn{to{transform:rotate(360deg) scale(1.12)}}
/* pattern 2 — dot matrix, masked so it fades at the edges */
.dots{position:absolute;inset:0;z-index:1;opacity:.5;
  background-image:radial-gradient(circle, rgba(255,255,255,.34) 1px, transparent 1.2px);
  background-size:26px 26px;
  -webkit-mask:radial-gradient(78% 70% at 50% 42%, #000 20%, transparent 76%);
          mask:radial-gradient(78% 70% at 50% 42%, #000 20%, transparent 76%);}
/* pattern 3 — arc rings behind the can */
.rings{position:absolute;top:50%;right:16%;width:760px;aspect-ratio:1;transform:translateY(-48%);z-index:1;pointer-events:none;}
.rings i{position:absolute;inset:0;border-radius:50%;border:1px solid rgba(255,255,255,.12);animation:pulse 7s ease-in-out infinite;}
.rings i:nth-child(2){inset:13%;border-color:rgba(255,255,255,.09);animation-delay:-1.6s}
.rings i:nth-child(3){inset:26%;border-color:rgba(255,255,255,.07);animation-delay:-3.2s}
.rings i:nth-child(4){inset:39%;border-style:dashed;border-color:rgba(255,255,255,.1);animation:spin 60s linear infinite}
@keyframes pulse{0%,100%{transform:scale(1);opacity:.9}50%{transform:scale(1.045);opacity:.5}}
@media(max-width:900px){.rings{display:none}}
.hero .palm.p1{top:-20%;left:-14%;width:780px;color:#CFE3FF;opacity:.07;}
.hero .palm.p2{bottom:-26%;right:-12%;width:840px;color:#FFD9EC;opacity:.06;transform:scaleX(-1);}
.hero-in{position:relative;z-index:3;display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center;padding-block:26px 76px;}
@media(max-width:900px){.hero-in{grid-template-columns:1fr;padding-block:14px 52px;}}
.kicker{display:inline-block;font-family:var(--display);font-size:13.5px;letter-spacing:.2em;color:var(--mist);
  border:1.5px solid rgba(255,255,255,.3);padding:5px 14px;border-radius:999px;background:rgba(255,255,255,.06);
  backdrop-filter:blur(6px);}
h1{font-size:clamp(58px,12.4vw,132px);color:#fff;margin-top:16px;
  text-shadow:0 0 26px color-mix(in srgb,var(--g2) 46%,transparent),0 0 80px color-mix(in srgb,var(--g1) 36%,transparent);}
h1 .l2{display:block;background:linear-gradient(95deg,var(--g1),var(--g2));-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none;}
.lede{color:#CFC8E2;font-size:17.5px;max-width:40ch;margin:18px 0 0;font-weight:500;}
.cta{display:flex;gap:11px;flex-wrap:wrap;margin-top:26px;}

.stage{position:relative;display:flex;align-items:center;justify-content:center;min-height:540px;}
@media(max-width:900px){.stage{min-height:440px}}
.stage::after{content:"";position:absolute;width:420px;height:420px;border-radius:50%;z-index:0;
  background:radial-gradient(circle,color-mix(in srgb,var(--g1) 55%,transparent),transparent 68%);filter:blur(46px);transition:background .9s;}
.tilt{position:relative;z-index:3;transition:transform .25s ease-out;}
#heroCan{height:min(72vh,540px);width:auto;max-width:100%;display:block;
  filter:drop-shadow(0 34px 44px rgba(0,0,0,.62));animation:bob 6s ease-in-out infinite;transition:opacity .2s ease;}
@keyframes bob{0%,100%{transform:translateY(0) rotate(-1.6deg)}50%{transform:translateY(-20px) rotate(1.6deg)}}
.fruit{position:absolute;z-index:2;opacity:0;transform:scale(.6);transition:opacity .45s ease,transform .45s ease;pointer-events:none;
  filter:drop-shadow(0 10px 18px rgba(0,0,0,.5));}
.fruit.on{opacity:1;transform:scale(1);animation:orbit 7.5s ease-in-out infinite;}
.fruit.f1{top:5%;left:3%;width:104px;animation-delay:0s}
.fruit.f2{top:20%;right:0%;width:80px;animation-delay:-1.4s}
.fruit.f3{bottom:20%;left:-1%;width:88px;animation-delay:-2.9s}
.fruit.f4{bottom:3%;right:7%;width:70px;animation-delay:-4.3s}
.fruit.f5{top:46%;left:11%;width:56px;animation-delay:-5.6s}
.fruit.f6{top:64%;right:4%;width:62px;animation-delay:-3.4s}
.fruit.f7{top:2%;right:24%;width:52px;animation-delay:-6.6s}
@media(max-width:900px){.fruit{width:56px!important}}
@keyframes orbit{0%,100%{transform:translate(0,0) rotate(-8deg) scale(1)}33%{transform:translate(12px,-20px) rotate(7deg) scale(1.06)}66%{transform:translate(-9px,12px) rotate(-3deg) scale(.96)}}
/* Hero bubbles. Named herobub, not bub: the product page's benefit bubbles
   already own .bub, and their @media(max-width:1080px) rule sets
   position:static with !important sizes, which was flattening these. */
.herobub{position:absolute;border-radius:50%;background:rgba(255,255,255,.3);border:1px solid rgba(255,255,255,.55);z-index:1;animation:rise linear infinite;}
@keyframes rise{from{transform:translateY(50px);opacity:0}20%{opacity:.9}to{transform:translateY(-380px);opacity:0}}
@media (prefers-reduced-motion:reduce){.aur,.rings i,#heroCan,.fruit.on,.herobub{animation:none!important}}

.picker{display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin-top:28px;}
.picker .pl{font-family:var(--display);font-size:13px;letter-spacing:.16em;color:var(--mist-2);margin-right:4px;}
.chip{width:36px;height:36px;border-radius:50%;border:2.5px solid rgba(255,255,255,.26);cursor:pointer;padding:0;transition:transform .2s ease,border-color .2s;}
.chip:hover{transform:scale(1.2) rotate(8deg);}
.chip[aria-pressed="true"]{border-color:#fff;transform:scale(1.2);box-shadow:0 0 0 3px rgba(255,255,255,.18),0 0 22px currentColor;}
.chip:focus-visible{outline:3px solid #fff;outline-offset:3px;}

.strip{background:var(--night-2);border-block:1px solid rgba(255,255,255,.08);position:relative;z-index:3;}
.strip-in{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;padding-block:26px;text-align:center;}
.strip .v{font-family:var(--display);font-size:19px;letter-spacing:.08em;color:var(--mist);}
.strip .s{font-size:11px;letter-spacing:.07em;color:var(--mist-2);text-transform:uppercase;font-weight:700;margin-top:3px;}
.strip .v b{background:linear-gradient(95deg,var(--g1),var(--g2));-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:400;}

.div-bot{display:block;width:100%;height:76px;margin-top:-1px;}
.badge{display:inline-block;font-size:10.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:5px 11px;border-radius:999px;}

/* ===== BLOCK A — seltzers (sunny beach day) ===== */
.blockA{position:relative;overflow:hidden;color:#083F52;
  background:linear-gradient(180deg,
    #1FA9E8 0%, #4FC3F7 14%, #8ED9FA 32%, #C4ECFD 46%, #E8F7FE 51.6%,
    #17B9D4 51.8%, #08A7C6 62%, #0790B0 72%,
    #FFE2A8 77.4%, #FFD489 84%, #F6C271 100%);}
/* sun, high and bright */
.sun{position:absolute;right:9%;top:9%;width:min(190px,26vw);aspect-ratio:1;z-index:1;border-radius:50%;
  background:radial-gradient(circle,#FFFFFF 0%,#FFF6C8 34%,#FFE082 56%,rgba(255,213,79,0) 72%);
  animation:breathe 9s ease-in-out infinite;}
.sun::after{content:"";position:absolute;inset:-110%;border-radius:50%;filter:blur(34px);
  background:radial-gradient(circle,rgba(255,240,170,.75),rgba(255,224,130,.22) 45%,transparent 70%);}
@keyframes breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}
.rays{position:absolute;right:9%;top:9%;width:min(190px,26vw);aspect-ratio:1;z-index:1;
  opacity:.5;mix-blend-mode:screen;filter:blur(9px);transform-origin:50% 50%;
  background:repeating-conic-gradient(from 0deg at 50% 50%, rgba(255,255,225,.95) 0deg 2.2deg, transparent 2.2deg 14deg);
  animation:spin 80s linear infinite;}
/* drifting clouds */
.clouds{position:absolute;left:0;right:0;top:0;height:50%;z-index:1;pointer-events:none;overflow:hidden;}
.clouds i{position:absolute;background:#fff;border-radius:999px;filter:blur(9px);opacity:.85;animation:sail linear infinite;}
@keyframes sail{from{transform:translateX(-34vw)}to{transform:translateX(122vw)}}
/* sea sparkle */
.glint{position:absolute;left:0;right:0;top:51.8%;height:25.6%;z-index:2;mix-blend-mode:screen;opacity:.5;pointer-events:none;
  background:repeating-linear-gradient(180deg, rgba(255,255,255,.85) 0 2px, transparent 2px 10px);filter:blur(2.5px);
  -webkit-mask:radial-gradient(52% 130% at 88% 0%, #000 2%, transparent 74%);
          mask:radial-gradient(52% 130% at 88% 0%, #000 2%, transparent 74%);
  animation:glint 6s ease-in-out infinite alternate;}
@keyframes glint{from{transform:scaleX(1)}to{transform:scaleX(1.14)}}
/* caustics in the shallows */
.caustic{position:absolute;left:-20%;right:-20%;top:51.8%;height:25.6%;z-index:2;opacity:.26;mix-blend-mode:overlay;
  filter:blur(9px);pointer-events:none;
  background:
    repeating-linear-gradient(74deg, transparent 0 12px, rgba(255,255,255,.95) 12px 14px, transparent 14px 28px),
    repeating-linear-gradient(-58deg, transparent 0 16px, rgba(255,255,255,.85) 16px 18px, transparent 18px 36px);
  animation:caust 15s ease-in-out infinite alternate;}
@keyframes caust{from{transform:translate3d(-2%,0,0) scale(1.03)}to{transform:translate3d(3%,0,0) scale(1.1)}}
/* fruit bobbing across the sky */
.driftfruit{position:absolute;left:0;right:0;top:0;height:50%;z-index:2;pointer-events:none;overflow:hidden;}
.driftfruit svg{position:absolute;opacity:.78;filter:drop-shadow(0 10px 16px rgba(4,64,96,.28));animation:driftby linear infinite;}
@keyframes driftby{from{transform:translate3d(-18vw,0,0) rotate(-20deg)}to{transform:translate3d(120vw,-40px,0) rotate(30deg)}}
/* surf breaking onto the sand */
.waves{position:absolute;left:0;right:0;top:70%;z-index:3;pointer-events:none;line-height:0;}
.waves svg{display:block;width:220%;height:120px;}
.waves .w1{opacity:.95;animation:swim 19s linear infinite;}
.waves .w2{opacity:.8;height:104px;margin-top:-84px;animation:swim 29s linear infinite reverse;}
.waves .w3{opacity:.6;height:86px;margin-top:-66px;animation:swim 41s linear infinite;}
@keyframes swim{from{transform:translateX(0)}to{transform:translateX(-50%)}}

.blockA .palm.pa{top:-14%;left:-12%;width:820px;color:#0B3B2C;opacity:.4;z-index:3;}
.blockA .palm.pb{top:-18%;right:-14%;width:740px;color:#0B3B2C;opacity:.32;z-index:3;transform:scaleX(-1);}
.fizz{position:absolute;inset:0;pointer-events:none;z-index:3;}
.fizz i{position:absolute;bottom:-30px;border-radius:50%;background:rgba(255,255,255,.5);border:1px solid rgba(255,255,255,.9);animation:fizz linear infinite;}
@keyframes fizz{from{transform:translateY(0) translateX(0);opacity:0}12%{opacity:.9}to{transform:translateY(-108vh) translateX(30px);opacity:0}}
@media (prefers-reduced-motion:reduce){.sun,.rays,.clouds i,.glint,.caustic,.driftfruit svg,.waves svg{animation:none!important}}
.blockA .wrap{position:relative;z-index:5;}
.blockA h2{color:#063B50;text-shadow:0 2px 20px rgba(255,255,255,.55);}
.blockA .eyebrow{color:#0A6F8C;} .blockA .sub{color:#0E5670;}

/* choose-your-adventure picker */
.adv{margin-top:34px;}
.adv .q{font-family:var(--display);font-size:clamp(22px,3vw,30px);color:#063B50;letter-spacing:.03em;}
.advrow{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px;}
@media(max-width:820px){.advrow{grid-template-columns:1fr}}
.advbtn{text-align:left;cursor:pointer;font-family:var(--body);font-size:15px;font-weight:600;color:#0E5670;
  background:rgba(255,255,255,.82);backdrop-filter:blur(10px);border:1.5px solid rgba(255,255,255,.95);border-radius:18px;padding:16px 18px;
  transition:background .28s ease,border-color .28s ease,transform .28s ease;display:flex;gap:12px;align-items:center;}
.advbtn:hover{transform:translateY(-4px);background:#fff;border-color:#FF9421;box-shadow:0 14px 30px rgba(4,60,84,.16);}
.advbtn .n{font-family:var(--display);font-size:22px;line-height:1;color:#FF9421;flex:none;}
.advbtn[aria-pressed="true"]{background:#fff;border-color:#FF9421;color:#063B50;box-shadow:0 0 0 3px rgba(255,148,33,.28),0 16px 34px rgba(4,60,84,.18);}
.advbtn:focus-visible{outline:3px solid #FF9421;outline-offset:3px;}

/* ---- flavour panels: three full-bleed colour fields, can on a disc ---- */
.terps{display:grid;grid-template-columns:repeat(3,1fr);gap:0;position:relative;z-index:4;}
@media(max-width:900px){.terps{grid-template-columns:1fr}}

.terp{position:relative;overflow:hidden;text-align:center;padding:56px 30px 104px;
  background:linear-gradient(180deg,var(--p1) 0%,var(--p2) 100%);
  transition:opacity .38s ease;}
/* the colour disc the can floats on */
.terp .disc{position:absolute;left:50%;top:34px;transform:translateX(-50%);
  width:min(84%,330px);aspect-ratio:1;border-radius:50%;z-index:0;pointer-events:none;
  background:radial-gradient(circle at 50% 44%,
    color-mix(in srgb,var(--disc,var(--acc)) 92%,#fff) 0%,
    color-mix(in srgb,var(--disc,var(--acc)) 74%,transparent) 52%,
    color-mix(in srgb,var(--disc,var(--acc)) 20%,transparent) 74%,
    transparent 82%);
  transition:transform .5s cubic-bezier(.2,.8,.2,1),opacity .4s ease;}
.terp>*:not(.disc){position:relative;z-index:1;}

.terp .can{display:flex;justify-content:center;margin:0 0 22px;}
.terp .can img{height:clamp(240px,29vw,360px);width:auto;
  filter:drop-shadow(0 26px 34px rgba(6,50,70,.3));
  transition:transform .5s cubic-bezier(.2,.8,.2,1);}

.terp h3{font-size:clamp(30px,3.4vw,42px);color:var(--ink-acc,var(--acc));margin:0;line-height:.92;}
.terp .k{display:block;font-family:var(--display);font-size:22px;letter-spacing:.06em;
  text-transform:uppercase;color:#0B3A4D;margin-top:6px;}
.terp .tag{font-size:14.5px;color:color-mix(in srgb,var(--acc) 62%,#0B3A4D);margin:12px 0 0;
  max-width:30ch;margin-inline:auto;}

/* terpenes read as one quiet line rather than three loud chips */
.terp .terppills{display:flex;flex-wrap:wrap;gap:0 6px;justify-content:center;margin-top:14px;}
.terp .terppills span{font-size:10.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  color:color-mix(in srgb,var(--acc) 58%,#0B3A4D);opacity:.85;}
.terp .terppills span+span::before{content:"\00B7";margin-right:6px;opacity:.6;}

.terp .good{list-style:none;margin:20px auto 0;padding:0;display:grid;gap:7px;
  width:fit-content;text-align:left;}
.terp .good li{font-size:13.5px;color:#2F5567;display:flex;gap:9px;align-items:flex-start;}
.terp .good li::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--acc);flex:none;margin-top:6px;}

.terp .btn{margin-top:24px;background:var(--acc);color:#08303F;
  box-shadow:0 12px 26px color-mix(in srgb,var(--acc) 46%,transparent);}
.terp .btn:hover{box-shadow:0 18px 34px color-mix(in srgb,var(--acc) 58%,transparent);}

/* hover / picked */
.terp:hover .can img,.terp.sel .can img{transform:translateY(-14px) scale(1.045);}
.terp:hover .disc,.terp.sel .disc{transform:translateX(-50%) scale(1.06);}
.terps.picking .terp:not(.sel){opacity:.42;}

/* the panels carry the hand-off into the dark Bolt section below */
.terps::after{content:"";position:absolute;left:0;right:0;bottom:0;height:118px;z-index:2;pointer-events:none;
  background:linear-gradient(180deg,transparent,rgba(5,4,10,.45) 56%,#05040A);}

@media(max-width:900px){
  /* stacked: only the last panel sits under the fade into the Bolt section */
  .terp{padding:44px 26px 50px;}
  .terp:last-child{padding-bottom:104px;}
  .terp .can img{height:min(52vw,290px);}
  .terp .disc{top:18px;width:min(64%,250px);}
}
@media (prefers-reduced-motion:reduce){
  .terp .can img,.terp .disc{transition:none;}
}

/* ===== BLOCK B — bolt (diagonal split) ===== */
.blockB{position:relative;background:#05040A;overflow:hidden;color:#E9E3F5;}
.blockB .stars{position:absolute;inset:0;opacity:.62;z-index:0;
  background-image:radial-gradient(1.4px 1.4px at 12% 18%,#fff,transparent),radial-gradient(1.2px 1.2px at 68% 10%,#fff,transparent),
    radial-gradient(1.6px 1.6px at 38% 34%,#fff,transparent),radial-gradient(1.1px 1.1px at 88% 46%,#fff,transparent),
    radial-gradient(1.3px 1.3px at 22% 58%,#fff,transparent),radial-gradient(1px 1px at 57% 72%,#fff,transparent),
    radial-gradient(1.5px 1.5px at 79% 84%,#fff,transparent),radial-gradient(1.1px 1.1px at 6% 88%,#fff,transparent);}
.blockB .wrap{position:relative;z-index:3;}
.blockB h2{color:#fff;text-shadow:0 0 24px rgba(255,59,59,.45),0 0 64px rgba(123,61,245,.45);}
.blockB .eyebrow{color:#FF3B3B;} .blockB .sub{color:#BDB4D0;}

/* Both halves share one grid cell instead of being absolutely positioned, so
   the band grows with whichever side is taller. It used to be a fixed 660px
   box with overflow:hidden, which cut the copy off as soon as a reader applied
   their own text spacing (WCAG 1.4.12). */
.split{position:relative;width:100%;min-height:660px;margin-top:44px;isolation:isolate;
  display:grid;grid-template-areas:"split";}
@media(max-width:880px){.split{min-height:0;grid-template-areas:none;gap:14px;}}
.half{grid-area:split;position:relative;display:flex;align-items:center;text-decoration:none;color:inherit;overflow:hidden;
  transition:filter .4s ease;}
@media(max-width:880px){.half{grid-area:auto;}}
.sky{position:absolute;inset:0;z-index:1;pointer-events:none;}
.sky i{position:absolute;inset:0;background-repeat:repeat;animation:twinkle 4.6s ease-in-out infinite;}
.sky i:nth-child(1){background-image:
  radial-gradient(2.1px 2.1px at 14% 12%,#fff,transparent),radial-gradient(1.8px 1.8px at 63% 8%,#fff,transparent),
  radial-gradient(2.4px 2.4px at 34% 31%,#fff,transparent),radial-gradient(1.7px 1.7px at 86% 24%,#fff,transparent),
  radial-gradient(2.0px 2.0px at 8% 48%,#fff,transparent),radial-gradient(2.2px 2.2px at 71% 41%,#fff,transparent),
  radial-gradient(1.8px 1.8px at 47% 63%,#fff,transparent),radial-gradient(2.5px 2.5px at 92% 58%,#fff,transparent),
  radial-gradient(2.0px 2.0px at 22% 76%,#fff,transparent),radial-gradient(2.1px 2.1px at 58% 88%,#fff,transparent);
  opacity:1;}
.sky i:nth-child(2){background-image:
  radial-gradient(1.4px 1.4px at 27% 19%,#CFE9FF,transparent),radial-gradient(1.5px 1.5px at 52% 27%,#CFE9FF,transparent),
  radial-gradient(1.4px 1.4px at 75% 15%,#CFE9FF,transparent),radial-gradient(1.6px 1.6px at 17% 39%,#CFE9FF,transparent),
  radial-gradient(1.4px 1.4px at 41% 52%,#CFE9FF,transparent),radial-gradient(1.5px 1.5px at 88% 44%,#CFE9FF,transparent),
  radial-gradient(1.4px 1.4px at 12% 66%,#CFE9FF,transparent),radial-gradient(1.6px 1.6px at 66% 72%,#CFE9FF,transparent);
  opacity:.7;animation-delay:-1.7s;}
.sky i:nth-child(3){background-image:
  radial-gradient(3.6px 3.6px at 31% 22%,rgba(255,255,255,.95),transparent),
  radial-gradient(3.9px 3.9px at 82% 67%,rgba(255,255,255,.95),transparent),
  radial-gradient(3.3px 3.3px at 9% 57%,rgba(255,255,255,.9),transparent),
  radial-gradient(3.8px 3.8px at 61% 12%,rgba(255,255,255,.9),transparent);
  filter:blur(.5px);opacity:1;animation-duration:6.8s;animation-delay:-3.2s;}
@keyframes twinkle{0%,100%{opacity:1}45%{opacity:.42}70%{opacity:1}}
.shoot{position:absolute;width:150px;height:1.6px;border-radius:2px;z-index:1;pointer-events:none;opacity:0;
  background:linear-gradient(90deg,transparent,#fff);animation:shoot 9s linear infinite;}
.half.L .shoot{top:16%;left:-16%;transform:rotate(19deg);animation-delay:1.4s;}
.half.R .shoot{top:24%;left:-16%;transform:rotate(19deg);animation-delay:5.2s;}
@keyframes shoot{0%{opacity:0;transform:translate(0,0) rotate(19deg)}
  3%{opacity:1}14%{opacity:1}18%{opacity:0;transform:translate(74vw,26vh) rotate(19deg)}
  100%{opacity:0;transform:translate(74vw,26vh) rotate(19deg)}}
@media (prefers-reduced-motion:reduce){.sky i,.shoot{animation:none!important}.shoot{opacity:0}}
.half.L{clip-path:polygon(0 0, 57% 0, 43% 100%, 0 100%);justify-content:flex-start;padding:56px 4% 56px 5%;
  background:radial-gradient(58% 95% at 18% 50%, #45101D 0%, #170509 52%, #04030A 100%);}
.half.R{clip-path:polygon(57% 0, 100% 0, 100% 100%, 43% 100%);justify-content:flex-end;padding:56px 5% 56px 4%;
  background:radial-gradient(58% 95% at 82% 50%, #063344 0%, #05161F 52%, #04030A 100%);}
.half .seam{position:absolute;top:-12%;bottom:-12%;width:2px;background:linear-gradient(180deg,transparent,rgba(255,255,255,.5),transparent);}
.half.L .seam{right:0;transform:rotate(9.5deg);}
.half.R .seam{left:0;transform:rotate(9.5deg);}
@media(max-width:880px){
  .half{position:relative;clip-path:none!important;padding:34px 22px!important;border-radius:24px;justify-content:center!important;min-height:420px;}
  .half .seam{display:none}
}
.halfin{position:relative;z-index:4;display:flex;gap:22px;align-items:center;max-width:min(40%,520px);}
@media(max-width:1100px){.halfin{max-width:min(46%,460px)}}
@media(max-width:880px){.halfin{max-width:100%;flex-direction:column;text-align:center}}
.half.R .halfin{flex-direction:row-reverse;}
@media(max-width:880px){.half.R .halfin{flex-direction:column}}
.halfin > img{height:min(46vh,360px);flex:none;transition:transform .5s cubic-bezier(.2,.8,.2,1),filter .4s ease;}
.half.L .halfin > img{filter:drop-shadow(0 0 34px rgba(255,59,59,.4)) drop-shadow(0 22px 28px rgba(0,0,0,.7));}
.half.L:hover .halfin > img{filter:drop-shadow(0 0 56px rgba(255,59,59,.85)) drop-shadow(0 22px 28px rgba(0,0,0,.7));}
.half.R .halfin > img{filter:drop-shadow(0 0 34px rgba(53,214,255,.42)) drop-shadow(0 22px 28px rgba(0,0,0,.7));}
.half.R:hover .halfin > img{filter:drop-shadow(0 0 56px rgba(53,214,255,.9)) drop-shadow(0 22px 28px rgba(0,0,0,.7));}
.half:hover .halfin > img{transform:scale(1.08) translateY(-10px);}
.halfin h3{font-size:clamp(38px,5.2vw,62px);color:#fff;line-height:.86;}
.half.L .halfin h3{text-shadow:0 0 30px rgba(255,59,59,.55);}
.half.R .halfin h3{text-shadow:0 0 30px rgba(53,214,255,.55);}
.halfin .sp{display:flex;gap:6px;flex-wrap:wrap;margin-top:14px;}
.half.R .halfin .sp{justify-content:flex-end;}
@media(max-width:880px){.half .halfin .sp{justify-content:center}}
.halfin .sp span{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.2);color:#E9E3F5;}
.halfin .shop{display:inline-flex;align-items:center;gap:9px;margin-top:20px;font-family:var(--display);font-size:18px;letter-spacing:.09em;
  padding:12px 24px;border-radius:999px;color:#05040A;transition:transform .22s ease,box-shadow .22s ease;}
.half.L .halfin .shop{background:linear-gradient(100deg,#FF3B3B,#FF7A3B);box-shadow:0 10px 28px rgba(255,59,59,.35);}
.half.R .halfin .shop{background:linear-gradient(100deg,#35D6FF,#8BE04A);box-shadow:0 10px 28px rgba(53,214,255,.35);}
.half:hover .shop{transform:translateY(-3px);}
/* lightning */
.strike{position:absolute;inset:0;z-index:3;pointer-events:none;opacity:0;}
.strike svg{position:absolute;height:118%;top:-9%;width:auto;}
.half.L .strike svg{left:16%;} .half.R .strike svg{right:16%;transform:scaleX(-1);}
.strike path{fill:none;stroke-width:5.5;stroke-linecap:round;stroke-linejoin:round;}
.half.L .strike path{stroke:#FF4B4B;filter:drop-shadow(0 0 12px #FF3B3B) drop-shadow(0 0 34px #FF3B3B);}
.half.R .strike path{stroke:#5CE1FF;filter:drop-shadow(0 0 12px #35D6FF) drop-shadow(0 0 34px #35D6FF);}
.half:hover .strike{animation:bolt 1.15s steps(1,end) infinite;}
@keyframes bolt{0%{opacity:0}4%{opacity:1}9%{opacity:.15}13%{opacity:1}20%{opacity:0}26%{opacity:.85}30%{opacity:0}100%{opacity:0}}
.flash{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:0;mix-blend-mode:screen;}
.half.L .flash{background:radial-gradient(60% 80% at 24% 42%, rgba(255,59,59,.55), transparent 70%);}
.half.R .flash{background:radial-gradient(60% 80% at 76% 42%, rgba(53,214,255,.55), transparent 70%);}
.half:hover .flash{animation:bolt 1.15s steps(1,end) infinite;}
@media (prefers-reduced-motion:reduce){.half:hover .strike,.half:hover .flash{animation:none;opacity:.7}}
.charge{margin-top:26px;max-width:420px;}
.charge .lbl{display:flex;justify-content:space-between;font-size:11.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#9F97B5;}
.charge .track{height:9px;border-radius:99px;background:rgba(255,255,255,.09);margin-top:10px;overflow:hidden;}
.charge .track i{display:block;height:100%;width:0;border-radius:99px;background:linear-gradient(90deg,#35D6FF,#7B3DF5,#FF3B3B);
  transition:width 2.2s cubic-bezier(.2,.7,.2,1);box-shadow:0 0 18px rgba(53,214,255,.7);}

/* ===== KAVA — full width, radial callouts ===== */
.kava{position:relative;background:#fff;overflow:hidden;}
.kava .palm.pk{top:-12%;right:-10%;width:700px;color:#FF4D9D;opacity:.16;transform:scaleX(-1);}
.kava .palm.pk2{bottom:-18%;left:-12%;width:600px;color:#FF4D9D;opacity:.12;}
.kava .wrap{position:relative;z-index:2;}
.kava .htitle{text-align:center;font-size:clamp(38px,7vw,86px);}
.kava .htitle em{font-style:normal;color:var(--pink);}
.kava .swoosh{display:block;margin:6px auto 0;width:min(520px,80%);}
.kavagrid{display:grid;grid-template-columns:1fr auto 1fr;gap:26px;align-items:center;margin-top:34px;}
@media(max-width:960px){.kavagrid{grid-template-columns:1fr;gap:20px}}
.kcol{display:flex;flex-direction:column;gap:34px;}
.kitem{display:flex;gap:16px;align-items:flex-start;position:relative;}
.kitem .txt{position:relative;}
.kitem .txt::after{content:"";position:absolute;top:11px;height:1.5px;background:var(--pink);width:0;
  transition:width .7s cubic-bezier(.2,.8,.2,1);}
.kcol.left .kitem .txt::after{left:100%;margin-left:14px;}
.kcol.right .kitem .txt::after{right:100%;margin-right:14px;}
.kitem .txt::before{content:"";position:absolute;top:7.5px;width:8px;height:8px;border-radius:50%;background:var(--pink);
  opacity:0;transition:opacity .5s ease .5s;}
.kcol.left .kitem .txt::before{left:100%;margin-left:10px;}
.kcol.right .kitem .txt::before{right:100%;margin-right:10px;}
.kavagrid.lit .kcol.left .kitem .txt::after{width:clamp(20px,5vw,66px);}
.kavagrid.lit .kcol.right .kitem .txt::after{width:clamp(20px,5vw,66px);}
.kavagrid.lit .kitem .txt::before{opacity:1;}
@media(max-width:960px){.kitem .txt::after,.kitem .txt::before{display:none}}
.kcol.right .kitem{flex-direction:row-reverse;text-align:right;}
@media(max-width:960px){.kcol.right .kitem{flex-direction:row;text-align:left}}
.kicon{width:64px;height:64px;border-radius:50%;border:2px solid var(--pink);display:grid;place-items:center;flex:none;
  transition:transform .3s ease,background .3s ease;}
.kitem:hover .kicon{transform:scale(1.12) rotate(-6deg);background:#FFF0F6;}
.kicon svg{width:30px;height:30px;stroke:var(--pink);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.kitem :is(h3,h4){font-size:21px;color:var(--pink);letter-spacing:.02em;}
.kitem p{font-size:14.5px;color:var(--ink-2);margin:6px 0 0;max-width:30ch;}
.kcan{position:relative;display:grid;place-items:center;min-height:420px;}
.dial{position:absolute;width:min(400px,80vw);aspect-ratio:1;border-radius:50%;border:1.5px solid #FFC9DE;
  animation:spin 44s linear infinite;}
.dial::before{content:"";position:absolute;inset:16px;border-radius:50%;
  background:repeating-conic-gradient(from 0deg,#FFC9DE 0deg 0.5deg,transparent 0.5deg 4deg);
  -webkit-mask:radial-gradient(circle,transparent 0 46%,#000 46% 50%,transparent 50%);
          mask:radial-gradient(circle,transparent 0 46%,#000 46% 50%,transparent 50%);}
@keyframes spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.dial{animation:none}}
.kcan img{position:relative;z-index:2;height:min(56vh,420px);filter:drop-shadow(0 26px 32px rgba(255,77,157,.28));
  animation:bob 6.5s ease-in-out infinite;}
.kavafoot{text-align:center;margin-top:30px;padding-top:26px;border-top:1px solid #FFE1EC;}

/* ===== MAGNOLIA — full width split ===== */
.mag{position:relative;overflow:hidden;background:linear-gradient(180deg,#F2FBFF,#FFFFFF 60%);}
.mag .palm.pm{bottom:-22%;right:-10%;width:700px;color:#2E8B6B;opacity:.15;}
.maggrid{display:grid;grid-template-columns:1.02fr 1fr;gap:0;align-items:stretch;position:relative;z-index:2;}
@media(max-width:960px){.maggrid{grid-template-columns:1fr}}
.magleft{position:relative;background:linear-gradient(170deg,#BFE6F8,#E9F7FF 70%);padding:46px 34px;display:flex;gap:24px;align-items:center;}
@media(max-width:600px){.magleft{flex-direction:column;padding:32px 22px}}
.magphoto{flex:1 1 52%;align-self:stretch;min-height:460px;border-radius:22px;overflow:hidden;position:relative;
  box-shadow:0 24px 54px rgba(14,74,99,.2);}
.magphoto img{width:100%;height:100%;min-height:460px;object-fit:cover;object-position:50% 46%;display:block;}
@media(max-width:600px){.magphoto,.magphoto img{min-height:380px;}}
.ingr{flex:1 1 40%;display:flex;flex-direction:column;gap:22px;}
.ing{display:flex;gap:14px;align-items:center;}
.ingball{width:86px;height:86px;border-radius:50%;flex:none;display:grid;place-items:center;
  box-shadow:0 10px 24px rgba(14,74,99,.16);animation:float 7s ease-in-out infinite;}
.ing:nth-child(2) .ingball{animation-delay:-2.3s}
.ing:nth-child(3) .ingball{animation-delay:-4.6s}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-11px)}}
.ingball svg{width:44px;height:44px;}
.ing :is(h3,h4){font-size:20px;color:#0E4A63;}
.ing :is(h3,h4) b{font-weight:400;color:#2E93BE;display:block;font-size:15px;letter-spacing:.1em;}
.ing p{font-size:13.5px;color:#3D6275;margin:5px 0 0;max-width:28ch;}
.magright{padding:52px 40px;display:flex;flex-direction:column;justify-content:center;}
@media(max-width:600px){.magright{padding:36px 22px}}
.magright .fk{font-size:12.5px;font-weight:800;letter-spacing:.3em;color:var(--pink);text-transform:uppercase;}
.magright h2{font-size:clamp(42px,6.4vw,78px);color:var(--ink);line-height:.88;margin-top:10px;}
.magright h2 em{font-style:normal;display:block;background:linear-gradient(96deg,#35C9E8,#9BE04A);
  -webkit-background-clip:text;background-clip:text;color:transparent;}
.magrule{height:2px;background:linear-gradient(90deg,#BFE6F8,#D6F0B8);margin:22px 0;position:relative;}
.magrule::after{content:"";position:absolute;left:50%;top:-4px;width:10px;height:10px;transform:translateX(-50%) rotate(45deg);background:#35C9E8;}
.magright .hook{font-size:22px;font-weight:600;color:var(--ink);}
.magright .hook em{font-style:normal;color:#1FA8C9;}
.magright p.body{font-size:16px;color:var(--ink-2);margin-top:14px;max-width:46ch;}
.magicons{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:28px;}
.magicons div{text-align:center;padding-inline:6px;border-left:1px solid #DCEEF8;}
.magicons div:first-child{border-left:0;}
.magicons svg{width:40px;height:40px;stroke:#1FA8C9;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;margin-bottom:8px;}
.magicons span{font-size:10.5px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-2);line-height:1.4;display:block;}
.magright .btn{margin-top:26px;align-self:flex-start;background:linear-gradient(100deg,#35C9E8,#9BE04A);color:#fff;box-shadow:0 10px 26px rgba(53,201,232,.32);}

/* locator / club / footer */
.locator{position:relative;overflow:hidden;background:radial-gradient(110% 100% at 18% 0%,#2A0B45 0%,#140627 50%,#07030F 100%);}
.locator::before{content:"";position:absolute;inset:0;opacity:.4;
  background-image:radial-gradient(circle, rgba(255,255,255,.22) 1px, transparent 1.2px);background-size:28px 28px;
  -webkit-mask:radial-gradient(70% 80% at 30% 50%, #000, transparent 78%);mask:radial-gradient(70% 80% at 30% 50%, #000, transparent 78%);}
.locator .palm.pl{top:-20%;left:-10%;width:800px;color:#E7D4FF;opacity:.075;}
.loc-in{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .95fr;gap:36px;align-items:center;padding-block:86px;}
@media(max-width:880px){.loc-in{grid-template-columns:1fr}}
.locator h2{color:#fff;text-shadow:0 0 34px rgba(255,77,157,.4);} .locator .sub{color:#C6BDDA;} .locator .eyebrow{color:var(--pink);}
.zip{display:flex;gap:9px;margin-top:26px;flex-wrap:wrap;}
.zip input{flex:1 1 200px;min-width:0;padding:15px 20px;border-radius:999px;border:2px solid rgba(255,255,255,.6);
  background:rgba(255,255,255,.16);color:#fff;font-family:var(--body);font-size:15px;font-weight:600;}
.zip input::placeholder{color:rgba(255,255,255,.72);}
.zip input:focus{outline:none;border-color:#fff;background:rgba(255,255,255,.26);}
.zip button{font-family:var(--display);font-size:17px;letter-spacing:.09em;padding:15px 30px;border-radius:999px;border:0;cursor:pointer;color:#fff;background:linear-gradient(100deg,var(--purple),var(--pink));box-shadow:0 10px 28px rgba(255,77,157,.34);}
.bignum{font-family:var(--display);font-size:clamp(94px,18vw,190px);line-height:.8;text-align:center;background:linear-gradient(95deg,var(--pink),var(--purple));-webkit-background-clip:text;background-clip:text;color:transparent;}
.bignum small{display:block;font-family:var(--body);font-size:12px;font-weight:700;letter-spacing:.18em;color:#C6BDDA;-webkit-text-fill-color:#C6BDDA;margin-top:14px;}
.club{position:relative;overflow:hidden;background:linear-gradient(110deg,#1A0A2E,#2A0B45 52%,#0C2A3A);}
.club .palm.pc{bottom:-26%;left:-8%;width:700px;color:#FFD9EC;opacity:.07;}
.club-in{text-align:center;max-width:660px;margin:0 auto;position:relative;z-index:2;padding-block:80px;}
.club h2{color:#fff;} .club .sub{color:#C6BDDA;margin-inline:auto;} .club .eyebrow{color:var(--pink);}
.club .zip input{border-color:rgba(255,255,255,.4);background:rgba(255,255,255,.08);color:#fff;}
.club .zip input::placeholder{color:#9C93B4;}
.club .zip button{background:linear-gradient(100deg,var(--pink),var(--orange));color:#fff;}
footer{background:var(--navy);color:#928DA2;padding-block:52px 34px;font-size:13.5px;}
.fc{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:28px;}
footer :is(h2,h4){font-family:var(--display);font-size:15px;letter-spacing:.14em;color:var(--cream);margin:0 0 12px;}
footer a{color:#928DA2;text-decoration:none;display:block;padding:3.5px 0;}
footer a:hover{color:var(--pink);}
.legal{border-top:1px solid #262233;margin-top:34px;padding-top:22px;font-size:11.5px;color:#9E93B8;line-height:1.75;}
.pillbadge{display:inline-block;font-family:var(--display);font-size:14px;letter-spacing:.14em;color:var(--pink);
  border:1.6px solid var(--pink);padding:3px 12px;border-radius:999px;margin-bottom:12px;}
@media(max-width:800px){}

/* ============================================================
   Shared chrome + interior pages (v1.5)
   ============================================================ */

.skip{position:absolute;left:-9999px;top:0;z-index:999;background:var(--pink);color:#fff;
  padding:12px 20px;font-family:var(--display);letter-spacing:.1em;text-decoration:none;}
.skip:focus{left:0;}

/* nav tail: shop button + burger */
.nav-end{display:flex;align-items:center;gap:12px;}
.navtog{display:none;width:44px;height:40px;border:0;border-radius:12px;cursor:pointer;
  background:rgba(255,255,255,.09);padding:0;place-items:center;gap:5px;flex-direction:column;}
.navtog i{display:block;width:19px;height:2px;border-radius:2px;background:var(--mist);transition:transform .22s ease,opacity .22s ease;}
.navtog[aria-expanded="true"] i:nth-child(1){transform:translateY(7px) rotate(45deg);}
.navtog[aria-expanded="true"] i:nth-child(2){opacity:0;}
.navtog[aria-expanded="true"] i:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

@media(max-width:980px){
  .navtog{display:flex;}
  .nl{display:none;position:absolute;top:100%;left:0;right:0;z-index:20;
    flex-direction:column;gap:0;padding:8px 0 14px;background:rgba(10,7,20,.97);
    border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1);
    backdrop-filter:blur(10px);}
  .nl.open{display:flex;}
  .nl a{padding:13px 20px;opacity:1;font-size:13.5px;}
  .nl a+a{border-top:1px solid rgba(255,255,255,.07);}
}
@media(max-width:520px){
  .nav-end .btn-sm{font-size:13px;padding:9px 15px;}
  .nav-end .btn-sm .cartglyph{display:none;}
}

/* palm rendered from the asset file, so interior pages need no inline sprite */
/* The frond is inlined rather than fetched: a masked external SVG is
   blocked on some origins, which left these palms invisible. */
.palm.mp,.palm.pc,.palm.ph{background-color:currentColor;aspect-ratio:1/1;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 600 600%22%3E%3Cpath d=%22M592.1,598.4 L586.5,567.2 L580.5,537.0 L573.9,507.7 L566.8,479.4 L559.2,452.1 L551.1,425.8 L542.6,400.5 L533.5,376.2 L524.0,352.9 L513.9,330.6 L503.4,309.3 L492.4,289.1 L481.0,269.9 L469.1,251.8 L456.7,234.8 L443.9,218.8 L430.6,203.9 L416.9,190.2 L402.8,177.5 L388.2,165.9 L373.2,155.5 L357.9,146.2 L342.1,138.0 L325.9,131.0 L309.3,125.2 L292.3,120.5 L275.0,117.0 L257.3,114.7 L239.2,113.5 L220.8,113.5 L202.1,114.7 L183.0,117.1 L163.5,120.7 L143.7,125.4 L123.6,131.4 L103.1,138.6 L82.2,147.0 L61.1,156.6 L39.6,167.4 L17.7,179.5 L18.3,180.5 L40.2,168.6 L61.8,158.0 L83.0,148.7 L103.8,140.6 L124.3,133.8 L144.4,128.2 L164.1,123.8 L183.5,120.6 L202.4,118.6 L220.9,117.9 L239.0,118.3 L256.7,119.8 L274.0,122.6 L290.8,126.4 L307.2,131.4 L323.2,137.6 L338.7,144.8 L353.9,153.1 L368.5,162.6 L382.8,173.1 L396.6,184.7 L409.9,197.3 L422.9,211.1 L435.4,225.9 L447.4,241.7 L459.0,258.6 L470.1,276.5 L480.8,295.5 L491.1,315.5 L500.8,336.6 L510.1,358.6 L518.9,381.7 L527.3,405.7 L535.2,430.8 L542.5,456.8 L549.4,483.8 L555.8,511.8 L561.7,540.8 L567.1,570.7 L571.9,601.6 Z M568.6,527.1 C604.1,512.0 646.3,469.4 663.9,432.2 C639.3,457.6 587.2,497.1 568.6,527.1 Z M568.6,527.1 C546.9,534.6 512.4,529.6 492.9,520.2 C511.6,519.9 549.6,518.6 568.6,527.1 Z M561.4,495.0 C598.4,477.1 641.5,429.6 658.5,388.8 C633.4,417.5 579.8,462.1 561.4,495.0 Z M561.4,495.0 C538.3,503.3 501.4,498.6 480.4,488.8 C500.4,488.2 540.9,486.3 561.4,495.0 Z M553.5,464.1 C591.7,443.3 634.7,391.1 650.8,346.9 C625.7,378.8 571.3,428.5 553.5,464.1 Z M553.5,464.1 C529.3,473.2 490.2,469.0 467.9,459.1 C488.9,458.1 531.7,455.3 553.5,464.1 Z M545.0,434.4 C583.8,410.8 626.2,354.0 640.8,306.6 C616.2,341.6 561.9,396.4 545.0,434.4 Z M545.0,434.4 C519.9,444.4 478.9,440.8 455.3,430.8 C477.3,429.5 522.0,425.7 545.0,434.4 Z M535.9,406.0 C574.8,379.4 615.8,318.4 628.6,268.0 C604.8,306.1 551.4,365.7 535.9,406.0 Z M535.9,406.0 C510.1,416.9 467.5,414.1 442.6,404.2 C465.6,402.4 511.8,397.5 535.9,406.0 Z M526.2,378.8 C564.7,349.3 603.6,284.3 614.1,231.3 C591.7,272.3 540.0,336.5 526.2,378.8 Z M526.2,378.8 C499.8,390.6 455.9,388.8 430.0,379.2 C453.6,376.9 501.1,370.6 526.2,378.8 Z M515.8,352.9 C553.6,320.6 589.7,251.9 597.5,196.7 C576.9,240.3 527.6,308.9 515.8,352.9 Z M515.8,352.9 C489.2,365.7 444.2,365.0 417.4,355.8 C441.6,352.9 490.0,345.2 515.8,352.9 Z M504.9,328.2 C541.3,293.2 574.0,221.4 578.8,164.3 C560.3,210.3 514.3,282.9 504.9,328.2 Z M504.9,328.2 C478.2,342.0 432.4,342.7 404.8,334.1 C429.3,330.5 478.4,321.2 504.9,328.2 Z M493.4,304.9 C528.0,267.2 556.6,192.7 558.0,134.2 C542.2,182.4 500.1,258.5 493.4,304.9 Z M493.4,304.9 C466.8,319.7 420.4,321.8 392.2,314.0 C417.0,309.6 466.3,298.7 493.4,304.9 Z M481.3,282.8 C513.7,242.8 537.7,166.0 535.3,106.7 C522.5,156.6 485.1,235.8 481.3,282.8 Z M481.3,282.8 C455.0,298.6 408.5,302.4 379.7,295.4 C404.6,290.2 453.8,277.5 481.3,282.8 Z M468.6,262.1 C498.3,219.9 517.2,141.6 510.9,81.8 C501.4,133.1 469.3,214.8 468.6,262.1 Z M468.6,262.1 C442.9,278.9 396.4,284.5 367.2,278.5 C392.0,272.4 440.9,257.8 468.6,262.1 Z M455.3,242.7 C482.0,198.6 495.3,119.4 484.8,59.9 C479.0,112.1 452.7,195.6 455.3,242.7 Z M455.3,242.7 C430.4,260.5 384.3,267.9 354.9,263.2 C379.5,256.1 427.6,239.6 455.3,242.7 Z M441.5,224.6 C464.7,179.0 472.1,99.6 457.3,40.9 C455.4,93.5 435.5,178.1 441.5,224.6 Z M441.5,224.6 C417.5,243.4 372.2,252.8 342.7,249.4 C366.8,241.3 413.8,222.7 441.5,224.6 Z M427.1,207.8 C446.5,161.2 447.8,82.3 428.6,25.1 C430.9,77.7 417.6,162.5 427.1,207.8 Z M427.1,207.8 C404.4,227.6 360.0,239.1 330.7,237.0 C354.2,227.9 399.7,207.3 427.1,207.8 Z M412.1,192.5 C427.5,145.2 422.5,67.7 399.1,12.6 C405.5,64.5 399.2,148.8 412.1,192.5 Z M412.1,192.5 C390.8,213.0 347.8,226.6 318.8,226.0 C341.5,215.9 385.2,193.4 412.1,192.5 Z M396.6,178.5 C407.8,131.0 396.5,55.8 368.9,3.5 C379.6,54.1 380.4,136.9 396.6,178.5 Z M396.6,178.5 C376.9,199.8 335.6,215.3 307.1,216.3 C328.9,205.2 370.3,180.8 396.6,178.5 Z M380.6,165.8 C387.4,118.8 370.0,46.7 338.6,-2.3 C353.4,46.4 361.3,126.8 380.6,165.8 Z M380.6,165.8 C362.6,187.7 323.3,205.2 295.5,207.8 C316.2,195.8 355.1,169.6 380.6,165.8 Z M364.0,154.6 C366.5,108.5 343.4,40.3 308.5,-4.7 C327.3,41.5 341.9,118.6 364.0,154.6 Z M364.0,154.6 C348.0,176.9 310.9,196.2 284.0,200.3 C303.4,187.5 339.5,159.7 364.0,154.6 Z M346.9,144.7 C345.2,100.2 316.9,36.7 279.0,-3.9 C301.4,39.3 322.3,112.1 346.9,144.7 Z M346.9,144.7 C332.8,167.3 298.3,188.2 272.6,193.8 C290.5,180.2 323.6,151.2 346.9,144.7 Z M329.3,136.3 C323.7,93.8 290.7,35.6 250.5,-0.2 C276.1,39.6 302.8,107.3 329.3,136.3 Z M329.3,136.3 C317.2,158.8 285.5,181.1 261.0,188.1 C277.4,173.9 307.3,144.0 329.3,136.3 Z M311.1,129.3 C301.9,89.3 265.2,37.0 223.4,6.2 C251.7,42.1 283.2,104.2 311.1,129.3 Z M311.1,129.3 C301.1,151.6 272.2,174.9 249.3,183.1 C264.1,168.5 290.7,138.0 311.1,129.3 Z M292.5,123.7 C280.2,86.7 240.6,40.5 197.9,14.9 C228.2,46.6 263.7,102.5 292.5,123.7 Z M292.5,123.7 C284.5,145.6 258.5,169.5 237.2,178.8 C250.3,163.9 273.6,133.3 292.5,123.7 Z M273.3,119.6 C258.5,85.8 217.1,45.9 174.3,25.4 C205.9,52.9 244.3,102.3 273.3,119.6 Z M273.3,119.6 C267.2,140.7 244.2,165.0 224.6,175.1 C236.1,160.2 256.1,129.8 273.3,119.6 Z M253.7,116.9 C236.8,86.6 194.6,53.0 152.5,37.4 C184.7,60.5 224.9,103.3 253.7,116.9 Z M253.7,116.9 C249.3,137.1 229.3,161.2 211.4,171.9 C221.3,157.2 238.1,127.5 253.7,116.9 Z M233.5,115.7 C215.4,88.9 173.3,61.4 132.5,50.3 C164.6,69.3 205.7,105.6 233.5,115.7 Z M233.5,115.7 C230.7,134.8 213.5,158.4 197.4,169.4 C205.8,155.1 219.6,126.4 233.5,115.7 Z M212.9,116.0 C194.0,92.7 153.0,70.9 114.2,63.9 C145.6,79.0 186.4,109.1 212.9,116.0 Z M212.9,116.0 C211.4,133.8 196.9,156.5 182.5,167.6 C189.5,153.9 200.6,126.6 212.9,116.0 Z M191.8,117.7 C172.8,97.9 133.6,81.3 97.4,77.9 C127.5,89.4 167.0,113.6 191.8,117.7 Z M191.8,117.7 C191.5,134.1 179.3,155.7 166.7,166.5 C172.4,153.6 181.1,128.1 191.8,117.7 Z M170.2,121.0 C151.6,104.4 115.1,92.4 81.9,92.0 C110.1,100.3 147.5,119.2 170.2,121.0 Z M170.2,121.0 C170.8,135.9 160.9,155.9 149.9,166.3 C154.4,154.3 161.0,130.8 170.2,121.0 Z M148.2,125.8 C130.5,112.2 97.2,104.1 67.4,106.1 C93.3,111.7 127.8,125.9 148.2,125.8 Z M148.2,125.8 C149.5,139.0 141.5,157.3 132.1,167.1 C135.6,156.1 140.3,134.9 148.2,125.8 Z M125.7,132.0 C109.4,121.2 79.8,116.4 53.7,120.1 C76.8,123.4 107.9,133.7 125.7,132.0 Z M125.7,132.0 C127.5,143.6 121.2,159.9 113.3,168.9 C115.9,159.1 119.1,140.4 125.7,132.0 Z M102.7,139.9 C88.2,131.5 62.7,129.3 40.6,134.1 C60.6,135.6 87.7,142.5 102.7,139.9 Z M102.7,139.9 C104.8,149.7 100.1,163.8 93.5,171.7 C95.3,163.3 97.3,147.2 102.7,139.9 Z M79.3,149.2 C67.0,142.9 46.0,142.6 28.0,147.9 C44.6,148.2 67.1,152.5 79.3,149.2 Z M79.3,149.2 C81.5,157.3 78.1,169.0 72.8,175.7 C73.9,168.7 74.9,155.4 79.3,149.2 Z M55.4,160.2 C45.8,155.6 29.7,156.5 16.1,161.7 C28.9,161.2 46.3,163.5 55.4,160.2 Z M55.4,160.2 C57.6,166.3 55.2,175.3 51.2,180.6 C51.8,175.1 52.1,164.9 55.4,160.2 Z M31.2,172.7 C25.2,169.7 15.5,171.0 7.5,175.0 C15.3,174.5 25.8,175.4 31.2,172.7 Z M31.2,172.7 C33.0,176.3 31.6,181.8 29.0,185.0 C29.1,181.7 28.9,175.6 31.2,172.7 Z%22 fill=%22currentColor%22 fill-rule=%22nonzero%22/%3E%3C/svg%3E") no-repeat center/contain;
  mask:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 600 600%22%3E%3Cpath d=%22M592.1,598.4 L586.5,567.2 L580.5,537.0 L573.9,507.7 L566.8,479.4 L559.2,452.1 L551.1,425.8 L542.6,400.5 L533.5,376.2 L524.0,352.9 L513.9,330.6 L503.4,309.3 L492.4,289.1 L481.0,269.9 L469.1,251.8 L456.7,234.8 L443.9,218.8 L430.6,203.9 L416.9,190.2 L402.8,177.5 L388.2,165.9 L373.2,155.5 L357.9,146.2 L342.1,138.0 L325.9,131.0 L309.3,125.2 L292.3,120.5 L275.0,117.0 L257.3,114.7 L239.2,113.5 L220.8,113.5 L202.1,114.7 L183.0,117.1 L163.5,120.7 L143.7,125.4 L123.6,131.4 L103.1,138.6 L82.2,147.0 L61.1,156.6 L39.6,167.4 L17.7,179.5 L18.3,180.5 L40.2,168.6 L61.8,158.0 L83.0,148.7 L103.8,140.6 L124.3,133.8 L144.4,128.2 L164.1,123.8 L183.5,120.6 L202.4,118.6 L220.9,117.9 L239.0,118.3 L256.7,119.8 L274.0,122.6 L290.8,126.4 L307.2,131.4 L323.2,137.6 L338.7,144.8 L353.9,153.1 L368.5,162.6 L382.8,173.1 L396.6,184.7 L409.9,197.3 L422.9,211.1 L435.4,225.9 L447.4,241.7 L459.0,258.6 L470.1,276.5 L480.8,295.5 L491.1,315.5 L500.8,336.6 L510.1,358.6 L518.9,381.7 L527.3,405.7 L535.2,430.8 L542.5,456.8 L549.4,483.8 L555.8,511.8 L561.7,540.8 L567.1,570.7 L571.9,601.6 Z M568.6,527.1 C604.1,512.0 646.3,469.4 663.9,432.2 C639.3,457.6 587.2,497.1 568.6,527.1 Z M568.6,527.1 C546.9,534.6 512.4,529.6 492.9,520.2 C511.6,519.9 549.6,518.6 568.6,527.1 Z M561.4,495.0 C598.4,477.1 641.5,429.6 658.5,388.8 C633.4,417.5 579.8,462.1 561.4,495.0 Z M561.4,495.0 C538.3,503.3 501.4,498.6 480.4,488.8 C500.4,488.2 540.9,486.3 561.4,495.0 Z M553.5,464.1 C591.7,443.3 634.7,391.1 650.8,346.9 C625.7,378.8 571.3,428.5 553.5,464.1 Z M553.5,464.1 C529.3,473.2 490.2,469.0 467.9,459.1 C488.9,458.1 531.7,455.3 553.5,464.1 Z M545.0,434.4 C583.8,410.8 626.2,354.0 640.8,306.6 C616.2,341.6 561.9,396.4 545.0,434.4 Z M545.0,434.4 C519.9,444.4 478.9,440.8 455.3,430.8 C477.3,429.5 522.0,425.7 545.0,434.4 Z M535.9,406.0 C574.8,379.4 615.8,318.4 628.6,268.0 C604.8,306.1 551.4,365.7 535.9,406.0 Z M535.9,406.0 C510.1,416.9 467.5,414.1 442.6,404.2 C465.6,402.4 511.8,397.5 535.9,406.0 Z M526.2,378.8 C564.7,349.3 603.6,284.3 614.1,231.3 C591.7,272.3 540.0,336.5 526.2,378.8 Z M526.2,378.8 C499.8,390.6 455.9,388.8 430.0,379.2 C453.6,376.9 501.1,370.6 526.2,378.8 Z M515.8,352.9 C553.6,320.6 589.7,251.9 597.5,196.7 C576.9,240.3 527.6,308.9 515.8,352.9 Z M515.8,352.9 C489.2,365.7 444.2,365.0 417.4,355.8 C441.6,352.9 490.0,345.2 515.8,352.9 Z M504.9,328.2 C541.3,293.2 574.0,221.4 578.8,164.3 C560.3,210.3 514.3,282.9 504.9,328.2 Z M504.9,328.2 C478.2,342.0 432.4,342.7 404.8,334.1 C429.3,330.5 478.4,321.2 504.9,328.2 Z M493.4,304.9 C528.0,267.2 556.6,192.7 558.0,134.2 C542.2,182.4 500.1,258.5 493.4,304.9 Z M493.4,304.9 C466.8,319.7 420.4,321.8 392.2,314.0 C417.0,309.6 466.3,298.7 493.4,304.9 Z M481.3,282.8 C513.7,242.8 537.7,166.0 535.3,106.7 C522.5,156.6 485.1,235.8 481.3,282.8 Z M481.3,282.8 C455.0,298.6 408.5,302.4 379.7,295.4 C404.6,290.2 453.8,277.5 481.3,282.8 Z M468.6,262.1 C498.3,219.9 517.2,141.6 510.9,81.8 C501.4,133.1 469.3,214.8 468.6,262.1 Z M468.6,262.1 C442.9,278.9 396.4,284.5 367.2,278.5 C392.0,272.4 440.9,257.8 468.6,262.1 Z M455.3,242.7 C482.0,198.6 495.3,119.4 484.8,59.9 C479.0,112.1 452.7,195.6 455.3,242.7 Z M455.3,242.7 C430.4,260.5 384.3,267.9 354.9,263.2 C379.5,256.1 427.6,239.6 455.3,242.7 Z M441.5,224.6 C464.7,179.0 472.1,99.6 457.3,40.9 C455.4,93.5 435.5,178.1 441.5,224.6 Z M441.5,224.6 C417.5,243.4 372.2,252.8 342.7,249.4 C366.8,241.3 413.8,222.7 441.5,224.6 Z M427.1,207.8 C446.5,161.2 447.8,82.3 428.6,25.1 C430.9,77.7 417.6,162.5 427.1,207.8 Z M427.1,207.8 C404.4,227.6 360.0,239.1 330.7,237.0 C354.2,227.9 399.7,207.3 427.1,207.8 Z M412.1,192.5 C427.5,145.2 422.5,67.7 399.1,12.6 C405.5,64.5 399.2,148.8 412.1,192.5 Z M412.1,192.5 C390.8,213.0 347.8,226.6 318.8,226.0 C341.5,215.9 385.2,193.4 412.1,192.5 Z M396.6,178.5 C407.8,131.0 396.5,55.8 368.9,3.5 C379.6,54.1 380.4,136.9 396.6,178.5 Z M396.6,178.5 C376.9,199.8 335.6,215.3 307.1,216.3 C328.9,205.2 370.3,180.8 396.6,178.5 Z M380.6,165.8 C387.4,118.8 370.0,46.7 338.6,-2.3 C353.4,46.4 361.3,126.8 380.6,165.8 Z M380.6,165.8 C362.6,187.7 323.3,205.2 295.5,207.8 C316.2,195.8 355.1,169.6 380.6,165.8 Z M364.0,154.6 C366.5,108.5 343.4,40.3 308.5,-4.7 C327.3,41.5 341.9,118.6 364.0,154.6 Z M364.0,154.6 C348.0,176.9 310.9,196.2 284.0,200.3 C303.4,187.5 339.5,159.7 364.0,154.6 Z M346.9,144.7 C345.2,100.2 316.9,36.7 279.0,-3.9 C301.4,39.3 322.3,112.1 346.9,144.7 Z M346.9,144.7 C332.8,167.3 298.3,188.2 272.6,193.8 C290.5,180.2 323.6,151.2 346.9,144.7 Z M329.3,136.3 C323.7,93.8 290.7,35.6 250.5,-0.2 C276.1,39.6 302.8,107.3 329.3,136.3 Z M329.3,136.3 C317.2,158.8 285.5,181.1 261.0,188.1 C277.4,173.9 307.3,144.0 329.3,136.3 Z M311.1,129.3 C301.9,89.3 265.2,37.0 223.4,6.2 C251.7,42.1 283.2,104.2 311.1,129.3 Z M311.1,129.3 C301.1,151.6 272.2,174.9 249.3,183.1 C264.1,168.5 290.7,138.0 311.1,129.3 Z M292.5,123.7 C280.2,86.7 240.6,40.5 197.9,14.9 C228.2,46.6 263.7,102.5 292.5,123.7 Z M292.5,123.7 C284.5,145.6 258.5,169.5 237.2,178.8 C250.3,163.9 273.6,133.3 292.5,123.7 Z M273.3,119.6 C258.5,85.8 217.1,45.9 174.3,25.4 C205.9,52.9 244.3,102.3 273.3,119.6 Z M273.3,119.6 C267.2,140.7 244.2,165.0 224.6,175.1 C236.1,160.2 256.1,129.8 273.3,119.6 Z M253.7,116.9 C236.8,86.6 194.6,53.0 152.5,37.4 C184.7,60.5 224.9,103.3 253.7,116.9 Z M253.7,116.9 C249.3,137.1 229.3,161.2 211.4,171.9 C221.3,157.2 238.1,127.5 253.7,116.9 Z M233.5,115.7 C215.4,88.9 173.3,61.4 132.5,50.3 C164.6,69.3 205.7,105.6 233.5,115.7 Z M233.5,115.7 C230.7,134.8 213.5,158.4 197.4,169.4 C205.8,155.1 219.6,126.4 233.5,115.7 Z M212.9,116.0 C194.0,92.7 153.0,70.9 114.2,63.9 C145.6,79.0 186.4,109.1 212.9,116.0 Z M212.9,116.0 C211.4,133.8 196.9,156.5 182.5,167.6 C189.5,153.9 200.6,126.6 212.9,116.0 Z M191.8,117.7 C172.8,97.9 133.6,81.3 97.4,77.9 C127.5,89.4 167.0,113.6 191.8,117.7 Z M191.8,117.7 C191.5,134.1 179.3,155.7 166.7,166.5 C172.4,153.6 181.1,128.1 191.8,117.7 Z M170.2,121.0 C151.6,104.4 115.1,92.4 81.9,92.0 C110.1,100.3 147.5,119.2 170.2,121.0 Z M170.2,121.0 C170.8,135.9 160.9,155.9 149.9,166.3 C154.4,154.3 161.0,130.8 170.2,121.0 Z M148.2,125.8 C130.5,112.2 97.2,104.1 67.4,106.1 C93.3,111.7 127.8,125.9 148.2,125.8 Z M148.2,125.8 C149.5,139.0 141.5,157.3 132.1,167.1 C135.6,156.1 140.3,134.9 148.2,125.8 Z M125.7,132.0 C109.4,121.2 79.8,116.4 53.7,120.1 C76.8,123.4 107.9,133.7 125.7,132.0 Z M125.7,132.0 C127.5,143.6 121.2,159.9 113.3,168.9 C115.9,159.1 119.1,140.4 125.7,132.0 Z M102.7,139.9 C88.2,131.5 62.7,129.3 40.6,134.1 C60.6,135.6 87.7,142.5 102.7,139.9 Z M102.7,139.9 C104.8,149.7 100.1,163.8 93.5,171.7 C95.3,163.3 97.3,147.2 102.7,139.9 Z M79.3,149.2 C67.0,142.9 46.0,142.6 28.0,147.9 C44.6,148.2 67.1,152.5 79.3,149.2 Z M79.3,149.2 C81.5,157.3 78.1,169.0 72.8,175.7 C73.9,168.7 74.9,155.4 79.3,149.2 Z M55.4,160.2 C45.8,155.6 29.7,156.5 16.1,161.7 C28.9,161.2 46.3,163.5 55.4,160.2 Z M55.4,160.2 C57.6,166.3 55.2,175.3 51.2,180.6 C51.8,175.1 52.1,164.9 55.4,160.2 Z M31.2,172.7 C25.2,169.7 15.5,171.0 7.5,175.0 C15.3,174.5 25.8,175.4 31.2,172.7 Z M31.2,172.7 C33.0,176.3 31.6,181.8 29.0,185.0 C29.1,181.7 28.9,175.6 31.2,172.7 Z%22 fill=%22currentColor%22 fill-rule=%22nonzero%22/%3E%3C/svg%3E") no-repeat center/contain;
  animation:sway 13s ease-in-out infinite;transform-origin:90% 95%;}
@media (prefers-reduced-motion:reduce){.palm.mp,.palm.pc,.palm.ph{animation:none}}

/* ---- interior page header (nav lives inside it) ---- */
/* Reuses the homepage aurora and dot matrix so the chrome feels continuous;
   only the intensity changes, so headline text stays readable. */
.pagehead{position:relative;overflow:hidden;background:var(--night);color:var(--mist);
  padding-bottom:80px;}
.pagehead .aur{opacity:.52;filter:blur(72px);}
.pagehead .dots{opacity:.34;}
.pagehead::before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;
  background:linear-gradient(180deg,rgba(10,7,20,.34),rgba(10,7,20,.06) 34%,rgba(10,7,20,.62));}
.pagehead .palm.ph{bottom:-44%;left:-9%;width:600px;color:#FFD9EC;opacity:.07;}
.pagehead .wrap{position:relative;z-index:3;}
.pagehead nav{padding-block:18px;}
.pagehead-in{padding-top:38px;}
/* bleed pages open centred, so the hero matches the bands below it */
.pagehead.is-center .pagehead-in{text-align:center;display:flex;flex-direction:column;align-items:center;}
.pagehead.is-center h1{max-width:16ch;margin-inline:auto;}
.pagehead.is-center .lede{margin-inline:auto;}
.pagehead.is-center .crumb{justify-content:center;}
.pagehead .eyebrow{color:var(--pink);}
.pagehead h1{font-size:clamp(44px,7.4vw,88px);color:#fff;margin-top:10px;max-width:18ch;
  text-shadow:0 4px 40px rgba(10,7,20,.5);}
.pagehead .lede{color:var(--mist-2);max-width:58ch;margin:20px 0 0;font-size:17.5px;line-height:1.62;}
@media(max-width:700px){.pagehead{padding-bottom:56px}.pagehead-in{padding-top:26px}}
.crumb{display:flex;gap:8px;align-items:center;font-size:12px;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;color:var(--mist-2);margin-bottom:18px;}
.crumb a{color:var(--mist-2);text-decoration:none;}
.crumb a:hover{color:var(--pink);}
.crumb span{opacity:.5;}

/* ---- interior page body ---- */
.pagebody{background:var(--cream);color:var(--ink);position:relative;padding-block:58px 88px;}
/* a bleed page paints its own bands edge to edge */
.pagebody.is-bleed{padding-block:0;background:var(--cream);overflow:hidden;}
.pagebody .wrap{position:relative;z-index:2;}
.prose{max-width:74ch;font-size:17px;line-height:1.72;color:var(--ink-2);}
.prose.wide{max-width:none;}
.prose>*:first-child{margin-top:0;}
.prose h2{font-size:clamp(30px,4vw,44px);color:var(--ink);margin:54px 0 0;}
.prose h3{font-family:var(--display);font-size:26px;letter-spacing:.02em;color:var(--ink);margin:34px 0 0;}
.prose p{margin:14px 0 0;}
.prose strong{color:var(--ink);}
.prose a{color:var(--purple);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1.5px;}
.prose a:hover{color:var(--pink);}
.prose ul,.prose ol{margin:14px 0 0;padding-left:22px;}
.prose li{margin:7px 0;}
.prose li::marker{color:var(--pink);}
.prose hr{border:0;border-top:1px solid rgba(22,18,31,.12);margin:44px 0;}
.prose blockquote{margin:22px 0;padding:2px 0 2px 20px;border-left:3px solid var(--pink);color:var(--ink);font-size:18px;}

/* cards / grids reusable on any page */
.cards{display:grid;gap:18px;margin-top:26px;}
.cards.c2{grid-template-columns:repeat(2,1fr);}
.cards.c3{grid-template-columns:repeat(3,1fr);}
.cards.c4{grid-template-columns:repeat(4,1fr);}
.cards.c5{grid-template-columns:repeat(5,1fr);}
.cards.c5 .card{padding:22px 16px;}
.cards.c5 .card :is(h2,h3){font-size:17px;letter-spacing:.01em;}
.cards.c5 .card p{font-size:14.5px;}
@media(max-width:1040px){.cards.c5{grid-template-columns:repeat(3,1fr);}}
@media(max-width:700px){.cards.c5{grid-template-columns:repeat(2,1fr);}}
@media(max-width:900px){.cards.c3,.cards.c4{grid-template-columns:repeat(2,1fr);}}
@media(max-width:620px){.cards.c2,.cards.c3,.cards.c4{grid-template-columns:1fr;}}
.card{background:#fff;border-radius:20px;padding:26px 24px;border:1px solid rgba(22,18,31,.08);
  box-shadow:0 10px 30px rgba(22,18,31,.05);}
.card :is(h2,h3){margin:0 0 8px;font-size:23px;}
.card p{margin:0;color:var(--ink-2);font-size:15.5px;line-height:1.62;}
.card .num{font-family:var(--display);font-size:38px;line-height:1;
  background:linear-gradient(100deg,var(--purple),var(--pink));-webkit-background-clip:text;background-clip:text;color:transparent;}
.card.accent{background:linear-gradient(150deg,var(--night),var(--night-2));border-color:transparent;color:var(--mist);}
.card.accent h3{color:#fff;}
.card.accent p{color:var(--mist-2);}

/* step list */
.steps{counter-reset:s;list-style:none;padding:0;margin:26px 0 0;display:grid;gap:14px;}
.steps li{counter-increment:s;position:relative;padding:20px 22px 20px 66px;background:#fff;border-radius:18px;
  border:1px solid rgba(22,18,31,.08);color:var(--ink-2);font-size:15.5px;line-height:1.62;margin:0;}
.steps li::before{content:counter(s);position:absolute;left:20px;top:18px;width:32px;height:32px;border-radius:50%;
  display:grid;place-items:center;font-family:var(--display);font-size:18px;color:#fff;
  background:linear-gradient(100deg,var(--purple),var(--pink));}
.steps li strong{display:block;font-family:var(--display);font-size:19px;letter-spacing:.02em;
  color:var(--ink);text-transform:uppercase;margin-bottom:3px;font-weight:400;}
.steps li::marker{content:none;}

/* FAQ accordion */
.faq{margin-top:26px;border-top:1px solid rgba(22,18,31,.12);}
.faq details{border-bottom:1px solid rgba(22,18,31,.12);}
.faq summary{list-style:none;cursor:pointer;padding:20px 44px 20px 0;position:relative;
  font-family:var(--display);font-size:23px;letter-spacing:.02em;color:var(--ink);text-transform:uppercase;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"";position:absolute;right:8px;top:50%;width:12px;height:12px;margin-top:-8px;
  border-right:2.5px solid var(--pink);border-bottom:2.5px solid var(--pink);
  transform:rotate(45deg);transition:transform .22s ease;}
.faq details[open] summary::after{transform:rotate(-135deg);margin-top:-3px;}
.faq summary:hover{color:var(--purple);}
.faq .a{padding:0 0 22px;color:var(--ink-2);font-size:16.5px;line-height:1.7;}
.faq .a p{margin:0 0 12px;}
.faq .a p:last-child{margin-bottom:0;}

/* COA table */
.tablewrap{overflow-x:auto;margin-top:26px;border-radius:18px;border:1px solid rgba(22,18,31,.1);background:#fff;}
table.coa{width:100%;border-collapse:collapse;min-width:640px;font-size:15px;}
table.coa th{text-align:left;font-family:var(--display);font-size:15px;letter-spacing:.13em;
  text-transform:uppercase;color:var(--ink);padding:16px 18px;background:rgba(123,61,245,.07);white-space:nowrap;}
table.coa td{padding:15px 18px;border-top:1px solid rgba(22,18,31,.09);color:var(--ink-2);vertical-align:middle;}
table.coa tr:hover td{background:rgba(255,77,157,.04);}
table.coa .p{font-weight:700;color:var(--ink);}
.pilllink{display:inline-flex;align-items:center;gap:7px;font-family:var(--display);font-size:14px;
  letter-spacing:.1em;padding:7px 15px;border-radius:999px;text-decoration:none;color:#fff;
  background:linear-gradient(100deg,var(--purple),var(--pink));white-space:nowrap;}
.pilllink:hover{transform:translateY(-2px);}
.na{color:var(--ink-3);font-size:14px;}

/* contact / callout strip */
.callout{margin-top:34px;border-radius:24px;padding:34px 32px;color:var(--mist);position:relative;overflow:hidden;
  background:linear-gradient(140deg,var(--night),var(--night-2));}
.callout :is(h2,h3){color:#fff;font-size:30px;margin:0 0 8px;}
.callout p{margin:0;color:var(--mist-2);}
.callout .cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px;}
.callout .btn-o{border-color:rgba(255,255,255,.45);}

.bigcontact{display:grid;gap:14px;grid-template-columns:repeat(2,1fr);margin-top:26px;}
@media(max-width:620px){.bigcontact{grid-template-columns:1fr;}}
.bigcontact a{display:block;background:#fff;border:1px solid rgba(22,18,31,.08);border-radius:20px;
  padding:24px;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease;}
.bigcontact a:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(22,18,31,.09);}
.bigcontact .k{font-family:var(--display);font-size:14px;letter-spacing:.16em;color:var(--ink-3);text-transform:uppercase;}
.bigcontact .v{font-family:var(--display);font-size:28px;letter-spacing:.02em;color:var(--ink);margin-top:5px;
  word-break:break-word;}

/* footer mark */
.fmark{display:grid;gap:12px;padding-bottom:34px;margin-bottom:30px;border-bottom:1px solid rgba(255,255,255,.09);}
.fmark .logo img{height:40px;}
.fmark p{margin:0;max-width:46ch;line-height:1.6;}
.fmark .fcontact a{color:var(--cream);text-decoration:none;font-weight:600;display:inline-block;padding:2px 0;}
.fmark .fcontact a:hover{color:var(--pink);}
.legal .copy{display:block;margin-top:16px;color:#9E93B8;}

.legal strong{color:#C9BEE0;}

/* ---- vertical rhythm between the blocks that make up a page body ----
   Each block is a sibling of .prose, and .prose>*:first-child zeroes the
   heading's own top margin, so the gap has to live on the block boundary. */
.cards+.prose,.steps+.prose,.faq+.prose,.tablewrap+.prose,.bigcontact+.prose,
.callout+.prose,.prose+.prose{margin-top:58px;}
.cards+.cards{margin-top:18px;}
.prose+.callout,.cards+.callout,.steps+.callout,.faq+.callout,
.tablewrap+.callout,.bigcontact+.callout{margin-top:46px;}
.prose+.cards,.prose+.steps,.prose+.faq,.prose+.tablewrap,.prose+.bigcontact{margin-top:26px;}
@media(max-width:700px){
  .cards+.prose,.steps+.prose,.faq+.prose,.tablewrap+.prose,.bigcontact+.prose,
  .callout+.prose,.prose+.prose{margin-top:42px;}
}

/* ---- full-width interior pages (the store locator needs the room) ---- */
.wrap.xw{max-width:1420px;}
.pagebody .lh-wide{max-width:none;}
.pagebody .lh-wide img{max-width:100%;height:auto;}

/* Store locator. The plugin lays the results panel out as a fixed 380px
   column with the map taking the remainder, so widening the wrap is what
   actually buys map area. Heights are its own, hence the overrides. */
.pagebody .lh-wide .digital-plug-store-locator{max-width:none;}
.pagebody .lh-wide .dpsl-main-area{height:620px;}
.pagebody .lh-wide .dpsl-store-list-wrap{height:620px;max-height:620px;}
.pagebody .lh-wide .dpsl-map-container{height:620px;}
@media(max-width:900px){
  .pagebody .lh-wide .dpsl-main-area,
  .pagebody .lh-wide .dpsl-store-list-wrap{height:auto;max-height:none;}
  /* The map container needs a DEFINITE height here, not auto with a
     min-height. The plugin's .dpsl-map-canvas inside it is height:100%, and a
     percentage height against an auto parent resolves to zero — which drew the
     container's border with an empty 0px canvas inside it and no map at all on
     phones. Desktop was fine only because the container is an explicit 620px. */
  .pagebody .lh-wide .dpsl-map-container{height:420px;max-height:none;}
  .pagebody .lh-wide .dpsl-map-canvas{height:100%;min-height:420px;}
  .pagebody .lh-wide .dpsl-store-list-wrap{max-height:460px;overflow-y:auto;}
}
@media(max-width:520px){
  .pagebody .lh-wide .dpsl-map-container{height:340px;}
  .pagebody .lh-wide .dpsl-map-canvas{min-height:340px;}
}
.prose h2+p,.prose h2+ul,.prose h2+ol,.prose h2+blockquote{margin-top:18px;}
.prose h3+p,.prose h3+ul,.prose h3+ol{margin-top:10px;}

/* ============================================================
   Forms — contact, retailer, influencer
   ============================================================ */
.lh-form-wrap{margin-top:46px;}
.lh-form-wrap + .prose,
.lh-form-wrap + .cards,
.lh-form-wrap + .callout{margin-top:54px;}
.lh-form{background:#fff;border:1px solid rgba(22,18,31,.08);border-radius:24px;
  padding:38px 34px;box-shadow:0 18px 44px rgba(22,18,31,.07);}
@media(max-width:620px){.lh-form{padding:26px 20px;border-radius:20px;}}
.lh-form h2{margin:0;font-size:clamp(30px,4vw,42px);color:var(--ink);}
.lh-form-intro{margin:12px 0 0;color:var(--ink-2);font-size:16px;max-width:60ch;}

.lh-fields{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:28px;}
@media(max-width:720px){.lh-fields{grid-template-columns:1fr;}}
.lh-field{margin:0;display:flex;flex-direction:column;gap:7px;}
.lh-field.lh-full{grid-column:1 / -1;}
.lh-field label{font-family:var(--display);font-size:15px;letter-spacing:.13em;
  text-transform:uppercase;color:var(--ink);display:flex;align-items:baseline;gap:8px;}
.lh-field label .opt{font-family:var(--body);font-size:11px;font-weight:600;letter-spacing:.08em;
  text-transform:none;color:var(--ink-3);}
.lh-field input,.lh-field textarea{font-family:var(--body);font-size:16px;color:var(--ink);
  background:#FDFBF8;border:1.5px solid rgba(22,18,31,.16);border-radius:13px;padding:13px 15px;
  width:100%;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;}
.lh-field textarea{resize:vertical;min-height:112px;line-height:1.6;}
.lh-field input:hover,.lh-field textarea:hover{border-color:rgba(22,18,31,.3);}
.lh-field input:focus,.lh-field textarea:focus{outline:none;background:#fff;
  border-color:var(--purple);box-shadow:0 0 0 4px rgba(123,61,245,.14);}
.lh-field .hint{font-size:12.5px;color:var(--ink-3);}
.lh-field .err{font-size:13px;font-weight:600;color:#C0174B;}
.lh-field.bad input,.lh-field.bad textarea{border-color:#E0356F;background:#FFF6F9;}
.lh-field.bad input:focus,.lh-field.bad textarea:focus{box-shadow:0 0 0 4px rgba(224,53,111,.15);}
/* date and number inputs shouldn't look like a different species */
.lh-field input[type="date"]{appearance:none;min-height:49px;}
.lh-field input[type="number"]{appearance:textfield;}
.lh-field input[type="number"]::-webkit-outer-spin-button,
.lh-field input[type="number"]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}

.lh-form-foot{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:26px;}
.lh-form-foot .btn{border:0;}
.lh-form-foot .btn[disabled]{opacity:.65;cursor:progress;transform:none;}
.lh-form-msg{margin:0;font-size:14.5px;font-weight:600;color:var(--ink-2);}
.lh-form-msg.bad{color:#C0174B;}
.lh-form-small{margin:18px 0 0;font-size:12.5px;color:var(--ink-3);line-height:1.6;}

.lh-form-done{background:linear-gradient(150deg,var(--night),var(--night-2));color:var(--mist);
  border-radius:24px;padding:46px 38px;text-align:center;}
.lh-form-done h3{color:#fff;font-size:clamp(32px,4.6vw,46px);margin:0;}
.lh-form-done p{margin:14px auto 0;max-width:52ch;color:var(--mist-2);font-size:16.5px;line-height:1.65;}
.lh-form-req{margin:8px 0 0;font-size:12.5px;color:var(--ink-3);letter-spacing:.02em;}

/* ============================================================
   Product pages
   ============================================================ */
.pdp-hero{position:relative;overflow:hidden;padding-block:46px 74px;isolation:isolate;}
.pdp-bg{position:absolute;inset:0;z-index:0;opacity:0;transition:opacity .5s ease;
  background:linear-gradient(172deg,var(--p1) 0%,var(--p2) 100%);}
.pdp-bg.on{opacity:1;}
.pdp-hero .wrap{position:relative;z-index:2;}
.pdp-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;}
@media(max-width:940px){.pdp-grid{grid-template-columns:1fr;gap:26px}}

/* Bolt's panels are near-black, the rest are pale, so every piece of ink on
   the panel is a token. lh_flavor_vars() sets them per flavour; these are the
   pale defaults so a flavour that forgets to declare still reads. */
.pdp{--tx:#101B22;--tx-2:#3E5765;--tx-3:#5B7180;
  --card:rgba(255,255,255,.62);--card-on:#fff;--line:rgba(16,27,34,.12);}

.pdp-info .crumb{color:var(--tx-3);}
.pdp-info .crumb a{color:var(--tx-3);}
.pdp-info .eyebrow{color:var(--ink-acc,var(--acc,#FF9421));display:block;margin-top:8px;}
.pdp-info h1{font-size:clamp(40px,5.6vw,70px);color:var(--tx);margin-top:8px;line-height:.92;}
.pdp-tag{font-size:18px;font-weight:600;color:var(--ink-acc,var(--acc,#FF9421));margin:12px 0 0;max-width:38ch;}
.pdp-blurb{font-size:16px;color:var(--tx-2);margin:14px 0 0;max-width:52ch;line-height:1.65;}

.pl{display:block;font-family:var(--display);font-size:13px;letter-spacing:.2em;
  text-transform:uppercase;color:var(--tx-3);margin-bottom:10px;}

/* flavour swatches */
.pdp-flavors{margin-top:26px;}
.fl-row{display:flex;gap:10px;flex-wrap:wrap;}
.fl{display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer;padding:10px 12px 9px;
  border-radius:16px;border:2px solid var(--line);background:var(--card);
  transition:border-color .22s ease,transform .22s ease,background .22s ease;}
.fl img{height:54px;width:auto;display:block;}
.fl span{font-family:var(--display);font-size:14px;letter-spacing:.06em;color:var(--tx);white-space:nowrap;}
.fl:hover{transform:translateY(-3px);background:var(--card-on);}
.fl.on{border-color:var(--acc);background:var(--card-on);box-shadow:0 10px 24px color-mix(in srgb,var(--acc) 30%,transparent);}

/* pack sizes */
.pdp-packs{margin-top:24px;}
.pk-row{display:flex;gap:10px;flex-wrap:wrap;}
.pk{cursor:pointer;padding:12px 18px;border-radius:14px;text-align:left;
  border:2px solid var(--line);background:var(--card);
  transition:border-color .22s ease,transform .22s ease,background .22s ease;}
.pk b{display:block;font-family:var(--display);font-size:17px;letter-spacing:.07em;color:var(--tx);font-weight:400;}
.pk i{font-style:normal;font-size:14px;font-weight:700;color:var(--tx-2);}
.pk:hover{transform:translateY(-3px);background:var(--card-on);}
.pk.on{border-color:var(--tx);background:var(--card-on);}
.pk.on i{color:var(--tx);}

.pdp-buy{display:flex;gap:11px;flex-wrap:wrap;margin-top:26px;}
.pdp-buy .btn-o{border-color:var(--line);color:var(--tx);}
.pdp-buy .btn-o:hover{background:#101B22;color:#fff;border-color:#101B22;}
.pdp-verify{font-size:12.5px;color:var(--tx-3);margin:18px 0 0;max-width:52ch;line-height:1.6;}

/* the can on its disc */
.pdp-stage{position:relative;display:grid;place-items:center;min-height:520px;}
/* The spec list is absolute at the right edge; this clears a lane for it
   so it stops printing over the can on wide screens. */
@media(min-width:1101px){.pdp-stage{padding-right:clamp(0px,13%,150px);}}
@media(max-width:940px){.pdp-stage{min-height:420px;order:-1}}
.pdp-disc{position:absolute;top:50%;left:50%;transform:translate(-50%,-54%);
  width:min(78%,420px);aspect-ratio:1;border-radius:50%;z-index:0;
  background:radial-gradient(circle at 50% 44%,
    color-mix(in srgb,var(--disc,var(--acc)) 92%,#fff) 0%,
    color-mix(in srgb,var(--disc,var(--acc)) 72%,transparent) 52%,
    color-mix(in srgb,var(--disc,var(--acc)) 18%,transparent) 74%, transparent 82%);}
.pdp-can{position:relative;z-index:2;grid-area:1/1;height:min(60vh,470px);width:auto;
  filter:drop-shadow(0 30px 40px rgba(6,40,58,.34));
  opacity:0;transform:scale(.94);transition:opacity .42s ease,transform .42s cubic-bezier(.2,.8,.2,1);
  animation:bob 6.5s ease-in-out infinite;}
.pdp-can.on{opacity:1;transform:scale(1);}
@media(max-width:940px){.pdp-can{height:min(46vh,360px)}}

.pdp-specs{position:absolute;right:0;top:50%;transform:translateY(-50%);z-index:3;
  list-style:none;margin:0;padding:0;display:grid;gap:9px;text-align:right;max-width:38%;}
.pdp-specs li{font-size:13px;font-weight:700;color:var(--ink-acc,var(--acc,#0E5670));line-height:1.4;}
@media(max-width:1100px){.pdp-specs{position:static;transform:none;max-width:none;text-align:center;
  justify-items:center;margin-top:18px;grid-auto-flow:column;grid-auto-columns:max-content;gap:16px;flex-wrap:wrap;}}
@media(max-width:620px){.pdp-specs{grid-auto-flow:row;gap:6px}}

/* banner line */
.pdp-say{background:var(--cream);text-align:center;padding-block:76px 70px;}
.pdp-say h2{font-size:clamp(34px,5.4vw,62px);color:var(--ink-acc,var(--acc,#FF4D9D));max-width:18ch;margin-inline:auto;}
.pdp-say p{color:var(--ink-2);max-width:56ch;margin:16px auto 0;font-size:16.5px;line-height:1.65;}

/* per-flavour detail */
.pdp-detail{background:var(--cream);padding-bottom:74px;}
.pdp-card{display:none;grid-template-columns:1.2fr 1fr;gap:32px;align-items:center;
  background:#fff;border-radius:26px;padding:34px 32px;border:1px solid rgba(22,18,31,.08);
  box-shadow:0 16px 40px rgba(22,18,31,.06);}
.pdp-card.on{display:grid;}
@media(max-width:760px){.pdp-card.on{grid-template-columns:1fr;gap:20px}}
.pdp-card .k{font-family:var(--display);font-size:14px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-acc,var(--acc));}
.pdp-card h3{font-size:clamp(28px,3.6vw,40px);color:var(--ink);margin-top:6px;}
.pdp-card>div>p{color:var(--ink-2);margin:10px 0 0;font-size:16px;max-width:40ch;}
.pdp-card .terppills{display:flex;flex-wrap:wrap;gap:7px;margin-top:16px;}
.pdp-card .terppills span{font-size:10.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  padding:6px 12px;border-radius:999px;color:color-mix(in srgb,var(--acc) 72%,#0B3346);
  background:color-mix(in srgb,var(--acc) 14%,#fff);border:1px solid color-mix(in srgb,var(--acc) 42%,#fff);}
.pdp-card .good{list-style:none;margin:0;padding:0;display:grid;gap:10px;}
.pdp-card .good li{font-size:15px;color:var(--ink-2);display:flex;gap:10px;align-items:flex-start;}
.pdp-card .good li::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--acc);flex:none;margin-top:7px;}

/* benefits */
.pdp-good{background:#fff;padding-block:80px;text-align:center;}
.pdp-good h2{color:var(--ink);}
.pdp-good .sub{margin-inline:auto;text-align:center;}
.goodrow{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:40px;}
@media(max-width:900px){.goodrow{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.goodrow{grid-template-columns:1fr}}
.gooditem .gb{width:84px;height:84px;border-radius:50%;display:grid;place-items:center;margin:0 auto 14px;
  background:linear-gradient(150deg,color-mix(in srgb,var(--purple) 14%,#fff),color-mix(in srgb,var(--pink) 16%,#fff));
  box-shadow:0 12px 26px rgba(123,61,245,.16);animation:float 7s ease-in-out infinite;}
.gooditem:nth-child(2) .gb{animation-delay:-1.7s}
.gooditem:nth-child(3) .gb{animation-delay:-3.4s}
.gooditem:nth-child(4) .gb{animation-delay:-5.1s}
.gooditem .gb svg{width:38px;height:38px;stroke:var(--purple);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
.gooditem :is(h3,h4){font-size:20px;color:var(--ink);letter-spacing:.03em;}
.gooditem p{font-size:14.5px;color:var(--ink-2);margin:7px auto 0;max-width:24ch;}

/* stat bubbles */
.pdp-stats{position:relative;overflow:hidden;background:linear-gradient(180deg,#fff,var(--cream));
  padding-block:90px;text-align:center;}
.pdp-stats .wrap{position:relative;}
.pdp-stats h2{font-size:clamp(34px,5.4vw,62px);color:var(--ink);}
.pdp-stats .cta{display:flex;gap:11px;justify-content:center;flex-wrap:wrap;margin-top:28px;}
.pdp-stats .cta .btn-o{border-color:rgba(22,18,31,.3);color:var(--ink);}
.pdp-stats .cta .btn-o:hover{background:var(--ink);color:#fff;border-color:var(--ink);}
.pdp-stats .small{font-size:12px;color:var(--ink-3);max-width:62ch;margin:26px auto 0;line-height:1.7;}
.pdp-stats .small strong{color:var(--ink-2);}
.bub{position:absolute;display:grid;place-content:center;border-radius:50%;z-index:0;text-align:center;
  background:radial-gradient(circle at 36% 30%,#fff,color-mix(in srgb,var(--yellow) 42%,#fff));
  box-shadow:0 14px 30px rgba(22,18,31,.1);animation:float 8s ease-in-out infinite;}
.bub b{display:block;font-family:var(--display);font-size:30px;line-height:1;color:var(--ink);font-weight:400;}
.bub i{font-style:normal;font-size:9.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);}
.bub.b1{width:126px;height:126px;left:2%;top:-6%;}
.bub.b2{width:104px;height:104px;right:5%;top:8%;animation-delay:-2.6s;}
.bub.b3{width:112px;height:112px;left:9%;bottom:-4%;animation-delay:-5.2s;}
@media(max-width:1080px){
  .bub{position:static;display:inline-grid;width:100px!important;height:100px!important;margin:0 7px 22px;animation:none;}
  .pdp-stats .wrap{display:flex;flex-direction:column;align-items:center;}
}
@media (prefers-reduced-motion:reduce){.pdp-can,.gooditem .gb,.bub{animation:none!important}}

/* ---- product page: dose line + label panel ---- */
.pdp-dose{font-size:13px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
  color:#4B6070;margin:10px 0 0;}

.pdp-facts{background:var(--cream);padding-block:84px;text-align:center;}
.pdp-facts h2{color:var(--ink);}
.pdp-facts .sub{margin-inline:auto;text-align:center;}
.factwrap{display:none;grid-template-columns:minmax(0,380px) minmax(0,1fr);gap:26px;
  margin-top:38px;text-align:left;align-items:start;}
.factwrap.on{display:grid;}
@media(max-width:820px){.factwrap.on{grid-template-columns:1fr}}

.factpanel{background:#fff;border:2px solid var(--ink);border-radius:10px;padding:18px 20px 16px;}
.factpanel h3{font-family:var(--body);font-weight:800;font-size:26px;letter-spacing:-.01em;
  text-transform:none;color:var(--ink);margin:0;line-height:1.1;}
.factpanel .serv{font-size:12.5px;color:var(--ink-2);margin:4px 0 10px;
  padding-bottom:8px;border-bottom:8px solid var(--ink);}
.factpanel table{width:100%;border-collapse:collapse;font-size:13.5px;}
.factpanel th{text-align:left;font-weight:700;color:var(--ink);padding:5px 0;
  border-top:1px solid rgba(22,18,31,.2);font-family:var(--body);letter-spacing:0;text-transform:none;}
.factpanel td{text-align:right;color:var(--ink-2);padding:5px 0;border-top:1px solid rgba(22,18,31,.2);}
.factpanel td.dv{width:58px;font-weight:700;color:var(--ink);}
.factpanel tr.cal th{font-size:20px;border-top:4px solid var(--ink);}
.factpanel tr.cal td{font-size:22px;font-weight:800;color:var(--ink);border-top:4px solid var(--ink);}
.factpanel .blend{font-size:12.5px;color:var(--ink-2);margin:10px 0 0;
  padding-top:8px;border-top:1px solid rgba(22,18,31,.2);line-height:1.5;}
.factpanel .dvnote{font-size:10.5px;color:var(--ink-3);margin:8px 0 0;
  padding-top:7px;border-top:4px solid var(--ink);}

.factside h4{font-family:var(--display);font-size:18px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ink-acc,var(--acc));margin:0 0 8px;}
.factside h4+h4{margin-top:22px;}
.factside p{font-size:14px;color:var(--ink-2);margin:0;line-height:1.65;}
.factside .claims{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px;}
.factside .claims li{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  padding:6px 13px;border-radius:999px;color:color-mix(in srgb,var(--acc) 72%,#0B3346);
  background:color-mix(in srgb,var(--acc) 13%,#fff);border:1px solid color-mix(in srgb,var(--acc) 40%,#fff);}
.factside .advisory{font-size:11.5px;color:var(--ink-3);margin-top:20px;line-height:1.6;}
.factside .advisory strong{color:var(--ink-2);}

.pdp-facts .cta{display:flex;gap:11px;justify-content:center;flex-wrap:wrap;margin-top:40px;}
.pdp-facts .cta .btn-o{border-color:rgba(22,18,31,.3);color:var(--ink);}
.pdp-facts .cta .btn-o:hover{background:var(--ink);color:#fff;border-color:var(--ink);}
.pdp-facts .small{font-size:12px;color:var(--ink-3);max-width:64ch;margin:24px auto 0;line-height:1.7;}
.pdp-facts .small strong{color:var(--ink-2);}

/* the masthead sits on a light product hero, not the dark chrome */
.pdp-hero nav{padding-block:16px;}
.pdp-hero .nl a{color:#25404F;opacity:.85;}
.pdp-hero .nl a:hover{color:var(--acc);opacity:1;}
.pdp-hero .navtog{background:rgba(16,27,34,.08);}
.pdp-hero .navtog i{background:#25404F;}
@media(max-width:980px){.pdp-hero .nl{background:rgba(255,255,255,.97);border-color:rgba(16,27,34,.1);}}
.pdp-hero .logo img{filter:none;}

/* ---- WooCommerce pages wearing the site's clothes ---- */
.lh-woo{color:var(--ink-2);}
.lh-woo a:not(.btn){color:var(--purple);}
.lh-woo a:not(.btn):hover{color:var(--pink);}
.lh-woo h2,.lh-woo h3{color:var(--ink);}
.lh-woo .button,.lh-woo button[type="submit"],.lh-woo .checkout-button{
  font-family:var(--display);font-size:17px;letter-spacing:.09em;padding:13px 26px;border-radius:999px;
  border:0;cursor:pointer;color:#fff;text-decoration:none;display:inline-flex;align-items:center;gap:10px;
  background:linear-gradient(100deg,var(--purple),var(--pink));box-shadow:0 10px 28px rgba(255,77,157,.34);
  transition:transform .18s ease,box-shadow .18s ease;}
.lh-woo .button:hover,.lh-woo button[type="submit"]:hover{transform:translateY(-3px);}
.lh-woo input[type="text"],.lh-woo input[type="email"],.lh-woo input[type="tel"],
.lh-woo input[type="password"],.lh-woo input[type="number"],.lh-woo select,.lh-woo textarea{
  font-family:var(--body);font-size:16px;color:var(--ink);background:#FDFBF8;
  border:1.5px solid rgba(22,18,31,.16);border-radius:13px;padding:12px 15px;width:100%;}
.lh-woo input:focus,.lh-woo select:focus,.lh-woo textarea:focus{outline:none;background:#fff;
  border-color:var(--purple);box-shadow:0 0 0 4px rgba(123,61,245,.14);}
.lh-woo table{width:100%;border-collapse:collapse;}
.lh-woo table th,.lh-woo table td{padding:13px 10px;border-bottom:1px solid rgba(22,18,31,.1);text-align:left;}
.lh-woo .woocommerce-message,.lh-woo .woocommerce-info,.lh-woo .woocommerce-error{
  background:#fff;border:1px solid rgba(22,18,31,.1);border-left:4px solid var(--pink);
  border-radius:14px;padding:16px 18px;list-style:none;margin:0 0 22px;}
.lh-woo .woocommerce-error{border-left-color:#C0174B;}
.lh-woo ul.products li.product{float:none;width:auto;margin:0;clear:none;}
.lh-woo ul.products::after,.lh-woo ul.products::before{content:none;}
.lh-woo ul.products{list-style:none;padding:0;display:grid;gap:20px;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));}
.lh-woo ul.products li{background:#fff;border:1px solid rgba(22,18,31,.08);border-radius:20px;
  padding:20px;text-align:center;}
.lh-woo ul.products li img{border-radius:14px;}

/* ---- WooCommerce add-to-cart, wearing the swatches ---- */
/* Woo's own attribute dropdowns are the real control; the swatches above set
   them, so the table itself is hidden rather than removed — Woo still needs it. */
.pdp-woo-form .variations{display:none;}
.pdp-woo-form .reset_variations{display:none;}
.pdp-woo-form{margin-top:26px;}
.pdp-woo-form .woocommerce-variation-price{margin-bottom:14px;}
.pdp-woo-form .woocommerce-variation-price .price{font-family:var(--display);font-size:32px;
  letter-spacing:.02em;color:var(--tx);}
.pdp-woo-form .woocommerce-variation-price del{opacity:.5;font-size:22px;margin-right:8px;}
.pdp-woo-form .woocommerce-variation-availability{font-size:13.5px;font-weight:700;color:var(--tx-2);margin-bottom:10px;}
.pdp-woo-form .woocommerce-variation-description{font-size:14.5px;color:var(--tx-2);margin-bottom:12px;}

.pdp-woo-form form.cart,
.pdp-woo-form .woocommerce-variation-add-to-cart{display:flex;gap:11px;align-items:center;flex-wrap:wrap;}
.pdp-woo-form .quantity{display:flex;align-items:center;}
.pdp-woo-form .quantity input[type="number"]{width:84px;text-align:center;
  font-family:var(--body);font-size:16px;font-weight:700;color:var(--tx);background:var(--card-on);
  border:2px solid var(--line);border-radius:14px;padding:13px 8px;appearance:textfield;}
.pdp-woo-form .quantity input::-webkit-outer-spin-button,
.pdp-woo-form .quantity input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.pdp-woo-form .quantity input:focus{outline:none;border-color:var(--acc);
  box-shadow:0 0 0 4px color-mix(in srgb,var(--acc) 24%,transparent);}

.pdp-woo-form button.single_add_to_cart_button{
  font-family:var(--display);font-size:19px;letter-spacing:.09em;padding:15px 34px;border-radius:999px;
  border:0;cursor:pointer;color:#fff;background:linear-gradient(100deg,var(--purple),var(--pink));
  box-shadow:0 12px 30px rgba(255,77,157,.34);transition:transform .18s ease,box-shadow .18s ease;}
.pdp-woo-form button.single_add_to_cart_button:hover{transform:translateY(-3px);
  box-shadow:0 18px 38px rgba(255,77,157,.46);}
.pdp-woo-form button.single_add_to_cart_button.disabled,
.pdp-woo-form button.single_add_to_cart_button:disabled{opacity:.5;cursor:not-allowed;transform:none;}
.pdp-woo-form .stock.out-of-stock{color:#C0174B;font-weight:700;}

.pdp-findline{margin:16px 0 0;font-size:14.5px;}
.pdp-findline a{color:var(--tx-2);text-decoration:underline;text-underline-offset:3px;}
.pdp-findline a:hover{color:var(--acc);}

/* Woo drops its notices at the top of the form area */
.pdp .woocommerce-notices-wrapper .woocommerce-message,
.pdp .woocommerce-notices-wrapper .woocommerce-error,
.pdp .woocommerce-notices-wrapper .woocommerce-info{
  background:#fff;border:1px solid rgba(22,18,31,.12);border-left:4px solid var(--acc);
  border-radius:14px;padding:14px 16px;margin:0 0 18px;font-size:14.5px;list-style:none;}
@media(max-width:620px){
  .pdp-woo-form form.cart,.pdp-woo-form .woocommerce-variation-add-to-cart{gap:9px;}
  .pdp-woo-form button.single_add_to_cart_button{flex:1 1 100%;justify-content:center;}
}

/* --- cans standing in for Woo's placeholder ----------------------------- */
.lh-can-thumb{display:block;width:100%;height:auto;max-width:96px;
  filter:drop-shadow(0 10px 18px rgba(22,18,31,.18));}
.lh-woo ul.products li .lh-can-thumb{max-width:180px;margin:0 auto 12px;}
.lh-woo td.product-thumbnail .lh-can-thumb{max-width:72px;}

/* --- Woo's notices inside the buy area ---------------------------------- */
.pdp-woo-form .woocommerce-message,
.pdp-woo-form .woocommerce-info,
.pdp-woo-form .woocommerce-error{list-style:none;background:rgba(255,255,255,.72);
  border-left:4px solid var(--acc);border-radius:12px;padding:12px 15px;margin:0 0 14px;
  font-size:14.5px;color:var(--ink);}
.pdp-woo-form .woocommerce-error{border-left-color:#C0174B;}
.pdp-woo-form .woocommerce-message a.button{margin-left:10px;}

/* --- three mood objects per flavour ------------------------------------- */
.pdp-deco{position:absolute;inset:0;z-index:1;pointer-events:none;
  color:var(--ink-acc,var(--acc));opacity:0;transition:opacity .42s ease;}
.pdp-deco.on{opacity:1;}
.pdp-deco .dc{position:absolute;display:block;opacity:.42;
  animation:dcfloat 9s ease-in-out infinite;}
.pdp-deco .dc1{left:1%;top:7%;width:clamp(46px,5.4vw,70px);--r:-8deg;animation-duration:8.5s;}
.pdp-deco .dc2{left:6%;bottom:13%;width:clamp(34px,4vw,52px);--r:7deg;animation-duration:10.5s;animation-delay:-3s;}
.pdp-deco .dc3{right:5%;bottom:4%;width:clamp(38px,4.4vw,58px);--r:-5deg;animation-duration:9.5s;animation-delay:-6s;}
.pdp-deco .dc svg,.pdp-deco .dc use{fill:none;stroke:currentColor;}
@keyframes dcfloat{
  0%,100%{transform:translateY(0) rotate(var(--r,0deg));}
  50%{transform:translateY(-13px) rotate(var(--r,0deg));}
}
@media(max-width:1100px){.pdp-deco .dc3{right:2%;bottom:2%;}}
@media(max-width:620px){
  .pdp-deco .dc1{width:44px;left:0;top:4%;}
  .pdp-deco .dc2{width:32px;left:2%;bottom:8%;}
  .pdp-deco .dc3{width:36px;}
}
@media(prefers-reduced-motion:reduce){
  .pdp-deco .dc{animation:none;transform:rotate(var(--r,0deg));}
}

/* the claims note under the flavour picker — present, not shouty */
.fl-note{margin:12px 0 0;font-size:12.5px;line-height:1.55;color:var(--tx-3);max-width:46ch;}

/* replaces the store counter — the same visual weight, nothing to keep current */
.locwords{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px 12px;
  align-content:center;justify-content:center;}
.locwords li{font-family:var(--display);font-size:clamp(20px,3vw,34px);letter-spacing:.04em;
  line-height:1;padding:12px 20px;border-radius:999px;color:#fff;
  border:2px solid rgba(255,255,255,.28);background:rgba(255,255,255,.07);}
@media(max-width:620px){.locwords li{font-size:17px;padding:9px 15px;}}

/* --- lab results ------------------------------------------------------- */
.panelrow{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 26px;}
.panelpill{font-family:var(--display);font-size:13px;letter-spacing:.09em;text-transform:uppercase;
  padding:7px 14px;border-radius:999px;background:#fff;color:var(--ink);
  border:1px solid rgba(22,18,31,.12);display:inline-flex;align-items:center;gap:7px;}
.panelpill::before{content:"";width:7px;height:7px;border-radius:50%;background:#1F9D63;flex:none;}

.coalist{display:grid;gap:14px;}
.coacard{background:#fff;border:1px solid rgba(22,18,31,.1);border-radius:18px;padding:22px 24px;
  box-shadow:0 1px 2px rgba(22,18,31,.04),0 14px 30px -22px rgba(22,18,31,.3);}
.coahead{display:flex;flex-wrap:wrap;gap:12px 18px;align-items:center;justify-content:space-between;
  padding-bottom:15px;margin-bottom:15px;border-bottom:1px solid rgba(22,18,31,.09);}
.coahead :is(h2,h3){font-size:21px;color:var(--ink);margin:0;line-height:1.2;}
.coameta{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:16px 22px;margin:0;}
.coameta > div{display:flex;flex-direction:column;gap:3px;min-width:0;}
.coameta dt{font-family:var(--display);font-size:12px;letter-spacing:.14em;text-transform:uppercase;
  color:#6B8393;}
.coameta dd{margin:0;font-size:15px;font-weight:600;color:var(--ink);overflow-wrap:anywhere;}
@media(max-width:560px){.coacard{padding:18px;}.coahead :is(h2,h3){font-size:18px;}}


/* BOLT gets the dark panel — it is the only place the white stamp can live */
.wdbolt{background:var(--night,#12101A);border-radius:26px;margin:46px 0;overflow:hidden;
  position:relative;}
.wdbolt::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(120% 90% at 82% 18%,rgba(255,59,59,.30),transparent 62%);}
.wdbolt-in{position:relative;z-index:1;display:grid;grid-template-columns:1.05fr .95fr;
  gap:30px;align-items:center;padding:38px 36px;}
.wdbolt-text h2{color:#fff;margin:0 0 14px;font-size:clamp(28px,3.6vw,40px);}
.wdbolt-text p{color:rgba(255,255,255,.80);font-size:16.5px;line-height:1.68;margin:0 0 12px;max-width:46ch;}
.wdbolt-text strong{color:#fff;}
.wdbolt-kick{font-family:var(--display);font-size:20px;letter-spacing:.06em;
  color:#FF6B5E !important;margin-top:18px !important;}
.wdbolt-art{display:flex;flex-direction:column;align-items:center;gap:16px;}
.wdstamp{width:clamp(120px,15vw,168px);height:auto;display:block;}
.wdbolt-cans{display:flex;gap:10px;justify-content:center;}
.wdbolt-cans img{width:clamp(88px,11vw,124px);height:auto;display:block;
  filter:drop-shadow(0 20px 26px rgba(0,0,0,.5));}
@media(max-width:760px){
  .wdbolt-in{grid-template-columns:1fr;padding:30px 22px;gap:26px;}
  .wdbolt-text p{max-width:none;}
}

/* kava and magnolia: can beside the copy */
.wdsplit{display:grid;grid-template-columns:230px minmax(0,1fr);gap:34px;align-items:center;
  margin:44px 0;}
.wdsplit.rev{grid-template-columns:minmax(0,1fr) 230px;}
.wdsplit.rev .wdsplit-art{order:2;}
.wdsplit .prose{margin:0;}
.wdsplit-art{position:relative;display:grid;place-items:center;background:none;padding:0;border:0;}
.wdsplit-art::before{content:"";position:absolute;width:86%;aspect-ratio:1;border-radius:50%;z-index:0;}
.wdsplit-art.wd-kava::before{background:radial-gradient(circle at 50% 46%,#FF7BB0 0%,rgba(255,123,176,.34) 58%,transparent 76%);}
.wdsplit-art.wd-mag::before{background:radial-gradient(circle at 50% 46%,#5FE3E0 0%,rgba(95,227,224,.32) 58%,transparent 76%);}
.wdsplit-art img{position:relative;z-index:1;width:100%;max-width:190px;height:auto;display:block;
  filter:drop-shadow(0 22px 30px rgba(6,40,58,.28));}
@media(max-width:760px){
  .wdsplit,.wdsplit.rev{grid-template-columns:1fr;gap:22px;}
  .wdsplit.rev .wdsplit-art{order:0;}
  .wdsplit-art img{max-width:160px;}
}

/* ======================================================================
   BANDS — full-bleed page sections. Interior pages use these so every
   page has the pace of the front page instead of one long column.
   ====================================================================== */
/* section{padding-block:86px} is a global from the front page; a band owns
   its own rhythm through .band-in, so the inherited padding is reset. */
.band{position:relative;overflow:hidden;padding:0;}
.band-in{position:relative;z-index:2;padding-block:clamp(46px,5.4vw,74px);}
.band-h{font-size:clamp(36px,5.6vw,72px);line-height:.94;color:var(--ink);margin:0 0 24px;}
.band-eyebrow{display:block;font-family:var(--display);font-size:13px;letter-spacing:.22em;
  text-transform:uppercase;color:var(--ink-3);margin-bottom:18px;}
.band p.band-lede{font-size:18px;line-height:1.68;color:var(--ink-2);max-width:58ch;margin:0;}
.band p{font-size:16.5px;line-height:1.7;color:var(--ink-2);margin:0 0 17px;max-width:52ch;}
.band p.band-kick{font-family:var(--display);font-size:clamp(19px,2.2vw,24px);letter-spacing:.04em;
  line-height:1.3;color:var(--ink);margin:26px 0 0;max-width:34ch;}
.band p.band-note{font-size:13px;line-height:1.6;color:var(--ink-3);margin:32px 0 0;max-width:60ch;}
.band p.band-note.oneline{max-width:none;}
.band p.band-cta{margin:34px 0 0;max-width:none;}

/* a band that reads better centred says so */
.band-in.is-centered{text-align:center;display:flex;flex-direction:column;align-items:center;}
.band-in.is-centered .band-h{max-width:18ch;}
.band-in.is-centered p{max-width:62ch;}
.band-in.is-centered p.band-kick{max-width:44ch;}

/* grounds */
.band-cream{background:var(--cream);}
.band-white{background:#fff;}
.band-pink{background:linear-gradient(175deg,#FFE9F3 0%,#FFD9EA 100%);}
.band-strip{background:linear-gradient(100deg,var(--purple),var(--pink));}
.band-bolt{background:var(--night);}
.band-kava{background:linear-gradient(172deg,#FFE2EE 0%,#FFC9DF 100%);}
.band-mag{background:linear-gradient(172deg,#E2FBF8 0%,#C6F2EC 100%);}
.band-find{background:linear-gradient(100deg,#1A1030,var(--night));}

/* floating mood objects, same family as the product pages */
.band-deco{position:absolute;z-index:1;pointer-events:none;opacity:.20;
  width:clamp(64px,9vw,128px);color:var(--ink);}
.band-deco svg{width:100%;height:auto;display:block;fill:none;stroke:currentColor;
  stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;}
.band-deco.d-tl{left:2%;top:9%;transform:rotate(-9deg);}
.band-deco.d-tr{right:3%;top:12%;transform:rotate(8deg);}
.band-deco.d-br{right:4%;bottom:8%;transform:rotate(-6deg);}
.band-bolt .band-deco,.band-find .band-deco{color:#fff;opacity:.16;}
@media(max-width:720px){.band-deco{display:none;}}

/* --- the four cans, and the BOLT pair -------------------------------- */
.canrow{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:50px;align-items:end;}
.canrow figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:16px;}
.canrow img{width:100%;max-width:150px;height:auto;display:block;
  filter:drop-shadow(0 22px 28px rgba(6,40,58,.22));}
.canrow figcaption{font-family:var(--display);font-size:16px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--ink-3);}
@media(max-width:640px){.canrow{grid-template-columns:repeat(2,1fr);gap:26px;}}

/* --- icon strip: real pills, big enough to read at a glance ---------- */
.stripin{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;
  padding-block:26px;position:relative;z-index:2;}
.strippill{display:inline-flex;align-items:center;gap:11px;
  padding:13px 24px;border-radius:999px;
  background:rgba(255,255,255,.16);border:1.5px solid rgba(255,255,255,.32);
  backdrop-filter:blur(3px);
  font-family:var(--display);font-size:clamp(17px,1.9vw,22px);letter-spacing:.07em;
  text-transform:uppercase;color:#fff;line-height:1;white-space:nowrap;}
.strippill svg{width:24px;height:24px;flex:none;fill:none;stroke:#fff;stroke-width:1.6;
  stroke-linecap:round;stroke-linejoin:round;}
@media(max-width:520px){
  .strippill{font-size:15px;padding:11px 17px;gap:9px;white-space:normal;}
  .strippill svg{width:20px;height:20px;}
}

/* --- copy flanked by two cans ---------------------------------------- */
.flank{display:grid;grid-template-columns:210px minmax(0,1fr) 210px;gap:26px;align-items:center;}
.flank-mid{text-align:center;display:flex;flex-direction:column;align-items:center;}
.flank-mid p{max-width:56ch;}
.flank img{width:100%;height:auto;display:block;filter:drop-shadow(0 22px 28px rgba(6,40,58,.2));}
.flank-l{transform:rotate(-6deg) translateX(7%);}
.flank-r{transform:rotate(6deg) translateX(-7%);}
@media(max-width:820px){
  .flank{grid-template-columns:1fr;}
  .flank-l,.flank-r{max-width:150px;margin-inline:auto;}
  .flank-r{order:3;}
}

/* --- three flavour cards --------------------------------------------- */
.flavgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:46px;}
.flavcard{background:var(--cream);border-radius:24px;padding:26px 24px 28px;text-align:center;
  border:1px solid rgba(22,18,31,.07);display:flex;flex-direction:column;align-items:center;gap:13px;
  transition:transform .2s ease,box-shadow .2s ease;}
.flavcard:hover{transform:translateY(-4px);box-shadow:0 20px 38px -20px rgba(22,18,31,.35);}
.flavcard img{width:100%;max-width:132px;height:auto;display:block;margin-bottom:10px;
  filter:drop-shadow(0 18px 22px rgba(6,40,58,.2));}
.flavcard h3{font-size:30px;line-height:1;color:var(--ink);margin:0;}
.flavcard h3 small{display:block;font-family:var(--display);font-size:13px;letter-spacing:.2em;
  text-transform:uppercase;margin-top:10px;}
.f-mango h3 small{color:var(--orange);}
.f-rasp  h3 small{color:var(--pink);}
.f-pine  h3 small{color:#C79A00;}
.flavcard p{font-size:14.5px;line-height:1.6;margin:0;max-width:none;}
@media(max-width:760px){.flavgrid{grid-template-columns:1fr;}}

/* --- BOLT ------------------------------------------------------------- */
.band-bolt::after{content:"";position:absolute;inset:0;
  background:radial-gradient(85% 70% at 78% 26%,rgba(255,59,59,.34),transparent 62%);}
.boltgrid{display:grid;grid-template-columns:1.02fr .98fr;gap:40px;align-items:center;}
.band-bolt .band-h,.band-find .band-h{color:#fff;}
.band-bolt .band-eyebrow{color:#FF6B5E;}
.band-bolt p{color:rgba(255,255,255,.80);}
.band-bolt strong{color:#fff;}
.band-bolt p.band-kick{color:#FF6B5E;}
/* Stacked rather than absolutely positioned: a flex gap guarantees the seal
   never lands on the cans, whatever the viewport does to their size. */
.boltart{display:flex;flex-direction:column;align-items:center;gap:26px;}
.boltart .stamp{width:clamp(106px,12.5vw,152px);height:auto;display:block;
  transform:rotate(-9deg);filter:drop-shadow(0 10px 22px rgba(0,0,0,.5));}
.boltcans{position:relative;display:flex;justify-content:center;align-items:flex-start;}
.boltcans .can{width:clamp(132px,15.5vw,194px);height:auto;display:block;
  filter:drop-shadow(0 32px 38px rgba(0,0,0,.62));}
.boltcans .can.a{transform:rotate(-13deg);margin-right:-13%;z-index:2;}
.boltcans .can.b{transform:rotate(13deg);margin-left:-13%;margin-top:5%;z-index:1;}
.boltnames{display:inline-flex;align-items:center;gap:10px;white-space:nowrap;
  padding:10px 22px;border-radius:999px;
  background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.2);}
.boltnames b{font-family:var(--display);font-size:15px;letter-spacing:.13em;text-transform:uppercase;
  color:#fff;font-weight:400;}
.boltnames i{font-style:normal;color:#FF6B5E;font-size:14px;}
@media(max-width:520px){
  .boltart{gap:20px;}
  .boltcans .can{width:124px;}
}
@media(max-width:820px){.boltgrid{grid-template-columns:1fr;gap:32px;}}

/* --- kava / magnolia split ------------------------------------------- */
.splitgrid{display:grid;grid-template-columns:300px minmax(0,1fr);gap:44px;align-items:center;}
.splitgrid.rev{grid-template-columns:minmax(0,1fr) 300px;}
.splitgrid.rev .splitart{order:2;}
.splitart{position:relative;display:grid;place-items:center;}
.splitart::before{content:"";position:absolute;width:78%;aspect-ratio:1;border-radius:50%;
  background:rgba(255,255,255,.55);z-index:0;}
.splitart img{position:relative;z-index:1;width:100%;max-width:206px;height:auto;display:block;
  filter:drop-shadow(0 26px 32px rgba(6,40,58,.26));}
@media(max-width:820px){
  .splitgrid,.splitgrid.rev{grid-template-columns:1fr;gap:26px;}
  .splitgrid.rev .splitart{order:0;}
  .splitart img{max-width:172px;}
}

/* --- ingredient pills ------------------------------------------------- */
.pillrow{display:flex;flex-wrap:wrap;gap:12px;margin-top:42px;justify-content:center;}
.bigpill{font-family:var(--display);font-size:clamp(20px,2.6vw,30px);letter-spacing:.05em;
  padding:12px 28px;border-radius:999px;color:#fff;line-height:1;}
.bigpill.p1{background:linear-gradient(100deg,var(--purple),var(--pink));}
.bigpill.p2{background:linear-gradient(100deg,var(--orange),var(--yellow));color:#5A3B00;}
.bigpill.p3{background:linear-gradient(100deg,#FF4D9D,#FF8A3D);}
.bigpill.p4{background:linear-gradient(100deg,var(--teal),var(--lime));color:#08423E;}

/* --- lab testing: the six panels as pills, centred -------------------- */
.testpills{list-style:none;margin:36px 0 0;padding:0;display:flex;flex-wrap:wrap;
  justify-content:center;gap:10px;}
.testpills li{display:inline-flex;align-items:center;gap:9px;
  padding:11px 20px;border-radius:999px;background:var(--cream);
  border:1px solid rgba(22,18,31,.1);
  font-family:var(--display);font-size:16px;letter-spacing:.08em;text-transform:uppercase;
  color:var(--ink);line-height:1;}
.testpills li::before{content:"";width:8px;height:8px;border-radius:50%;background:#1F9D63;flex:none;}

/* --- find your drink -------------------------------------------------- */
.findgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:40px;}
.findcard{display:flex;flex-direction:column;gap:10px;padding:26px 22px;border-radius:20px;
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);text-decoration:none;
  transition:transform .2s ease,background .2s ease,border-color .2s ease;}
.findcard:hover{transform:translateY(-4px);background:rgba(255,255,255,.13);border-color:rgba(255,255,255,.34);}
.findcard b{font-family:var(--display);font-size:21px;letter-spacing:.04em;color:#fff;font-weight:400;}
.findcard span{font-size:14px;color:rgba(255,255,255,.68);line-height:1.5;}
.band-find p.band-note{color:rgba(255,255,255,.55);}
.band-find p.band-note strong{color:#fff;}
@media(max-width:900px){.findgrid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:520px){.findgrid{grid-template-columns:1fr;}}

/* The intro sits outside the reading column so it holds one line on a
   desktop, and wraps normally once the screen is narrower than it. */
.faq-intro{max-width:none;margin:0 0 38px;font-size:17px;line-height:1.72;color:var(--ink-2);}
/* .prose>*:first-child zeroes the following heading's top margin, so the
   space between the two has to come from the intro itself. */
.faq-intro a{color:var(--purple);text-decoration:underline;text-underline-offset:3px;
  text-decoration-thickness:1.5px;}
.faq-intro a:hover{color:var(--pink);}
@media(max-width:1180px){.faq-intro{font-size:16px;}}

/* The FDA line sits outside the reading column so it holds one line on a
   desktop; it still wraps normally once the screen is narrower than it. */
.fda-line{max-width:none;margin:38px 0 0;font-size:12.5px;line-height:1.6;color:var(--ink-3);}
@media(max-width:1080px){.fda-line{font-size:12px;}}

/* The recall page is one sentence. Give it the room to be the whole page
   rather than a stray line at the top of an empty column. */
.recall-state{max-width:20ch;margin:clamp(24px,5vw,60px) auto clamp(40px,7vw,90px);
  font-family:var(--display);font-size:clamp(30px,4.6vw,58px);line-height:1.06;
  letter-spacing:.01em;text-align:center;color:var(--ink);text-wrap:balance;}

/* The decoy field. Moved off-screen rather than display:none — a scripted
   filler that walks the DOM still finds and fills it, which is the point. */
.lh-hp{position:absolute !important;left:-9999px !important;top:auto !important;
  width:1px !important;height:1px !important;overflow:hidden !important;}

/* ============================================================
   Shop archive.

   The default WooCommerce loop is not rendered (see
   archive-product.php), so nothing here has to fight Woo's
   own ul.products grid + li.product float. Namespaced
   .shopcard* so it cannot collide with Woo markup either.
   ============================================================ */

.shopgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(272px,332px));gap:24px;
  align-items:stretch;justify-content:center;}
@media(max-width:1080px){.shopgrid{grid-template-columns:repeat(auto-fit,minmax(248px,330px));gap:20px;}}
@media(max-width:600px){.shopgrid{grid-template-columns:minmax(0,420px);}}

.shopcard{display:flex;flex-direction:column;background:#fff;border-radius:22px;overflow:hidden;
  border:1px solid rgba(22,18,31,.08);box-shadow:0 10px 30px rgba(22,18,31,.06);
  transition:transform .2s ease,box-shadow .2s ease;}
.shopcard:hover{transform:translateY(-4px);box-shadow:0 20px 46px rgba(22,18,31,.11);}
@media (prefers-reduced-motion:reduce){.shopcard,.shopcard:hover{transition:none;transform:none;}}

.shopcard__art{display:flex;align-items:center;justify-content:center;padding:26px 20px 20px;
  background:linear-gradient(165deg,var(--p1,#F6EFE6),var(--p2,#EFE4D8));}
.shopcard__art.is-dark{background:linear-gradient(165deg,var(--p1,#1A1030),var(--p2,#0C0718));}
.shopcard__art img{width:auto;height:190px;max-width:100%;object-fit:contain;
  filter:drop-shadow(0 14px 26px rgba(0,0,0,.26));}
@media(max-width:1080px){.shopcard__art img{height:210px;}}

.shopcard__body{display:flex;flex-direction:column;flex:1;padding:22px 20px 20px;}

.shopcard__body{text-align:center;}
.shopcard__kicker{margin:0;font-family:"Bebas Neue","Montserrat",Impact,sans-serif;font-size:12.5px;
  letter-spacing:.2em;text-transform:uppercase;color:var(--acc,#7B3DF5);}
.shopcard__name{margin:7px 0 0;font-family:"Bebas Neue","Montserrat",Impact,sans-serif;
  font-size:26px;line-height:1.02;text-transform:uppercase;}
/* .shopgrid prefix so this clears .lh-woo a:not(.btn), which is (0,2,1). */
.shopgrid .shopcard__name a{color:var(--ink,#16121F);text-decoration:none;}
.shopgrid .shopcard__name a:hover{color:var(--purple);text-decoration:underline;text-underline-offset:3px;}
.shopcard__hook{margin:9px 0 0;font-size:14.5px;line-height:1.55;color:var(--ink-2,#4A4358);}

.shopcard__specs{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px;justify-content:center;}
.shopcard__specs li{font-size:11.5px;line-height:1.35;letter-spacing:.02em;padding:6px 11px;border-radius:999px;
  background:rgba(22,18,31,.055);color:var(--ink-2,#4A4358);max-width:100%;
  overflow-wrap:anywhere;text-align:center;}

.shopcard__foot{margin-top:auto;padding-top:16px;}
.shopcard__price{margin:0 0 12px;font-size:14px;color:var(--ink-2,#4A4358);display:flex;
  align-items:baseline;gap:6px;flex-wrap:wrap;justify-content:center;}
.shopcard__price strong{font-size:19px;color:var(--ink,#16121F);font-weight:800;}
.shopcard__to{font-size:13px;color:var(--ink-3,#6B6478);font-weight:500;}
.shopcard__cta{width:100%;justify-content:center;text-align:center;}

.shopnote{margin:34px 0 0;font-size:13px;line-height:1.7;color:var(--ink-3,#6B6478);text-align:center;}
.shopnote strong{color:var(--ink-2,#4A4358);}

/* ---- shop sections ---- */
.shopsec{padding:0;margin-top:54px;}
.shopsec:first-of-type{margin-top:4px;}
.shopsec__head{max-width:62ch;margin:0 auto 24px;text-align:center;}
.shopsec__eyebrow{margin:0;font-family:"Bebas Neue","Montserrat",Impact,sans-serif;font-size:13px;
  letter-spacing:.22em;text-transform:uppercase;color:var(--purple);}
.shopsec__title{margin:6px 0 0;font-family:"Bebas Neue","Montserrat",Impact,sans-serif;
  font-size:clamp(30px,4.4vw,42px);line-height:1;text-transform:uppercase;color:var(--ink);}
.shopsec__note{margin:10px 0 0;font-size:15.5px;line-height:1.62;color:var(--ink-2);}

/* ============================================================
   Floating cart button.

   Sits under the age gate (2147483000) and the ID / club modals
   (2147482000) so it can never cover a dialog. Namespaced
   .lh-fab* — Woo has its own .cart, .cart-contents and
   .wc-block-mini-cart, and this must collide with none of them.
   ============================================================ */

.lh-fab-wrap{position:fixed;right:22px;bottom:22px;z-index:2147481000;}
@supports(bottom:env(safe-area-inset-bottom)){
  .lh-fab-wrap{bottom:calc(22px + env(safe-area-inset-bottom));}
}
@media(max-width:600px){.lh-fab-wrap{right:14px;bottom:14px;}
  @supports(bottom:env(safe-area-inset-bottom)){
    .lh-fab-wrap{bottom:calc(14px + env(safe-area-inset-bottom));}}}

.lh-fab{display:none;align-items:center;justify-content:center;gap:9px;
  min-width:60px;height:60px;padding:0 20px;border-radius:999px;text-decoration:none;color:#fff;
  background:linear-gradient(100deg,var(--purple,#7B3DF5),var(--pink,#FF4D9D));
  box-shadow:0 14px 34px rgba(255,77,157,.42),0 3px 10px rgba(22,18,31,.22);
  transition:transform .2s ease,box-shadow .2s ease;}
.lh-fab.is-on{display:inline-flex;}
.lh-fab:hover{transform:translateY(-3px);box-shadow:0 20px 42px rgba(255,77,157,.52),0 4px 12px rgba(22,18,31,.26);}
.lh-fab:focus-visible{outline:3px solid #fff;outline-offset:3px;}
@media(max-width:600px){.lh-fab{min-width:54px;height:54px;padding:0 17px;gap:7px;}}

.lh-fab__ico{display:flex;width:23px;height:23px;}
.lh-fab__ico svg{width:100%;height:100%;fill:none;stroke:#fff;stroke-width:2;
  stroke-linecap:round;stroke-linejoin:round;}

.lh-fab__n{font-family:var(--display,"Bebas Neue",Impact,sans-serif);font-size:19px;
  line-height:1;letter-spacing:.04em;padding-top:2px;}

/* a small kick when the count goes up, so the button is noticed */
@keyframes lh-fab-pop{0%{transform:scale(1)}38%{transform:scale(1.16)}100%{transform:scale(1)}}
.lh-fab.is-pop{animation:lh-fab-pop .42s cubic-bezier(.2,.9,.3,1);}
@media (prefers-reduced-motion:reduce){
  .lh-fab,.lh-fab:hover{transition:none;transform:none;}
  .lh-fab.is-pop{animation:none;}}

/* footer policy row, postal address and billing descriptor — see neon.css for
   the styled version; these are the fallbacks if the neon layer is absent */
/* it is a <nav>, so it inherits the masthead nav's space-between and padding
   unless both are put back — the same broad-selector trap as .bub was */
.fpolicy{display:flex;flex-wrap:wrap;gap:10px 26px;justify-content:flex-start;
  align-items:baseline;margin-top:30px;padding-block:22px 0;
  border-top:1px solid #262233;}
.fpolicy a{font-size:13px;color:#9E93B8;text-decoration:none;}
.fpolicy a:hover{color:#fff;}
.faddress{display:block;font-style:normal;margin-top:14px;font-size:13.5px;line-height:1.7;color:#9E93B8;}
.legal .descriptor{display:block;margin-top:16px;font-weight:700;color:#C9BEE0;}
.prose-address{display:block;font-style:normal;line-height:1.8;}
.policy-date{font-size:13.5px;letter-spacing:.06em;text-transform:uppercase;margin-bottom:26px;}
