/* EMERSÍ · foglio di stile unico
   Guida: GUIDA_GRAFICA.md */

@font-face{font-family:"Archivo";src:url(../fonts/archivo-var.woff2) format("woff2");font-weight:100 900;font-stretch:62% 125%;font-display:swap}
@font-face{font-family:"Plex";src:url(../fonts/plex-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Plex";src:url(../fonts/plex-600.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Plex";src:url(../fonts/plex-700.woff2) format("woff2");font-weight:700;font-display:swap}

:root{
  /* colori */
  --navy:#0B2D4A;        /* titoli, header, sezioni istituzionali */
  --navy-deep:#08223A;   /* piè di pagina */
  --teal:#00C4A7;        /* accento su fondo scuro */
  --teal-ink:#007A68;    /* accento su fondo chiaro (4,6:1 su bianco caldo) */
  --coral:#FF6B5B;       /* solo azioni primarie; testo sopra sempre blu notte */
  --paper:#F3EEE9;       /* fondo editoriale */
  --white:#FFFFFF;
  --ink:#17212B;         /* testo */
  --muted:#4A5866;       /* testo secondario su chiaro (6,3:1) */
  --muted-dark:#B9C7D3;  /* testo secondario su blu (8,2:1) */
  --rule:#D8D0C6;        /* filetti su chiaro */
  --rule-dark:rgba(255,255,255,.22);
  /* caratteri */
  --f-display:"Archivo","Arial Narrow",Arial,sans-serif;
  --f-text:"Plex","Helvetica Neue",Arial,sans-serif;
  /* misure */
  --max:1240px;--gutter:24px;--radius:2px;
  --s1:8px;--s2:16px;--s3:24px;--s4:32px;--s5:48px;--s6:64px;--s7:96px;--s8:128px;
}

*,*::before,*::after{box-sizing:border-box}
*{margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-padding-top:88px}
body{font-family:var(--f-text);font-size:18px;line-height:1.6;color:var(--ink);background:var(--paper);overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration-thickness:1.5px;text-underline-offset:3px}
ul,ol{list-style:none}
:focus-visible{outline:3px solid var(--coral);outline-offset:3px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:8px;z-index:300;background:var(--coral);color:var(--navy);padding:10px 16px;font-weight:700}
.skip:focus{left:12px}

/* ---------- impaginazione ---------- */
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}
.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--s3)}
.sec{padding:var(--s7) 0}
.sec--white{background:var(--white)}
.sec--navy{background:var(--navy);color:var(--white)}
.sec--tight{padding:var(--s6) 0}
.measure{max-width:64ch}

/* ---------- tipografia ---------- */
.display{font-family:var(--f-display);font-weight:800;font-stretch:72%;text-transform:uppercase;line-height:.9;letter-spacing:-.01em}
.h1{font-size:clamp(52px,8.4vw,124px)}
.h2{font-family:var(--f-display);font-weight:800;font-stretch:82%;font-size:clamp(34px,4.4vw,60px);line-height:1;letter-spacing:-.015em;color:var(--navy)}
.sec--navy .h2,.hero .h2{color:var(--white)}
.h3{font-family:var(--f-display);font-weight:800;font-stretch:85%;font-size:clamp(22px,2vw,28px);line-height:1.1;color:var(--navy)}
.sec--navy .h3{color:var(--white)}
.label{display:block;font-family:var(--f-text);font-weight:600;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.sec--navy .label,.hero .label{color:var(--teal)}
.lead{font-size:clamp(19px,1.6vw,22px);line-height:1.5}
.muted{color:var(--muted)}
.sec--navy .muted{color:var(--muted-dark)}
.accent{color:var(--teal-ink)}
.sec--navy .accent,.hero .accent{color:var(--teal)}
.ref{display:block;margin-top:var(--s2);font-size:14px;color:var(--muted)}
.sec--navy .ref{color:var(--muted-dark)}
p+p{margin-top:var(--s2)}

/* ---------- pulsanti e link ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:14px 24px;border-radius:var(--radius);font:700 15px/1.1 var(--f-text);letter-spacing:.06em;text-transform:uppercase;text-decoration:none;border:2px solid transparent;cursor:pointer;transition:background-color .15s,color .15s,border-color .15s}
.btn--primary{background:var(--coral);color:var(--navy)}
.btn--primary:hover{background:var(--white);color:var(--navy)}
.sec--white .btn--primary:hover,.page-head .btn--primary:hover,.sec:not(.sec--navy) .btn--primary:hover{background:var(--navy);color:var(--white)}
.btn--secondary{border-color:currentColor;color:inherit;background:transparent}
.btn--secondary:hover{background:var(--navy);border-color:var(--navy);color:var(--white)}
.sec--navy .btn--secondary:hover,.hero .btn--secondary:hover{background:var(--white);border-color:var(--white);color:var(--navy)}
.more{display:inline-flex;align-items:center;gap:8px;font-weight:700;text-decoration:none;border-bottom:2px solid currentColor;padding-bottom:2px}
.more::after{content:"→";transition:transform .15s}
.more:hover::after{transform:translateX(4px)}

/* ---------- header ---------- */
.site-head{position:sticky;top:0;z-index:100;background:var(--navy);color:var(--white)}
.site-head .wrap{display:flex;align-items:center;gap:var(--s3);height:72px}
.brand{flex:none;width:132px}
.mainnav{margin-left:auto}
.mainnav ul{display:flex;gap:4px}
.mainnav a{display:block;padding:10px 12px;font-weight:600;font-size:15px;text-decoration:none}
.mainnav a:hover,.mainnav a[aria-current="page"]{text-decoration:underline;text-decoration-color:var(--teal);text-decoration-thickness:2px;text-underline-offset:6px}
.site-head .btn{min-height:44px;padding:10px 16px;font-size:13px}
.menu-btn{display:none;background:none;border:2px solid var(--white);color:var(--white);border-radius:999px;font:700 13px var(--f-text);letter-spacing:.08em;text-transform:uppercase;padding:0 14px;min-height:44px;cursor:pointer}

/* ---------- hero (home) ---------- */
.hero{background:var(--navy);color:var(--white);position:relative;overflow:hidden}
.hero .grid{align-items:stretch;min-height:min(680px,82vh)}
.hero__text{grid-column:1/8;padding:var(--s7) 0;display:flex;flex-direction:column;justify-content:center;position:relative;z-index:2}
.hero__text .lead{max-width:40ch;margin-top:var(--s4);color:var(--muted-dark)}
.hero__ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:var(--s5)}
.hero__media{grid-column:8/13;position:relative;margin-right:calc(-1 * (max(0px,(100vw - var(--max)) / 2) + var(--gutter)))}
.hero__media .photo{position:absolute;inset:0;min-height:0}
.hero__shape{position:absolute;z-index:1;left:-90px;bottom:-140px;width:300px;height:300px;border-radius:50%;background:var(--teal)}

