/* Podere · agenzia di campagna: casali, rustici e terreni (editoriale da rivista, colore pieno paglia).
   Firma di movimento: anteprima della foto che segue il cursore sulle voci dell'elenco (con motion blur). */
@font-face{font-family:'Alegreya';src:url('../_font/alegreya/alegreya-var.woff2') format('woff2');font-weight:400 900;font-style:normal;font-display:swap}
@font-face{font-family:'Alegreya Sans';src:url('../_font/alegreya-sans/alegreya-sans-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Alegreya Sans';src:url('../_font/alegreya-sans/alegreya-sans-700.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}

:root{
  --p:#3f5a2b;  /* verde oliva */
  --s:#ead7a4;  /* paglia */
  --t:#2a2619;  /* terra scura */
  --a:#b4532e;  /* terracotta */
  --f-titoli:'Alegreya', 'Palatino Linotype', Georgia, serif;
  --f-testo:'Alegreya Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;

  --su-p:var(--s);
  --carta:color-mix(in oklab, var(--s) 55%, #fff);
  --scuro:color-mix(in oklab, var(--t) 7%, var(--s));
  --linea:color-mix(in oklab, var(--t) 28%, var(--s));
  --tenue:color-mix(in oklab, var(--t) 74%, var(--s));
  --margine:clamp(18px, 4vw, 64px);
  --max:1360px;
  --curva:cubic-bezier(.22,.8,.2,1);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--s);color:var(--t);font-family:var(--f-testo);font-size:18px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:clip}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
button,input,select{font:inherit;color:inherit}
h1,h2,h3{margin:0;font-family:var(--f-titoli);font-weight:700;font-synthesis:none;letter-spacing:-.01em}
p{margin:0}
.salta{position:absolute;left:-9999px;top:8px;z-index:100;background:var(--p);color:var(--su-p);padding:10px 16px}
.salta:focus{left:8px}
:focus-visible{outline:2px solid var(--a);outline-offset:3px}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.contenitore{max-width:var(--max);margin:0 auto;padding:0 var(--margine)}
.centro{text-align:center}
h2{font-size:clamp(36px, 4.6vw, 70px);line-height:1.02}
h3{font-size:24px;line-height:1.15}

/* bottoni */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 28px;border-radius:999px;text-decoration:none;font-weight:700;font-size:17px;border:1.5px solid transparent;cursor:pointer;transition:background-color .3s, color .3s, transform .4s var(--curva);white-space:nowrap}
.btn:active{transform:scale(.98)}
.btn-p{background:var(--p);color:var(--su-p)}
.btn-p:hover{background:color-mix(in oklab, var(--p) 85%, var(--t))}
.btn-linea{border-color:currentColor}
.btn-linea:hover{background:var(--t);color:var(--s);border-color:var(--t)}
.btn-chiaro{background:var(--s);color:var(--t)}
.btn-chiaro:hover{background:var(--carta)}

/* testata */
.testata{position:fixed;inset:0 0 auto 0;z-index:40;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:16px;padding:12px var(--margine);background:color-mix(in oklab, var(--s) 94%, transparent);border-bottom:1px solid var(--linea);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.nav{display:flex;gap:4px;min-width:0}
.nav a{text-decoration:none;font-size:16px;padding:10px 10px;font-weight:700}
.nav a:hover{color:var(--a)}
.logo{font-family:var(--f-titoli);font-weight:800;font-size:clamp(22px, 2.1vw, 30px);text-decoration:none;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:min(40vw, 460px);letter-spacing:-.01em}
.testata-destra{display:flex;align-items:center;justify-content:flex-end;gap:12px;min-width:0}
.lingue{display:flex;gap:2px}
.lingue button{background:none;border:0;min-width:40px;min-height:40px;font-weight:700;font-size:14px;cursor:pointer;color:var(--tenue);border-bottom:2px solid transparent}
.lingue button.attiva{color:var(--t);border-bottom-color:var(--a)}
.testata-cta{min-height:44px;padding:0 22px;font-size:16px}
.menu-tasto{display:none;position:relative;z-index:60;min-height:44px;padding:0 18px;border-radius:999px;border:1.5px solid var(--t);background:var(--s);cursor:pointer;font-weight:700}
.menu-parole{display:grid;height:22px;overflow:hidden;line-height:22px}
.menu-parole span{grid-area:1/1;transition:transform .6s var(--curva)}
.menu-parole span:last-child{transform:translateY(110%)}
body.menu-aperto .menu-parole span:first-child{transform:translateY(-110%)}
body.menu-aperto .menu-parole span:last-child{transform:none}

/* 9 · menu a pannelli sfalsati */
.menu-strati,.menu-pannello{position:fixed;inset:0;z-index:50;pointer-events:none}
.strato{position:absolute;inset:0;transform:translateY(-102%);transition:transform .7s var(--curva)}
.strato-1{background:var(--a);transition-delay:.18s}
.strato-2{background:var(--p);transition-delay:.09s}
body.menu-aperto .strato{transform:none}
body.menu-aperto .strato-1{transition-delay:0s}
body.menu-aperto .strato-2{transition-delay:.08s}
.menu-pannello{background:var(--s);transform:translateY(-102%);transition:transform .75s var(--curva), visibility 0s linear .8s;visibility:hidden;padding:96px var(--margine) 36px;display:flex;flex-direction:column;justify-content:space-between;overflow-y:auto}
body.menu-aperto .menu-pannello{transform:none;visibility:visible;pointer-events:auto;transition:transform .75s var(--curva) .16s, visibility 0s}
body.menu-aperto .testata{z-index:70;background:transparent;border-bottom-color:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}
.menu-pannello ol{list-style:none;margin:0;padding:0}
.menu-pannello li{overflow:hidden;border-bottom:1px solid var(--linea)}
.menu-pannello a{display:flex;align-items:baseline;gap:16px;padding:12px 0;text-decoration:none;font-family:var(--f-titoli);font-weight:700;font-size:clamp(30px, 8vw, 44px);line-height:1.1;transform:translateY(105%);transition:transform .7s var(--curva)}
body.menu-aperto .menu-pannello a{transform:none;transition-delay:calc(.34s + var(--i) * .06s)}
.menu-pannello a span{font-family:var(--f-testo);font-size:14px;color:var(--a);font-weight:700}
.menu-piede{font-weight:700;padding-top:24px}

/* HERO */
.hero{padding:clamp(92px, 12vh, 118px) var(--margine) clamp(40px, 6vw, 80px);max-width:var(--max);margin:0 auto;text-align:center;min-height:min(100svh, 980px)}
.testatina{display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:center;border-top:3px double var(--t);border-bottom:1px solid var(--t);padding:8px 0;font-size:15px;font-weight:700;letter-spacing:.04em}
.testatina p:first-child{text-align:left}
.testatina p:last-child{text-align:right}
.testatina-centro{font-family:var(--f-titoli);font-style:italic;font-weight:500;letter-spacing:0;font-size:17px}
.hero h1{font-size:clamp(52px, 8.2vw, 132px);line-height:.92;letter-spacing:-.03em;font-weight:800;margin:clamp(22px, 4vh, 44px) auto clamp(16px, 2.4vh, 24px)}
.hero h1 .riga{display:block}
.hero-sotto{max-width:48ch;margin:0 auto;font-size:clamp(18px, 1.4vw, 21px);color:var(--tenue)}
.hero-azioni{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:clamp(18px, 3vh, 30px)}
.striscia{display:grid;grid-template-columns:1.3fr .8fr .8fr 1.3fr;gap:14px;align-items:end;margin-top:clamp(32px, 5vh, 56px);overflow:clip}
.striscia figure{margin:0;min-width:0}
.striscia img{width:100%;object-fit:cover;border-radius:2px}
.s1 img,.s4 img{aspect-ratio:4/3}
.s2 img,.s3 img{aspect-ratio:3/4}
.s3{transform:translateY(-36px)}
.striscia figcaption{font-family:var(--f-titoli);font-style:italic;font-size:16px;text-align:left;padding-top:6px;color:var(--tenue)}

/* PROPRIETÀ */
.proprieta{padding:clamp(72px, 9vw, 130px) 0}
.sezione-testa{display:flex;justify-content:space-between;align-items:flex-end;gap:20px 40px;flex-wrap:wrap;margin-bottom:28px}
.schede-tipo{display:flex;flex-wrap:wrap;gap:6px}
.tipo{min-height:44px;padding:0 16px;border-radius:999px;border:1.5px solid var(--linea);background:transparent;cursor:pointer;font-weight:700;font-size:16px;transition:background-color .3s, color .3s, border-color .3s}
.tipo:hover{border-color:var(--t)}
.tipo.attivo{background:var(--t);color:var(--s);border-color:var(--t)}
.elenco-testa,.voce a{display:grid;grid-template-columns:60px minmax(0,2.4fr) minmax(0,.8fr) minmax(0,.8fr) minmax(0,1fr);gap:20px;align-items:baseline}
.elenco-testa{padding:10px 0;border-top:3px double var(--t);border-bottom:1px solid var(--t);font-size:14px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.elenco-testa span:last-child,.voce .prezzo{text-align:right}
.elenco{list-style:none;margin:0;padding:0}
.voce{border-bottom:1px solid var(--linea)}
.voce a{text-decoration:none;padding:22px 0;position:relative;transition:background-color .3s, padding .5s var(--curva)}
.voce a:hover{background:var(--scuro);padding-left:14px;padding-right:14px}
.voce-foto{display:none}
.voce .n{font-family:var(--f-titoli);font-size:22px;color:var(--a);font-weight:700}
.titolo{display:flex;flex-direction:column;gap:2px;min-width:0}
.titolo strong{font-family:var(--f-titoli);font-size:clamp(24px, 2.2vw, 34px);line-height:1.1;font-weight:700}
.titolo em{font-family:var(--f-titoli);font-size:18px;color:var(--tenue)}
.dato{font-size:18px;font-variant-numeric:tabular-nums}
.prezzo{font-family:var(--f-titoli);font-size:clamp(22px, 1.9vw, 28px);font-weight:700;white-space:nowrap}
.elenco-vuoto{padding:28px 0;font-size:19px}
.elenco-vuoto a{color:var(--a);font-weight:700}
.elenco-piede{display:flex;gap:16px;align-items:center;justify-content:space-between;padding-top:14px;color:var(--tenue);font-style:italic;font-family:var(--f-titoli)}
.azzera{background:none;border:0;min-height:44px;font-weight:700;text-decoration:underline;cursor:pointer;font-family:var(--f-testo);font-style:normal;color:var(--t)}
.anteprima-cursore{position:fixed;left:0;top:0;width:300px;margin:0;z-index:20;pointer-events:none;opacity:0;border:6px solid var(--carta);box-shadow:0 30px 60px -30px color-mix(in oklab, var(--t) 70%, transparent);transition:opacity .25s;will-change:transform}
.anteprima-cursore img{width:100%;aspect-ratio:4/3;object-fit:cover}
.anteprima-cursore.vista{opacity:1}

/* MAPPA */
.mappa-sez{background:var(--scuro);padding:clamp(72px, 9vw, 130px) 0;border-top:1px solid var(--linea);border-bottom:1px solid var(--linea)}
.mappa-griglia{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px, 6vw, 100px);align-items:center}
.mappa-testo > p{margin:20px 0 28px;max-width:44ch;color:var(--tenue)}
.comuni{list-style:none;margin:0;padding:0;border-top:1px solid var(--t)}
.comuni button{display:flex;justify-content:space-between;align-items:baseline;width:100%;min-height:54px;padding:0 4px;background:none;border:0;border-bottom:1px solid var(--linea);cursor:pointer;text-align:left;transition:color .3s, padding .4s var(--curva)}
.comuni button span:first-child{font-family:var(--f-titoli);font-size:24px;font-weight:700}
.comuni button span:last-child{font-size:15px;color:var(--tenue)}
.comuni button span:last-child::after{content:" in vendita"}
.comuni button:hover,.comuni button.attivo{color:var(--a);padding-left:12px}
.mappa{width:100%;max-width:560px;justify-self:center;height:auto;overflow:hidden}
.curve ellipse{fill:none;stroke:color-mix(in oklab, var(--p) 40%, var(--s));stroke-width:1.4}
.curve ellipse:first-child,.curve ellipse:nth-child(4){fill:color-mix(in oklab, var(--p) 16%, var(--s))}
.tevere{fill:none;stroke:color-mix(in oklab, var(--p) 55%, var(--s));stroke-width:9;stroke-linecap:round}
.fiume,.monti{font-family:var(--f-titoli);font-style:italic;font-size:17px;fill:var(--tenue)}
.paese circle{fill:var(--s);stroke:var(--t);stroke-width:2.5;transition:fill .3s}
.paese text{font-family:var(--f-testo);font-weight:700;font-size:15px;fill:var(--t)}
.paese.capo circle{fill:var(--t)}
.paese.attivo circle{fill:var(--a);stroke:var(--a)}
.paese{cursor:pointer}
.rosa path{fill:var(--t)}
.rosa text{font-family:var(--f-titoli);font-weight:700;font-size:18px;fill:var(--t)}

/* CONTROLLI */
.controlli{padding:clamp(80px, 10vw, 150px) 0}
.controlli h2{max-width:24ch;margin:0 auto clamp(40px, 5vw, 72px)}
.colonne{display:grid;grid-template-columns:repeat(4, minmax(0,1fr));gap:0}
.colonne article{padding:0 clamp(16px, 2vw, 32px);border-left:1px solid var(--linea)}
.colonne article:first-child{border-left:0;padding-left:0}
.colonne article:last-child{padding-right:0}
.colonne svg{width:40px;height:40px;fill:none;stroke:var(--a);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;margin-bottom:16px}
.colonne h3{margin-bottom:10px;font-size:28px}
.colonne p{color:var(--tenue)}

/* RISTRUTTURARE */
.ristrutturare{background:var(--carta);padding:clamp(80px, 10vw, 150px) 0}
.rist-griglia{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px, 6vw, 100px);align-items:center}
.rist-foto{margin:0}
.rist-foto img{width:100%;aspect-ratio:4/5;object-fit:cover}
.rist-foto figcaption{font-family:var(--f-titoli);font-style:italic;color:var(--tenue);padding-top:10px}
.rist-conti .sotto{margin:18px 0 32px;color:var(--tenue);max-width:46ch}
.calcolo{display:grid;gap:24px}
.campo{display:grid;gap:10px;border:0;margin:0;padding:0;min-width:0}
.campo label,.campo legend{display:flex;justify-content:space-between;gap:12px;font-weight:700;font-size:16px;padding:0}
.campo legend{margin-bottom:10px;width:100%}
.campo output{font-family:var(--f-titoli);font-size:22px}
input[type=range]{width:100%;appearance:none;-webkit-appearance:none;background:transparent;height:30px;cursor:pointer;margin:0}
input[type=range]::-webkit-slider-runnable-track{height:2px;background:var(--t)}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;border-radius:50%;background:var(--a);margin-top:-11px;border:3px solid var(--carta)}
input[type=range]::-moz-range-track{height:2px;background:var(--t)}
input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--a);border:3px solid var(--carta)}
.segmenti{display:grid;grid-template-columns:repeat(3, minmax(0,1fr));gap:6px}
.segmenti label{position:relative;cursor:pointer;display:block}
.segmenti input{position:absolute;opacity:0;inset:0}
.segmenti span{display:grid;place-items:center;min-height:48px;border-radius:999px;border:1.5px solid var(--linea);font-weight:700;transition:background-color .3s, color .3s;text-align:center;padding:0 6px}
.segmenti input:checked + span{background:var(--t);color:var(--s);border-color:var(--t)}
.segmenti input:focus-visible + span{outline:2px solid var(--a);outline-offset:2px}
.spunte{display:flex;flex-wrap:wrap;gap:8px 28px}
.spunta{display:inline-flex;align-items:center;gap:10px;min-height:44px;cursor:pointer;font-weight:700;position:relative}
.spunta input{position:absolute;opacity:0;width:1px;height:1px}
.casella{width:24px;height:24px;border:1.5px solid var(--t);border-radius:4px;display:grid;place-items:center;flex:none}
.spunta input:checked + .casella{background:var(--p);border-color:var(--p)}
.spunta input:checked + .casella::after{content:"";width:6px;height:11px;border:solid var(--su-p);border-width:0 2.5px 2.5px 0;transform:translateY(-1px) rotate(45deg)}
.spunta input:focus-visible + .casella{outline:2px solid var(--a);outline-offset:2px}
.esito{border-top:3px double var(--t);padding-top:16px}
.esito p:first-child{font-weight:700}
.esito-cifra{font-family:var(--f-titoli);font-weight:800;font-size:clamp(40px, 4.6vw, 64px);line-height:1.05;color:var(--p);margin:4px 0}
.esito-nota{color:var(--tenue);font-style:italic;font-family:var(--f-titoli)}

