/* =============================================================
   ASSITEAM ASSICURAZIONI — foglio di stile
   Direzione "elegante", agosto 2026.

   I colori vengono dal marchio del 1963: il blu del tondo portato in
   profondità e l'oro del giglio scaldato per non gridare. La dominante è
   scura; le pagine di sola lettura tornano su carta chiara, perché il
   testo lungo su fondo scuro stanca (regola .foglio, in fondo).

   Ordine: fondamenta · testata · intestazioni · blocchi · componenti ·
   marchi · moduli · pagine di testo · footer · adattamento a schermi piccoli
   ============================================================= */

/* ---------------------------------------------- fondamenta */
:root{
  --ink:#071829;          /* fondo principale */
  --ink-2:#0b2035;        /* fasce alternate */
  --ink-3:#102a42;        /* riquadri su fondo scuro */
  --oro:#c9a227;
  --oro-luce:#e8c34a;
  --panna:#f4f1ea;        /* testo su scuro */
  --grigio:#93a7bb;       /* testo secondario su scuro */
  --linea:rgba(201,162,39,.26);
  --linea-2:rgba(244,241,234,.12);

  --carta:#fbfaf7;        /* fogli di lettura */
  --inchiostro:#12243a;
  --inchiostro-2:#4a5b6d;
  --filo:#e6e1d6;

  --ok:#3f9d7a; --allarme:#c96a4a;

  --sans:'Manrope',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  --display:'Spectral',ui-serif,'New York',Georgia,serif;
  --ombra:0 24px 60px -28px rgba(0,0,0,.75);
  --raggio:2px;           /* angoli quasi vivi: più sobri dei tondeggianti */
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--ink);color:var(--panna);font-family:var(--sans);
     font-size:17px;line-height:1.72;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.wrap{max-width:1180px;margin:0 auto;padding:0 40px}
:focus-visible{outline:2px solid var(--oro);outline-offset:3px}
.skip{position:absolute;left:-9999px;top:0;background:var(--oro);color:var(--ink);
      padding:12px 20px;font-weight:700;z-index:99}
.skip:focus{left:0}

h1,h2,h3,h4{font-family:var(--display);font-weight:400;line-height:1.16;
            letter-spacing:-.012em;text-wrap:balance}

/* occhiello: la righina d'oro che apre ogni sezione */
.eyebrow{display:flex;align-items:center;gap:16px;font-family:var(--sans);
  font-size:.7rem;letter-spacing:.3em;text-transform:uppercase;color:var(--oro);
  font-weight:600;margin-bottom:22px}
.eyebrow::before{content:"";width:48px;height:1px;background:var(--oro);flex:none}
.eyebrow.center{justify-content:center}

/* ---------------------------------------------- testata */
.topbar{background:#050f1c;border-bottom:1px solid var(--linea-2);font-size:.78rem}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;
              padding:10px 40px;color:var(--grigio);flex-wrap:wrap;gap:8px}
.topbar a{color:var(--grigio);transition:color .2s}
.topbar a:hover{color:var(--oro)}
.topbar .tb-right{display:flex;gap:24px;flex-wrap:wrap}

.nav{background:var(--ink);border-bottom:1px solid var(--linea);position:sticky;top:0;z-index:40}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;
           padding:14px 40px;position:relative}
.brand{display:flex;align-items:center;gap:14px}
.brand img{width:54px;height:54px}
.brand .bt{font-family:var(--display);font-size:1.22rem;letter-spacing:.05em;
           color:var(--panna);line-height:1.1;font-weight:500}
.brand .bt small{display:block;font-family:var(--sans);font-size:.55rem;
  letter-spacing:.34em;color:var(--oro);text-transform:uppercase;margin-top:4px;font-weight:600}
/* otto voci: la barra si allarga un po' oltre il resto della pagina, le voci non vanno
   mai a capo e sotto i 1240px si passa al menu a tendina */