/* ---------- foto ---------- */
.photo{position:relative;overflow:hidden;background:#24445F;min-height:320px}
.photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 25%}
.photo--bw img{filter:grayscale(1) contrast(1.05)}
.photo--empty{background:
  radial-gradient(circle at 100% 0,var(--teal) 0 34%,transparent 34.2%),
  radial-gradient(circle at 0 100%,var(--coral) 0 22%,transparent 22.2%),
  #24445F}
.photo--empty.alt{background:
  radial-gradient(circle at 0 0,var(--coral) 0 26%,transparent 26.2%),
  radial-gradient(circle at 100% 100%,var(--teal) 0 40%,transparent 40.2%),
  #31506A}

/* ---------- percorsi (home) ---------- */
.paths{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--navy)}
.path{padding:var(--s4) var(--s4) var(--s4) 0;border-right:1px solid var(--rule)}
.path+.path{padding-left:var(--s4)}
.path:last-child{border-right:0}
.path__n{font-family:var(--f-display);font-weight:800;font-stretch:72%;font-size:64px;line-height:1;color:var(--teal-ink)}
.path .h3{margin:var(--s2) 0 var(--s1)}
.path p{color:var(--muted);margin-bottom:var(--s3)}
.path--key{background:var(--navy);color:var(--white);padding-left:var(--s4)!important;border-right:0}
.path--key .h3{color:var(--white)}
.path--key p{color:var(--muted-dark)}
.path--key .path__n{color:var(--teal)}

/* ---------- missione ---------- */
.mission{align-items:center;row-gap:var(--s5)}
.mission .photo{grid-column:1/7;min-height:520px}
.mission__text{grid-column:8/13}
.mission__text .h2{margin:var(--s2) 0 var(--s4)}

/* ---------- indice editoriale ---------- */
.index{border-top:1px solid var(--navy);counter-reset:i}
.index a{display:grid;grid-template-columns:80px 1fr 1.2fr 40px;gap:var(--s3);align-items:baseline;padding:var(--s3) 0;border-bottom:1px solid var(--rule);text-decoration:none;transition:background-color .15s}
.index a:hover{background:var(--white)}
.index .n{font-family:var(--f-display);font-weight:800;font-stretch:72%;font-size:28px;color:var(--teal-ink)}
.index .t{font-family:var(--f-display);font-weight:800;font-stretch:85%;font-size:26px;line-height:1.1;color:var(--navy)}
.index .d{color:var(--muted);font-size:16px}
.index .a{justify-self:end;font-size:22px;color:var(--navy)}

/* ---------- termini ---------- */
.terms{display:grid;grid-template-columns:repeat(3,1fr);column-gap:var(--s5);row-gap:var(--s5)}
.term{border-top:1px solid var(--rule-dark);padding-top:var(--s3)}
.term__n{font-family:var(--f-display);font-weight:800;font-stretch:72%;font-size:clamp(88px,10vw,140px);line-height:.85;color:var(--teal)}
.term__u{font-family:var(--f-display);font-weight:800;font-stretch:80%;font-size:26px;text-transform:uppercase;margin:6px 0 var(--s2)}
.term p{color:var(--muted-dark);font-size:17px}
.sec--white .term,.guide .term{border-color:var(--rule)}
.guide .term__n{color:var(--navy)}
.guide .term p{color:var(--muted)}

/* ---------- passi ---------- */
.steps{display:grid;grid-template-columns:repeat(4,1fr);column-gap:var(--s4);row-gap:var(--s5);counter-reset:s}
.step{border-top:3px solid var(--navy);padding-top:var(--s3)}
.step__n{font-family:var(--f-display);font-weight:800;font-stretch:72%;font-size:20px;color:var(--teal-ink);letter-spacing:.04em}
.step .h3{margin:var(--s1) 0 var(--s2)}
.step p{color:var(--muted);font-size:17px}

/* ---------- riservatezza ---------- */
.privacy-block{grid-column:1/13;display:grid;grid-template-columns:5fr 7fr;gap:var(--s6)}
.checks li{display:grid;grid-template-columns:28px 1fr;gap:var(--s2);padding:var(--s2) 0;border-top:1px solid var(--rule-dark)}
.checks li::before{content:"";width:14px;height:14px;margin-top:7px;background:var(--teal)}
.sec--white .checks li,.sec:not(.sec--navy) .checks li{border-color:var(--rule)}
.sec:not(.sec--navy) .checks li::before{background:var(--teal-ink)}

/* ---------- testata pagine interne ---------- */
.page-head{padding:var(--s7) 0 var(--s6);border-bottom:1px solid var(--navy)}
.page-head .display{color:var(--navy);font-size:clamp(48px,7vw,104px);margin:var(--s2) 0 var(--s3)}
.page-head .lead{max-width:56ch;color:var(--muted)}
.page-head--navy{background:var(--navy);color:var(--white);border:0}
.page-head--navy .display{color:var(--white)}
.page-head--navy .lead{color:var(--muted-dark)}
.page-head--split .grid{align-items:end}

/* ---------- guida (diritti) ---------- */
.guide{display:grid;grid-template-columns:260px minmax(0,1fr);gap:var(--s6);padding:var(--s6) 0 var(--s7)}
.toc{position:sticky;top:96px;align-self:start;border-top:3px solid var(--navy);padding-top:var(--s2)}
.toc ol{counter-reset:t}
.toc a{display:grid;grid-template-columns:32px 1fr;padding:8px 0;font-size:15px;font-weight:600;text-decoration:none;color:var(--muted);border-bottom:1px solid var(--rule)}
.toc a span{font-family:var(--f-display);font-weight:800;font-stretch:72%;color:var(--teal-ink)}
.toc a:hover,.toc a.is-active{color:var(--navy)}
.toc a.is-active{box-shadow:inset 3px 0 0 var(--coral);padding-left:8px}
.chapter{padding:var(--s5) 0;border-top:1px solid var(--rule)}
.chapter:first-child{border-top:0;padding-top:0}
.chapter__head{display:flex;gap:var(--s3);align-items:baseline;margin-bottom:var(--s3)}
.chapter__n{font-family:var(--f-display);font-weight:800;font-stretch:72%;font-size:40px;color:var(--teal-ink);line-height:1}
.chapter .body{max-width:68ch}
.chapter .body>*+*{margin-top:var(--s2)}
.chapter h3{font-weight:700;font-size:19px;margin-top:var(--s4)!important;color:var(--navy)}
.see{margin-top:var(--s3)!important;font-size:15px;color:var(--muted)}
.see a{font-weight:600;color:var(--navy)}
.pair{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:var(--s3)!important;max-width:none!important}
.pair>div{padding:var(--s4)}
.pair .dark{background:var(--navy);color:var(--white)}
.pair .dark .h3{color:var(--white)}
.pair .light{background:var(--white)}
.pair .warm{background:#FBE3DE}
.pair ul li{padding:10px 0;border-top:1px solid var(--rule);font-size:17px}
.pair .dark li{border-color:var(--rule-dark)}
.pair .h3{margin:var(--s1) 0 var(--s2)}
.pair .label{color:var(--teal-ink)}
.pair .dark .label{color:var(--teal)}
.proofs{display:grid;grid-template-columns:1fr 1fr;column-gap:var(--s4);margin-top:var(--s3)!important;max-width:none!important}
.proofs li{padding:var(--s2) 0;border-top:1px solid var(--rule)}
.proofs b{display:block;color:var(--navy)}
.callout{background:var(--white);border-left:4px solid var(--coral);padding:var(--s3)}
.hotline{background:var(--navy);color:var(--white);padding:var(--s4);display:grid;grid-template-columns:1fr 1fr;gap:var(--s4);max-width:none!important}
.hotline .tel{display:block;font-family:var(--f-display);font-weight:800;font-stretch:72%;font-size:56px;line-height:1;text-decoration:none;margin:6px 0}
.hotline .tel:hover{color:var(--teal)}
.hotline p{color:var(--muted-dark);font-size:15px}
.terms--guide{margin-top:var(--s3)!important;max-width:none!important}

/* ---------- test rapido ---------- */
.quiz{max-width:760px;margin:0 auto;padding:var(--s6) 0 var(--s7)}
.quiz__bar{display:flex;gap:6px;margin-bottom:var(--s4)}
.quiz__bar i{flex:1;height:6px;background:var(--rule)}
.quiz__bar i.done{background:var(--navy)}
.quiz__count{font-weight:600;font-size:14px;letter-spacing:.12em;text-transform:uppercase;color:var(--teal-ink)}
.quiz__q{font-family:var(--f-display);font-weight:800;font-stretch:85%;font-size:clamp(30px,3.6vw,46px);line-height:1.05;color:var(--navy);margin:var(--s2) 0 var(--s5)}
.quiz__opts{display:grid;gap:12px}
.opt{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:64px;padding:16px 22px;text-align:left;font:600 19px var(--f-text);color:var(--navy);background:var(--white);border:2px solid var(--navy);border-radius:var(--radius);cursor:pointer}
.opt::after{content:"→";opacity:.4}
.opt:hover{background:var(--navy);color:var(--white)}
.opt:hover::after{opacity:1}
.quiz__nav{display:flex;justify-content:space-between;align-items:center;margin-top:var(--s4);min-height:44px}
.linkbtn{background:none;border:0;font:600 16px var(--f-text);color:var(--navy);text-decoration:underline;text-underline-offset:4px;cursor:pointer;padding:10px 0}
.linkbtn[hidden]{display:none}
.quiz__step[hidden],.quiz__result[hidden]{display:none}
.quiz__result .h2{margin:var(--s2) 0 var(--s3)}
.quiz__result .btn{margin-top:var(--s4)}
.quiz__note{margin-top:var(--s5);padding-top:var(--s3);border-top:1px solid var(--rule);font-size:15px;color:var(--muted)}

/* ---------- elenchi istituzionali ---------- */
.rules{display:grid;grid-template-columns:1fr 1fr;column-gap:var(--s5)}
.rules li{padding:var(--s3) 0;border-top:1px solid var(--rule)}
.sec--navy .rules li{border-color:var(--rule-dark)}
.rules .h3{margin-bottom:var(--s1)}
.facts{border-top:1px solid var(--navy)}
.facts div{display:grid;grid-template-columns:200px 1fr;gap:var(--s2);padding:var(--s2) 0;border-bottom:1px solid var(--rule)}
.facts dt{color:var(--muted);font-size:16px}
.facts dd{font-weight:600;color:var(--navy)}
.contacts div{display:grid;grid-template-columns:220px 1fr;gap:var(--s2);padding:var(--s3) 0;border-bottom:1px solid var(--rule-dark)}
.contacts{border-top:1px solid var(--teal)}
.contacts dt{color:var(--muted-dark)}
.contacts dd{font-weight:700;font-size:20px}

/* ---------- domande ---------- */
.faq{border-top:1px solid var(--navy)}
.faq details{border-bottom:1px solid var(--rule)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:var(--s3);padding:var(--s3) 0;font-weight:700;font-size:19px;color:var(--navy)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--f-display);font-weight:800;font-size:28px;line-height:.8;color:var(--teal-ink)}
.faq details[open] summary::after{content:"–"}
.faq .a{padding:0 0 var(--s3);color:var(--muted);max-width:68ch}

/* ---------- statuto ---------- */
.doc{display:grid;grid-template-columns:280px minmax(0,1fr);gap:var(--s6);padding:var(--s6) 0 var(--s7)}
.doc .toc{max-height:calc(100vh - 120px);overflow:auto}
.doc .toc .tt{display:block;margin:var(--s2) 0 4px;font-weight:700;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--navy)}
.doc .toc a{grid-template-columns:1fr;font-weight:400;padding:6px 0}
.search{margin-bottom:var(--s4)}
.search label{display:block;font-weight:600;font-size:15px;margin-bottom:6px}
.search input{width:100%;min-height:52px;padding:12px 16px;font:400 18px var(--f-text);color:var(--ink);background:var(--white);border:2px solid var(--navy);border-radius:var(--radius)}
.search p{font-size:14px;color:var(--muted);margin-top:6px}
.paper{background:var(--white);padding:var(--s6) var(--s6);max-width:820px}
.paper .titolo{font-family:var(--f-display);font-weight:800;font-stretch:80%;text-transform:uppercase;font-size:26px;color:var(--navy);margin:var(--s6) 0 var(--s3);padding-bottom:var(--s1);border-bottom:1px solid var(--navy)}
.paper .titolo:first-child{margin-top:0}
.art{margin-bottom:var(--s4)}
.art h3{font-weight:700;font-size:18px;color:var(--navy);margin-bottom:var(--s1)}
.art p{font-size:17px;line-height:1.65}
.art p+p{margin-top:10px}
.art p.li{padding-left:28px;text-indent:-28px}
.art[hidden]{display:none}
mark{background:#FFD6CF;color:var(--ink);padding:0 2px}

/* ---------- piè di pagina ---------- */
.site-foot{background:var(--navy-deep);color:var(--white);padding:var(--s6) 0 var(--s4)}
.site-foot .grid{row-gap:var(--s5)}
.foot-brand{grid-column:1/5}
.foot-brand img{width:220px}
.foot-brand p{margin-top:var(--s2);color:var(--muted-dark);font-size:15px}
.foot-col{grid-column:span 2}
.foot-col.wide{grid-column:span 4}
.foot-col h2{font:700 13px var(--f-text);letter-spacing:.14em;text-transform:uppercase;color:var(--teal);margin-bottom:var(--s2)}
.foot-col li{margin-bottom:8px;font-size:15px}
.foot-col a{text-decoration:none;color:var(--muted-dark)}
.foot-col a:hover{color:var(--white);text-decoration:underline}
.foot-col p{font-size:15px;color:var(--muted-dark)}
.foot-legal{margin-top:var(--s6);padding-top:var(--s3);border-top:1px solid var(--rule-dark);display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--s2);font-size:13px;color:var(--muted-dark)}

