/* Layout: fruit-poster. One loud hero with a live can, colour blocks per flavour, a nutrition-panel proof section, everything funnelling to one email field. Single bright look on purpose. */
:root{
  --guava:#ff4d7d;
  --guava-deep:#e0225a;
  --kokum:#3b0f35;
  --mango:#ffb320;
  --lime:#c9ec4a;
  --paper:#fff7ee;
  --ink:#2a0c26;
  --ink-soft:#6d4766;
  --line:#ecd9d3;
  --can:var(--guava);
  --display:"Bricolage Grotesque", "Arial Narrow", system-ui, sans-serif;
  --body:"Instrument Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;
  color-scheme:light;
}
*{box-sizing:border-box}
html,body{margin:0}
[hidden]{display:none!important}
img,svg{max-width:100%}
html{scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit}
.wrap{max-width:1120px;margin:0 auto;padding-inline:20px}
h1,h2,h3{font-family:var(--display);line-height:.95;letter-spacing:-.02em;text-wrap:balance;margin:0}
p{margin:0}
.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:700}
:focus-visible{outline:3px solid var(--ink);outline-offset:3px;border-radius:6px}


/* top bar */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--paper);border-bottom:2px solid var(--ink)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-block:12px}
.logo{font-family:var(--display);font-weight:800;font-size:28px;letter-spacing:-.04em;text-decoration:none;font-stretch:80%}
.logo span{color:var(--guava-deep)}
.nav{display:flex;gap:20px;align-items:center;font-weight:500;font-size:15px}
.nav a{text-decoration:none}
.nav a:hover{text-decoration:underline;text-underline-offset:4px}
.nav .hide-sm{display:none}
@media (min-width:760px){.nav .hide-sm{display:inline}}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--body);font-weight:600;font-size:16px;border:2px solid var(--ink);background:var(--ink);color:var(--paper);border-radius:999px;padding:12px 20px;cursor:pointer;text-decoration:none;transition:transform .15s ease, box-shadow .15s ease;box-shadow:0 0 0 var(--ink)}
.btn:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--ink)}
.btn.sm{padding:8px 16px;font-size:14px}
.btn.light{background:var(--paper);color:var(--ink)}

/* hero */
.hero{background:var(--can);transition:background .5s ease;border-bottom:2px solid var(--ink);overflow:hidden;position:relative}
.hero .wrap{display:grid;grid-template-columns:1fr;gap:28px;padding-block:40px 48px;align-items:center}
@media (min-width:900px){.hero .wrap{grid-template-columns:1.25fr .75fr;padding-block:72px 80px}}
.hero-copy{min-width:0;display:grid;gap:22px}
.hero h1{font-size:clamp(56px,13vw,132px);font-weight:800;font-stretch:78%;color:var(--ink)}
.hero h1 .fun{display:inline-block;background:var(--paper);padding:0 .12em;border-radius:.12em;transform:rotate(-3deg);box-shadow:5px 5px 0 var(--ink)}
.hero h1 .tail{display:block;font-size:.5em;font-stretch:90%;margin-top:.18em;font-weight:700}
.hero .lede{font-size:clamp(18px,2.4vw,21px);max-width:34ch;font-weight:500}
.signup{display:grid;gap:10px;max-width:520px}
.field-row{display:flex;flex-wrap:wrap;gap:8px;background:var(--paper);border:2px solid var(--ink);border-radius:999px;padding:6px;box-shadow:5px 5px 0 var(--ink)}
.field-row input{flex:1 1 180px;min-width:0;border:0;background:transparent;font:inherit;font-size:17px;padding:10px 14px;color:var(--ink)}
.field-row input:focus{outline:none}
.field-row:focus-within{outline:3px solid var(--ink);outline-offset:3px}
.perk{font-size:14px;font-weight:500;display:flex;gap:8px;align-items:flex-start}
.perk b{font-weight:700}
.pick{font-size:14px;font-weight:500}
.pick strong{font-weight:700}
.signup .ok{background:var(--paper);border:2px solid var(--ink);border-radius:18px;padding:16px 18px;box-shadow:5px 5px 0 var(--ink)}
.signup .ok h3{font-size:28px;font-stretch:85%;margin-bottom:6px}
.signup .err{font-size:14px;font-weight:600}

