:root{
  --nero:#0b1517;
  --grafite:#0f2327;
  --petrolio:#16424a;
  --petrolio-chiaro:#2a6d77;
  --fumo:#13292d;
  --ferro:#1d3b40;
  --oro:#d6a93f;
  --oro-chiaro:#ecc76b;
  --grigio:#93a5a7;
  --cenere:#c8d2d2;
  --bianco:#eef1ed;
  --filo:rgba(238,241,237,.12);
  --filo-forte:rgba(238,241,237,.28);
  --ease-out:cubic-bezier(.23,1,.32,1);
  --ease-in-out:cubic-bezier(.77,0,.175,1);
  --titoli:'Anton', 'Impact', 'Arial Narrow', sans-serif;
  --testo:'Barlow', 'Helvetica Neue', Arial, sans-serif;
  --mono:'IBM Plex Mono', ui-monospace, Menlo, monospace;
  --larghezza:1180px;
  --margine:28px;
  --testata:68px;
  --erba-w:min(170px, max(34px, calc((100vw - var(--larghezza)) / 2 + 24px)));
}
*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; scroll-padding-top:calc(var(--testata) + 12px); -webkit-text-size-adjust:100%; }
body{
  margin:0; background:var(--nero); color:var(--bianco);
  font-family:var(--testo); font-size:1.0625rem; line-height:1.6;
  -webkit-font-smoothing:antialiased; -webkit-tap-highlight-color:transparent;
}
body::before{
  content:""; position:fixed; inset:0; z-index:100; pointer-events:none; opacity:.06;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23g)'/%3E%3C/svg%3E");
}
img{ max-width:100%; height:auto; display:block; }
a{ color:inherit; }
figure{ margin:0; }
h1,h2,h3{ font-family:var(--titoli); font-weight:400; text-transform:uppercase; line-height:.92; letter-spacing:.005em; margin:0; text-wrap:balance; }
h2{ font-size:clamp(2.6rem, 6vw, 4.6rem); }
p{ margin:0 0 1em; }
.riga{ max-width:var(--larghezza); margin:0 auto; padding:0 var(--margine); }
.ico{ width:1.2em; height:1.2em; fill:currentColor; flex-shrink:0; }
.occhiello{
  font-family:var(--mono); font-size:.8rem; font-weight:500; letter-spacing:.14em; text-transform:uppercase;
  color:var(--oro); margin:0 0 22px; display:flex; align-items:center; gap:12px;
}
.occhiello::before{ content:""; width:28px; height:2px; background:var(--oro); }
.salta{ position:absolute; left:-999px; top:8px; z-index:200; background:var(--oro); color:var(--nero); padding:10px 16px; font-weight:600; }
.salta:focus{ left:12px; }
:focus-visible{ outline:2px solid var(--oro); outline-offset:3px; }
::selection{ background:var(--oro); color:var(--nero); }

.testata{
  position:sticky; top:0; z-index:50; height:var(--testata);
  background:rgba(11,21,23,.86); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px);
  border-bottom:1px solid var(--filo);
}
.testata .riga{ max-width:none; height:100%; display:flex; align-items:center; gap:32px; padding-left:max(var(--margine), env(safe-area-inset-left)); padding-right:max(var(--margine), env(safe-area-inset-right)); }
.marchio{ display:flex; align-items:center; gap:12px; text-decoration:none; margin-right:auto; }
.marchio img{ width:44px; height:44px; }
.marchio span{ font-family:var(--titoli); font-size:1.45rem; text-transform:uppercase; letter-spacing:.03em; }
.menu{ display:flex; gap:28px; }
.menu a{
  font-family:var(--mono); font-size:.76rem; letter-spacing:.12em; text-transform:uppercase; text-decoration:none;
  color:var(--grigio); padding:8px 0; border-bottom:1px solid transparent;
  transition:color 180ms var(--ease-out), border-color 180ms var(--ease-out);
}
.social-testata{ display:flex; gap:6px; }
.social-testata a{
  width:44px; height:44px; display:grid; place-items:center; color:var(--cenere);
  transition:color 180ms var(--ease-out);
}
.social-testata .ico{ width:22px; height:22px; }

