
:root{
  --arus-black:#0b0907;
  --arus-ink:#17110c;
  --arus-wood:#4a2e1c;
  --arus-copper:#b87937;
  --arus-copper-2:#e2a451;
  --arus-gold:#d8ad55;
  --arus-cream:#f0dfb7;
  --arus-muted:#cbb990;
  --arus-green:#5f7f3d;
  --arus-leaf:#88a957;
  --arus-border:rgba(240,223,183,.16);
  --shadow-strong:0 30px 100px rgba(0,0,0,.55);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
section[id],header[id],footer[id]{scroll-margin-top:5rem}
html.bottle-lightbox-open,
html.bottle-lightbox-open body,
html.gallery-lightbox-open,
html.gallery-lightbox-open body{overflow:hidden}
body{
  margin:0;
  background:
    radial-gradient(circle at 20% 0%, rgba(184,121,55,.15), transparent 32rem),
    radial-gradient(circle at 90% 12%, rgba(95,127,61,.13), transparent 30rem),
    var(--arus-black);
  color:var(--arus-cream);
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  overflow-x:hidden;
}
.bottle-filter-defs{
  position:absolute;
  width:0;
  height:0;
  overflow:hidden;
  pointer-events:none;
}
body::before{
  content:"";
  position:fixed; inset:0; pointer-events:none; z-index:999;
  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.02) 1px, transparent 1px);
  background-size:48px 48px;
  mask-image:linear-gradient(to bottom, rgba(0,0,0,.7), transparent 72%);
}
::selection{background:var(--arus-copper);color:#120b06}
a{text-decoration:none}
img{max-width:100%;display:block}
.serif{font-family:Cormorant Garamond,Georgia,serif}
.text-copper{color:var(--arus-copper-2)}
.text-muted-warm{color:var(--arus-muted)}
.btn-arus{
  --bs-btn-padding-x:1.35rem;
  --bs-btn-padding-y:.9rem;
  --bs-btn-border-radius:999px;
  --bs-btn-font-weight:800;
  --bs-btn-color:#140d09;
  --bs-btn-bg:linear-gradient(135deg,var(--arus-gold),var(--arus-copper));
  --bs-btn-border-color:rgba(255,255,255,.15);
  --bs-btn-hover-color:#0d0906;
  --bs-btn-hover-border-color:rgba(255,255,255,.24);
  --bs-btn-active-color:#0d0906;
  --bs-btn-active-border-color:rgba(255,255,255,.28);
  color:#140d09;
  background:linear-gradient(135deg,var(--arus-gold),var(--arus-copper));
  border-color:rgba(255,255,255,.15);
  box-shadow:0 .7rem 1.8rem rgba(184,121,55,.2);
  letter-spacing:.08em;
  text-transform:uppercase;
  font-size:.78rem;
  position:relative;
  overflow:hidden;
  transition:transform .22s ease,box-shadow .22s ease,filter .22s ease;
}
.btn-arus::after{
  content:""; position:absolute; top:0; bottom:0; left:-60%; width:42%;
  transform:skewX(-20deg);
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.45), transparent);
  transition:.6s;
}
.btn-arus:hover,
.btn-arus:focus-visible,
.btn-arus:active{
  color:#0d0906;
  background:linear-gradient(135deg,#edc76f,var(--arus-copper-2));
  border-color:rgba(255,255,255,.28);
  box-shadow:0 .9rem 2.2rem rgba(184,121,55,.3);
  filter:saturate(1.06) brightness(1.04);
  transform:translateY(-1px);
}
.btn-arus:hover::after{left:120%}
.btn-ghost{
  border:1px solid rgba(240,223,183,.35);
  color:var(--arus-cream);
  border-radius:999px;
  padding:.9rem 1.35rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-weight:800;
  font-size:.78rem;
}
.btn-ghost:hover{border-color:var(--arus-gold);color:var(--arus-gold)}
.progress-line{
  position:fixed; z-index:2000; top:0; left:0; height:3px; width:0%;
  background:linear-gradient(90deg,var(--arus-green),var(--arus-gold),var(--arus-copper));
}
.navbar{
  backdrop-filter:blur(18px);
  background:rgba(11,9,7,.55)!important;
  border-bottom:1px solid rgba(240,223,183,.09);
}
.navbar-brand{
  font-family:Cormorant Garamond,Georgia,serif;
  font-weight:800; letter-spacing:.08em; color:var(--arus-cream)!important;
  text-transform:uppercase; font-size:1.45rem;
}
.nav-link{color:rgba(240,223,183,.78)!important;font-weight:700;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase}
.nav-link:hover,.nav-link.active{color:var(--arus-gold)!important}
.navbar-toggler{border-color:rgba(240,223,183,.2)}
.hero{
  min-height:100svh;
  position:relative;
  display:flex; align-items:center;
  padding:7.8rem 0 4rem;
  isolation:isolate;
}
.hero::after{
  content:"";
  position:absolute; inset:auto 0 0 0; height:22vh; z-index:0;
  background:linear-gradient(to bottom, transparent, rgba(11,9,7,.58));
  pointer-events:none;
}
.hero > .container-xxl{position:relative;z-index:1}
.hero-art{
  position:relative;
  border-radius:2rem;
  overflow:hidden;
  box-shadow:var(--shadow-strong);
  transform:perspective(1100px) rotateY(-4deg) rotateX(2deg);
  border:1px solid var(--arus-border);
}
.hero-art img{height:min(78vh,760px); width:100%; object-fit:cover}
.hero-art::before{
  content:""; position:absolute; inset:0;
  background:linear-gradient(110deg, rgba(255,255,255,.13), transparent 28%, transparent 70%, rgba(0,0,0,.28));
  mix-blend-mode:screen; pointer-events:none;
}
.kicker{
  color:var(--arus-gold); text-transform:uppercase; letter-spacing:.2em;
  font-size:.76rem; font-weight:900;
}
.hero h1{
  font-family:Cormorant Garamond,Georgia,serif;
  font-size:clamp(3.25rem,8vw,8rem);
  line-height:.88;
  font-weight:800;
  margin:.75rem 0 1.1rem;
}
.hero-lead{
  color:#eadcbd;
  font-size:clamp(1.08rem,1.7vw,1.35rem);
  max-width:44rem;
}
.stat-strip{
  margin-top:2rem;
  display:grid; grid-template-columns:repeat(3,1fr);
  border:1px solid var(--arus-border);
  border-radius:1.4rem;
  overflow:hidden;
  background:rgba(255,255,255,.035);
}
.stat{padding:1rem;border-right:1px solid var(--arus-border)}
.stat:last-child{border-right:0}
.stat strong{font-family:Cormorant Garamond,serif;font-size:2rem;color:var(--arus-gold);line-height:1}
.stat span{display:block;color:var(--arus-muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}
@media (min-width:992px){
  .hero{
    background-color:#080604;
    background-image:
      linear-gradient(90deg,
        rgba(8,6,4,.99) 0%,
        rgba(8,6,4,.96) 20%,
        rgba(8,6,4,.88) 31%,
        rgba(8,6,4,.62) 40%,
        rgba(8,6,4,.27) 48%,
        rgba(8,6,4,.07) 56%,
        rgba(8,6,4,0) 65%,
        rgba(8,6,4,0) 100%),
      url("../assets/birra-primo-piano-pale-ale.png?v=20260825-seasonal-v21-mobile-composition");
    background-repeat:no-repeat;
    background-position:center,right center;
    background-size:100% 100%,94% auto;
    background-size:100% 100%,max(94vw,150svh) auto;
  }
  .hero.hero-season-natale{
    background-image:
      linear-gradient(90deg,
        rgba(8,6,4,.99) 0%,
        rgba(8,6,4,.96) 20%,
        rgba(8,6,4,.88) 31%,
        rgba(8,6,4,.62) 40%,
        rgba(8,6,4,.27) 48%,
        rgba(8,6,4,.07) 56%,
        rgba(8,6,4,0) 65%,
        rgba(8,6,4,0) 100%),
      url("../assets/birra-primo-piano-natale-asciutta-v18.png?v=20260825-seasonal-v21-mobile-composition");
  }
  .hero.hero-season-san-patrizio{
    background-image:
      linear-gradient(90deg,
        rgba(8,6,4,.99) 0%,
        rgba(8,6,4,.96) 20%,
        rgba(8,6,4,.88) 31%,
        rgba(8,6,4,.62) 40%,
        rgba(8,6,4,.27) 48%,
        rgba(8,6,4,.07) 56%,
        rgba(8,6,4,0) 65%,
        rgba(8,6,4,0) 100%),
      url("../assets/birra-primo-piano-san-patrizio-desktop-asciutta-v22.png?v=20260825-seasonal-v22-desktop-tuvok-label");
  }
  .hero-card-wrap{display:none!important}
  .hero h1,
  .hero-lead{
    text-shadow:0 .18rem 1.2rem rgba(0,0,0,.88);
  }
  .hero .stat-strip{
    background:rgba(8,6,4,.58);
    backdrop-filter:blur(10px);
    box-shadow:0 1.25rem 3.5rem rgba(0,0,0,.2);
  }
  #birrificio.section-pad{
    padding-top:4rem!important;
  }
}
.section-pad{padding:6.5rem 0}
.section-title{
  font-family:Cormorant Garamond,Georgia,serif;
  font-size:clamp(2.7rem,5vw,5.7rem);
  font-weight:800;
  line-height:.95;
}
.section-copy{font-size:1.08rem;color:#d9c9a7;max-width:43rem}
.glass-card{
  background:linear-gradient(145deg,rgba(240,223,183,.09),rgba(184,121,55,.045));
  border:1px solid var(--arus-border);
  border-radius:1.6rem;
  box-shadow:0 20px 80px rgba(0,0,0,.25);
}
.story-line{
  position:relative;
  padding-left:2rem;
}
.story-line::before{
  content:""; position:absolute; left:.45rem; top:.35rem; bottom:.35rem; width:1px;
  background:linear-gradient(var(--arus-gold),rgba(240,223,183,.1));
}
.story-item{position:relative;padding-bottom:2rem}
.story-item::before{
  content:""; position:absolute; left:-1.95rem; top:.3rem; width:.9rem; height:.9rem;
  border-radius:50%; background:var(--arus-copper); box-shadow:0 0 0 6px rgba(184,121,55,.14);
}
.brewery-layout > [class*="col-"]{
  display:flex;
}
.brewery-timeline-card,
.brewery-history-card{
  width:100%;
}
.brewery-timeline-card .story-line{
  min-height:100%;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.brewery-history-card{
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(125deg,rgba(12,9,7,.94),rgba(19,13,9,.82)),
    url("../assets/birre-sfondo-valpolicella.png") center/cover no-repeat;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 2rem 6rem rgba(0,0,0,.34);
}
.brewery-history-card::after{
  content:"";
  position:absolute;
  right:-5rem;
  bottom:-6rem;
  width:17rem;
  height:17rem;
  border:1px solid rgba(216,173,85,.08);
  border-radius:50%;
  pointer-events:none;
}
.brewery-history-copy{
  position:relative;
  z-index:1;
  max-width:54rem;
  color:var(--arus-cream);
  font-size:clamp(1.12rem,1.45vw,1.42rem);
  font-weight:600;
  line-height:1.58;
  text-wrap:pretty;
  text-align:justify;
  text-justify:inter-word;
  hyphens:auto;
}
.territory-panel{
  min-height:36rem;
  background:
    linear-gradient(90deg,rgba(11,9,7,.88),rgba(11,9,7,.42)),
    radial-gradient(circle at 80% 30%,rgba(136,169,87,.22),transparent 22rem),
    linear-gradient(135deg,#2a1b12,#0c0907);
  border-radius:2rem;
  border:1px solid var(--arus-border);
  overflow:hidden;
  position:relative;
}
.territory-panel::after{
  content:"VALPOLICELLA"; position:absolute; right:-1rem; bottom:-.8rem;
  font-family:Cormorant Garamond,Georgia,serif; font-weight:800;
  font-size:clamp(4rem,14vw,12rem); color:rgba(240,223,183,.04);
}
.map-lines{
  position:absolute; inset:0; opacity:.18;
  background-image:radial-gradient(circle at 20% 25%, var(--arus-gold) 0 1px, transparent 1px),
                   radial-gradient(circle at 70% 60%, var(--arus-leaf) 0 1px, transparent 1px);
  background-size:80px 80px,120px 120px;
}
.beer-card{
  height:100%;
  border:1px solid var(--arus-border);
  border-radius:1.5rem;
  overflow:hidden;
  background:linear-gradient(180deg,#20140d,#0f0b08);
  transition:transform .35s ease, border-color .35s ease, box-shadow .35s ease;
}
.beer-card:hover{transform:translateY(-8px);border-color:rgba(216,173,85,.45);box-shadow:0 24px 70px rgba(0,0,0,.36)}

.beer-art{
  min-height:15rem;
  display:grid; place-items:center;
  position:relative;
  overflow:hidden;
  background-image: url("../assets/logo-arusnati.png");
  /*
  background:
    radial-gradient(circle at 50% 40%, rgba(216,173,85,.22), transparent 8rem),
    linear-gradient(135deg,rgba(95,127,61,.35),rgba(184,121,55,.12));
    */
}
.beer-art::before{
  content:""; width:5.2rem; height:13rem; border-radius:2rem 2rem .8rem .8rem;
  background:linear-gradient(90deg,#2b1207,#733918 46%,#180b05);
  box-shadow:inset -16px 0 24px rgba(0,0,0,.45), 0 28px 50px rgba(0,0,0,.35);
}
.beer-art::after{
  content:attr(data-name); position:absolute; bottom:1.6rem; left:50%; transform:translateX(-50%);
  font-family:Cormorant Garamond,serif; font-weight:800; font-size:2rem; color:#fff;
  letter-spacing:.04em; text-shadow:0 2px 10px rgba(0,0,0,.6);
}
.beer-body{padding:1.35rem}
.tag{display:inline-flex;align-items:center;gap:.35rem;border:1px solid rgba(216,173,85,.28);border-radius:999px;padding:.35rem .7rem;color:var(--arus-gold);font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800}
.tasting{
  display:grid; grid-template-columns:repeat(3,1fr); gap:.6rem; margin-top:1rem;
}
.tasting div{background:rgba(255,255,255,.045);border-radius:.8rem;padding:.7rem;font-size:.82rem;color:#d8caa8}
.gallery-strip{
  display:flex; gap:1rem; overflow-x:auto; padding:1rem 0 1.6rem; scroll-snap-type:x mandatory;
}
.gallery-tile{
  min-width:min(80vw,380px); height:480px; scroll-snap-align:start; border-radius:1.6rem;
  border:1px solid var(--arus-border); overflow:hidden; position:relative;
  background:linear-gradient(145deg,#21160f,#0d0a07);
}
.gallery-zoom{display:block;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:zoom-in;overflow:hidden}
.gallery-tile img{height:100%; width:100%; object-fit:cover; filter:saturate(.95) contrast(1.02);transition:transform .35s ease,filter .35s ease}
.gallery-zoom:hover img,.gallery-zoom:focus-visible img{transform:scale(1.035);filter:saturate(1.04) contrast(1.04)}
.gallery-zoom:focus-visible{outline:2px solid var(--arus-gold);outline-offset:-4px}
.gallery-tile .caption{
  position:absolute; inset:auto 1rem 1rem 1rem; padding:1rem;
  background:rgba(11,9,7,.66); backdrop-filter:blur(14px);
  border:1px solid rgba(240,223,183,.16); border-radius:1rem;
  pointer-events:none;
}
.gallery-lightbox{width:min(94vw,76rem);max-width:none;max-height:92vh;margin:auto;padding:0;overflow:hidden;border:1px solid rgba(226,164,81,.34);border-radius:1.5rem;color:var(--arus-cream);background:#17110c;box-shadow:0 2rem 7rem rgba(0,0,0,.78)}
.gallery-lightbox[open]{display:grid;place-items:center}
.gallery-lightbox::backdrop{background:rgba(7,5,4,.86);backdrop-filter:blur(10px)}
.gallery-lightbox-content{width:100%;max-height:92vh;overflow:auto;display:grid;grid-template-rows:minmax(0,1fr) auto;background:#0b0907}
.gallery-lightbox-image{width:100%;max-height:76vh;object-fit:contain;margin:auto}
.gallery-lightbox-copy{padding:1rem 1.25rem 1.2rem;border-top:1px solid var(--arus-border);background:rgba(23,17,12,.96)}
.gallery-lightbox-copy h2{margin:0;color:var(--arus-cream);font-size:clamp(1.6rem,4vw,2.5rem)}
.gallery-lightbox-copy p{margin:.3rem 0 0;color:var(--arus-muted)}
.gallery-lightbox-close{position:absolute;z-index:2;top:.8rem;right:.8rem;width:2.75rem;height:2.75rem;display:grid;place-items:center;padding:0;border:1px solid rgba(240,223,183,.24);border-radius:50%;background:rgba(11,9,7,.78);color:var(--arus-cream);font-size:1.75rem;cursor:pointer}
.gallery-lightbox-close:hover,.gallery-lightbox-close:focus-visible{color:var(--arus-gold);border-color:rgba(216,173,85,.7);outline:none}
.gallery-empty{
  width:100%;
  min-height:14rem;
  display:grid;
  place-items:center;
  padding:2rem;
  border:1px dashed rgba(216,173,85,.3);
  border-radius:1.4rem;
  color:var(--arus-muted);
  text-align:center;
}
.process-step{
  padding:1.25rem;
  border-radius:1.3rem;
  border:1px solid var(--arus-border);
  background:rgba(255,255,255,.035);
  height:100%;
}
.process-step span{
  display:inline-grid; place-items:center;
  width:2.5rem;height:2.5rem;border-radius:50%;
  background:rgba(184,121,55,.18);color:var(--arus-gold);font-weight:900;margin-bottom:1rem;
}
.cta-section{
  border-radius:2.2rem;
  background:
    radial-gradient(circle at 0 0,rgba(216,173,85,.15),transparent 25rem),
    linear-gradient(145deg,#21150e,#0e0b08 72%);
  border:1px solid var(--arus-border);
  overflow:hidden;
}
.cta-heading{
  margin-bottom:2rem;
}
.cta-heading .section-title{
  width:100%;
  max-width:none;
  margin:0;
  font-size:clamp(2.8rem,4.2vw,4.3rem);
  text-wrap:balance;
}
.cta-heading .kicker{margin-bottom:.45rem}
.cta-content-row > [class*="col-"]{display:flex;flex-direction:column}
.cta-welcome-card{
  min-height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  background:
    radial-gradient(circle at 50% 25%,rgba(216,173,85,.1),transparent 15rem),
    linear-gradient(155deg,rgba(39,27,18,.96),rgba(13,10,8,.98));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.03);
}
.cta-welcome-content{
  width:min(100%,29rem);
  margin:auto;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}
.cta-welcome-card h3{
  width:100%;
  margin:0 0 1rem;
  color:var(--arus-cream);
  font-size:clamp(2.35rem,3.5vw,3.45rem);
  line-height:1;
  text-shadow:0 .25rem 1.2rem rgba(0,0,0,.78);
}
.opening-hours-title{
  margin-bottom:.6rem;
  color:var(--arus-gold);
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.17em;
  text-transform:uppercase;
}
.opening-hours-list{
  width:100%;
  margin:0;
  padding:0;
  list-style:none;
  border-top:1px solid rgba(240,223,183,.24);
}
.opening-hours-list li{
  padding:.58rem .15rem;
  border-bottom:1px solid rgba(240,223,183,.18);
  color:#f5e6c5;
  font-size:clamp(.78rem,1vw,.9rem);
  font-weight:650;
  line-height:1.4;
  text-shadow:0 .1rem .45rem rgba(0,0,0,.9);
}
.map-consent{
  position:relative;
  width:100%;
  min-height:22rem;
  margin-top:0;
  overflow:hidden;
  border:1px solid var(--arus-border);
  border-radius:1.4rem;
  background:#120e0b;
  box-shadow:0 1.5rem 4rem rgba(0,0,0,.26);
}
.map-proximity-note{
  display:flex;
  align-items:center;
  min-height:2.5rem;
  margin:.75rem 0 0;
  padding:.55rem .8rem;
  border-left:2px solid var(--arus-gold);
  color:var(--arus-cream);
  background:rgba(216,173,85,.06);
  font-size:.86rem;
  font-weight:700;
  letter-spacing:.015em;
}
.cta-invitation-banner{
  width:100%;
  margin:1.25rem 0 1.5rem;
  padding:1rem clamp(1rem,3vw,1.8rem);
  border:1px solid rgba(216,173,85,.28);
  border-radius:1rem;
  background:
    linear-gradient(90deg,rgba(216,173,85,.13),rgba(184,121,55,.055)),
    rgba(12,9,7,.54);
  color:var(--arus-cream);
  font-family:Cormorant Garamond,Georgia,serif;
  font-size:clamp(1.35rem,2.3vw,2rem);
  font-weight:700;
  line-height:1.15;
  text-align:center;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.045);
}
.map-consent iframe{
  width:100%;
  min-height:22rem;
  height:100%;
  border:0;
  display:none;
}
.map-consent.is-enabled iframe{display:block}
.map-consent.is-enabled .map-placeholder{display:none}
.map-placeholder{
  position:absolute;
  inset:0;
  z-index:1;
  display:grid;
  place-items:center;
  padding:2rem;
  text-align:center;
  background:
    linear-gradient(rgba(11,9,7,.76),rgba(11,9,7,.86)),
    radial-gradient(circle at 50% 50%,rgba(216,173,85,.2),transparent 18rem),
    linear-gradient(135deg,#352316,#0d0a07);
}
.map-placeholder > div{max-width:32rem}
.map-placeholder strong{display:block;font:800 2rem/1.05 "Cormorant Garamond",Georgia,serif}
.map-placeholder p{margin:.7rem 0 1.2rem;color:var(--arus-muted)}
.map-pin{width:3.3rem;height:3.3rem;display:grid;place-items:center;margin:0 auto 1rem;border-radius:50%;background:rgba(216,173,85,.15);color:var(--arus-gold);font-size:2rem}
.footer{
  border-top:1px solid var(--arus-border);
  background:#070604;
}
.cookie-settings-link{
  padding:0;
  border:0;
  background:transparent;
  color:var(--arus-muted);
  font-size:.78rem;
  text-decoration:underline;
  text-underline-offset:.2rem;
  cursor:pointer;
}
.cookie-settings-link:hover,.cookie-settings-link:focus-visible{color:var(--arus-gold)}
.cookie-banner{
  position:fixed;
  z-index:3000;
  left:50%;
  bottom:1rem;
  width:min(72rem,calc(100% - 2rem));
  transform:translateX(-50%);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1.5rem;
  padding:1.1rem 1.2rem;
  border:1px solid rgba(216,173,85,.38);
  border-radius:1.2rem;
  background:rgba(13,10,8,.96);
  box-shadow:0 1.4rem 5rem rgba(0,0,0,.65);
  backdrop-filter:blur(18px);
}
.cookie-banner[hidden]{display:none}
.cookie-banner-copy strong{font-family:"Cormorant Garamond",Georgia,serif;font-size:1.45rem}
.cookie-banner-copy p{max-width:48rem;margin:.2rem 0 0;color:var(--arus-muted);font-size:.88rem;line-height:1.55}
.cookie-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.7rem;flex:0 0 auto}
.cookie-actions .btn-ghost{background:transparent;cursor:pointer}
.cookie-dialog{
  width:min(42rem,calc(100% - 2rem));
  padding:0;
  border:1px solid rgba(216,173,85,.36);
  border-radius:1.4rem;
  color:var(--arus-cream);
  background:#17110c;
  box-shadow:0 2rem 7rem rgba(0,0,0,.72);
}
.cookie-dialog::backdrop{background:rgba(7,5,4,.78);backdrop-filter:blur(7px)}
.cookie-dialog-content{position:relative;padding:clamp(1.3rem,4vw,2.2rem)}
.cookie-dialog h2{margin:.3rem 0 1.4rem;font-size:clamp(2.1rem,5vw,3.3rem)}
.cookie-dialog-close{position:absolute;right:1rem;top:1rem;width:2.4rem;height:2.4rem;border:1px solid var(--arus-border);border-radius:50%;background:#0d0a08;color:var(--arus-cream);font-size:1.5rem;cursor:pointer}
.cookie-category{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem 0;border-top:1px solid var(--arus-border)}
.cookie-category p{margin:.25rem 0 0;color:var(--arus-muted);font-size:.88rem;line-height:1.55}
.cookie-category > span{flex:0 0 auto;color:var(--arus-gold);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.social-links{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
}
.social-link{
  display:inline-flex;
  align-items:center;
  gap:.65rem;
  min-height:2.8rem;
  padding:.58rem .9rem;
  border:1px solid rgba(240,223,183,.18);
  border-radius:999px;
  background:rgba(255,255,255,.035);
  color:var(--arus-cream);
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.06em;
  transition:color .22s ease,border-color .22s ease,background .22s ease,transform .22s ease,box-shadow .22s ease;
}
.social-icon{
  width:1.25rem;
  height:1.25rem;
  flex:0 0 auto;
}
.social-link:hover,
.social-link:focus-visible{
  color:#fff;
  transform:translateY(-2px) scale(1.025);
  outline:none;
}
.social-facebook:hover,
.social-facebook:focus-visible{
  border-color:rgba(24,119,242,.72);
  background:rgba(24,119,242,.16);
  box-shadow:0 .7rem 1.8rem rgba(24,119,242,.2);
}
.social-instagram:hover,
.social-instagram:focus-visible{
  border-color:rgba(225,48,108,.72);
  background:rgba(225,48,108,.15);
  box-shadow:0 .7rem 1.8rem rgba(225,48,108,.2);
}
.reveal{opacity:0; transform:translateY(26px); transition:opacity .75s ease, transform .75s ease}
.reveal.in-view{opacity:1; transform:none}
.floaty{animation:floaty 6s ease-in-out infinite}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@media (max-width:991.98px){
  .hero{padding-top:6rem}
  .hero-art{transform:none}
  .hero.hero-season-natale .hero-art img{
    content:url("../assets/birra-primo-piano-natale-mobile-asciutta-v23.png?v=20260825-seasonal-v23-christmas-tree-mobile");
    object-position:center center;
  }
  .hero.hero-season-san-patrizio .hero-art img{
    content:url("../assets/birra-primo-piano-san-patrizio-mobile-asciutta-v21.png?v=20260825-seasonal-v21-mobile-composition");
    object-position:center center;
  }
  .stat-strip{grid-template-columns:1fr}
  .stat{border-right:0;border-bottom:1px solid var(--arus-border)}
  .stat:last-child{border-bottom:0}
  .brewery-layout > [class*="col-"]{display:block}
  .brewery-timeline-card .story-line{min-height:0}
  .cta-content-row > [class*="col-"]{display:block}
  .cta-welcome-card{min-height:18rem}
  .cookie-banner{align-items:stretch;flex-direction:column}
  .cookie-actions{justify-content:flex-start}
}
@media (max-width:575.98px){
  .section-pad{padding:4.4rem 0}
  .hero h1{font-size:clamp(3rem,18vw,5rem)}
  .hero-card-wrap{padding-inline:.3rem}
  .gallery-tile{height:390px}
  .tasting{grid-template-columns:1fr}
  .map-consent,.map-consent iframe{min-height:20rem}
  .cookie-actions{display:grid;grid-template-columns:1fr;width:100%}
  .cookie-actions > *{width:100%;text-align:center}
}

.lang-switch{
  border:1px solid rgba(240,223,183,.28);
  color:var(--arus-cream);
  background:rgba(255,255,255,.045);
  border-radius:999px;
  padding:.55rem .85rem;
  font-weight:900;
  letter-spacing:.08em;
  font-size:.78rem;
}
.lang-switch:hover,.lang-switch:focus{
  border-color:var(--arus-gold);
  color:var(--arus-gold);
}
.lang-menu{
  background:rgba(16,12,9,.96);
  backdrop-filter:blur(18px);
  border:1px solid rgba(240,223,183,.16);
  border-radius:1rem;
  overflow:hidden;
  box-shadow:0 22px 70px rgba(0,0,0,.4);
}
.lang-menu .dropdown-item{
  color:var(--arus-cream);
  font-weight:700;
}
.lang-menu .dropdown-item:hover,.lang-menu .dropdown-item.active{
  background:rgba(184,121,55,.18);
  color:var(--arus-gold);
}
.mobile-lang-box{
  border:1px solid rgba(240,223,183,.14);
  border-radius:1rem;
  padding:1rem;
  background:rgba(255,255,255,.04);
}


/* --- Immagini birre e carosello --- */
.beer-item-col{
  transition: opacity .25s ease, transform .25s ease;
}
.beer-art{
  background:
    radial-gradient(circle at 22% 16%, rgba(242,218,181,.08), transparent 30%),
    radial-gradient(circle at 82% 78%, rgba(0,0,0,.34), transparent 38%),
    linear-gradient(118deg, rgba(255,226,185,.055), transparent 34%, rgba(0,0,0,.13) 66%, rgba(183,125,73,.045)),
    linear-gradient(148deg, #51463d 0%, #302821 48%, #171310 100%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,235,204,.07),
    inset 0 -3rem 5rem rgba(0,0,0,.30);
}
.beer-art.beer-art-image{
  min-height:18rem;
  padding:1rem;
  isolation:isolate;
}
.beer-art.beer-art-image::after{
  display:grid !important;
  content:"";
  position:absolute;
  z-index:0;
  top:.35rem;
  left:50%;
  width:12.5rem;
  height:16.5rem;
  background:linear-gradient(145deg,#aa9783 0%,#786959 46%,#4f4439 100%);
  -webkit-mask-image:url("../assets/logo-arusnati.png");
  -webkit-mask-repeat:no-repeat;
  -webkit-mask-position:center top;
  -webkit-mask-size:34rem auto;
  mask-image:url("../assets/logo-arusnati.png");
  mask-repeat:no-repeat;
  mask-position:center top;
  mask-size:34rem auto;
  filter:
    drop-shadow(-3px -3px 2px rgba(0,0,0,.82))
    drop-shadow(3px 3px 2px rgba(255,218,170,.25))
    drop-shadow(0 15px 25px rgba(0,0,0,.34));
  opacity:.92;
  transform:translateX(-50%);
  pointer-events:none;
}
.beer-art.beer-art-image::before{
  display:block !important;
  content:"";
  position:absolute;
  z-index:0;
  left:25%;
  right:12%;
  bottom:1rem;
  width:auto;
  height:1.25rem;
  border-radius:50%;
  background:radial-gradient(ellipse at 38% 50%,rgba(0,0,0,.66) 0%,rgba(0,0,0,.27) 46%,transparent 76%);
  filter:blur(4px);
  transform:rotate(-2deg);
  box-shadow:none;
}
.beer-art.beer-art-image img{
  position:relative;
  z-index:1;
  width:auto;
  height:17rem;
  max-width:92%;
  object-fit:contain;
  image-rendering:auto;
  filter:
    url("#bottle-edge-clean")
    drop-shadow(-4px 8px 10px rgba(40,19,9,.20))
    drop-shadow(9px 19px 21px rgba(0,0,0,.54));
  cursor:zoom-in;
  transition:transform .25s ease;
}
.beer-art.beer-art-image img:hover{
  transform:scale(1.025);
}
.beer-bottle-glass-light{
  position:absolute !important;
  z-index:2 !important;
  top:50%;
  left:50%;
  width:auto;
  height:17rem !important;
  max-width:92%;
  object-fit:contain;
  image-rendering:auto;
  cursor:default !important;
  pointer-events:none;
  -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 49%,transparent 53%,transparent 85%,#000 90%,#000 100%);
  mask-image:linear-gradient(to bottom,#000 0%,#000 49%,transparent 53%,transparent 85%,#000 90%,#000 100%);
  transform:translate(-50%,-50%);
  transition:transform .25s ease;
}
.beer-art.beer-art-image img:hover + .beer-bottle-glass-light{
  transform:translate(-50%,-50%) scale(1.025);
}
.beer-bottle-glass-light-vetta{
  filter:
    url("#bottle-edge-clean")
    brightness(1.54)
    contrast(.97)
    saturate(1.08)
    sepia(.04) !important;
}
.beer-bottle-glass-light-maharajah-bruna{
  filter:
    url("#bottle-edge-clean")
    brightness(2.20)
    contrast(.97)
    saturate(1.08)
    sepia(.04) !important;
}
.beer-art.beer-art-image img:focus-visible{
  outline:2px solid var(--arus-gold);
  outline-offset:.35rem;
  border-radius:.35rem;
}

.bottle-lightbox{
  width:min(94vw,66rem);
  max-width:none;
  max-height:92vh;
  margin:auto;
  padding:0;
  overflow:hidden;
  border:1px solid rgba(226,164,81,.34);
  border-radius:1.5rem;
  color:var(--arus-cream);
  background:
    radial-gradient(circle at 22% 16%,rgba(242,218,181,.08),transparent 30%),
    radial-gradient(circle at 82% 78%,rgba(0,0,0,.34),transparent 38%),
    linear-gradient(148deg,#51463d,#302821 48%,#171310);
  box-shadow:0 2rem 7rem rgba(0,0,0,.72);
}
.bottle-lightbox.has-scene::before{
  display:none;
}
.bottle-lightbox.has-scene .bottle-lightbox-glass-light{
  display:none;
}
.bottle-lightbox::before{
  content:"";
  position:absolute;
  z-index:0;
  top:1rem;
  left:50%;
  width:26rem;
  height:34rem;
  max-width:72vw;
  max-height:78vh;
  background:linear-gradient(145deg,#aa9783 0%,#786959 46%,#4f4439 100%);
  -webkit-mask-image:url("../assets/logo-arusnati.png");
  -webkit-mask-repeat:no-repeat;
  -webkit-mask-position:center top;
  -webkit-mask-size:70rem auto;
  mask-image:url("../assets/logo-arusnati.png");
  mask-repeat:no-repeat;
  mask-position:center top;
  mask-size:70rem auto;
  filter:
    drop-shadow(-4px -4px 3px rgba(0,0,0,.82))
    drop-shadow(4px 4px 3px rgba(255,218,170,.24))
    drop-shadow(0 2rem 3.5rem rgba(0,0,0,.36));
  opacity:.92;
  transform:translateX(-50%);
  pointer-events:none;
}
.bottle-lightbox[open]{
  display:grid;
  place-items:center;
}
.bottle-lightbox::backdrop{
  background:rgba(7,5,4,.82);
  backdrop-filter:blur(9px);
}
.bottle-lightbox-content{
  position:relative;
  z-index:1;
  width:100%;
  max-height:92vh;
  padding:1.5rem clamp(1rem,3vw,2rem) 2rem;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
  scrollbar-color:rgba(216,173,85,.55) rgba(255,255,255,.06);
}
.bottle-lightbox-stage{
  width:100%;
  min-height:18rem;
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:.25rem 0 1.25rem;
}
.bottle-lightbox-stage > img{
  margin:auto;
}
.bottle-lightbox-image,
.bottle-lightbox-glass-light{
  display:block;
  width:auto;
  height:100%;
  max-width:78vw;
  object-fit:contain;
  image-rendering:auto;
}
.bottle-lightbox-image{
  filter:
    url("#bottle-edge-clean")
    drop-shadow(-8px 14px 18px rgba(47,22,10,.22))
    drop-shadow(18px 32px 32px rgba(0,0,0,.62));
}
.bottle-lightbox-glass-light{
  z-index:2;
  opacity:0;
  pointer-events:none;
  -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 49%,transparent 53%,transparent 85%,#000 90%,#000 100%);
  mask-image:linear-gradient(to bottom,#000 0%,#000 49%,transparent 53%,transparent 85%,#000 90%,#000 100%);
}
.bottle-lightbox-glass-light.is-vetta-glass{
  opacity:1;
  filter:
    url("#bottle-edge-clean")
    brightness(1.54)
    contrast(.97)
    saturate(1.08)
    sepia(.04);
}
.bottle-lightbox-glass-light.is-maharajah-bruna-glass{
  opacity:1;
  filter:
    url("#bottle-edge-clean")
    brightness(2.20)
    contrast(.97)
    saturate(1.08)
    sepia(.04);
}
.bottle-lightbox-caption{
  margin:.35rem 0 .7rem;
  color:var(--arus-cream);
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(2rem,4vw,3.25rem);
  font-weight:700;
  line-height:1.05;
  letter-spacing:-.02em;
}
.bottle-lightbox-details{
  width:100%;
  flex:0 0 auto;
  padding:1.5rem;
  border:1px solid rgba(240,223,183,.12);
  border-radius:1.15rem;
  background:rgba(13,10,8,.48);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
.bottle-lightbox-kicker{
  color:var(--arus-gold);
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.bottle-lightbox-description{
  max-width:58rem;
  margin:0;
  color:var(--arus-muted);
  line-height:1.75;
}
.bottle-lightbox-info-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:.65rem;
  margin-top:1.25rem;
}
.bottle-info-item{
  min-height:5.2rem;
  padding:.85rem .9rem;
  border:1px solid rgba(240,223,183,.1);
  border-radius:.85rem;
  background:rgba(255,255,255,.035);
}
.bottle-info-label{
  display:block;
  margin-bottom:.32rem;
  color:rgba(240,223,183,.58);
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.bottle-info-value{
  color:var(--arus-cream);
  font-size:.94rem;
  font-weight:650;
  line-height:1.35;
}
.bottle-lightbox-notes{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.8rem;
  margin-top:.8rem;
}
.bottle-note{
  padding:1rem;
  border-top:1px solid rgba(216,173,85,.3);
  background:linear-gradient(180deg,rgba(216,173,85,.055),transparent);
}
.bottle-note h3{
  margin:0 0 .45rem;
  color:var(--arus-gold);
  font-size:.74rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.bottle-note p{
  margin:0;
  color:var(--arus-muted);
  font-size:.9rem;
  line-height:1.6;
}
.bottle-lightbox-alert{
  margin:1rem 0 0;
  color:rgba(240,223,183,.58);
  font-size:.78rem;
  text-align:center;
}
.bottle-lightbox-details.is-missing .bottle-lightbox-description{
  padding:1rem;
  border:1px dashed rgba(216,173,85,.32);
  border-radius:.8rem;
  color:rgba(240,223,183,.72);
  text-align:center;
}
.bottle-lightbox-close{
  position:absolute;
  z-index:2;
  top:.8rem;
  right:.8rem;
  width:2.75rem;
  height:2.75rem;
  display:grid;
  place-items:center;
  padding:0;
  border:1px solid rgba(240,223,183,.24);
  border-radius:50%;
  background:rgba(11,9,7,.72);
  color:var(--arus-cream);
  font-size:1.75rem;
  line-height:1;
  cursor:pointer;
}
.bottle-lightbox-close:hover,
.bottle-lightbox-close:focus-visible{
  color:var(--arus-gold);
  border-color:rgba(216,173,85,.7);
  outline:none;
}
@media (max-width:575.98px){
  .bottle-lightbox{
    position:fixed;
    inset:max(.65rem,env(safe-area-inset-top)) max(.65rem,env(safe-area-inset-right)) max(.65rem,env(safe-area-inset-bottom)) max(.65rem,env(safe-area-inset-left));
    width:auto;
    height:auto;
    max-height:none;
    margin:0;
    border-radius:1.15rem;
  }
  .bottle-lightbox[open]{
    display:block;
  }
  .bottle-lightbox-content{
    width:100%;
    height:100%;
    max-height:none;
    padding:3.4rem .75rem 1rem;
  }
  .bottle-lightbox-stage{
    min-height:0;
    padding:0 0 1rem;
  }
  .bottle-lightbox-image,
  .bottle-lightbox-glass-light{
    width:auto;
    height:auto;
    max-width:86vw;
  }
  .bottle-lightbox::before{
    top:3rem;
    width:16.5rem;
    height:22rem;
    max-width:78vw;
    max-height:none;
    -webkit-mask-size:45rem auto;
    mask-size:45rem auto;
  }
  .bottle-lightbox-details{
    padding:1rem;
  }
  .bottle-lightbox-info-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .bottle-lightbox-notes{
    grid-template-columns:1fr;
  }
  .bottle-lightbox-close{
    position:fixed;
    top:max(1rem,calc(env(safe-area-inset-top) + .35rem));
    right:max(1rem,calc(env(safe-area-inset-right) + .35rem));
  }
}

.gallery-wrap{
  position:relative;
}
.gallery-strip{
  scrollbar-width:thin;
  scrollbar-color: rgba(216,173,85,.65) rgba(255,255,255,.06);
  scroll-behavior:smooth;
  padding-inline:.25rem;
}
.gallery-strip::-webkit-scrollbar{height:10px}
.gallery-strip::-webkit-scrollbar-track{background:rgba(255,255,255,.06);border-radius:999px}
.gallery-strip::-webkit-scrollbar-thumb{background:rgba(216,173,85,.65);border-radius:999px}
.gallery-control{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:5;
  width:3rem;
  height:3rem;
  border-radius:999px;
  border:1px solid rgba(240,223,183,.28);
  background:rgba(11,9,7,.72);
  color:var(--arus-cream);
  backdrop-filter:blur(14px);
  font-size:2rem;
  line-height:1;
  display:grid;
  place-items:center;
  transition:transform .25s ease, border-color .25s ease, color .25s ease;
}
.gallery-control:hover{
  transform:translateY(-50%) scale(1.06);
  border-color:var(--arus-gold);
  color:var(--arus-gold);
}
.gallery-prev{left:.75rem}
.gallery-next{right:.75rem}
@media (max-width:575.98px){
  .beer-art.beer-art-image{min-height:16rem}
  .beer-art.beer-art-image img{height:15rem}
  .gallery-control{width:2.6rem;height:2.6rem;font-size:1.7rem}
}

/* Scene fotografiche definitive della gamma */
.beer-catalog-grid .beer-card{
  display:flex;
  flex-direction:column;
}
.beer-catalog-grid .beer-body{
  display:flex;
  flex:1;
  flex-direction:column;
}
.beer-catalog-grid .tasting{
  margin-top:auto;
}
.beer-art.beer-art-image.beer-art-scene{
  aspect-ratio:2 / 3;
  min-height:0;
  padding:0;
  background:#140d08 !important;
}
.beer-art.beer-art-image.beer-art-scene::before,
.beer-art.beer-art-image.beer-art-scene::after{
  display:none !important;
}
.beer-art.beer-art-image.beer-art-scene img{
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
  filter:none;
  transform:scale(1.001);
  transition:transform .45s ease;
}
.beer-card:hover .beer-art.beer-art-scene img,
.beer-art.beer-art-scene img:hover{
  transform:scale(1.025);
}
.bottle-lightbox-image.is-scene{
  width:auto;
  height:auto;
  max-width:min(100%,42rem);
  max-height:min(68vh,48rem);
  margin-inline:auto;
  border-radius:1rem;
  object-fit:contain;
  filter:none;
  box-shadow:0 1.5rem 4rem rgba(0,0,0,.45);
}
@media (max-width:575.98px){
  .beer-art.beer-art-image.beer-art-scene{
    min-height:0;
  }
  .beer-art.beer-art-image.beer-art-scene img{
    height:100%;
  }
  .bottle-lightbox-image.is-scene{
    max-width:100%;
    max-height:none;
  }
}
@media (min-width:576px) and (max-width:991.98px){
  .bottle-lightbox-info-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
