/*
Theme Name: Avv. Giorgio Pina
Theme URI: https://www.avvocatogiorgiopina.it
Author: Studio Legale Pina
Description: Portale di informazione e assistenza legale dell'Avv. Giorgio Pina. Articoli per rubrica, sentenze, calcolatore dei termini, domande dei lettori e prenotazione delle consulenze con registro dei consensi.
Version: 1.1.0
Requires at least: 6.0
Requires PHP: 7.4
License: Riservata allo Studio Legale Pina
Text Domain: giorgiopina
*/

:root{
  --ink:#161A22; --verde:#1D2B4A; --verde-chiaro:#EEF0F5; --carta:#F6F1EA; --foglio:#FFFFFF;
  --ceralacca:#A33A26; --pietra:#5E6069; --linea:#E3DCD2; --ok:#2F6B3A;
  --serif:"Newsreader",Georgia,"Times New Roman",serif;
  --sans:"Source Sans 3",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --ink:#ECE8E3; --verde:#A9BBDF; --verde-chiaro:#232A3A; --carta:#15171C; --foglio:#1C1F26;
    --ceralacca:#E07A62; --pietra:#A9A6A2; --linea:#2F333C; --ok:#7CC48A;
  }
}
:root[data-theme="dark"]{
  --ink:#ECE8E3; --verde:#A9BBDF; --verde-chiaro:#232A3A; --carta:#15171C; --foglio:#1C1F26;
  --ceralacca:#E07A62; --pietra:#A9A6A2; --linea:#2F333C; --ok:#7CC48A;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--carta);color:var(--ink);font-family:var(--sans);font-size:1rem;line-height:1.55}
img{max-width:100%}
a{color:var(--verde)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--ceralacca);outline-offset:2px}
.wrap{max-width:1080px;margin:0 auto;padding:0 1.25rem}
.narrow{max-width:680px}

/* Testata */
header.top{background:var(--foglio);border-bottom:1px solid var(--linea);position:sticky;top:0;z-index:20}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:64px}
.brand{text-decoration:none;color:var(--ink);display:block;line-height:1.15}
.brand strong{font-family:var(--serif);font-weight:600;font-size:1.3rem;display:block}
.brand span{font-size:.8rem;color:var(--pietra)}
nav.menu{display:flex;gap:1.1rem;flex-wrap:wrap}
nav.menu a{text-decoration:none;color:var(--ink);font-size:.93rem;padding:.35rem 0;border-bottom:2px solid transparent}
nav.menu a[aria-current="page"]{border-bottom-color:var(--verde);color:var(--verde)}
.btn-menu{display:none;background:none;border:1px solid var(--linea);border-radius:6px;padding:.45rem .7rem;color:var(--ink);font:inherit}
@media (max-width:860px){
  .btn-menu{display:block}
  nav.menu{display:none;position:absolute;left:0;right:0;top:64px;background:var(--foglio);border-bottom:1px solid var(--linea);flex-direction:column;padding:.5rem 1.25rem 1rem;gap:0}
  nav.menu.aperto{display:flex}
  nav.menu a{padding:.7rem 0;border-bottom:1px solid var(--linea)}
}

/* Tipografia */
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.15;margin:0 0 .6rem}
h1{font-size:clamp(2rem,5.4vw,3.3rem);letter-spacing:-.01em}
h2{font-size:clamp(1.5rem,3.4vw,2.05rem)}
h3{font-size:1.25rem}
p{margin:0 0 1rem}
.lead{font-size:1.12rem;color:var(--pietra);max-width:60ch}
.prosa{font-family:var(--serif);font-size:1.15rem;line-height:1.7;max-width:66ch}
.prosa h2{margin-top:2rem;font-size:1.55rem}
.firma{font-size:.9rem;color:var(--pietra)}
section.blocco{padding:3rem 0;border-bottom:1px solid var(--linea)}
section.blocco:last-of-type{border-bottom:none}

/* Hero con calcolatore */
.hero{padding:3.2rem 0 3rem;background:var(--foglio);border-bottom:1px solid var(--linea)}
.hero-griglia{display:grid;grid-template-columns:1.15fr 1fr;gap:2.5rem;align-items:start}
@media (max-width:860px){.hero-griglia{grid-template-columns:1fr;gap:1.8rem}}
.orologio{border:2px solid var(--ink);border-radius:4px;padding:1.3rem;background:var(--carta)}
.orologio h2{font-size:1.2rem;margin-bottom:.9rem}
.scadenza-num{font-family:var(--serif);font-size:clamp(3.4rem,11vw,5.2rem);line-height:1;color:var(--ceralacca);font-weight:600}
.scadenza-lbl{font-size:.95rem;color:var(--pietra);margin-top:.2rem}
.scadenza-data{font-weight:600;margin-top:.8rem}
.nota{font-size:.84rem;color:var(--pietra)}

