@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{--bg:#131315;--ink:#f8f7fa;--muted:#b9b8c1;--lime:#c8ff3d;--purple:#b99bff}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0;background:var(--bg);color:var(--ink);font:1rem/1.6 'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid var(--lime);outline-offset:5px}.announcement{text-align:center;background:var(--lime);color:#171717;font-size:.875rem;font-weight:600;padding:.55rem 1rem}.header{max-width:1440px;margin:auto;padding:1.6rem 5%;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;border-bottom:1px solid #ffffff20}.brand{font-family:'Space Grotesk',sans-serif;font-size:1.3rem;line-height:1.1;font-weight:700;letter-spacing:-.05em}.brand>span{display:block}.brand-dot{margin-left:.5rem;color:var(--lime)}nav{display:flex;gap:2rem;font-size:.9375rem}nav a:hover,footer>a:last-child:hover{color:var(--lime)}.checkout{border:1px solid #ffffff70;color:var(--ink);background:none;border-radius:100px;padding:.65rem 1.25rem;font-size:.875rem;white-space:nowrap}.checkout span{padding-left:.6rem}.hero{max-width:1440px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;padding:3.5rem 5% 3rem}.hero-copy{padding:1rem 0}.eyebrow{font-family:'Space Grotesk',sans-serif;font-size:.875rem;font-weight:600;letter-spacing:.08em;display:flex;gap:.6rem;align-items:center}.line{height:2px;width:24px;background:var(--lime)}h1{font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:clamp(2.8rem,5.4vw,5.3rem);line-height:1.05;letter-spacing:-.06em;margin:1.6rem 0}h1 em{font-style:normal;color:var(--lime)}.hero-copy p{max-width:390px;color:var(--muted);margin:0 0 1.8rem}.primary{display:inline-flex;align-items:center;justify-content:center;background:var(--lime);border:0;color:#151515;border-radius:100px;padding:.9rem 1.6rem;font-weight:700;font-size:.9375rem}.primary:hover{background:#dbff88}.hero-note{display:flex;gap:1.25rem;align-items:center;font-size:.875rem;letter-spacing:.08em;margin-top:2rem;color:var(--muted)}.hero-note span{letter-spacing:0;color:var(--ink);border-left:1px solid #777;padding-left:1.25rem}.hero-visual{position:relative;overflow:hidden;border-radius:6px;min-height:510px;background:#242127}.hero-visual:after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#000b)}.hero-visual img{width:100%;height:100%;object-fit:cover;position:absolute}.visual-label{position:absolute;bottom:3rem;left:2rem;z-index:1}.visual-label span{font-size:.875rem;letter-spacing:.07em}.visual-label strong{display:block;font-family:'Space Grotesk',sans-serif;font-size:2rem;line-height:1.15;letter-spacing:-.04em;margin-top:.75rem}.image-note{position:absolute;z-index:1;bottom:1rem;left:2rem;font-size:.75rem;color:#d9d4e7}.ticker{display:flex;gap:3rem;align-items:center;justify-content:center;background:var(--purple);color:#1d152d;padding:1.1rem 1rem;overflow:hidden;font-family:'Space Grotesk',sans-serif;font-size:1.125rem;font-weight:600;letter-spacing:.06em;white-space:nowrap}.ticker b{font-size:1.7rem;line-height:1}.collection{max-width:1440px;margin:auto;padding:4rem 5%}.section-top{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:2rem}h2{font-family:'Space Grotesk',sans-serif;font-size:clamp(2rem,3.2vw,3.3rem);line-height:1.1;letter-spacing:-.045em;font-weight:500;margin:.7rem 0 0}.section-top p{margin:0;color:var(--muted)}.categories{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem}.category{color:#141414;padding:1.5rem;border-radius:5px;min-height:330px;display:flex;flex-direction:column;justify-content:space-between}.c1{background:var(--lime)}.c2{background:var(--purple)}.c3{background:#ff9572}.card-top{display:flex;justify-content:space-between;align-items:center;gap:.5rem;font-size:.875rem}.pill{border:1px solid #14141470;border-radius:100px;font-size:.75rem;padding:.2rem .65rem;white-space:nowrap}.category-type{font-size:clamp(1.8rem,2.5vw,2.5rem);font-family:'Space Grotesk',sans-serif;line-height:1.15;letter-spacing:-.045em;margin:2rem 0}.category-type em{font-style:normal;font-weight:600}.card-bottom{border-top:1px solid #14141450;padding-top:1rem;display:flex;align-items:center;gap:1rem;justify-content:space-between}.card-bottom p{margin:0;max-width:240px}.card-bottom span{font-size:2.5rem;line-height:1}.launch-note{margin-top:1.5rem;padding:1.25rem 0;display:flex;flex-wrap:wrap;gap:.35rem 1rem;font-size:.9375rem;color:var(--muted)}.launch-note strong{color:var(--ink)}.about{max-width:1440px;margin:auto;padding:3rem 5% 4.5rem;display:grid;grid-template-columns:1fr 1fr;gap:5rem;border-top:1px solid #ffffff25}.about p{color:var(--muted);max-width:490px}.outline-label{display:inline-block;border:1px solid #ffffff50;border-radius:100px;padding:.4rem 1rem;font-size:.875rem;margin-top:.5rem}footer{max-width:1440px;margin:auto;padding:2rem 5%;border-top:1px solid #ffffff25;display:flex;gap:2rem;align-items:center;justify-content:space-between;font-size:.875rem}footer>div{color:var(--muted)}dialog{width:min(90vw,500px);border:1px solid #ffffff50;border-radius:12px;background:#222125;color:var(--ink);padding:3rem 2rem}dialog::backdrop{background:#000b;backdrop-filter:blur(5px)}dialog p{color:var(--muted);margin:1.5rem 0}dialog h2{font-size:2.5rem}.close{position:absolute;right:.8rem;top:.5rem;color:var(--ink);background:none;border:0;font-size:2rem;padding:0 .5rem}
@media(min-width:1500px){.hero{padding-top:4.5rem;padding-bottom:4.5rem}.hero-visual{min-height:580px}}@media(max-width:900px){.hero{gap:1.5rem}.hero-visual{min-height:430px}.card-top{align-items:start;flex-direction:column}.category{padding:1.1rem}.section-top p{max-width:300px}.about{gap:2rem}}@media(max-width:640px){.header{padding:1.25rem 6%;gap:1rem}.brand{font-size:1.1rem}nav{display:none}.checkout{padding:.5rem .9rem}.hero{grid-template-columns:1fr;padding:2rem 6%;gap:1.5rem}h1{font-size:clamp(2.8rem,11vw,4rem)}.hero-copy{padding:0}.hero-visual{min-height:380px}.hero-copy p{max-width:none}.hero-note{margin-top:1.5rem}.ticker{gap:1.5rem;justify-content:start;font-size:.875rem}.collection{padding:2.5rem 6%}.section-top{align-items:start;flex-direction:column;gap:1rem}.section-top p{max-width:none}.categories{grid-template-columns:1fr}.category{min-height:290px;padding:1.5rem}.card-top{flex-direction:row;align-items:center}.category-type{font-size:2.3rem}.about{grid-template-columns:1fr;padding:2.5rem 6%;gap:1rem}footer{padding:2rem 6%;flex-wrap:wrap}.visual-label{left:1.5rem}.image-note{left:1.5rem}.eyebrow{font-size:.8rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Product collection */
.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}.product{border:1px solid #ffffff25;border-radius:7px;overflow:hidden;background:#1c1c20;display:flex;flex-direction:column}.product-image{position:relative;background:white;aspect-ratio:1/1;padding:1rem}.product-image>img{height:100%;width:100%;object-fit:contain}.product-badge{position:absolute;top:.85rem;left:.85rem;background:#17171c;color:white;border-radius:100px;padding:.3rem .7rem;font-size:.75rem}.product-body{padding:1.4rem;flex:1}.product-brand{color:var(--purple);font-size:.875rem;font-weight:700;letter-spacing:.04em}.product h3{font-family:'Space Grotesk',sans-serif;font-size:1.3rem;letter-spacing:-.025em;line-height:1.3;margin:.6rem 0}.product-body>p{font-size:.875rem;color:var(--muted);margin:.5rem 0 1.1rem}.product-price{font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:1.6rem;color:var(--lime)}.product-price span{font-family:'DM Sans',sans-serif;font-size:.875rem;color:var(--muted);font-weight:400;margin-left:.3rem}.extra-photo{margin-top:.9rem;font-size:.875rem}.extra-photo summary{cursor:pointer;text-decoration:underline;text-underline-offset:4px}.extra-photo img{width:100%;height:auto;background:white;margin-top:1rem;border-radius:5px}.hero{padding-top:2.5rem;padding-bottom:2.5rem}.hero-visual{min-height:410px}h1{font-size:clamp(2.8rem,4.5vw,4.3rem)}.hero-note{margin-top:1.4rem}@media(max-width:900px){.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.product-grid{grid-template-columns:1fr;gap:1.2rem}.hero-visual{min-height:320px}h1{font-size:clamp(2.8rem,11vw,4rem)}.product-image{aspect-ratio:1.15/1}}

.ingredient-details{margin-top:1rem;border-top:1px solid #ffffff25;padding-top:1rem}.ingredient-details summary{font-size:.9375rem;font-weight:600;cursor:pointer;list-style-position:inside}.ingredient-details summary:hover{color:var(--lime)}.label-content{margin-top:1rem}.label-content img{width:100%;height:auto;border-radius:4px;display:block}.label-content h4{font-size:.9375rem;margin:1.2rem 0 .4rem}.label-content p{font-size:.9375rem;color:var(--muted);line-height:1.6}.label-content .label-note{font-size:.875rem}.label-link{display:inline-block;color:var(--purple);font-size:.875rem;text-decoration:underline;text-underline-offset:3px;margin-top:.5rem}.label-content .product-warning{font-size:.875rem;border-left:2px solid var(--purple);padding-left:.8rem;color:var(--ink)}.product-grid{align-items:start}

.tablet-label-note{font-size:.875rem;color:var(--muted);margin:1rem 0 .2rem;}

.pending-product-photo{color:#171717;text-align:center;font-size:1.25rem;font-weight:700;padding:2rem}.pending-product-photo span{display:block;margin-top:.8rem;font-size:1rem;font-weight:400}

/* Category and brand browsing */
.product[hidden], [hidden]{display:none!important}
.shop-controls{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:1.25rem;margin:0 0 1rem}
.category-filters{display:flex;flex-wrap:wrap;gap:.65rem}
.category-filter{background:#242329;color:var(--ink);border:1px solid #ffffff35;border-radius:100px;padding:.7rem 1.1rem;font-size:1rem;min-height:48px}
.category-filter[aria-pressed="true"]{background:var(--lime);border-color:var(--lime);color:#171717;font-weight:700}
.category-filter span{font-size:.875rem;margin-left:.5rem;opacity:.8}
.category-filter:hover{border-color:var(--lime)}
.brand-filter{display:flex;align-items:center;gap:.7rem}.brand-filter label{font-size:1rem;font-weight:600}
.brand-filter select{font:inherit;background:#242329;color:var(--ink);border:1px solid #ffffff50;border-radius:7px;padding:.65rem .8rem;min-height:48px;max-width:100%}
.brand-filter select:focus-visible{outline:3px solid var(--lime);outline-offset:3px}
.collection-results{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}
.collection-results p{font-size:.9375rem;color:var(--muted);margin:0}
#reset-filters{font-size:.9375rem;color:var(--purple);background:none;border:0;padding:.5rem 0;text-decoration:underline;text-underline-offset:4px}
.empty-collection{padding:2rem;border:1px solid #ffffff30;border-radius:7px;color:var(--muted)}
.hero{padding-top:1.5rem;padding-bottom:1.5rem}.hero-visual{min-height:300px}.hero h1{font-size:clamp(2.5rem,4vw,3.6rem);margin:1rem 0}.hero-note{margin-top:1rem}.collection{padding-top:2.5rem}
@media(max-width:640px){.shop-controls{align-items:stretch;gap:1rem}.category-filters{display:grid;grid-template-columns:1fr 1fr;width:100%}.category-filter{padding:.65rem .7rem}.brand-filter{width:100%}.brand-filter select{flex:1;min-width:0}.hero-visual{min-height:220px}.header nav{display:none}}

/* Adult age confirmation */
body.age-locked{overflow:hidden}
.age-gate{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1.25rem;background:#101014;overflow:auto}
.age-card{width:min(100%,490px);margin:auto;background:#202027;border:1px solid #ffffff30;border-radius:18px;padding:clamp(1.5rem,5vw,3rem);text-align:center;box-shadow:0 20px 90px #0008}
.age-number{color:var(--lime);font-size:4rem;font-weight:700;line-height:1.2;margin:1.2rem 0}
.age-card h2{font-size:clamp(1.7rem,6vw,2.2rem);line-height:1.2;margin:1rem 0}
.age-card p{font-size:1rem;line-height:1.6;color:var(--muted)}
.age-actions{display:grid;gap:.8rem;margin-top:1.8rem}
.age-actions button{width:100%;min-height:50px;font:inherit;cursor:pointer}
.age-secondary{background:transparent;color:var(--ink);border:1px solid #ffffff60;border-radius:7px;padding:.85rem}
.age-actions button:focus-visible{outline:3px solid var(--purple);outline-offset:4px}
#age-denied{color:var(--ink)}
