/* ==========================================================================
   Kìron Mantova — v4 (stile "floating pill / calm")
   Palette: bianco · nero · blu Kìron #0B1F4F
   ========================================================================== */
:root{
  /* Palette ufficiale Kìron */
  --brand-blue:#082971;
  --dark-blue:#151c2c;
  --wale-dark:#49597a;
  --wale-mid:#8392af;
  --wale-light:#c3ccde;
  --sage-dark:#738a8b;
  --sage-mid:#98b0b1;
  --sage-light:#c9d7d8;
  --yellow:#f8b842;
  --pink-dark:#c0b3a3;
  --pink-mid:#e2d7c9;
  --pink-light:#f0ece1;
  --white:#fff;
  --black:#000;
  --max-width:1600px;
  --plyr-video-control-background-hover:#082971;
  --swiper-theme-color:#082971;

  /* Alias interni del tema */
  --navy:#082971;
  --navy-hover:#061e55;
  --ink:#EEF2F9;      /* fondo pagina */
  --paper:#EEF2F9;    /* sezioni chiare */
  --cream:#ffffff;
  --muted:#c3ccde;
  --muted-hover:#8392af;
  --ease-burger:cubic-bezier(.77,0,.175,1);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body.kiron{margin:0;overflow-x:clip;background:var(--ink);color:var(--dark-blue);font-family:'Libre Franklin',system-ui,sans-serif;font-optical-sizing:auto;font-style:normal;min-height:100%;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
a{color:inherit;text-decoration:none}
img,svg,video{display:block;max-width:100%;height:auto}
ul,ol{list-style:none;margin:0;padding:0}
h1,h2,h3,p,address{margin:0;font-style:normal}
button{font:inherit;cursor:pointer}
:focus-visible{outline:2px solid var(--navy);outline-offset:3px;border-radius:6px}
.serif{font-family:'Instrument Serif',Georgia,serif;font-style:italic}

/* ---------- navbar a pillola ---------- */
.pill-nav{position:absolute;top:24px;left:50%;transform:translateX(-50%);z-index:50;display:flex;flex-direction:column;align-items:center;gap:10px}
.pill{display:flex;align-items:center;gap:18px;background:#fff;border-radius:999px;box-shadow:0 10px 30px rgba(0,0,0,.15);padding:8px 10px 8px 18px}
.brand img{height:32px;width:auto}
.burger{width:40px;height:40px;border:0;border-radius:999px;background:transparent;display:grid;place-items:center;position:relative}
.burger span{position:absolute;width:20px;height:2px;background:#000;border-radius:2px;transition:transform .3s var(--ease-burger),opacity .3s}
.burger span:first-child{transform:translateY(-4px)}
.burger span:last-child{transform:translateY(4px)}
.is-open .burger span:first-child{transform:rotate(45deg)}
.is-open .burger span:last-child{transform:rotate(-45deg)}
.pill-menu{background:#fff;border-radius:18px;box-shadow:0 10px 30px rgba(0,0,0,.15);padding:10px;min-width:220px;opacity:0;transform:translateY(-8px) scale(.96);pointer-events:none;transition:opacity .25s ease,transform .25s var(--ease-burger)}
.is-open .pill-menu{opacity:1;transform:none;pointer-events:auto}
.nav-links a{display:block;padding:10px 14px;border-radius:12px;font-size:1rem;font-weight:500;color:#000}
.nav-links a:hover{background:#f1f1f1}

/* ---------- hero ---------- */
.hero{position:relative;height:100vh;overflow:hidden;margin-bottom:-25px;display:flex;flex-direction:column;justify-content:flex-end;padding:0 24px 64px}
@supports(height:100svh){.hero{height:100svh}}
@media(min-width:768px){.hero{padding-bottom:90px}}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-overlay{position:absolute;inset:0;background:rgba(0,0,0,.2)}
.hero-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;gap:20px}
.hero-title{color:#fff;font-weight:400;letter-spacing:-.02em;line-height:1.1;font-size:clamp(2.75rem,8.5vw,96px);text-shadow:0 2px 24px rgba(0,0,0,.25)}
.hero-title .serif{font-size:1.04em}
.hero-sub{color:rgba(255,255,255,.85);font-weight:500;font-size:1rem;max-width:460px;text-shadow:0 1px 12px rgba(0,0,0,.3)}
@media(min-width:768px){.hero-sub{font-size:1.125rem}}
.cta-bar{display:flex;align-items:center;gap:16px;background:rgba(0,0,0,.25);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:14px;padding:5px 5px 5px 22px;max-width:100%}
.cta-text{color:#fff;font-size:.9375rem;font-weight:500;white-space:nowrap}
.cta-desktop{display:none}
@media(min-width:640px){.cta-desktop{display:inline}.cta-mobile{display:none}}
.btn-white{background:#fff;color:#000;font-size:.9375rem;font-weight:500;padding:12px 20px;border-radius:12px;white-space:nowrap;transition:background .3s}
.btn-white:hover{background:rgba(255,255,255,.9)}

/* ---------- chi siamo ---------- */
.about{position:relative;z-index:10;background:var(--paper);border-radius:25px 25px 0 0;padding:80px 24px}
@media(min-width:768px){.about{padding:128px 24px}}
.about-top{max-width:48rem;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:32px;text-align:center}
.about-lead{max-width:34rem;font-size:1.0625rem;line-height:1.65}
@media(min-width:768px){.about-lead{font-size:1.1875rem}}
.about-btns{display:flex;flex-wrap:wrap;justify-content:center;gap:16px}
.about-btns.left{justify-content:flex-start}
.pill-btn{display:inline-flex;align-items:center;gap:12px;border-radius:999px;padding:6px 22px 6px 6px;font-size:.8125rem;font-weight:500;text-transform:uppercase;letter-spacing:.08em;border:0;transition:background .3s}
.pill-ico{width:34px;height:34px;border-radius:999px;background:#fff;color:var(--navy);display:grid;place-items:center}
.pill-dark{background:var(--navy);color:var(--cream)}
.pill-dark:hover{background:var(--navy-hover)}
.pill-muted{background:var(--muted);color:var(--navy)}
.pill-muted:hover{background:var(--muted-hover)}
.divider{display:flex;align-items:center;gap:2px;margin:72px 0}
.divider i{width:8px;height:8px;border-radius:999px;background:var(--muted)}
.divider span{flex:1;height:2px;background:var(--muted)}
.about-bottom{max-width:72rem;margin:0 auto;display:flex;flex-direction:column;gap:40px}
@media(min-width:768px){.about-bottom{flex-direction:row;align-items:flex-start;gap:80px}}
.about-mark{display:flex;align-items:center;gap:14px;flex:none}
.mark-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.2em;font-weight:600;line-height:1.35}
.about-big{font-size:clamp(1.5rem,3.4vw,42px);line-height:1.3;font-weight:400}
.about-stats{max-width:72rem;margin:72px auto 0;display:grid;gap:24px}
@media(min-width:640px){.about-stats{grid-template-columns:repeat(3,1fr)}}
.stat{display:flex;flex-direction:column;gap:6px;padding:24px;border-radius:20px;background:#fff}
.stat b{font-weight:400;font-size:clamp(2.75rem,5vw,4rem);line-height:1;letter-spacing:-.03em}
.stat sup{font-size:.45em;vertical-align:super;opacity:.6}
.stat span{font-size:.9375rem;font-weight:500;opacity:.8}

/* ---------- percorso: sticky + card ---------- */
.features{position:relative;padding:80px 20px;color:#fff;isolation:isolate}
@media(min-width:768px){.features{padding:160px 40px}}
@media(min-width:1024px){.features{padding:190px 64px}}
.features-bg{position:fixed;inset:0;z-index:-1;background-size:cover;background-position:center;background-color:var(--navy)}
.features-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,41,113,.35),rgba(8,41,113,.55))}
.features-grid{display:grid;gap:40px;max-width:1400px;margin:0 auto}
@media(min-width:1024px){.features-grid{grid-template-columns:400px 1fr;gap:96px}}
@media(min-width:1280px){.features-grid{grid-template-columns:460px 1fr;gap:192px}}
.features-left{display:flex;flex-direction:column;gap:40px}
@media(min-width:1024px){.features-left{position:sticky;top:0;height:100vh;justify-content:space-between;padding:128px 0}}
.features-title{font-weight:400;line-height:1.2;font-size:clamp(1.625rem,3.2vw,46px);text-shadow:0 2px 16px rgba(0,0,0,.25)}
.feature-nav{display:none;flex-direction:column;gap:8px;margin-top:40px}
@media(min-width:1024px){.feature-nav{display:flex}}
.feature-nav button{text-align:left;border:0;border-radius:14px;padding:12px 16px;background:rgba(0,0,0,.2);backdrop-filter:blur(6px);color:rgba(255,255,255,.45);font-size:1rem;font-weight:500;transition:color .3s}
.feature-nav button.is-active{color:#fff}
.features-cta{display:none;flex-direction:column;align-items:flex-start;gap:14px}
@media(min-width:1024px){.features-cta{display:flex}}
.features-cta p{font-size:1rem;font-weight:500;max-width:24rem;text-shadow:0 1px 10px rgba(0,0,0,.3)}
.features-right{display:flex;flex-direction:column;gap:40px}
.fcard{background:rgba(0,0,0,.2);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border-radius:28px;padding:24px;display:flex;flex-direction:column;gap:20px;opacity:0;transform:translateX(4rem);transition:opacity .7s ease-out,transform .7s ease-out}
@media(min-width:768px){.fcard{padding:40px}}
.fcard.is-visible{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.fcard{opacity:1;transform:none;transition:none}}
.fcard h3{font-size:1.25rem;font-weight:500;display:flex;gap:12px;align-items:baseline}
@media(min-width:768px){.fcard h3{font-size:1.5rem}}
.fnum{font-size:.8125rem;letter-spacing:.15em;opacity:.6}
.fmedia{aspect-ratio:16/9;border-radius:18px;overflow:hidden;background:rgba(0,0,0,.3)}
.fmedia video{width:100%;height:100%;object-fit:cover}
.fcard p{color:rgba(255,255,255,.7);font-weight:500;font-size:1rem;line-height:1.65}
@media(min-width:768px){.fcard p{font-size:1.0625rem}}

/* ---------- servizi ---------- */
.services{position:relative;z-index:10;background:var(--paper);border-radius:25px 25px 0 0;padding:80px 24px}
@media(min-width:768px){.services{padding:128px 24px}}
.services-lead{max-width:34rem;margin:0 auto 48px;text-align:center;font-size:1.0625rem;line-height:1.65}
.services-grid{max-width:72rem;margin:0 auto;display:grid;gap:16px}
@media(min-width:640px){.services-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.services-grid{grid-template-columns:repeat(3,1fr)}}
.scard{background:#fff;border-radius:24px;padding:28px;display:flex;flex-direction:column;transition:transform .3s,box-shadow .3s}
.scard:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(8,41,113,.1)}
.scard .q{font-size:.9375rem;opacity:.6;margin-bottom:14px}
.scard h3{font-size:1.25rem;font-weight:500}
.scard p{margin-top:8px;font-size:1rem;line-height:1.6;opacity:.8;flex:1}
.scard .link{margin-top:20px;display:inline-flex;align-items:center;gap:6px;font-size:.9375rem;font-weight:500}
.scard .link svg{transition:transform .3s}
.scard:hover .link svg{transform:translateX(3px)}

/* ---------- footer / contatti ---------- */
.footer{position:relative;z-index:10;background:#fff;padding:80px 24px 32px}
@media(min-width:768px){.footer{padding:128px 24px 40px}}
.footer-grid{max-width:72rem;margin:0 auto;display:grid;gap:48px}
@media(min-width:900px){.footer-grid{grid-template-columns:1fr 1fr;gap:80px}}
.footer-title{font-size:clamp(2rem,4.5vw,3.25rem);font-weight:400;line-height:1.1;letter-spacing:-.02em}
.footer-lead{margin:20px 0 28px;font-size:1.0625rem;line-height:1.65;max-width:28rem;opacity:.85}
.footer-address{margin-top:32px;font-size:1.0625rem;line-height:1.7;opacity:.85}
.footer-address a:hover{text-decoration:underline}
.form-card{background:var(--paper);border-radius:24px;padding:28px}
.kform{display:flex;flex-direction:column;gap:14px}
.kform-title{font-size:1.125rem;font-weight:500}
.kform label{display:flex;flex-direction:column;gap:6px;font-size:.8125rem;font-weight:500;text-transform:uppercase;letter-spacing:.08em;opacity:.9}
.kform input:not([type=checkbox]),.kform select{font:inherit;font-size:1.0625rem;color:var(--navy);background:#fff;border:1px solid var(--muted);border-radius:12px;padding:12px 14px;letter-spacing:0;text-transform:none}
.kform input::placeholder{color:rgba(8,41,113,.4)}
.kform .check{flex-direction:row;align-items:center;gap:10px;text-transform:none;letter-spacing:0;font-size:.9375rem;font-weight:400}
.kform .check a{text-decoration:underline}
.kform button{margin-top:6px;align-self:flex-start}
.kform-ok{font-size:1rem}
.kform-err{color:#9b1c1c;font-size:1rem;background:#fff;border-left:3px solid #9b1c1c;padding:8px 12px;border-radius:6px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.footer .divider{max-width:72rem;margin:64px auto 32px}
.footer-legal{max-width:72rem;margin:0 auto;display:grid;gap:12px;font-size:.9375rem;line-height:1.65;opacity:.8}
.footer-legal .small{font-size:.875rem}
.footer-legal a{text-decoration:underline}

/* pagine interne */
.section-simple{background:var(--paper);min-height:70vh;padding:140px 24px 80px}
.prose{max-width:42rem;margin-top:2rem;line-height:1.7}

/* Fix: l'hero copre sempre lo sfondo fisso della sezione percorso */
.hero{z-index:1;background:var(--navy)}
.hero-video{background:var(--navy)}
/* Mobile: barra CTA senza overflow */
@media(max-width:639px){
  .cta-bar{padding:5px 5px 5px 14px;gap:10px}
  .cta-text{font-size:.875rem;white-space:normal;line-height:1.3}
  .btn-white{padding:10px 14px;font-size:.875rem}
  .hero-title{font-size:2.6rem}
}

/* Hero luminoso: niente velo scuro pieno, solo un gradiente in basso per il testo */
.hero-overlay{background:linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(0,0,0,0) 45%,rgba(21,28,44,.55) 100%)}
.hero-title{font-size:clamp(2.5rem,7.2vw,88px);text-shadow:0 2px 6px rgba(0,0,0,.35),0 8px 40px rgba(0,0,0,.35)}
.hero-sub{color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.4),0 4px 20px rgba(0,0,0,.35)}
@media(max-width:639px){.hero-title{font-size:2.35rem}}

/* Contrasto titolo sul bianco della casa: gradiente blu dal basso più deciso, titolo leggermente più compatto */
.hero-overlay{background:linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(0,0,0,0) 40%,rgba(21,28,44,.35) 70%,rgba(21,28,44,.78) 100%)}
.hero-title{font-size:clamp(2.5rem,6.4vw,80px)}
.hero{padding-bottom:56px}
@media(min-width:768px){.hero{padding-bottom:72px}}


/* ---------- SEO / a11y ---------- */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:-9999px;top:8px;z-index:100;background:#fff;color:var(--navy);padding:10px 16px;border-radius:8px;font-weight:500}
.skip-link:focus{left:8px}
.section-title{font-size:clamp(1.75rem,3.6vw,2.75rem);font-weight:400;line-height:1.15;letter-spacing:-.02em;text-align:center;max-width:40rem;margin:0 auto 20px}
.services .section-title{margin-bottom:16px}

/* FAQ */
.faq{position:relative;z-index:10;background:#fff;padding:80px 24px}
@media(min-width:768px){.faq{padding:112px 24px}}
.faq-inner{max-width:52rem;margin:0 auto}
.faq-list{margin-top:40px;display:flex;flex-direction:column;gap:10px}
.faq-item{background:var(--paper);border-radius:18px;padding:0 24px}
.faq-item summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 0}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item h3{font-size:1.0625rem;font-weight:500;line-height:1.4}
@media(min-width:768px){.faq-item h3{font-size:1.125rem}}
.faq-plus{flex:none;width:30px;height:30px;border-radius:999px;background:#fff;display:grid;place-items:center;font-size:1.25rem;transition:transform .3s}
.faq-item[open] .faq-plus{transform:rotate(45deg)}
.faq-item p{padding:0 0 22px;font-size:1rem;line-height:1.65;opacity:.85;max-width:44rem}

/* Dove siamo */
.where{position:relative;z-index:10;background:var(--paper);padding:80px 24px}
@media(min-width:768px){.where{padding:112px 24px}}
.where-inner{max-width:72rem;margin:0 auto;display:grid;gap:40px;align-items:center}
@media(min-width:900px){.where-inner{grid-template-columns:1fr 1fr;gap:64px}}
.where .section-title{text-align:left;margin:0 0 20px}
.where-text{font-size:1.0625rem;line-height:1.65;margin-bottom:16px;opacity:.9}
.where-text a{text-decoration:underline}
.where .pill-btn{margin-top:8px}
.where-map{aspect-ratio:4/3;border-radius:24px;overflow:hidden;background:#fff}
.where-map iframe{width:100%;height:100%;border:0}


/* =========================================================================
   v2.4 — Revisione UI/UX
   ========================================================================= */
/* Navbar: fissa, si compatta e prende vetro dopo lo scroll */
.pill-nav{position:fixed;transition:top .3s}
.pill{transition:padding .3s,box-shadow .3s,background .3s}
.pill-nav.is-scrolled{top:12px}
.pill-nav.is-scrolled .pill{padding:6px 8px 6px 14px;background:rgba(255,255,255,.85);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 8px 24px rgba(8,41,113,.12)}
.pill-nav.is-scrolled .brand img{height:28px}

/* Hero: gerarchia più netta */
.hero-content{gap:22px}
.hero-title{font-size:clamp(2.4rem,6.4vw,84px);line-height:1.02;letter-spacing:-.03em}
.hero-sub{max-width:520px;font-size:1.0625rem}
@media(min-width:768px){.hero-sub{font-size:1.1875rem}}
.hero-sub strong{font-weight:600}
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 18px}
.btn-lg{padding:15px 22px 15px 24px;font-size:1rem;font-weight:600;border-radius:999px;display:inline-flex;align-items:center;gap:10px;box-shadow:0 12px 30px rgba(0,0,0,.18);transition:transform .25s,box-shadow .25s,background .25s}
.btn-lg:hover{transform:translateY(-2px);box-shadow:0 16px 36px rgba(0,0,0,.22)}
.btn-lg svg{transition:transform .25s}.btn-lg:hover svg{transform:translateX(3px)}
.btn-ghost{color:#fff;font-weight:500;font-size:.9375rem;padding:12px 6px;border-bottom:1px solid rgba(255,255,255,.5);transition:border-color .25s}
.btn-ghost:hover{border-color:#fff}
.trust-strip{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 22px;margin-top:6px;color:rgba(255,255,255,.9);font-size:.875rem;font-weight:500}
.trust-strip b{font-weight:600;color:#fff;margin-right:4px}
.trust-strip li{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;border-radius:999px;background:rgba(21,28,44,.35);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
@media(max-width:639px){.trust-strip li:nth-child(n+3){display:none}}

/* Eyebrow: struttura leggibile a colpo d'occhio */
.eyebrow{font-size:.75rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;opacity:.6;margin-bottom:14px}
.eyebrow.center{text-align:center}
.features .eyebrow{color:#fff;opacity:.75}

/* Chi siamo: marchio reale, frase più breve con accento serif */
.about-mark img{height:36px;width:auto}
.about-big .serif{font-size:1.06em}
.reveal{opacity:0;transform:translateY(1.25rem);transition:opacity .7s ease-out,transform .7s ease-out}
.reveal.is-visible{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

/* Processo: via il logo, numero come segno grafico; nav a timeline */
.fhead{display:flex;align-items:flex-start;gap:16px}
.fnum{font-family:'Instrument Serif',Georgia,serif;font-style:italic;font-size:2.25rem;line-height:1;opacity:.9;letter-spacing:0}
.fcard h3{font-size:1.375rem;margin-top:4px}
@media(min-width:768px){.fcard h3{font-size:1.625rem}}
.fcard{border:1px solid rgba(255,255,255,.18);transition:opacity .7s ease-out,transform .7s ease-out,border-color .3s}
.fcard:hover{border-color:rgba(255,255,255,.4)}
.feature-nav{position:relative;padding-left:22px;counter-reset:step}
.feature-nav::before{content:"";position:absolute;left:6px;top:10px;bottom:10px;width:2px;background:rgba(255,255,255,.25);border-radius:2px}
.feature-nav li{position:relative}
.feature-nav li::before{content:"";position:absolute;left:-20px;top:18px;width:10px;height:10px;border-radius:999px;background:rgba(255,255,255,.35);transition:background .3s,transform .3s}
.feature-nav li:has(.is-active)::before{background:#fff;transform:scale(1.3)}
.feature-nav button{background:transparent;backdrop-filter:none;padding:10px 12px;font-size:1.0625rem}
.feature-nav button.is-active{background:rgba(255,255,255,.12)}

/* Servizi: icona, hover, stessa altezza */
.services-grid{gap:18px}
.scard{padding:30px 28px;border:1px solid transparent;transition:transform .3s,box-shadow .3s,border-color .3s}
.scard:hover{border-color:var(--muted)}
.sicon{width:46px;height:46px;border-radius:14px;background:var(--paper);color:var(--navy);display:grid;place-items:center;margin-bottom:18px}
.scard .q{font-family:'Instrument Serif',Georgia,serif;font-style:italic;font-size:1.125rem;opacity:.75;margin-bottom:8px}

/* FAQ: hover */
.faq-item{transition:background .25s}
.faq-item:hover{background:#e2e8f4}

/* Form: card più leggibile */
.form-card{box-shadow:0 20px 50px rgba(8,41,113,.08)}
.kform-title::after{content:"Rispondiamo entro un giorno lavorativo.";display:block;font-size:.9375rem;font-weight:400;opacity:.7;margin-top:4px}

/* Barra mobile sticky con azioni di contatto */
.mobile-bar{position:fixed;left:12px;right:12px;bottom:12px;z-index:60;display:flex;gap:8px;padding:8px;background:rgba(255,255,255,.9);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-radius:18px;box-shadow:0 10px 30px rgba(8,41,113,.18)}
.mb-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:12px 8px;border-radius:12px;font-size:.875rem;font-weight:600;background:var(--paper);color:var(--navy)}
.mb-primary{flex:1.6;background:var(--navy);color:#fff}
@media(min-width:900px){.mobile-bar{display:none}}
@media(max-width:899px){.footer{padding-bottom:96px}}

/* Focus e selezione coerenti */
::selection{background:rgba(8,41,113,.18)}
.btn-white:focus-visible,.pill-btn:focus-visible,.mb-btn:focus-visible{outline:3px solid #fff;outline-offset:2px;box-shadow:0 0 0 5px var(--navy)}

/* =========================================================================
   Prequalificatore
   ========================================================================= */
.pq{display:flex;flex-direction:column;gap:18px}
.pq-title{font-size:1.5rem;font-weight:500;letter-spacing:-.01em;line-height:1.2}
.pq-sub{margin-top:6px;font-size:1rem;opacity:.75;line-height:1.5}
.pq-progress{margin-top:16px;height:4px;border-radius:4px;background:var(--muted);overflow:hidden}
.pq-progress span{display:block;height:100%;width:100%;transform-origin:left;transform:scaleX(.16);background:var(--navy);transition:transform .4s ease;will-change:transform}
.pq-step-label{margin-top:8px;font-size:.8125rem;opacity:.65}
.pq-step{display:none;border:0;margin:0;padding:0;min-width:0}
.pq-step.is-active{display:block;animation:pqin .35s ease-out}
@keyframes pqin{from{opacity:0;transform:translateX(12px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.pq-step.is-active{animation:none}}
.pq-step legend{font-size:1.125rem;font-weight:500;line-height:1.35;margin-bottom:14px;padding:0}
.pq-hint{font-size:.9375rem;opacity:.7;margin:-6px 0 14px}
.pq-options{display:grid;gap:10px}
@media(min-width:640px){.pq-options{grid-template-columns:1fr 1fr}.pq-options-3{grid-template-columns:1fr 1fr 1fr}}
.pq-opt{position:relative;display:block;cursor:pointer}
.pq-opt input{position:absolute;opacity:0;inset:0;pointer-events:none}
.pq-opt span{display:block;padding:14px 16px;border-radius:14px;background:#fff;border:1.5px solid var(--muted);font-size:1rem;line-height:1.35;transition:border-color .2s,background .2s,transform .2s}
.pq-opt:hover span{border-color:var(--navy)}
.pq-opt input:checked+span{border-color:var(--navy);background:var(--navy);color:#fff}
.pq-opt input:focus-visible+span{outline:2px solid var(--navy);outline-offset:2px}
.pq-grid{display:grid;gap:14px}
@media(min-width:640px){.pq-grid{grid-template-columns:1fr 1fr}}
.pq-field{display:flex;flex-direction:column;gap:6px;font-size:.8125rem;font-weight:500;text-transform:uppercase;letter-spacing:.08em;opacity:.9}
.pq-field input,.pq-field select{font:inherit;font-size:1.0625rem;color:var(--navy);background:#fff;border:1.5px solid var(--muted);border-radius:12px;padding:12px 14px;letter-spacing:0;text-transform:none;font-weight:400}
.pq-field input:focus,.pq-field select:focus{outline:0;border-color:var(--navy)}
.pq-check{display:flex;gap:10px;align-items:flex-start;margin-top:14px;font-size:.9375rem;line-height:1.5}
.pq-check input{margin-top:4px}
.pq-check a{text-decoration:underline}
.pq-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:6px}
.pq-back{background:transparent;border:0;color:var(--navy);font-weight:500;text-decoration:underline;padding:10px 4px}
.pq-submit.is-loading{opacity:.6;pointer-events:none}
.pq-error{color:#9b1c1c;font-size:.9375rem;background:#fff;border-left:3px solid #9b1c1c;padding:8px 12px;border-radius:6px}
.pq-result{background:#fff;border-radius:18px;padding:28px;line-height:1.6}
.pq-result-title{font-size:1.375rem;font-weight:500;margin-bottom:10px;letter-spacing:-.01em}
.pq-result a{text-decoration:underline;font-weight:500}
/* Sezione dedicata */
.pq-section{position:relative;z-index:10;background:var(--paper);padding:80px 24px}
@media(min-width:768px){.pq-section{padding:112px 24px}}
.pq-wrap{max-width:72rem;margin:0 auto;display:grid;gap:40px;align-items:start}
@media(min-width:960px){.pq-wrap{grid-template-columns:1fr 1.2fr;gap:64px}}
.pq-side .section-title{text-align:left;margin:0 0 16px}
.pq-side p{font-size:1.0625rem;line-height:1.65;opacity:.85;margin-bottom:14px}
.pq-side ul{margin-top:20px;display:flex;flex-direction:column;gap:10px}
.pq-side li{display:flex;gap:10px;align-items:flex-start;font-size:1rem}
.pq-side li::before{content:"✓";flex:none;width:22px;height:22px;border-radius:999px;background:var(--navy);color:#fff;font-size:.75rem;display:grid;place-items:center;margin-top:2px}
.pq-card{background:#fff;border-radius:24px;padding:28px;box-shadow:0 20px 50px rgba(8,41,113,.08)}
@media(min-width:640px){.pq-card{padding:36px}}
.pq-card .pq-opt span,.pq-card .pq-field input,.pq-card .pq-field select,.pq-card .pq-result{background:var(--paper)}
.pq-card .pq-opt input:checked+span{background:var(--navy)}


/* =========================================================================
   v3 — recensioni, pagine servizio, chi siamo, footer
   ========================================================================= */
.reviews{position:relative;z-index:10;background:#fff;padding:80px 24px}
@media(min-width:768px){.reviews{padding:112px 24px}}
.reviews-grid{max-width:72rem;margin:40px auto 0;display:grid;gap:16px}
@media(min-width:640px){.reviews-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.reviews-grid{grid-template-columns:repeat(3,1fr)}}
.review{margin:0;background:var(--paper);border-radius:22px;padding:26px;display:flex;flex-direction:column;gap:10px}
.review .stars{color:var(--yellow);letter-spacing:.12em;font-size:.9375rem}
.review p{font-size:1rem;line-height:1.6}
.review footer{margin-top:auto;padding-top:8px;font-size:.875rem;opacity:.75}
.review footer a{text-decoration:underline}
.review.small{padding:18px 20px;background:#fff}
.review.small p{font-size:.9375rem}
.reviews-more{text-align:center;margin-top:32px}
.svc-reviews .review{background:#fff}

.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.footer-links ul{display:flex;flex-direction:column;gap:8px}
.footer-links a{font-size:1rem}
.footer-links a:hover{text-decoration:underline}

/* Pagine interne */
.crumbs{font-size:.875rem;opacity:.7;margin-bottom:24px}
.crumbs span{margin:0 6px}
.crumbs a:hover{text-decoration:underline}
.svc-hero,.team-hero{background:var(--paper);padding:140px 24px 64px}
@media(min-width:768px){.svc-hero,.team-hero{padding:160px 24px 80px}}
.svc-hero{display:grid;gap:40px;max-width:72rem;margin:0 auto;align-items:center}
@media(min-width:900px){.svc-hero{grid-template-columns:1.1fr .9fr;gap:64px;padding-inline:0}}
.svc-hero h1,.team-hero h1{font-size:clamp(2.25rem,5vw,3.75rem);font-weight:400;line-height:1.08;letter-spacing:-.025em;margin-bottom:20px}
.svc-lead{font-size:1.125rem;line-height:1.65;max-width:34rem;opacity:.9;margin-bottom:28px}
.hero-actions.left{justify-content:flex-start}
.svc-hero-media{margin:0;border-radius:24px;overflow:hidden;aspect-ratio:16/11;box-shadow:0 24px 60px rgba(8,41,113,.14)}
.svc-hero-media video{width:100%;height:100%;object-fit:cover}
.svc-block{background:#fff;padding:72px 24px}
@media(min-width:768px){.svc-block{padding:96px 24px}}
.svc-two{max-width:72rem;margin:0 auto;display:grid;gap:48px}
@media(min-width:900px){.svc-two{grid-template-columns:1fr 1.2fr;gap:80px}}
.svc-two h2{font-size:1.75rem;font-weight:400;letter-spacing:-.02em;margin-bottom:20px}
.svc-list{display:flex;flex-direction:column;gap:12px}
.svc-list li{display:flex;gap:12px;font-size:1.0625rem;line-height:1.5}
.svc-list li::before{content:"";flex:none;width:8px;height:8px;border-radius:999px;background:var(--navy);margin-top:10px}
.svc-steps{display:flex;flex-direction:column;gap:22px}
.svc-steps li{display:flex;gap:18px}
.svc-steps .fnum{color:var(--navy);opacity:.7;font-size:2rem;line-height:1}
.svc-steps h3{font-size:1.125rem;font-weight:500;margin-bottom:4px}
.svc-steps p{font-size:1rem;line-height:1.6;opacity:.85}
.svc-faq{background:var(--paper)}
.svc-faq .faq-list{max-width:52rem;margin:32px auto 0}
.svc-faq .faq-item{background:#fff}
.svc-others{max-width:52rem;margin:40px auto 0;font-size:.9375rem;opacity:.8}
.svc-others a{text-decoration:underline;margin-left:10px}
.svc-reviews{background:var(--paper)}

/* Team */
.team-hero{max-width:72rem;margin:0 auto}
@media(min-width:900px){.team-hero{padding-inline:0}}
.team-hero{background:transparent}
.team{background:var(--paper)}
.team-hero .svc-lead{max-width:42rem}
.trust-strip.dark li{background:#fff;color:var(--navy)}
.trust-strip.dark b{color:var(--navy)}
.trust-strip.dark{justify-content:flex-start;color:var(--navy)}
.team-grid-wrap{padding:24px 24px 80px}
.team-grid{max-width:72rem;margin:0 auto;display:flex;flex-direction:column;gap:24px}
.member{background:#fff;border-radius:28px;padding:28px;display:grid;gap:28px;scroll-margin-top:100px}
@media(min-width:768px){.member{grid-template-columns:280px 1fr;padding:36px;gap:40px}}

.member-ph{background:var(--paper);display:grid;place-items:center;font-family:'Instrument Serif',serif;font-style:italic;font-size:5rem;color:var(--navy);opacity:.5}
.member h2{font-size:2rem;font-weight:400;letter-spacing:-.02em}
.member-role{margin-top:4px;font-size:.9375rem;text-transform:uppercase;letter-spacing:.1em;opacity:.6}
.member-spec{margin-top:10px;font-size:1rem;font-weight:500}
.member-bio{margin-top:14px;font-size:1.0625rem;line-height:1.65;opacity:.9;max-width:42rem}
.member-contacts{margin-top:20px;display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.member-mail{text-decoration:underline;font-size:.9375rem;margin-left:6px}
.member-reviews{margin-top:28px;padding-top:24px;border-top:1px solid var(--muted);display:grid;gap:12px}
@media(min-width:1024px){.member-reviews{grid-template-columns:repeat(3,1fr)}.member-reviews .eyebrow{grid-column:1/-1;margin-bottom:0}}
.member-reviews .review.small{background:var(--paper)}
[hidden]{display:none!important}
.site{background:var(--paper)}
.svc,.team{background:var(--paper)}
.svc-hero{background:transparent}
@media(min-width:900px){.svc-hero{padding-inline:24px}}


/* =========================================================================
   v3.1 — landing servizi, contatti
   ========================================================================= */
.lp,.contact{background:var(--paper)}
.lp-hero{position:relative;min-height:82vh;display:flex;align-items:flex-end;background-size:cover;background-position:center right;padding:140px 24px 64px;color:#fff;isolation:isolate}
@media(min-width:768px){.lp-hero{padding:160px 24px 88px;min-height:88vh}}
.lp-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(21,28,44,.78) 0%,rgba(21,28,44,.45) 45%,rgba(21,28,44,.1) 100%),linear-gradient(180deg,rgba(21,28,44,0) 50%,rgba(21,28,44,.55) 100%)}
.lp-hero-inner{max-width:72rem;margin:0 auto;width:100%}
.lp-hero h1{font-size:clamp(2.4rem,5.6vw,4.5rem);font-weight:400;line-height:1.04;letter-spacing:-.03em;max-width:16ch;margin-bottom:20px;text-shadow:0 2px 20px rgba(0,0,0,.25)}
.lp-hero .eyebrow{color:#fff;opacity:.8}
.lp-lead{font-size:1.125rem;line-height:1.6;max-width:34rem;opacity:.95;margin-bottom:28px}
@media(min-width:768px){.lp-lead{font-size:1.25rem}}
.lp-hero .trust-strip{justify-content:flex-start;margin-top:24px}
.crumbs.light{color:#fff;opacity:.8}
.lp-numbers{background:var(--navy);color:#fff;display:grid;grid-template-columns:repeat(3,1fr);max-width:none}
.lp-num{padding:28px 16px;text-align:center;border-right:1px solid rgba(255,255,255,.12)}
.lp-num:last-child{border:0}
.lp-num b{display:block;font-weight:400;font-size:clamp(1.75rem,4vw,2.75rem);letter-spacing:-.02em;line-height:1}
.lp-num span{display:block;margin-top:6px;font-size:.875rem;opacity:.8}
.lp-shift{padding:80px 24px}
@media(min-width:768px){.lp-shift{padding:112px 24px}}
.lp-shift-inner{max-width:72rem;margin:0 auto;display:grid;gap:24px;align-items:stretch}
@media(min-width:900px){.lp-shift-inner{grid-template-columns:1fr 60px 1fr}}
.lp-col{border-radius:24px;padding:32px}
.lp-col ul{display:flex;flex-direction:column;gap:14px}
.lp-col li{display:flex;gap:12px;font-size:1.0625rem;line-height:1.5;align-items:flex-start}
.lp-col.pain{background:#fff}
.lp-col.pain li::before{content:"×";flex:none;width:24px;height:24px;border-radius:999px;background:var(--paper);display:grid;place-items:center;font-size:1rem;opacity:.6}
.lp-col.gain{background:var(--navy);color:#fff}
.lp-col.gain .eyebrow{color:#fff}
.lp-col.gain li::before{content:"✓";flex:none;width:24px;height:24px;border-radius:999px;background:#fff;color:var(--navy);display:grid;place-items:center;font-size:.8rem}
.lp-arrow{display:none;place-items:center;color:var(--navy);opacity:.5}
@media(min-width:900px){.lp-arrow{display:grid}}
.lp-benefits{background:#fff;padding:80px 24px}
@media(min-width:768px){.lp-benefits{padding:112px 24px}}
.lp-benefit-grid{max-width:72rem;margin:40px auto 0;display:grid;gap:18px}
@media(min-width:768px){.lp-benefit-grid{grid-template-columns:repeat(3,1fr)}}
.lp-benefit{background:var(--paper);border-radius:24px;padding:30px}
.lp-benefit .sicon{background:#fff}
.lp-benefit h3{font-size:1.25rem;font-weight:500;margin-bottom:8px}
.lp-benefit p{font-size:1rem;line-height:1.6;opacity:.85}
.lp-for{padding:80px 24px}
@media(min-width:768px){.lp-for{padding:112px 24px}}
.lp-for-inner{max-width:72rem;margin:0 auto;display:grid;gap:40px;align-items:center}
@media(min-width:900px){.lp-for-inner{grid-template-columns:1fr 1fr;gap:72px}}
.lp-media{margin:0;border-radius:28px;overflow:hidden;aspect-ratio:4/3;box-shadow:0 30px 70px rgba(8,41,113,.16)}
.lp-media video{width:100%;height:100%;object-fit:cover}
.lp-for h2{font-size:clamp(1.75rem,3.2vw,2.5rem);font-weight:400;letter-spacing:-.02em;margin-bottom:24px}
.lp-process{background:#fff;padding:80px 24px}
@media(min-width:768px){.lp-process{padding:112px 24px}}
.lp-steps{max-width:72rem;margin:48px auto 0;display:grid;gap:18px;counter-reset:s}
@media(min-width:768px){.lp-steps{grid-template-columns:repeat(4,1fr)}}
.lp-steps li{position:relative;background:var(--paper);border-radius:22px;padding:28px 24px 24px}
.lp-steps .fnum{display:block;font-size:2.5rem;color:var(--navy);opacity:.35;margin-bottom:8px}
.lp-steps h3{font-size:1.125rem;font-weight:500;margin-bottom:8px}
.lp-steps p{font-size:.9375rem;line-height:1.6;opacity:.85}
.lp-reviews{padding:80px 24px}
@media(min-width:768px){.lp-reviews{padding:112px 24px}}
.lp-reviews .review{background:#fff}
.review footer a{text-decoration:underline}
.lp-final{background:var(--navy);color:#fff;text-align:center;padding:88px 24px}
.lp-final h2{font-size:clamp(1.75rem,3.6vw,2.75rem);font-weight:400;letter-spacing:-.02em;line-height:1.15;margin-bottom:28px}
.lp-final .hero-actions{justify-content:center}
.lp-final .btn-white{color:var(--navy)}

/* Contatti */
.contact-hero{min-height:64vh}
@media(min-width:768px){.contact-hero{min-height:70vh}}
.contact-ways{max-width:72rem;margin:-48px auto 0;position:relative;z-index:2;display:grid;gap:14px;padding:0 24px}
@media(min-width:640px){.contact-ways{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.contact-ways{grid-template-columns:repeat(4,1fr)}}
.way{background:#fff;border-radius:22px;padding:26px;display:flex;flex-direction:column;gap:4px;box-shadow:0 16px 40px rgba(8,41,113,.1);transition:transform .25s,box-shadow .25s}
.way:hover{transform:translateY(-3px);box-shadow:0 22px 50px rgba(8,41,113,.14)}
.way .sicon{margin-bottom:12px;font-weight:600}
.way b{font-size:.8125rem;text-transform:uppercase;letter-spacing:.12em;opacity:.6}
.way-main{font-size:1.25rem;font-weight:500;letter-spacing:-.01em}
.way-sub{font-size:.9375rem;line-height:1.5;opacity:.75;margin-top:6px}
.way-primary{background:var(--navy);color:#fff}
.way-primary .sicon{background:#fff;color:var(--navy)}
.contact-info{padding:64px 24px}
.contact-info-inner{max-width:72rem;margin:0 auto;display:grid;gap:18px}
@media(min-width:900px){.contact-info-inner{grid-template-columns:1.1fr 1.2fr .9fr}}
.contact-card{background:#fff;border-radius:24px;padding:30px}
.hours{width:100%;border-collapse:collapse;font-size:1rem}
.hours th{text-align:left;font-weight:500;padding:10px 0;border-bottom:1px solid var(--muted);width:40%}
.hours td{padding:10px 0;border-bottom:1px solid var(--muted);opacity:.9}
.hours tr:last-child th,.hours tr:last-child td{border:0}
.hours .closed td{opacity:.45}
.contact-note{margin-top:16px;font-size:.9375rem;line-height:1.6;opacity:.85}
.contact-note a{text-decoration:underline}
.contact-addr{font-size:1.0625rem;line-height:1.6}
.contact-card .hero-actions{margin-top:20px}
.contact-map{max-width:72rem;margin:0 auto;padding:0 24px 24px}
.contact-map iframe{width:100%;height:420px;border:0;border-radius:24px;display:block}

/* =========================================================================
   v3.2 — fix mobile, footer a box, social, WhatsApp, blog, legale, cookie
   ========================================================================= */

/* --- Fix scorrimento laterale su mobile ---
   Causa: elementi larghi (hero video, griglie, mappa) che sforavano il viewport. */
html,body{max-width:100%;overflow-x:hidden;overscroll-behavior-x:none}
.site,.hero,.features,.lp,.contact,.blog,.legal{max-width:100vw;overflow-x:clip}
*{min-width:0}
img,video,iframe,table{max-width:100%}
.hero-video{width:100%;height:100%;left:0;top:0}
.features-bg{width:100vw;left:0;right:auto}
@media(max-width:900px){
  /* niente background-attachment fixed su mobile: causa sfarfallio e drift */
  .features-bg{position:absolute;height:100%}
  .features{overflow:hidden}
}
.lp-hero{background-attachment:scroll}

/* --- WhatsApp: CTA evidente --- */
.pill-wa{background:#1f8f4e;color:#fff;padding-right:20px}
.pill-wa:hover{background:#18763f}
.pill-wa .pill-ico{background:#fff;color:#1f8f4e}
.wa-text{display:flex;flex-direction:column;line-height:1.25;text-align:left;text-transform:none;letter-spacing:0}
.wa-text b{font-size:.9375rem;font-weight:600}
.wa-text small{font-size:.75rem;opacity:.9;font-weight:400}
.wa-text small::before{content:"";display:inline-block;width:7px;height:7px;border-radius:999px;background:#8ff0b0;margin-right:6px;animation:wapulse 1.8s ease-in-out infinite}
@keyframes wapulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.8)}}
@media(prefers-reduced-motion:reduce){.wa-text small::before{animation:none}}
.way-wa .sicon{background:#1f8f4e;color:#fff}
.mb-wa{background:#1f8f4e;color:#fff}
.mb-wa svg{color:#fff}

/* --- Social --- */
.socials{display:flex;gap:10px;margin-top:24px}
.socials a{width:42px;height:42px;border-radius:999px;background:var(--paper);color:var(--navy);display:grid;place-items:center;transition:background .25s,color .25s,transform .25s}
.socials a:hover{background:var(--navy);color:#fff;transform:translateY(-2px)}

/* --- Box blu del footer --- */
.footer-boxes{max-width:72rem;margin:56px auto 0;display:grid;gap:16px;align-items:stretch}
@media(min-width:760px){.footer-boxes{grid-template-columns:1fr 1fr}}
@media(min-width:1080px){.footer-boxes{grid-template-columns:1fr 1fr 1.2fr}}
.fbox{background:var(--navy);color:#fff;border-radius:22px;padding:32px}
.fbox-title{font-size:1.25rem;font-weight:600;margin-bottom:18px}
.fbox-line{font-size:1rem;line-height:1.75;opacity:.92}
.fbox-line a{text-decoration:underline}
.fbox-list{display:flex;flex-direction:column;gap:14px}
.fbox-list a{font-size:1rem;opacity:.92;transition:opacity .25s}
.fbox-list a:hover{opacity:1;text-decoration:underline}
.fbox-brand{display:flex;flex-direction:column;gap:24px}
.fbox-logo{height:auto;width:min(260px,70%)}
.fbox-nav a{text-transform:uppercase;letter-spacing:.06em;font-weight:600;font-size:.9375rem}

/* --- Blog --- */
.blog,.post-single,.legal{background:var(--paper)}
.blog-hero,.post-hero,.legal-hero{max-width:72rem;margin:0 auto;padding:140px 24px 40px}
@media(min-width:768px){.blog-hero,.post-hero,.legal-hero{padding:160px 24px 48px}}
.blog-hero h1,.post-hero h1,.legal-hero h1{font-size:clamp(2rem,4.6vw,3.5rem);font-weight:400;line-height:1.08;letter-spacing:-.025em;margin-bottom:18px;max-width:22ch}
.blog-cats{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}
.blog-cats a{display:inline-block;padding:8px 16px;border-radius:999px;background:#fff;font-size:.9375rem;font-weight:500;transition:background .25s,color .25s}
.blog-cats a:hover,.blog-cats a.is-active{background:var(--navy);color:#fff}
.blog-grid{max-width:72rem;margin:0 auto;padding:0 24px 72px;display:grid;gap:20px}
@media(min-width:640px){.blog-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.blog-grid{grid-template-columns:repeat(3,1fr)}}
.post-card{background:#fff;border-radius:22px;overflow:hidden;display:flex;flex-direction:column;transition:transform .3s,box-shadow .3s}
.post-card:hover{transform:translateY(-3px);box-shadow:0 20px 44px rgba(8,41,113,.12)}
.post-thumb{aspect-ratio:16/10;background:var(--paper);display:grid;place-items:center;overflow:hidden}
.post-thumb img{width:100%;height:100%;object-fit:cover}
.post-ph{font-family:'Instrument Serif',serif;font-style:italic;font-size:3rem;color:var(--navy);opacity:.25}
.post-body{padding:24px;display:flex;flex-direction:column;flex:1;gap:8px}
.post-meta{font-size:.8125rem;opacity:.6;text-transform:none;letter-spacing:.02em}
.post-body h2{font-size:1.1875rem;font-weight:500;line-height:1.3}
.post-body p{font-size:1rem;line-height:1.6;opacity:.8;flex:1}
.post-body .link{display:inline-flex;align-items:center;gap:6px;font-size:.9375rem;font-weight:500;margin-top:6px}
.blog-empty{grid-column:1/-1;font-size:1.0625rem;opacity:.8}
.blog-nav{padding:0 24px 72px;text-align:center}
.blog-nav .page-numbers{display:inline-block;padding:8px 14px;border-radius:10px;margin:0 3px;background:#fff}
.blog-nav .current{background:var(--navy);color:#fff}
.post-cover{max-width:72rem;margin:0 auto 40px;padding:0 24px}
.post-cover img{width:100%;border-radius:24px}
.post-single .prose,.legal-body{max-width:44rem;margin:0 auto;padding:0 24px 64px;font-size:1.0625rem;line-height:1.75}
.post-single .prose h2,.legal-body h2{font-size:1.75rem;font-weight:400;letter-spacing:-.02em;margin:40px 0 14px}
.post-single .prose h3,.legal-body h3{font-size:1.25rem;font-weight:500;margin:28px 0 10px}
.post-single .prose p,.legal-body p{margin-bottom:16px}
.post-single .prose ul,.legal-body ul{margin:0 0 18px;padding-left:22px;list-style:disc}
.post-single .prose li,.legal-body li{margin-bottom:8px}
.post-single .prose a,.legal-body a{text-decoration:underline}
.legal-body .lead{font-size:1.125rem;opacity:.85;padding-bottom:8px;border-bottom:1px solid var(--muted);margin-bottom:28px}
.legal-table{width:100%;border-collapse:collapse;margin:18px 0 26px;font-size:.9375rem;background:#fff;border-radius:14px;overflow:hidden}
.legal-table th,.legal-table td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--muted);vertical-align:top}
.legal-table th{font-weight:600;background:var(--paper)}
.legal-table tr:last-child td{border-bottom:0}
@media(max-width:640px){.legal-table,.legal-table tbody,.legal-table tr,.legal-table td,.legal-table th{display:block}.legal-table th{background:transparent;padding-bottom:0}}
.post-cta{max-width:44rem;margin:0 auto 72px;background:#fff;border-radius:24px;padding:32px;text-align:center}
.post-cta h2{font-size:1.5rem;font-weight:400;margin-bottom:20px}
.post-cta .hero-actions{justify-content:center}
.post-related{padding-bottom:32px}
.link-btn{background:none;border:0;padding:0;color:inherit;text-decoration:underline;font:inherit;cursor:pointer}

/* --- Embed con consenso --- */
.embed-gate{background:var(--paper);border:1px dashed var(--muted);border-radius:24px;padding:32px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;min-height:220px;height:100%}
.embed-gate p{font-size:1rem;line-height:1.6;max-width:32rem}
.embed-gate .pill-btn{margin-top:6px}
.embed-alt{font-size:.9375rem;text-decoration:underline;opacity:.75}
.contact-map .embed-gate,.where-map .embed-gate{min-height:320px}
.video-embed{margin:24px 0}
.video-embed iframe{width:100%;aspect-ratio:16/9;border:0;border-radius:18px}

/* --- Banner cookie --- */
.ck{position:fixed;left:12px;right:12px;bottom:12px;z-index:80}
@media(min-width:900px){.ck{left:auto;right:24px;bottom:24px;max-width:460px}}
.ck-box{background:#fff;border-radius:20px;padding:24px;box-shadow:0 20px 60px rgba(8,41,113,.25)}
.ck-title{font-size:1.125rem;font-weight:600;margin-bottom:8px}
.ck-text{font-size:.9375rem;line-height:1.55;opacity:.85}
.ck-text a{text-decoration:underline}
.ck-prefs{display:flex;flex-direction:column;gap:10px;margin-top:16px;font-size:.9375rem}
.ck-prefs label{display:flex;gap:10px;align-items:center}
.ck-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.ck-btn{flex:1;min-width:110px;border:1.5px solid var(--muted);background:#fff;color:var(--navy);border-radius:999px;padding:11px 14px;font-size:.9375rem;font-weight:600;transition:background .25s,border-color .25s}
.ck-btn:hover{border-color:var(--navy)}
.ck-accept{background:var(--navy);border-color:var(--navy);color:#fff}
.ck-accept:hover{background:var(--navy-hover)}
@media(max-width:899px){.mobile-bar{bottom:12px}.ck{bottom:84px}}

/* --- Prequalificatore: opzioni con icona, riferimenti nello scarto --- */
.pq-opt-ico span{display:flex;align-items:center;gap:10px}
.pq-opt-ico i{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--paper);color:var(--navy);flex:none}
.pq-opt-ico input:checked+span i{background:rgba(255,255,255,.18);color:#fff}
.pq-scarto{border-left:3px solid var(--navy)}
.pq-refs{margin-top:16px;display:flex;flex-direction:column;gap:10px}
.pq-refs li{display:flex;align-items:center;gap:10px;font-size:1.0625rem}
.pq-refs a{text-decoration:underline;font-weight:500}
@media(min-width:640px){.pq-options-4{grid-template-columns:repeat(2,1fr)}}
@media(min-width:900px){.pq-options-4{grid-template-columns:repeat(4,1fr)}}

/* --- Footer: box compliance (marchi e iscrizioni) --- */
.footer-compliance{max-width:min(var(--max-width),72rem);margin:56px auto 0;display:grid;gap:16px;align-items:stretch}
@media(min-width:900px){.footer-compliance{grid-template-columns:1.35fr 1fr}}
.cbox{background:var(--sage-light);border-radius:22px;padding:30px;display:flex;flex-direction:column;gap:26px;justify-content:space-between}
.cbox-row{display:grid;gap:16px;align-items:start}
@media(min-width:520px){.cbox-row{grid-template-columns:190px 1fr;gap:24px}}
.cbox-logo{display:flex;align-items:flex-start}
.cbox-logo img{height:auto;max-width:180px}
.cbox-heading{font-size:1.375rem;font-weight:400;color:var(--dark-blue);letter-spacing:-.01em}
.cbox p{font-size:.9375rem;line-height:1.6;color:var(--dark-blue)}
.cbox a{text-decoration:underline}
.cbox strong{font-weight:600}
/* logo header: nitidezza su schermi ad alta densità */
.brand img{height:38px;width:auto;image-rendering:auto}
.pill-nav.is-scrolled .brand img{height:32px}
@media(max-width:640px){.brand img{height:32px}}
/* Logo header: dimensioni reali via CSS, sorgente sempre ad alta risoluzione */
.brand img{height:42px;width:auto;max-width:none}
.pill-nav.is-scrolled .brand img{height:34px}
@media(max-width:640px){.brand img{height:34px}}
.team-empty{background:#fff;border-radius:22px;padding:28px;font-size:1.0625rem;line-height:1.6}
.team-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.team-note{margin-top:14px;font-size:.9375rem;opacity:.75}


/* --- Foto dei consulenti: ritaglio forzato 4:5, indipendente dal file caricato --- */
.member{align-items:start}
.member-photo{position:relative;width:100%;max-width:280px;aspect-ratio:4/5;border-radius:20px;overflow:hidden;background:var(--paper)}
@media(max-width:767px){.member-photo{max-width:220px}}
.member-photo>img,
.member-photo>a>img,
.member-photo picture,
.member-photo picture>img{
  position:absolute!important;inset:0!important;
  width:100%!important;height:100%!important;max-width:none!important;
  object-fit:cover!important;object-position:center 22%!important;
  border-radius:0!important;margin:0!important
}
.member-ph{position:absolute;inset:0;display:grid;place-items:center;font-family:'Instrument Serif',Georgia,serif;font-style:italic;font-size:4.5rem;color:var(--brand-blue);opacity:.35}


/* =========================================================================
   v4 — Kìron Mantova: selettore lingua, blocco Mutuo 100%, sedi, lingue
   ====================================================================== */

/* --- Selettore di lingua nella pillola del menu -------------------------- */
.lang-switch{position:relative;margin-left:auto}
.lang-toggle{display:inline-flex;align-items:center;gap:6px;background:var(--paper);color:var(--navy);border:0;border-radius:999px;padding:8px 12px;font:inherit;font-size:.8125rem;font-weight:600;letter-spacing:.04em;cursor:pointer;transition:background .2s}
.lang-toggle:hover{background:var(--muted)}
.lang-toggle[aria-expanded="true"]{background:var(--navy);color:#fff}
.lang-switch .lang-code{line-height:1}
.lang-menu{position:absolute;top:calc(100% + 10px);right:0;z-index:60;min-width:190px;margin:0;padding:6px;list-style:none;background:#fff;border-radius:16px;box-shadow:0 16px 44px rgba(8,41,113,.18)}
.lang-menu[hidden]{display:none}
.lang-menu li{margin:0}
.lang-menu a{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:11px;font-size:.9375rem;color:var(--dark-blue);text-decoration:none;transition:background .18s}
.lang-menu a:hover{background:var(--paper)}
.lang-menu a.is-current{background:var(--navy);color:#fff;font-weight:600}
.lang-menu .lang-code{flex:0 0 26px;font-size:.6875rem;font-weight:700;letter-spacing:.06em;opacity:.65}
.lang-menu a.is-current .lang-code{opacity:.9}
@media(max-width:640px){.lang-switch{margin-left:0}.lang-toggle{padding:8px 10px}}

/* --- Hero: etichetta sopra al titolo ------------------------------------ */
.hero-kicker{display:inline-block;margin-bottom:14px;padding:6px 14px;border-radius:999px;background:rgba(255,255,255,.16);backdrop-filter:blur(6px);color:#fff;font-size:.75rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase}

/* --- Blocco "Mutuo al 100%" --------------------------------------------- */
.m100{position:relative;z-index:10;background:#fff;border-radius:25px 25px 0 0;padding:80px 24px}
.m100-inner{max-width:1180px;margin:0 auto}
.m100-head{max-width:46rem}
.m100-head .section-title{text-align:left;margin-left:0}
.m100-lead{margin-top:18px;font-size:1.0625rem;line-height:1.7;opacity:.85}
.m100-grid{display:grid;gap:40px;margin-top:48px}
@media(min-width:900px){.m100-grid{grid-template-columns:1.05fr .95fr;align-items:start;gap:56px}}
.m100-points{list-style:none;margin:0;padding:0;display:grid;gap:22px}
.m100-points li{display:flex;gap:16px;align-items:flex-start}
.m100-n{flex:0 0 auto;width:34px;height:34px;border-radius:999px;background:var(--paper);color:var(--navy);display:grid;place-items:center;font-size:.8125rem;font-weight:700;letter-spacing:.02em}
.m100-points h3{margin:0;font-size:1.0625rem;font-weight:600;line-height:1.35}
.m100-points p{margin:6px 0 0;font-size:.9688rem;line-height:1.6;opacity:.78}
.m100-media{margin:0;border-radius:24px;overflow:hidden;background:var(--paper)}
.m100-media img,.m100-media picture{display:block;width:100%;height:auto}
.m100-media figcaption{padding:14px 18px;font-size:.875rem;line-height:1.5;opacity:.7;background:var(--paper)}
.m100-foot{margin-top:44px;padding-top:32px;border-top:1px solid var(--wale-light);display:grid;gap:24px}
@media(min-width:900px){.m100-foot{grid-template-columns:1.3fr auto;align-items:center;gap:40px}}
.m100-note{margin:0;font-size:1rem;line-height:1.7;opacity:.85;max-width:44rem}

/* --- Card del servizio di punta ----------------------------------------- */
.scard-flag{background:var(--navy);color:#fff}
.scard-flag .q{opacity:.72}
.scard-flag p{opacity:.86}
.scard-flag .sicon{background:rgba(255,255,255,.14);color:#fff}
.scard-flag:hover{box-shadow:0 18px 44px rgba(8,41,113,.28)}

/* --- Sezione lingue ------------------------------------------------------ */
.langs{position:relative;z-index:10;background:var(--paper);padding:64px 24px}
.langs-inner{max-width:960px;margin:0 auto;display:flex;gap:24px;align-items:flex-start;background:#fff;border-radius:24px;padding:36px}
@media(max-width:640px){.langs-inner{flex-direction:column;padding:28px;gap:18px}}
.langs-ico{flex:0 0 auto;width:52px;height:52px;border-radius:999px;background:var(--paper);color:var(--navy);display:grid;place-items:center}
.langs .section-title{text-align:left;margin:0 0 12px}
.langs p{margin:0;font-size:1rem;line-height:1.7;opacity:.85}
.langs-list{list-style:none;margin:20px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.langs-list a{display:inline-block;padding:8px 16px;border-radius:999px;background:var(--paper);color:var(--navy);font-size:.9375rem;font-weight:500;text-decoration:none;transition:background .2s}
.langs-list a:hover{background:var(--muted)}

/* --- Elenco delle due sedi ---------------------------------------------- */
.where-sedi{list-style:none;margin:22px 0;padding:0;display:grid;gap:14px}
@media(min-width:640px){.where-sedi{grid-template-columns:1fr 1fr;gap:18px}}
.where-sedi li{background:#fff;border-radius:16px;padding:16px 18px}
.where-sedi b{display:block;font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:.55;margin-bottom:5px}
.where-sedi a{font-size:.9688rem;line-height:1.5;color:var(--navy)}

/* --- Card del percorso: immagini al posto dei video --------------------- */
.fmedia img,.fmedia picture{display:block;width:100%;height:100%;object-fit:cover}
.fmedia picture{display:block}

/* --- Indirizzo nel footer, con due sedi --------------------------------- */
.footer-address strong{display:block;margin-top:10px;font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:.5}
.footer-address strong:first-child{margin-top:0}

/* --- Terza colonna di link nel footer ----------------------------------- */
@media(min-width:900px){.footer-links{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* --- Contatti: due mappe affiancate, una per sede --------------------- */
.contact-map-due{display:grid;gap:20px}
@media(min-width:900px){.contact-map-due{grid-template-columns:1fr 1fr;gap:24px}}
.contact-map-due figure{margin:0}
.contact-map-due figcaption{margin-bottom:10px;font-size:.8125rem;font-weight:600;letter-spacing:.02em;opacity:.7}
.contact-map-due iframe,.contact-map-due .embed-gate{width:100%;min-height:320px;border:0;border-radius:20px}

/* --- Hero: immagine fissa al posto del video ---------------------------- */
.hero-media{position:absolute;inset:0;display:block;width:100%;height:100%}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center 38%;display:block}
@media(max-width:640px){.hero-media img{object-position:70% 40%}}
/* Sull'immagine chiara serve una velatura più decisa perché il testo resti leggibile */
.hero .hero-overlay{background:linear-gradient(100deg,rgba(8,41,113,.88) 0%,rgba(8,41,113,.72) 38%,rgba(8,41,113,.34) 62%,rgba(8,41,113,.18) 100%)}
@media(max-width:900px){.hero .hero-overlay{background:linear-gradient(180deg,rgba(8,41,113,.62) 0%,rgba(8,41,113,.80) 55%,rgba(8,41,113,.90) 100%)}}