.apertura{
  display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);
  min-height:min(900px, calc(100svh - var(--testata))); border-bottom:1px solid var(--filo);
}
.apertura-testo{
  align-self:center; position:relative; z-index:2;
  padding:72px 56px 96px max(var(--margine), calc((100vw - var(--larghezza)) / 2 + var(--margine)));
}
.apertura h1{ font-size:clamp(3.4rem, 5.6vw, 6.2rem); line-height:.88; margin-bottom:30px; }
.apertura h1 span{ display:block; color:var(--oro); white-space:nowrap; }
.apertura-sotto{ font-size:1.22rem; line-height:1.5; color:var(--cenere); max-width:34ch; }
.azioni{ display:flex; flex-wrap:wrap; gap:12px; margin-top:34px; }
.bottone{
  display:inline-flex; align-items:center; gap:12px; min-height:54px; padding:0 26px;
  font-family:var(--mono); font-size:.84rem; font-weight:500; letter-spacing:.1em; text-transform:uppercase; text-decoration:none; white-space:nowrap;
  border:1px solid var(--oro);
  transition:background-color 180ms var(--ease-out), color 180ms var(--ease-out), border-color 180ms var(--ease-out), transform 160ms var(--ease-out);
}
.bottone .ico{ width:20px; height:20px; transition:transform 180ms var(--ease-out); }
.bottone.pieno{ background:var(--oro); color:var(--nero); }
.bottone.vuoto{ color:var(--bianco); border-color:var(--filo-forte); }
.apertura-foto{ position:relative; min-height:420px; overflow:hidden; background:var(--grafite); }
.apertura-scatto{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:46% 62%; }
.apertura-foto::after{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(90deg, var(--nero) 0%, rgba(11,21,23,.5) 9%, rgba(11,21,23,0) 24%), linear-gradient(0deg, rgba(11,21,23,.75) 0%, rgba(11,21,23,0) 26%), linear-gradient(200deg, rgba(22,66,74,.35), rgba(22,66,74,0) 55%);
}
.timbro{
  position:absolute; z-index:2; left:28px; bottom:34px; width:clamp(110px, 11vw, 168px);
  transform:rotate(-9deg); filter:drop-shadow(0 12px 22px rgba(0,0,0,.6));
}
.apertura-foto figcaption{
  position:absolute; z-index:2; right:calc(var(--erba-w) + 14px); top:20px;
  font-family:var(--mono); font-size:.7rem; letter-spacing:.12em; text-transform:uppercase; color:var(--cenere);
}