/* ---------- responsive ---------- */
@media (max-width:1080px){
  .mainnav a{padding:10px 8px;font-size:14px}
  .steps{grid-template-columns:1fr 1fr}
  .index a{grid-template-columns:56px 1fr 30px}
  .index .d{grid-column:2/3}
  .index .a{grid-row:1;grid-column:3}
}
@media (max-width:960px){
  .menu-btn{display:inline-flex;align-items:center}
  .mainnav{position:absolute;left:0;right:0;top:72px;background:var(--navy);border-top:1px solid var(--rule-dark);display:none}
  .site-head.is-open .mainnav{display:block}
  .mainnav ul{flex-direction:column;padding:8px var(--gutter) 24px}
  .mainnav a{padding:16px 0;font-size:18px;border-bottom:1px solid var(--rule-dark)}
  .site-head .wrap{gap:12px}
  .site-head .btn{margin-left:auto}
  .hero__text,.hero__media,.mission .photo,.mission__text,.privacy-block{grid-column:1/-1}
  .hero .grid{min-height:0}
  .hero__text{padding:var(--s6) 0 var(--s5)}
  .hero__media{margin:0 calc(-1 * var(--gutter));min-height:300px}
  .hero__shape{display:none}
  .privacy-block{grid-template-columns:1fr;gap:var(--s4)}
  .guide,.doc{grid-template-columns:1fr;gap:var(--s4)}
  .toc{position:static}
  .doc .toc{max-height:none}
  .doc .toc ol{columns:2;column-gap:24px}
}
@media (max-width:720px){
  :root{--gutter:16px}
  body{font-size:17px}
  .sec{padding:var(--s6) 0}
  .paths,.terms,.steps,.rules,.pair,.proofs,.hotline{grid-template-columns:1fr}
  .path,.path+.path{padding:var(--s4) 0;border-right:0;border-bottom:1px solid var(--rule)}
  .path--key{padding:var(--s4)!important;margin:0 calc(-1 * var(--gutter))}
  .path__n{font-size:48px}
  .mission .photo{min-height:300px}
  .facts div,.contacts div{grid-template-columns:1fr;gap:2px}
  .paper{padding:var(--s4) var(--s3)}
  .pair>div{padding:var(--s3)}
  .doc .toc ol{columns:1}
  .foot-brand,.foot-col,.foot-col.wide{grid-column:1/-1}
  .hero__ctas .btn,.quiz__result .btn{width:100%}
  .site-head .btn{padding:10px 12px;font-size:12px}
  .brand{width:112px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media print{.site-head,.site-foot,.toc,.search,.menu-btn{display:none}.paper{padding:0}}

/* =========================================================
   Stile della tavola «Diritti alla luce»
   ========================================================= */
:root{--violet:#7C80E6;--pill:999px}
.btn{border-radius:var(--pill);text-transform:none;letter-spacing:0;font-size:16px;padding:14px 26px}
.btn--primary::after{content:"→"}
.site-head .btn{font-size:14px}
.site-head .btn::after{content:none}
.hero .accent--coral,.accent--coral{color:var(--coral)}
.hl-teal{color:var(--teal)}

/* foto con forme del marchio */
.shp{position:relative;isolation:isolate}
.shp .photo{z-index:1}
.shp::before,.shp::after{content:"";position:absolute;border-radius:50%;z-index:0}
.shp--hero::before{width:70%;aspect-ratio:1;left:-22%;top:6%;background:var(--teal)}
.shp--hero::after{width:46%;aspect-ratio:1;right:-12%;bottom:-14%;background:var(--coral)}
.shp--group::before{width:48%;aspect-ratio:1;left:-10%;top:-12%;background:var(--coral)}
.shp--group::after{width:38%;aspect-ratio:1;right:-8%;top:-10%;background:var(--teal)}
.shp--violet::before{width:44%;aspect-ratio:1;left:-12%;bottom:-10%;background:var(--violet)}
.shp--violet::after{width:40%;aspect-ratio:1;right:-10%;top:-12%;background:var(--coral)}
.shp--teal::before{width:50%;aspect-ratio:1;right:-10%;bottom:-16%;background:var(--coral)}
.shp--teal::after{content:none}
.photo--round-l{border-radius:50% 0 0 50% / 50% 0 0 50%}
.photo--arch{border-radius:999px 999px 0 0}
.photo--bw img{filter:grayscale(1) contrast(1.08)}

/* hero come la tavola */
.hero .grid{min-height:min(720px,86vh)}
.hero__media{display:flex}
.hero__media .shp{flex:1}
.hero__media .photo{position:absolute;inset:0 0 0 8%;min-height:0;border-radius:999px 0 0 999px}
.hero__facts{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s3);padding:var(--s4) 0 var(--s5);border-top:1px solid var(--rule-dark);position:relative;z-index:3}
.hero__facts li{font-size:17px;line-height:1.3;color:var(--white)}
.hero__facts b{display:block;font-family:var(--f-display);font-weight:800;font-stretch:80%;font-size:28px;color:var(--coral);margin-bottom:6px}
.hero__shape{display:none}

/* blocco «chi siamo» in home */
.alluce{display:grid;grid-template-columns:5fr 7fr;gap:var(--s6);align-items:center}
.alluce .photo{min-height:460px}

/* cosa facciamo: elenco con icone tonde */
.services li{display:grid;grid-template-columns:52px 1fr;gap:var(--s2);align-items:start;padding:14px 0}
.ico{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--teal);color:var(--navy)}
.ico svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ico--violet{background:var(--violet);color:var(--white)}
.ico--coral{background:var(--coral)}
.ico--soft{background:#DDF6F1;color:var(--teal-ink)}
.services b{display:block;font-size:18px;color:var(--navy)}
.services span{font-size:16px;color:var(--muted)}
.doing{display:grid;grid-template-columns:6fr 6fr;gap:var(--s6);align-items:center}
.doing .photo{min-height:520px}

/* temi in evidenza (pagina diritti) */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s3)}
.card{display:flex;flex-direction:column;gap:var(--s2);padding:var(--s4);background:var(--white);border-radius:14px;text-decoration:none;border:1px solid transparent;transition:border-color .15s}
.card:hover{border-color:var(--navy)}
.card b{font-size:19px;line-height:1.25;color:var(--navy)}
.card span.go{margin-top:auto;color:var(--navy);font-size:20px}
.findbox{display:flex;gap:8px;margin-top:var(--s4);max-width:560px;background:var(--white);border-radius:var(--pill);padding:6px 6px 6px 22px}
.findbox input{flex:1;border:0;background:transparent;font:400 17px var(--f-text);color:var(--ink);min-width:0}
.findbox input:focus{outline:none}
.findbox:focus-within{outline:3px solid var(--coral);outline-offset:3px}
.findbox button{flex:none;width:48px;height:48px;border-radius:50%;border:0;background:var(--navy);color:var(--white);cursor:pointer;font-size:20px}
.page-head--photo{background:var(--navy);color:var(--white);border:0;padding:0;overflow:hidden}
.page-head--photo .grid{align-items:stretch}
.page-head--photo .ph-text{grid-column:1/7;padding:var(--s7) 0 var(--s6)}
.page-head--photo .ph-media{grid-column:7/13;position:relative;min-height:440px;margin-right:calc(-1 * (max(0px,(100vw - var(--max)) / 2) + var(--gutter)))}
.page-head--photo .ph-media .photo{position:absolute;inset:0}
.page-head--photo .display{color:var(--white)}
.find-msg{margin-top:12px;font-size:15px;color:var(--muted-dark);min-height:1.5em}