/* can */
.can-stage{position:relative;display:grid;place-items:center;min-height:360px}
.can{width:min(210px,52vw);aspect-ratio:1/1.9;position:relative;transform:rotate(8deg);animation:bob 5s ease-in-out infinite;filter:drop-shadow(10px 14px 0 rgba(42,12,38,.9))}
.can svg{width:100%;height:100%;display:block}
@keyframes bob{0%,100%{transform:rotate(8deg) translateY(0)}50%{transform:rotate(5deg) translateY(-12px)}}
.bubble{position:absolute;bottom:-20px;border:2px solid var(--ink);border-radius:50%;background:rgba(255,247,238,.55);animation:rise linear infinite}
@keyframes rise{from{transform:translateY(0);opacity:0}10%{opacity:1}to{transform:translateY(-460px);opacity:0}}
.sticker{position:absolute;z-index:2;top:8%;right:4%;width:108px;height:108px;border-radius:50%;background:var(--lime);border:2px solid var(--ink);display:grid;place-items:center;text-align:center;font-family:var(--display);font-weight:800;font-size:18px;line-height:1;transform:rotate(12deg);font-stretch:85%}
.sticker small{display:block;font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.06em;margin-top:4px}

/* ticker */
.ticker{background:var(--ink);color:var(--paper);overflow:hidden;border-bottom:2px solid var(--ink)}
.ticker-track{display:flex;gap:40px;width:max-content;padding-block:14px;animation:slide 28s linear infinite;font-family:var(--display);font-weight:700;font-size:22px;font-stretch:85%;text-transform:uppercase;letter-spacing:.01em}
.ticker-track span::after{content:"✺";margin-left:40px;color:var(--mango)}
@keyframes slide{to{transform:translateX(-50%)}}

/* sections */
section{padding-block:72px}
.sec-head{display:grid;gap:12px;margin-bottom:36px;max-width:640px}
.sec-head h2{font-size:clamp(40px,7vw,72px);font-weight:800;font-stretch:80%}
.sec-head p{color:var(--ink-soft);font-size:18px}