/* LETTERE */
.lettere{padding:clamp(80px, 10vw, 150px) 0 clamp(48px, 6vw, 90px)}
.voto{color:var(--tenue);margin:12px 0 clamp(40px, 5vw, 64px);font-style:italic;font-family:var(--f-titoli)}
.lettere-griglia{display:grid;grid-template-columns:repeat(3, minmax(0,1fr));gap:0}
.lettere-griglia figure{margin:0;padding:0 clamp(16px, 2.2vw, 36px);border-left:1px solid var(--linea);display:flex;flex-direction:column;gap:18px}
.lettere-griglia figure:first-child{border-left:0;padding-left:0}
.lettere-griglia figure:last-child{padding-right:0}
.lettere-griglia blockquote{margin:0;font-family:var(--f-titoli);font-size:clamp(21px, 1.8vw, 26px);line-height:1.35}
.lettere-griglia blockquote::first-letter{font-size:1.5em;color:var(--a)}
.lettere-griglia figcaption{margin-top:auto;font-weight:700}
.lettere-griglia figcaption span{display:block;font-weight:400;color:var(--tenue);font-size:16px}

/* 10 · nastro dei marchi */
.partner{padding:clamp(40px, 5vw, 70px) 0 clamp(72px, 9vw, 120px)}
.partner-titolo{font-family:var(--f-testo);font-size:14px;letter-spacing:.2em;text-transform:uppercase;text-align:center;margin-bottom:26px;font-weight:700;color:var(--tenue)}
.nastro{overflow:hidden;border-top:1px solid var(--linea);border-bottom:1px solid var(--linea);padding:22px 0;-webkit-mask-image:linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);mask-image:linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent)}
.nastro-binario{display:flex;width:max-content;animation:nastro 46s linear infinite}
.nastro:hover .nastro-binario{animation-play-state:paused}
.nastro-giro{display:flex;align-items:center;gap:clamp(40px, 5vw, 80px);list-style:none;margin:0;padding:0 clamp(20px, 2.5vw, 40px)}
.nastro-giro li{white-space:nowrap;color:color-mix(in oklab, var(--t) 80%, var(--s))}
.m1{font-family:var(--f-titoli);font-style:italic;font-size:26px}
.m2{font-weight:700;letter-spacing:.24em;font-size:16px}
.m3{font-family:var(--f-titoli);font-weight:800;font-size:28px}
.m4{font-family:var(--f-titoli);font-size:24px;font-variant:small-caps;letter-spacing:.06em}
@keyframes nastro{to{transform:translateX(-50%)}}