/* unisciti a noi */
.join{background:var(--teal);color:var(--navy);overflow:hidden}
.join .grid{align-items:center;row-gap:var(--s5)}
.join__text{grid-column:1/7;padding:var(--s7) 0}
.join .label{color:var(--navy)}
.join .h2{color:var(--navy)}
.join p{max-width:46ch}
.join__ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:var(--s4)}
.join .btn--primary{background:var(--navy);color:var(--white)}
.join .btn--primary:hover{background:var(--white);color:var(--navy)}
.join .btn--secondary:hover{background:var(--navy);color:var(--white);border-color:var(--navy)}
.join__media{grid-column:7/13;position:relative;align-self:stretch;min-height:440px;margin-right:calc(-1 * (max(0px,(100vw - var(--max)) / 2) + var(--gutter)))}
.join__media .photo{position:absolute;inset:0;border-radius:999px 0 0 999px;z-index:1}
.join__media::after{content:"";position:absolute;width:220px;height:220px;border-radius:50%;background:var(--coral);right:-60px;top:-60px;z-index:0}

/* iscrizione */
.why{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s4)}
.why li{border-top:3px solid var(--navy);padding-top:var(--s3)}
.why .h3{margin:var(--s2) 0 var(--s1)}
.form{background:var(--white);padding:var(--s5);border-radius:14px;display:grid;gap:var(--s3)}
.form .row2{display:grid;grid-template-columns:1fr 1fr;gap:var(--s3)}
.field label{display:block;font-weight:600;font-size:15px;margin-bottom:6px;color:var(--navy)}
.field input,.field select{width:100%;min-height:52px;padding:12px 16px;font:400 17px var(--f-text);color:var(--ink);background:var(--paper);border:2px solid transparent;border-radius:10px}
.field input:focus,.field select:focus{outline:none;border-color:var(--navy)}
.field .hint{font-size:14px;color:var(--muted);margin-top:6px}
.check{display:grid;grid-template-columns:24px 1fr;gap:12px;align-items:start;font-size:15px;color:var(--muted)}
.check input{width:22px;height:22px;margin-top:2px;accent-color:var(--navy)}
.form .btn{justify-self:start}
.form-msg{font-size:15px;color:var(--navy);min-height:1.4em}
.price{font-family:var(--f-display);font-weight:800;font-stretch:72%;font-size:96px;line-height:.9;color:var(--navy)}

