:root{--navy:#031a2d;--navy-2:#062841;--cream:#fff8e9;--orange:#ff5a18;--gold:#ffbe1a;--green:#9ada16;--berry:#cf0758;--ink:#071725;--white:#fff;--radius:28px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:"DM Sans",sans-serif;font-size:16px;line-height:1.5}body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:99;left:1rem;top:-4rem;background:#fff;padding:.75rem 1rem}.skip-link:focus{top:1rem}.announcement{background:var(--orange);color:#fff;text-align:center;padding:.45rem 1rem;font:700 .75rem/1.2 "DM Sans";letter-spacing:.2em}.site-header{height:86px;padding:0 clamp(1.25rem,4vw,5rem);display:flex;align-items:center;gap:2rem;background:var(--navy);color:#fff;position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(255,255,255,.12)}.brand{display:flex;align-items:center;gap:.65rem;font-family:"League Spartan";font-weight:800;letter-spacing:.04em;white-space:nowrap}.brand img{width:52px;height:52px;object-fit:contain}.brand b{color:var(--gold)}nav{display:flex;gap:clamp(1.2rem,2.5vw,2.7rem);margin-left:auto}nav a{font-weight:600;font-size:.92rem}nav a:hover{color:var(--gold)}.menu-toggle{display:none}.pill{display:inline-flex;align-items:center;justify-content:center;gap:.7rem;background:var(--orange);color:#fff;font-weight:800;padding:1rem 1.35rem;border-radius:999px;transition:.2s transform,.2s background}.pill:hover{transform:translateY(-2px);background:#e64605}.pill-small{padding:.72rem 1.1rem;font-size:.9rem}.pill span{font-size:1.2em}.hero{min-height:700px;background:var(--navy);color:#fff;display:grid;grid-template-columns:minmax(0,.9fr) minmax(560px,1.1fr);align-items:center;overflow:hidden;padding:clamp(4rem,7vw,7rem) clamp(1.25rem,6vw,7rem);gap:2rem}.hero-copy{position:relative;z-index:3;max-width:730px}.hero-headline{display:flex;align-items:center;gap:clamp(1rem,2vw,2rem)}.hero-headline>img{width:clamp(92px,9vw,140px);height:auto;flex:0 0 auto;filter:drop-shadow(0 12px 18px rgba(0,0,0,.25))}.eyebrow{margin:0 0 1.25rem;text-transform:uppercase;letter-spacing:.2em;font-size:.78rem;font-weight:700;display:flex;align-items:center;gap:.7rem}.eyebrow span{width:38px;height:3px;background:var(--green);border-radius:3px}.eyebrow.dark{color:#4b5660}.hero h1,.section h2{font:800 clamp(3.7rem,7.7vw,7.5rem)/.84 "League Spartan",sans-serif;letter-spacing:-.06em;text-transform:uppercase;margin:0}.hero h1{font-size:clamp(3.7rem,6.4vw,6.8rem)}.hero h1 em,.section h2 em{color:var(--gold);font-style:normal}.hero-lede{font-size:clamp(1rem,1.35vw,1.18rem);max-width:570px;color:#d8e3e9;margin:2rem 0}.hero-actions{display:flex;align-items:center;gap:1.5rem}.text-link{font-weight:800;border-bottom:2px solid var(--gold);padding:.45rem 0}.proof-row{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:2.3rem}.proof-row span{border:1px solid rgba(255,255,255,.2);border-radius:100px;padding:.45rem .75rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.hero-art{height:590px;position:relative}.sunburst{position:absolute;width:510px;height:510px;border-radius:50%;background:var(--gold);right:2%;top:6%;box-shadow:0 0 0 40px rgba(255,190,26,.06),0 0 0 90px rgba(255,190,26,.04)}.bottle{position:absolute;width:270px;height:405px;object-fit:cover;object-position:center 18%;border-radius:28px;box-shadow:0 25px 45px rgba(0,0,0,.38);border:5px solid var(--navy);transition:.25s transform}.bottle:hover{z-index:8!important;transform:translateY(-12px) rotate(0)!important}.bottle-one{left:2%;top:26%;transform:rotate(-11deg);z-index:2}.bottle-two{left:26%;top:10%;transform:rotate(-3deg);z-index:4}.bottle-three{left:51%;top:13%;transform:rotate(5deg);z-index:3}.bottle-four{right:-5%;top:27%;transform:rotate(11deg);z-index:2}.sticker{position:absolute;z-index:9;right:0;top:2%;width:105px;height:105px;border-radius:50%;background:var(--green);color:var(--navy);display:grid;place-content:center;text-align:center;font:800 1.05rem/1 "League Spartan";text-transform:uppercase;transform:rotate(9deg);box-shadow:0 0 0 8px var(--navy),0 0 0 10px var(--green)}.ticker{overflow:hidden;background:var(--green);color:var(--navy);padding:.7rem 0;white-space:nowrap;font:800 1.1rem "League Spartan";letter-spacing:.08em}.ticker div{width:max-content;animation:marquee 18s linear infinite}@keyframes marquee{to{transform:translateX(-50%)}}.section{padding:clamp(5rem,9vw,9rem) clamp(1.25rem,6vw,7rem)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:3rem;margin-bottom:3.5rem}.section-heading h2,.story h2,.support h2,.bundle-section h2{font-size:clamp(3.3rem,6vw,6.2rem)}.section-heading h2 em,.story h2 em{color:var(--orange)}.section-heading>p{max-width:430px;font-size:1.08rem;color:#58616a}.flavor-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.flavor-card{border-radius:var(--radius);overflow:hidden;color:#fff;min-width:0;box-shadow:0 18px 45px rgba(2,20,34,.12)}.flavor-image{height:400px;overflow:hidden;background:var(--navy)}.flavor-image img{width:100%;height:100%;object-fit:cover;object-position:center 25%;transition:.35s transform}.flavor-card:hover .flavor-image img{transform:scale(1.04)}.flavor-content{padding:1.5rem;position:relative;min-height:270px;display:flex;flex-direction:column}.berry .flavor-content{background:var(--berry)}.island .flavor-content{background:#ed9411}.spice .flavor-content{background:#f04f25}.tropical .flavor-content{background:#74a91d}.number{position:absolute;right:1.4rem;top:1.2rem;font:800 2.1rem "League Spartan";opacity:.4}.flavor-content h3{font:800 1.65rem "League Spartan";text-transform:uppercase;margin:0 0 .7rem;padding-right:2rem}.flavor-content p{margin:0 0 1.2rem;opacity:.9;min-height:72px}.flavor-content>div{display:flex;align-items:baseline;gap:.5rem}.flavor-content b{font:800 2rem "League Spartan"}.flavor-content small{text-transform:uppercase;letter-spacing:.08em}.flavor-content a{margin-top:auto;font-weight:800;border-top:1px solid rgba(255,255,255,.4);padding-top:1rem}.bundle-section{background:var(--navy);color:#fff;display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(3rem,7vw,8rem);align-items:center}.bundle-copy>p:not(.eyebrow){max-width:490px;color:#cfdae0;font-size:1.08rem;margin:1.7rem 0 2rem}.light{background:var(--gold);color:var(--navy)}.light:hover{background:var(--green)}.price-stack{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.price-stack a{background:#0a304b;border:1px solid rgba(255,255,255,.12);border-radius:24px;padding:1.5rem;min-height:240px;display:flex;flex-direction:column;position:relative;transition:.2s transform,.2s border}.price-stack a:hover{transform:translateY(-4px);border-color:var(--gold)}.price-stack span{text-transform:uppercase;font-weight:800;letter-spacing:.08em}.price-stack strong{font:800 clamp(3.2rem,5vw,5rem) "League Spartan";color:var(--gold);margin-top:auto}.price-stack small{color:#b9c7d0}.price-stack .featured{background:var(--orange)}.price-stack .featured strong{color:#fff}.price-stack i{position:absolute;right:1rem;top:1rem;background:var(--green);color:var(--navy);padding:.3rem .55rem;border-radius:99px;font-style:normal;font-size:.72rem;font-weight:800;text-transform:uppercase}.story{display:grid;grid-template-columns:.7fr 1.3fr;gap:clamp(3rem,8vw,9rem);align-items:center}.story-mark{background:var(--gold);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;max-width:520px;box-shadow:20px 20px 0 var(--orange)}.story-mark img{width:78%}.story-copy .large{font-size:clamp(1.25rem,2vw,1.65rem);font-weight:600;max-width:740px}.story-copy>p:not(.eyebrow){max-width:740px}.story-copy>p:not(.large):not(.eyebrow){color:#52606a}.support{background:var(--orange);color:#fff;display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,470px);gap:clamp(3rem,7vw,7rem);align-items:center}.support-copy{max-width:850px}.support p:not(.eyebrow){font-size:1.15rem;max-width:650px}.support-actions{display:flex;gap:1.5rem;align-items:center;margin-top:2rem}.light-link{border-color:#fff}.campaign-flyer{display:block;border-radius:24px;overflow:hidden;box-shadow:18px 18px 0 var(--navy);transform:rotate(1.5deg);transition:.2s transform}.campaign-flyer:hover{transform:rotate(0) translateY(-4px)}.campaign-flyer img{width:100%;height:auto}.promo-modal[hidden]{display:none}.promo-modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:1rem}.promo-backdrop{position:absolute;inset:0;background:rgba(1,13,23,.84);backdrop-filter:blur(8px)}.promo-dialog{position:relative;z-index:1;max-height:94vh;display:flex;flex-direction:column;align-items:center}.promo-dialog>img{max-height:82vh;width:auto;border:4px solid var(--gold);border-radius:16px;box-shadow:0 24px 80px rgba(0,0,0,.55)}.promo-close{position:absolute;z-index:2;right:-18px;top:-18px;width:48px;height:48px;border:3px solid #fff;border-radius:50%;background:var(--orange);color:#fff;font:700 2rem/1 "DM Sans";cursor:pointer;box-shadow:0 7px 20px rgba(0,0,0,.3)}.promo-cta{position:absolute;left:50%;bottom:1rem;transform:translateX(-50%);background:var(--gold);color:var(--navy);font-weight:800;padding:.9rem 1.25rem;border-radius:999px;box-shadow:0 8px 24px rgba(0,0,0,.35);white-space:nowrap}.promo-cta:hover{background:var(--green)}footer{background:#02121f;color:#fff;padding:4rem clamp(1.25rem,6vw,7rem) 2rem;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:3rem}.footer-brand{font:800 clamp(2rem,4vw,4rem) "League Spartan"}.footer-brand span{color:var(--gold)}.footer-identity p{font-size:1.1rem;color:#adc0cc;margin:.35rem 0 0}.footer-contact,.footer-social{display:flex;flex-direction:column;align-items:flex-start;gap:.45rem}.footer-contact h3,.footer-social h3{font:800 1rem "League Spartan";text-transform:uppercase;letter-spacing:.08em;color:var(--gold);margin:0 0 .55rem}.footer-contact a,.social-handle{color:#dce7ed;font-weight:600}.footer-contact a:hover,.social-handle:hover{color:var(--gold)}.social-links{display:flex;gap:.55rem}.social-links a{width:40px;height:40px;border:1px solid #ffffff55;border-radius:50%;display:grid;place-items:center;color:var(--gold);font-weight:800;font-size:1.1rem;transition:.2s}.social-links a:hover{background:var(--gold);color:var(--navy);border-color:var(--gold);transform:translateY(-2px)}.social-handle{margin-top:.4rem}.footer-bottom{grid-column:1/-1;border-top:1px solid #ffffff22;padding-top:1.5rem;display:flex;justify-content:space-between;gap:1rem;color:#92a7b4;font-size:.9rem}
@media(max-width:1100px){nav{display:none}.menu-toggle{display:flex;margin-left:auto;width:46px;height:46px;padding:0;align-items:center;justify-content:center;flex-direction:column;gap:5px;background:transparent;color:#fff;border:1px solid #ffffff55;border-radius:50%;cursor:pointer}.menu-toggle span{display:block;width:21px;height:2px;border-radius:2px;background:currentColor;transition:.2s transform,.2s opacity}.site-header.open .menu-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}.site-header.open .menu-toggle span:nth-child(2){opacity:0}.site-header.open .menu-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.site-header.open nav{display:flex;position:absolute;top:86px;left:0;right:0;background:var(--navy);padding:1.5rem;flex-direction:column;border-top:1px solid #ffffff22}.desktop-shop{display:none}.hero{grid-template-columns:1fr;padding-top:5rem}.hero-art{height:540px;margin-top:-1rem}.sunburst{right:15%}.bottle{width:240px;height:360px}.bottle-one{left:8%}.bottle-two{left:29%}.bottle-three{left:50%}.bottle-four{right:5%}.flavor-grid{grid-template-columns:repeat(2,1fr)}.bundle-section{grid-template-columns:1fr}.story{grid-template-columns:1fr 1.3fr}.support{grid-template-columns:1fr minmax(280px,390px)}footer{grid-template-columns:1.2fr 1fr 1fr;gap:2rem}}
@media(max-width:680px){.announcement{font-size:.64rem;letter-spacing:.13em}.site-header{height:74px;padding:0 1rem}.brand img{width:44px;height:44px}.brand span{font-size:.92rem}.site-header.open nav{top:74px}.hero{min-height:auto;padding:4rem 1.25rem 2.5rem}.hero-headline{align-items:flex-start;gap:.65rem}.hero-headline>img{width:76px}.hero h1{font-size:clamp(2.75rem,13.5vw,4.3rem)}.hero-lede{font-size:1rem}.hero-actions{align-items:flex-start;flex-direction:column;gap:1rem}.proof-row{gap:.45rem}.hero-art{height:430px;margin:1rem -2.2rem 0}.sunburst{width:340px;height:340px;right:13%;top:10%}.bottle{width:165px;height:260px;border-width:3px;border-radius:18px}.bottle-one{left:6%;top:31%}.bottle-two{left:25%;top:13%}.bottle-three{left:46%;top:16%}.bottle-four{right:3%;top:33%}.sticker{right:6%;width:78px;height:78px;font-size:.8rem}.section{padding:5rem 1.25rem}.section-heading{display:block}.section-heading>p{margin-top:1.5rem}.section-heading h2,.story h2,.support h2,.bundle-section h2{font-size:3.4rem}.flavor-grid{grid-template-columns:1fr}.flavor-image{height:450px}.flavor-content{min-height:240px}.price-stack{grid-template-columns:1fr}.price-stack a{min-height:180px;padding:1.2rem}.price-stack strong{font-size:3rem}.story{grid-template-columns:1fr}.story-mark{width:86%;margin:0 auto 1rem}.support{grid-template-columns:1fr}.support-actions{align-items:flex-start;flex-direction:column}.campaign-flyer{max-width:420px;margin:auto;box-shadow:10px 10px 0 var(--navy)}.promo-dialog>img{max-height:78vh;max-width:92vw}.promo-close{right:-8px;top:-12px;width:44px;height:44px}.promo-cta{bottom:.65rem;padding:.75rem 1rem}footer{grid-template-columns:1fr;gap:2rem}.footer-bottom{flex-direction:column}.footer-contact,.footer-social{margin-top:0}}
.footer-brand,.footer-identity p,.footer-contact h3,.footer-contact a,.footer-social h3,.social-handle,.footer-bottom>span{white-space:nowrap}.footer-brand{display:block;font-size:clamp(2rem,3.7vw,4rem)}.hero-headline>img{width:clamp(140px,13vw,205px)}
@media(max-width:680px){.footer-brand{font-size:clamp(1.75rem,8.3vw,2.5rem)}.footer-contact h3,.footer-social h3{font-size:.9rem}.footer-contact a,.social-handle{font-size:.9rem}.footer-bottom{font-size:.75rem;gap:.5rem}.hero-headline>img{width:108px}}
.support-paths{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:2rem}.support-path{background:rgba(3,26,45,.16);border:1px solid rgba(255,255,255,.28);border-radius:22px;padding:1.35rem}.support-path>span{font-size:.75rem;font-weight:800;letter-spacing:.14em;color:var(--gold)}.support-path h3{font:800 1.55rem "League Spartan";text-transform:uppercase;margin:.35rem 0}.support-path p{font-size:.95rem!important;line-height:1.5;margin:.4rem 0 1.2rem}.support-path .pill{font-size:.82rem;padding:.8rem 1rem}.donate-path{background:var(--navy)}.donate-button{background:var(--green);color:var(--navy)}.donate-button:hover{background:var(--gold)}
.shop-hero{min-height:690px;background:var(--navy);color:#fff;display:grid;grid-template-columns:.85fr 1.15fr;align-items:center;gap:3rem;padding:clamp(5rem,8vw,8rem) clamp(1.25rem,6vw,7rem);overflow:hidden}.shop-hero-heading{display:flex;align-items:center;gap:clamp(1rem,2vw,1.75rem)}.shop-hero-heading>img{width:clamp(88px,8vw,132px);height:auto;flex:0 0 auto;filter:drop-shadow(0 12px 18px rgba(0,0,0,.28))}.shop-hero h1{font:800 clamp(4rem,8vw,8rem)/.82 "League Spartan";letter-spacing:-.06em;text-transform:uppercase;margin:0}.shop-hero h1 em,.shop-bundles h2 em,.shop-checkout h2 em{color:var(--gold);font-style:normal}.shop-hero>div:first-child>p:not(.eyebrow){max-width:580px;color:#d4e0e6;font-size:1.1rem}.shop-hero-bottles{height:510px;display:grid;grid-template-columns:repeat(4,1fr);align-items:end;gap:.45rem;transform:rotate(-2deg)}.shop-hero-bottles img{width:100%;height:400px;object-fit:cover;object-position:center 22%;border-radius:22px;border:4px solid var(--navy);box-shadow:0 24px 45px rgba(0,0,0,.35)}.shop-hero-bottles img:nth-child(2),.shop-hero-bottles img:nth-child(3){transform:translateY(-45px)}.shop-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}.shop-card{display:grid;grid-template-columns:.85fr 1.15fr;border-radius:28px;overflow:hidden;color:#fff;box-shadow:0 18px 40px rgba(3,26,45,.12)}.shop-card>img{width:100%;height:100%;min-height:440px;object-fit:cover;object-position:center 20%}.shop-card>div{padding:2rem;display:flex;flex-direction:column;align-items:flex-start}.shop-card>div>span{font-size:.75rem;font-weight:800;letter-spacing:.14em;opacity:.8}.shop-card h3{font:800 clamp(2rem,3vw,3.3rem)/.9 "League Spartan";text-transform:uppercase;margin:.7rem 0}.shop-card p{min-height:72px}.shop-card strong{font:800 2.4rem "League Spartan";margin:.8rem 0 1.3rem}.shop-card strong small{font-size:.8rem;letter-spacing:.08em}.shop-card .pill{margin-top:auto;background:#fff;color:var(--navy);font-size:.78rem;padding:.85rem 1rem}.shop-card.berry>div{background:var(--berry)}.shop-card.island>div{background:#ed9411}.shop-card.spice>div{background:#f04f25}.shop-card.tropical>div{background:#74a91d}.shop-bundles{background:var(--navy);color:#fff;display:grid;grid-template-columns:.8fr 1.2fr;gap:5rem;align-items:center}.shop-bundles h2,.shop-checkout h2{font:800 clamp(3.5rem,6vw,6.5rem)/.86 "League Spartan";letter-spacing:-.05em;text-transform:uppercase;margin:0}.shop-bundles>div:first-child>p:not(.eyebrow){color:#c8d5dc}.bundle-options{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.bundle-options a{min-height:320px;border:1px solid rgba(255,255,255,.17);border-radius:26px;background:#0a304b;padding:1.6rem;display:flex;flex-direction:column;position:relative}.bundle-options .six-pack{background:var(--orange)}.bundle-options i{position:absolute;right:1rem;top:1rem;background:var(--green);color:var(--navy);border-radius:99px;padding:.3rem .55rem;font-size:.7rem;font-style:normal;font-weight:800}.bundle-options span{font-weight:800;letter-spacing:.1em}.bundle-options strong{font:800 clamp(4rem,6vw,6.5rem) "League Spartan";color:var(--gold);margin-top:auto}.bundle-options .six-pack strong{color:#fff}.bundle-options small{letter-spacing:.1em;color:#cfdae0}.bundle-options b{border-top:1px solid rgba(255,255,255,.3);margin-top:1rem;padding-top:1rem}.shop-checkout{background:var(--orange);color:#fff;display:grid;grid-template-columns:minmax(240px,420px) 1fr;gap:clamp(3rem,8vw,8rem);align-items:center}.shop-checkout>img{background:var(--gold);border-radius:50%;padding:1rem;box-shadow:18px 18px 0 var(--navy)}.shop-checkout>div>p:not(.eyebrow){font-size:1.1rem;max-width:580px}.shop-checkout .pill{margin-top:1rem}
@media(max-width:1100px){.support-paths{grid-template-columns:1fr}.shop-hero{grid-template-columns:1fr}.shop-hero-bottles{height:440px}.shop-grid{grid-template-columns:1fr}.shop-bundles{grid-template-columns:1fr}.shop-checkout{grid-template-columns:300px 1fr}}
@media(max-width:680px){.support-paths{grid-template-columns:1fr}.shop-hero{padding:4rem 1.25rem 2rem}.shop-hero-heading{align-items:flex-start;gap:.8rem}.shop-hero-heading>img{width:76px;margin-top:.25rem}.shop-hero h1{font-size:clamp(3rem,14vw,4.65rem)}.shop-hero-bottles{height:330px;margin:1rem -1.6rem 0;gap:.2rem}.shop-hero-bottles img{height:280px;border-radius:14px;border-width:2px}.shop-hero-bottles img:nth-child(2),.shop-hero-bottles img:nth-child(3){transform:translateY(-24px)}.shop-products{padding-top:4rem}.shop-grid{grid-template-columns:1fr}.shop-card{grid-template-columns:1fr}.shop-card>img{height:390px;min-height:0}.shop-card>div{padding:1.5rem}.shop-card p{min-height:0}.shop-bundles{gap:2rem}.bundle-options{grid-template-columns:1fr}.bundle-options a{min-height:260px}.shop-checkout{grid-template-columns:1fr}.shop-checkout>img{width:70%;margin:auto}.shop-checkout h2,.shop-bundles h2{font-size:3.4rem}}

/* Shop cart */
button.pill,.bundle-options button{border:0;font-family:inherit;cursor:pointer}.cart-toggle{position:relative;white-space:nowrap;width:48px;height:48px;padding:0;border-radius:50%;gap:0}.cart-icon{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.cart-count{position:absolute;right:-4px;top:-5px;display:grid;place-items:center;min-width:1.35rem;height:1.35rem;padding:0 .25rem;border-radius:999px;background:var(--gold);color:var(--navy);font-size:.7rem;border:2px solid var(--navy)}.bundle-options button{min-height:320px;border:1px solid rgba(255,255,255,.17);border-radius:26px;background:#0a304b;color:#fff;padding:1.6rem;display:flex;flex-direction:column;position:relative;text-align:left}.bundle-options button:hover{transform:translateY(-4px)}.bundle-options button{transition:.2s transform}.cart-backdrop{position:fixed;inset:0;z-index:80;background:rgba(1,13,23,.72);backdrop-filter:blur(4px)}.shop-cart{position:fixed;z-index:90;right:0;top:0;width:min(440px,100%);height:100dvh;background:var(--cream);color:var(--navy);padding:1.5rem;display:flex;flex-direction:column;box-shadow:-20px 0 60px rgba(0,0,0,.3);transform:translateX(105%);transition:transform .28s ease}.shop-cart.open{transform:translateX(0)}.cart-head{display:flex;align-items:flex-start;justify-content:space-between;border-bottom:2px solid var(--navy);padding-bottom:1rem}.cart-head p{margin:0;color:var(--orange);font-size:.72rem;font-weight:800;letter-spacing:.15em}.cart-head h2{font:800 2.4rem/.9 "League Spartan";margin:.25rem 0 0}.cart-close{border:0;background:var(--orange);color:#fff;width:42px;height:42px;border-radius:50%;font-size:1.8rem;cursor:pointer}.cart-items{overflow:auto;padding:.8rem 0}.cart-line{display:grid;grid-template-columns:1fr auto;gap:.7rem;padding:1rem 0;border-bottom:1px solid #d8d2c2}.cart-line h3{font:800 1.05rem "League Spartan";text-transform:uppercase;margin:0}.cart-line>strong{font:800 1.2rem "League Spartan"}.cart-controls{display:flex;align-items:center;gap:.5rem;margin-top:.7rem}.cart-controls button{width:30px;height:30px;border:1px solid var(--navy);background:transparent;color:var(--navy);border-radius:50%;font-weight:800;cursor:pointer}.cart-remove{margin-left:.4rem!important;width:auto!important;border:0!important;text-decoration:underline;font-size:.72rem}.cart-empty{text-align:center;margin:auto;padding:2rem}.cart-empty span{font-size:2.5rem}.cart-empty h3{font:800 1.5rem "League Spartan";text-transform:uppercase;margin:.5rem 0}.cart-empty p{color:#5f6a72}.cart-footer{margin-top:auto;border-top:2px solid var(--navy);padding-top:1rem}.cart-summary-line,.cart-total{display:flex;justify-content:space-between;align-items:center;font-weight:800}.cart-summary-line{font-size:.82rem;letter-spacing:.04em;padding:.18rem 0}.cart-summary-line strong{font:800 1rem "League Spartan";letter-spacing:0}.cart-summary-line.fee{color:var(--orange)}.cart-total{border-top:1px solid #d8d2c2;margin-top:.55rem;padding-top:.7rem}.cart-total strong{font:800 2rem "League Spartan"}.cart-checkout{display:flex;margin-top:1rem;width:100%}.cart-checkout[aria-disabled="true"]{opacity:.45;pointer-events:none}.cart-footer small{display:block;margin-top:.8rem;color:#66727a;line-height:1.4}.cart-toast{position:fixed;z-index:110;left:50%;bottom:1.5rem;transform:translate(-50%,120px);background:var(--green);color:var(--navy);font-weight:800;padding:.85rem 1.2rem;border-radius:999px;transition:.25s;box-shadow:0 12px 30px rgba(0,0,0,.25)}.cart-toast.show{transform:translate(-50%,0)}@media(max-width:680px){.bundle-options button{min-height:260px}.shop-cart{padding:1.25rem}.desktop-shop.cart-toggle{display:inline-flex;margin-left:auto}.site-header nav{z-index:3}}
.homecoming-feature{background:var(--navy);color:#fff;display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,500px);gap:clamp(3rem,8vw,8rem);align-items:center}.homecoming-copy h2{font:800 clamp(3.7rem,6.5vw,7rem)/.85 "League Spartan";letter-spacing:-.055em;text-transform:uppercase;margin:0}.homecoming-copy h2 em{color:var(--gold);font-style:normal}.homecoming-copy>p:not(.eyebrow){max-width:650px;color:#d2dfe5;font-size:1.1rem;margin:1.6rem 0}.homecoming-details{display:flex;flex-wrap:wrap;gap:.6rem;margin:0 0 2rem}.homecoming-details span{border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:.5rem .75rem;font-size:.75rem;font-weight:800;letter-spacing:.08em}.homecoming-flyer{display:block;border-radius:26px;overflow:hidden;border:4px solid var(--gold);box-shadow:20px 20px 0 var(--orange);transform:rotate(1.5deg);transition:.2s transform}.homecoming-flyer:hover{transform:rotate(0) translateY(-4px)}.homecoming-flyer img{width:100%;height:auto}
@media(max-width:900px){.homecoming-feature{grid-template-columns:1fr}.homecoming-flyer{max-width:500px;margin:auto}}
@media(max-width:680px){.homecoming-copy h2{font-size:3.5rem}.homecoming-flyer{box-shadow:10px 10px 0 var(--orange)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ticker div{animation:none}.bottle,.pill,.flavor-image img{transition:none}}

.announcement{overflow:hidden;white-space:nowrap;padding:.45rem 0}
.announcement-track{width:100%;animation:none;text-align:center}

/* Mix-and-match bundle builder */
.bundle-builder{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:1rem}.bundle-builder-backdrop{position:absolute;inset:0;border:0;background:rgba(1,13,23,.82);backdrop-filter:blur(5px)}.bundle-builder-dialog{position:relative;z-index:1;width:min(650px,100%);max-height:calc(100dvh - 2rem);overflow:auto;background:var(--cream);color:var(--navy);border-radius:28px;padding:clamp(1.5rem,5vw,3rem);box-shadow:0 30px 90px rgba(0,0,0,.45)}.bundle-builder-close{position:absolute;right:1rem;top:1rem;width:2.6rem;height:2.6rem;border:0;border-radius:50%;background:var(--navy);color:#fff;font-size:1.6rem;cursor:pointer}.bundle-builder-dialog h2{font:800 clamp(3rem,8vw,5rem)/.84 "League Spartan";letter-spacing:-.05em;text-transform:uppercase;margin:.5rem 0 1rem}.bundle-builder-dialog h2 em{color:var(--orange);font-style:normal}.bundle-flavor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;margin:1.5rem 0}.bundle-flavor-grid label>span{display:block;font-size:.72rem;font-weight:800;letter-spacing:.12em;margin-bottom:.35rem}.bundle-flavor-grid select{width:100%;min-height:3.25rem;border:2px solid var(--navy);border-radius:14px;background:#fff;color:var(--navy);padding:.7rem .8rem;font:600 .95rem "DM Sans"}.bundle-add{width:100%;justify-content:center;border:0}.bundle-add:disabled{opacity:.45;cursor:not-allowed}.bundle-error{color:#b42318;font-weight:700}@media(max-width:560px){.bundle-builder{padding:.5rem}.bundle-builder-dialog{max-height:calc(100dvh - 1rem);border-radius:22px;padding:1.4rem}.bundle-builder-dialog h2{font-size:3rem}.bundle-flavor-grid{grid-template-columns:1fr;gap:.65rem}.bundle-flavor-grid select{min-height:3rem}}

@media(max-width:1100px){.desktop-shop.cart-toggle{display:inline-flex;margin-left:0}}
@media(max-width:680px){.site-header{gap:.7rem}.brand{margin-right:auto}.menu-toggle{margin-left:0}.desktop-shop.cart-toggle{width:44px;height:44px;margin-left:0}}