.sezione{ padding:128px 0; border-bottom:1px solid var(--filo); }
.chi{ background:linear-gradient(160deg, var(--petrolio) 0%, var(--grafite) 70%); }
.chi-griglia{ display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 1fr); gap:88px; align-items:center; }
.collage{ position:relative; aspect-ratio:1/1.08; }
.collage figure{ position:absolute; }
.collage img{ width:100%; height:100%; object-fit:cover; }
.collage-uno{ left:0; top:0; width:58%; aspect-ratio:3/4; }
.collage-due{ right:0; bottom:0; width:66%; aspect-ratio:4/3; border:10px solid #12333a; }
.collage figcaption{
  position:absolute; left:0; top:calc(100% + 10px);
  font-family:var(--mono); font-size:.7rem; letter-spacing:.12em; text-transform:uppercase; color:var(--grigio); white-space:nowrap;
}
.collage-due figcaption{ left:auto; right:0; }
.chi h2, .chi h1{ margin-bottom:34px; }
.chi-testo p{ color:var(--grigio); max-width:56ch; }
.chi-testo .chi-primo{ color:var(--bianco); font-size:1.28rem; line-height:1.5; }
.regole{ margin:40px 0 0; border-top:1px solid var(--filo-forte); }
.regole div{ display:grid; grid-template-columns:140px 1fr; gap:20px; padding:16px 0; border-bottom:1px solid var(--filo); align-items:baseline; }
.regole dt{ font-family:var(--mono); font-size:.74rem; letter-spacing:.12em; text-transform:uppercase; color:var(--oro); }
.regole dd{ margin:0; color:var(--cenere); }

.diario-titolo{ font-size:clamp(4.2rem, 13vw, 11rem); line-height:.82; letter-spacing:-.005em; }
.diario-conta{ font-family:var(--mono); font-size:.86rem; letter-spacing:.04em; color:var(--grigio); margin:22px 0 44px; max-width:60ch; }
.filtri{ display:flex; gap:0; flex-wrap:wrap; margin-bottom:12px; border-top:1px solid var(--filo); border-bottom:1px solid var(--filo); }
.filtro{
  display:inline-flex; align-items:baseline; gap:8px; min-height:52px; padding:0 20px 0 0; margin-right:22px; cursor:pointer;
  background:transparent; color:var(--grigio); border:0; position:relative;
  font-family:var(--titoli); font-size:1.35rem; text-transform:uppercase; letter-spacing:.02em; line-height:52px;
  transition:color 180ms var(--ease-out);
}
.filtro small{ font-family:var(--mono); font-size:.68rem; letter-spacing:.06em; color:var(--grigio); }
.filtro::after{ content:""; position:absolute; left:0; right:20px; bottom:-1px; height:3px; background:var(--oro); transform:scaleX(0); transform-origin:left; transition:transform 220ms var(--ease-out); }
.filtro[aria-pressed="true"]{ color:var(--bianco); }
.filtro[aria-pressed="true"] small{ color:var(--oro); }
.filtro[aria-pressed="true"]::after{ transform:scaleX(1); }
.stato{ font-family:var(--mono); font-size:.85rem; color:var(--grigio); margin:24px 0 0; }
.stato:empty{ display:none; }
.album{ margin-top:56px; }
.album-testa{ display:flex; align-items:baseline; gap:18px; margin-bottom:16px; }
.album-testa h2{ font-size:clamp(2rem, 4vw, 2.9rem); }
.album-testa small{ font-family:var(--mono); font-size:.74rem; letter-spacing:.1em; color:var(--grigio); text-transform:uppercase; }
.album-foto{ display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); grid-auto-flow:dense; gap:8px; }
.scatto{
  position:relative; aspect-ratio:1; overflow:hidden; padding:0; cursor:pointer;
  background:var(--fumo); border:0; color:var(--bianco);
}
.scatto.grande{ grid-column:span 2; grid-row:span 2; }
.scatto img{
  width:100%; height:100%; object-fit:cover;
  transition:transform 600ms var(--ease-out);
}
.scatto .play{
  position:absolute; left:14px; bottom:14px; width:48px; height:48px;
  display:grid; place-items:center; background:var(--oro); color:var(--nero);
}
.scatto .play .ico{ width:20px; height:20px; margin-left:2px; }
.scatto .didascalia{
  position:absolute; left:0; right:0; bottom:0; padding:30px 14px 12px; text-align:left;
  font-family:var(--mono); font-size:.7rem; letter-spacing:.08em; text-transform:uppercase;
  background:linear-gradient(transparent, rgba(0,0,0,.78)); opacity:0; transition:opacity 220ms var(--ease-out);
}
.scatto:has(.play) .didascalia{ padding-left:74px; }
.scheletri span{ aspect-ratio:1; background:var(--fumo); }
.scheletri span:first-child{ grid-column:span 2; grid-row:span 2; }
@media (prefers-reduced-motion:no-preference){
  .scheletri span{ animation:respira 1.4s ease-in-out infinite alternate; }
  .scheletri span:nth-child(2n){ animation-delay:.3s; }
  .scheletri span:nth-child(3n){ animation-delay:.6s; }
}
@keyframes respira{ to{ background:var(--ferro); } }