@media (max-width:960px){
  .hero__facts{grid-template-columns:1fr 1fr}
  .hero__media{min-height:360px}
  .hero__media .photo{inset:0;border-radius:999px 0 0 0}
  .alluce,.doing{grid-template-columns:1fr}
  .cards{grid-template-columns:1fr 1fr}
  .page-head--photo .ph-text,.page-head--photo .ph-media,.join__text,.join__media{grid-column:1/-1}
  .page-head--photo .ph-media,.join__media{margin:0 calc(-1 * var(--gutter));min-height:300px}
  .join__text{padding:var(--s6) 0 0}
  .why{grid-template-columns:1fr}
}
@media (max-width:720px){
  .hero__facts{grid-template-columns:1fr 1fr;gap:var(--s3) var(--s2)}
  .hero__facts li{font-size:15px}
  .alluce .photo,.doing .photo{min-height:300px}
  .cards{grid-template-columns:1fr}
  .form{padding:var(--s3)}
  .form .row2{grid-template-columns:1fr}
  .price{font-size:72px}
  .shp::before,.shp::after{transform:scale(.8)}
}

/* =========================================================
   Composizioni fotografiche (foto + cerchi del marchio)
   ========================================================= */
.c{position:absolute;display:block;border-radius:50%;pointer-events:none}
.comp,.hero__art,.join__media{position:relative}
.comp figure,.hero__photo,.join__photo{position:absolute;margin:0;overflow:hidden}
.comp img,.hero__photo img,.join__photo img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.08)}

