@import url('https://fonts.googleapis.com/css2?family=Inter+Tight:wght@400;500;600;700&family=Inter:wght@400;500&display=swap');

:root{
  --bg:#FFFFFF;
  --panel:#F1F1F1;
  --ink:#231F20;
  --soft:#6A6A6A;
  --dim:#B4B4B4;
  --gut:10px;
  --ease:cubic-bezier(.2,1,.2,1);
}
*{box-sizing:border-box;}
html{color-scheme:light;}
body{margin:0; background:var(--bg); color:var(--ink); font-family:'Inter',system-ui,sans-serif; font-size:13px; line-height:1.35; -webkit-font-smoothing:antialiased;}
img{display:block; max-width:100%;}
a{color:inherit; text-decoration:none;}
button{font:inherit; color:inherit; background:none; border:0; padding:0; cursor:pointer;}
:focus-visible{outline:2px solid var(--ink); outline-offset:2px;}
@media (prefers-reduced-motion: reduce){ *{transition-duration:.001ms !important; scroll-behavior:auto !important;} }

.display{font-family:'Inter Tight',sans-serif; font-weight:600; letter-spacing:-.05em; line-height:.86;}
.up{text-transform:uppercase;}
/* Contorno: riempimento col colore di fondo + ombre a 1px. A differenza di -webkit-text-stroke
   non mostra le sovrapposizioni interne dei tracciati del font variabile. */
.outline{--o:var(--ink); --f:var(--bg); color:var(--f); text-shadow:1px 0 var(--o),-1px 0 var(--o),0 1px var(--o),0 -1px var(--o),1px 1px var(--o),-1px -1px var(--o),1px -1px var(--o),-1px 1px var(--o);}

/* NAV — barra a celle bordate */
.nav{position:sticky; top:var(--gut); z-index:50; margin:var(--gut); display:grid; grid-template-columns:repeat(2,minmax(0,1fr)) minmax(0,5.5fr) minmax(0,2.4fr); height:52px; border:1px solid var(--ink); background:var(--bg);}
.nav > *{display:flex; align-items:center; justify-content:center; border-right:1px solid var(--ink); font-size:10.5px; letter-spacing:.02em; text-transform:uppercase; transition:background .25s, color .25s;}
.nav > *:last-child{border-right:0;}
.nav a:hover{background:var(--ink); color:var(--bg);}
.nav a[aria-current="page"]{background:var(--ink); color:var(--bg);}
.logo-svg{display:block; height:1em; width:auto;}
.nav .logo .logo-svg{height:17px;}
.nav .logo:hover{background:none; color:inherit;}
@media (max-width:820px){
  .nav{grid-template-columns:auto auto 1fr auto; height:48px;}
  .nav .hide-m{padding:0 16px;}
  .nav .logo{justify-content:flex-start; padding-left:14px;}
  .nav .logo .logo-svg{height:14px;}
  .nav .info{padding:0 16px;}
}