.mappa-sez{ padding-bottom:0; border-bottom:0; }
.mappa-sez h2{ margin-bottom:16px; }
.nota-sezione{ font-family:var(--mono); font-size:.8rem; letter-spacing:.04em; color:var(--grigio); margin:0 0 40px; }
.mappa{ position:relative; z-index:0; isolation:isolate; height:min(68svh, 640px); min-height:420px; border-top:1px solid var(--filo); border-bottom:1px solid var(--filo); background:var(--grafite); }
.mappa .leaflet-tile-pane{ filter:grayscale(1) sepia(1) hue-rotate(140deg) saturate(1.6) brightness(.82) contrast(1.1); }
.pin-capra{ background:none; border:0; }
.pin-capra span{
  display:block; width:56px; height:56px; border-radius:50%; padding:2px;
  background:var(--nero); border:2px solid var(--oro); box-shadow:0 8px 20px rgba(0,0,0,.6);
  transition:transform 180ms var(--ease-out);
}
.pin-capra img{ width:100%; height:100%; }
.leaflet-container{ font-family:var(--testo); }
.leaflet-popup-content-wrapper{ background:var(--fumo); color:var(--bianco); border-radius:0; border:1px solid var(--filo-forte); box-shadow:0 14px 34px rgba(0,0,0,.55); }
.leaflet-popup-tip{ background:var(--fumo); }
.leaflet-popup-content{ margin:18px 20px; }
.leaflet-container a.leaflet-popup-close-button{ color:var(--grigio); width:32px; height:32px; font-size:22px; line-height:30px; }
.pop-titolo{ font-family:var(--titoli); font-size:1.6rem; text-transform:uppercase; line-height:1; padding-right:16px; }
.pop-conta{ font-family:var(--mono); font-size:.72rem; letter-spacing:.08em; color:var(--grigio); margin:8px 0 14px; }
.pop-bottone{
  display:inline-flex; align-items:center; gap:10px; min-height:44px; padding:0 16px; cursor:pointer;
  background:var(--oro); color:var(--nero); border:0; font-family:var(--mono); font-size:.74rem; letter-spacing:.08em; text-transform:uppercase;
}
.pop-bottone .ico{ width:18px; height:18px; }
.leaflet-control-attribution{ background:rgba(11,21,23,.78) !important; color:var(--grigio) !important; }
.leaflet-control-attribution a{ color:var(--cenere) !important; }
.leaflet-bar{ border:1px solid var(--filo-forte) !important; border-radius:0 !important; }
.leaflet-bar a{ background:var(--fumo); color:var(--bianco); border-color:var(--filo) !important; border-radius:0 !important; width:36px !important; height:36px !important; line-height:36px !important; }

.contatti{ padding-bottom:96px; background:linear-gradient(0deg, var(--grafite), var(--nero) 60%); }
.contatti h2{ margin-bottom:22px; }
.contatti-testo{ color:var(--grigio); max-width:52ch; margin-bottom:56px; }
.canali{ border-top:1px solid var(--filo); }
.canale{
  display:grid; grid-template-columns:minmax(0, 1fr) auto auto; align-items:center; gap:28px;
  padding:26px 0; border-bottom:1px solid var(--filo); text-decoration:none;
}
.canale-nome{
  font-family:var(--titoli); font-size:clamp(3.2rem, 10vw, 8.6rem); line-height:.86; text-transform:uppercase;
  transition:transform 260ms var(--ease-out), color 200ms var(--ease-out);
}
.canale-chi{ font-family:var(--mono); font-size:.86rem; letter-spacing:.06em; color:var(--grigio); }
.canale .ico{ width:clamp(34px, 4vw, 56px); height:clamp(34px, 4vw, 56px); color:var(--oro); transition:transform 260ms var(--ease-out); }

.piede{ padding:44px 0 calc(64px + env(safe-area-inset-bottom)); background:var(--grafite); }
.piede-riga{ display:flex; align-items:center; gap:20px; flex-wrap:wrap; }
.piede img{ width:72px; height:72px; }
.piede p{ margin:0; color:var(--grigio); }
.piede b{ display:block; font-family:var(--titoli); font-weight:400; font-size:1.4rem; text-transform:uppercase; color:var(--bianco); line-height:1.1; }
.piede-nota{ width:100%; font-family:var(--mono); font-size:.72rem; padding-top:18px; border-top:1px solid var(--filo); }