/* apertura */
.hero{min-height:760px}
.hero .grid{position:relative;z-index:3;min-height:0}
.hero__text{grid-column:1/7;padding:var(--s7) 0 var(--s5)}
.hero__art{position:absolute;top:0;right:0;bottom:0;width:58%;z-index:1}
.hero__art .c--teal{width:118%;aspect-ratio:1;left:-2%;top:-38%;background:var(--teal)}
.hero__photo{inset:0;clip-path:circle(66% at 74% 60%)}
.hero__photo img{object-position:50% 18%}
.hero__art .c--veil{width:120%;aspect-ratio:1;left:-34%;top:58%;background:rgba(11,45,74,.82)}
.hero__facts{border-top:0;padding-top:var(--s5)}
.hero__facts li{text-shadow:0 1px 0 rgba(0,0,0,.2)}

/* «più persone alla luce» */
.comp--luce{height:520px;margin-right:calc(-1 * (max(0px,(100vw - var(--max)) / 2) + var(--gutter)))}
.comp--luce .c--coral{width:62%;aspect-ratio:1;left:-4%;top:-2%;background:var(--coral)}
.comp--luce .c--violet{width:40%;aspect-ratio:1;left:2%;top:46%;background:var(--violet)}
.comp--luce .comp__photo{inset:0 0 0 12%;clip-path:circle(68% at 78% 50%)}
.comp--luce .comp__photo img{object-position:60% 30%}
.comp--luce .c--navy{width:46%;aspect-ratio:1;left:24%;top:58%;background:var(--navy);opacity:.88;mix-blend-mode:multiply}
.comp--luce .c--teal{width:34%;aspect-ratio:1;right:-6%;top:-14%;background:var(--teal);mix-blend-mode:multiply}
.comp--luce .c--coral2{width:24%;aspect-ratio:1;right:-8%;bottom:-10%;background:var(--coral)}