.nav .wrap{max-width:1340px}
nav.main ul{display:flex;gap:24px;list-style:none}
nav.main a{font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;
           color:#cfdae6;font-weight:600;transition:color .2s;padding:6px 0;display:block}
nav.main a:hover{color:var(--oro)}
nav.main a.active{color:var(--oro);border-bottom:1px solid var(--oro)}
.nav-cta{display:flex;align-items:center;gap:14px}
.nav-cta .btn{padding:13px 20px;letter-spacing:.14em;white-space:nowrap}
.menu-toggle{display:none;flex-direction:column;gap:5px;background:none;border:0;
             cursor:pointer;padding:8px}
.menu-toggle span{width:24px;height:1.5px;background:var(--panna);display:block}

/* ---------------------------------------------- bottoni */
.btn{display:inline-block;padding:14px 30px;font-size:.75rem;letter-spacing:.2em;
     text-transform:uppercase;font-weight:700;border:1px solid transparent;
     transition:.24s;cursor:pointer;font-family:var(--sans)}
.btn-primary,.btn-blue{background:var(--oro);color:var(--ink)}
.btn-primary:hover,.btn-blue:hover{background:var(--oro-luce)}
.btn-ghost{border-color:rgba(244,241,234,.3);color:var(--panna)}
.btn-ghost:hover{border-color:var(--oro);color:var(--oro)}
.btn-ghost.light{border-color:rgba(244,241,234,.5)}

/* ---------------------------------------------- apertura home */
.hero{position:relative;overflow:hidden;background:var(--ink)}
/* Il velo sulla Rocca: scuro in alto e in basso perche' ci passano sopra la barra
   e il bordo della sezione, piu' aperto in mezzo, dove la foto deve respirare.
   Sotto lo 0.50 al centro il testo panna comincia a perdere contrasto. */
.hero::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(7,24,41,.80) 0%,rgba(7,24,41,.54) 45%,rgba(7,24,41,.93) 100%),
             url('assets/img/sede-cento-rocca.jpg') center 62%/cover}
.hero .wrap{position:relative;z-index:2;display:grid;grid-template-columns:1.15fr .85fr;
            gap:64px;align-items:center;padding:96px 40px 104px}
.hero-testo h1{font-size:clamp(2.5rem,5vw,4rem);margin:0}
.hero-testo h1 .hl{color:var(--oro);font-style:italic}
.hero .lead{margin-top:24px;color:#c6d4e2;font-size:1.1rem;max-width:52ch}
.hero-actions{display:flex;gap:14px;margin-top:34px;flex-wrap:wrap}
.hero-stats{display:flex;gap:44px;margin-top:46px;flex-wrap:wrap}
.hero-stats .s b{display:block;font-family:var(--display);font-size:2.4rem;color:var(--oro);line-height:1}
.hero-stats .s span{display:block;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;
                    color:var(--grigio);margin-top:8px}

/* riquadro "di cosa hai bisogno" */
.hero-card{background:rgba(11,32,53,.72);border:1px solid var(--linea);
           padding:34px;backdrop-filter:blur(6px)}
.hero-card h3{font-size:1.35rem;color:var(--panna);margin-bottom:.4rem}
.hero-card p{color:var(--grigio);font-size:.95rem}
.quote-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}
.quote-grid a{display:flex;align-items:center;gap:.6rem;border:1px solid var(--linea-2);
  padding:13px 15px;font-size:.9rem;font-weight:600;transition:.2s;color:var(--panna)}
.quote-grid a:hover{border-color:var(--oro);color:var(--oro)}
.quote-grid .ic{font-size:1.05rem;line-height:1}

/* ---------------------------------------------- intestazione pagine interne */
.phero{position:relative;background:var(--ink-2);border-bottom:1px solid var(--linea);
       overflow:hidden}
.phero.has-img::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(7,24,41,.92),rgba(7,24,41,.97));z-index:1}
.phero .wrap{position:relative;z-index:2;padding:66px 40px 72px;text-align:center}
.phero .crumbs{font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;
               color:var(--grigio);margin-bottom:18px}