.erba{ position:fixed; top:0; z-index:32; pointer-events:none; width:var(--erba-w); height:100lvh; }
.erba-sx{ left:0; }
.erba-dx{ right:0; transform:scaleX(-1); }
.erba svg{ position:absolute; left:0; top:0; overflow:visible; transform-origin:0 50%; will-change:transform; }

.capra{
  position:fixed; right:0; bottom:calc(clamp(80px, 16vh, 150px) + env(safe-area-inset-bottom)); z-index:30;
  width:min(250px, calc(var(--erba-w) + 80px)); padding:0; border:0; background:none; cursor:pointer; color:var(--bianco);
  transform:translateX(104%); visibility:hidden; transform-origin:100% 60%;
  transition:transform 380ms var(--ease-out), visibility 0s linear 380ms;
}
.capra.fuori{ transform:none; visibility:visible; transition:transform 560ms var(--ease-out), visibility 0s; }
.capra.via{ transition:none; visibility:hidden; }
.capra-testa{ display:block; width:100%; height:auto; overflow:visible; filter:drop-shadow(-4px 8px 10px rgba(0,0,0,.45)); }
.fumetto{
  position:absolute; right:calc(100% - 18px); top:6%; padding:9px 13px; white-space:nowrap;
  background:var(--oro); color:var(--nero); font-family:var(--mono); font-size:.68rem; font-weight:500; letter-spacing:.08em; text-transform:uppercase;
  opacity:0; transform:translateX(8px) scale(.96); transform-origin:100% 50%;
  transition:opacity 180ms var(--ease-out), transform 220ms var(--ease-out);
}
.fumetto::after{ content:""; position:absolute; right:-7px; top:50%; margin-top:-7px; border:7px solid transparent; border-right:0; border-left-color:var(--oro); }
.capra:focus-visible .fumetto{ opacity:1; transform:none; }
.capra:focus-visible{ outline-offset:-6px; }
.corridore{ position:fixed; left:0; top:0; z-index:33; width:clamp(140px, 14vw, 210px); pointer-events:none; transform-origin:50% 50%; will-change:transform; }
.corridore[hidden]{ display:none; }
.corridore svg{ display:block; width:100%; height:auto; overflow:visible; filter:drop-shadow(0 14px 18px rgba(0,0,0,.5)); }
.corridore .g-lontana{ animation-delay:-.05s !important; }
.corridore.galoppa .g-tutto{ animation:g-tutto .34s linear infinite; }
.corridore.galoppa .g-ant{ animation:g-ant .34s linear infinite; }
.corridore.galoppa .g-gin{ animation:g-gin .34s linear infinite; }
.corridore.galoppa .g-post{ animation:g-post .34s linear infinite; }
.corridore.galoppa .g-gar{ animation:g-gar .34s linear infinite; }
.corridore.galoppa .g-lontana .g-gin, .corridore.galoppa .g-lontana .g-gar{ animation-delay:-.05s; }
@keyframes g-tutto{ 0%, 100%{ transform:translateY(-7px); } 50%{ transform:translateY(3px); } }
@keyframes g-ant{ 0%, 100%{ transform:rotate(36deg); } 50%{ transform:rotate(-26deg); } }
@keyframes g-gin{ 0%, 100%{ transform:rotate(-6deg); } 45%{ transform:rotate(-2deg); } 66%{ transform:rotate(-84deg); } 88%{ transform:rotate(-34deg); } }
@keyframes g-post{ 0%, 100%{ transform:rotate(-38deg); } 50%{ transform:rotate(26deg); } }
@keyframes g-gar{ 0%, 100%{ transform:rotate(8deg); } 45%{ transform:rotate(4deg); } 66%{ transform:rotate(64deg); } 88%{ transform:rotate(26deg); } }