/* flavours */
.flavours{display:grid;grid-template-columns:1fr;gap:18px}
@media (min-width:760px){.flavours{grid-template-columns:repeat(3,1fr)}}
.flav{--c:var(--guava);background:var(--c);border:2px solid var(--ink);border-radius:24px;padding:22px;display:grid;grid-template-rows:auto auto 1fr auto;gap:12px;min-width:0;transition:transform .2s ease, box-shadow .2s ease}
.flav:hover{transform:translateY(-4px)}
.flav[aria-pressed="true"]{box-shadow:6px 6px 0 var(--ink)}
.flav.kokum{--c:#8a2a6e;color:var(--paper)}
.flav.mango{--c:var(--mango)}
.flav .meta{display:flex;justify-content:space-between;gap:8px;font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.flav h3{font-size:44px;font-weight:800;font-stretch:78%}
.flav p{font-size:16px}
.flav button{justify-self:start;font:inherit;font-weight:600;font-size:15px;border:2px solid currentColor;background:transparent;color:inherit;border-radius:999px;padding:9px 16px;cursor:pointer}
.flav[aria-pressed="true"] button{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.flav.kokum[aria-pressed="true"] button{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.note{margin-top:18px;font-size:14px;color:var(--ink-soft)}

/* sugar panel */
.sugar{background:var(--lime);border-block:2px solid var(--ink)}
.sugar-grid{display:grid;grid-template-columns:1fr;gap:32px;align-items:start}
@media (min-width:900px){.sugar-grid{grid-template-columns:1fr 1fr;gap:56px}}
.sugar .sec-head p{color:var(--ink)}
.panel{background:var(--paper);border:3px solid var(--ink);padding:18px 18px 14px;font-family:var(--mono);min-width:0}
.panel .ptitle{font-family:var(--display);font-weight:800;font-size:34px;font-stretch:80%;border-bottom:10px solid var(--ink);padding-bottom:6px;margin-bottom:8px}
.panel .row{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--ink);padding-block:7px;font-size:14px}
.panel .row.big{border-bottom:5px solid var(--ink);font-weight:700;font-size:15px}
.cubes{display:grid;gap:18px;margin-top:4px}
.cube-row{display:grid;gap:8px}
.cube-row .lbl{display:flex;justify-content:space-between;gap:12px;font-family:var(--mono);font-size:13px;font-weight:700}
.cube-line{display:flex;flex-wrap:wrap;gap:6px}
.cube{width:30px;height:30px;background:var(--paper);border:2px solid var(--ink);border-radius:5px;box-shadow:2px 2px 0 var(--ink)}
.cube.half{width:15px}
.cube.part{width:9px}
.panel .fine{font-family:var(--body);font-size:12px;color:var(--ink-soft);margin-top:12px;line-height:1.45}

/* founder */
.founder-grid{display:grid;grid-template-columns:1fr;gap:28px;align-items:center}
@media (min-width:900px){.founder-grid{grid-template-columns:.8fr 1.2fr;gap:56px}}
.ticket{background:var(--mango);border:2px solid var(--ink);border-radius:20px;padding:24px;transform:rotate(-3deg);box-shadow:8px 8px 0 var(--ink);max-width:340px;justify-self:center;width:100%;display:grid;gap:14px;position:relative}
.ticket::before,.ticket::after{content:"";position:absolute;top:50%;width:26px;height:26px;border-radius:50%;background:var(--paper);border:2px solid var(--ink);transform:translateY(-50%)}
.ticket::before{left:-15px}.ticket::after{right:-15px}
.ticket .t-top{font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;border-bottom:2px dashed var(--ink);padding-bottom:12px}
.ticket .t-big{font-family:var(--display);font-weight:800;font-size:46px;line-height:.9;font-stretch:78%}
.ticket .t-row{display:flex;justify-content:space-between;gap:12px;font-family:var(--mono);font-size:13px;font-weight:700;border-top:2px dashed var(--ink);padding-top:12px}
.founder-copy{display:grid;gap:18px;min-width:0}
.founder-copy h2{font-size:clamp(40px,7vw,68px);font-weight:800;font-stretch:80%}
.founder-copy p{font-size:18px;max-width:58ch}
.facts{display:flex;flex-wrap:wrap;gap:10px}
.chip{border:2px solid var(--ink);border-radius:999px;padding:6px 14px;font-weight:600;font-size:14px;background:var(--paper)}

/* journal */
.journal{background:var(--kokum);color:var(--paper)}
.journal .sec-head p{color:#e7c9df}
.posts{display:grid;grid-template-columns:1fr;gap:0;border-top:2px solid var(--paper)}
.post{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;padding-block:22px;border-bottom:2px solid var(--paper);text-decoration:none}
.post h3{font-size:clamp(24px,3.6vw,34px);font-weight:700;font-stretch:85%;line-height:1.05}
.post p{font-size:15px;color:#e7c9df;margin-top:6px;max-width:60ch}
.post .arrow{font-family:var(--display);font-size:36px;transition:transform .2s ease}
.post:hover .arrow{transform:translateX(6px)}
.post:hover h3{color:var(--mango)}

/* faq */
.faq{display:grid;gap:12px;max-width:760px}
details{border:2px solid var(--ink);border-radius:18px;background:#fff;padding:0}
summary{cursor:pointer;list-style:none;padding:18px 20px;font-family:var(--display);font-weight:700;font-size:22px;font-stretch:88%;display:flex;justify-content:space-between;gap:12px}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font-size:28px;line-height:.8}
details[open] summary::after{content:"–"}
details p{padding:0 20px 18px;color:var(--ink-soft)}

/* final cta */
.final{background:var(--guava);border-top:2px solid var(--ink);text-align:left}
.final .wrap{display:grid;gap:22px}
.final h2{font-size:clamp(56px,12vw,140px);font-weight:800;font-stretch:76%}
footer{background:var(--ink);color:var(--paper);padding-block:28px;font-size:14px}
footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px}

/* sticky mobile cta */
.dock{position:fixed;left:0;right:0;bottom:0;z-index:30;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));background:var(--paper);border-top:2px solid var(--ink);display:flex;gap:10px;align-items:center;justify-content:space-between;transform:translateY(110%);transition:transform .3s ease}
.dock.on{transform:none}
.dock span{font-weight:600;font-size:14px}
@media (min-width:900px){.dock{display:none}}

@media (prefers-reduced-motion:reduce){
  .can,.bubble,.ticker-track{animation:none}
  .bubble{display:none}
  html{scroll-behavior:auto}
  *{transition:none!important}
}

.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* journal article pages */
.article{max-width:720px;margin:0 auto;padding-block:56px 72px;padding-inline:20px}
.article .back{font-weight:600;text-decoration:none;font-size:15px}
.article .back:hover{text-decoration:underline;text-underline-offset:4px}
.article h1{font-size:clamp(40px,8vw,68px);font-weight:800;font-stretch:80%;margin-block:20px 12px}
.article .date{font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:32px}
.article p{font-size:19px;line-height:1.65;margin-bottom:20px;max-width:62ch}
.article .cta{margin-top:40px;padding:24px;background:var(--guava);border:2px solid var(--ink);border-radius:20px;box-shadow:5px 5px 0 var(--ink);display:grid;gap:14px}
.article .cta h2{font-size:34px;font-weight:800;font-stretch:80%}
