/* Bacchus Drinks – brand navy + copper from the logo, Marcellus (Roman capitals like the logo) + Figtree */
:root{
  --navy:#1b2342; --navy-deep:#121830; --navy-soft:#26305a;
  --copper:#d4a77d; --copper-ink:#9a6b42; --copper-hi:#ecc9a6;
  --white:#fff; --mist:#f1f2f6; --line:#dfe2ea; --ink:#1b2342; --muted:#5d6480;
  --spritz:#e8622c;
  --serif:"Marcellus",Georgia,serif; --sans:"Figtree",system-ui,sans-serif;
  --r:6px; --ease:cubic-bezier(.22,1,.36,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{background:var(--white);color:var(--ink);font:400 17px/1.6 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit}
:focus-visible{outline:2px solid var(--copper);outline-offset:3px}
.wrap{width:min(1200px,100% - 40px);margin-inline:auto}
h1,h2,h3{font-family:var(--serif);font-weight:400;letter-spacing:.005em}
h2{font-size:clamp(32px,4vw,52px);line-height:1.08}
h3{font-size:21px;line-height:1.25}
.sec{padding:clamp(80px,9vw,128px) 0}
.sec-head{display:grid;grid-template-columns:1fr minmax(0,480px);gap:32px;align-items:end;margin-bottom:36px}
.sec-head p{color:var(--muted)}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 24px;border-radius:999px;font:600 15px var(--sans);text-decoration:none;cursor:pointer;border:1px solid transparent;transition:background-color .15s ease,color .15s ease,border-color .15s ease,transform .12s ease-out}
.btn:active{transform:scale(.97)}
.btn-copper{background:var(--copper);color:var(--navy-deep)}
.btn-ghost{border-color:rgba(255,255,255,.35);color:var(--white)}
@media (hover:hover) and (pointer:fine){.btn-copper:hover{background:var(--copper-hi)}.btn-ghost:hover{border-color:var(--copper);color:var(--copper-hi)}}
.w100{width:100%}

/* Header */
.hdr{position:sticky;top:0;z-index:40;background:rgba(18,24,48,.92);backdrop-filter:blur(10px);color:var(--white)}
.hdr-in{height:72px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand img{height:44px;width:auto}
.nav{display:flex;gap:28px}
.nav a{text-decoration:none;font-size:15px;color:#d9dcea;padding:6px 0;border-bottom:1px solid transparent;transition:color .15s ease,border-color .15s ease}
@media (hover:hover) and (pointer:fine){.nav a:hover{color:var(--white);border-color:var(--copper)}}
.hdr-right{display:flex;align-items:center;gap:12px}
.lang{display:flex}
.lang button{background:none;border:0;color:#9ea4bd;font:600 13px var(--sans);padding:8px 5px;cursor:pointer}
.lang button[aria-pressed=true]{color:var(--copper)}
.list-btn{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 6px 0 16px;border:1px solid rgba(255,255,255,.25);border-radius:999px;text-decoration:none;font-size:14px;font-weight:600}
.list-btn b{min-width:28px;height:28px;display:grid;place-items:center;border-radius:999px;background:var(--copper);color:var(--navy-deep);font-size:13px}
.list-btn.bump b{animation:bump .3s ease-out}
@keyframes bump{50%{transform:scale(1.25)}}
.burger{display:none;width:40px;height:40px;background:none;border:1px solid rgba(255,255,255,.25);border-radius:var(--r);position:relative;cursor:pointer}
.burger span{position:absolute;left:10px;right:10px;height:1.5px;background:var(--white);transition:transform .25s var(--ease)}
.burger span:first-child{top:15px}.burger span:last-child{top:23px}
.open .burger span:first-child{transform:translateY(4px) rotate(45deg)}
.open .burger span:last-child{transform:translateY(-4px) rotate(-45deg)}

/* Hero */
.hero{background:radial-gradient(70% 90% at 78% 40%,var(--navy-soft),var(--navy) 60%,var(--navy-deep));color:var(--white);padding-top:clamp(48px,6vw,90px);overflow:hidden}
.hero-in{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(24px,4vw,64px);align-items:center}
.hero h1{font-size:clamp(40px,5.6vw,78px);line-height:1.02;max-width:14ch}
.lead{color:#cdd2e4;font-size:clamp(17px,1.4vw,20px);max-width:44ch;margin:24px 0 32px}
.cta{display:flex;gap:12px;flex-wrap:wrap}
.hero-tap{position:relative;display:flex;justify-content:center;align-self:end}
.hero-tap::before{content:"";position:absolute;left:8%;right:8%;bottom:0;height:60%;background:radial-gradient(50% 60% at 50% 100%,rgba(212,167,125,.35),transparent 70%)}
.hero-tap::after{content:"";position:absolute;left:0;right:0;bottom:0;height:10px;background:linear-gradient(180deg,var(--copper),var(--copper-ink));border-radius:2px}
.hero-tap img{position:relative;width:min(100%,520px);margin-bottom:10px;filter:drop-shadow(0 20px 30px rgba(0,0,0,.45))}
.facts{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.14);margin-top:0}
.facts div{padding:26px 24px 34px 0}
.facts b{display:block;font:400 clamp(30px,3.2vw,44px)/1.1 var(--serif);color:var(--copper)}
.facts span{color:#cdd2e4;font-size:15px}

/* The one moment: 27 bottles go into one keg while you scroll */
.kegs{height:240vh;background:var(--mist)}
.kegs-sticky{position:sticky;top:72px;height:calc(100vh - 72px);display:flex;align-items:center;overflow:hidden}
.kegs-in{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(24px,5vw,72px);align-items:center}
.kegs-copy p{color:var(--muted);margin-top:18px;max-width:42ch}
.kegs-stage{position:relative;display:grid;grid-template-columns:1fr 150px;align-items:center;gap:clamp(20px,4vw,60px);min-height:360px}
.bottles{display:grid;grid-template-columns:repeat(9,1fr);gap:14px 8px;width:min(100%,420px);justify-self:end}
/* the real Ca' delle Rose Prosecco bottle, cut out (transparent PNG) */
.bottles i{display:block;aspect-ratio:107/360;background:url(img/flasche-prosecco.png) center/contain no-repeat;will-change:transform,opacity}
.keg-target{display:flex;justify-content:center;transform:scale(var(--k,.85));transition:transform .2s ease-out}
.keg-target img{width:120px;filter:drop-shadow(0 16px 18px rgba(27,35,66,.25))}
.kegs-count{position:absolute;left:0;bottom:-56px;font-size:15px;color:var(--muted)}
.kegs-count b{font:400 34px var(--serif);color:var(--navy);margin-right:4px;font-variant-numeric:tabular-nums}

/* How */
.steps{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,40px);margin-top:40px;counter-reset:s}
.steps li{border-top:2px solid var(--navy);padding-top:20px}
.steps b{font:400 44px/1 var(--serif);color:var(--copper-ink);display:block;margin-bottom:12px}
.steps p{color:var(--muted);margin-top:8px}

/* Range */
.range{background:var(--mist)}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px}
.chips button{border:1px solid var(--line);background:var(--white);color:var(--ink);font:600 14px var(--sans);padding:9px 16px;border-radius:999px;cursor:pointer;transition:background-color .15s ease,color .15s ease,border-color .15s ease}
.chips button[aria-selected=true]{background:var(--navy);color:var(--white);border-color:var(--navy)}
.grid{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px}
.card{background:var(--white);border:1px solid var(--line);border-radius:var(--r);display:flex;flex-direction:column;overflow:hidden}
.card-img{height:220px;display:flex;align-items:center;justify-content:center;padding:18px;background:var(--white)}
.card-img img{max-height:100%;width:auto;object-fit:contain}
.card-body{padding:4px 18px 18px;display:flex;flex-direction:column;gap:6px;flex:1}
.tag{align-self:flex-start;font-size:12px;font-weight:600;color:var(--copper-ink);background:#f7efe7;padding:3px 9px;border-radius:999px}
.tag.cocktail{color:#a63d14;background:#fdebe3}
.card h3{font-size:18px}
.card p{font-size:14.5px;color:var(--muted)}
.meta{font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}
.card-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:10px}
.price{font:600 19px var(--sans);font-variant-numeric:tabular-nums}
.add{border:1px solid var(--navy);background:none;color:var(--navy);font:600 13.5px var(--sans);padding:8px 13px;border-radius:999px;cursor:pointer;transition:background-color .15s ease,color .15s ease,transform .12s ease-out}
.add:active{transform:scale(.96)}
.add[aria-pressed=true]{background:var(--navy);color:var(--white)}
.note{font-size:14px;color:var(--muted);margin-top:18px}

/* Benefits */
.ben-in{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(32px,6vw,90px);align-items:center}
.ben-img img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--r)}
.ben-list{display:grid;grid-template-columns:1fr 1fr;gap:26px 36px;margin-top:30px}
.ben-list dt{font:400 21px var(--serif);margin-bottom:6px;padding-top:14px;border-top:1px solid var(--line)}
.ben-list dd{color:var(--muted);font-size:15.5px}

/* FAQ */
.faq{background:var(--navy);color:var(--white)}
.faq-in{display:grid;grid-template-columns:.7fr 1.3fr;gap:clamp(32px,6vw,90px)}
.faq-list details{border-top:1px solid rgba(255,255,255,.16)}
.faq-list details:last-child{border-bottom:1px solid rgba(255,255,255,.16)}
.faq-list summary{list-style:none;cursor:pointer;padding:20px 40px 20px 0;position:relative;font-size:18px;font-weight:600}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:"";position:absolute;right:6px;top:50%;width:12px;height:12px;border-right:2px solid var(--copper);border-bottom:2px solid var(--copper);transform:translateY(-70%) rotate(45deg);transition:transform .2s ease-out}
.faq-list details[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.faq-list p{color:#cdd2e4;padding:0 0 22px;max-width:62ch}

/* Catalog */
.catalog{background:url(img/keller.jpg) center/cover;position:relative;color:var(--white)}
.catalog::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,24,48,.95),rgba(18,24,48,.75))}
.cat-in{position:relative;display:flex;justify-content:space-between;align-items:center;gap:28px;flex-wrap:wrap;padding:clamp(56px,7vw,90px) 0}
.cat-in p{color:#cdd2e4;margin-top:10px}
.cat-links{display:flex;gap:10px;flex-wrap:wrap}

/* Contact */
.contact-in{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,90px);align-items:start}
.lead-dark{color:var(--muted);margin:16px 0 28px}
.list-box{border:1px solid var(--line);border-radius:var(--r);padding:20px;margin-bottom:28px;background:var(--mist)}
.list-box h3{font-size:19px;margin-bottom:10px}
#list{list-style:none}
#list li{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:10px 0;border-top:1px solid var(--line);font-size:15px}
#list li:first-child{border-top:0}
#list input{width:64px;padding:6px 8px;border:1px solid var(--line);border-radius:4px;font:15px var(--sans)}
#list button{background:none;border:0;color:var(--copper-ink);font:600 13px var(--sans);cursor:pointer}
.list-empty{color:var(--muted);font-size:15px}
.info{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.info dt{font-size:13px;color:var(--muted);margin-bottom:4px}
.info a{text-decoration:none}
.form{background:var(--white);border:1px solid var(--line);border-top:3px solid var(--copper);border-radius:var(--r);padding:30px;box-shadow:0 30px 60px -40px rgba(27,35,66,.4)}
.form label{display:block;margin-bottom:16px}
.form label span{display:block;font-size:14px;color:var(--muted);margin-bottom:6px}
.form input,.form textarea{width:100%;border:1px solid var(--line);border-radius:4px;padding:12px 14px;font:16px var(--sans);color:var(--ink);background:var(--white);transition:border-color .15s ease}
.form input:focus,.form textarea:focus{outline:0;border-color:var(--navy)}
.form [aria-invalid=true]{border-color:#c4462a}
.form-msg{margin-top:12px;min-height:22px;font-size:15px;color:var(--navy)}

/* Footer */
.ftr{background:var(--navy-deep);color:#b9bed2;font-size:15px}
.ftr-in{display:flex;justify-content:space-between;gap:32px;flex-wrap:wrap;padding:56px 0 32px}
.ftr-in img{height:46px;width:auto;margin-bottom:14px}
.ftr-in p{max-width:36ch}
.social{margin-top:14px}
.ftr a{text-decoration:none}
@media (hover:hover) and (pointer:fine){.ftr a:hover{color:var(--copper)}}
.ftr-links{display:flex;flex-direction:column;gap:10px}
.ftr-bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.1);padding:20px 0 28px;font-size:13.5px}

/* Legal pages */
.legal{padding:clamp(56px,7vw,96px) 0}
.legal .wrap{max-width:820px}
.legal h1{font-size:clamp(36px,5vw,56px);margin-bottom:26px}
.legal h2{font-size:24px;margin:34px 0 10px}
.legal p,.legal li{color:#3c4361;max-width:70ch}
.legal ul{padding-left:20px}
.legal a{color:var(--copper-ink)}
.back{display:inline-block;margin-bottom:26px;color:var(--muted);text-decoration:none}

/* Responsive */
@media (max-width:980px){
  .nav{position:fixed;top:72px;left:0;right:0;flex-direction:column;gap:0;background:var(--navy-deep);padding:6px 20px 18px;transform:translateY(-110%);visibility:hidden;transition:transform .3s var(--ease),visibility .3s}
  .nav a{padding:14px 0;border-bottom:1px solid rgba(255,255,255,.1);font-size:17px}
  .open .nav{transform:none;visibility:visible}
  .burger{display:block}
  .hero-in,.kegs-in,.ben-in,.faq-in,.contact-in,.sec-head{grid-template-columns:1fr}
  .kegs-copy p{display:none}
  .ben-img img{aspect-ratio:16/9}
}
@media (max-width:640px){
  .brand img{height:34px}
  .list-btn span{display:none}.list-btn{padding:0 6px}
  .lang button{padding:8px 3px;font-size:12px}
  .facts,.steps,.ben-list,.info{grid-template-columns:1fr}
  .facts div{padding:18px 0;border-bottom:1px solid rgba(255,255,255,.1)}
  .kegs-stage{grid-template-columns:1fr 90px;min-height:240px}
  .keg-target img{width:80px}
  .form{padding:22px}
  .grid{grid-template-columns:1fr 1fr;gap:10px}
  .card-img{height:150px;padding:12px}
  .card-body{padding:2px 12px 12px}
  .card h3{font-size:16px}
  .card p{display:none}
  .card-foot{flex-direction:column;align-items:stretch}
  .tag{font-size:11px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .kegs{height:auto}.kegs-sticky{position:static;height:auto;padding:80px 0}
  .btn,.add,.chips button,.keg-target{transition:none}
}