/* «al tuo fianco» */
.comp--doing{height:600px;margin-right:calc(-1 * (max(0px,(100vw - var(--max)) / 2) + var(--gutter)))}
.comp--doing .c--coral{width:78%;aspect-ratio:1;right:-30%;top:-14%;background:var(--coral)}
.comp--doing .c--coral2{width:44%;aspect-ratio:1;left:-6%;top:10%;background:var(--coral)}
.comp--doing .comp__photo{top:8%;bottom:0;left:12%;right:0;border-radius:400px 0 0 0}
.comp--doing .comp__photo img{object-position:30% 30%}
.comp--doing .c--violet{width:56%;aspect-ratio:1;left:-8%;bottom:-22%;background:var(--violet);mix-blend-mode:multiply}
.comp--doing .c--violet2{width:30%;aspect-ratio:1;right:4%;bottom:6%;background:var(--violet);mix-blend-mode:multiply}

/* «unisciti a noi» */
.join{position:relative}
.join__media{min-height:460px}
.join__media::after{content:none}
.join__photo{inset:0;background:var(--teal);clip-path:circle(72% at 80% 50%)}
.join__photo img{mix-blend-mode:multiply;filter:grayscale(1) contrast(1.15) brightness(1.05)}
.join__media .c--coral{width:44%;aspect-ratio:1;right:-14%;top:-10%;background:var(--coral);z-index:2}
.join__media .c--coral2{width:26%;aspect-ratio:1;right:-6%;bottom:-8%;background:var(--coral);z-index:2}

@media (max-width:960px){
  .hero{min-height:0;display:flex;flex-direction:column}
  .hero .grid{order:1}
  .hero__text{padding:var(--s6) 0 var(--s4)}
  .hero__art{position:relative;order:2;width:100%;height:420px}
  .hero__art .c--teal{width:110%;left:-8%;top:-14%}
  .hero__photo{clip-path:circle(72% at 70% 70%)}
  .hero__art .c--veil{width:90%;left:-40%;top:62%}
  .comp--luce,.comp--doing{height:380px;margin:0 calc(-1 * var(--gutter))}
  .join__media{min-height:340px}
}
@media (max-width:720px){
  .hero__art{height:360px}
  .comp--luce,.comp--doing{height:320px}
}

