:root{--green:#075b35;--deep:#092f27;--yellow:#ffc936;--orange:#f47a20;--pink:#d91c65;--red:#c72a20;--cream:#fff5d9;--sand:#e9c984;--night:#161b38;--ink:#173429;--white:#fffdf5;--serif:Georgia,"Times New Roman",serif;--sans:Arial,Helvetica,sans-serif;--radius:28px;--shadow:0 24px 70px rgba(18,46,35,.18)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);line-height:1.6;overflow-x:hidden}body.locked{overflow:hidden}button,input,textarea{font:inherit}button,a{transition:.25s ease}a{color:inherit}.skip-link{position:fixed;left:1rem;top:-5rem;z-index:999;background:#fff;padding:.8rem}.skip-link:focus{top:1rem}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.eyebrow,.section-kicker{text-transform:uppercase;letter-spacing:.18em;font-weight:800;font-size:.76rem}.btn{display:inline-flex;justify-content:center;align-items:center;border:1px solid currentColor;border-radius:999px;padding:.88rem 1.3rem;font-weight:800;text-decoration:none;cursor:pointer}.btn-primary{background:var(--pink);color:white;border-color:var(--pink);box-shadow:0 12px 30px rgba(217,28,101,.22)}.btn-primary:hover{background:#b91553;transform:translateY(-2px)}.btn-ghost{background:transparent;color:inherit}.btn-ghost:hover{background:rgba(255,255,255,.14)}em{color:var(--pink);font-style:italic}.section{padding:8rem max(5vw,calc((100vw - 1240px)/2))}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:3.5rem}.section-heading h2,.story h2,.product h2,.retail h2,.faq h2,.contact h2{font:700 clamp(2.5rem,6vw,5.5rem)/.96 var(--serif);margin:.4rem 0}.section-heading>p{max-width:33rem}.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}
.site-header{height:96px;position:fixed;z-index:100;left:0;right:0;top:0;display:flex;align-items:center;padding:0 3vw;color:white;transition:.35s;background:linear-gradient(to bottom,rgba(7,47,39,.7),transparent)}.site-header.scrolled{height:70px;background:rgba(7,47,39,.96);backdrop-filter:blur(15px);box-shadow:0 8px 25px rgba(0,0,0,.15)}.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;margin-right:auto}.brand-sun{width:46px;height:46px;border:3px solid var(--yellow);border-radius:50%;background:repeating-conic-gradient(var(--yellow) 0 5deg,transparent 5deg 11deg)}.brand b{display:block;font:700 1.15rem var(--serif);letter-spacing:.08em}.brand small{font-size:.6rem;text-transform:uppercase;letter-spacing:.12em}.site-header nav{display:flex;gap:clamp(.6rem,1.3vw,1.4rem);align-items:center}.site-header nav a{font-size:.8rem;text-transform:uppercase;text-decoration:none;font-weight:700}.site-header nav a:hover{color:var(--yellow)}.header-age{font-size:.62rem;border-left:1px solid rgba(255,255,255,.4);padding-left:1.2rem;margin-left:1.2rem}.menu-toggle{display:none;background:transparent;border:0}.menu-toggle span:not(.sr-only){display:block;width:24px;height:2px;background:white;margin:5px}
.hero{min-height:100svh;position:relative;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;padding:9rem max(5vw,calc((100vw - 1240px)/2)) 5rem;color:white;background:radial-gradient(circle at 70% 45%,#ffce35 0 12%,#ef7a25 34%,#a91d47 66%,#11193b 100%);overflow:hidden}.sun-rays{position:absolute;right:-15vw;top:-20vw;width:80vw;height:80vw;border-radius:50%;opacity:.18;background:repeating-conic-gradient(#fff 0 2deg,transparent 2deg 9deg);animation:spin 80s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.hero-copy{position:relative;z-index:2}.hero h1{font:700 clamp(3.2rem,6.5vw,6.7rem)/.86 var(--serif);letter-spacing:-.05em;margin:1rem 0 2rem}.hero h1 em{color:var(--yellow);font-size:.7em}.lead{font-size:clamp(1.05rem,1.6vw,1.35rem);max-width:47rem}.button-row{display:flex;gap:.8rem;margin:2rem 0}.responsible{font-size:.72rem;text-transform:uppercase;letter-spacing:.15em}.hero-visual{position:relative;height:650px;display:grid;place-items:center}.halo{position:absolute;width:500px;height:500px;border-radius:50%;border:2px solid rgba(255,255,255,.35);box-shadow:0 0 0 28px rgba(255,201,54,.18),0 0 0 58px rgba(255,255,255,.08)}.product-placeholder{position:relative;width:210px;height:530px;border-radius:40% 40% 18% 18%/16% 16% 8% 8%;background:linear-gradient(90deg,#8d0b49,#ea2782 35%,#ff5aa4 50%,#be135f 74%,#660b3d);border:8px solid rgba(255,255,255,.3);box-shadow:0 40px 80px rgba(0,0,0,.3);display:flex;flex-direction:column;justify-content:center;align-items:center;transform:rotate(5deg)}.product-placeholder:before{content:"";position:absolute;top:-92px;width:85px;height:110px;border-radius:10px 10px 3px 3px;background:linear-gradient(90deg,#d8ad4b,#fff0a1,#b98922)}.product-placeholder span{position:absolute;bottom:-45px;font-size:.58rem;letter-spacing:.08em;white-space:nowrap}.product-placeholder b{text-align:center;font:700 3rem/.75 var(--serif);color:#fff3bb;text-shadow:3px 3px var(--green)}.product-placeholder i{text-transform:uppercase;font-size:.6rem;letter-spacing:.2em;margin-top:1rem}.label-reference{position:absolute;right:-30px;bottom:70px;background:var(--green);padding:1rem 1.3rem;transform:rotate(-5deg);box-shadow:var(--shadow)}.label-reference span,.label-reference strong{display:block}.label-reference span{font-size:.6rem;text-transform:uppercase}.label-reference strong{font:1.15rem var(--serif);color:var(--yellow)}.float-fruit{position:absolute;border-radius:48% 52% 45% 55%;background:radial-gradient(circle at 35% 30%,#ff75ab,var(--pink) 50%,#80113f);box-shadow:inset 0 0 0 7px rgba(255,255,255,.15);animation:float 6s ease-in-out infinite}.float-fruit:after{content:"";position:absolute;inset:15%;background-image:radial-gradient(#ffd14c 2px,transparent 3px);background-size:18px 18px}.fruit-a{width:95px;height:130px;left:4%;bottom:10%}.fruit-b{width:55px;height:75px;right:4%;top:20%;animation-delay:-2s}@keyframes float{50%{transform:translateY(-20px) rotate(5deg)}}.scroll-cue{position:absolute;bottom:1.2rem;left:50%;transform:translateX(-50%);font-size:.65rem;letter-spacing:.2em;text-transform:uppercase}.scroll-cue span{display:block;width:1px;height:28px;background:white;margin:.5rem auto}
.story{background:var(--cream);position:relative}.story:before{content:"";position:absolute;right:-70px;top:-50px;width:180px;height:300px;border-radius:50%;background:var(--green);transform:rotate(22deg)}.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem}.story-copy{padding-top:2rem}.story-copy p:not(.lead){max-width:38rem}.mood-placeholder{grid-column:1/-1;min-height:450px;border-radius:var(--radius);background:linear-gradient(120deg,rgba(9,47,39,.1),rgba(255,201,54,.4)),repeating-linear-gradient(45deg,#e7a82d 0 2px,#f8d96d 2px 28px);position:relative;overflow:hidden;display:flex;align-items:end;padding:2rem}.mood-placeholder span,.serve-image span,.gallery-item span{background:rgba(9,47,39,.88);color:white;padding:.6rem .9rem;font-size:.7rem;letter-spacing:.08em}.prickly-pear{position:absolute;right:12%;bottom:-15%;width:240px;height:350px;border-radius:45%;background:radial-gradient(circle at 30% 20%,#97bb45,var(--green));transform:rotate(12deg);box-shadow:-170px 120px 0 -45px #17704a}
.flavor{background:var(--deep);color:white}.flavor-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:5rem;align-items:center}.flavor-wheel{aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--pink) 0 17%,var(--orange) 17% 34%,var(--yellow) 34% 50%,#9cbd3d 50% 67%,#198160 67% 84%,#752d70 84%);box-shadow:0 0 0 18px rgba(255,255,255,.06);animation:pulse 4s ease-in-out infinite}.wheel-center{width:45%;height:45%;border-radius:50%;display:grid;place-content:center;text-align:center;background:var(--deep);border:2px solid var(--sand)}.wheel-center strong{font:700 2rem/.8 var(--serif)}.wheel-center span{text-transform:uppercase;font-size:.65rem;letter-spacing:.2em}@keyframes pulse{50%{box-shadow:0 0 0 28px rgba(255,255,255,.04)}}.flavor-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:rgba(255,255,255,.2)}.flavor-cards article{background:var(--deep);padding:1.4rem;min-height:150px;transition:.3s}.flavor-cards article:hover{background:#0f4a3c;transform:scale(1.035);position:relative;z-index:1}.flavor-cards span{color:var(--yellow);font-size:.7rem}.flavor-cards h3{margin:.4rem 0}.flavor-cards p{margin:0;color:#cbd9d4;font-size:.9rem}
.product{display:grid;grid-template-columns:1fr 1fr;background:linear-gradient(110deg,#f3c55a,#fff5d9 55%);padding-top:10rem;padding-bottom:10rem}.product-stage{display:grid;place-items:center;min-height:650px}.product-placeholder.large{transform:rotate(-4deg);width:235px;height:600px}.product-info{align-self:center}.product-info>p{max-width:38rem}.product-info dl{margin:2.5rem 0;border-top:1px solid rgba(23,52,41,.25)}.product-info dl div{display:grid;grid-template-columns:1fr 1.4fr;padding:.8rem 0;border-bottom:1px solid rgba(23,52,41,.2)}dt{text-transform:uppercase;font-size:.65rem;letter-spacing:.1em;font-weight:bold}dd{margin:0}.legal-note{font-weight:bold;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em}
.serve{background:#f4ead0;overflow:hidden}.slider-buttons{display:flex;gap:.5rem}.slider-buttons button{width:50px;height:50px;border-radius:50%;border:1px solid var(--green);background:transparent;cursor:pointer}.serve-track{display:flex;gap:1.5rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:1rem}.serve-card{min-width:min(370px,82vw);scroll-snap-align:start;background:white;border-radius:var(--radius);padding:1rem 1rem 1.6rem;box-shadow:0 12px 40px rgba(0,0,0,.06)}.serve-image{height:300px;border-radius:20px;display:flex;align-items:end;padding:1rem;background:radial-gradient(circle at 60% 30%,rgba(255,255,255,.75),transparent 25%),linear-gradient(140deg,var(--yellow),var(--pink))}.serve-image.spritz{background:linear-gradient(140deg,#8dbf4a,#ffd15e)}.serve-image.cocktail{background:linear-gradient(140deg,#642c68,#ef6b45)}.serve-image.shot{background:linear-gradient(140deg,#0d6b50,#f5b73b)}.serve-card small{display:block;margin-top:1.2rem;text-transform:uppercase;letter-spacing:.12em}.serve-card h3{font:700 2rem var(--serif);margin:.4rem 0}.serve-card b{font-size:.65rem;color:var(--pink)}
.experience{min-height:720px;position:relative;display:grid;place-items:center;color:white;overflow:hidden}.experience-bg{position:absolute;inset:-10%;background:linear-gradient(rgba(19,17,51,.18),rgba(19,17,51,.78)),radial-gradient(circle at 70% 20%,#ffd25b 0 4%,#dc5a4b 26%,#4b245b 60%,#15162e 100%);will-change:transform}.experience-copy{position:relative;text-align:center;max-width:900px;padding:5rem 2rem}.experience-copy h2{font:700 clamp(3rem,7vw,6.5rem)/.92 var(--serif);margin:1rem}.experience-copy em{color:var(--yellow)}.experience-copy p{max-width:600px;margin:1.5rem auto}.experience-copy>span{display:inline-block;border:1px solid rgba(255,255,255,.4);padding:.6rem;font-size:.65rem}
.gallery{background:var(--cream)}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:230px;gap:1rem}.gallery-item{border:0;border-radius:18px;overflow:hidden;display:flex;align-items:end;padding:1rem;cursor:zoom-in;text-align:left;transition:.3s;background-size:120%}.gallery-item:hover{transform:scale(1.02);box-shadow:var(--shadow)}.gallery-item.tall{grid-row:span 2}.gallery-item.wide{grid-column:span 2}.gallery-item.pink{background:linear-gradient(145deg,#e32873,#661143)}.gallery-item.yellow{background:radial-gradient(circle,#ffe479,#ea9f23)}.gallery-item.green{background:linear-gradient(145deg,#62a64e,#074c34)}.gallery-item.night{background:linear-gradient(145deg,#fb6949,#2e1945)}.gallery-item.orange{background:linear-gradient(145deg,#ffc439,#dc3c36)}
.retail{background:var(--yellow);display:grid;grid-template-columns:1.1fr .9fr;gap:5rem;align-items:center}.retailer-logos{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:2rem}.retailer-logos span{padding:1rem;background:rgba(255,255,255,.55);border-radius:8px;font-size:.7rem}.store-finder{background:var(--deep);color:white;border-radius:var(--radius);padding:3rem;box-shadow:var(--shadow)}.store-finder label{display:block;font:700 2rem var(--serif);margin-bottom:1rem}.store-finder>div{display:flex;gap:.5rem}.store-finder input{min-width:0;flex:1;border:0;border-radius:999px;padding:0 1.2rem}.store-finder p{font-size:.8rem;color:#c8d5d0}
.faq{background:var(--white)}.accordion{max-width:1000px;margin:auto}.accordion details{border-top:1px solid #baa;}.accordion details:last-child{border-bottom:1px solid #baa}.accordion summary{display:flex;justify-content:space-between;gap:2rem;align-items:center;cursor:pointer;padding:1.4rem 0;font-weight:bold;list-style:none;font-size:1.05rem}.accordion summary span{font-size:1.7rem;color:var(--pink);transition:.25s}.accordion details[open] summary span{transform:rotate(45deg)}.accordion details p{max-width:800px;margin:0 0 1.5rem;color:#496159}
.contact{background:var(--deep);color:white;display:grid;grid-template-columns:1fr 1fr;gap:6rem}.contact-copy>a{font-size:1.3rem;color:var(--yellow)}.contact-form{display:grid;gap:1rem}.contact-form label{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em}.contact-form input,.contact-form textarea{display:block;width:100%;background:transparent;color:white;border:0;border-bottom:1px solid #81958d;padding:.7rem 0;outline:none}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--yellow)}.contact-form .check{display:flex;align-items:start;gap:.5rem;text-transform:none;letter-spacing:0}.contact-form .check input{width:auto}.contact-form .btn{justify-self:start}.form-status{font-size:.8rem;color:var(--yellow)}
footer{background:#071f1a;color:white;padding:4rem 5vw 2rem;text-align:center}.footer-brand b{display:block;font:700 2rem var(--serif);color:var(--yellow)}.footer-brand span{font-style:italic}.footer-links{display:flex;justify-content:center;flex-wrap:wrap;gap:1.2rem;margin:2rem 0}.footer-links a,.footer-links button{background:none;border:0;color:white;text-decoration:underline;cursor:pointer;font-size:.8rem}footer p{font-weight:bold;text-transform:uppercase;letter-spacing:.12em;font-size:.7rem}footer small{color:#91a39d}
.age-gate{position:fixed;inset:0;z-index:1000;background:radial-gradient(circle at 30% 20%,#f7c840,#df593a 42%,#211837 100%);display:grid;place-items:center;padding:1.5rem;color:white;transition:.5s}.age-gate.hidden{opacity:0;visibility:hidden}.age-card{width:min(620px,100%);text-align:center;background:rgba(9,47,39,.88);border:1px solid rgba(255,255,255,.3);border-radius:32px;padding:clamp(2rem,6vw,4rem);box-shadow:0 35px 100px rgba(0,0,0,.35);backdrop-filter:blur(15px)}.age-card h1{font:700 clamp(2.3rem,6vw,4.2rem)/1 var(--serif);margin:.7rem}.mini-mark{margin:auto;width:62px;height:62px;border:2px solid var(--yellow);border-radius:50%;display:grid;place-items:center;font-weight:bold;color:var(--yellow)}.age-actions{display:flex;justify-content:center;gap:.7rem;margin:2rem 0}.age-card small{color:#cbd8d3}.lightbox,.cookie-modal{position:fixed;inset:0;z-index:500;background:rgba(5,20,17,.92);display:grid;place-items:center;opacity:0;visibility:hidden;transition:.3s;color:white}.lightbox.open,.cookie-modal.open{opacity:1;visibility:visible}.lightbox>button,.modal-close{position:absolute;right:2rem;top:1rem;border:0;background:none;color:white;font-size:2.6rem;cursor:pointer}.lightbox>div{width:min(900px,85vw);height:min(650px,75vh);border-radius:var(--radius);background:linear-gradient(135deg,var(--pink),var(--orange),var(--yellow));display:grid;place-content:center;text-align:center;padding:2rem}.lightbox span{font:700 clamp(2rem,5vw,4rem) var(--serif)}.lightbox small{margin-top:1rem}.cookie-banner{position:fixed;z-index:400;left:1rem;right:1rem;bottom:1rem;background:white;color:var(--ink);padding:1.2rem 1.5rem;border-radius:18px;box-shadow:0 20px 80px rgba(0,0,0,.25);display:flex;justify-content:space-between;align-items:center;gap:2rem;transform:translateY(150%);transition:.4s}.cookie-banner.show{transform:none}.cookie-banner p{margin:.3rem 0;font-size:.8rem}.cookie-banner a{font-size:.75rem}.cookie-actions{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.cookie-actions .btn{padding:.65rem 1rem;font-size:.75rem;color:var(--ink)}.cookie-actions .btn-primary{color:white}.text-button{border:0;background:none;text-decoration:underline;cursor:pointer}.cookie-modal>div{position:relative;width:min(550px,90vw);background:white;color:var(--ink);border-radius:24px;padding:2rem}.cookie-modal .modal-close{color:var(--ink);right:1rem;top:.4rem}.cookie-modal label{display:flex;justify-content:space-between;gap:2rem;padding:1rem 0;border-top:1px solid #ddd}.cookie-modal label span,.cookie-modal label small{display:block}
@media (max-width:1000px){.site-header nav{position:absolute;top:0;right:0;width:min(390px,90vw);height:100vh;background:var(--deep);padding:7rem 2rem 2rem;display:flex;flex-direction:column;align-items:start;transform:translateX(110%);transition:.3s}.site-header nav.open{transform:none}.site-header nav a{font-size:1.1rem}.menu-toggle{display:block;position:relative;z-index:2}.header-age{display:none}.hero{grid-template-columns:1fr;padding-top:9rem}.hero-visual{height:500px}.product-placeholder{height:390px;width:155px}.product-placeholder:before{top:-65px;width:65px;height:80px}.halo{width:350px;height:350px}.story-grid,.product,.retail,.contact{grid-template-columns:1fr}.flavor-layout{grid-template-columns:1fr}.flavor-wheel{max-width:450px;margin:auto}.gallery-grid{grid-template-columns:repeat(2,1fr)}.retail,.contact{gap:3rem}.product-stage{min-height:600px}}
@media (max-width:650px){.section{padding:5.5rem 1.2rem}.site-header{height:72px;padding:0 1rem}.brand-sun{width:36px;height:36px}.hero{padding:7.5rem 1.2rem 4rem}.hero h1{font-size:3.6rem}.button-row,.age-actions{flex-direction:column;align-items:stretch}.hero-visual{height:450px}.section-heading{align-items:start;flex-direction:column}.story-grid{grid-template-columns:1fr}.flavor-cards{grid-template-columns:1fr}.product-info dl div{grid-template-columns:1fr;gap:.25rem}.product-stage{min-height:520px}.product-placeholder.large{height:450px;width:175px}.gallery-grid{grid-template-columns:1fr;grid-auto-rows:220px}.gallery-item.tall{grid-row:span 1}.gallery-item.wide{grid-column:span 1}.store-finder{padding:2rem 1.2rem}.store-finder>div{flex-direction:column}.cookie-banner{align-items:stretch;flex-direction:column}.cookie-actions{justify-content:stretch}.cookie-actions>*{flex:1}.age-card{padding:2rem 1.2rem}}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}

/* Original El Chumbo artwork */
.brand-logo{width:52px;height:52px;object-fit:cover;border-radius:50%;border:2px solid var(--yellow);box-shadow:0 5px 18px rgba(0,0,0,.2);transition:.35s}
.site-header.scrolled .brand-logo{width:43px;height:43px}
.hero-emblem{position:relative;z-index:1;width:min(590px,48vw);aspect-ratio:1;object-fit:cover;border-radius:50%;filter:drop-shadow(0 35px 45px rgba(0,0,0,.3));animation:float 7s ease-in-out infinite}
.product-stage{position:relative}
.product-label{position:absolute;width:min(310px,46%);right:0;bottom:2%;border:7px solid var(--cream);box-shadow:var(--shadow);transform:rotate(5deg)}
.gallery-item{position:relative}
.gallery-item.image-tile{background:#fff}
.gallery-item.image-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .45s}
.gallery-item.image-tile:hover img{transform:scale(1.05)}
.gallery-item.image-tile span{position:relative}
.gallery-item.label-tile img{object-fit:contain;background:var(--yellow)}
.lightbox>div{overflow:hidden}
.lightbox img{display:none;max-width:100%;max-height:50vh;margin:0 auto 1rem;object-fit:contain}
.lightbox img.show{display:block}
@media(max-width:1000px){.hero-emblem{width:min(520px,80vw)}.product-label{right:5%}}
@media(max-width:650px){.brand-logo{width:40px;height:40px}.hero-emblem{width:min(420px,92vw)}.product-label{width:42%;right:0}}

/* Version 2: photographic desert and cactus-fruit art direction */
.hero{background-image:linear-gradient(90deg,rgba(9,21,29,.88) 0%,rgba(28,25,30,.58) 44%,rgba(37,20,12,.12) 72%),url("images/desert-hero-ai.png");background-size:cover;background-position:center}
.hero .sun-rays{opacity:.08}
.hero-emblem{width:min(500px,42vw);border:8px solid rgba(255,220,118,.78);box-shadow:0 28px 80px rgba(0,0,0,.38)}
.mood-photo{grid-column:1/-1;position:relative;height:min(610px,62vw);min-height:420px;margin:0;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.mood-photo img{width:100%;height:100%;object-fit:cover}
.mood-photo figcaption{position:absolute;left:1.5rem;bottom:1.5rem;max-width:430px;padding:1rem 1.2rem;border-radius:12px;background:rgba(9,47,39,.9);color:white;font:italic 1.1rem var(--serif);backdrop-filter:blur(8px)}
.product .product-placeholder{background:linear-gradient(90deg,#6d4b0d,#c88b24 25%,#f8da79 49%,#c0841d 72%,#66440a);border-color:rgba(255,250,217,.55)}
.product .product-placeholder b{color:#fff8dc;text-shadow:3px 3px var(--green)}
.serve-image.real-image{position:relative;background-size:cover;background-position:center;overflow:hidden}
.serve-image.real-image:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 45%,rgba(5,31,26,.68))}
.serve-image.real-image span{position:relative;z-index:1}
.serve-image.still-life{background-image:url("images/sombrero-still-life-ai.png")}
.serve-image.shot-classic{background-image:url("images/serviervorschlag-shot-ai.png");background-position:center}
.serve-image.spritz-pomegranate{background-image:url("images/serviervorschlag-el-chumbo-spritz-ai.png");background-position:center}
.serve-image.golden-sunset{background-image:url("images/serviervorschlag-golden-sunset-ai.png");background-position:center}
.serve-image.pear-detail{background-image:url("images/prickly-pear-macro-ai.png")}
.serve-image.desert-view{background-image:url("images/desert-hero-ai.png")}
.serve-image.terrace-view{background-image:url("images/terrace-evening-ai.png")}
.experience-bg{background-image:linear-gradient(90deg,rgba(13,20,31,.58),rgba(13,20,31,.2),rgba(13,20,31,.6)),url("images/terrace-evening-ai.png");background-size:cover;background-position:center}
.experience-copy{text-shadow:0 2px 20px rgba(0,0,0,.48)}
.gallery-item.image-tile img{filter:saturate(.96) contrast(1.02)}
@media(max-width:1000px){.hero{background-position:62% center}.hero-emblem{width:min(430px,72vw)}.mood-photo{height:65vw}}
@media(max-width:650px){.hero{background-position:68% center}.hero:before{content:"";position:absolute;inset:0;background:rgba(9,31,26,.2)}.hero-copy,.hero-visual{position:relative}.hero-emblem{width:min(360px,86vw)}.mood-photo{height:78vw;min-height:360px}.mood-photo figcaption{left:.8rem;right:.8rem;bottom:.8rem}.experience-bg{background-position:60% center}}

/* Original product bottle */
.product-stage:after{content:"";position:absolute;z-index:0;left:50%;bottom:3%;width:62%;height:9%;transform:translateX(-50%);border-radius:50%;background:radial-gradient(ellipse,rgba(10,17,13,.58) 0%,rgba(10,17,13,.2) 48%,transparent 72%);filter:blur(9px)}
.hero-bottle{position:relative;z-index:2;display:block;width:min(390px,34vw);max-height:670px;object-fit:contain;filter:drop-shadow(0 32px 26px rgba(0,0,0,.46)) drop-shadow(0 0 28px rgba(255,195,74,.26));animation:bottle-float 6s ease-in-out infinite}
.hero-bottle:focus{outline:2px solid var(--yellow)}
.product-bottle{position:relative;z-index:2;display:block;width:min(430px,72%);max-height:700px;object-fit:contain;filter:drop-shadow(0 38px 26px rgba(45,30,8,.32)) drop-shadow(0 0 36px rgba(255,196,62,.35));transform:rotate(-2deg)}
.product-stage:before{content:"";position:absolute;z-index:0;width:68%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(255,233,148,.7),rgba(255,201,54,.18) 48%,transparent 70%);filter:blur(2px)}
@keyframes bottle-float{0%,100%{transform:translateY(0) rotate(1deg)}50%{transform:translateY(-12px) rotate(-1deg)}}
@media(max-width:1000px){.hero-bottle{width:min(350px,58vw);max-height:530px}.product-bottle{width:min(390px,68vw)}}
@media(max-width:650px){.hero-bottle{width:min(285px,74vw);max-height:430px}.product-bottle{width:min(330px,78vw);max-height:540px}.product-stage:after{width:72%}}

/* Privacy-first store finder */
.retail{align-items:start}
.retailer-logos span{display:inline-flex;align-items:center;gap:.35rem;border:1px solid rgba(7,91,53,.14);background:rgba(255,255,255,.48);font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.retailer-logos strong{font:700 1.15rem var(--serif);color:var(--green)}
.store-finder{padding:2.35rem;border:1px solid rgba(255,255,255,.13);background:linear-gradient(145deg,#0b3b30,var(--deep));overflow:hidden}
.store-finder-head{display:flex;align-items:center;gap:1rem;margin-bottom:1.7rem}
.store-finder-head .eyebrow{margin:0;color:var(--yellow)}
.store-finder-head h3{margin:.1rem 0 0;font:700 2rem/1 var(--serif)}
.finder-icon{display:grid;place-items:center;width:52px;height:52px;flex:0 0 auto;border:1px solid rgba(255,201,54,.55);border-radius:50%;color:var(--yellow);font-size:1.55rem;background:rgba(255,201,54,.08)}
.store-finder>label{margin:0 0 .55rem;font:700 .7rem var(--sans);letter-spacing:.13em;text-transform:uppercase;color:#d8e3df}
.postcode-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:.65rem!important}
.store-finder .postcode-row input{height:52px;width:100%;border:1px solid rgba(255,255,255,.18);background:#fffdf5;color:var(--ink);font-size:1.05rem;font-weight:700;letter-spacing:.08em;box-shadow:inset 0 2px 7px rgba(0,0,0,.06)}
.store-finder .postcode-row input:focus{outline:3px solid rgba(255,201,54,.35);border-color:var(--yellow)}
.store-finder .postcode-row input.input-error{border-color:#ff7897;outline:3px solid rgba(255,120,151,.2)}
.store-finder .postcode-row .btn{white-space:nowrap}
.search-help{margin:.6rem 0 1.4rem!important;color:#9db2aa!important}
.store-finder>.store-message{display:block;padding-top:1.2rem;border-top:1px solid rgba(255,255,255,.14);font-size:.78rem;font-weight:700;letter-spacing:.04em;color:var(--yellow)}
.store-finder>.store-results{display:grid;gap:.8rem;margin-top:1rem}
.store-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1rem;padding:1rem;border:1px solid rgba(255,255,255,.12);border-radius:17px;background:rgba(255,255,255,.065);transition:transform .25s ease,border-color .25s ease,background .25s ease}
.store-card:hover{transform:translateY(-2px);border-color:rgba(255,201,54,.5);background:rgba(255,255,255,.09)}
.store-rank{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--yellow);color:var(--deep);font-size:.7rem;font-weight:900}
.store-card-top{display:flex;align-items:start;justify-content:space-between;gap:.8rem}
.store-card h4{margin:0;color:white;font:700 1.05rem/1.2 var(--serif)}
.store-card address{margin:.35rem 0 .8rem;color:#c6d5cf;font-size:.78rem;font-style:normal}
.distance-badge{flex:0 0 auto;padding:.25rem .55rem;border-radius:999px;background:rgba(255,201,54,.13);color:var(--yellow);font-size:.62rem;font-weight:800;white-space:nowrap}
.maps-link{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding-top:.7rem;border-top:1px solid rgba(255,255,255,.1);color:white;text-decoration:none;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.maps-link:hover{color:var(--yellow)}
.maps-link span:last-child{font-size:1.1rem}
.store-privacy{display:flex;gap:.55rem;margin:1.2rem 0 0!important;padding-top:1rem;border-top:1px solid rgba(255,255,255,.1);color:#90a69e!important;font-size:.68rem!important;line-height:1.45}
.store-privacy span{color:#6fd09e;font-weight:900}
@media(max-width:650px){.store-finder{padding:1.4rem}.postcode-row{grid-template-columns:1fr}.store-finder .postcode-row .btn{width:100%}.store-card-top{align-items:start;flex-direction:column}.distance-badge{order:-1}.store-finder-head h3{font-size:1.7rem}}

/* Photographic flavor profile */
.flavor-photo{position:relative;aspect-ratio:1;margin:0;border-radius:50%;overflow:hidden;border:2px solid rgba(255,201,54,.72);box-shadow:0 0 0 18px rgba(255,255,255,.055),0 32px 70px rgba(0,0,0,.3)}
.flavor-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 52%,rgba(4,31,25,.88) 100%);pointer-events:none}
.flavor-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s ease,filter .7s ease}
.flavor-photo:hover img{transform:scale(1.035);filter:saturate(1.06)}
.flavor-photo figcaption{position:absolute;z-index:1;left:0;right:0;bottom:9%;display:flex;flex-direction:column;align-items:center;color:white;text-align:center;text-shadow:0 2px 14px rgba(0,0,0,.7)}
.flavor-photo figcaption strong{font:700 1.35rem var(--serif);color:var(--yellow)}
.flavor-photo figcaption span{font-size:.63rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
@media(max-width:1000px){.flavor-photo{width:min(450px,90vw);margin:auto}}

.recipe-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.38rem .75rem;margin:1rem 0 0;padding:0;list-style:none;border-top:1px solid rgba(23,52,41,.13);padding-top:.85rem}
.recipe-list li{font-size:.68rem;color:#496159}
.recipe-list strong{color:var(--pink);font-size:.7rem}

/* Subtle original-brand stamp behind the hero logo */
.hero-visual .label-reference{right:-1rem;bottom:4.5rem;z-index:3;min-width:205px;padding:1.35rem 1.7rem;background:rgba(7,91,53,.88);border:2px solid rgba(255,201,54,.82);border-radius:10px;box-shadow:0 18px 42px rgba(0,0,0,.28),inset 0 0 0 4px rgba(7,47,39,.56);transform:rotate(-7deg);opacity:.96;backdrop-filter:blur(5px);text-align:center}
.hero-visual .label-reference:before{content:"";position:absolute;inset:6px;border:1px dashed rgba(255,231,157,.62);border-radius:6px;pointer-events:none}
.hero-visual .label-reference strong{position:relative;display:block;color:#ffe39a;font:700 1.65rem/1 var(--serif);letter-spacing:.11em;text-transform:uppercase;text-shadow:0 2px 0 rgba(80,32,6,.42)}
@media(max-width:1000px){.hero-visual .label-reference{right:4%;bottom:3rem;min-width:185px}.hero-visual .label-reference strong{font-size:1.4rem}}
@media(max-width:650px){.hero-visual .label-reference{right:0;bottom:2.4rem;min-width:160px;padding:1.1rem 1.25rem;opacity:.92}.hero-visual .label-reference strong{font-size:1.15rem}}

/* Responsive hardening for phones, tablets and narrow laptop windows */
img,svg,video{max-width:100%;height:auto}
input,textarea,select{font-size:16px}
.site-header,.hero,.section,.product,.retail,.contact,footer{max-width:100vw}
.brand{min-width:0}
.brand span{min-width:0}
.brand b,.brand small{white-space:nowrap}
.site-header nav{min-width:0}
.serve-track{scroll-padding-inline:max(1rem,5vw)}
.serve-card{width:min(390px,86vw);flex:0 0 auto}
.contact-copy,.contact-form,.product-info,.retail-copy,.store-finder{min-width:0}
.contact-copy>a{overflow-wrap:anywhere}
.lightbox>div{max-width:calc(100vw - 2rem)}
.cookie-banner{max-height:calc(100svh - 2rem);overflow:auto}
@media(max-width:1180px){
  .site-header{height:82px;padding-inline:1.5rem;background:rgba(7,47,39,.94);backdrop-filter:blur(12px)}
  .site-header nav{position:fixed;top:0;right:0;bottom:0;width:min(390px,88vw);height:100svh;padding:6.5rem 2rem 2rem;overflow:auto;display:flex;flex-direction:column;align-items:flex-start;background:var(--deep);transform:translateX(110%);transition:.3s ease}
  .site-header nav.open{transform:none}
  .menu-toggle{display:block;position:relative;z-index:3;margin-left:.75rem}
  .header-age{display:none}
  .hero{grid-template-columns:1fr;gap:2rem;min-height:auto;padding-top:8.5rem;padding-bottom:4rem}
  .hero-copy{max-width:760px}
  .hero-visual{height:auto;min-height:clamp(330px,52vw,520px)}
  .retail,.contact,.product{grid-template-columns:1fr}
  .retail,.contact{gap:3rem}
}
@media(min-width:651px) and (max-width:1180px){
  .section{padding:7rem max(2rem,5vw)}
  .hero-emblem{width:min(470px,62vw)}
  .hero-visual .label-reference{right:calc(50% - min(250px,34vw));bottom:2.5rem}
  .product{padding-top:7rem;padding-bottom:7rem}
  .product-stage{min-height:560px;order:1}
  .product-info{order:2}
  .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .serve-image{height:280px}
}
@media(max-width:650px){
  .site-header{height:68px;padding-inline:1rem}
  .site-header.scrolled{height:64px}
  .brand-logo{width:40px;height:40px;flex:0 0 auto}
  .brand b{font-size:.98rem;letter-spacing:.05em}
  .brand small{font-size:.52rem;letter-spacing:.08em}
  .site-header nav{width:min(340px,92vw);padding:5.8rem 1.25rem 2rem}
  .site-header nav a{font-size:1rem}
  .hero{padding:7.25rem 1rem 3.25rem;gap:1.5rem;background-position:64% center}
  .hero h1{font-size:clamp(2.8rem,15vw,3.6rem);line-height:.9;letter-spacing:-.045em;margin-bottom:1.35rem}
  .lead{font-size:1rem}
  .responsible{letter-spacing:.09em}
  .hero-visual{min-height:330px}
  .hero-emblem{width:min(320px,84vw);border-width:5px}
  .hero-visual .label-reference{right:50%;bottom:1.1rem;min-width:145px;padding:.9rem 1rem;transform:translateX(55%) rotate(-7deg)}
  .hero-visual .label-reference strong{font-size:1rem;letter-spacing:.08em}
  .scroll-cue{display:none}
  .section{padding:4.75rem 1rem}
  .section-heading{gap:1rem;margin-bottom:2rem}
  .section-heading h2,.story h2,.product h2,.retail h2,.faq h2,.contact h2{font-size:clamp(2.15rem,12vw,3.2rem)}
  .story:before{display:none}
  .mood-photo{height:72vw;min-height:310px;border-radius:22px}
  .mood-photo figcaption{font-size:.95rem}
  .flavor-layout{gap:2rem}
  .flavor-photo{width:min(330px,86vw);box-shadow:0 0 0 10px rgba(255,255,255,.055),0 22px 44px rgba(0,0,0,.24)}
  .flavor-cards article{min-height:0;padding:1.15rem}
  .product{padding-top:4.75rem;padding-bottom:4.75rem}
  .product-stage{min-height:430px}
  .product-bottle{width:min(260px,72vw);max-height:430px}
  .product-stage:before{width:88%}
  .product-info dl{margin:1.7rem 0}
  .serve-track{gap:1rem;margin-inline:-1rem;padding-inline:1rem}
  .serve-card{width:86vw;min-width:86vw;border-radius:22px}
  .serve-image{height:240px;border-radius:16px}
  .serve-card h3{font-size:1.75rem}
  .recipe-list{grid-template-columns:1fr}
  .experience{min-height:540px}
  .experience-copy{padding:4rem 1rem}
  .experience-copy h2{font-size:clamp(2.35rem,13vw,3.5rem);margin:1rem 0}
  .gallery-grid{gap:.8rem}
  .gallery-grid{grid-auto-rows:210px}
  .retail{gap:2rem}
  .retailer-logos{display:grid;grid-template-columns:1fr}
  .retailer-logos span{justify-content:center;text-align:center}
  .store-finder{border-radius:22px}
  .store-finder-head{align-items:flex-start}
  .store-card{grid-template-columns:1fr}
  .store-rank{width:32px;height:32px}
  .maps-link{align-items:flex-start;flex-direction:column}
  .contact{gap:2rem}
  .contact-form .btn{width:100%}
  .accordion summary{gap:1rem;font-size:1rem}
  .footer-links{gap:.85rem}
  .footer-links a,.footer-links button{font-size:.76rem}
  .lightbox>button,.modal-close{right:1rem;top:.5rem}
  .lightbox>div{height:min(600px,78svh);padding:1rem}
}
@media(max-width:390px){
  .brand small{display:none}
  .hero h1{font-size:2.55rem}
  .hero-emblem{width:min(285px,82vw)}
  .hero-visual{min-height:300px}
  .button-row .btn{padding:.78rem 1rem}
  .section{padding-inline:.9rem}
  .serve-card{width:88vw;min-width:88vw;padding:.85rem .85rem 1.35rem}
  .serve-image{height:220px}
  .store-finder{padding:1.15rem}
  .cookie-actions{display:grid;grid-template-columns:1fr}
}
@media(hover:none){
  .gallery-item:hover,.flavor-cards article:hover,.btn-primary:hover{transform:none}
}

/* GEMA-free generative chillout music control */
.music-toggle{position:fixed;z-index:350;right:1rem;bottom:1rem;display:flex;align-items:center;gap:.55rem;border:1px solid rgba(255,201,54,.55);border-radius:999px;padding:.72rem 1rem;background:rgba(9,47,39,.9);color:white;box-shadow:0 16px 45px rgba(0,0,0,.24);backdrop-filter:blur(12px);cursor:pointer}
.music-toggle span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--yellow);color:var(--deep);font-weight:900}
.music-toggle strong{font-size:.78rem;text-transform:uppercase;letter-spacing:.1em}
.music-toggle small{color:#ffe7a3;text-transform:uppercase;letter-spacing:.08em;font-size:.62rem}
.music-toggle.is-playing{background:rgba(217,28,101,.92);border-color:rgba(255,255,255,.42)}
.music-toggle.is-playing span{animation:music-pulse 1.8s ease-in-out infinite}
.music-toggle:focus-visible{outline:3px solid rgba(255,201,54,.72);outline-offset:3px}
@keyframes music-pulse{50%{transform:scale(1.08);box-shadow:0 0 0 8px rgba(255,201,54,.18)}}
@media(max-width:650px){.music-toggle{right:.8rem;bottom:.8rem;padding:.62rem .8rem}.music-toggle strong{display:none}.music-toggle span{width:34px;height:34px}.music-toggle small{font-size:.58rem}}