.phero .crumbs a{color:var(--grigio)}
.phero .crumbs a:hover{color:var(--oro)}
.phero .eyebrow{justify-content:center}
.phero h1{font-size:clamp(2rem,4vw,3.1rem)}
.phero p{max-width:60ch;margin:20px auto 0;color:#c6d4e2}

/* ---------------------------------------------- blocchi */
.block{padding:96px 0}
.block.tight{padding:62px 0}
.bg-soft{background:var(--ink-2);border-top:1px solid var(--linea-2);
         border-bottom:1px solid var(--linea-2)}
.bg-dark{background:#050f1c}
.sec-head{max-width:52ch;margin:0 auto 56px;text-align:center}
.sec-head h2{font-size:clamp(1.9rem,3.2vw,2.6rem);margin-bottom:.7rem}
.sec-head p{color:var(--grigio);font-size:1.03rem}
.lead{color:var(--grigio)}

.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:26px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}

/* riquadro semplice */
.card{display:block;background:var(--ink-3);border:1px solid var(--linea-2);
      padding:34px 32px;transition:.28s;position:relative}
.card:hover{border-color:var(--linea);transform:translateY(-3px)}
.card .ic{font-size:1.5rem;line-height:1;margin-bottom:16px;display:block}
.card h3{font-size:1.3rem;margin-bottom:.5rem}
.card p{color:var(--grigio);font-size:.96rem}
.card .more,.more{display:inline-block;margin-top:16px;color:var(--oro);font-size:.74rem;
  letter-spacing:.16em;text-transform:uppercase;font-weight:700}

/* riquadro con foto */
.aree{gap:26px}
.area{display:block;background:var(--ink-3);border:1px solid var(--linea-2);
      overflow:hidden;transition:.28s}
.area:hover{border-color:var(--linea);transform:translateY(-3px)}
.area img{width:100%;height:220px;object-fit:cover;filter:saturate(.9)}
.area-body{padding:30px 32px 34px}
.area-body h3{font-size:1.4rem;margin-bottom:.5rem}
.area-body p{color:var(--grigio);font-size:.96rem;margin-bottom:.4rem}

/* testo + foto */
.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.split-testo h2{font-size:clamp(1.8rem,3vw,2.4rem);margin-bottom:1rem}
.split-testo p{color:var(--grigio);margin-bottom:1rem}
.split-testo b{color:var(--panna);font-weight:600}
.split-foto{position:relative}
.split-foto img{width:100%}
.split-foto::after{content:"";position:absolute;inset:16px -16px -16px 16px;
  border:1px solid var(--linea);z-index:-1}
.split-foto .badge{position:absolute;left:-20px;bottom:-24px;background:var(--ink);
  border:1px solid var(--linea);padding:18px 22px;max-width:250px}
.split-foto .badge b{display:block;font-family:var(--display);color:var(--oro);font-size:1.05rem}
.split-foto .badge span{font-size:.84rem;color:var(--grigio)}

/* elenchi */
.checklist{list-style:none;display:flex;flex-direction:column;gap:.7rem}
.checklist li{position:relative;padding-left:32px;color:var(--grigio)}
.checklist li::before{content:"";position:absolute;left:0;top:.62em;width:14px;height:1px;
  background:var(--oro)}
.due-col{columns:2;column-gap:2.6rem}
.due-col li{break-inside:avoid}

.numbox{background:var(--ink-3);border:1px solid var(--linea-2);padding:32px 34px}
.numbox h4{font-size:1.15rem;color:var(--panna);margin-bottom:1rem}
.numbox ul{list-style:none;display:flex;flex-direction:column;gap:.8rem}
.numbox li{color:var(--grigio);font-size:.96rem;display:flex;gap:14px}
.numbox b{font-family:var(--display);color:var(--oro);flex:none}

.values{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--linea-2)}
.value{background:var(--ink);padding:38px 34px}
.value .num{font-family:var(--display);color:var(--oro);font-size:.9rem;letter-spacing:.1em}
.value h3{font-size:1.3rem;margin:10px 0 .5rem}
.value p{color:var(--grigio);font-size:.96rem}

/* fascia con invito */
.cta-band{display:flex;align-items:center;justify-content:space-between;gap:36px;
  border-top:1px solid var(--linea);border-bottom:1px solid var(--linea);padding:44px 0;flex-wrap:wrap}
.cta-band h2{font-size:1.7rem;margin-bottom:.4rem}
.cta-band p{color:var(--grigio);max-width:60ch}

/* fascia sinistri */
.emerg-band{display:grid;grid-template-columns:1.4fr .6fr;gap:44px;align-items:center}
.emerg-band h2{font-size:2rem;margin:.5rem 0 .7rem}
.emerg-band p{color:var(--grigio)}
.emerg-actions{display:flex;flex-direction:column;gap:.7rem}