.vista{
  position:fixed; inset:0; z-index:300; display:grid; grid-template-columns:auto 1fr auto; align-items:center;
  background:rgba(6,14,16,.97); opacity:0; transition:opacity 150ms var(--ease-out);
}
.vista[hidden]{ display:none; }
.vista.aperta{ opacity:1; transition-duration:200ms; }
.vista-media{ display:flex; flex-direction:column; align-items:center; justify-content:center; height:100svh; padding:64px 0 16px; min-width:0; }
.vista-contenuto{ display:flex; align-items:center; justify-content:center; min-height:0; flex:1; width:100%; }
.vista-contenuto img, .vista-contenuto video{ max-width:100%; max-height:100%; object-fit:contain; background:#000; }
.vista figcaption{ display:flex; gap:18px; justify-content:center; align-items:baseline; padding:14px 16px 0; font-family:var(--mono); font-size:.78rem; letter-spacing:.06em; }
.vista-conta{ color:var(--grigio); }
.vista-chiudi, .vista-nav{
  width:52px; height:52px; display:grid; place-items:center; cursor:pointer;
  background:rgba(19,41,45,.9); color:var(--bianco); border:1px solid var(--filo-forte);
  transition:border-color 180ms var(--ease-out), transform 160ms var(--ease-out);
}
.vista-chiudi{ position:absolute; top:max(12px, env(safe-area-inset-top)); right:12px; z-index:2; }
.vista-nav{ margin:0 12px; }
.vista .ico{ width:24px; height:24px; }

.entra{ opacity:0; transform:translateY(22px); transition:opacity 700ms var(--ease-out), transform 700ms var(--ease-out); }
.entra.vista-ok{ opacity:1; transform:none; }
@media (prefers-reduced-motion:no-preference){
  .apertura-testo > *{ animation:compare 800ms var(--ease-out) both; }
  .apertura-testo > :nth-child(2){ animation-delay:60ms; }
  .apertura-testo > :nth-child(3){ animation-delay:120ms; }
  .apertura-testo > :nth-child(4){ animation-delay:180ms; }
  .apertura-scatto{ animation:sfuma 1100ms var(--ease-out) both; }
  .timbro{ animation:timbra 600ms var(--ease-out) 450ms both; }
  :is(.bottone, .filtro, .scatto, .pop-bottone, .vista-nav, .vista-chiudi):active{ transform:scale(.97); }
}
@keyframes compare{ from{ opacity:0; transform:translateY(16px); } }
@keyframes sfuma{ from{ opacity:0; transform:scale(1.04); } }
@keyframes timbra{ from{ opacity:0; transform:rotate(-9deg) scale(1.25); } }

@media (hover:hover) and (pointer:fine){
  .menu a:hover{ color:var(--bianco); border-bottom-color:var(--oro); }
  .social-testata a:hover{ color:var(--oro); }
  .bottone.pieno:hover{ background:var(--oro-chiaro); border-color:var(--oro-chiaro); }
  .bottone.pieno:hover .ico{ transform:translateX(4px); }
  .bottone.vuoto:hover{ border-color:var(--oro); color:var(--oro); }
  .filtro:hover{ color:var(--bianco); }
  .scatto:hover img{ transform:scale(1.04); }
  .scatto:hover .didascalia{ opacity:1; }
  .pin-capra:hover span{ transform:scale(1.08); }
  .canale:hover .canale-nome{ transform:translateX(14px); color:var(--oro); }
  .canale:hover .ico{ transform:translate(4px, -4px); color:var(--oro-chiaro); }
  .capra.fuori:hover{ transform:translateX(-10px) rotate(-3deg); }
  .capra.fuori:hover .fumetto{ opacity:1; transform:none; }
  .vista-chiudi:hover, .vista-nav:hover{ border-color:var(--oro); color:var(--oro); }
}
@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  *{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; }
  .entra{ transform:none; }
}