/* CATEGORIE — parole giganti, attiva piena, altre in contorno */
.cat{position:relative; margin-top:18px;}
.track{position:relative; display:flex; gap:6vw; overflow-x:auto; scrollbar-width:none; scroll-behavior:smooth; scroll-padding-left:calc(25% + 12px); padding:0 40vw 0 calc(25% + 12px); cursor:grab; user-select:none;}
.track::-webkit-scrollbar{display:none;}
.track.dragging{cursor:grabbing; scroll-behavior:auto;}
.track button{flex:none; font-size:clamp(64px,10.5vw,170px); padding-bottom:.08em; transition:color .5s var(--ease), text-shadow .5s var(--ease);}
.track button:hover{--f:#EDEDED;}
.track button[aria-pressed="true"]{color:var(--ink); text-shadow:none;}

.cat-body{display:grid; grid-template-columns:25% minmax(0,1fr) auto; min-height:340px; padding:0 var(--gut);}
.cat-body .count{padding:18px 12px 0; display:flex; flex-direction:column; justify-content:space-between;}
.cat-body .count .n{font-family:'Inter Tight',sans-serif; font-weight:500; font-size:26px; letter-spacing:-.03em;}
.cat-body .def{border-left:1px solid var(--ink); padding:18px 12px 0; display:flex; flex-direction:column; justify-content:space-between; gap:40px;}
.cat-body .def p{margin:0; max-width:46ch; font-size:13.5px; line-height:1.3;}
.cat-body .def p b{font-weight:500;}
.index{list-style:none; margin:0; padding:0; font-family:'Inter Tight',sans-serif; font-size:clamp(17px,1.5vw,22px); letter-spacing:-.04em; line-height:1.02; text-transform:uppercase; color:var(--dim);}
.index a:hover{color:var(--ink);}
.nums{list-style:none; margin:0; padding:0 0 0 2px; font-family:'Inter Tight',sans-serif; font-size:clamp(17px,1.5vw,22px); letter-spacing:-.04em; line-height:1.02; color:var(--dim);}
.arrows{display:flex; gap:10px; align-items:flex-end; padding:0 12vw 0 24px;}
.arrows button{width:58px; height:58px; border:3px solid var(--ink); border-radius:50%; display:grid; place-items:center; transition:background .25s, color .25s;}
.arrows button:hover:not(:disabled){background:var(--ink); color:var(--bg);}
.arrows button:disabled{border-color:var(--dim); color:var(--dim); cursor:default;}
.arrows svg{width:26px; height:26px;}
@media (max-width:820px){
  .track{scroll-padding-left:var(--gut); padding-left:var(--gut);}
  .cat-body{grid-template-columns:1fr; min-height:0;}
  .cat-body .count{display:none;}
  .cat-body .def{border-left:0; padding:12px 12px 0;}
  .nums{display:none;}
  .arrows{padding:20px 12px 0; justify-content:flex-start;}
  .arrows button{width:46px; height:46px; border-width:2px;}
}

/* GRIGLIA EDITORIALE — misure diverse, sfalsate */
.shop{display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); column-gap:var(--gut); row-gap:clamp(60px,9vw,150px); align-items:start; padding:clamp(70px,10vw,140px) var(--gut) 0; transition:opacity .35s;}
.shop.fade{opacity:0;}
.a1{grid-column:1 / span 5;}
.a2{grid-column:8 / span 3;}
.b1{grid-column:1 / span 3; align-self:end;}
.b2{grid-column:5 / span 6;}
.c1{grid-column:1 / span 7;}
.c2{grid-column:10 / span 3; align-self:end;}
@media (max-width:1100px){
  .a1,.b2,.c1{grid-column:1 / span 7;}
  .a2,.b1,.c2{grid-column:9 / span 4; align-self:end;}
}
@media (max-width:640px){
  .shop{grid-template-columns:1fr; row-gap:48px;}
  .shop > .card{grid-column:1;}
  .shop > .card:nth-child(even){width:78%; justify-self:end;}
}

