/* =====================================================================
   Investire a Capo Verde – Proposta 3 «Racconto immersivo»
   Palette: blu notte + bianco + verde The View (#1F7A78). Niente oro.
   Titoli: Sora · Testi: Inter
   ===================================================================== */
:root{
  --abisso:#051231; --notte:#0A2350; --notte-2:#0F2F66; --blu:#0B2D6B;
  --verde:#1F7A78; --verde-scuro:#17625F; --acqua:#8FD6CE; --acqua-tenue:#D6EFEC;
  --bianco:#FFFFFF; --carta:#F3F6FA; --linea:#DCE4EF; --ink:#0B1B33; --grigio:#566275; --grigio-chiaro:#B4C3D8;
  --wa:#1FAF5A;
  --f-titoli:'Sora',system-ui,-apple-system,'Segoe UI',sans-serif;
  --f-testo:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
  --r:24px; --r-s:14px;
  --testata:68px;
  --safe-b:env(safe-area-inset-bottom,0px);
  --lento:cubic-bezier(.16,1,.3,1);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--testata) + 16px)}
body{margin:0;background:var(--bianco);color:var(--ink);font:400 17px/1.7 var(--f-testo);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
picture{display:block}
a{color:inherit;text-underline-offset:3px}
h1,h2,h3,h4{font-family:var(--f-titoli);font-weight:600;line-height:1.08;letter-spacing:-.025em;margin:0 0 .5em}
h3{font-size:1.2rem;letter-spacing:-.01em;line-height:1.25}
h4{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--grigio);margin:20px 0 10px}
p{margin:0 0 1em}
:focus-visible{outline:3px solid var(--acqua);outline-offset:3px;border-radius:6px}
.chiaro :focus-visible,.carta :focus-visible{outline-color:var(--verde)}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.salta{position:absolute;left:12px;top:-60px;z-index:200;background:var(--verde);color:#fff;padding:10px 16px;border-radius:10px;font-weight:600}
.salta:focus{top:12px}
.w{width:min(1240px,100% - 32px);margin-inline:auto}
.w-medio{width:min(920px,100% - 32px)}
.w-stretto{width:min(760px,100% - 32px)}
.centrato{text-align:center}

/* --- barra anteprima --- */
.barra-anteprima{background:#000;color:#cfd6e0;font:600 12px/1.3 var(--f-testo);text-align:center;padding:7px 12px;position:relative;z-index:61}

/* --- tipografia del racconto --- */
.titolo-hero{font-size:clamp(2.5rem,6.6vw,6.2rem);line-height:1.02;letter-spacing:-.04em;max-width:14ch;text-wrap:balance}
.titolo-xxl{font-size:clamp(2.9rem,9.6vw,8.6rem);line-height:.98;letter-spacing:-.045em;text-wrap:balance}
.titolo-xl{font-size:clamp(2.1rem,5.4vw,4.5rem);line-height:1.03;letter-spacing:-.04em;text-wrap:balance}
.titolo-l{font-size:clamp(1.75rem,3.5vw,3rem);letter-spacing:-.03em;text-wrap:balance}
.titolo-m{font-size:clamp(1.3rem,2.2vw,1.85rem);letter-spacing:-.02em}
.lead{font-size:clamp(1.06rem,1.5vw,1.28rem);line-height:1.6;color:var(--grigio);max-width:46ch}
.lead-chiaro{color:#D3DDEB}
.occhiello,.cap-num{display:inline-flex;align-items:center;gap:10px;font:600 .76rem/1.2 var(--f-titoli);letter-spacing:.2em;text-transform:uppercase;color:var(--verde);margin-bottom:18px}
.occhiello::before,.cap-num::before{content:"";width:26px;height:1.5px;background:currentColor}
.occhiello-chiaro,.notte .cap-num,.notte .occhiello{color:var(--acqua)}
.firma{font-family:var(--f-titoli);font-weight:300;font-size:1.05rem;color:#C7D3E4;border-left:2px solid var(--acqua);padding-left:16px;margin:26px 0}
.nota{font-size:.88rem;color:var(--grigio)}
.nota-render{font-size:.8rem;color:var(--grigio);margin-top:14px}
.notte .nota-render,.giornata .nota-render{color:#94A6BF}
.nota-chiara{color:#9FB2CC;font-size:.9rem;margin:0}

/* --- bottoni --- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:14px 26px;border-radius:999px;font:600 .98rem/1.2 var(--f-titoli);letter-spacing:-.005em;text-decoration:none;border:1.5px solid transparent;cursor:pointer;transition:transform .25s var(--lento),background .2s,box-shadow .25s;text-align:center}
.btn:hover{transform:translateY(-2px)}
.btn-s{min-height:44px;padding:10px 18px;font-size:.9rem}
.btn-l{min-height:58px;padding:16px 30px;font-size:1.02rem}
.btn-verde{background:var(--verde);color:#fff;box-shadow:0 10px 28px rgba(31,122,120,.35)}
.btn-verde:hover{background:var(--verde-scuro)}
.btn-vetro{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.5);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.btn-vetro:hover{background:rgba(255,255,255,.2)}
.btn-linea{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn-linea:hover{background:var(--ink);color:#fff}
.btn-wa{background:var(--wa);color:#fff}
.btn-wa:hover{background:#178F49}
.bottoni{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.ico-play{width:0;height:0;border-left:11px solid currentColor;border-top:7px solid transparent;border-bottom:7px solid transparent}
.link-freccia{display:inline-flex;align-items:center;gap:8px;font:600 .98rem var(--f-titoli);color:var(--verde);text-decoration:none;border-bottom:1.5px solid currentColor;padding-bottom:2px}
.link-freccia::after{content:"→";transition:transform .25s var(--lento)}
.link-freccia:hover::after{transform:translateX(4px)}
.link-chiaro,.notte .link-freccia{color:var(--acqua)}
.tondo{width:52px;height:52px;border-radius:50%;border:1.5px solid rgba(255,255,255,.4);background:transparent;color:#fff;font-size:1.2rem;cursor:pointer;transition:background .2s}
.tondo:hover{background:rgba(255,255,255,.14)}
.tondo-s{width:40px;height:40px;font-size:1rem;border-color:var(--linea);color:var(--ink)}
.tondo-s:hover{background:var(--carta)}
@media(max-width:560px){.bottoni .btn{width:100%}}

/* --- testata --- */
.testata{position:sticky;top:0;z-index:60;height:var(--testata);margin-bottom:calc(var(--testata) * -1);color:#fff;transition:background .4s,box-shadow .4s}
.testata::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,18,49,.6),rgba(5,18,49,0));transition:opacity .4s;pointer-events:none}
.testata.scorsa{background:rgba(5,18,49,.9);backdrop-filter:saturate(1.3) blur(14px);-webkit-backdrop-filter:saturate(1.3) blur(14px);box-shadow:0 1px 0 rgba(255,255,255,.06)}
.testata.scorsa::before{opacity:0}
.testata-riga{position:relative;display:flex;align-items:center;gap:22px;height:100%}
.marchio{display:flex;align-items:center;gap:10px;text-decoration:none;color:#fff;flex:none}
.marchio-segno{width:34px;height:34px}
.marchio span{display:grid;line-height:1}
.marchio b{font:700 1.06rem var(--f-titoli);letter-spacing:.2em;text-transform:uppercase}
.marchio small{font:400 .62rem var(--f-titoli);letter-spacing:.42em;text-transform:uppercase;color:var(--acqua);margin-top:5px}
.menu{margin-left:auto}
.menu ul{list-style:none;display:flex;gap:2px;margin:0;padding:0;align-items:center}
.menu li{position:relative}
.menu li>a,.menu li>button{display:flex;align-items:center;gap:7px;padding:10px 14px;border-radius:10px;font:500 .94rem var(--f-titoli);color:#fff;text-decoration:none;background:none;border:0;cursor:pointer}
.menu li>button::after{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);opacity:.7;transition:transform .2s}
.menu li>a:hover,.menu li>button:hover,.menu li>button[aria-expanded=true]{background:rgba(255,255,255,.1)}
.menu li>a[aria-current]{color:var(--acqua)}
.tendina{position:absolute;top:calc(100% + 8px);left:-8px;min-width:300px;background:#fff;color:var(--ink);border-radius:18px;box-shadow:0 30px 60px rgba(5,18,49,.3);padding:10px;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .25s,transform .25s var(--lento),visibility .25s}
.tendina::before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px}
.ha-tendina:hover .tendina,.ha-tendina:focus-within .tendina,.ha-tendina button[aria-expanded=true]+.tendina{opacity:1;visibility:visible;transform:none}
.tendina a{display:block;padding:11px 14px;border-radius:12px;text-decoration:none}
.tendina a:hover{background:var(--carta)}
.tendina a span{display:block;font:600 .95rem var(--f-titoli)}
.tendina a small{display:block;color:var(--grigio);font-size:.82rem}
.testata-wa{display:none}
.avanzamento{position:absolute;left:0;right:0;bottom:-3px;height:3px;pointer-events:none;opacity:0;transition:opacity .3s}
.avanzamento i{display:block;height:100%;background:linear-gradient(90deg,var(--verde),var(--acqua));transform-origin:0 50%;transform:scaleX(0)}
.avanzamento-cap{position:absolute;right:12px;top:8px;font:600 .7rem var(--f-titoli);letter-spacing:.14em;text-transform:uppercase;background:rgba(5,18,49,.85);color:var(--acqua);padding:5px 10px;border-radius:99px;opacity:0;transition:opacity .3s}
.tipo-guida .avanzamento{opacity:1}
@media(max-width:1020px){
  .menu,.testata-cta{display:none}
  .testata-wa{display:grid;place-items:center;margin-left:auto;width:42px;height:42px;border-radius:50%;background:var(--wa);color:#fff}
  .testata-wa svg{width:22px;height:22px}
  .con-capitoli .avanzamento{opacity:1}
  .avanzamento-cap.on{opacity:1}
}

/* --- indice dei capitoli (desktop) --- */
.indice-capitoli{position:fixed;right:22px;top:50%;transform:translateY(-50%);z-index:40;display:none}
.indice-capitoli{transition:opacity .4s}
.indice-capitoli.nascosto{opacity:0;pointer-events:none}
.indice-capitoli ol{list-style:none;margin:0;padding:10px 8px;display:grid;gap:4px;background:rgba(5,18,49,.55);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:99px}
.indice-capitoli a{position:relative;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;text-decoration:none;color:#9FB2CC;font:600 .66rem var(--f-titoli)}
.indice-capitoli a::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;transition:transform .3s var(--lento)}
.indice-capitoli a span{position:absolute;right:42px;white-space:nowrap;background:var(--abisso);color:#fff;padding:6px 12px;border-radius:99px;font-size:.78rem;letter-spacing:.02em;opacity:0;transform:translateX(6px);transition:opacity .25s,transform .25s var(--lento);pointer-events:none}
.indice-capitoli a:hover span,.indice-capitoli a:focus-visible span,.indice-capitoli a.on span{opacity:1;transform:none}
.indice-capitoli a.on{color:var(--acqua)}
.indice-capitoli a.on::before{transform:scale(1.8)}
@media(min-width:1021px){.indice-capitoli{display:block}}

/* --- scene a tutto schermo --- */
.scena,.cap-pieno,.apertura,.banda-cta{position:relative;overflow:hidden;background:var(--abisso);color:#fff;isolation:isolate}
.scena{min-height:100vh;min-height:100svh;display:flex;align-items:flex-end}
.scena-sfondo,.apertura-sfondo{position:absolute;inset:-9% 0;z-index:-2;will-change:transform}
.scena-sfondo picture,.scena-sfondo img,.apertura-sfondo picture,.apertura-sfondo img{width:100%;height:100%;object-fit:cover}
.sfondo-sinistra{object-position:72% 50%}
/* velature: rendono "cinematiche" anche le immagini piccole in attesa dei render in alta risoluzione */
.scena::before,.cap-pieno::before,.apertura::before,.banda-cta::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(90deg,rgba(5,18,49,.88) 0%,rgba(5,18,49,.5) 45%,rgba(5,18,49,.15) 75%),linear-gradient(0deg,rgba(5,18,49,.95) 0%,rgba(5,18,49,0) 55%),radial-gradient(120% 90% at 70% 40%,transparent 40%,rgba(5,18,49,.55) 100%)}
.velo-forte::after{content:"";position:absolute;inset:0;background:rgba(5,18,49,.45)}
.scena-corpo{padding:calc(var(--testata) + 60px) 0 clamp(90px,14vh,150px)}
.scena-apertura .bottoni{margin-top:34px}
.scorri{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);display:grid;justify-items:center;gap:8px;color:#C7D3E4;text-decoration:none;font:600 .68rem var(--f-titoli);letter-spacing:.3em;text-transform:uppercase}
.scorri i{width:1.5px;height:42px;background:linear-gradient(var(--acqua),transparent);animation:goccia 2.2s var(--lento) infinite}
@keyframes goccia{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
.live{display:inline-flex;align-items:center;gap:9px;font:500 .84rem var(--f-testo);background:rgba(255,255,255,.1);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.16);padding:7px 14px;border-radius:99px;margin-bottom:26px;color:#E4EBF5}
.live i,.live-punto{width:8px;height:8px;border-radius:50%;background:#3BE38A;box-shadow:0 0 0 0 rgba(59,227,138,.7);animation:pulsa 2s infinite;flex:none}
@keyframes pulsa{70%{box-shadow:0 0 0 10px rgba(59,227,138,0)}100%{box-shadow:0 0 0 0 rgba(59,227,138,0)}}
/* comparsa iniziale dell'apertura */
.js .entra{opacity:0;transform:translateY(34px);animation:entra 1.4s var(--lento) .15s forwards}
.js .entra-2{animation-delay:.35s}.js .entra-3{animation-delay:.6s}.js .entra-4{animation-delay:.85s}
/* il titolo principale è l’elemento più grande (LCP): visibile subito, si muove solo un poco */
.js .titolo-hero.entra{opacity:1;transform:translateY(14px);animation:entra-titolo .9s var(--lento) .05s forwards}
@keyframes entra-titolo{to{transform:none}}
@keyframes entra{to{opacity:1;transform:none}}

/* --- aperture delle pagine interne --- */
.apertura{min-height:74vh;min-height:74svh;display:flex;align-items:flex-end}
.apertura-media{min-height:62vh;min-height:62svh}
.apertura-guida{min-height:70vh;min-height:70svh}
.apertura-corpo{padding:calc(var(--testata) + 50px) 0 clamp(56px,9vh,96px)}
.apertura .lead{color:#D3DDEB}
.apertura .occhiello{color:var(--acqua)}
.apertura-solo-testo{min-height:0;background:radial-gradient(80% 120% at 85% 0%,rgba(31,122,120,.45),transparent 60%),radial-gradient(60% 80% at 0% 100%,rgba(15,47,102,.9),transparent 70%),var(--abisso)}
.apertura-solo-testo::before{display:none}
.apertura-solo-testo .apertura-corpo{padding-top:calc(var(--testata) + 80px)}
.briciole ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:0 0 22px;padding:0;font-size:.84rem;color:#B4C3D8}
.briciole li+li::before{content:"/";margin-right:6px;opacity:.5}
.briciole a{color:#E4EBF5;text-decoration:none}
.briciole a:hover{text-decoration:underline}
.chiaro .briciole ol{color:var(--grigio)}
.chiaro .briciole a{color:var(--ink)}

/* --- capitoli --- */
.capitolo{position:relative;padding:clamp(84px,11vw,160px) 0}
.chiaro{background:var(--bianco)}
.carta{background:var(--carta)}
.notte{background:radial-gradient(90% 70% at 100% 0%,rgba(31,122,120,.22),transparent 60%),linear-gradient(180deg,var(--notte),var(--abisso));color:#fff}
.notte .lead{color:#D3DDEB}
.cap-pieno{min-height:100vh;min-height:100svh;display:flex;align-items:center}
.cap-corpo{position:relative}
.griglia-cap{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(32px,6vw,96px);align-items:center}
.griglia-cap.inverti{grid-template-columns:1.15fr 1fr}
.cap-foto{margin:0;border-radius:var(--r);overflow:hidden;aspect-ratio:4/5;box-shadow:0 40px 80px rgba(5,18,49,.18)}
.cap-foto-larga{aspect-ratio:5/4}
.cap-foto-cornice{height:118%;margin-top:-9%}
.cap-foto-cornice picture,.cap-foto-cornice img{width:100%;height:100%;object-fit:cover}
.cornice-bianca{background:#fff}
.griglia-2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,56px);align-items:start}
.allinea-basso{align-items:end;margin-top:34px}
.testa-centrata{text-align:center;max-width:900px;margin:0 auto clamp(40px,6vw,72px)}
.testa-centrata .lead{margin-inline:auto}
.testa-riga{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:28px}
.testa-riga .titolo-m{margin:0}
.sotto-sezione{margin-top:clamp(64px,9vw,120px)}
.gruppo-capitolo{position:relative}
@media(max-width:900px){
  .griglia-cap,.griglia-cap.inverti,.griglia-2{grid-template-columns:1fr}
  .cap-foto{aspect-ratio:4/3}
  .griglia-cap.inverti .cap-foto{order:2}
}

/* --- numeri animati --- */
.numeri{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1px;margin-top:clamp(40px,6vw,72px);background:var(--linea);border:1px solid var(--linea);border-radius:var(--r);overflow:hidden}
.numero{background:var(--bianco);padding:26px 24px}
.carta .numero{background:var(--carta)}
.numero b{display:block;font:600 clamp(2.1rem,4.4vw,3.8rem)/1 var(--f-titoli);letter-spacing:-.045em;color:var(--blu);margin-bottom:10px;font-variant-numeric:tabular-nums}
.numero b small{font-size:.42em;letter-spacing:0;color:var(--verde)}
.numero>span{font-size:.9rem;color:var(--grigio);line-height:1.4;display:block}
.numeri-chiari{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.14)}
.numeri-chiari .numero{background:rgba(5,18,49,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.numeri-chiari .numero b{color:#fff}
.numeri-chiari .numero>span{color:#B4C3D8}
.numeri-2{grid-template-columns:1fr 1fr}
.numeri-pagina{margin:8px 0 40px}
.prezzo-grande{font:600 clamp(2.6rem,6vw,4.8rem)/1 var(--f-titoli);letter-spacing:-.05em;color:var(--verde);margin:6px 0 24px}
.prezzo-grande small{display:block;font:500 .82rem var(--f-testo);letter-spacing:.02em;color:var(--grigio);margin-bottom:8px}
.lista-segni{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:12px}
.lista-segni li{padding-left:26px;position:relative;color:var(--grigio)}
.lista-segni li::before{content:"";position:absolute;left:0;top:.62em;width:12px;height:1.5px;background:var(--verde)}
.lista-segni b{color:var(--ink);font-weight:600}

/* --- cantiere (mini e pagina) --- */
.cantiere-mini,.stato-live{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:var(--r);padding:24px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.cantiere-mini-testa{display:flex;gap:12px;align-items:flex-start}
.cantiere-mini-testa .live-punto{margin-top:8px}
.cantiere-mini-testa p{margin:0;font-family:var(--f-titoli)}
.cantiere-mini-testa small{color:#9FB2CC;font-family:var(--f-testo)}
.barra{height:8px;border-radius:99px;background:rgba(255,255,255,.12);overflow:hidden;margin:18px 0 12px}
.barra i{display:block;height:100%;width:var(--p);background:linear-gradient(90deg,var(--verde),var(--acqua));border-radius:99px;transform-origin:0 50%;transition:transform 1.8s var(--lento)}
.js .barra i{transform:scaleX(0)}
.js .barra.in i{transform:scaleX(1)}
.barra-grande{height:14px}
.cantiere-mini-date{display:flex;justify-content:space-between;gap:12px;font-size:.84rem;color:#9FB2CC;margin-bottom:16px}
.cantiere-mini-date b{display:block;color:#fff;font-family:var(--f-titoli);font-weight:600}
.cantiere-mini-date span:last-child{text-align:right}
.stato-live{background:var(--abisso);color:#fff;padding:clamp(24px,4vw,48px)}
.stato-testa{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.stato-testa h2{margin:0}
.stato-ora{margin:0 0 0 auto;color:#9FB2CC;font-size:.9rem}
.stato-live .numeri{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.12);margin-top:28px}
.stato-live .numero{background:var(--abisso)}
.stato-live .numero b{color:#fff}
.stato-live .numero>span{color:#9FB2CC}
.stato-live .nota{color:#9FB2CC;margin:0}
.linea-tempo{list-style:none;margin:40px 0 56px;padding:0 0 0 38px;position:relative;--riempi:0%}
.linea-tempo::before,.linea-tempo::after{content:"";position:absolute;left:11px;top:8px;width:2px;bottom:8px;background:var(--linea);border-radius:2px}
.linea-tempo::after{background:linear-gradient(var(--verde),var(--acqua));bottom:auto;height:var(--riempi);transition:height 2s var(--lento)}
.lt-voce{position:relative;background:#fff;border-radius:var(--r-s);padding:20px 22px;margin-bottom:16px;box-shadow:0 10px 30px rgba(11,45,107,.06)}
.lt-voce::before{content:"";position:absolute;left:-34px;top:24px;width:16px;height:16px;border-radius:50%;background:#fff;border:2px solid var(--linea);z-index:1}
.lt-voce.passata::before{background:var(--verde);border-color:var(--verde)}
.lt-voce h3{margin:0 0 6px}
.lt-voce h3 a{text-decoration:none}
.lt-voce h3 a:hover{text-decoration:underline}
.lt-voce p:last-child{margin:0;color:var(--grigio)}
.lt-data{font:600 .76rem var(--f-titoli);letter-spacing:.12em;text-transform:uppercase;color:var(--verde);margin:0 0 6px!important}
.lt-tappa{background:var(--notte);color:#fff}
.lt-tappa p:last-child{color:#B4C3D8}
.lt-tappa .lt-data{color:var(--acqua)}
.lt-futura{background:transparent;color:var(--ink);border:1.5px dashed var(--linea);box-shadow:none}
.lt-futura p:last-child{color:var(--grigio)}
.lt-futura .lt-data{color:var(--verde)}
.lt-oggi{background:var(--acqua-tenue);box-shadow:none}
.lt-oggi::before{background:#3BE38A;border-color:#fff;box-shadow:0 0 0 0 rgba(59,227,138,.7);animation:pulsa 2s infinite}

/* --- la giornata a The View --- */
.giornata{background:var(--abisso);color:#fff;position:relative}
.giornata-pin{padding:clamp(80px,10vw,130px) 0 56px}
.giornata-testa{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:34px}
.giornata-testa h2{margin:0;max-width:16ch}
.giornata-comandi{display:flex;gap:10px}
.giornata-binario{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:0 max(16px,(100vw - 1240px)/2);scroll-padding:0 max(16px,(100vw - 1240px)/2);outline-offset:-3px}
.giornata-binario::-webkit-scrollbar{display:none}
.momento{position:relative;flex:0 0 min(80vw,760px);height:min(66vh,560px);border-radius:var(--r);overflow:hidden;scroll-snap-align:start;background:var(--notte)}
.momento picture,.momento img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.6s var(--lento)}
.momento::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,18,49,.92) 0%,rgba(5,18,49,.35) 45%,rgba(5,18,49,0) 70%)}
.momento:hover img{transform:scale(1.04)}
.momento-testo{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:clamp(22px,3vw,40px);max-width:560px}
.momento-ora{font:300 clamp(2.8rem,6vw,5.2rem)/1 var(--f-titoli);letter-spacing:-.05em;margin:0 0 10px;color:var(--acqua)}
.momento h3{font-size:clamp(1.3rem,2.2vw,1.8rem);margin-bottom:8px}
.momento-testo p:last-child{color:#D3DDEB;margin:0}
.giornata-piede{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:24px}
.giornata-piede .nota-render{margin:0}
.giornata-punti{display:flex;gap:8px}
.giornata-punti i{width:28px;height:3px;border-radius:3px;background:rgba(255,255,255,.2);transition:background .3s}
.giornata-punti i.on{background:var(--acqua)}
/* versione "fissata" su desktop: lo scorrimento verticale fa avanzare la sequenza */
.giornata.fissata .giornata-pin{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;justify-content:center;padding:var(--testata) 0 24px;overflow:hidden}
.giornata.fissata .giornata-binario{overflow:visible;scroll-snap-type:none;will-change:transform}
.giornata.fissata .momento{height:min(60vh,560px)}
@media(max-width:700px){.giornata-comandi{display:none}.momento{flex-basis:86vw;height:min(70vh,520px)}}

/* --- formule (appartamento / apart-hotel) e testi legali --- */
.formule{display:grid;grid-template-columns:1fr 64px 1fr;align-items:stretch}
.formule-singola{grid-template-columns:1fr 1fr;gap:24px}
.formule-vs{display:grid;place-items:center;font:300 1.6rem var(--f-titoli);color:var(--grigio)}
.formula{position:relative;background:#fff;border:1px solid var(--linea);border-radius:28px;padding:clamp(24px,3.4vw,40px);display:flex;flex-direction:column}
.formula h3{font-size:clamp(1.4rem,2.2vw,1.9rem);margin-bottom:10px}
.formula-tipo{font:600 .76rem var(--f-titoli);letter-spacing:.2em;text-transform:uppercase;color:var(--verde);margin-bottom:10px}
.formula-intro{color:var(--grigio)}
.formula .btn{margin-top:auto;align-self:flex-start}
.formula ul+h4,.formula div+div{margin-top:8px}
.formula div:last-of-type{margin-bottom:28px}
.formula-casa .spunte.attenzione{margin-bottom:28px}
.formula-hotel{background:linear-gradient(160deg,var(--notte-2),var(--abisso));color:#fff;border:0;box-shadow:0 40px 80px rgba(5,18,49,.3)}
.formula-hotel .formula-tipo{color:var(--acqua)}
.formula-hotel .formula-intro,.formula-hotel h4{color:#B4C3D8}
.formula-badge{position:absolute;top:22px;right:22px;background:var(--verde);color:#fff;font:600 .72rem var(--f-titoli);letter-spacing:.08em;padding:6px 12px;border-radius:99px}
.spunte{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.spunte li{display:flex;gap:12px;align-items:flex-start;padding:11px 14px;border-radius:12px;background:var(--carta);font-weight:500;line-height:1.4}
.spunte li::before{content:"";flex:none;width:20px;height:20px;margin-top:1px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='11' fill='%231F7A78'/%3E%3Cpath d='M7 12.5l3.2 3.2L17 9' fill='none' stroke='white' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
.spunte.attenzione li{background:transparent;border:1px dashed var(--linea);color:var(--grigio);font-weight:400}
.spunte.attenzione li::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='10.2' fill='none' stroke='%237A8BA6' stroke-width='1.8'/%3E%3Cpath d='M12 7.5v6' stroke='%237A8BA6' stroke-width='2.2' stroke-linecap='round'/%3E%3Ccircle cx='12' cy='16.8' r='1.3' fill='%237A8BA6'/%3E%3C/svg%3E")}
.formula-hotel .spunte li{background:rgba(255,255,255,.08)}
.formula-hotel .spunte.attenzione li{background:transparent;border-color:rgba(255,255,255,.2);color:#D3DDEB}
.blocco-rendita{margin:32px auto 0;max-width:900px;background:#fff;border:1px solid var(--linea);border-left:4px solid var(--verde);border-radius:var(--r-s);padding:26px 28px}
.blocco-rendita h3{font-size:1.5rem;margin-bottom:4px}
.blocco-rendita-sotto{font:600 .8rem var(--f-titoli);letter-spacing:.12em;text-transform:uppercase;color:var(--verde)}
.blocco-rendita p:last-child{margin:0;color:var(--grigio)}
.formule-singola .blocco-rendita{margin:0;align-self:start}
/* in anteprima: testi legali evidenziati (in produzione questi stili non si applicano) */
.anteprima .formula-hotel,.anteprima .blocco-rendita.testo-legale{position:relative;padding-bottom:calc(var(--pad-legale,0px) + 46px)}
.anteprima .formula-hotel::after,.anteprima .blocco-rendita.testo-legale::after{content:"ⓘ  Anteprima · testi rendita in verifica legale";position:absolute;left:50%;bottom:14px;transform:translateX(-50%);max-width:calc(100% - 28px);background:rgba(214,51,108,.12);color:#F59AB8;border:1px solid rgba(214,51,108,.45);font:600 11px/1.3 var(--f-testo);letter-spacing:.01em;padding:5px 10px;border-radius:99px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.anteprima .blocco-rendita.testo-legale::after{color:#B4235A;background:rgba(214,51,108,.08)}
.selettore{display:none}
@media(max-width:900px){
  .formule,.formule-singola{grid-template-columns:1fr;gap:16px}
  .formule-vs{display:none}
  .formula .btn{align-self:stretch}
  .selettore{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;background:var(--carta);padding:5px;border-radius:16px;margin-bottom:16px;position:sticky;top:calc(var(--testata) + 8px);z-index:5}
  .selettore button{border:0;background:none;padding:12px 4px;border-radius:12px;font:600 .9rem var(--f-titoli);color:var(--grigio);cursor:pointer}
  .selettore button[aria-selected=true]{background:#fff;color:var(--blu);box-shadow:0 4px 12px rgba(11,45,107,.12)}
  .formula[hidden]{display:none}
}

/* --- vantaggi --- */
.vantaggi{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:48px}
.vantaggio{display:flex;gap:18px;background:#fff;border-radius:var(--r);padding:24px;border:1px solid var(--linea)}
.icona{flex:none;width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:var(--acqua-tenue);color:var(--verde)}
.icona svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.vantaggio h3{margin-bottom:2px}
.vantaggio-sotto{font-size:.88rem;color:var(--verde);font-weight:600;margin-bottom:8px}
.vantaggio p:last-child{color:var(--grigio);margin:0;font-size:.96rem}
@media(max-width:760px){.vantaggi{grid-template-columns:1fr}}

/* --- card (immobili, guide) --- */
.griglia-card{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}
.card-casa,.card-guida{display:flex;flex-direction:column;background:#fff;border-radius:var(--r);overflow:hidden;text-decoration:none;border:1px solid var(--linea);transition:transform .4s var(--lento),box-shadow .4s}
.card-casa:hover,.card-guida:hover{transform:translateY(-6px);box-shadow:0 30px 60px rgba(11,45,107,.14)}
.card-casa-img,.card-guida-img{position:relative;aspect-ratio:3/2;overflow:hidden}
.card-casa-img img,.card-guida-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--lento)}
.card-casa:hover img,.card-guida:hover img{transform:scale(1.05)}
.prezzo{position:absolute;left:14px;bottom:14px;background:rgba(5,18,49,.85);color:#fff;font:600 1.05rem var(--f-titoli);padding:7px 14px;border-radius:99px;backdrop-filter:blur(6px)}
.card-casa-corpo,.card-guida-corpo{padding:20px 22px 24px}
.card-casa h3,.card-guida h3{font-size:1.15rem;margin-bottom:8px}
.card-casa-corpo p:last-child,.card-guida-corpo p:last-child{color:var(--grigio);font-size:.94rem;margin:0}
.card-meta{font:600 .74rem var(--f-titoli);letter-spacing:.1em;text-transform:uppercase;color:var(--grigio);margin-bottom:10px}
.card-meta span{color:var(--verde)}
@media(max-width:760px){
  .scorre-mobile{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -16px;padding:0 16px 8px;scrollbar-width:none}
  .scorre-mobile::-webkit-scrollbar{display:none}
  .scorre-mobile>*{flex:0 0 82%;scroll-snap-align:start}
}

/* --- persone, stampa, video --- */
.persona{display:grid;grid-template-columns:150px 1fr;gap:clamp(20px,4vw,48px);align-items:center;margin-top:clamp(64px,8vw,110px);padding:clamp(22px,4vw,40px);border-radius:var(--r);background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1)}
.persona-foto,.persona picture{width:150px;height:150px;border-radius:50%;overflow:hidden;background:#fff}
.persona-foto{object-fit:cover}
.persona-nome{font:600 .78rem var(--f-titoli);letter-spacing:.16em;text-transform:uppercase;color:var(--acqua)}
.persona-testo{font:300 clamp(1.15rem,2vw,1.5rem)/1.5 var(--f-titoli);letter-spacing:-.01em}
@media(max-width:600px){.persona{grid-template-columns:1fr}.persona-foto,.persona picture{width:110px;height:110px}}
.stampa{margin-top:clamp(56px,7vw,90px);display:flex;align-items:center;gap:28px;border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12);padding:22px 0}
.stampa-tit{flex:none;margin:0;font:600 .72rem var(--f-titoli);letter-spacing:.2em;text-transform:uppercase;color:var(--acqua)}
.stampa-nastro{overflow:hidden;flex:1;-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.stampa-nastro div{display:flex;gap:48px;width:max-content;animation:nastro 36s linear infinite}
.stampa-nastro span{font:300 1.3rem var(--f-titoli);color:#D3DDEB;white-space:nowrap}
@keyframes nastro{to{transform:translateX(-50%)}}
@media(max-width:700px){.stampa{flex-direction:column;align-items:flex-start;gap:12px}.stampa-nastro{width:100%}}
.sala{margin-top:clamp(64px,8vw,110px)}
.video-griglia{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.video-card{position:relative;display:block;width:100%;aspect-ratio:16/9;border:0;padding:0;border-radius:var(--r-s);overflow:hidden;background:#000;cursor:pointer;color:#fff;text-align:left}
.video-card img{width:100%;height:100%;object-fit:cover;opacity:.75;transition:opacity .3s,transform 1s var(--lento)}
.video-card:hover img{opacity:.95;transform:scale(1.04)}
.video-card-grande{grid-column:span 2;grid-row:span 2}
.video-play{position:absolute;left:50%;top:45%;width:64px;height:64px;margin:-32px 0 0 -32px;border-radius:50%;background:var(--verde);box-shadow:0 10px 30px rgba(0,0,0,.4);transition:transform .3s var(--lento)}
.video-play::before{content:"";position:absolute;left:26px;top:20px;border-left:18px solid #fff;border-top:12px solid transparent;border-bottom:12px solid transparent}
.video-card:hover .video-play{transform:scale(1.1)}
.video-tit{position:absolute;left:0;right:0;bottom:0;padding:30px 16px 14px;font:600 .92rem/1.3 var(--f-titoli);background:linear-gradient(0deg,rgba(0,0,0,.8),transparent)}
@media(max-width:860px){.video-griglia{grid-template-columns:1fr 1fr}.video-card-grande{grid-column:span 2;grid-row:auto}}
.cinema{position:fixed;inset:0;z-index:120;background:rgba(2,8,22,.96);display:grid;place-items:center;align-content:center;gap:16px;padding:16px}
.cinema[hidden]{display:none}
.cinema-schermo{width:min(1200px,94vw,calc((100vh - 140px) * 16 / 9));aspect-ratio:16/9;background:#000;border-radius:12px;overflow:hidden;box-shadow:0 40px 120px rgba(0,0,0,.6);animation:cinema .6s var(--lento)}
.cinema-schermo iframe{width:100%;height:100%;border:0;display:block}
.cinema-titolo{color:#C7D3E4;font:500 .95rem var(--f-titoli);margin:0;text-align:center}
.cinema-chiudi{position:absolute;top:16px;right:16px;width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.08);color:#fff;font-size:1.6rem;cursor:pointer}
@keyframes cinema{from{opacity:0;transform:scale(.94)}}

/* --- prenota videochiamata e moduli --- */
.prenota{display:grid;grid-template-columns:1.1fr .9fr;gap:20px;background:#fff;border:1px solid var(--linea);border-radius:28px;padding:clamp(18px,3vw,36px);box-shadow:0 30px 70px rgba(11,45,107,.08)}
.prenota-passo{display:flex;align-items:center;gap:12px;margin:0 0 14px}
.prenota-passo span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--notte);color:#fff;font:600 .8rem var(--f-titoli)}
.prenota-passo h3{margin:0;font-size:1.05rem}
.prenota-passo small{color:var(--grigio);font-weight:400}
.prenota-cal .prenota-passo:not(:first-child){margin-top:26px}
.prenota-mese{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.prenota-mese p{margin:0;font:600 .95rem var(--f-titoli);text-transform:capitalize}
.prenota-giorni{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.prenota-giorni button,.prenota-orari button{border:1px solid var(--linea);background:#fff;border-radius:12px;cursor:pointer;font-family:var(--f-titoli);color:var(--ink);transition:background .2s,border-color .2s,color .2s}
.prenota-giorni button{display:grid;padding:8px 2px;line-height:1.15;text-align:center}
.prenota-giorni button small{font:500 .66rem var(--f-testo);text-transform:uppercase;letter-spacing:.06em;color:var(--grigio)}
.prenota-giorni button b{font-weight:600;font-size:1.05rem}
.prenota-giorni button:hover:not(:disabled),.prenota-orari button:hover:not(:disabled){border-color:var(--verde)}
.prenota-giorni button[aria-pressed=true],.prenota-orari button[aria-pressed=true]{background:var(--verde);border-color:var(--verde);color:#fff}
.prenota-giorni button[aria-pressed=true] small{color:#DDF3F1}
.prenota-giorni button:disabled,.prenota-orari button:disabled{opacity:.35;cursor:not-allowed}
.prenota-orari{display:flex;flex-wrap:wrap;gap:8px}
.prenota-orari button{padding:10px 16px;font-weight:600}
.prenota-scelta{margin:18px 0 0;padding:14px 16px;border-radius:12px;background:var(--carta);font-weight:500}
.prenota-scelta.ok{background:var(--acqua-tenue);color:var(--verde-scuro)}
.prenota-modulo{background:var(--carta);border-radius:20px;padding:clamp(18px,2.6vw,28px)}
@media(max-width:900px){.prenota{grid-template-columns:1fr;border-radius:22px}}
.modulo .campo{display:grid;gap:6px;margin-bottom:14px}
.modulo label{font:600 .86rem var(--f-titoli)}
.modulo small{font-weight:400;color:var(--grigio)}
.modulo input:not([type=checkbox]),.modulo select,.modulo textarea{width:100%;min-height:50px;padding:12px 14px;border:1px solid #C9D5E5;border-radius:12px;background:#fff;font:400 1rem var(--f-testo);color:var(--ink)}
.modulo input:focus,.modulo select:focus,.modulo textarea:focus{outline:none;border-color:var(--verde);box-shadow:0 0 0 3px rgba(31,122,120,.2)}
.modulo [aria-invalid=true]{border-color:#C0392B!important}
.campi-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:640px){.campi-2{grid-template-columns:1fr}}
.consenso{display:flex!important;gap:10px;align-items:flex-start;font:400 .9rem/1.5 var(--f-testo)!important;color:var(--grigio)}
.consenso input{width:20px;height:20px;margin-top:2px;flex:none;accent-color:var(--verde)}
.modulo .bottoni{margin-top:18px}
.modulo-esito{margin:14px 0 0;font-weight:500}
.modulo-esito.ok{color:var(--verde-scuro);background:var(--acqua-tenue);padding:12px 14px;border-radius:12px}
.modulo-esito.errore{color:#B03A2E}
.contatti-diretti{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px}
.contatti-diretti a{display:grid;gap:4px;padding:20px 22px;border-radius:var(--r-s);background:var(--carta);text-decoration:none;font:600 1.05rem var(--f-titoli)}
.contatti-diretti a:hover{background:var(--acqua-tenue)}
.contatti-diretti small{font:600 .7rem var(--f-titoli);letter-spacing:.16em;text-transform:uppercase;color:var(--verde)}
.contatti-grandi a{font-size:clamp(1.1rem,2vw,1.5rem);padding:28px}
@media(max-width:760px){.contatti-diretti{grid-template-columns:1fr}}

/* --- faq, filtri, liste --- */
.faq details{border-bottom:1px solid var(--linea);padding:0}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:16px;align-items:center;padding:20px 0}
.faq summary::-webkit-details-marker{display:none}
.faq summary h3,.faq summary .faq-d{margin:0;font-size:1.06rem;font-weight:600;letter-spacing:-.01em;line-height:1.35}
.faq summary::after{content:"+";flex:none;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--linea);font-size:1.2rem;color:var(--verde);transition:transform .3s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{color:var(--grigio);margin:0 0 20px;max-width:64ch}
.faq details[hidden]{display:none}
.faq+.link-freccia{margin-top:22px}
.filtri{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 28px}
.filtri button{border:1px solid var(--linea);background:#fff;border-radius:99px;padding:9px 16px;font:600 .88rem var(--f-titoli);color:var(--grigio);cursor:pointer}
.filtri button[aria-pressed=true]{background:var(--notte);border-color:var(--notte);color:#fff}
.lista-guide{display:grid;margin-bottom:22px}
.lista-guide a{display:grid;gap:4px;padding:18px 0;border-bottom:1px solid var(--linea);text-decoration:none}
.lista-guide a:hover span{color:var(--verde)}
.lista-guide small{font:600 .72rem var(--f-titoli);letter-spacing:.12em;text-transform:uppercase;color:var(--verde)}
.lista-guide span{font:600 1.08rem/1.35 var(--f-titoli);transition:color .2s}
.tre-passi{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:40px}
.tre-passi>div{background:#fff;border-radius:var(--r);padding:28px;border:1px solid var(--linea)}
.tre-passi b{font:300 2.4rem var(--f-titoli);color:var(--verde);display:block;margin-bottom:12px}
.tre-passi p{color:var(--grigio);margin:0}
.tre-passi.cinque{grid-template-columns:repeat(5,1fr)}
.tre-passi.cinque h3{margin:0;font-size:1.02rem}
@media(max-width:900px){.tre-passi,.tre-passi.cinque{grid-template-columns:1fr}}
.punti-forza{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--linea);border:1px solid var(--linea);border-radius:var(--r);overflow:hidden;margin-bottom:64px}
.punti-forza div{background:#fff;padding:22px}
.punti-forza b{display:block;font:600 1.08rem var(--f-titoli)}
.punti-forza span{color:var(--grigio);font-size:.9rem}
@media(max-width:860px){.punti-forza{grid-template-columns:1fr 1fr}}
.box-scuro{background:linear-gradient(150deg,var(--notte-2),var(--abisso));color:#fff;border-radius:var(--r);padding:clamp(24px,4vw,44px);margin-top:48px}
.box-scuro h2,.box-scuro h3{color:#fff}
.box-scuro p{color:#C7D3E4}
.box-scuro .btn-linea{color:#fff;border-color:#fff}
.box-boavista{display:grid;grid-template-columns:1.3fr 1fr;gap:24px;align-items:center}
.box-boavista .bottoni{margin:0;justify-content:flex-end}
@media(max-width:860px){.box-boavista{grid-template-columns:1fr}.box-boavista .bottoni{justify-content:flex-start}}

/* --- articoli e magazine --- */
.articolo-griglia{display:grid;grid-template-columns:250px minmax(0,1fr);gap:clamp(32px,5vw,80px);align-items:start}
.indice{position:sticky;top:calc(var(--testata) + 28px);border-left:2px solid var(--linea);padding-left:18px}
.indice-tit{font:600 .74rem var(--f-titoli);letter-spacing:.16em;text-transform:uppercase;color:var(--grigio)}
.indice ol{list-style:none;padding:0;margin:0 0 22px;display:grid;gap:10px;font-size:.92rem}
.indice a{text-decoration:none;color:var(--grigio)}
.indice a:hover,.indice a.on{color:var(--verde)}
@media(max-width:960px){.articolo-griglia{grid-template-columns:1fr}.indice{position:static;border-left:0;padding:18px;background:var(--carta);border-radius:var(--r-s)}}
.articolo{max-width:740px}
.articolo>p,.articolo li{font-size:1.08rem;line-height:1.78}
.articolo h2{font-size:clamp(1.5rem,2.6vw,2.1rem);margin:2.2em 0 .6em}
.articolo h3{font-size:1.25rem;margin:1.8em 0 .5em}
.articolo ul,.articolo ol{padding-left:1.3em;margin:0 0 1.4em}
.articolo li{margin-bottom:.4em}
.articolo li::marker{color:var(--verde)}
.articolo a{color:var(--verde);font-weight:500}
.articolo blockquote{margin:2em 0;padding:8px 0 8px 22px;border-left:3px solid var(--verde);font:300 1.3rem/1.5 var(--f-titoli);color:var(--blu)}
.articolo blockquote p{margin:0}
.articolo .btn{color:#fff}
.articolo .btn-linea{color:var(--ink)}
.articolo .box-scuro a:not(.btn){color:var(--acqua)}
.articolo-meta{font-size:.86rem;color:var(--grigio);border-bottom:1px solid var(--linea);padding-bottom:16px;margin-bottom:28px}
.articolo-meta span{color:var(--verde);font-weight:600}
.figura{margin:2em 0}
.figura picture,.figura img{border-radius:var(--r-s);max-width:280px}
.figura figcaption{font-size:.86rem;color:var(--grigio);margin-top:8px}
.avviso-bozza{display:grid;gap:4px;background:#FFF1F4;border:2px dashed #D6336C;border-radius:var(--r-s);padding:16px 18px;margin-bottom:28px;color:#6B1730}
.avviso-bozza b{font-family:var(--f-titoli);font-size:1.02rem}
.box-fine-articolo{margin-top:56px}
.mag-copertina{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(24px,4vw,56px);align-items:center;text-decoration:none;margin-bottom:56px}
.mag-copertina-img{border-radius:var(--r);overflow:hidden;aspect-ratio:16/10}
.mag-copertina-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--lento)}
.mag-copertina:hover img{transform:scale(1.04)}
.mag-copertina p{color:var(--grigio)}
.mag-copertina .card-meta span{color:var(--verde)}
@media(max-width:860px){.mag-copertina{grid-template-columns:1fr}}
.card-guida[hidden]{display:none}
.mag-cantiere{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;margin-top:56px;padding:26px 28px;border-radius:var(--r);background:var(--carta)}
.mag-cantiere a:not(.btn){display:grid;text-decoration:none;font:600 1.05rem var(--f-titoli)}
.mag-cantiere small{font:500 .8rem var(--f-testo);color:var(--grigio)}
.correlati{background:var(--carta);padding:clamp(64px,8vw,110px) 0}

/* --- galleria the view --- */
.galleria{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:minmax(180px,19vw);gap:12px;max-height:none}
.galleria-el{margin:0;position:relative;border-radius:var(--r-s);overflow:hidden}
.galleria-el img,.galleria-el picture{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--lento)}
.galleria-el:hover img{transform:scale(1.05)}
.galleria-grande{grid-column:span 2;grid-row:span 2}
.galleria-el figcaption{position:absolute;left:12px;bottom:12px;background:rgba(5,18,49,.78);color:#fff;font:500 .8rem var(--f-titoli);padding:6px 10px;border-radius:99px}
@media(max-width:860px){.galleria{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -16px;padding:0 16px;scrollbar-width:none}.galleria::-webkit-scrollbar{display:none}.galleria-el{flex:0 0 84%;height:62vw;max-height:380px;scroll-snap-align:start}}

/* --- scheda immobile --- */
.scheda-immobile{padding-top:calc(var(--testata) + 40px);background:linear-gradient(180deg,var(--abisso) 0,var(--abisso) 300px,#fff 300px)}
.scheda-immobile .briciole ol{color:#B4C3D8}
.scheda-immobile .briciole a{color:#fff}
.scheda-griglia{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(24px,4vw,64px);align-items:start}
.scheda-foto{margin:0;border-radius:var(--r);overflow:hidden;box-shadow:0 40px 80px rgba(5,18,49,.25)}
.scheda-foto img{width:100%;aspect-ratio:3/2;object-fit:cover}
.scheda-info{padding-top:clamp(0px,12vw,140px)}
.scheda-info .spunte{margin-bottom:18px}
@media(max-width:860px){.scheda-griglia{grid-template-columns:1fr}.scheda-info{padding-top:0}}

/* --- banda CTA --- */
.banda-cta{padding:clamp(110px,16vw,200px) 0}
.banda-cta-corpo{position:relative}
.banda-cta h2{max-width:18ch}

/* --- 404 --- */
.scena-404 .scena-corpo{padding-bottom:110px}

/* --- piè di pagina --- */
.piede{background:var(--abisso);color:#C7D3E4;padding:clamp(64px,8vw,110px) 0 calc(40px + var(--safe-b));font-size:.94rem}
.piede-alto{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;padding-bottom:48px;border-bottom:1px solid rgba(255,255,255,.1)}
.piede-frase{font:600 clamp(1.8rem,4vw,3.4rem)/1.05 var(--f-titoli);letter-spacing:-.04em;color:#fff;margin:0;max-width:16ch}
.piede-alto .bottoni{margin:0}
.piede-griglia{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px;padding:48px 0}
.piede-logo{display:inline-block;background:#fff;border-radius:14px;padding:8px 12px;margin-bottom:16px}
.piede-logo img{width:150px;height:auto}
.piede-tit{font:600 .74rem var(--f-titoli);letter-spacing:.16em;text-transform:uppercase;color:var(--acqua);margin-bottom:14px}
.piede ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.piede a{color:#E4EBF5;text-decoration:none}
.piede a:hover{text-decoration:underline}
.piede-basso{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.1);padding-top:22px;font-size:.84rem;color:#94A6BF}
.piede-nota{font-size:.78rem;color:#7F93AF;margin-top:12px}
@media(max-width:900px){.piede-griglia{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.piede-griglia{grid-template-columns:1fr}}

/* --- CTA cinematica --- */
.cta-cine{position:fixed;z-index:55;left:50%;bottom:22px;display:flex;align-items:center;gap:12px;padding:10px 10px 10px 22px;border-radius:99px;background:rgba(5,18,49,.88);backdrop-filter:blur(16px) saturate(1.3);-webkit-backdrop-filter:blur(16px) saturate(1.3);border:1px solid rgba(255,255,255,.12);box-shadow:0 24px 60px rgba(0,0,0,.35);color:#fff;transform:translate(-50%,160%);transition:transform .8s var(--lento);max-width:calc(100% - 32px)}
.cta-cine.visibile{transform:translate(-50%,0)}
.cta-cine-testo{display:grid;line-height:1.25;margin-right:8px}
.cta-cine-testo b{font:600 .95rem var(--f-titoli)}
.cta-cine-testo span{font-size:.8rem;color:#B4C3D8;white-space:nowrap}
@media(min-width:1021px){.cta-cine .btn{white-space:nowrap}}
.cta-cine-chiudi{width:36px;height:36px;border-radius:50%;border:0;background:rgba(255,255,255,.08);color:#C7D3E4;font-size:1.2rem;cursor:pointer}
.no-js .cta-cine{display:none}

/* --- barra app (telefono) e foglio menu --- */
.barra-app{position:fixed;left:10px;right:10px;bottom:calc(10px + var(--safe-b));z-index:58;display:none;grid-template-columns:repeat(5,1fr);background:rgba(5,18,49,.94);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.08);border-radius:22px;padding:6px;box-shadow:0 14px 36px rgba(0,0,0,.35)}
.barra-app a,.barra-app button{display:grid;justify-items:center;gap:3px;padding:8px 2px;border-radius:16px;color:#B4C3D8;font:600 .7rem var(--f-titoli);text-decoration:none;background:none;border:0;cursor:pointer}
.barra-app svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.barra-app .on{background:rgba(255,255,255,.1);color:#fff}
.barra-app .app-wa{color:#5BE39A}
.foglio{position:fixed;inset:0;z-index:90;display:flex;align-items:flex-end}
.foglio[hidden]{display:none}
.foglio-fondo{position:absolute;inset:0;background:rgba(5,18,49,.6);animation:dissolvi .3s}
.foglio-pannello{position:relative;width:100%;max-height:88vh;overflow:auto;background:#fff;border-radius:26px 26px 0 0;padding:12px 20px calc(24px + var(--safe-b));animation:sali .4s var(--lento)}
.foglio-maniglia{width:44px;height:5px;border-radius:5px;background:var(--linea);margin:0 auto 16px}
.foglio-cta{display:grid;gap:8px;margin-bottom:8px}
.foglio-tit{font:600 .72rem var(--f-titoli);letter-spacing:.16em;text-transform:uppercase;color:var(--verde);margin:20px 0 4px}
.foglio-pannello>a{display:flex;justify-content:space-between;padding:13px 2px;border-bottom:1px solid var(--carta);text-decoration:none;font:500 1rem var(--f-titoli)}
.foglio-pannello>a::after{content:"›";color:var(--verde)}
.foglio-chiudi{width:100%;margin-top:18px;min-height:48px;border-radius:14px;border:1px solid var(--linea);background:var(--carta);font:600 1rem var(--f-titoli);cursor:pointer}
@keyframes sali{from{transform:translateY(100%)}}
@keyframes dissolvi{from{opacity:0}}
@media(max-width:1020px){
  body{padding-bottom:calc(86px + var(--safe-b))}
  .barra-app{display:grid}
  html body .iubenda-tp-btn.iubenda-cs-preferences-link[data-tp-float]{display:none!important} /* su mobile copre la barra: le preferenze sono nel piè di pagina */
  .cta-cine{left:10px;right:10px;bottom:calc(84px + var(--safe-b));transform:translateY(30px);opacity:0;pointer-events:none;border-radius:18px;padding:8px;gap:8px;max-width:none;transition:transform .6s var(--lento),opacity .4s}
  .cta-cine.visibile{transform:none;opacity:1;pointer-events:auto}
  .cta-cine-testo,.cta-cine-wa,.solo-desk{display:none}
  .cta-cine .btn{flex:1;min-height:42px}
  .piede{padding-bottom:calc(110px + var(--safe-b))}
}

/* --- «In breve»: risposta diretta sotto il titolo delle guide (featured snippet / citazioni AI) --- */
.in-breve{margin-top:30px;max-width:760px;background:rgba(255,255,255,.96);color:var(--ink);border-radius:var(--r);padding:clamp(20px,2.6vw,30px);border-left:5px solid var(--verde);box-shadow:0 30px 70px rgba(5,18,49,.35)}
.in-breve-tit{display:flex;align-items:center;gap:8px;font:600 .76rem/1 var(--f-titoli);letter-spacing:.2em;text-transform:uppercase;color:var(--verde);margin:0 0 12px}
.in-breve-tit svg{width:18px;height:18px;fill:var(--acqua-tenue);stroke:var(--verde);stroke-width:1.8;stroke-linejoin:round}
.in-breve-testo{font:400 clamp(1.04rem,1.4vw,1.16rem)/1.65 var(--f-testo);margin:0}
.in-breve-testo a{color:var(--verde);font-weight:500}
.in-breve-link{display:inline-block;margin-top:14px;font:600 .88rem var(--f-titoli);color:var(--verde);text-decoration:none;border-bottom:1.5px solid currentColor}
.in-breve-link::after{content:" ↓"}
.apertura-guida:has(.in-breve) .apertura-corpo{padding-bottom:clamp(40px,6vh,72px)}

/* --- FAQ dentro le guide, tabelle, link a pagine non ancora pubblicate --- */
.articolo .faq{margin:0 0 1.5em}
.articolo .faq summary h3{margin:0;font-size:1.08rem}
.faq-risposta{padding:0 0 18px}
.faq-risposta p,.faq-risposta li{color:var(--grigio);font-size:1rem;line-height:1.7}
.faq-risposta>*:last-child{margin-bottom:0}
.faq-fonte{font-size:.86rem!important;margin-top:10px!important}
.faq-fonte a{color:var(--verde);font-weight:600}
.link-futuro{font-weight:500}
.tabella{overflow-x:auto;margin:1.6em 0;border:1px solid var(--linea);border-radius:var(--r-s);-webkit-overflow-scrolling:touch}
.tabella table{width:100%;border-collapse:collapse;font-size:.96rem;min-width:520px}
.tabella th,.tabella td{padding:12px 14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--linea)}
.tabella th{background:var(--carta);font:600 .86rem var(--f-titoli);color:var(--blu)}
.tabella tr:last-child td{border-bottom:0}
mark{background:var(--acqua-tenue);color:inherit;border-radius:3px;padding:0 2px}

/* --- «Chiedi al sito» --- */
.chiedi{position:relative;min-width:0;max-width:100%}
.chiedi-home-griglia>*,.foglio-pannello>*{min-width:0}
.chiedi-campo{display:flex;align-items:center;gap:10px;background:#fff;border-radius:999px;padding:6px 6px 6px 20px;border:1.5px solid var(--linea);box-shadow:0 18px 50px rgba(5,18,49,.12);transition:border-color .2s,box-shadow .2s}
.chiedi-campo:focus-within{border-color:var(--verde);box-shadow:0 0 0 4px rgba(31,122,120,.18),0 18px 50px rgba(5,18,49,.12)}
.chiedi-lente{flex:none;width:22px;height:22px;fill:none;stroke:var(--grigio);stroke-width:2;stroke-linecap:round}
.chiedi-campo input{flex:1;min-width:0;border:0;background:none;font:400 1.06rem var(--f-testo);color:var(--ink);padding:12px 0;outline:none;-webkit-appearance:none;appearance:none}
.chiedi-campo input::placeholder{color:#7A879A}
.chiedi-campo input::-webkit-search-cancel-button{cursor:pointer}
.chiedi-campo .btn{flex:none;min-height:48px;padding:10px 24px}
.chiedi-chip{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.chiedi-chip a{display:inline-block;padding:9px 15px;border-radius:99px;border:1px solid var(--linea);background:#fff;font:500 .88rem/1.3 var(--f-titoli);color:var(--ink);text-decoration:none;transition:background .2s,border-color .2s,color .2s}
.chiedi-chip a:hover{border-color:var(--verde);color:var(--verde)}
.chiedi-scuro .chiedi-campo{border-color:transparent;box-shadow:0 30px 80px rgba(0,0,0,.35)}
.chiedi-scuro .chiedi-chip a{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.22);color:#E4EBF5}
.chiedi-scuro .chiedi-chip a:hover{background:rgba(255,255,255,.14);border-color:var(--acqua);color:#fff}
.chiedi-risultati:empty{display:none}
.chiedi-risultati{margin-top:18px;display:grid;gap:12px}
.chiedi-risposta,.chiedi-lista,.chiedi-vuoto{background:#fff;color:var(--ink);border-radius:var(--r);box-shadow:0 20px 50px rgba(5,18,49,.12);border:1px solid var(--linea)}
.chiedi-risposta{padding:22px 24px;border-left:5px solid var(--verde)}
.chiedi-etichetta{font:600 .72rem/1.3 var(--f-titoli);letter-spacing:.14em;text-transform:uppercase;color:var(--verde);margin:0 0 8px}
.chiedi-domanda{font:600 1.18rem/1.3 var(--f-titoli);letter-spacing:-.01em;margin:0 0 8px}
.chiedi-risposta .link-freccia{color:var(--verde)}
.chiedi-testo{color:var(--grigio);margin:0 0 14px;line-height:1.65}
.chiedi-altri{font:600 .72rem var(--f-titoli);letter-spacing:.16em;text-transform:uppercase;color:var(--grigio-chiaro);margin:6px 0 0}
.chiedi-scuro .chiedi-altri{color:#9FB2CC}
.chiedi-chiaro .chiedi-altri,.chiedi-pannello .chiedi-altri{color:var(--grigio)}
.chiedi-lista{list-style:none;margin:0;padding:6px;overflow:hidden}
.chiedi-lista a{display:grid;gap:2px;padding:12px 14px;border-radius:14px;text-decoration:none}
.chiedi-lista a:hover,.chiedi-lista a.sel{background:var(--carta)}
.chiedi-lista small{font:600 .68rem var(--f-titoli);letter-spacing:.12em;text-transform:uppercase;color:var(--verde)}
.chiedi-lista b{font:600 1rem/1.35 var(--f-titoli)}
.chiedi-lista span{font-size:.86rem;color:var(--grigio)}
.chiedi-vuoto{padding:22px 24px}
.chiedi-vuoto p{margin:0;color:var(--grigio)}
.chiedi-vuoto b{color:var(--ink)}
.chiedi-vuoto .bottoni{margin-top:16px}
.chiedi-nota{font-size:.88rem;margin:0;color:var(--grigio)}
.chiedi-scuro .chiedi-nota{color:#B4C3D8}
.chiedi-nota a{color:inherit;font-weight:600}
@media(max-width:560px){
  .chiedi-campo{padding-left:14px}
  .chiedi-campo .btn{padding:10px 16px;min-height:44px}
  .chiedi-campo input{font-size:1rem}
  .chiedi-chip{flex-wrap:nowrap;overflow-x:auto;margin-inline:-16px;padding:0 16px 4px;scrollbar-width:none}
  .chiedi-chip::-webkit-scrollbar{display:none}
  .chiedi-chip a{flex:none}
  .chiedi-vuoto .bottoni .btn{width:100%}
}
/* sezione in home, subito dopo l'apertura */
.chiedi-home{padding:clamp(72px,9vw,130px) 0}
.chiedi-home-griglia{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(28px,5vw,80px);align-items:center}
.chiedi-home .titolo-xl{font-size:clamp(2rem,4.4vw,3.8rem)}
.chiedi-home .lead{margin:0}
@media(max-width:900px){.chiedi-home-griglia{grid-template-columns:1fr}}
/* hub e pagina /cerca/ */
.chiedi-hub{padding:clamp(48px,6vw,80px) 0}
.cerca-pagina{padding-top:clamp(48px,6vw,80px)}
.cerca-aiuto{display:grid;grid-template-columns:1.4fr 1fr;gap:24px;align-items:center;margin-top:clamp(48px,6vw,72px);padding-top:32px;border-top:1px solid var(--linea)}
.cerca-aiuto p{color:var(--grigio);margin:0}
.cerca-aiuto .bottoni{margin:0}
@media(max-width:760px){.cerca-aiuto{grid-template-columns:1fr}}
/* icona nella testata (computer) */
.testata-cerca{display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 14px 0 12px;border-radius:99px;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.06);color:#fff;font:500 .9rem var(--f-titoli);cursor:pointer;transition:background .2s,border-color .2s}
.testata-cerca:hover,.testata-cerca[aria-expanded=true]{background:rgba(255,255,255,.14);border-color:var(--acqua)}
.testata-cerca svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
@media(max-width:1020px){.testata-cerca{display:none}}
/* pannello «Chiedi» (dal basso su telefono, in alto al centro su computer) */
.foglio-chiedi-testa{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.foglio-chiedi-testa .occhiello{margin:0}
.foglio-x{width:40px;height:40px;border-radius:50%;border:1px solid var(--linea);background:#fff;font-size:1.4rem;line-height:1;color:var(--ink);cursor:pointer}
.foglio-chiedi .chiedi-campo{box-shadow:none}
.foglio-chiedi .chiedi-risultati .chiedi-risposta,.foglio-chiedi .chiedi-risultati .chiedi-lista,.foglio-chiedi .chiedi-risultati .chiedi-vuoto{box-shadow:none}
.foglio-chiedi-piede{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:22px;padding-top:18px;border-top:1px solid var(--linea)}
.foglio-chiedi-piede p{margin:0;font:600 .95rem var(--f-titoli)}
@media(max-width:560px){.foglio-chiedi-piede .btn{width:100%}}
@media(min-width:1021px){
  .foglio-chiedi{align-items:flex-start;justify-content:center;padding-top:9vh}
  .foglio-chiedi .foglio-pannello{width:min(760px,100% - 48px);border-radius:26px;max-height:82vh;padding:22px 26px 26px;animation:cala .35s var(--lento)}
  .foglio-chiedi .foglio-maniglia{display:none}
}
@keyframes cala{from{opacity:0;transform:translateY(-16px)}}
.barra-app .app-chiedi{color:#5BE39A}
.barra-app .app-chiedi[aria-expanded=true]{background:rgba(255,255,255,.1);color:#fff}

/* --- hub delle guide (35+ guide) --- */
.hub-testa{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.hub-testa .titolo-m{margin:0}
.hub-strumenti{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.hub-conta{margin:0;font:600 .9rem var(--f-titoli);color:var(--grigio)}
.hub-ordina{display:flex;align-items:center;gap:8px;font:600 .86rem var(--f-titoli);color:var(--grigio)}
.hub-ordina select{min-height:42px;border:1px solid var(--linea);border-radius:99px;padding:8px 14px;background:#fff;font:500 .9rem var(--f-titoli);color:var(--ink)}
.filtri-n{display:inline-block;min-width:22px;margin-left:4px;padding:1px 7px;border-radius:99px;background:var(--carta);color:var(--grigio);font-size:.76rem}
.filtri button[aria-pressed=true] .filtri-n{background:rgba(255,255,255,.18);color:#fff}
.hub-altri{display:flex;justify-content:center;margin-top:32px}
.hub-altri .btn[hidden]{display:none}
.hub-faq .faq{max-width:900px}

/* --- comparsa progressiva --- */
.js .rv{opacity:0;transform:translateY(40px);transition:opacity 1.2s var(--lento),transform 1.2s var(--lento)}
.js .rv.in{opacity:1;transform:none}

/* --- movimento ridotto: niente animazioni, niente parallasse --- */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .js .rv,.js .entra{opacity:1!important;transform:none!important}
  .js .barra i{transform:none}
  .scena-sfondo,.apertura-sfondo,.cap-foto-cornice{transform:none!important}
  .stampa-nastro div{flex-wrap:wrap;width:auto}
}
@media print{.testata,.barra-app,.cta-cine,.indice-capitoli,.foglio,.cinema{display:none!important}}

/* --- rassegna stampa (pagina e anteprima in home) --- */
.rs-griglia{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:0 0 48px}
.rs-card{display:flex;flex-direction:column;min-width:0;background:var(--bianco);border:1px solid var(--linea);border-radius:var(--r);overflow:hidden;box-shadow:0 18px 40px rgba(11,45,107,.07);transition:transform .3s var(--lento),box-shadow .3s var(--lento)}
.rs-card:hover{transform:translateY(-3px);box-shadow:0 26px 54px rgba(11,45,107,.13)}
.rs-card[hidden]{display:none}
.rs-media{position:relative;aspect-ratio:16/10;background:linear-gradient(150deg,var(--notte-2),var(--abisso));display:grid;place-items:center;overflow:hidden}
.rs-media-foto{background:var(--carta)}
.rs-media picture,.rs-media .rs-foto{width:100%;height:100%}
.rs-media .rs-foto{object-fit:cover;object-position:top center}
.rs-testata-grande{padding:0 22px;text-align:center;font:600 clamp(1.3rem,2.4vw,1.75rem)/1.15 var(--f-titoli);letter-spacing:-.02em;color:#fff;text-wrap:balance}
.rs-formato{position:absolute;left:14px;top:14px;background:var(--verde);color:#fff;font:600 .72rem/1 var(--f-titoli);letter-spacing:.08em;text-transform:uppercase;padding:7px 10px;border-radius:99px}
.rs-corpo{display:flex;flex-direction:column;gap:10px;padding:20px 22px 22px;flex:1}
.rs-meta{margin:0;font:500 .82rem var(--f-testo);color:var(--grigio);font-variant-numeric:tabular-nums}
.rs-meta b{color:var(--blu);font-weight:700}
.rs-tit{margin:0;font:600 1.08rem/1.3 var(--f-titoli);color:var(--ink);text-wrap:balance}
.rs-sintesi{margin:0;color:var(--grigio);font-size:.95rem;line-height:1.55}
.rs-link{margin-top:auto;padding-top:6px;align-self:flex-start;font:600 .92rem var(--f-titoli);color:var(--verde);text-decoration:none;border-bottom:1.5px solid currentColor}
.rs-link:hover{color:var(--verde-scuro)}
.rs-link-off{border:0;color:var(--grigio);font-weight:500}
.rs-testate{display:flex;flex-wrap:wrap;gap:10px 26px;margin:0 0 26px;padding:0 0 22px;border-bottom:1px solid var(--linea)}
.rs-testate span{font:600 1.05rem var(--f-titoli);color:var(--blu);letter-spacing:-.01em}
.rs-home{margin-top:clamp(56px,7vw,90px)}
.rs-home .rs-griglia{margin-bottom:8px}
.rs-home .rs-card{border-color:rgba(255,255,255,.08);box-shadow:0 24px 50px rgba(0,0,0,.28)}
.rs-home .stampa{margin-top:28px}
@media(max-width:980px){.rs-griglia{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){
  .rs-griglia{grid-template-columns:1fr;gap:16px}
  .rs-griglia-home{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;margin-inline:-16px;padding:0 16px 6px;scrollbar-width:none}
  .rs-griglia-home::-webkit-scrollbar{display:none}
  .rs-griglia-home .rs-card{flex:0 0 84%;scroll-snap-align:start}
}
@media(prefers-reduced-motion:reduce){.rs-card{transition:none}.rs-card:hover{transform:none}}

/* --- pagina persona (Daniele Rampini) --- */
.persona-pagina{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:clamp(28px,5vw,64px);align-items:start}
.scheda-persona{position:sticky;top:calc(var(--testata) + 24px);background:var(--bianco);border:1px solid var(--linea);border-radius:var(--r);overflow:hidden;box-shadow:0 18px 40px rgba(11,45,107,.07);display:flex;flex-direction:column}
.scheda-persona-foto{aspect-ratio:1/1;background:var(--carta)}
.scheda-persona-foto picture{display:block;width:100%;height:100%}
.scheda-persona-foto img{width:100%;height:100%;object-fit:cover;object-position:center 20%}
.scheda-persona dl{margin:0;padding:18px 22px 6px;display:grid;gap:12px}
.scheda-persona dl div{display:grid;gap:2px;padding-bottom:12px;border-bottom:1px solid var(--linea)}
.scheda-persona dl div:last-child{border-bottom:0}
.scheda-persona dt{font:600 .72rem var(--f-titoli);letter-spacing:.12em;text-transform:uppercase;color:var(--verde)}
.scheda-persona dd{margin:0;font:600 1rem var(--f-titoli);color:var(--blu)}
.scheda-persona .btn{margin:6px 22px 22px}
.persona-testo{min-width:0}
.persona-testo h2:first-child{margin-top:0}
.tappe{list-style:none;margin:28px 0 0;padding:0;display:grid;gap:0;position:relative}
.tappe::before{content:"";position:absolute;left:clamp(88px,12vw,132px);top:8px;bottom:8px;width:2px;background:linear-gradient(var(--verde),var(--acqua-tenue))}
.tappa{display:grid;grid-template-columns:clamp(88px,12vw,132px) minmax(0,1fr);gap:28px;padding:18px 0;position:relative}
.tappa::before{content:"";position:absolute;left:calc(clamp(88px,12vw,132px) - 6px);top:26px;width:14px;height:14px;border-radius:50%;background:var(--bianco);border:3px solid var(--verde)}
.tappa-anno{font:600 clamp(1.05rem,2vw,1.35rem)/1.2 var(--f-titoli);color:var(--blu);text-align:right;padding-right:22px;padding-top:2px}
.tappa h3{margin:0 0 6px;font:600 1.15rem/1.3 var(--f-titoli);color:var(--ink);padding-left:10px}
.tappa p{margin:0;color:var(--grigio);max-width:62ch;padding-left:10px}
@media(max-width:860px){
  .persona-pagina{grid-template-columns:1fr}
  .scheda-persona{position:static;display:grid;grid-template-columns:120px 1fr;align-items:start}
  .scheda-persona-foto{grid-row:span 2;aspect-ratio:auto;height:100%}
  .scheda-persona dl{padding:14px 16px 4px;gap:8px}
  .scheda-persona dl div{padding-bottom:8px}
  .scheda-persona .btn{grid-column:1/-1;margin:12px 16px 16px}
  .tappe::before{left:7px}
  .tappa{grid-template-columns:1fr;gap:4px;padding:14px 0 14px 30px}
  .tappa::before{left:0;top:18px}
  .tappa-anno{text-align:left;padding:0}
  .tappa h3,.tappa p{padding-left:0}
}

/* rassegna: testata sulla foto, scheda cliccabile, sottopagina articolo */
a.rs-card{text-decoration:none;color:inherit}
a.rs-card:focus-visible{outline:3px solid var(--verde);outline-offset:3px}
.rs-testata-tag{position:absolute;left:14px;bottom:14px;max-width:calc(100% - 28px);background:rgba(255,255,255,.94);color:var(--abisso);font:600 .9rem/1.2 var(--f-titoli);letter-spacing:-.01em;padding:8px 12px;border-radius:10px;box-shadow:0 6px 18px rgba(5,18,49,.18);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rs-media-foto::after{content:"";position:absolute;inset:auto 0 0 0;height:45%;background:linear-gradient(transparent,rgba(5,18,49,.35));pointer-events:none}
.rs-testata-tag,.rs-formato{z-index:1}
.rs-link::after{content:" →"}
.rs-voce{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(28px,5vw,64px);align-items:start}
.rs-voce-img{margin:0;position:sticky;top:calc(var(--testata) + 24px)}
.rs-voce-img img{width:100%;height:auto;border-radius:var(--r);box-shadow:0 24px 50px rgba(11,45,107,.14);display:block}
.rs-voce-img figcaption{margin-top:10px;font:500 .85rem var(--f-testo);color:var(--grigio)}
.rs-voce-testo{min-width:0}
.rs-voce-lead{font:400 1.2rem/1.6 var(--f-testo);color:var(--ink);margin:0 0 24px}
.rs-voce-h2{font:600 1.35rem var(--f-titoli);color:var(--blu);margin:0 0 12px}
.rs-punti{margin:0 0 28px;padding:0;list-style:none;display:grid;gap:10px}
.rs-punti li{position:relative;padding:12px 14px 12px 40px;background:var(--carta);border-radius:12px;line-height:1.5}
.rs-punti li::before{content:"";position:absolute;left:14px;top:17px;width:12px;height:12px;border-radius:50%;background:var(--verde);box-shadow:0 0 0 4px var(--acqua-tenue)}
.rs-fonte{margin:0 0 14px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px;padding:18px 20px;border:1px solid var(--linea);border-radius:var(--r-s)}
.rs-fonte div:last-child{grid-column:1/-1}
.rs-fonte dt{font:600 .72rem var(--f-titoli);letter-spacing:.12em;text-transform:uppercase;color:var(--verde)}
.rs-fonte dd{margin:2px 0 0;font:600 .98rem/1.35 var(--f-titoli);color:var(--blu)}
.rs-nota{font-size:.85rem;color:var(--grigio);margin:0 0 22px}
@media(max-width:860px){.rs-voce{grid-template-columns:1fr}.rs-voce-img{position:static}.rs-fonte{grid-template-columns:1fr 1fr}}

.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}

/* banner cookie Iubenda: compatto, sopra la barra in basso su mobile */
html body #iubenda-cs-banner .iubenda-cs-container{max-width:560px!important}
html body #iubenda-cs-banner .iubenda-cs-content{border-radius:18px!important;box-shadow:0 14px 36px rgba(0,0,0,.35)!important}
html body #iubenda-cs-banner #iubenda-cs-paragraph{line-height:1.45!important}
html body #iubenda-cs-banner .iubenda-cs-opt-group button{padding:8px 16px!important;font-size:13px!important;min-height:0!important}
@media(max-width:1020px){html body div#iubenda-cs-banner.iubenda-cs-default-floating .iubenda-cs-container{margin-bottom:calc(80px + var(--safe-b))!important}}
html body #iubenda-cs-banner .iubenda-cs-opt-group{display:flex!important;flex-direction:row!important;align-items:center!important;flex-wrap:nowrap!important;gap:6px!important;margin-top:8px!important}
html body #iubenda-cs-banner .iubenda-cs-opt-group>div{display:contents!important}
html body #iubenda-cs-banner .iubenda-cs-opt-group button{flex:1 1 0!important;margin:0!important;padding:10px 6px!important;min-height:40px!important;line-height:1.2!important;width:auto!important;font-size:12px!important;white-space:nowrap!important}
html body #iubenda-cs-banner .iubenda-cs-opt-group .iubenda-cs-customize-btn{order:3!important;flex:0 0 auto!important;background:transparent!important;text-decoration:underline!important;padding:8px 4px!important}
html body #iubenda-cs-banner #iubenda-cs-paragraph{font-size:12px!important}
html body #iubenda-cs-banner .iubenda-banner-content{padding-bottom:0!important}