@media (max-width:980px){
  :root{ --testata:104px; }
  .testata{ height:auto; }
  .testata .riga{ flex-wrap:wrap; row-gap:0; height:auto; padding-top:10px; }
  .menu{ order:3; width:100%; gap:24px; overflow-x:auto; scrollbar-width:none; margin:0 calc(var(--margine) * -1); padding:0 var(--margine); }
  .menu::-webkit-scrollbar{ display:none; }
  .menu a{ flex-shrink:0; min-height:40px; display:inline-flex; align-items:center; padding:0; border-bottom-width:2px; }
}
@media (max-width:860px){
  :root{ --margine:18px; }
  .apertura{ grid-template-columns:1fr; min-height:0; }
  .apertura-foto{ order:-1; min-height:0; aspect-ratio:4/3.4; }
  .apertura-foto::after{ background:linear-gradient(0deg, var(--nero) 0%, rgba(14,14,14,0) 34%); }
  .timbro{ left:auto; right:16px; bottom:10px; width:104px; }
  .apertura-testo{ padding:8px var(--margine) 64px; margin-top:-36px; }
  .apertura h1{ font-size:clamp(3.2rem, 15.5vw, 5rem); }
  .sezione{ padding:88px 0; }
  .chi-griglia{ grid-template-columns:1fr; gap:64px; }
  .collage{ max-width:520px; }
  .regole div{ grid-template-columns:1fr; gap:4px; }
  .album-foto{ grid-template-columns:repeat(2, minmax(0, 1fr)); gap:6px; }
  .scatto .didascalia{ display:none; }
  .mappa{ height:440px; }
  .canale{ grid-template-columns:minmax(0, 1fr) auto; gap:4px 16px; padding:22px 0; }
  .canale-chi{ grid-row:2; }
  .canale .ico{ grid-row:1 / span 2; }
  .vista{ grid-template-columns:1fr; }
  .vista-nav{ position:absolute; bottom:max(14px, env(safe-area-inset-bottom)); }
  .vista-prec{ left:12px; }
  .vista-succ{ right:12px; }
  .vista-media{ padding:64px 0 84px; }
  .piede{ padding-bottom:calc(150px + env(safe-area-inset-bottom)); }
  :root{ --erba-w:22px; }
  .apertura-foto figcaption{ right:36px; }
  .capra{ width:92px; bottom:calc(84px + env(safe-area-inset-bottom)); }
}
@media (max-width:520px){
  .marchio span{ font-size:1.25rem; }
  .filtri{ flex-wrap:nowrap; overflow-x:auto; margin:0 calc(var(--margine) * -1) 12px; padding:0 var(--margine); scrollbar-width:none; overscroll-behavior-x:contain; }
  .filtri::-webkit-scrollbar{ display:none; }
  .filtro{ flex-shrink:0; }
  .bottone{ padding:0 20px; }
}

.smarrita{ min-height:100svh; display:grid; place-content:center; justify-items:center; text-align:center; gap:0; padding:40px var(--margine); }
.smarrita img{ width:160px; height:160px; margin-bottom:28px; }
.smarrita .occhiello::before{ display:none; }
.smarrita h1{ font-size:clamp(3.4rem, 13vw, 7rem); margin-bottom:22px; }
.smarrita h1 span{ color:var(--oro); }
.smarrita p{ color:var(--grigio); max-width:38ch; }
.smarrita .bottone{ margin-top:18px; }
.riprova{
  margin-left:10px; min-height:44px; padding:0 16px; cursor:pointer; background:var(--oro); color:var(--nero); border:0;
  font-family:var(--mono); font-size:.76rem; letter-spacing:.08em; text-transform:uppercase;
}

