:root {
  --ink: #05070d;
  --ink-2: #0d1118;
  --card: rgba(16, 21, 39, .78);
  --white: #f7f5ef;
  --muted: #aeb7c4;
  --cyan: #61d9f6;
  --cyan-soft: #ddf7ff;
  --violet: #7c3aed;
  --pink: #ff3d6e;
  --mango: #ffab2e;
  --line: rgba(247, 245, 239, .15);
  --control-line: rgba(247, 245, 239, .38);
  --display: "Syne", sans-serif;
  --body: "Manrope", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--ink); }
body { margin: 0; min-width: 320px; overflow-x: hidden; background: var(--ink); color: var(--white); font-family: var(--body); font-size: 16px; line-height: 1.6; }
body.panel-open, body.age-locked { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button, input, select { font: inherit; }
button { color: inherit; }
img { display: block; max-width: 100%; }
.sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }
.skip-link { position: fixed; z-index: 200; top: 12px; left: 12px; min-height: 44px; padding: 10px 16px; border-radius: 999px; background: var(--white); color: var(--ink); font-weight: 800; transform: translateY(-140%); transition: transform .2s ease; }
.skip-link:focus { transform: translateY(0); }
.noise { position: fixed; inset: 0; pointer-events: none; opacity: .035; z-index: 20; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.9'/%3E%3C/svg%3E"); }

.site-header { position: absolute; z-index: 10; top: 0; left: 0; right: 0; height: 92px; padding: 0 clamp(22px, 5vw, 80px); display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; border-bottom: 1px solid rgba(255,255,255,.08); }
.brand { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; width: max-content; font-family: var(--display); letter-spacing: .1em; font-size: .82rem; }
.brand-name { display: grid; line-height: 1; gap: 3px; }
.brand strong { color: var(--white); font-weight: 800; }
.brand small { color: var(--cyan); font: 600 .75rem var(--body); letter-spacing: .12em; }
.brand-mark { width: 42px; height: 42px; object-fit: contain; filter: drop-shadow(0 0 8px rgba(97,217,246,.2)); }
.desktop-nav { display: flex; align-items: center; gap: 34px; font-size: .85rem; font-weight: 700; }
.desktop-nav a { position: relative; display: inline-flex; align-items: center; min-height: 44px; color: #d7deea; }
.desktop-nav a::after { content: ""; position: absolute; height: 1px; left: 0; right: 100%; bottom: -8px; background: var(--cyan); transition: right .25s ease; }
.desktop-nav a:hover::after, .desktop-nav a:focus-visible::after { right: 0; }
.cart-button { min-height: 44px; justify-self: end; border: 1px solid var(--control-line); border-radius: 999px; background: rgba(5,7,13,.66); padding: 7px 8px 7px 18px; font-size: .875rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; cursor: pointer; backdrop-filter: blur(12px); }
.cart-count { display: inline-grid; place-items: center; margin-left: 9px; width: 30px; height: 30px; border-radius: 50%; background: var(--cyan); color: #071016; }

.hero { min-height: 100svh; position: relative; display: grid; grid-template-columns: minmax(0, .95fr) minmax(420px, 1.15fr); gap: clamp(24px, 4vw, 76px); align-items: center; padding: 135px clamp(22px, 6.5vw, 110px) 86px; overflow: hidden; background: radial-gradient(circle at 82% 32%, rgba(97,217,246,.075), transparent 31%), linear-gradient(145deg, #05070d 0%, #080b13 100%); }
.hero::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(circle at 15% 16%, #f7f5ef80 0 1px, transparent 2px), radial-gradient(circle at 53% 24%, #f7f5ef70 0 1px, transparent 2px), radial-gradient(circle at 94% 76%, #f7f5ef70 0 1px, transparent 2px); }
.hero-glow { position: absolute; border-radius: 50%; filter: blur(85px); opacity: .16; pointer-events: none; }
.hero-glow-one { width: 230px; height: 230px; background: var(--cyan); left: -160px; top: 25%; }
.hero-glow-two { width: 190px; height: 190px; background: var(--cyan); right: 4%; bottom: -130px; }
.hero-copy { position: relative; z-index: 2; max-width: 650px; }
.eyebrow { margin: 0 0 20px; color: #c0c7d0; font-size: .875rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.eyebrow span { display: inline-block; width: 26px; height: 2px; margin: 0 9px 3px 0; background: var(--cyan); box-shadow: 0 0 12px var(--cyan); }
h1, h2, h3 { font-family: var(--display); margin: 0; line-height: 1.03; }
h1 { font-size: clamp(3.25rem, 6.6vw, 6.7rem); letter-spacing: -.065em; max-width: 850px; }
h1 em, h2 em { color: var(--cyan); font-style: normal; }
.hero-lead { max-width: 600px; margin: 32px 0 0; color: #b8c2d2; font-size: clamp(1rem, 1.25vw, 1.18rem); }
.hero-actions { display: flex; flex-wrap: wrap; gap: 13px; margin-top: 38px; }
.button { min-height: 51px; border-radius: 999px; padding: 0 24px; display: inline-flex; align-items: center; justify-content: center; gap: 14px; border: 1px solid transparent; font-size: .875rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; cursor: pointer; transition: transform .2s ease, border-color .2s ease, background .2s ease; }
.button:hover { transform: translateY(-2px); }
.button:disabled { opacity: .42; cursor: not-allowed; transform: none; box-shadow: none; }
.button:focus-visible, button:focus-visible, a:focus-visible, select:focus-visible, input:focus-visible { outline: 3px solid var(--cyan); outline-offset: 3px; }
.button-primary { background: var(--cyan); color: #071016; box-shadow: 0 0 18px rgba(97,217,246,.17); }
.button-ghost { background: rgba(255,255,255,.03); border-color: var(--line); }
.button-outline { background: transparent; border-color: rgba(255,255,255,.22); width: 100%; }
.button-light { color: #061014; background: var(--white); flex: 0 0 auto; }
.full { width: 100%; }
.hero-stats { display: flex; gap: clamp(28px, 4vw, 58px); margin-top: 55px; }
.hero-stats div { display: flex; flex-direction: column; }
.hero-stats strong { font: 700 1.3rem var(--display); color: var(--white); }
.hero-stats span { color: #9aa6b5; font-size: .875rem; text-transform: uppercase; letter-spacing: .06em; }
.hero-visual { position: relative; z-index: 1; justify-self: end; width: min(100%, 820px); }
.image-frame { position: relative; aspect-ratio: 1.28; border-radius: 34px 34px 84px 34px; overflow: hidden; background: #0b1020; box-shadow: 0 40px 90px rgba(0,0,0,.52), inset 0 0 0 1px rgba(255,255,255,.1); }
.image-frame::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(7,9,17,.3), transparent 30%), linear-gradient(0deg, rgba(7,9,17,.28), transparent 40%); pointer-events: none; }
.image-frame img { width: 100%; height: 100%; object-fit: cover; object-position: 68% 50%; }
.floating-note { position: absolute; z-index: 2; margin: 0; padding: 10px 16px; border: 1px solid var(--control-line); border-radius: 999px; background: rgba(5,7,13,.76); backdrop-filter: blur(16px); color: var(--white); font-size: .875rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; box-shadow: 0 12px 30px rgba(0,0,0,.35); }
.note-top { top: 15%; right: -2%; }
.note-bottom { bottom: 13%; left: -5%; }
.scroll-cue { position: absolute; bottom: 27px; left: 50%; transform: translateX(-50%); display: flex; flex-direction: column; align-items: center; gap: 6px; color: #8793a7; font-size: .875rem; letter-spacing: .18em; }
.scroll-cue span { height: 30px; width: 1px; background: linear-gradient(var(--cyan), transparent); }

.marquee { position: relative; height: 58px; overflow: hidden; border-block: 1px solid var(--line); background: #0a0d11; }
.marquee-track { width: max-content; display: flex; align-items: center; height: 100%; gap: 30px; animation: marquee 26s linear infinite; color: #acb8ca; font: 700 .75rem var(--display); letter-spacing: .12em; }
.marquee i { width: 6px; height: 6px; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 14px var(--cyan); }
.marquee.paused .marquee-track { animation-play-state: paused; }
.marquee-toggle { position: absolute; z-index: 2; top: 50%; right: 12px; min-width: 76px; min-height: 44px; transform: translateY(-50%); border: 1px solid var(--control-line); border-radius: 999px; background: rgba(5,7,13,.92); color: var(--white); font-size: .875rem; font-weight: 800; cursor: pointer; }
@keyframes marquee { to { transform: translateX(-50%); } }

.section { padding: clamp(88px, 11vw, 150px) clamp(22px, 6.5vw, 110px); }
.section-heading { display: grid; grid-template-columns: 1.15fr .85fr; gap: 50px; align-items: end; margin-bottom: 48px; }
.section-heading h2, .events h2, .social h2 { font-size: clamp(2.7rem, 5.2vw, 5.6rem); letter-spacing: -.055em; }
.section-heading > p { justify-self: end; max-width: 460px; color: var(--muted); margin: 0; }
.filter-row { display: flex; flex-wrap: wrap; gap: 9px; margin-bottom: 28px; }
.filter { min-height: 44px; border: 1px solid var(--control-line); border-radius: 999px; background: transparent; color: #b4bdca; padding: 9px 17px; font-size: .875rem; font-weight: 800; letter-spacing: .03em; cursor: pointer; }
.filter.active { background: var(--white); color: #071016; border-color: var(--white); }
.filter:disabled { opacity: .32; cursor: not-allowed; }
.mode-key { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin: -8px 0 28px; }
.mode-key p { flex: 1 1 310px; margin: 0 0 0 4px; color: var(--muted); font-size: .875rem; }
.mode-chip { display: inline-flex; align-items: center; gap: 8px; min-height: 38px; padding: 5px 12px; border: 1px solid var(--control-line); color: var(--white); font-size: .875rem; font-weight: 700; }
.mode-chip strong { font-family: var(--display); font-size: .9rem; }
.mode-chip-alcohol { border-radius: 999px; }
.mode-chip-zero { border: 2px solid var(--cyan); clip-path: polygon(12% 0, 88% 0, 100% 50%, 88% 100%, 12% 100%, 0 50%); padding-inline: 20px; }
.minor-mode .mode-chip-alcohol, .minor-mode .filter[data-filter="alcohol"] { display: none; }
.product-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: clamp(16px, 2vw, 28px); }
.product-card { position: relative; overflow: hidden; border: 1px solid var(--line); border-radius: 26px; background: linear-gradient(160deg, rgba(18,21,27,.9), rgba(9,12,16,.96)); transition: transform .35s ease, border-color .35s ease, opacity .25s ease; }
.product-card:hover { transform: translateY(-7px); border-color: rgba(110,226,255,.36); }
.product-card.filtered-out { display: none; }
.product-image { position: relative; aspect-ratio: 1 / 1.05; overflow: hidden; background: #0e1424; }
.product-image::after { content: ""; position: absolute; inset: auto 0 0; height: 42%; background: linear-gradient(transparent, rgba(9,12,22,.9)); }
.product-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.product-card:hover .product-image img { transform: scale(1.04); }
.product-number { position: absolute; z-index: 1; top: 18px; left: 18px; font: 700 .75rem var(--display); color: rgba(255,255,255,.6); }
.mode-badge { position: absolute; z-index: 1; top: 14px; right: 14px; min-height: 34px; display: inline-flex; align-items: center; padding: 6px 11px; background: rgba(5,7,13,.84); border: 1px solid var(--control-line); backdrop-filter: blur(12px); font-size: .875rem; font-weight: 800; letter-spacing: .02em; }
.mode-badge.alcohol-badge { border-radius: 999px; }
.mode-badge.zero-badge { border: 2px solid var(--cyan); border-radius: 5px; color: var(--cyan-soft); }
.product-content { padding: 24px; }
.flavor { margin: 0 0 10px; font-size: .875rem; color: var(--pink); font-weight: 800; letter-spacing: .07em; }
.product-mango .flavor { color: #ffb447; }
.product-lemonade .flavor { color: #edeea2; }
.product-purple .flavor { color: #bc94ff; }
.product-content h3 { font-size: clamp(1.55rem, 2vw, 2.2rem); }
.product-content > p:not(.flavor) { min-height: 77px; color: var(--muted); font-size: 1rem; }
.product-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-top: 17px; border-top: 1px solid var(--line); }
.product-footer > span { color: #929dad; font-size: .875rem; }
.product-footer > span strong { color: var(--white); font-size: .9rem; }
.add-button { min-height: 44px; display: flex; align-items: center; gap: 8px; border: 0; background: transparent; font-size: .875rem; font-weight: 800; text-transform: uppercase; cursor: pointer; }
.add-button b { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: var(--cyan); color: #041015; font-size: 1rem; }
.image-disclaimer { margin: 16px 0 0; color: #8f9aa9; font-size: .875rem; text-align: right; }
.toppings-banner { position: relative; overflow: hidden; margin-top: 28px; padding: 35px clamp(24px, 4vw, 58px); display: flex; align-items: center; justify-content: space-between; gap: 34px; border: 1px solid rgba(97,217,246,.2); border-radius: 25px; background: linear-gradient(115deg, #101823, #0d1118 62%, #101927); }
.toppings-banner h3 { font-size: clamp(1.8rem, 3vw, 3rem); }
.toppings-banner p:not(.eyebrow) { margin: 10px 0 0; color: #d7e0e9; }
.bubbles i { position: absolute; border-radius: 50%; background: rgba(255,255,255,.12); box-shadow: inset 0 0 15px rgba(255,255,255,.18); }
.bubbles i:nth-child(1) { width: 110px; height: 110px; right: 23%; top: -65px; }
.bubbles i:nth-child(2) { width: 44px; height: 44px; right: 15%; bottom: -12px; }
.bubbles i:nth-child(3) { width: 24px; height: 24px; left: 2%; top: 12%; }
.bubbles i:nth-child(4) { width: 70px; height: 70px; left: 42%; bottom: -48px; }
.bubbles i:nth-child(5) { width: 17px; height: 17px; right: 41%; top: 18%; }

.packs { background: #090c10; border-block: 1px solid var(--line); }
.pack-list { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; align-items: stretch; }
.pack-card { position: relative; display: flex; flex-direction: column; padding: 34px 25px 28px; border: 1px solid var(--line); border-radius: 25px; background: rgba(255,255,255,.018); }
.pack-card.featured { transform: translateY(-12px); background: linear-gradient(155deg, rgba(97,217,246,.11), rgba(97,217,246,.035)); border-color: rgba(97,217,246,.46); box-shadow: 0 24px 60px rgba(0,0,0,.3); }
.popular { position: absolute; top: -12px; right: 24px; padding: 6px 12px; border-radius: 999px; background: var(--cyan); color: #001217; font-size: .875rem; font-weight: 900; letter-spacing: .05em; }
.pack-kicker { color: var(--cyan); font-size: .875rem; font-weight: 800; letter-spacing: .08em; }
.pack-card h3 { margin-top: 16px; font-size: 2rem; }
.pack-size { margin-bottom: 0; color: var(--muted); }
.pack-size strong { margin-right: 8px; font: 800 3.8rem var(--display); color: var(--white); }
.pack-price { margin: 0 0 18px; color: var(--cyan-soft); font: 800 1.55rem var(--display); }
.pack-card ul { flex: 1; padding: 18px 0; margin: 0; list-style: none; border-top: 1px solid var(--line); }
.pack-card li { padding: 7px 0; color: #aab5c5; font-size: .84rem; }
.pack-card li::before { content: "✓"; color: var(--cyan); margin-right: 10px; }
.pricing-note { margin: 35px 0 0; text-align: center; color: #929dad; font-size: .875rem; }
.catalog-download { width: max-content; min-height: 44px; display: flex; align-items: center; gap: 10px; margin: 18px auto 0; color: var(--cyan); border-bottom: 1px solid rgba(97,217,246,.45); font-size: .875rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.catalog-download span { color: var(--muted); font-weight: 600; }

.events { background: radial-gradient(circle at 15% 50%, rgba(97,217,246,.06), transparent 33%), var(--ink); }
.events-card { position: relative; overflow: hidden; display: grid; grid-template-columns: 1.05fr .75fr; gap: clamp(40px, 8vw, 120px); padding: clamp(38px, 6vw, 82px); border: 1px solid rgba(97,217,246,.24); border-radius: 34px; background: linear-gradient(135deg, #101319, #090c11 70%); box-shadow: inset 0 0 90px rgba(97,217,246,.035); }
.events-orbit { position: absolute; width: 420px; height: 420px; border: 1px solid rgba(97,217,246,.11); border-radius: 50%; left: -180px; bottom: -240px; box-shadow: 0 0 0 60px rgba(97,217,246,.015), 0 0 0 120px rgba(97,217,246,.01); }
.events-copy { position: relative; z-index: 1; }
.events-copy > p:not(.eyebrow) { max-width: 590px; color: var(--muted); }
.event-tags { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 32px; }
.event-tags span { border: 1px solid var(--line); border-radius: 999px; padding: 8px 13px; color: #c1c9d6; font-size: .875rem; }
.quote-form { position: relative; z-index: 1; align-self: center; display: grid; gap: 15px; padding: 25px; border: 1px solid var(--line); border-radius: 22px; background: rgba(4,7,14,.55); backdrop-filter: blur(14px); }
.quote-form label { color: #bdc5d0; font-size: .875rem; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
.quote-form select, .quote-form input { width: 100%; margin-top: 7px; min-height: 48px; padding: 0 14px; color: var(--white); border: 1px solid var(--line); border-radius: 12px; background: #101522; color-scheme: dark; }
.quote-form select, .quote-form input { font-size: 1rem; }
.quote-form small { color: #98a3b2; font-size: .875rem; text-align: center; }

.social { position: relative; text-align: center; overflow: hidden; padding-top: 80px; }
.social-promo-card { position: relative; max-width: 1120px; margin: 0 auto; padding: clamp(46px, 7vw, 86px) clamp(22px, 8vw, 110px); overflow: hidden; border: 1px solid rgba(97,217,246,.25); border-radius: 34px; background: radial-gradient(circle at 15% 20%, rgba(97,217,246,.085), transparent 35%), linear-gradient(145deg, #111923, #0a0d13); box-shadow: 0 30px 90px rgba(0,0,0,.3); }
.social-promo-card::before { display: none; }
.social-promo-card > * { position: relative; z-index: 1; }
.social-line { width: 1px; height: 65px; margin: 0 auto 30px; background: linear-gradient(transparent, var(--cyan)); }
.social .eyebrow span { display: none; }
.social-promo-card > p:not(.eyebrow) { max-width: 670px; margin-inline: auto; color: var(--muted); font-size: 1rem; }
.discount-badge { display: inline-grid; place-items: center; min-width: 112px; min-height: 42px; margin-bottom: 23px; padding: 8px 16px; border-radius: 999px; color: #071016; background: var(--cyan); box-shadow: 0 0 34px rgba(97,217,246,.35); font: 900 .9rem var(--display); letter-spacing: .09em; }
.instagram-cta { margin-top: 20px; }
.social-promo-card small { display: block; margin-top: 18px; color: #aeb7c4; font-size: .875rem; }
.instagram-link { display: inline-flex; align-items: center; gap: 14px; margin: 20px 0 0; font: 700 clamp(1.1rem, 2vw, 1.5rem) var(--display); border-bottom: 1px solid var(--cyan); }
.instagram-link span { color: var(--cyan); }

footer { padding: 55px clamp(22px, 6.5vw, 110px) 28px; display: grid; grid-template-columns: 1fr 1.5fr auto; gap: 28px; align-items: center; border-top: 1px solid var(--line); background: #05070c; }
footer > p { color: #9aa5b4; font-size: .875rem; }
.footer-links { display: flex; gap: 24px; font-size: .875rem; font-weight: 700; }
.footer-links a { display: inline-flex; align-items: center; min-height: 44px; }
.legal { grid-column: 1 / -1; margin: 0; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.07); text-align: center; }

.panel-backdrop { position: fixed; z-index: 50; inset: 0; background: rgba(1,3,8,.72); opacity: 0; pointer-events: none; backdrop-filter: blur(5px); transition: opacity .3s ease; }
.panel-backdrop.visible { opacity: 1; pointer-events: auto; }
.order-panel { position: fixed; z-index: 51; top: 0; right: 0; width: min(100%, 460px); height: 100%; padding: 70px 34px 30px; background: #0b0e13; border-left: 1px solid var(--line); transform: translateX(102%); transition: transform .35s ease; overflow-y: auto; }
.order-panel.open { transform: translateX(0); }
.panel-close { position: absolute; top: 19px; right: 22px; width: 44px; height: 44px; border: 1px solid var(--control-line); border-radius: 50%; background: transparent; font-size: 1.6rem; cursor: pointer; }
.order-panel h2 { font-size: 2.5rem; }
.order-items { min-height: 150px; display: grid; gap: 8px; margin: 28px 0; }
.empty-order { align-self: center; color: #79869a; font-size: .86rem; }
.order-row { display: grid; grid-template-columns: 1fr auto; gap: 12px; align-items: center; padding: 12px 0; border-bottom: 1px solid var(--line); }
.order-row strong { font-size: .85rem; }
.order-product { display: grid; gap: 2px; }
.order-product span { color: var(--cyan-soft); font-size: .875rem; font-weight: 700; }
.quantity { display: flex; align-items: center; gap: 11px; }
.quantity button { width: 44px; height: 44px; border: 1px solid var(--control-line); border-radius: 50%; background: transparent; cursor: pointer; }
.quantity span { min-width: 16px; text-align: center; font-size: .8rem; }
.order-mode { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 8px; margin: 24px 0; padding: 0; border: 0; }
.order-mode legend { grid-column: 1 / -1; width: 100%; margin-bottom: 8px; color: #9fa9b8; font-size: .875rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.order-mode label { min-height: 44px; display: flex; align-items: center; justify-content: center; gap: 6px; padding: 10px 6px; border: 1px solid var(--control-line); border-radius: 10px; text-align: center; font-size: .875rem; }
.order-mode input { accent-color: var(--cyan); }
.order-total { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin: 7px 0 0; padding: 17px 0 12px; border-top: 1px solid var(--line); }
.order-total span { color: #9aa7ba; font-size: .875rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.order-total strong { color: var(--cyan-soft); font: 800 1.45rem var(--display); }
.order-breakdown { display: flex; align-items: baseline; justify-content: space-between; gap: 18px; margin: 10px 0; font-size: .9375rem; color: #a9b5c5; }
.order-breakdown strong { color: var(--white); text-align: right; font-weight: 600; }
.checkout-section{border-top:1px solid #ffffff22;padding-top:24px;margin:24px 0}.checkout-section h3{font-size:1.5rem;margin-bottom:12px}.checkout-note{color:#a9b5c5;font-size:.875rem;line-height:1.6;margin:12px 0}.checkout-section label{display:block;font-size:.875rem;margin:16px 0 6px}.checkout-section label span{color:#a9b5c5}.checkout-section input:not([type=checkbox]),.checkout-section select{width:100%;padding:12px;border:1px solid #ffffff35;border-radius:8px;color:#f7f5ef;background:#101923;font:inherit}.checkout-section .checkout-check{display:flex;gap:10px;align-items:flex-start;line-height:1.5}.checkout-check input{margin-top:4px;accent-color:#61d9f6}.checkout-error{color:#ff8fab;font-size:.9rem;line-height:1.5;margin:14px 0}.checkout-test{background:#61d9f620;border:1px solid #61d9f6;padding:12px;border-radius:8px;font-size:.875rem}.receipt-page{padding:48px 20px;max-width:700px;margin:auto;min-height:100vh}.receipt-page h1{font-size:clamp(2rem,6vw,3.5rem);margin:24px 0 16px}.receipt-card{background:#101923;border:1px solid #ffffff22;border-radius:16px;padding:24px;margin:24px 0}.receipt-page p{line-height:1.6}.receipt-page .button{margin:10px 0}.receipt-page textarea{width:100%;min-height:200px;color:#f7f5ef;background:#05070d;border:1px solid #ffffff33;padding:12px;font:inherit;line-height:1.5}.receipt-reference{overflow-wrap:anywhere;color:#a9b5c5;font-size:.85rem}.receipt-actions{display:flex;flex-wrap:wrap;gap:10px}
.order-total-note { margin: 0 0 18px; color: #8e9aaa; font-size: .875rem; }
.clear-order { min-height: 44px; display: block; margin: 18px auto 0; border: 0; border-bottom: 1px solid #6e7a8d; background: transparent; color: #a3adba; cursor: pointer; font-size: .875rem; }
.panel-help { text-align: center; color: #a3adba; font-size: .875rem; }

.age-gate { position: fixed; z-index: 100; inset: 0; display: grid; place-items: center; padding: 20px; overflow-y: auto; background: rgba(2,4,10,.9); backdrop-filter: blur(16px); opacity: 0; pointer-events: none; transition: opacity .3s ease; }
.age-gate.visible { opacity: 1; pointer-events: auto; }
.age-card { width: min(100%, 560px); padding: clamp(30px, 6vw, 56px); border: 1px solid rgba(97,217,246,.27); border-radius: 30px; background: radial-gradient(circle at 80% 5%, rgba(97,217,246,.075), transparent 35%), #0b0e13; text-align: center; box-shadow: 0 30px 110px rgba(0,0,0,.7); }
.age-logo { width: 92px; height: 92px; margin: 0 auto 20px; object-fit: contain; }
.age-card .eyebrow span { display: none; }
.age-card h2 { font-size: clamp(2.4rem, 6vw, 4.2rem); }
.age-card > p:not(.eyebrow) { color: var(--muted); }
.age-actions { display: grid; gap: 10px; margin-top: 28px; }
.age-card small { display: block; margin-top: 19px; color: #9ca7b5; font-size: .875rem; }
.toast { position: fixed; z-index: 110; left: 50%; bottom: 26px; width: max-content; max-width: calc(100vw - 32px); transform: translate(-50%, 25px); padding: 11px 18px; border-radius: 999px; background: var(--white); color: #061015; box-shadow: 0 14px 40px rgba(0,0,0,.4); opacity: 0; pointer-events: none; text-align: center; font-size: .875rem; font-weight: 800; transition: opacity .25s ease, transform .25s ease; }
.toast.visible { opacity: 1; transform: translate(-50%, 0); }

.reveal { opacity: 1; transform: none; }
.js .reveal { opacity: 0; transform: translateY(24px); transition: opacity .75s ease, transform .75s ease; }
.js .reveal.in-view { opacity: 1; transform: none; }

@media (max-width: 980px) {
  .site-header { grid-template-columns: 1fr auto; }
  .desktop-nav { position: absolute; top: 92px; left: 50%; display: flex; width: max-content; transform: translateX(-50%); gap: 24px; padding: 8px 18px; border: 1px solid var(--line); border-radius: 999px; background: rgba(7,9,17,.82); backdrop-filter: blur(14px); }
  .hero { grid-template-columns: 1fr; padding-top: 145px; }
  .hero-copy { max-width: 720px; }
  .hero-visual { width: min(100%, 680px); justify-self: center; }
  .image-frame { aspect-ratio: 1.35; border-radius: 30px; }
  .section-heading { grid-template-columns: 1fr; gap: 22px; }
  .section-heading > p { justify-self: start; }
  .product-grid { grid-template-columns: repeat(2, 1fr); }
  .pack-list { grid-template-columns: repeat(2, 1fr); }
  .events-card { grid-template-columns: 1fr; }
  footer { grid-template-columns: 1fr auto; }
  footer > p:not(.legal) { grid-column: 1 / -1; }
}

@media (max-width: 680px) {
  .site-header { height: 78px; padding-inline: 16px; }
  .brand { font-size: .875rem; letter-spacing: .07em; }
  .brand small { font-size: .875rem; }
  .brand-mark { width: 35px; height: 35px; }
  .cart-button { padding-left: 13px; font-size: .875rem; }
  .cart-count { width: 30px; height: 30px; }
  .desktop-nav { top: 78px; width: calc(100vw - 32px); justify-content: center; gap: 16px; padding-inline: 12px; font-size: .875rem; }
  .hero { min-height: auto; padding: 150px 18px 85px; gap: 48px; }
  h1 { font-size: clamp(3.25rem, 16vw, 5.6rem); }
  .hero-actions { display: grid; }
  .hero-actions .button { width: 100%; }
  .hero-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
  .hero-stats span { font-size: .875rem; }
  .image-frame { aspect-ratio: 1.08; border-radius: 26px 26px 58px 26px; }
  .image-frame img { object-position: 74% 50%; }
  .floating-note { font-size: .875rem; }
  .note-top { right: -1%; }
  .note-bottom { left: -1%; }
  .scroll-cue { display: none; }
  .section { padding-inline: 18px; }
  .section-heading h2, .events h2, .social h2 { font-size: clamp(2.65rem, 13vw, 4.2rem); }
  .product-grid { grid-template-columns: 1fr; }
  .product-card:last-child { grid-column: auto; max-width: none; }
  .product-content > p:not(.flavor) { min-height: auto; }
  .toppings-banner { align-items: flex-start; flex-direction: column; }
  .button-light { width: 100%; }
  .pack-list { grid-template-columns: 1fr; }
  .pack-card.featured { transform: none; }
  .events-card { padding: 30px 20px; border-radius: 26px; }
  .event-tags { gap: 7px; }
  .quote-form { padding: 18px; }
  footer { grid-template-columns: 1fr; text-align: center; }
  .footer-brand, .footer-links { justify-self: center; }
  footer > p:not(.legal) { grid-column: auto; }
  .order-panel { padding-inline: 22px; }
  .order-mode { grid-template-columns: 1fr; }
  .marquee-toggle { right: 8px; min-width: 70px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .reveal { opacity: 1; transform: none; }
  .marquee-track { animation: none; }
  .marquee-toggle { display: none; }
  .button:hover, .product-card:hover, .product-card:hover .product-image img { transform: none; }
}

/* Refined identity and complete pack selection. */
[hidden] { display: none !important; }
.brand-signature { width: 188px; height: auto; max-height: 72px; object-fit: contain; }
.site-header { gap: 16px; }
.footer-brand .brand-signature { width: 205px; max-height: none; }
.footer-links { flex-wrap: wrap; }
.pack-saving { margin: -5px 0 18px; color: var(--white); font-size: .875rem; }
.order-panel { width: min(100%, 530px); background: var(--ink-2); }
.order-composition { padding: 0; margin: 8px 0; list-style: none; color: var(--muted); font-size: .875rem; }
.order-composition li + li { margin-top: 6px; }
.order-row { grid-template-columns: minmax(0, 1fr) auto; }
.order-product { min-width: 0; }
.order-product strong { font-size: 1rem; }
.order-product span { font-size: .875rem; }
.order-mode-help, .builder-hint { color: var(--muted); font-size: .875rem; }
.order-instagram { margin-top: 12px; }
#pack-builder h3 { margin-top: 28px; font-size: 1.45rem; }
#pack-builder-price { color: var(--cyan); font-weight: 800; }
#pack-progress { padding: 12px; background: #61d9f610; border: 1px solid #61d9f640; border-radius: 12px; font-size: .875rem; }
#pack-options { margin: 18px 0 26px; }
.builder-option { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 12px; align-items: center; padding: 13px 0; border-bottom: 1px solid var(--line); }
.builder-option strong, .builder-option small { display: block; }
.builder-option small { color: var(--muted); font-size: .875rem; }
.quantity button:disabled { opacity: .3; cursor: not-allowed; }
.message-box { margin-top: 18px; display: grid; gap: 12px; }
.message-box label { font-size: .875rem; color: var(--white); }
.message-box textarea { display: block; width: 100%; min-width: 0; resize: vertical; border: 1px solid var(--control-line); border-radius: 10px; padding: 12px; background: var(--ink); color: var(--white); font: 400 1rem/1.55 var(--body); }
.message-box small { color: var(--muted); font-size: .8125rem; }
textarea:focus-visible { outline: 3px solid var(--cyan); outline-offset: 3px; }
.social-promo-card p a { color: var(--white); text-decoration: underline; text-underline-offset: 4px; }
.button { white-space: normal; text-align: center; padding-block: 12px; }
@media(max-width: 680px) {
  .brand-signature { width: 140px; max-height: 60px; }
  .site-header { gap: 8px; }
  .desktop-nav { gap: 13px; font-size: .875rem; }
  .hero-stats span { font-size: .8125rem; }
  .order-panel { padding-inline: 18px; }
  .quantity { gap: 6px; }
  .order-row { grid-template-columns: minmax(0,1fr); }
  .order-row > .quantity { justify-self: end; }
  .catalog-download { width: auto; max-width: 100%; flex-wrap: wrap; justify-content: center; }
}

/* Availability and direct business contact */
.availability-notice { margin: 20px 0; padding: 20px; border: 1px solid var(--cyan); border-radius: 16px; background: #61d9f60d; color: var(--white); font-size: 1rem; line-height: 1.6; }
.availability-notice strong { display: block; color: var(--cyan); margin-bottom: 4px; }
.add-button:disabled, [data-pack]:disabled { opacity: .7; cursor: not-allowed; transform: none; }
.zero-mode .product-footer { justify-content: flex-end; }
.mode-chip-zero { clip-path: none; border-radius: 999px; padding-inline: 14px; }
.whatsapp-float { position: fixed; right: 20px; bottom: max(20px, env(safe-area-inset-bottom)); z-index: 45; display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 12px 20px; border-radius: 999px; background: var(--cyan); color: var(--ink); font-size: .9375rem; font-weight: 800; box-shadow: 0 8px 28px #0006; }
.whatsapp-float:focus-visible { outline: 3px solid var(--white); outline-offset: 4px; }
.age-locked .whatsapp-float, .panel-open .whatsapp-float { visibility: hidden; }
footer { padding-bottom: 90px; }
#share-order { margin-top: 18px; }