/* VENDI (colore pieno) */
.vendi{background:var(--p);color:var(--su-p);padding:clamp(80px, 10vw, 140px) 0}
.vendi-griglia{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px, 6vw, 100px);align-items:center}
.vendi h2{margin-bottom:20px}
.vendi p{max-width:44ch;opacity:.92}
.vendi-modulo{display:grid;grid-template-columns:repeat(2, minmax(0,1fr));gap:16px}
.vendi-modulo .campo:nth-child(-n+2){grid-column:1 / -1}
.vendi-modulo input,.vendi-modulo select{width:100%;min-height:52px;border-radius:12px;border:1.5px solid color-mix(in oklab, var(--su-p) 45%, transparent);background:color-mix(in oklab, var(--su-p) 10%, transparent);color:inherit;padding:0 16px;font-size:17px}
.vendi-modulo input::placeholder{color:inherit;opacity:.6}
.vendi-modulo select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, currentColor 50%),linear-gradient(135deg, currentColor 50%, transparent 50%);background-position:calc(100% - 22px) 23px, calc(100% - 16px) 23px;background-size:6px 6px;background-repeat:no-repeat}
.vendi-modulo select option{color:#222}
.vendi-modulo .btn{grid-column:1 / -1}

/* CONTATTI */
.contatti{padding:clamp(80px, 10vw, 150px) 0}
.contatti h2{max-width:16ch;margin:0 auto clamp(40px, 5vw, 64px)}
.contatti-griglia{display:grid;grid-template-columns:repeat(4, minmax(0,1fr));border-top:3px double var(--t)}
.contatti-griglia > div{padding:20px clamp(12px, 1.6vw, 24px) 0;border-left:1px solid var(--linea);display:grid;gap:8px;align-content:start}
.contatti-griglia > div:first-child{border-left:0;padding-left:0}
.contatti-griglia h3{font-size:22px}
.contatti-griglia a{text-decoration-color:var(--a);text-underline-offset:4px}
.contatti-azioni{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:clamp(40px, 5vw, 64px)}

/* PIEDE */
.piede{background:var(--t);color:var(--s);padding:48px 0 110px}
.piede-nome{font-family:var(--f-titoli);font-weight:800;font-size:clamp(32px, 5vw, 72px);line-height:1;text-align:center;border-bottom:1px solid color-mix(in oklab, var(--s) 25%, transparent);padding-bottom:24px;margin-bottom:20px;overflow-wrap:anywhere}
.piede-righe{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;font-size:15px;color:color-mix(in oklab, var(--s) 78%, var(--t))}

/* WhatsApp */
.whatsapp{position:fixed;right:20px;bottom:20px;z-index:30;display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--p);color:var(--su-p);box-shadow:0 0 0 3px var(--s);transition:transform .45s var(--curva), opacity .35s}
.whatsapp svg{width:26px;height:26px;fill:currentColor}
html.js .whatsapp{opacity:0;transform:translateY(20px);pointer-events:none}
html.js .whatsapp.visibile{opacity:1;transform:none;pointer-events:auto}