/* Moduli */
label{display:block;font-weight:600;font-size:.92rem;margin:0 0 .3rem}
.campo{margin-bottom:1rem}
input[type=text],input[type=email],input[type=tel],input[type=date],select,textarea{width:100%;font:inherit;font-size:1rem;padding:.65rem .7rem;border:1px solid var(--pietra);border-radius:4px;background:var(--foglio);color:var(--ink)}
textarea{min-height:130px;resize:vertical}
.check{display:flex;gap:.6rem;align-items:flex-start;font-weight:400;font-size:.9rem;margin-bottom:.7rem}
.check input{margin-top:.25rem;width:18px;height:18px;flex:0 0 auto;accent-color:var(--verde)}
.btn{display:inline-block;font:inherit;font-weight:600;padding:.75rem 1.2rem;border-radius:4px;border:2px solid var(--verde);background:var(--verde);color:var(--foglio);cursor:pointer;text-decoration:none}
.btn.sec{background:transparent;color:var(--verde)}
.btn.piccolo{padding:.4rem .7rem;font-size:.85rem}
.esito{padding:1rem;border-left:4px solid var(--ok);background:var(--verde-chiaro);margin-top:1rem}
.errore{color:var(--ceralacca);font-size:.9rem;margin-top:.3rem}
.avviso{padding:.9rem 1rem;border:1px solid var(--linea);border-left:4px solid var(--ceralacca);background:var(--foglio);font-size:.92rem;margin:1rem 0}
.due-col{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
@media (max-width:600px){.due-col{grid-template-columns:1fr}}

/* Elenchi articoli */
.sezioni{display:grid;grid-template-columns:2fr 1fr;gap:2.5rem}
@media (max-width:860px){.sezioni{grid-template-columns:1fr}}
.art-voce{padding:1.2rem 0;border-top:1px solid var(--linea)}
.art-voce:first-child{border-top:none;padding-top:0}
.art-voce a.tit{font-family:var(--serif);font-size:1.35rem;font-weight:600;color:var(--ink);text-decoration:none;line-height:1.25}
.art-voce a.tit:hover{color:var(--verde);text-decoration:underline}
.art-voce p{margin:.4rem 0 .3rem;color:var(--pietra)}
.tema{font-size:.82rem;color:var(--verde);font-weight:600}
.rubrica{background:var(--verde-chiaro);padding:1.4rem;border-radius:4px}
.rubrica h3{font-size:1.2rem}
.aree{display:flex;flex-wrap:wrap;gap:.5rem;margin:.5rem 0 0;padding:0;list-style:none}
.aree button{font:inherit;font-size:.88rem;padding:.4rem .75rem;border:1px solid var(--linea);background:var(--foglio);color:var(--ink);border-radius:20px;cursor:pointer}
.aree button[aria-pressed="true"]{background:var(--verde);color:var(--foglio);border-color:var(--verde)}

/* Domande */
.qa{border-top:1px solid var(--linea);padding:1.4rem 0}
.qa .dom{font-family:var(--serif);font-size:1.2rem;font-weight:600;margin-bottom:.4rem}
.qa .chi{font-size:.84rem;color:var(--pietra);margin-bottom:.7rem}
.qa .risp{border-left:3px solid var(--verde);padding-left:1rem}
.stato{display:inline-block;font-size:.8rem;padding:.15rem .55rem;border-radius:3px;background:var(--linea);color:var(--ink)}

/* Tabelle */
.scorri{overflow-x:auto;-webkit-overflow-scrolling:touch}
table{border-collapse:collapse;width:100%;font-size:.9rem;min-width:620px}
th,td{text-align:left;padding:.6rem .5rem;border-bottom:1px solid var(--linea);vertical-align:top}
th{font-weight:600;background:var(--foglio)}

/* Piè di pagina */
footer{background:var(--ink);color:var(--carta);padding:2.5rem 0 5rem;font-size:.9rem}
:root[data-theme="dark"] footer{background:#0B100F}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) footer{background:#0B100F;color:var(--ink)}}
footer a{color:inherit}
.foot-griglia{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
@media (max-width:760px){.foot-griglia{grid-template-columns:1fr;gap:1.3rem}}
footer h4{font-family:var(--serif);font-size:1.1rem;margin:0 0 .5rem;font-weight:600}
footer ul{list-style:none;padding:0;margin:0}
footer li{margin-bottom:.35rem}
.deonto{margin-top:2rem;padding-top:1.2rem;border-top:1px solid rgba(255,255,255,.2);opacity:.85;font-size:.83rem}

/* Banner cookie */
#banner{position:fixed;left:0;right:0;bottom:0;z-index:50;background:var(--foglio);border-top:2px solid var(--ink);box-shadow:0 -6px 24px rgba(0,0,0,.12);padding:1.1rem 0}
#banner .wrap{position:relative}
#banner h2{font-size:1.15rem;margin-bottom:.4rem;padding-right:2.5rem}
#banner p{font-size:.9rem;margin-bottom:.8rem;max-width:75ch}
.chiudi{position:absolute;right:1.25rem;top:-.2rem;background:none;border:none;font-size:1.6rem;line-height:1;cursor:pointer;color:var(--ink);padding:.3rem}
.banner-azioni{display:flex;flex-wrap:wrap;gap:.6rem}
.pref{margin:.6rem 0 1rem;padding:.8rem;border:1px solid var(--linea);border-radius:4px}
.pref .check{margin-bottom:.8rem}
.nascosto{display:none !important}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
@media (prefers-reduced-motion:no-preference){
  .scadenza-num.agg{animation:batti .5s ease}
  @keyframes batti{0%{transform:scale(.92);opacity:.4}100%{transform:scale(1);opacity:1}}
}

/* ---- Restyling mobile e componenti ---- */
.brand{display:flex;align-items:center;gap:.6rem}
.mono{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:8px;background:var(--verde);color:#fff;font-family:var(--serif);font-weight:600;font-size:1.05rem;flex:0 0 auto}
.brand-txt strong{font-size:1.15rem}
.tel-top{display:none;align-items:center;gap:.35rem;text-decoration:none;font-weight:600;font-size:.88rem;color:var(--verde);border:1.5px solid var(--verde);border-radius:20px;padding:.4rem .75rem}
.kicker{font-size:.85rem;font-weight:600;color:var(--verde);margin:0 0 .5rem}
.hero{background:var(--verde);color:#fff;border-bottom:none}
.hero h1{color:#fff}
.hero .lead{color:rgba(255,255,255,.85)}
.hero .kicker{color:#CFE3DC}
.orologio{background:var(--foglio);color:var(--ink);border:none;border-radius:14px;box-shadow:0 14px 40px rgba(0,0,0,.22)}
.fiducia{background:var(--foglio);border-bottom:1px solid var(--linea)}
.fiducia ul{list-style:none;margin:0;padding:.9rem 0;display:flex;gap:1.6rem;flex-wrap:wrap;font-size:.9rem;font-weight:600;color:var(--pietra)}
.fiducia li{display:flex;align-items:center;gap:.45rem}
.fiducia li::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--ceralacca)}
.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:.9rem;margin-top:1rem}
.tile{font:inherit;display:flex;flex-direction:column;align-items:flex-start;gap:.8rem;text-align:left;padding:1.1rem;border-radius:12px;border:1px solid var(--linea);background:var(--foglio);color:var(--ink);cursor:pointer;font-weight:600;font-size:.98rem;line-height:1.25;min-height:120px}
.tile svg{color:var(--verde)}
.tile:active{transform:scale(.98)}
.schede{display:grid;gap:.8rem}
.scheda{display:block;text-decoration:none;color:var(--ink);background:var(--foglio);border:1px solid var(--linea);border-left:5px solid var(--verde);border-radius:10px;padding:1rem 1.1rem}
.scheda[data-t="Appalti ed edilizia"]{border-left-color:#8A6A3C}.scheda[data-t="Lavoro"]{border-left-color:#3D6A8C}.scheda[data-t="Militari e Forze di polizia"]{border-left-color:#66744F}.scheda[data-t="Famiglia"]{border-left-color:#7A4E6B}
.scheda[data-t="Risarcimento del danno"]{border-left-color:var(--ceralacca)}
.scheda[data-t="Pubblica Amministrazione"]{border-left-color:var(--verde)}
.scheda .tema{display:block;margin-bottom:.25rem}
.s-tit{display:block;font-family:var(--serif);font-size:1.22rem;font-weight:600;line-height:1.25}
.s-abs{display:block;color:var(--pietra);font-size:.93rem;margin-top:.35rem}
.rubrica{background:var(--ink);color:var(--carta);border-radius:14px;padding:1.4rem}
.rubrica .kicker{color:#9FD0C2}
.citaz{font-family:var(--serif);font-size:1.25rem;line-height:1.35;margin-bottom:.4rem}
.btn.chiaro{background:var(--carta);color:var(--ink);border-color:var(--carta)}
.btn.pieno{display:block;text-align:center}
.cta-pren{margin-top:1.2rem;padding:1.3rem;border-radius:14px;border:1.5px solid var(--verde);background:var(--verde-chiaro)}
nav.tab{display:none}
@media (max-width:860px){
  .btn-menu{display:none}
  nav.menu{display:none !important}
  .tel-top{display:inline-flex}
  .top .wrap{min-height:58px}
  .brand-txt span{font-size:.75rem}
  .hero{padding:1.6rem 0 2rem}
  .hero h1{font-size:1.85rem;line-height:1.15}
  .hero .lead{font-size:1rem;margin-bottom:0}
  .hero-griglia{gap:1.3rem}
  .orologio{padding:1.15rem}
  .scadenza-num{font-size:3.6rem}
  section.blocco{padding:2.1rem 0}
  .fiducia ul{gap:.5rem 1.2rem;font-size:.82rem;padding:.8rem 0}
  .tiles{grid-template-columns:1fr 1fr;gap:.7rem}
  .tile{min-height:108px;padding:1rem;font-size:.93rem}
  nav.tab{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;z-index:40;background:var(--foglio);border-top:1px solid var(--linea);padding:.35rem .2rem calc(.35rem + env(safe-area-inset-bottom));box-shadow:0 -4px 18px rgba(0,0,0,.06)}
  nav.tab a{display:flex;flex-direction:column;align-items:center;gap:.15rem;text-decoration:none;color:var(--pietra);font-size:.7rem;font-weight:600;padding:.3rem 0}
  nav.tab a[aria-current="page"]{color:var(--verde)}
  nav.tab a.tab-cent svg{background:var(--ceralacca);color:#fff;border-radius:50%;padding:7px;width:40px;height:40px;margin-top:-18px;box-shadow:0 4px 12px rgba(164,38,44,.35)}
  nav.tab a.tab-cent[aria-current="page"]{color:var(--ceralacca)}
  footer{padding-bottom:6.5rem}
  #banner{bottom:calc(62px + env(safe-area-inset-bottom));border-top:none;border-radius:14px 14px 0 0;padding:.9rem 0 .8rem}
  #banner h2{font-size:1.02rem}
  #banner p{font-size:.84rem;margin-bottom:.65rem}
  .banner-azioni{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
  .banner-azioni .btn{padding:.6rem .5rem;font-size:.9rem;text-align:center}
  #bnAccetta{grid-column:1 / -1;order:-1}
  .chiudi{top:-.35rem}
}

/* ---- Identità grafica v3 ---- */
.brand .mono{color:#fff;font-size:1.05rem}
:root{--notte:#141A28;--oro:#C4865F;--cotto:#B8674A}
.hero2{position:relative;overflow:hidden;background:
  radial-gradient(900px 500px at 85% 20%,rgba(179,38,45,.28),transparent 60%),
  radial-gradient(700px 500px at 0% 100%,rgba(30,77,69,.9),transparent 70%),
  var(--notte);color:#fff;padding:4.2rem 0 7rem}
.hero2::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:44px 44px;pointer-events:none;mask-image:linear-gradient(180deg,#000,transparent)}
.hero2-g{position:relative;z-index:1;display:grid;grid-template-columns:1.2fr .8fr;gap:2rem;align-items:center}
.hero2 h1{color:#fff;font-size:clamp(2.1rem,4.8vw,3.5rem);max-width:17ch}
.hero2 .lead{color:rgba(255,255,255,.82)}
.hero2 .kicker{color:var(--oro);letter-spacing:.02em}
.h-azioni{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.4rem}
.btn.rosso{background:#A33A26;border-color:#A33A26;color:#fff;box-shadow:0 8px 24px rgba(179,38,45,.4)}
.btn.vetro{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.35);color:#fff}
.btn.oro{background:var(--oro);border-color:var(--oro);color:var(--notte)}
.sigillo{display:flex;justify-content:center}
.sig-svg{width:min(340px,100%);height:auto;filter:drop-shadow(0 20px 40px rgba(0,0,0,.35))}
.ruota{transform-origin:160px 160px}
@media (prefers-reduced-motion:no-preference){
  .ruota{animation:gira 40s linear infinite}
  .lancetta{transform-origin:160px 160px;animation:gira 12s linear infinite}
  @keyframes gira{to{transform:rotate(360deg)}}
}
.calc-band{position:relative;z-index:2;margin-top:-4.5rem;padding-bottom:1rem}
.orologio.grande{display:grid;grid-template-columns:1.1fr .9fr;gap:2rem;padding:1.8rem;border-radius:18px;border-top:6px solid #A33A26}
.orologio.grande h2{font-size:1.45rem}
.o-dx{background:var(--carta);border-radius:12px;padding:1.3rem;border:1px dashed var(--linea);display:flex;flex-direction:column;justify-content:center}
.fiducia{border-bottom:none;background:transparent}
.sez-tit{font-size:clamp(1.6rem,3.6vw,2.3rem);margin-bottom:1rem}
.tile{position:relative;overflow:hidden;border:none;min-height:150px;color:#fff;box-shadow:0 10px 26px rgba(15,30,38,.12)}
.tile.t0{background:linear-gradient(145deg,#1E4D45,#2B6B5F)}
.tile.t1{background:linear-gradient(145deg,#24486A,#3D6A8C)}
.tile.t2{background:linear-gradient(145deg,#8A6420,#B7892E)}
.tile.t3{background:linear-gradient(145deg,#8E1F25,#A33A26)}
.tile svg{color:#fff}
.t-ico{display:inline-grid;place-items:center;width:48px;height:48px;border-radius:12px;background:rgba(255,255,255,.16)}
.t-nome{font-family:var(--serif);font-size:1.2rem;font-weight:600}
.t-vai{font-size:.8rem;opacity:.85;font-weight:600;margin-top:auto}
.tile::after{content:"";position:absolute;right:-30px;bottom:-30px;width:110px;height:110px;border-radius:50%;border:18px solid rgba(255,255,255,.08)}
.percorso{background:var(--foglio);border-top:1px solid var(--linea);border-bottom:1px solid var(--linea);padding:3rem 0}
.passi{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;counter-reset:none}
.passi li{position:relative;padding-top:.2rem}
.p-n{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;border:2px solid #A33A26;color:#A33A26;font-family:var(--serif);font-weight:600;font-size:1.3rem;margin-bottom:.8rem;background:var(--foglio)}
.passi h3{font-size:1.2rem;margin-bottom:.3rem}
.passi p{color:var(--pietra);margin:0}
.scheda{box-shadow:0 6px 18px rgba(15,30,38,.06);transition:transform .15s ease}
.scheda:hover{transform:translateY(-2px)}
.rubrica{background:var(--notte);position:relative;overflow:hidden}
.virg{font-family:var(--serif);font-size:5rem;line-height:.6;color:var(--oro);margin:0 0 .2rem;height:2.2rem}
.chi{background:var(--notte);color:#fff;padding:3.5rem 0}
.chi h2{color:#fff}
.chi p{color:rgba(255,255,255,.85);max-width:62ch}
.chi .kicker{color:var(--oro)}
.chi-g{display:grid;grid-template-columns:auto 1fr;gap:2.5rem;align-items:center}
.ritratto{width:190px;height:190px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#2F6E62,#0F1E26);border:3px solid var(--oro);display:grid;place-items:center;box-shadow:0 18px 40px rgba(0,0,0,.35)}
.ritratto span{font-family:var(--serif);font-size:3.6rem;color:var(--oro);font-weight:600}
@media (max-width:860px){
  .hero2{padding:1.8rem 0 6rem}
  .hero2-g{grid-template-columns:1fr;gap:.5rem}
  .sigillo{order:-1;justify-content:flex-start;margin-bottom:.4rem}
  .sig-svg{width:140px}
  .hero2 h1{font-size:1.9rem}
  .h-azioni .btn{flex:1 1 auto;text-align:center}
  .calc-band{margin-top:-4.3rem}
  .orologio.grande{grid-template-columns:1fr;gap:1rem;padding:1.2rem}
  .orologio.grande h2{font-size:1.2rem}
  .tiles{grid-template-columns:1fr 1fr}
  .tile{min-height:140px}
  .t-nome{font-size:1.02rem}
  .passi{grid-template-columns:1fr;gap:1.2rem}
  .passi li{display:grid;grid-template-columns:44px 1fr;column-gap:1rem}
  .passi li .p-n{grid-row:span 2;margin:0}
  .chi{padding:2.5rem 0 3rem}
  .chi-g{grid-template-columns:1fr;gap:1.3rem}
  .ritratto{width:120px;height:120px}
  .ritratto span{font-size:2.4rem}
}

.ritratto-foto{margin:0;width:300px;aspect-ratio:4/5;border-radius:18px;overflow:hidden;border:3px solid var(--oro);box-shadow:0 22px 50px rgba(0,0,0,.4);transform:rotate(-1.5deg)}
.ritratto-foto img,.studio-foto img{width:100%;height:100%;object-fit:cover;display:block}
.chi-g{grid-template-columns:300px 1fr;gap:3rem}
.rub-testa{display:flex;align-items:center;gap:.7rem;margin-bottom:1.1rem}
.rub-testa img{width:48px;height:48px;border-radius:50%;border:2px solid var(--oro);object-fit:cover}
.rub-testa .kicker{margin:0}
.studio-foto{float:right;width:230px;margin:0 0 1rem 1.5rem;border-radius:14px;overflow:hidden;border:3px solid var(--oro);box-shadow:0 12px 30px rgba(15,30,38,.18)}
@media (max-width:860px){
  .chi-g{grid-template-columns:1fr;gap:1.5rem}
  .ritratto-foto{width:100%;aspect-ratio:4/4.2;transform:none}
  .ritratto-foto img{object-position:50% 15%}
  .studio-foto{float:none;width:100%;margin:0 0 1.2rem;aspect-ratio:4/4}
  .studio-foto img{object-position:50% 15%}
}

/* ---- v4 rivista ---- */
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--sabbia:#221E1B}}
:root[data-theme="dark"]{--sabbia:#221E1B}
body{background:var(--carta)}
.mono{background:var(--verde)}
.testata{background:var(--foglio);border-bottom:3px double var(--ink);padding:1.4rem 0 1rem;text-align:center}
.t-data{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--pietra);margin:0 0 .5rem}
.t-nome{font-family:var(--serif);font-size:clamp(1.8rem,4.6vw,3.2rem);font-weight:500;line-height:1.05;margin:0}
.t-nome em{color:var(--cotto);font-style:italic}
.t-sotto{color:var(--pietra);margin:.5rem 0 1rem}
.t-temi{display:flex;justify-content:center;gap:.5rem;flex-wrap:wrap;border-top:1px solid var(--linea);padding-top:.9rem}
.t-temi button{font:inherit;font-size:.85rem;font-weight:600;background:none;border:none;color:var(--ink);padding:.3rem .6rem;cursor:pointer;border-radius:3px}
.t-temi button:hover{background:var(--verde-chiaro)}
.apertura{padding:2.6rem 0;background:var(--carta)}
.ap-g{display:grid;grid-template-columns:1.55fr 1fr;gap:3rem}
.ap-link{text-decoration:none;color:var(--ink)}
.ap-tema,.u-tema{display:inline-block;font-size:.76rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--cotto)}
.ap-main h1{font-size:clamp(2.1rem,4.6vw,3.6rem);line-height:1.05;margin:.6rem 0 1rem;letter-spacing:-.01em}
.ap-link:hover h1{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px}
.ap-abs{font-family:var(--serif);font-size:1.3rem;line-height:1.45;color:var(--ink);opacity:.85;max-width:40ch;margin:0 0 1.2rem}
.byline{display:flex;align-items:center;gap:.7rem;margin:0 0 1rem}
.byline img{width:36px;height:36px;border-radius:50%;object-fit:cover}
.byline span{display:flex;flex-direction:column;line-height:1.25;font-size:.85rem}
.byline em{font-style:normal;color:var(--pietra)}
.leggi{font-weight:700;color:var(--cotto);text-decoration:none;border-bottom:2px solid currentColor;padding-bottom:2px}
.ap-side{border-left:1px solid var(--linea);padding-left:2rem}
.side-tit{font-family:var(--sans);font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;border-bottom:2px solid var(--ink);padding-bottom:.5rem}
.ultimi{list-style:none;margin:0 0 1.2rem;padding:0;counter-reset:u}
.ultimi li{counter-increment:u;border-bottom:1px solid var(--linea)}
.ultimi a{display:grid;grid-template-columns:2.2rem 1fr;column-gap:.4rem;padding:.9rem 0;text-decoration:none;color:var(--ink)}
.ultimi a::before{content:counter(u);grid-row:span 3;font-family:var(--serif);font-size:1.9rem;line-height:1;color:var(--cotto)}
.u-tit{font-family:var(--serif);font-size:1.12rem;font-weight:600;line-height:1.25;margin:.15rem 0}
.u-meta{font-size:.78rem;color:var(--pietra)}
.ultimi a:hover .u-tit{text-decoration:underline}
.autore{background:var(--notte);color:#fff;padding:0;overflow:hidden}
.au-g{display:grid;grid-template-columns:.9fr 1.1fr;align-items:stretch;gap:3rem}
.au-foto{margin:0;min-height:100%;position:relative}
.au-foto img{width:100%;height:100%;object-fit:cover;object-position:50% 20%;display:block}
.au-txt{padding:3.5rem 0}
.au-txt h2{color:#fff;font-size:clamp(2rem,4vw,2.8rem)}
.au-txt p{color:rgba(255,255,255,.84);max-width:56ch}
.au-txt .kicker{color:var(--oro)}
.calc-sez{background:var(--foglio);padding:3rem 0;border-bottom:1px solid var(--linea)}
.cs-g{display:grid;grid-template-columns:.9fr 1.1fr;gap:2.5rem;align-items:center}
.cs-sx{display:flex;gap:1.2rem;align-items:center}
.cs-sx .sigillo{flex:0 0 150px}.cs-sx .sig-svg{width:150px;filter:none}
.cs-sx .kicker{color:var(--cotto)}
.cs-sx p{color:var(--pietra)}
.calc-sez .orologio.grande{margin:0;box-shadow:0 14px 40px rgba(22,26,34,.12);border-top-color:var(--ceralacca);grid-template-columns:1fr 1fr}
.rubriche{padding:3rem 0}
.rub-g{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}
.rub-col{border-top:4px solid var(--verde);padding-top:.8rem}
.rub-col.c1{border-color:var(--cotto)}.rub-col.c2{border-color:#8A6A3C}.rub-col.c3{border-color:var(--ceralacca)}
.rub-h{font:inherit;font-family:var(--serif);font-size:1.25rem;font-weight:600;background:none;border:none;padding:0;margin-bottom:.6rem;cursor:pointer;color:var(--ink);text-align:left}
.rub-a{display:block;padding:.6rem 0;border-bottom:1px solid var(--linea);color:var(--ink);text-decoration:none;font-weight:500;line-height:1.35}
.rub-a:hover{color:var(--cotto)}
.risponde-b{background:var(--sabbia,#EFE4D8);padding:3rem 0}
.rb-g{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;align-items:center}
.risponde-b .kicker{color:var(--cotto)}
.rb-card{display:block;background:var(--foglio);border-radius:6px;padding:1.6rem;text-decoration:none;color:var(--ink);box-shadow:0 10px 30px rgba(22,26,34,.1);border-left:5px solid var(--cotto)}
.rb-card .virg{display:block;color:var(--cotto)}
.rb-card .citaz{display:block;font-size:1.35rem}
.btn.oro{background:var(--cotto);border-color:var(--cotto);color:#fff}
.scheda{border-left-color:var(--cotto)}
.tema{color:var(--cotto)}
@media (max-width:860px){
  .testata{padding:1rem 0 .6rem}
  .t-nome{font-size:1.75rem}
  .t-sotto{font-size:.88rem;margin:.4rem 0 .7rem}
  .t-temi{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;padding-bottom:.2rem;scrollbar-width:none}
  .t-temi button{white-space:nowrap;border:1px solid var(--linea);border-radius:20px;background:var(--carta)}
  .apertura{padding:1.6rem 0}
  .ap-g{grid-template-columns:1fr;gap:1.8rem}
  .ap-main h1{font-size:2.05rem}
  .ap-abs{font-size:1.12rem}
  .ap-side{border-left:none;padding-left:0}
  .au-g{grid-template-columns:1fr;gap:0}
  .au-foto{margin:0 -1.25rem;height:380px}
  .au-txt{padding:1.8rem 0 2.4rem}
  .cs-g{grid-template-columns:1fr;gap:1.2rem}
  .cs-sx .sigillo{flex-basis:92px}.cs-sx .sig-svg{width:92px}
  .cs-sx h2{font-size:1.35rem}
  .calc-sez .orologio.grande{grid-template-columns:1fr}
  .rub-g{grid-template-columns:1fr;gap:1.6rem}
  .rb-g{grid-template-columns:1fr;gap:1.4rem}
}

.sedi{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;margin-bottom:.6rem}
.sedi>div{background:var(--foglio);border:1px solid var(--linea);border-left:4px solid var(--cotto);border-radius:6px;padding:1rem}
.sedi h3{font-size:1.15rem;margin-bottom:.3rem}.sedi p{margin:0}
.rub-g{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.rub-col.c4{border-color:#7A4E6B}
@media (max-width:860px){.sedi{grid-template-columns:1fr}.rub-g{grid-template-columns:1fr}}

.italia{background:#1D2B4A;color:#fff;padding:1.6rem 0}
.it-g{display:grid;grid-template-columns:auto 1fr auto;gap:1.4rem;align-items:center}
.italia h2{color:#fff;font-size:1.5rem;margin:0 0 .2rem}.italia p{margin:0;color:rgba(255,255,255,.85);max-width:60ch}
.it-ico{color:var(--oro)}
@media (max-width:860px){.it-g{grid-template-columns:auto 1fr;gap:.9rem}.it-g .btn{grid-column:1/-1;text-align:center}.italia h2{font-size:1.25rem}}
.sub-corto{display:none}
@media (max-width:860px){.brand .sub-lungo{display:none}.brand .sub-corto{display:inline}}
.brand .mono{background:#1D2B4A;color:#fff}

.copertina{display:block;width:100%;height:auto;aspect-ratio:16/9;border-radius:6px}
.cop-ap{margin-bottom:1.2rem}
.ultimi a{grid-template-columns:2.2rem 1fr}
.u-thumb{display:none}
.s-cop .copertina{border-radius:6px 6px 0 0}
.art-cop{margin:1.2rem 0 1.6rem;max-width:760px}
.t-riga{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:.5rem}
.t-riga .t-data{margin:0}
.chi-pill{display:inline-flex;align-items:center;gap:.5rem;padding:.25rem .9rem .25rem .25rem;border:1.5px solid var(--cotto);border-radius:30px;text-decoration:none;color:var(--ink);font-weight:700;font-size:.88rem;background:var(--foglio)}
.chi-pill img{width:30px;height:30px;border-radius:50%;object-fit:cover}
.chi-pill:hover{background:var(--cotto);color:#fff}
@media (min-width:861px){
  .ultimi a{grid-template-columns:2.2rem 1fr 84px}
  .u-thumb{display:block;grid-column:3;grid-row:1/span 3;align-self:center}
  .u-thumb .copertina{aspect-ratio:1/1;border-radius:4px}
  .scheda:has(.s-cop){padding-top:0;overflow:hidden}
  .s-cop{display:block;margin:0 -1.1rem .8rem}
}
@media (max-width:860px){
  .solo-web{display:none}
  .t-riga{justify-content:space-between}
}
@media (min-width:861px){.art-voce{display:grid;grid-template-columns:220px 1fr;gap:1.4rem;align-items:start}.v-cop .copertina{border-radius:4px}}

/* ---- v5 palette chiara ---- */
.autore{background:#EFE6DB;color:var(--ink)}
.au-txt h2{color:var(--ink)}
.au-txt p{color:#3F434C}
.au-txt .kicker{color:var(--cotto)}
.autore .btn.vetro{background:transparent;border-color:var(--verde);color:var(--verde)}
.italia{background:#E6ECF5 !important;color:var(--ink)}
.italia h2{color:var(--verde)}
.italia p{color:#3F434C}
.it-ico{color:var(--cotto)}
footer{background:#EDE6DC;color:var(--ink)}
footer a{color:var(--verde)}
footer .deonto{color:var(--pietra)}
.social{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1rem}
.social a{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .9rem;border-radius:30px;border:1.5px solid var(--linea);background:var(--foglio);color:var(--ink);text-decoration:none;font-weight:600;font-size:.88rem}
.social a:hover{border-color:var(--cotto);color:var(--cotto)}
.condividi{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin:1.8rem 0 1rem;padding:1rem 0;border-top:1px solid var(--linea);border-bottom:1px solid var(--linea);max-width:66ch}
.condividi span{font-weight:700;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;color:var(--pietra);margin-right:.3rem}
.condividi a{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;border:1.5px solid var(--linea);color:var(--verde)}
.condividi .copia{font:inherit;font-size:.85rem;font-weight:600;padding:.5rem .9rem;border-radius:30px;border:1.5px solid var(--linea);background:var(--foglio);color:var(--ink);cursor:pointer}

/* ---- v6 impatto editoriale ---- */
.topbar{background:#1D2B4A;color:#E7EAF1;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}
.topbar .wrap{display:flex;justify-content:space-between;gap:1rem;padding-top:.5rem;padding-bottom:.5rem}
.logo{display:flex;flex-direction:column;text-decoration:none;color:var(--ink);line-height:1}
.lg-r{display:flex;align-items:baseline;gap:.45rem}
.lg-a{font-family:var(--sans);font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.lg-n{font-family:var(--serif);font-size:1.55rem;color:var(--verde)}
.lg-s{font-size:.62rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--cotto);margin-top:.3rem}
.hero3{background:var(--foglio);border-bottom:1px solid var(--linea);padding:3rem 0 0}
.h3-g{display:grid;grid-template-columns:1.1fr .9fr;gap:3rem;align-items:start;padding-bottom:2rem;border-top:1px solid var(--linea);padding-top:2.5rem}
.h3-k{font-size:.74rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--cotto);margin:0 0 1rem}
.h3-t{font-family:var(--serif);font-weight:400;font-size:clamp(2.4rem,5.2vw,3.9rem);line-height:1.08;letter-spacing:-.015em;margin:0 0 1.4rem}
.h3-t em{font-style:normal;color:var(--verde)}
.h3-dx p{color:var(--pietra);font-size:1.05rem;margin:0 0 1rem}
.h3-link{display:inline-block;font-weight:700;color:var(--verde);text-decoration:none;margin-bottom:1.3rem}
.h3-link span{color:var(--cotto)}
.cerca{position:relative}
.cerca svg{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--pietra)}
.cerca input{width:100%;padding:.95rem 1rem .95rem 2.8rem;border:1.5px solid var(--linea);border-radius:6px;font:inherit;background:var(--foglio);color:var(--ink)}
.cerca input:focus{outline:none;border-color:var(--verde)}
.cerca-ris{position:absolute;z-index:20;left:0;right:0;top:calc(100% + 6px);background:var(--foglio);border:1px solid var(--linea);border-radius:6px;box-shadow:0 14px 34px rgba(22,26,34,.14);padding:.4rem}
.cerca-ris a{display:block;padding:.6rem .7rem;border-radius:4px;color:var(--ink);text-decoration:none;font-weight:600;line-height:1.3}
.cerca-ris a span{display:block;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--cotto)}
.cerca-ris a:hover{background:var(--carta)}
.cerca-ris p{margin:.5rem .7rem}
.h3-temi{display:flex;gap:.4rem;flex-wrap:wrap;border-top:1px solid var(--linea);padding:1rem 0 1.2rem}
.h3-temi button{display:inline-flex;align-items:center;gap:.45rem;font:inherit;font-size:.88rem;font-weight:600;padding:.55rem .95rem;border-radius:4px;border:none;background:none;color:var(--ink);cursor:pointer}
.h3-temi button:hover{background:var(--carta)}
.h3-temi button.attivo{background:var(--verde);color:#fff}
.sez-riga{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:1.3rem}
.sez-riga h2{font-size:clamp(1.5rem,3vw,2rem);font-weight:500;margin:0}
.sez-riga span{font-size:.8rem;color:var(--pietra)}
.decisione{background:var(--carta);border:1px solid var(--linea);border-left:5px solid var(--verde);border-radius:6px;padding:1.2rem 1.3rem;margin:0 0 1.8rem;max-width:66ch}
.decisione .kicker{color:var(--cotto);margin:0 0 .3rem}
.d-rif{font-family:var(--serif);font-size:1.2rem;font-weight:600;margin:0 0 .4rem}
.decisione a{font-weight:700;color:var(--verde)}
.metodo{background:var(--foglio);border-top:1px solid var(--linea);padding:3.2rem 0;text-align:center}
.metodo .par{font-family:var(--serif);font-size:2.4rem;color:var(--cotto);margin:0;line-height:1}
.metodo .kicker{color:var(--cotto)}
.metodo h2{font-weight:500;font-size:clamp(1.7rem,3.4vw,2.3rem)}
.metodo p{max-width:60ch;margin-left:auto;margin-right:auto;color:#3F434C}
.m-firma{font-family:var(--serif);font-style:italic;color:var(--verde)!important;margin-top:1rem}
.testata{display:none}
@media (max-width:860px){
  .topbar .tb-dx{display:none}
  .topbar{font-size:.64rem}
  .lg-n{font-size:1.3rem}.lg-a{font-size:.62rem}
  .hero3{padding-top:0}
  .h3-g{grid-template-columns:1fr;gap:1.2rem;padding-top:1.6rem;border-top:none}
  .h3-t{font-size:2.35rem}
  .chi-pill{margin-bottom:.2rem}
  .h3-temi{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 -1.25rem;padding-left:1.25rem;padding-right:1.25rem}
  .h3-temi button{white-space:nowrap;border:1px solid var(--linea)}
  .h3-temi button.attivo{border-color:var(--verde)}
  .sez-riga h2{font-size:1.45rem}
}

.brand.logo .lg-r{display:flex;align-items:baseline;gap:.45rem}
.brand.logo .lg-a{font-family:var(--sans);font-size:.74rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink)}
.brand.logo .lg-n{font-family:var(--serif);font-size:1.6rem;color:var(--verde);font-weight:500}
.brand.logo .lg-s{display:block;font-size:.62rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--cotto);margin-top:.35rem}
.hero3 .h3-g{border-top:none;padding-top:1rem}
@media (max-width:860px){.brand.logo .lg-n{font-size:1.35rem}.brand.logo .lg-a{font-size:.62rem}}
.brand.logo{display:flex;flex-direction:column;align-items:flex-start;justify-content:center}

/* ---- v7 pulizia tipografica ---- */
:root{--carta:#FBFBF9;--foglio:#FFFFFF;--linea:#E7E7E2;--ink:#18222B}
body{font-size:1.02rem;line-height:1.6;background:#FBFBF9;-webkit-font-smoothing:antialiased}
h1,h2,h3,.u-tit,.rub-h,.d-rif,.t-nome,.s-tit,.tit,.citaz,.brand strong{font-weight:400 !important;letter-spacing:-.01em}
h1{letter-spacing:-.025em}
.h3-t{font-weight:300 !important;letter-spacing:-.03em;line-height:1.05}
.ap-main h1{font-weight:400;letter-spacing:-.025em;line-height:1.08}
.btn,.leggi,.h3-link,.chi-pill,.social a,.condividi .copia,.h3-temi button,.t-temi button{font-weight:600}
.h3-temi button{font-weight:500}.h3-temi button.attivo{font-weight:600}
.kicker,.ap-tema,.u-tema,.h3-k,.side-tit{font-weight:600}
.btn{border-radius:4px;letter-spacing:.01em}
.apertura,.rubriche{background:#FBFBF9}
.apertura{padding:3rem 0 3.5rem}
.rubriche,.calc-sez,.metodo{padding:4rem 0}
.autore{background:#F6F3EF}
.risponde-b{background:#F6F3EF;padding:4rem 0}
.italia{background:#F2F5F9 !important}
footer{background:#F4F2EE}
.rub-col{border-top-width:2px}
.decisione{border-left-width:3px;background:#FBFBF9}
.orologio.grande{border-top-width:3px}
.calc-sez .orologio.grande{box-shadow:0 8px 30px rgba(24,34,43,.07)}
.rb-card{border-left-width:3px;box-shadow:0 6px 24px rgba(24,34,43,.06)}
.ultimi li{border-bottom-color:#EDEDE8}
.ultimi a::before{font-weight:300}
.u-tit{font-size:1.08rem;line-height:1.3}
.ap-abs{font-size:1.2rem;line-height:1.55;opacity:.8}
.sez-tit,.sez-riga h2,.metodo h2,.au-txt h2{font-weight:400 !important}
.cerca input{border-width:1px}
.lg-n{font-weight:400 !important}
@media (max-width:860px){
  .apertura{padding:2rem 0 2.5rem}
  .rubriche,.calc-sez,.metodo,.risponde-b{padding:2.8rem 0}
  .h3-t{font-size:2.45rem}
}

/* ---- v8 impaginazione estesa ---- */
.wrap{max-width:1400px;padding:0 2.5rem}
.narrow{max-width:860px}
.griglia-art{display:grid;grid-template-columns:repeat(3,1fr);gap:2.2rem 2rem;margin-top:2rem}
.griglia-art .art-voce{display:block;border:none;padding:0;margin:0}
.griglia-art .v-cop{display:block;margin-bottom:.9rem}
.griglia-art .v-cop .copertina{border-radius:4px}
.griglia-art .tit{font-family:var(--serif);font-size:1.3rem;line-height:1.25;display:block;margin:.3rem 0 .5rem;text-decoration:none;color:var(--ink)}
.griglia-art .tit:hover{color:var(--verde)}
.griglia-art p{color:var(--pietra);font-size:.95rem;margin:0}
.art-g{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:5rem;align-items:start}
.art-main .prosa,.art-main .decisione,.art-main .condividi,.art-main .avviso{max-width:72ch}
.art-main .art-cop{max-width:100%}
.art-side{position:sticky;top:90px;display:flex;flex-direction:column;gap:1.2rem}
.as-box{background:#fff;border:1px solid var(--linea);border-radius:6px;padding:1.3rem}
.as-box .kicker{color:var(--cotto);margin:0 0 .3rem}
.as-box p{font-size:.93rem;color:var(--pietra);margin:0 0 .8rem}
.as-nome{font-family:var(--serif);font-size:1.25rem;color:var(--ink)!important;margin:0 0 .4rem!important}
.as-autore img{width:64px;height:64px;border-radius:50%;object-fit:cover;margin-bottom:.8rem}
.as-link{display:inline-block;margin-top:.7rem;font-weight:600;color:var(--verde);text-decoration:none}
.as-rel{display:block;padding:.7rem 0;border-top:1px solid var(--linea);text-decoration:none;color:var(--ink);font-family:var(--serif);font-size:1.02rem;line-height:1.3}
.as-rel span{display:block;font-family:var(--sans);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--cotto);margin-bottom:.2rem}
.chi-pag{display:grid;grid-template-columns:400px minmax(0,1fr);column-gap:5rem;align-items:start}
.chi-pag>*{grid-column:2}
.chi-pag>.studio-foto{grid-column:1;grid-row:1/span 12;float:none;width:100%;margin:0;position:sticky;top:90px;aspect-ratio:4/5}
.chi-pag .prosa{max-width:70ch}
.chi-pag .sedi{max-width:760px}
@media (max-width:1100px){.griglia-art{grid-template-columns:repeat(2,1fr)}.art-g{grid-template-columns:1fr 300px;gap:3rem}.chi-pag{grid-template-columns:300px 1fr;column-gap:3rem}}
@media (max-width:860px){
  .wrap{padding:0 1.25rem}
  .griglia-art{grid-template-columns:1fr;gap:1.6rem}
  .griglia-art .art-voce{border-bottom:1px solid var(--linea);padding-bottom:1.4rem}
  .art-g{grid-template-columns:1fr;gap:2rem}
  .art-side{position:static}
  .chi-pag{grid-template-columns:1fr}
  .chi-pag>*,.chi-pag>.studio-foto{grid-column:1;grid-row:auto;position:static}
}

/* ---- v9 struttura home ---- */
.sez-link{font-size:.9rem;font-weight:600;color:var(--verde);text-decoration:none}
.ap3{display:grid;grid-template-columns:1.25fr 1fr .85fr;gap:1.6rem;align-items:stretch}
.ap3-main{display:flex;flex-direction:column;background:#fff;border:1px solid var(--linea);border-radius:6px;overflow:hidden;text-decoration:none;color:var(--ink)}
.ap3-cop{position:relative;display:block}
.ap3-cop .copertina{border-radius:0}
.badge{position:absolute;left:1rem;top:1rem;background:#fff;color:var(--ink);font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.35rem .6rem;border-radius:3px}
.ap3-txt{display:flex;flex-direction:column;gap:.5rem;padding:1.4rem 1.5rem 1.5rem}
.ap3-tit{font-family:var(--serif);font-size:1.7rem;line-height:1.15;letter-spacing:-.015em}
.ap3-abs{color:var(--pietra)}
.ap3-meta{font-size:.8rem;color:var(--pietra);display:flex;justify-content:space-between;gap:1rem;margin-top:.4rem}
.ap3-main:hover .ap3-tit,.ap3-voce:hover .ap3-vtit{color:var(--verde)}
.ap3-lista{display:flex;flex-direction:column}
.ap3-voce{display:flex;flex-direction:column;gap:.35rem;padding:1rem 0 1.1rem;border-bottom:1px solid var(--linea);text-decoration:none;color:var(--ink)}
.ap3-voce:first-child{padding-top:0}
.ap3-vtit{font-family:var(--serif);font-size:1.28rem;line-height:1.22}
.ap3-nota{font-size:.88rem;color:var(--pietra);margin:1rem 0 0;padding-left:.9rem;border-left:2px solid var(--cotto)}
.ap3-nota strong{color:var(--ink)}
.ap3-lettori{background:#F1F4F8;border:1px solid #E1E7EF;border-radius:6px;padding:1.5rem}
.ap3-lettori .kicker{color:var(--cotto);margin:0 0 .5rem}
.ap3-lt{font-family:var(--serif);font-size:1.55rem;line-height:1.15;margin:0 0 .6rem;color:var(--ink)}
.ap3-lettori p{color:var(--pietra);font-size:.95rem}
.passi-mini{list-style:none;padding:0;margin:0;border-top:1px solid #DCE3EC}
.passi-mini li{display:flex;gap:.8rem;padding:.55rem 0;font-size:.9rem;border-bottom:1px solid #E6EBF2}
.passi-mini span{font-weight:700;color:var(--verde);font-size:.8rem;padding-top:.1rem}
.problemi{padding:3.5rem 0}
.celle{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--linea);border-radius:6px;overflow:hidden;background:#fff}
.cella{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:.4rem;text-align:left;font:inherit;background:#fff;border:none;border-right:1px solid var(--linea);border-bottom:1px solid var(--linea);padding:1.4rem 1.4rem 1.5rem;cursor:pointer;color:var(--ink);text-decoration:none;min-height:150px}
.cella:nth-child(4n){border-right:none}
.cella:nth-last-child(-n+4){border-bottom:none}
.cella:hover{background:#FAFBFC}
.c-ico{color:var(--verde);margin-bottom:.5rem}
.c-freccia{position:absolute;right:1.2rem;top:1.2rem;color:var(--pietra)}
.c-nome{font-weight:700;font-size:1rem}
.c-descr{font-size:.88rem;color:var(--pietra);line-height:1.4}
.c-tutti{background:#F1F4F8}
.c-tutti .c-nome{color:var(--verde);margin-top:auto}
.strumento{padding:1rem 0 3.5rem}
.st-g{display:grid;grid-template-columns:.9fr 1.1fr;gap:3rem;align-items:center;background:#1D2B4A;border-radius:6px;padding:3rem}
.st-sx .kicker{color:#E0B79A}
.st-sx h2{color:#fff;font-weight:400;font-size:clamp(1.8rem,3vw,2.4rem);line-height:1.15}
.st-sx p{color:rgba(255,255,255,.78);max-width:46ch}
.st-card{margin:0;border-top:none!important;border-radius:6px;box-shadow:none!important;grid-template-columns:1fr 1fr!important;background:#fff}
.st-card .kicker{color:var(--cotto)}
.percorsi{padding:0 0 3.5rem}
.pc-g{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.pc{display:flex;flex-direction:column;gap:.55rem;background:#F1F4F8;border:1px solid #E1E7EF;border-radius:6px;padding:1.6rem;text-decoration:none;color:var(--ink)}
.pc svg{color:var(--verde);margin-bottom:.4rem}
.pc-t{font-family:var(--serif);font-size:1.45rem}
.pc-d{color:var(--pietra);font-size:.95rem}
.pc-l{margin-top:auto;padding-top:.6rem;font-weight:600;color:var(--verde)}
.pc:hover{border-color:var(--verde)}
.professionista{border-top:1px solid var(--linea);padding:3.5rem 0}
.pr-g{display:grid;grid-template-columns:260px .8fr 1.2fr;gap:3rem;align-items:start}
.pr-foto{margin:0;border-radius:6px;overflow:hidden;aspect-ratio:4/5}
.pr-foto img{width:100%;height:100%;object-fit:cover;object-position:50% 20%;display:block}
.pr-sx .kicker{color:var(--cotto)}
.pr-sx h2{font-weight:400;font-size:clamp(2rem,3.4vw,2.6rem)}
.pr-sotto{color:var(--pietra)}
.pr-dx p{color:#3F434C}
.chips{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}
.chips span{font-size:.85rem;padding:.4rem .75rem;border:1px solid var(--linea);border-radius:3px;background:#FBFBF9}
.metodo2{padding:0 0 4rem}
.m2{display:flex;gap:2.5rem;align-items:flex-start;background:#1D2B4A;color:#fff;border-radius:6px;padding:2.8rem 3.5rem}
.m2-par{font-family:var(--serif);font-size:4.5rem;line-height:.9;color:#E0B79A}
.m2 .kicker{color:#E0B79A}
.m2 h2{color:#fff;font-weight:400}
.m2 p{color:rgba(255,255,255,.82);max-width:75ch}
.m2 .m-firma{color:#fff!important;font-style:normal;font-family:var(--sans);font-size:.9rem}
@media (max-width:1100px){.ap3{grid-template-columns:1fr 1fr}.ap3-lettori{grid-column:1/-1}.celle{grid-template-columns:repeat(2,1fr)}.cella:nth-child(4n){border-right:1px solid var(--linea)}.cella:nth-child(2n){border-right:none}.cella:nth-last-child(-n+4){border-bottom:1px solid var(--linea)}.cella:nth-last-child(-n+2){border-bottom:none}.pr-g{grid-template-columns:220px 1fr}.pr-dx{grid-column:1/-1}}
@media (max-width:860px){
  .ap3{grid-template-columns:1fr}
  .ap3-tit{font-size:1.45rem}
  .problemi{padding:2.5rem 0}
  .st-g{grid-template-columns:1fr;padding:1.6rem;gap:1.4rem}
  .st-card{grid-template-columns:1fr!important}
  .pc-g{grid-template-columns:1fr}
  .pr-g{grid-template-columns:1fr;gap:1.4rem}
  .pr-foto{aspect-ratio:1/1}
  .m2{flex-direction:column;gap:.5rem;padding:1.8rem}
  .sez-riga{flex-direction:column;gap:.3rem}
  .cella{min-height:0;padding:1.1rem}
}
.pr-lead{font-family:var(--serif);font-size:1.45rem;line-height:1.3;color:var(--ink)!important;margin-bottom:1rem}

/* ---- Integrazioni WordPress ---- */
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}
.menu ul{list-style:none;margin:0;padding:0;display:contents}
.menu li{display:contents}
.menu .current-menu-item>a,.menu .current_page_item>a{color:var(--verde);box-shadow:inset 0 -2px 0 var(--verde)}
.wp-post-image,.copertina-img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:6px}
.ap3-cop .wp-post-image{border-radius:0}
.prosa img{max-width:100%;height:auto}
.prosa a{color:var(--verde)}
.paginazione{display:flex;gap:.5rem;justify-content:center;margin:2.5rem 0}
.paginazione .page-numbers{padding:.5rem .9rem;border:1px solid var(--linea);border-radius:4px;text-decoration:none;color:var(--ink)}
.paginazione .current{background:var(--verde);color:#fff;border-color:var(--verde)}
.esito-ok{background:#EEF6F1;border:1px solid #CFE6D8;border-left:4px solid #2E7D57;border-radius:6px;padding:1rem 1.2rem;margin:1rem 0}
.esito-ko{background:#FBEFEC;border:1px solid #F0D2CA;border-left:4px solid var(--ceralacca);border-radius:6px;padding:1rem 1.2rem;margin:1rem 0}
.hp{position:absolute;left:-9999px}
.gp-form .campo{margin-bottom:1rem}
.cerca form{margin:0}
.h3-temi a.h3-tema{display:inline-flex;align-items:center;gap:.45rem;font-size:.88rem;font-weight:500;padding:.55rem .95rem;border-radius:4px;color:var(--ink);text-decoration:none}
.h3-temi a.h3-tema:hover{background:var(--carta)}
.h3-temi a.h3-tema.attivo{background:var(--verde);color:#fff;font-weight:600}
.aree .area-link{display:inline-block;padding:.4rem .85rem;border:1px solid var(--linea);border-radius:30px;text-decoration:none;color:var(--ink);font-size:.88rem;background:#fff}
.aree .area-link[aria-current="page"]{background:var(--verde);border-color:var(--verde);color:#fff}
.menu a[aria-current="page"],.menu .current-menu-item>a{border-bottom-color:var(--verde);color:var(--verde)}
.pagina-testo{font-size:1.05rem}
@media (max-width:860px){.h3-temi a.h3-tema{white-space:nowrap;border:1px solid var(--linea)}.h3-temi a.h3-tema.attivo{border-color:var(--verde)}}
.ap3-lettori .ap3-lt{font-size:1.55rem;color:var(--ink)}

.tab-wrap{overflow-x:auto;margin:1rem 0 1.4rem}
.cookie-tab{width:100%;border-collapse:collapse;font-size:.92rem;min-width:560px}
.cookie-tab th,.cookie-tab td{border:1px solid var(--linea);padding:.55rem .7rem;text-align:left;vertical-align:top}
.cookie-tab th{background:var(--carta);font-weight:600}

/* ---- contatti ---- */
.cta-top{display:none}
@media (min-width:861px){.cta-top{display:inline-flex;order:3;margin-left:1rem;padding:.5rem .95rem;border-radius:4px;background:var(--cotto);color:#fff;text-decoration:none;font-weight:600;font-size:.88rem;white-space:nowrap}.cta-top:hover{background:#A0563C}}
.cta-caso{max-width:72ch;margin:2rem 0 1rem;padding:1.6rem 1.7rem;border-radius:6px;background:#F1F4F8;border:1px solid #E1E7EF;border-left:4px solid var(--cotto)}
.cta-caso .kicker{color:var(--cotto);margin:0 0 .3rem}
.cta-tit{font-family:var(--serif);font-size:1.5rem;line-height:1.2;margin:0 0 .6rem;color:var(--ink)}
.cta-caso p{color:#3F434C}
.cta-az{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem}
.cta-az .btn{display:inline-flex;align-items:center;gap:.45rem}
.cta-calc{margin-top:1rem;padding-top:1rem;border-top:1px dashed var(--linea)}
.cta-calc p{font-size:.92rem;color:#3F434C;margin:0 0 .7rem}
.wa-float{position:fixed;right:1.1rem;bottom:1.2rem;z-index:40;width:54px;height:54px;border-radius:50%;background:#25D366;color:#fff;display:grid;place-items:center;box-shadow:0 8px 22px rgba(0,0,0,.2)}
.wa-float:hover{background:#1EBE5A}
@media (max-width:860px){.wa-float{bottom:calc(84px + env(safe-area-inset-bottom,0px));right:.9rem;width:50px;height:50px}.cta-az .btn{flex:1 1 100%;justify-content:center}}