/* --- regolazioni sulla tavola (desktop) --- */
.sec:has(.comp){overflow:hidden}
.hero__art{width:54%}
.hero__art .c--teal{width:100%;left:4%;top:-44%}
.hero__photo{clip-path:circle(60% at 80% 56%)}
.hero__art .c--veil{width:84%;left:34%;top:66%}
.comp--luce .comp__photo{inset:0 0 0 14%;clip-path:circle(60% at 84% 50%)}
.comp--luce .c--coral{width:42%;left:8%;top:8%}
.comp--luce .c--violet{width:22%;left:20%;top:auto;bottom:2%}
.comp--luce .c--navy{width:30%;left:42%;top:auto;bottom:-16%}
.comp--luce .c--teal{width:26%;right:-4%;top:-10%}
.comp--luce .c--coral2{width:18%;right:-4%;bottom:-6%}
@media (max-width:960px){
  .hero__art{width:100%}
  .hero__art .c--teal{width:110%;left:-8%;top:-14%}
  .hero__photo{clip-path:circle(72% at 70% 70%)}
  .hero__art .c--veil{width:90%;left:-40%;top:62%}
}
.comp--luce{height:560px}
.comp--luce .comp__photo{inset:0 0 0 16%;clip-path:circle(64% at 86% 54%)}
.comp--luce .c--coral{width:54%;left:2%;top:-6%}
.comp--luce .c--violet{width:38%;left:10%;bottom:-14%}
.comp--luce .c--navy{display:none}
.comp--luce .comp__photo::after{content:"";position:absolute;width:44%;aspect-ratio:1;border-radius:50%;left:6%;bottom:-30%;background:var(--navy);opacity:.82}
.comp--luce .c--teal{width:30%;right:-6%;top:-12%;mix-blend-mode:normal;z-index:0}
.comp--luce .c--coral2{width:22%;right:-6%;bottom:-8%}
/* le composizioni toccano i bordi della sezione, come nella tavola */
@media (min-width:961px){
  .alluce .comp,.doing .comp{align-self:stretch;height:auto;min-height:620px;margin-top:calc(-1 * var(--s7));margin-bottom:calc(-1 * var(--s7))}
  .comp--luce .comp__photo{inset:0 0 0 14%;clip-path:circle(62% at 92% 50%)}
  .comp--luce .c--coral{width:40%;left:6%;top:6%}
  .comp--luce .c--violet{width:26%;left:16%;top:auto;bottom:6%}
  .comp--luce .comp__photo::after{width:40%;left:4%;bottom:-18%}
  .comp--luce .c--teal{width:24%;right:-4%;top:-6%}
  .comp--luce .c--coral2{width:18%;right:-4%;bottom:-4%}
  .comp--doing .comp__photo{top:0;left:14%;border-radius:420px 0 0 0}
}
@media (min-width:961px){
  .comp--luce .c--coral{width:40%;left:20%;top:-6%}
  .comp--luce .c--violet{width:30%;left:28%;bottom:-8%}
  .comp--luce .comp__photo::after{width:38%;left:24%;bottom:-16%}
  .comp--doing .c--coral2{width:40%;left:4%;top:-4%}
  .comp--doing .c--violet{width:44%;left:6%;bottom:-14%}
}
@media (min-width:961px){
  .comp--doing .comp__photo{top:9%;left:16%;border-radius:440px 0 0 0}
  .comp--doing .c--coral{width:70%;right:-22%;top:-18%}
  .comp--doing .c--coral2{width:36%;left:6%;top:2%}
  .comp--doing .c--violet{width:46%;left:2%;bottom:-16%}
  .comp--doing .c--violet2{width:22%;right:-6%;bottom:4%;mix-blend-mode:normal;z-index:2}
}
/* forme del marchio sulle sezioni blu */
.deco{position:relative;overflow:hidden}
.deco>.wrap{position:relative;z-index:1}
.deco::before,.deco::after{content:"";position:absolute;border-radius:50%;z-index:0}
.deco--a::before{width:420px;height:420px;right:-160px;top:-200px;background:var(--teal)}
.deco--a::after{width:180px;height:180px;right:180px;top:-110px;background:var(--coral)}
.deco--b::before{width:360px;height:360px;left:-200px;bottom:-220px;background:var(--violet)}
.deco--b::after{width:150px;height:150px;left:120px;bottom:-90px;background:var(--coral)}
@media (max-width:720px){.deco--a::before{width:240px;height:240px;right:-120px;top:-130px}.deco--a::after{width:100px;height:100px;right:90px;top:-60px}.deco--b::before{width:200px;height:200px}.deco--b::after{display:none}}
@media (max-width:960px){.hero__art{overflow:hidden}}
@media (max-width:960px){.hero__text{grid-column:1/-1}.hero__ctas .btn{flex:1 1 220px}}
@media (max-width:960px){
  .comp--luce .comp__photo{inset:0 0 0 8%;clip-path:circle(72% at 82% 50%)}
  .comp--luce .c--coral{width:34%;left:-6%;top:6%}
  .comp--luce .c--violet{width:22%;left:6%;bottom:2%;top:auto}
  .comp--luce .comp__photo::after{width:34%;left:18%;bottom:-16%}
  .comp--luce .c--teal{width:20%;right:-6%;top:-8%}
  .comp--luce .c--coral2{width:16%;right:-4%;bottom:-4%}
  .comp--doing .comp__photo{top:8%;left:10%;border-radius:300px 0 0 0}
  .comp--doing .c--coral{width:50%;right:-20%;top:-12%}
  .comp--doing .c--coral2{width:26%;left:-4%;top:0}
  .comp--doing .c--violet{width:32%;left:-4%;bottom:-12%}
  .comp--doing .c--violet2{width:16%;right:-4%;bottom:6%;mix-blend-mode:normal}
}
/* testate con foto (diritti, iscriviti) come la tavola */
.page-head--photo{position:relative}
.page-head--photo .ph-media::before{content:"";position:absolute;z-index:0;width:90%;aspect-ratio:1;border-radius:50%;background:var(--teal);left:-6%;top:-34%}
.page-head--photo .ph-media .photo{z-index:1;clip-path:circle(64% at 80% 56%)}
.page-head--photo .ph-media .photo img{filter:grayscale(1) contrast(1.08)}
.page-head--photo .ph-media::after{content:"";position:absolute;z-index:2;width:34%;aspect-ratio:1;border-radius:50%;background:var(--coral);right:-8%;bottom:-14%}
.page-head--photo .ph-text{position:relative;z-index:2}
.page-head.deco>.wrap{position:relative;z-index:1}
@media (max-width:960px){
  .page-head--photo .ph-media{overflow:hidden}
  .page-head--photo .ph-media::before{width:70%;left:-10%;top:-30%}
  .page-head--photo .ph-media .photo{clip-path:circle(72% at 72% 60%)}
  .page-head--photo .ph-media::after{width:26%}
}