/* ---------- responsive ---------- */
@media (max-width:1100px){
  .nav{display:none}
  .testata{grid-template-columns:minmax(0,1fr) auto}
  .logo{text-align:left;max-width:none}
  .menu-tasto{display:inline-flex;align-items:center}
  .testata-cta{display:none}
  .colonne{grid-template-columns:repeat(2, minmax(0,1fr));row-gap:40px}
  .colonne article:nth-child(3){border-left:0;padding-left:0}
  .colonne article:nth-child(2){padding-right:0}
}
@media (max-width:900px){
  body{font-size:17px}
  .hero{min-height:0}
  .testatina{grid-template-columns:1fr 1fr}
  .testatina-centro{display:none}
  .hero h1{font-size:clamp(48px, 13vw, 96px)}
  .striscia{grid-template-columns:1fr 1fr}
  .s3,.s4{display:none}
  .s1 img,.s2 img{aspect-ratio:4/5}
  .elenco-testa{display:none}
  .voce a{grid-template-columns:minmax(0,1fr) auto;gap:6px 16px;padding:18px 0}
  .voce a:hover{padding-left:0;padding-right:0;background:transparent}
  .voce-foto{display:block;grid-column:1 / -1;width:100%;aspect-ratio:16/10;object-fit:cover;margin-bottom:8px}
  .voce .n{display:none}
  .titolo{grid-column:1 / -1}
  .dato{font-size:16px;color:var(--tenue)}
  .dato::before{content:attr(data-etichetta) ": "}
  .voce .prezzo{grid-column:1 / -1;text-align:left}
  .dato.senza{display:none}
  .mappa-griglia,.rist-griglia,.vendi-griglia{grid-template-columns:1fr}
  .mappa{max-width:420px}
  .rist-foto img{aspect-ratio:16/11}
  .lettere-griglia{grid-template-columns:1fr;gap:36px}
  .lettere-griglia figure{border-left:0;padding:0;border-top:1px solid var(--linea);padding-top:24px}
  .contatti-griglia{grid-template-columns:1fr 1fr;row-gap:28px}
  .contatti-griglia > div:nth-child(3){border-left:0;padding-left:0}
}
@media (max-width:560px){
  .lingue{display:none}
  .logo{font-size:22px}
  .hero-azioni .btn{flex:1 1 100%}
  .testatina{font-size:13px}
  .colonne{grid-template-columns:1fr}
  .colonne article{border-left:0;padding:0;border-top:1px solid var(--linea);padding-top:20px}
  .vendi-modulo{grid-template-columns:1fr}
  .contatti-griglia{grid-template-columns:1fr}
  .contatti-griglia > div{border-left:0;padding-left:0}
  .contatti-azioni .btn{flex:1 1 100%}
  .btn{white-space:normal;text-align:center}
  .piede-righe{flex-direction:column}
  .segmenti span{font-size:15px}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}
  .nastro-binario{animation:none}
}