/* avvisi in evidenza */
.avviso{background:#12203a;border-top:1px solid var(--linea);border-bottom:1px solid var(--linea)}
.avviso .wrap{display:flex;align-items:center;gap:1.3rem;padding:18px 40px;flex-wrap:wrap}
.avviso .tag{background:var(--oro);color:var(--ink);font-size:.62rem;font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;padding:6px 11px;white-space:nowrap}
.avviso p{margin:0;color:#cbd8e5;font-size:.96rem;flex:1;min-width:260px}
.avviso b{color:var(--panna)}
.avviso .more{margin:0;white-space:nowrap}
.avviso.novita{background:#0e2a2a}
.avviso.novita .tag{background:#2f8f77;color:#eafaf4}

/* ---------------------------------------------- sedi */
/* le sedi sono quattro: la griglia si adatta invece di lasciarne una spaiata */
.loc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(232px,1fr));gap:26px}
.loc{display:block;background:var(--ink-3);border:1px solid var(--linea-2);
     overflow:hidden;transition:.28s}
.loc:hover{border-color:var(--linea);transform:translateY(-3px)}
.loc img{width:100%;height:180px;object-fit:cover;filter:saturate(.9)}
.loc-body{padding:26px 28px 30px}
.loc-body h3{font-size:1.25rem;margin-bottom:.4rem}
.loc-body .addr{color:var(--grigio);font-size:.93rem;margin-bottom:.4rem}
.loc-body .tel{color:var(--oro);font-weight:600;margin-bottom:.9rem}

.sede{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:start;
      padding:64px 0;border-bottom:1px solid var(--linea-2)}
.sede:last-of-type{border-bottom:0}
.sede-foto img{width:100%}
.sede-info h2{font-size:2rem;margin:.3rem 0 .3rem}
.sede-info .addr{color:var(--grigio);margin-bottom:1.5rem}
.sede .rows{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.7rem}
.sede .r{display:grid;grid-template-columns:120px 1fr;gap:1rem;align-items:baseline;
  border-bottom:1px solid var(--linea-2);padding-bottom:.6rem;font-size:.96rem}
.sede .r b{font-family:var(--sans);color:var(--oro);font-size:.68rem;letter-spacing:.16em;
  text-transform:uppercase;font-weight:700}
.sede .r a{color:var(--panna)}
.sede .r a:hover{color:var(--oro)}
.sede .tels{display:flex;gap:1.2rem;flex-wrap:wrap}
.sede .orari{border:1px solid var(--linea);padding:22px 24px;margin-bottom:1.6rem;
             background:var(--ink-3)}
.sede .orari .lbl{display:block;color:var(--oro);font-size:.66rem;letter-spacing:.2em;
  text-transform:uppercase;margin-bottom:.8rem;font-weight:700}
.sede .orari div{display:flex;justify-content:space-between;gap:1rem;padding:.4rem 0;
  border-top:1px solid var(--linea-2);font-size:.95rem}
.sede .orari div:first-of-type{border-top:0}
.sede .orari b{color:var(--grigio);font-weight:500}
.nota-orari{margin-top:.9rem;padding-top:.8rem;border-top:1px solid var(--linea-2);
            font-size:.86rem;color:var(--oro);font-weight:600}
.sede .refs .lbl{display:block;color:var(--oro);font-size:.66rem;letter-spacing:.2em;
  text-transform:uppercase;margin-bottom:.9rem;font-weight:700}
.sede .ref{display:flex;gap:1rem;align-items:center;border:1px solid var(--linea-2);
  padding:16px 18px;margin-bottom:.7rem;background:var(--ink-3)}
.sede .ref img{width:64px;height:64px;object-fit:cover;border-radius:50%;flex:none}
.sede .ref b{display:block;font-family:var(--display);font-size:1.05rem;color:var(--panna)}
.sede .ref span{display:block;font-size:.82rem;color:var(--grigio);margin-bottom:.2rem}
.sede .ref a{display:block;font-size:.9rem;color:var(--oro)}
.sede.prossima{grid-template-columns:1fr;border:1px dashed var(--linea);padding:40px 42px;
  margin-top:44px;background:var(--ink-3)}
/* la sede che deve ancora aprire non ha una foto; se le si dà la carta del territorio
   torna a impaginarsi come le altre, immagine a sinistra */
.sede.prossima.con-carta{grid-template-columns:.9fr 1.1fr;gap:48px;align-items:center}
/* la carta e' scura come il riquadro: un filo la stacca dal fondo */
.sede.prossima.con-carta .sede-foto img{border:1px solid var(--linea-2)}

/* ---------------------------------------------- team */
.team-group{margin-bottom:64px}
.team-title{font-size:1.5rem;color:var(--oro);margin-bottom:26px;padding-bottom:14px;
            border-bottom:1px solid var(--linea)}
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
/* Il giglio del marchio del 1963, in filigrana d'oro al 10%, sborda dall'angolo
   in basso a destra. Sta nella scheda e non dentro la foto: in un tondo da 112px
   una fantasia diventa rumore, qui invece si vede solo quando l'occhio ci si posa. */
.person{background-color:var(--ink-3);
        background-image:url(assets/img/filigrana-giglio.png?v=2);
        background-repeat:no-repeat;
        background-position:right -18px bottom -14px;
        background-size:124px auto;
        border:1px solid var(--linea-2);padding:30px 24px;
        text-align:center;transition:.28s}
.person:hover{border-color:var(--linea);transform:translateY(-3px)}
.person .ava{width:112px;height:112px;margin:0 auto 18px;border-radius:50%;overflow:hidden;
  border:1px solid var(--linea);background:var(--ink-2)}
.person .ava img{width:100%;height:100%;object-fit:cover}
.person .ava .iniziale{display:flex;align-items:center;justify-content:center;width:100%;
  height:100%;font-family:var(--display);font-size:2.2rem;color:var(--oro)}
.person h3{font-size:1.16rem;margin-bottom:.2rem}
.person .role{font-size:.78rem;color:var(--oro);letter-spacing:.08em;margin-bottom:.7rem}
.person .meta{display:flex;flex-direction:column;gap:.2rem;font-size:.86rem}
.person .meta a{color:#c3d2e0;word-break:break-word}
.person .meta a:hover{color:var(--oro)}
.person .meta .pec{color:var(--grigio);font-size:.78rem;word-break:break-all}
.person .rui{margin-top:.9rem;padding-top:.8rem;border-top:1px solid var(--linea-2);
  font-size:.74rem;color:var(--grigio);letter-spacing:.03em}

/* ---------------------------------------------- marchi delle compagnie
   Regola ferma: i marchi altrui non si ricolorano, non si desaturano e non si
   invertono. Stanno su fondo chiaro, che è quello per cui sono disegnati. */
.trust{background:var(--panna);padding:44px 0}
.trust .wrap{display:flex;flex-direction:column;align-items:center;gap:26px}
.trust span.lbl{font-size:.66rem;letter-spacing:.3em;text-transform:uppercase;color:#5d6b7a}
.trust .brands{display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap}
.trust .brands a{background:#fff;border:1px solid var(--filo);padding:18px 24px;
  display:flex;align-items:center;justify-content:center;min-width:172px;min-height:84px;
  transition:border-color .2s}
.trust .brands a:hover{border-color:var(--oro)}
.trust .brands img{max-height:34px;max-width:140px;width:auto;object-fit:contain}
.trust-more{color:#2f4a63;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;
            font-weight:700}
.trust-more:hover{color:var(--oro)}

/* schede compagnia: pagina Sinistri e Aree clienti */
.comp-list,.co-list{display:flex;flex-direction:column;gap:18px}
.comp,.co{display:grid;grid-template-columns:190px 1fr;gap:34px;align-items:center;
  background:var(--carta);border:1px solid var(--filo);padding:28px 32px;color:var(--inchiostro)}
.comp-logo,.co-logo{background:#fff;border:1px solid var(--filo);min-height:86px;
  display:flex;align-items:center;justify-content:center;padding:16px}
.comp-logo img,.co-logo img{max-height:38px;max-width:140px;object-fit:contain}
.comp-body h3,.co h3{font-family:var(--display);font-size:1.25rem;color:var(--inchiostro);
                     margin-bottom:.3rem}
.comp .avvertenza,.co p{color:var(--inchiostro-2);font-size:.94rem;margin-bottom:.9rem}
.numeri{display:flex;flex-wrap:wrap;gap:1.8rem;margin-bottom:1rem}
.numeri .num{display:flex;flex-direction:column;gap:.1rem}
.numeri .num span{font-size:.66rem;text-transform:uppercase;letter-spacing:.14em;color:#7b8794}
.numeri .num a{font-family:var(--display);font-weight:500;font-size:1.3rem;color:var(--inchiostro)}
.numeri .num a:hover{color:var(--oro)}
.numeri .num small{font-size:.78rem;color:#7b8794}
.co-links{display:flex;flex-wrap:wrap;gap:.5rem}
.co-links a,.co-links span{font-size:.78rem;font-weight:700;letter-spacing:.06em;
  border:1px solid var(--filo);padding:8px 14px;color:#2f4a63;background:#fff}
.co-links a:hover{border-color:var(--oro);color:var(--oro)}
.nota-verifica{margin-top:22px;font-size:.88rem;color:var(--grigio);
  border-left:2px solid var(--oro);padding:14px 20px;background:var(--ink-3)}
.nota-verifica a{color:var(--oro)}

.ac-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.ac{background:var(--carta);border:1px solid var(--filo);padding:26px;
    display:flex;flex-direction:column;gap:.5rem;color:var(--inchiostro);transition:.25s}
.ac:hover{border-color:var(--oro)}
.ac-logo{height:52px;display:flex;align-items:center}
.ac-logo img{max-width:120px;max-height:40px;object-fit:contain}
.ac h3{font-family:var(--display);font-size:1.05rem;color:var(--inchiostro)}
.ac p{font-size:.88rem;color:var(--inchiostro-2);flex:1}
.ac .co-links a{font-size:.74rem;padding:6px 11px}

/* indice documenti */
.doc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.doc{display:block;background:var(--ink-3);border:1px solid var(--linea-2);padding:30px 32px;
     transition:.28s}
.doc:hover{border-color:var(--linea);transform:translateY(-3px)}
.doc h3{font-size:1.15rem;margin-bottom:.4rem}
.doc p{color:var(--grigio);font-size:.93rem;margin-bottom:.8rem}

/* ---------------------------------------------- contatti e modulo */
.contact{background:var(--ink-2);border-top:1px solid var(--linea)}
.contact .wrap{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start;padding:92px 40px}
.contact h2{font-size:2.2rem;margin-bottom:1rem}
.contact .lead{margin-bottom:2rem}
.contact .ci{display:flex;flex-direction:column;gap:.15rem;padding:14px 0;
             border-bottom:1px solid var(--linea-2)}
.contact .ci b{font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--oro);
               font-family:var(--sans);font-weight:700}
.contact .ci a,.contact .ci span{color:var(--panna);font-size:1.02rem}
.contact .ci a:hover{color:var(--oro)}

.cf{background:var(--ink-3);border:1px solid var(--linea);padding:34px}
.cf h3{font-size:1.35rem;margin-bottom:.4rem}
.cf .lead{margin-bottom:1.4rem;font-size:.95rem}
.field{display:block;margin-bottom:15px}
.field span{display:block;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;
            color:var(--grigio);margin-bottom:.4rem;font-weight:600}
.field input,.field select,.field textarea{width:100%;background:rgba(255,255,255,.04);
  border:1px solid var(--linea-2);padding:13px 15px;color:var(--panna);font-family:inherit;
  font-size:.98rem;border-radius:0}
.field select option{color:#12243a}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--oro);
  background:rgba(255,255,255,.07)}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.consenso{display:grid;grid-template-columns:20px 1fr;gap:.7rem;align-items:start;
  margin:8px 0 20px;font-size:.85rem;color:var(--grigio)}
.consenso input{width:18px;height:18px;margin-top:3px;accent-color:var(--oro)}
.consenso a{color:var(--oro);text-decoration:underline}
.form-note{margin-top:1rem;font-size:.9rem;color:var(--oro);min-height:1.2em}
.form-note.errore{color:#e8a08a}
.trappola{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* ---------------------------------------------- pagine di sola lettura
   Il guscio resta scuro, il testo torna su carta: duemila parole in chiaro
   su fondo scuro non si leggono volentieri. */
.block.foglio{background:var(--carta);padding:74px 0 90px;color:var(--inchiostro)}
.block.foglio .wrap{max-width:820px}
.prose{color:var(--inchiostro);font-size:1.02rem;line-height:1.85}
.prose h2{font-family:var(--display);font-weight:500;font-size:1.5rem;color:var(--ink);
  margin:2.6rem 0 .9rem;padding-bottom:.5rem;border-bottom:1px solid var(--filo)}
.prose h2:first-child{margin-top:0}
.prose h3{font-family:var(--display);font-weight:500;font-size:1.16rem;color:var(--ink);
          margin:1.8rem 0 .5rem}
.prose p,.prose li{margin-bottom:1rem;color:var(--inchiostro-2)}
.prose ul,.prose ol{padding-left:1.35rem;margin-bottom:1.3rem}
.prose li{margin-bottom:.4rem}
.prose b,.prose strong{color:var(--inchiostro)}
.prose a{color:#2f4a63;text-decoration:underline}
.prose a:hover{color:var(--oro)}
.prose .aggiornato{font-size:.9rem;color:#7a5b18;background:#fdf6e3;border-left:3px solid var(--oro);
  padding:15px 20px;margin-bottom:2.4rem}
.prose table{width:100%;border-collapse:collapse;margin-bottom:1.4rem;font-size:.94rem}
.prose th,.prose td{border:1px solid var(--filo);padding:11px 13px;text-align:left;vertical-align:top}
.prose th{background:#f2ede1;color:var(--ink)}
.tabella-scroll{overflow-x:auto}
/* dentro un foglio chiaro anche i blocchi comuni cambiano abito */
.block.foglio .checklist li{color:var(--inchiostro-2)}
.block.foglio .checklist li::before{background:var(--oro)}
.block.foglio .sec-head p,.block.foglio .lead{color:var(--inchiostro-2)}
.block.foglio .sec-head h2,.block.foglio h2,.block.foglio h3{color:var(--ink)}

/* ---------------------------------------------- footer */
.ft{background:#050f1c;border-top:1px solid var(--linea);padding:72px 0 0}
.ft .cols{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1.2fr;gap:40px;padding-bottom:56px}
.ft .brand{margin-bottom:18px}
.ft p{color:var(--grigio);font-size:.9rem;margin-bottom:1rem}
.ft h4{font-family:var(--sans);font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;
       color:var(--oro);margin-bottom:16px;font-weight:700}
.ft ul{list-style:none;display:flex;flex-direction:column;gap:.55rem}
.ft ul a,.ft ul li{color:var(--grigio);font-size:.9rem}
.ft ul a:hover{color:var(--oro)}
.ft .rui{font-size:.78rem;color:#6b7f93;line-height:1.6}
.ft .rui a{color:var(--oro)}
.ft .legal{border-top:1px solid var(--linea-2);padding:22px 0}
.ft .legal .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;
                 font-size:.8rem;color:#6b7f93}
.ft .legal a:hover{color:var(--oro)}

/* voce del menu che compare solo quando il bottone della barra si nasconde */
.solo-stretto{display:none}

/* ---------------------------------------------- schermi piccoli */
@media (max-width:1240px){
  nav.main{display:none}
  nav.main.aperto{display:block;position:absolute;top:100%;left:0;right:0;background:var(--ink);
    border-bottom:1px solid var(--linea);padding:18px 40px;z-index:50}
  nav.main.aperto ul{flex-direction:column;gap:0}
  nav.main.aperto li a{padding:.8rem 0;border-bottom:1px solid var(--linea-2)}
  .menu-toggle{display:flex}
}
@media (max-width:1080px){
  .ft .cols{grid-template-columns:1fr 1fr 1fr}
}
/* Sotto i 720px il bottone della barra finiva sopra la scritta ASSICURAZIONI del
   marchio: lo si toglie e la stessa chiamata compare in fondo al menu, in oro. */
@media (max-width:720px){
  .nav-cta .btn-blue{display:none}
  .solo-stretto{display:block}
  nav.main.aperto .solo-stretto a{color:var(--oro);font-weight:700;border-bottom:0}
}
@media (max-width:920px){
  .wrap{padding:0 24px}
  .topbar .wrap,.nav .wrap,.hero .wrap,.contact .wrap,.avviso .wrap,.phero .wrap{padding-left:24px;padding-right:24px}
  .hero .wrap{grid-template-columns:1fr;gap:44px;padding-top:64px;padding-bottom:70px}
  .split,.sede,.emerg-band,.contact .wrap{grid-template-columns:1fr;gap:36px}
  .sede.prossima.con-carta{grid-template-columns:1fr;gap:32px}
  .grid-3,.loc-grid,.doc-grid{grid-template-columns:1fr 1fr}
  .team-grid,.ac-grid{grid-template-columns:repeat(3,1fr)}
  .comp,.co{grid-template-columns:1fr;gap:18px}
  .values{grid-template-columns:1fr}
  .split-foto .badge{left:auto;right:12px;bottom:-18px}
  .block{padding:70px 0}
  .due-col{columns:1}
}
@media (max-width:680px){
  .grid-2,.grid-3,.loc-grid,.doc-grid,.team-grid,.ac-grid,.frow,.quote-grid,.aree{grid-template-columns:1fr}
  .topbar .tb-right{gap:14px;font-size:.74rem}
  .hero-stats{gap:26px}
  .sede .r{grid-template-columns:1fr;gap:.15rem}
  .cf,.numbox,.card{padding:24px}
  .trust .brands a{min-width:150px;min-height:74px;padding:14px 18px}
  .area img{height:180px}
}
/* ---------- convenzioni ---------- */
.conv-cerca{max-width:760px;margin:0 auto 46px;text-align:center}
.conv-cerca label{display:block;font-family:var(--display);font-size:1.45rem;color:var(--panna);margin-bottom:16px}
.conv-cerca input{width:100%;background:rgba(255,255,255,.05);border:1px solid var(--linea);
  color:var(--panna);font:inherit;font-size:1.05rem;padding:16px 20px;border-radius:var(--raggio)}
.conv-cerca input::placeholder{color:#6f8499}
.conv-cerca input:focus{outline:none;border-color:var(--oro);background:rgba(255,255,255,.08)}
.conv-esito{min-height:1.5em;margin:12px 0 0;font-size:.92rem;color:var(--grigio)}
.conv-esito b{color:var(--oro)}
.conv-salti{justify-content:center;margin-top:14px}
.conv-salti a{background:transparent;color:var(--panna);border-color:var(--linea)}
.conv{margin-bottom:54px;scroll-margin-top:110px}
.conv-testa{display:grid;grid-template-columns:150px 1fr;gap:28px;align-items:center;
  padding-bottom:24px;margin-bottom:28px;border-bottom:1px solid var(--linea)}
.conv-logo{background:#fff;padding:18px;display:flex;align-items:center;justify-content:center;min-height:86px}
.conv-logo img{max-width:100%;max-height:48px;width:auto}
.conv-testa h2{font-size:1.7rem;margin-bottom:.4rem}
.conv-testa p{color:var(--grigio);margin:0}
.conv-testa .conv-fonte{font-size:.84rem;margin-top:.6rem}
.conv-fonte a{color:var(--oro)}
.conv-gruppi{columns:3;column-gap:30px}
.conv-gruppo{break-inside:avoid;margin-bottom:30px}
.conv-gruppo h3{font-family:var(--sans);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--oro);font-weight:700;margin-bottom:12px}
.conv-gruppo ul{list-style:none;display:flex;flex-direction:column}
.conv-gruppo li{padding:9px 0;border-bottom:1px solid var(--linea-2);line-height:1.35}
.conv-gruppo li b{color:var(--panna);font-weight:600;font-size:.96rem;display:block}
.conv-gruppo li span{color:var(--grigio);font-size:.8rem}
.conv-gruppo li.trovata b{color:var(--oro-luce)}
.conv [hidden]{display:none!important}

/* ---------- notizie ---------- */
.news-meta{display:flex;align-items:center;gap:12px;margin:0 0 12px;font-size:.78rem;
  letter-spacing:.08em;text-transform:uppercase;color:var(--grigio)}
.news-meta .tag{background:transparent;border:1px solid var(--linea);color:var(--oro);
  font-size:.62rem;font-weight:700;letter-spacing:.16em;padding:4px 9px}
.news-list{max-width:780px;margin:0 auto}
.news{padding:38px 0;border-bottom:1px solid var(--linea-2);scroll-margin-top:110px}
.news:first-child{padding-top:0}
.news:last-child{border-bottom:0}
.news h2{font-size:1.75rem;margin-bottom:1rem}
.news p{color:#c3d0dd}
.news p a{color:var(--oro)}
.news:target h2{color:var(--oro-luce)}
.news-card h3{font-size:1.2rem}
.centro{text-align:center;margin-top:34px}

/* ---------- lavora con noi ---------- */
.cand{display:grid;grid-template-columns:1fr 1.15fr;gap:54px;align-items:start}
.cand-testo h2{margin-bottom:1rem}
.cand-testo p{color:var(--grigio);margin-bottom:1rem}
.cand .cf h3{margin-bottom:1.3rem}
.cand-testo a{color:var(--oro)}
.field input[type=file]{padding:11px;cursor:pointer}
.field input[type=file]::file-selector-button{font:inherit;font-size:.78rem;font-weight:700;
  letter-spacing:.06em;margin-right:14px;padding:8px 14px;border:1px solid var(--linea);
  background:transparent;color:var(--oro);cursor:pointer}

/* ---------- modulo CAI (pagina Sinistri) ---------- */
.scarica{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center;
  background:var(--ink-3);border:1px solid var(--linea);padding:32px 36px;margin-top:34px}
.scarica h3{font-size:1.35rem;margin-bottom:.4rem}
.scarica p{color:var(--grigio);margin:0;font-size:.96rem}
.scarica .azioni{display:flex;flex-direction:column;gap:10px;align-items:stretch;text-align:center}
.scarica small{color:var(--grigio);font-size:.76rem}

@media (max-width:1080px){.conv-gruppi{columns:2}}
@media (max-width:920px){.cand{grid-template-columns:1fr;gap:34px}.scarica{grid-template-columns:1fr}}
@media (max-width:680px){
  .conv-gruppi{columns:1}
  .conv-testa{grid-template-columns:1fr;gap:16px}
  .conv-logo{max-width:170px}
  .news h2{font-size:1.4rem}
  .scarica{padding:24px}
}

@media print{
  .topbar,.nav,.cta-band,.contact,.ft{display:none}
  body{background:#fff;color:#000}
  .block.foglio{padding:0}
}

/* Apertura imminente: la scritta lampeggia in modo netto — acceso/spento, senza
   dissolvenza (step-end). Chi ha chiesto meno animazioni al sistema la vede fissa. */
@keyframes lampeggio{0%,54%{opacity:1}55%,100%{opacity:.18}}
.sede .apertura{margin:-.2rem 0 .9rem}
.lampeggia{display:inline-block;border:1px solid var(--oro);color:var(--oro);
  padding:7px 14px;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;
  font-weight:700;animation:lampeggio 1.1s step-end infinite}
@media (prefers-reduced-motion:reduce){.lampeggia{animation:none}}
.loc-body .lampeggia{font-size:.62rem;padding:5px 10px;margin-bottom:.7rem;letter-spacing:.14em}

/* riferimento per trovare la sede ("è nel palazzo del supermercato…") */
.sede .riferimento{display:inline-block;margin:-1rem 0 1.4rem;padding:8px 14px;
  border-left:2px solid var(--oro);background:var(--ink-3);color:var(--panna);
  font-size:.92rem}