.card{position:relative; display:block; container-type:inline-size; outline:1px solid transparent; outline-offset:0; transition:outline-color 1.5s var(--ease); scroll-margin-top:90px;}
.card:hover{outline-color:var(--ink);}
.card .ph{position:relative; aspect-ratio:3/4; overflow:hidden; background:#1a1816;}
.card .slides{position:absolute; inset:0;}
.card .ph img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform 1.5s var(--ease), opacity 1.5s var(--ease);}
.card .ph .alt{opacity:0; transform:scale(1.12);}
.card:hover .ph .main{transform:scale(1.04);}
.card:hover .ph .alt{opacity:1; transform:scale(1);}
.card .ph::after{content:""; position:absolute; inset:0; background:linear-gradient(200deg, rgba(10,9,8,.55) 0%, rgba(10,9,8,0) 38%); pointer-events:none;}
.card .info{position:absolute; top:12px; right:12px; left:12px; z-index:2; text-align:right; color:#F4F2EE;}
.card .t{margin:0; font-size:clamp(22px,2.1vw,32px);}
.card .c{margin:2px 0 0; font-family:'Inter Tight',sans-serif; font-size:clamp(14px,1.35vw,20px); letter-spacing:-.05em; line-height:1;}
.card .r{margin:8px 0 0; font-size:10px; opacity:.7;}
.card .p{margin:18px 0 0; font-size:10.5px; letter-spacing:.02em;}
.card .go{position:absolute; left:12px; bottom:6px; z-index:2; color:#F4F2EE; font-size:clamp(34px,4vw,64px); transform:translateY(30%); opacity:0; transition:transform 1.2s var(--ease), opacity .6s var(--ease);}
.card:hover .go{transform:none; opacity:1;}
.card.vuoto .ph{background:var(--panel);}
.card.vuoto .ph::after{display:none;}
.card.vuoto .info, .card.vuoto .go{color:var(--ink);}
.card .vuoto-txt{position:absolute; inset:auto 12px 14px; font-size:10.5px; text-transform:uppercase; color:var(--soft);}
.card .ghost{position:absolute; left:12px; right:12px; top:50%; transform:translateY(-50%); font-size:16cqw; --o:var(--dim); --f:var(--panel); text-transform:uppercase; white-space:nowrap;}

/* MANIFESTO */
.manifesto{padding:clamp(120px,16vw,240px) var(--gut) clamp(90px,12vw,180px);}
.manifesto h2{margin:0; font-size:clamp(40px,6.6vw,118px); max-width:16ch;}


/* MATERIA — definizioni in celle bordate */
.materia{margin:0 var(--gut); display:grid; grid-template-columns:repeat(3,1fr); border:1px solid var(--ink);}
.materia > div{padding:16px 14px 22px; border-right:1px solid var(--ink); display:flex; flex-direction:column; gap:70px;}
.materia > div:last-child{border-right:0;}
.materia h3{margin:0; font-size:clamp(36px,4vw,64px);}
.materia p{margin:0; font-size:13.5px; max-width:42ch;}
@media (max-width:820px){ .materia{grid-template-columns:1fr;} .materia > div{border-right:0; border-bottom:1px solid var(--ink); gap:28px;} .materia > div:last-child{border-bottom:0;} }

/* FOOTER */
.foot{margin:clamp(90px,12vw,180px) var(--gut) var(--gut); border:1px solid var(--ink);}
.foot .cells{display:grid; grid-template-columns:repeat(4,1fr);}
.foot .cells > *{padding:14px; border-right:1px solid var(--ink); border-bottom:1px solid var(--ink); min-height:120px; display:flex; flex-direction:column; justify-content:space-between; gap:20px;}
.foot .cells > *:last-child{border-right:0;}
.foot .k{font-size:10.5px; text-transform:uppercase; color:var(--soft);}
.foot .v{font-family:'Inter Tight',sans-serif; font-size:20px; letter-spacing:-.04em; line-height:1.05;}
.foot a.cell{transition:background .25s, color .25s;}
.foot a.cell:hover{background:var(--ink); color:var(--bg);}
.foot a.cell:hover .k{color:var(--dim);}
.foot .legale{display:flex; justify-content:space-between; gap:20px; padding:10px 14px; border-bottom:1px solid var(--ink); font-size:10.5px; text-transform:uppercase; color:var(--soft);}
.foot .legale a{color:var(--ink);}
.foot .legale a:hover{text-decoration:underline;}
.foot .big{padding:clamp(18px,3vw,44px) 14px;}
.foot .big .logo-svg{width:100%; height:auto;}
@media (max-width:820px){ .foot .cells{grid-template-columns:1fr 1fr;} .foot .cells > *:nth-child(2){border-right:0;} }

/* SCHEDA */
.scheda{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:var(--gut); margin:18px var(--gut) 0; align-items:start;}
.scheda .gallery{position:sticky; top:72px;}
.scheda .gallery .ph{aspect-ratio:3/4; overflow:hidden; background:#1a1816; position:relative;}
.scheda .gallery .slides{height:100%;}
.scheda .gallery .ph img{width:100%; height:100%; object-fit:cover;}
.scheda .gallery .slides img:not(:first-child){display:none;}
.scheda .gallery .ph.vuoto{background:var(--panel); display:grid; place-items:center;}
.scheda .gallery .ph.vuoto span{font-size:10.5px; text-transform:uppercase; color:var(--soft);}
.thumbs{display:flex; gap:var(--gut); margin-top:var(--gut);}
.thumbs button{width:84px; aspect-ratio:3/4; overflow:hidden; outline:1px solid transparent; opacity:.55; transition:opacity .3s, outline-color .3s;}
.thumbs button[aria-current="true"], .thumbs button:hover{opacity:1; outline-color:var(--ink);}
.thumbs img{width:100%; height:100%; object-fit:cover;}
.det{border:1px solid var(--ink);}
.det .head{padding:14px 14px 22px; border-bottom:1px solid var(--ink); container-type:inline-size;}
.det .crumb{display:flex; justify-content:space-between; font-size:10.5px; text-transform:uppercase; margin-bottom:60px;}
.det .crumb a:hover{text-decoration:underline;}
/* min(…, cqi): il nome più lungo (Ottagonale) resta su una riga anche quando la colonna è stretta */
.det h1{margin:0; font-size:min(clamp(56px,8.4vw,150px), 15cqi); text-transform:uppercase; overflow-wrap:anywhere;}
.det .sub{margin:6px 0 0; font-family:'Inter Tight',sans-serif; font-size:clamp(22px,2.2vw,34px); letter-spacing:-.05em; line-height:1;}
.det .txt{padding:16px max(14px, calc(100% - 56ch)) 40px 14px; border-bottom:1px solid var(--ink); font-size:14.5px; line-height:1.4; margin:0;}
.det dl{margin:0;}
.det dl > div{display:grid; grid-template-columns:minmax(110px,30%) 1fr; border-bottom:1px solid var(--ink);}
.det dt{padding:12px 14px; font-size:10.5px; text-transform:uppercase; color:var(--soft); border-right:1px solid var(--ink);}
.det dd{margin:0; padding:10px 14px; font-family:'Inter Tight',sans-serif; font-size:18px; letter-spacing:-.03em;}
.det .prezzo dd{font-size:clamp(26px,2.6vw,40px); font-weight:600; letter-spacing:-.05em;}
.det .prezzo dd small{font-size:13px; font-weight:400; letter-spacing:0; font-family:'Inter',sans-serif; margin-right:8px; color:var(--soft);}
.richiedi{display:flex; justify-content:space-between; align-items:center; gap:20px; padding:22px 14px; background:var(--ink); color:var(--bg); font-family:'Inter Tight',sans-serif; font-weight:600; font-size:clamp(24px,2.4vw,38px); letter-spacing:-.05em; transition:background .3s, color .3s;}
.richiedi svg{width:.9em; height:.9em; flex:none; transition:transform .6s var(--ease);}
.richiedi:hover{background:var(--bg); color:var(--ink);}
.richiedi:hover svg{transform:translateX(6px);}
.det .nota{margin:0; padding:12px 14px 14px; font-size:11.5px; color:var(--soft); border-top:1px solid var(--ink);}
.pager{display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--ink);}
.pager a{padding:12px 14px; font-size:10.5px; text-transform:uppercase; transition:background .25s, color .25s;}
.pager a + a{border-left:1px solid var(--ink); text-align:right;}
.pager a:hover{background:var(--ink); color:var(--bg);}
.pager b{display:block; margin-top:4px; font-family:'Inter Tight',sans-serif; font-weight:600; font-size:22px; letter-spacing:-.05em;}
.altri-h{margin:clamp(100px,12vw,180px) var(--gut) 0; font-size:clamp(56px,9vw,150px);}
.altri-h + .shop{padding-top:40px;}
@media (max-width:820px){ .scheda{grid-template-columns:1fr;} .scheda .gallery{position:static;} .det .crumb{margin-bottom:28px;} }

/* ABOUT — foto a tutta pagina col logo gigante, frase sfalsata, capitoli numerati */
.ab-hero{position:relative; margin:18px var(--gut) 0; height:calc(100svh - 100px); min-height:520px; overflow:hidden; background:#1a1816; color:#F4F2EE;}
.ab-hero img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
.ab-hero::after{content:""; position:absolute; inset:0; background:linear-gradient(0deg, rgba(10,9,8,.6) 0%, rgba(10,9,8,0) 45%); pointer-events:none;}
.ab-hero .lbl, .ab-hero .tag{position:absolute; z-index:2; margin:0; text-shadow:0 0 12px rgba(10,9,8,.6); font-size:10.5px; font-weight:400; letter-spacing:.02em; text-transform:uppercase;}
.ab-hero .lbl{top:14px; left:50%; transform:translateX(-50%);}
.ab-hero .t1{top:30%; left:64%;}
.ab-hero .t2{top:46%; left:14%;}
.ab-hero .t3{top:58%; left:82%;}
.ab-hero .t4{top:14px; right:14px;}
.ab-hero .big{position:absolute; left:14px; right:14px; bottom:14px; z-index:2;}
.ab-hero .big .logo-svg{width:100%; height:auto;}

.ab-claim{margin:clamp(110px,14vw,220px) var(--gut) 0; font-size:clamp(56px,11.5vw,200px);}
.ab-claim span{display:block;}
.ab-claim .w2{margin-left:28%;}
.ab-claim .w3{margin-left:9%;}

.ab-intro{display:grid; grid-template-columns:25% minmax(0,1fr); margin:clamp(70px,9vw,130px) var(--gut) 0; border-top:1px solid var(--ink); padding-top:14px;}
.ab-k, .ab-n{margin:0; font-size:10.5px; text-transform:uppercase; color:var(--soft);}
.ab-lead{margin:0; max-width:34ch; font-family:'Inter Tight',sans-serif; font-size:clamp(22px,2.5vw,40px); letter-spacing:-.04em; line-height:1.08;}

.ab-sec{display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); column-gap:var(--gut); align-items:end; margin:clamp(110px,13vw,200px) var(--gut) 0;}
.ab-sec figure{grid-column:1 / span 5; margin:0;}
.ab-sec figure img{width:100%; aspect-ratio:3/4; object-fit:cover; background:#1a1816;}
.ab-sec figcaption{margin-top:8px; font-size:10.5px; text-transform:uppercase; color:var(--soft);}
.ab-sec .ab-txt{grid-column:7 / span 6; border-top:1px solid var(--ink); padding-top:14px; margin-bottom:26px;}
.ab-sec h3{margin:44px 0 26px; font-size:clamp(44px,6.2vw,108px);}
.ab-sec .ab-txt p:not(.ab-n){margin:0 0 12px; max-width:52ch; font-size:14.5px; line-height:1.4;}
.ab-sec.rev figure{grid-column:6 / span 7; order:2;}
.ab-sec.rev figure img{aspect-ratio:3/2;}
.ab-sec.rev .ab-txt{grid-column:1 / span 5;}
.ab-wide .ab-txt{grid-column:1 / -1; margin-bottom:28px;}
.ab-two{align-items:start;}
.ab-two .ab-txt{grid-column:span 6; margin-bottom:0;}
@media (max-width:820px){
  .ab-hero{height:76svh; min-height:440px;}
  .ab-hero .t1{top:24%; left:68%;} .ab-hero .t2{left:8%;} .ab-hero .t3{left:72%;}
  .ab-claim .w2{margin-left:14%;} .ab-claim .w3{margin-left:4%;}
  .ab-intro{grid-template-columns:1fr; gap:22px;}
  .ab-sec{grid-template-columns:1fr; row-gap:22px;}
  .ab-sec figure, .ab-sec.rev figure, .ab-sec .ab-txt, .ab-sec.rev .ab-txt, .ab-two .ab-txt{grid-column:1; order:0; margin-bottom:0;}
  .ab-sec.rev figure img{aspect-ratio:4/5;}
  .ab-two{row-gap:70px;}
  .ab-sec h3{margin:28px 0 18px;}
}

/* MODULO DI RICHIESTA (Netlify Forms) — righe bordate come la scheda prodotto */
.ab-form{margin:28px var(--gut) 0; border:1px solid var(--ink); scroll-margin-top:80px;}
.ab-form .row{display:grid; grid-template-columns:minmax(110px,25%) 1fr; border-bottom:1px solid var(--ink);}
.ab-form label{padding:14px; font-size:10.5px; text-transform:uppercase; color:var(--soft); border-right:1px solid var(--ink);}
.ab-form input, .ab-form select, .ab-form textarea{width:100%; min-width:0; margin:0; padding:10px 14px; border:0; border-radius:0; background:transparent; color:var(--ink); font-family:'Inter Tight',sans-serif; font-size:18px; letter-spacing:-.03em;}
.ab-form textarea{resize:vertical; min-height:120px; line-height:1.3;}
.ab-form select{appearance:none; cursor:pointer; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23231F20' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center / 16px; padding-right:40px;}
.ab-form input:focus, .ab-form select:focus, .ab-form textarea:focus{outline:none; background-color:var(--panel);}
.ab-form ::placeholder{color:var(--dim);}
.ab-form .richiedi{width:100%; text-align:left;}
.ab-form .nota{margin:0; padding:12px 14px 14px; font-size:11.5px; color:var(--soft); border-top:1px solid var(--ink);}
.ab-form .nota a{text-decoration:underline;}

/* GRAZIE — conferma dopo l'invio */
.grazie{margin:clamp(70px,10vw,160px) var(--gut) 0;}
.grazie h1{margin:18px 0 32px; font-size:clamp(80px,17vw,300px);}
.grazie .ab-lead{margin-bottom:40px;}
.grazie .richiedi{display:inline-flex; gap:40px;}

/* PRIVACY — testo legale a sezioni numerate */
.legal{margin:clamp(70px,10vw,160px) var(--gut) 0;}
.legal h1{margin:18px 0 32px; font-size:clamp(80px,17vw,300px);}
.legal .ab-lead{margin-bottom:clamp(50px,7vw,100px);}
.legal section{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,3fr) minmax(0,6fr); gap:var(--gut); padding:16px 0 40px; border-top:1px solid var(--ink);}
.legal h2{margin:0; font-family:'Inter Tight',sans-serif; font-weight:600; font-size:clamp(22px,2.2vw,32px); letter-spacing:-.04em; line-height:1;}
.legal section p, .legal li{margin:0 0 12px; max-width:62ch; font-size:14.5px; line-height:1.45;}
.legal ul{margin:0 0 12px; padding-left:18px;}
.legal a{text-decoration:underline;}
.legal .agg{margin:0; padding-top:14px; border-top:1px solid var(--ink); font-size:10.5px; text-transform:uppercase; color:var(--soft);}

/* BARRA MOBILE + MENU (nascosti su desktop) */
.mbar, .mmenu, .bar{display:none;}

@media (max-width:640px){
  body{padding-bottom:72px;}
  /* Sul piano gratuito Netlify aggiunge in basso a destra il riquadro "Powered by Netlify":
     se c'è, la barra sale sopra di lui, altrimenti coprirebbe il pulsante Info */
  body:has(> #nl-badge-frame){padding-bottom:136px;}
  body:has(> #nl-badge-frame) .mbar{bottom:72px;}

  /* in alto resta solo il logo, non fisso */
  .nav{position:static; grid-template-columns:1fr; height:54px;}
  .nav .hide-m{display:none;}
  .nav .info{display:none;}
  .nav .logo{justify-content:center; padding-left:0; border-right:0;}
  .nav .logo .logo-svg{height:15px;}

  /* barra in basso a celle */
  .mbar{display:grid; grid-template-columns:52px 1fr 1.25fr 1fr; position:fixed; left:var(--gut); right:var(--gut); bottom:var(--gut); z-index:60; height:52px; border:1px solid var(--ink); background:var(--bg);}
  .mbar > *{display:flex; align-items:center; justify-content:center; border-right:1px solid var(--ink); font-size:10.5px; letter-spacing:.02em; text-transform:uppercase;}
  .mbar > *:last-child{border-right:0;}
  .mbar .mb-logo svg{height:22px; width:auto;}
  .mbar .mb-menu svg{width:24px; height:24px;}
  .mbar .ic-close{display:none;}
  .mbar .mb-menu[aria-expanded="true"]{background:var(--ink); color:var(--bg);}
  .mbar .mb-menu[aria-expanded="true"] .ic-open{display:none;}
  .mbar .mb-menu[aria-expanded="true"] .ic-close{display:block;}
  .mmenu{display:flex; flex-direction:column; position:fixed; left:var(--gut); right:var(--gut); bottom:calc(var(--gut) + 51px); z-index:59; background:var(--ink); color:var(--bg); padding:10px 0;}
  .mmenu[hidden]{display:none;}
  .mmenu a{padding:16px 18px; font-family:'Inter Tight',sans-serif; font-weight:600; font-size:30px; letter-spacing:-.05em; line-height:1; text-transform:uppercase;}
  .mmenu a:last-child{font-family:'Inter',sans-serif; font-weight:400; font-size:11px; letter-spacing:.02em; margin-top:10px; padding-top:18px; border-top:1px solid #4a4546;}

  /* testata categorie compatta */
  .cat{margin-top:6px;}
  .track button{font-size:clamp(56px,17vw,80px);}
  .cat-body{grid-template-columns:1fr auto; gap:0 12px; padding:0 var(--gut);}
  .cat-body .def{padding:10px 12px 0; gap:28px;}
  .cat-body .def p{font-size:13.5px;}
  .index{columns:2; column-gap:16px; font-size:19px; line-height:1.08;}
  .arrows{padding:0 2px 0 0; align-items:flex-end;}

  /* schede a tutta larghezza, una sotto l'altra */
  .shop{grid-template-columns:1fr; row-gap:var(--gut); padding-top:44px;}
  .shop > .card, .shop > .card:nth-child(even){grid-column:1; width:auto; justify-self:stretch;}
  .card:hover{outline-color:transparent;}
  .card .go{display:none;}
  .card .t{font-size:30px;}
  .card .c{font-size:19px;}

  /* foto che scorrono col dito + barra di avanzamento */
  .slides{display:flex; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; overscroll-behavior-x:contain;}
  .slides::-webkit-scrollbar{display:none;}
  .card .slides img, .scheda .gallery .slides img{position:static; display:block !important; flex:0 0 100%; width:100%; height:100%; object-fit:cover; scroll-snap-align:start; opacity:1 !important; transform:none !important;}
  .bar{display:block; position:absolute; left:12px; right:12px; bottom:12px; z-index:2; height:3px; background:rgba(255,255,255,.35); overflow:hidden; pointer-events:none;}
  .bar i{display:block; height:100%; background:#fff;}
  .thumbs{display:none;}

  .ab-hero{margin-top:6px; height:72svh;}
  .ab-hero .t4{display:none;}
  .ab-claim{margin-top:90px; font-size:clamp(46px,14.5vw,68px);}
  .ab-form .row{grid-template-columns:1fr;}
  .ab-form label{border-right:0; padding-bottom:0;}
  .ab-form input, .ab-form select, .ab-form textarea{font-size:17px;}
  .manifesto{padding:90px var(--gut) 70px;}
  .manifesto h2{font-size:clamp(38px,11vw,52px);}
  .materia > div{gap:20px;}
  .foot{margin-top:90px;}
  .legal section{grid-template-columns:1fr; gap:10px; padding-bottom:28px;}
  .foot .v{font-size:17px;}
  .foot .cells > *{min-height:96px;}
  .scheda{margin-top:6px;}
  .det .crumb{margin-bottom:22px;}
  .det h1{font-size:min(clamp(52px,16vw,76px), 15cqi);}
  .richiedi{font-size:26px;}
  .altri-h{margin-top:80px; font-size:clamp(48px,14vw,64px);}
  .altri-h + .shop{padding-top:20px;}
}