/* ---------- apertura: campi arati che scorrono via come filari ---------- */
.ap-campi{position:absolute;inset:0;display:flex;flex-direction:column}
.ap-campo{flex:1;display:block;background-color:var(--p);background-size:160px 100%}
.ap-c1{background-color:color-mix(in oklab, var(--p) 55%, var(--s));background-image:repeating-linear-gradient(90deg, transparent 0 14px, color-mix(in oklab, var(--t) 14%, transparent) 14px 16px)}
.ap-c2{background-color:color-mix(in oklab, var(--t) 10%, var(--s));background-image:repeating-linear-gradient(75deg, transparent 0 9px, color-mix(in oklab, var(--t) 12%, transparent) 9px 11px)}
.ap-c3{background-color:var(--p);background-image:repeating-linear-gradient(90deg, transparent 0 22px, color-mix(in oklab, var(--s) 18%, transparent) 22px 25px)}
.ap-c4{background-color:color-mix(in oklab, var(--a) 58%, var(--s));background-image:repeating-linear-gradient(105deg, transparent 0 8px, color-mix(in oklab, var(--t) 15%, transparent) 8px 10px)}
.ap-c5{background-color:var(--s);background-image:repeating-linear-gradient(90deg, transparent 0 12px, color-mix(in oklab, var(--t) 10%, transparent) 12px 13px)}
.ap-c6{background-color:color-mix(in oklab, var(--p) 75%, var(--t));background-image:repeating-linear-gradient(80deg, transparent 0 16px, color-mix(in oklab, var(--s) 14%, transparent) 16px 18px)}
.ap-c7{background-color:color-mix(in oklab, var(--p) 35%, var(--s));background-image:repeating-linear-gradient(90deg, transparent 0 10px, color-mix(in oklab, var(--t) 12%, transparent) 10px 12px)}
.ap-c8{background-color:color-mix(in oklab, var(--a) 40%, var(--t));background-image:repeating-linear-gradient(100deg, transparent 0 12px, color-mix(in oklab, var(--s) 14%, transparent) 12px 14px)}
.ap-titolo{position:absolute;left:50%;top:50%;transform:translate(-50%, -50%);width:max-content;max-width:calc(100vw - 40px);background:var(--s);color:var(--t);border-top:3px double var(--t);border-bottom:3px double var(--t);padding:clamp(16px, 3vw, 28px) clamp(22px, 4vw, 48px);text-align:center;display:grid;gap:6px;box-shadow:0 24px 50px -24px color-mix(in oklab, var(--t) 70%, transparent)}
.ap-nome{font-family:var(--f-titoli);font-weight:800;font-size:clamp(32px, 6vw, 76px);line-height:1;letter-spacing:-.02em;overflow-wrap:anywhere}
.ap-sotto{font-family:var(--f-titoli);font-style:italic;font-size:clamp(16px, 1.6vw, 20px);color:var(--tenue)}