.titolo-pagina{ font-size:clamp(2.8rem, 7vw, 5.6rem); line-height:.9; margin-bottom:22px; }
.pagina{ padding-top:96px; }
.indice h2{ margin-bottom:34px; }
.voci{ list-style:none; margin:0; padding:0; border-top:1px solid var(--filo-forte); }
.voce{
  display:grid; grid-template-columns:120px minmax(0, 1fr) auto; gap:28px; align-items:center;
  padding:20px 0; border-bottom:1px solid var(--filo); text-decoration:none;
}
.voce img{ width:120px; height:90px; object-fit:cover; background:var(--fumo); }
.voce-nome{
  display:block; font-family:var(--titoli); font-size:clamp(2.2rem, 5.4vw, 4.4rem); line-height:.9; text-transform:uppercase;
  transition:transform 260ms var(--ease-out), color 200ms var(--ease-out);
}
.voce-nota{ display:block; margin-top:10px; font-family:var(--mono); font-size:.8rem; letter-spacing:.04em; color:var(--grigio); }
.voce > .ico{ width:40px; height:40px; color:var(--oro); transition:transform 260ms var(--ease-out); }
.altro{ display:flex; justify-content:center; margin-top:44px; }
#mostra-altro{ flex-direction:column; gap:4px; min-height:64px; padding:10px 32px; }
#mostra-altro[hidden]{ display:none; }
#mostra-altro small{ font-size:.68rem; letter-spacing:.06em; color:var(--grigio); text-transform:none; }
.dopo{ padding:72px 0; }
.dopo-riga{ display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
.dopo-riga p{ margin:0 18px 0 0; font-family:var(--titoli); font-size:clamp(1.6rem, 3vw, 2.2rem); text-transform:uppercase; line-height:1; }
.piede-menu{ display:flex; flex-wrap:wrap; gap:0 26px; padding-bottom:22px; margin-bottom:28px; border-bottom:1px solid var(--filo); }
.piede-menu a{
  display:inline-flex; align-items:center; min-height:44px; text-decoration:none; color:var(--grigio);
  font-family:var(--mono); font-size:.74rem; letter-spacing:.1em; text-transform:uppercase; transition:color 180ms var(--ease-out);
}
.menu a[aria-current="page"]{ color:var(--bianco); border-bottom-color:var(--oro); }
.avviso{
  position:fixed; z-index:40; left:calc(var(--erba-w) + 12px); bottom:calc(16px + env(safe-area-inset-bottom));
  max-width:440px; display:flex; gap:16px; align-items:center; padding:14px 16px;
  background:var(--fumo); border:1px solid var(--filo-forte); box-shadow:0 14px 34px rgba(0,0,0,.45);
}
.avviso[hidden]{ display:none; }
.avviso p{ margin:0; font-size:.9rem; line-height:1.45; color:var(--cenere); }
.avviso a, .testo-legale a{ color:var(--oro); }
.avviso-ok{
  flex-shrink:0; min-height:44px; padding:0 16px; cursor:pointer; background:var(--oro); color:var(--nero); border:0;
  font-family:var(--mono); font-size:.74rem; letter-spacing:.08em; text-transform:uppercase;
}
.testo-legale{ max-width:70ch; }
.testo-legale h2{ font-size:clamp(1.6rem, 3vw, 2.2rem); margin:52px 0 14px; }
.testo-legale p{ color:var(--cenere); }
.testo-legale .legale-primo{ color:var(--bianco); font-size:1.2rem; line-height:1.55; }
.testo-legale .regole{ margin:8px 0 24px; }
.legale-data{ margin-top:48px; font-family:var(--mono); font-size:.76rem; color:var(--grigio) !important; }
.capra .lingua{ transform-box:fill-box; transform-origin:85% 8%; }
@media (hover:hover) and (pointer:fine){
  .voce:hover .voce-nome{ transform:translateX(12px); color:var(--oro); }
  .voce:hover > .ico{ transform:translateX(6px); }
  .piede-menu a:hover{ color:var(--oro); }
  .avviso-ok:hover, .riprova:hover{ background:var(--oro-chiaro); }
}
@media (max-width:860px){
  .pagina{ padding-top:64px; }
  .voce{ grid-template-columns:76px minmax(0, 1fr) auto; gap:16px; padding:16px 0; }
  .voce img{ width:76px; height:57px; }
  .voce > .ico{ width:26px; height:26px; }
  .avviso{ right:calc(var(--erba-w) + 10px); left:calc(var(--erba-w) + 10px); max-width:none; flex-wrap:wrap; gap:10px; }
}
