/* Jacopo Dezzani — stile del sito, coerente con le brochure.
   Impianto: blu royal + bianco a sezioni alterne, grandi cerchi, pallino oro,
   un'unica luce che arriva sempre da in alto a sinistra. */

@font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;
  src:url(../fonts/inter-latin-wght-normal.woff2) format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;
  src:url(../fonts/inter-latin-ext-wght-normal.woff2) format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root{
  color-scheme:light;
  --blu:#14308F;          /* blu delle brochure */
  --blu-luce:#2443B0;     /* lato illuminato di cerchi e sezioni */
  --notte:#091C53;        /* blu notte, foto e piede */
  --oro:#C9A86A;          /* oro caldo */
  --oro-luce:#E6CC94;     /* riflesso del pallino */
  --oro-ombra:#A8864A;
  --bianco:#FFFFFF;
  --carta:#F3F5FA;        /* fondo chiaro secondario, con un velo di blu */
  --inchiostro:#111936;   /* testo */
  --grigio:#525C7C;       /* testo secondario su chiaro */
  --linea:#DEE3EF;
  --su-blu:rgba(255,255,255,.80);
  --su-blu-tenue:rgba(255,255,255,.62);
  --linea-blu:rgba(255,255,255,.16);
  --font:"Inter",-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;
  --ease:cubic-bezier(.16,1,.3,1);
  --gutter:clamp(20px,4vw,40px);
  --max:1240px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-padding-top:90px}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
body{background:var(--bianco);color:var(--inchiostro);font-family:var(--font);font-size:17px;line-height:1.65;overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body.blocco{overflow:hidden}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}
ul{list-style:none}
:focus-visible{outline:2px solid var(--oro);outline-offset:3px;border-radius:6px}
.wrap{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:var(--gutter)}
.salta{position:absolute;left:-9999px;top:0;z-index:100;background:var(--oro);color:var(--notte);padding:10px 16px;border-radius:0 0 10px 0;font-weight:700}
.salta:focus{left:0}

/* ---------- tipografia ---------- */
h1,h2,h3{font-weight:300;letter-spacing:-.025em;line-height:1.08;text-wrap:balance}
h1 b,h2 b,h3 b,.forte{font-weight:700}
.h1{font-size:clamp(40px,5.8vw,82px)}
.h2{font-size:clamp(32px,4vw,56px)}
.h3{font-size:clamp(24px,2.3vw,32px)}
.testo{font-size:18px;color:var(--grigio);max-width:58ch}
.testo b{color:var(--inchiostro);font-weight:600}
.blu .testo,.blu .testo b{color:var(--su-blu)}
.blu .testo b{color:#fff}
.piccolo{font-size:15px}
.etichetta{display:block;font-size:11px;font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:var(--oro)}
.etichetta::after{content:"";display:block;width:34px;height:2px;background:var(--oro);margin-top:16px}
.etichetta.centro::after{margin-inline:auto}
.blocco-titolo{display:flex;flex-direction:column;gap:26px}
.blocco-titolo.centro{text-align:center;align-items:center}

/* ---------- luce: pallino oro e cerchi ---------- */
.punto{position:absolute;border-radius:50%;aspect-ratio:1;pointer-events:none;
  background:radial-gradient(circle at 34% 30%,var(--oro-luce) 0%,var(--oro) 46%,var(--oro-ombra) 100%);
  box-shadow:0 18px 50px -12px rgba(201,168,106,.55)}
.bolla{position:absolute;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle at 30% 28%,rgba(255,255,255,.09),rgba(255,255,255,.02) 60%,transparent 70%)}
.blu{position:relative;color:#fff;
  background:
    radial-gradient(80% 70% at 12% 0%,rgba(64,100,220,.38) 0%,transparent 60%),
    radial-gradient(60% 60% at 100% 100%,rgba(5,15,50,.55) 0%,transparent 70%),
    linear-gradient(160deg,var(--blu-luce) 0%,var(--blu) 45%,var(--notte) 100%)}

/* ---------- pulsanti ---------- */
.btns{display:flex;flex-wrap:wrap;gap:14px}
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:15px 30px;border-radius:40px;font-weight:600;font-size:15px;line-height:1.2;overflow:hidden;isolation:isolate;transition:transform .45s var(--ease),background-color .3s,border-color .3s,color .3s,box-shadow .45s}
.btn::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%);transform:translateX(-110%);transition:transform .9s var(--ease)}
.btn:hover{transform:translateY(-3px)}
.btn:hover::after{transform:translateX(110%)}
.btn--oro{background:var(--oro);color:var(--notte);box-shadow:0 12px 30px -14px rgba(201,168,106,.9)}
.btn--oro:hover{background:#D3B479;box-shadow:0 18px 36px -14px rgba(201,168,106,.95)}
.btn--chiaro{border:1.5px solid rgba(255,255,255,.55);color:#fff}
.btn--chiaro:hover{border-color:#fff;background:rgba(255,255,255,.06)}
.btn--blu{background:var(--blu);color:#fff;box-shadow:0 12px 30px -14px rgba(20,48,143,.7)}
.btn--blu:hover{background:var(--blu-luce)}
.btn--linea{border:1.5px solid var(--blu);color:var(--blu)}
.btn--linea:hover{background:var(--blu);color:#fff}
.vai{display:inline-flex;align-items:center;gap:12px;font-weight:600;font-size:15px}
.vai svg{transition:transform .5s var(--ease);flex:none}
a:hover .vai svg,.vai:hover svg{transform:translateX(6px)}

/* ---------- testata ---------- */
.testata{position:fixed;top:0;left:0;right:0;z-index:50;color:#fff;padding-top:env(safe-area-inset-top,0px);transition:background-color .45s,box-shadow .45s,color .45s}
.testata.chiara{background:rgba(255,255,255,.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:var(--inchiostro);box-shadow:0 1px 0 var(--linea)}
.testata .barra{display:flex;align-items:center;justify-content:space-between;height:84px;gap:24px}
.marchio{display:flex;align-items:center;gap:14px;flex:none}
.marchio img{height:36px;width:auto}
.marchio .su-chiaro{display:none}
.testata.chiara .marchio .su-scuro{display:none}
.testata.chiara .marchio .su-chiaro{display:block}
.marchio span{font-size:11px;font-weight:500;letter-spacing:.32em;text-transform:uppercase;white-space:nowrap}
.menu ul{display:flex;gap:34px;align-items:center}
.menu a{font-size:14.5px;font-weight:500;position:relative;padding:6px 0;opacity:.88;transition:opacity .3s,color .3s}
.menu a:hover{opacity:1}
.menu a[aria-current="page"]{opacity:1}
.menu a[aria-current="page"]::after{content:"";position:absolute;left:50%;bottom:-4px;width:5px;height:5px;margin-left:-2.5px;border-radius:50%;background:var(--oro)}
.menu .btn{min-height:44px;padding:11px 22px;font-size:14px;opacity:1}
.apri-menu{display:none;background:none;border:0;color:inherit;font:600 15px var(--font);cursor:pointer;min-height:44px;padding:0 4px}

/* ---------- apertura ---------- */
.apertura{position:relative;display:flex;align-items:center;overflow:hidden;color:#fff;background:var(--notte);min-height:min(92svh,860px)}
.apertura--pagina{min-height:min(74svh,640px)}
.apertura .foto{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.06);transition:transform 2.6s var(--ease)}
.pronto .apertura .foto{transform:scale(1)}
.apertura::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(60% 80% at 0% 0%,rgba(40,70,190,.35),transparent 60%),
    linear-gradient(90deg,rgba(9,28,83,.94) 0%,rgba(9,28,83,.78) 38%,rgba(9,28,83,.30) 100%)}
.apertura--destra .foto{left:28%;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 32%);mask-image:linear-gradient(90deg,transparent 0%,#000 32%)}
.apertura--destra::after{background:radial-gradient(60% 80% at 0% 0%,rgba(40,70,190,.35),transparent 60%),linear-gradient(90deg,rgba(9,28,83,.9) 0%,rgba(9,28,83,.55) 40%,rgba(9,28,83,.10) 100%)}
.apertura--pagina .h1{font-size:clamp(38px,5vw,70px)}
.apertura--pagina .contenuto{max-width:760px}
.apertura--auto .foto{left:42%}
.apertura--blu{background:radial-gradient(70% 90% at 8% 0%,rgba(64,100,220,.45),transparent 60%),linear-gradient(160deg,var(--blu-luce) 0%,var(--blu) 45%,var(--notte) 100%)}
.apertura--blu::after{display:none}
.apertura--blu .bolla{width:min(900px,90vw);aspect-ratio:1;right:-18%;top:-30%}
.apertura--breve{min-height:0}
.apertura--breve .wrap{padding-block:170px 90px}
.apertura .wrap{position:relative;z-index:2;padding-block:140px 110px}
.apertura .contenuto{display:flex;flex-direction:column;gap:28px;max-width:780px}
.apertura p.testo{color:var(--su-blu);max-width:46ch}
.apertura .punto{z-index:2;width:clamp(84px,9vw,136px);right:9%;bottom:12%}
.ingresso{opacity:0;transform:translateY(20px)}
.pronto .ingresso{animation:sale 1.1s var(--ease) forwards;animation-delay:var(--r,.2s)}
@keyframes sale{to{opacity:1;transform:none}}
.pronto .apertura .punto{animation:sale 1.1s var(--ease) forwards .8s,galleggia 8s ease-in-out infinite 2s}
@keyframes galleggia{0%,100%{translate:0 0}50%{translate:0 -12px}}

/* ---------- sezioni ---------- */
.sez{position:relative;padding-block:clamp(88px,11vw,150px);overflow:hidden}
.sez--carta{background:var(--carta)}
.sez--stretta{padding-block:clamp(70px,8vw,110px)}
.comp{opacity:1;transform:none;transition:opacity 1s var(--ease),transform 1s var(--ease);transition-delay:var(--r,0s)}
.js .comp.attesa{opacity:0;transform:translateY(30px)}

/* due colonne */
.due{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,6vw,90px);align-items:center}
.due > *{min-width:0}

/* il grande cerchio blu (pagina 2 delle brochure) */
.cerchio{position:relative;width:min(620px,50vw);aspect-ratio:1;justify-self:end;margin-right:calc(-1 * (var(--gutter) + max(0px,(100vw - var(--max)) / 2)) - 40px);border-radius:50%;color:#fff;display:flex;align-items:center;padding:0 17% 0 14%;
  background:radial-gradient(circle at 30% 26%,var(--blu-luce) 0%,var(--blu) 52%,#102778 100%);
  box-shadow:0 40px 90px -40px rgba(20,48,143,.65)}
.cerchio ul{display:flex;flex-direction:column;width:100%}
.cerchio li{display:flex;flex-direction:column;gap:4px;padding-block:clamp(12px,1.5vw,20px);border-top:1px solid var(--linea-blu)}
.cerchio li:first-child{border-top:0}
.cerchio h3{font-size:19px;font-weight:600;letter-spacing:-.01em;color:var(--oro)}
.cerchio p{font-size:15px;line-height:1.55;color:var(--su-blu)}

/* testate di sezione con testo a destra */
.testa-sez{display:flex;justify-content:space-between;align-items:flex-end;gap:30px 60px;flex-wrap:wrap;margin-bottom:clamp(44px,5vw,64px)}
.testa-sez > .blocco-titolo{flex:1 1 460px;min-width:0}
.testa-sez > p{flex:0 1 400px;min-width:0}

/* carte servizi sul blu */
.carte{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.carta{position:relative;display:flex;flex-direction:column;border-radius:26px;overflow:hidden;
  background:linear-gradient(170deg,rgba(255,255,255,.10),rgba(255,255,255,.04) 45%);
  border:1px solid rgba(255,255,255,.14);box-shadow:inset 0 1px 0 rgba(255,255,255,.14);
  transition:transform .6s var(--ease),border-color .5s,box-shadow .6s}
.carta:hover{transform:translateY(-6px);border-color:rgba(201,168,106,.55);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 30px 60px -30px rgba(0,0,0,.5)}
.carta .img{position:relative;aspect-ratio:2/1;overflow:hidden}
.carta .img i{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform 1.4s var(--ease)}
.carta:hover .img i{transform:scale(1.05)}
.carta .img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(9,28,83,0) 40%,rgba(9,28,83,.55) 100%)}
.carta .corpo{display:flex;flex-direction:column;gap:12px;padding:30px 32px 34px;flex:1}
.carta .chi{font-size:11px;font-weight:700;letter-spacing:.26em;text-transform:uppercase;color:var(--oro)}
.carta p{font-size:15.5px;color:var(--su-blu)}
.carta .vai{margin-top:auto;padding-top:8px}

/* lista "cosa ottieni" (pagina 5 delle brochure) */
.ottieni{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(40px,6vw,90px);align-items:start}
.ottieni .obiettivo{font-size:15px;color:var(--su-blu-tenue);max-width:34ch}
.lista-num{display:flex;flex-direction:column;border-top:1px solid var(--linea-blu)}
.lista-num li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:16px;padding-block:22px;border-bottom:1px solid var(--linea-blu);font-size:17px;color:#fff}
.lista-num li span{color:var(--oro);font-weight:700;font-size:13px;padding-top:3px;font-variant-numeric:tabular-nums}
.lista-num b{font-weight:700}
.firma-sez{margin-top:30px;font-size:15px;font-style:italic;color:var(--oro)}

/* passi (pagina 6 delle brochure) */
.passi{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:34px;margin-top:clamp(50px,6vw,70px)}
.passi::before,.passi .riga{content:"";position:absolute;top:33px;left:34px;right:34px;height:2px;background:var(--linea)}
.passi .riga{background:linear-gradient(90deg,var(--blu),var(--oro));transform:scaleX(var(--p,0));transform-origin:0 50%}
.passo{position:relative;display:flex;flex-direction:column;gap:8px}
.passo .n{display:flex;align-items:center;justify-content:center;width:68px;height:68px;border-radius:50%;margin-bottom:20px;font-weight:600;font-size:15px;color:#fff;
  background:radial-gradient(circle at 34% 30%,var(--blu-luce),var(--blu) 60%);box-shadow:0 12px 26px -12px rgba(20,48,143,.7)}
.passo:nth-of-type(2) .n{color:var(--notte);background:radial-gradient(circle at 34% 30%,var(--oro-luce),var(--oro) 55%,var(--oro-ombra));box-shadow:0 12px 26px -12px rgba(201,168,106,.8)}
.passo h3{font-size:20px;font-weight:700;letter-spacing:-.01em}
.passo p{font-size:15.5px;color:var(--grigio)}
.nota{display:inline-flex;flex-wrap:wrap;gap:4px 6px;margin-top:clamp(44px,5vw,64px);padding:16px 28px;border-radius:40px;background:var(--blu);color:#fff;font-size:15px;font-weight:600;box-shadow:0 14px 30px -16px rgba(20,48,143,.7)}
.nota span{color:var(--oro)}

/* un solo riferimento (pagina 7 delle brochure) */
.unico{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);min-height:680px;background:var(--bianco)}
.unico .sx{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:50px;padding-top:clamp(90px,10vw,130px);padding-left:max(var(--gutter),calc((100vw - var(--max))/2 + var(--gutter)));padding-right:clamp(30px,5vw,70px);min-width:0}
.unico .pannello{position:relative;display:flex;flex-direction:column;gap:16px;align-items:flex-start;margin-left:calc(-1 * max(var(--gutter),calc((100vw - var(--max))/2 + var(--gutter))));padding:64px clamp(30px,5vw,70px) 76px max(var(--gutter),calc((100vw - var(--max))/2 + var(--gutter)));border-radius:0 260px 0 0;color:#fff;
  background:radial-gradient(70% 90% at 0% 0%,rgba(64,100,220,.4),transparent 60%),linear-gradient(160deg,var(--blu-luce),var(--blu) 50%,#0F2775)}
.unico .pannello p{max-width:46ch;color:var(--su-blu)}
.unico .pannello b{color:#fff;font-weight:600}
.unico .pannello .punto{width:64px;right:6%;top:-32px}
.unico .foto{background-size:cover;background-position:center;min-height:360px}

/* chiusura con contatti (pagina 8 delle brochure) */
.chiusura{padding-block:clamp(100px,11vw,150px) clamp(80px,9vw,120px)}
.chiusura .punto{width:clamp(70px,8vw,110px);right:16%;top:clamp(70px,9vw,110px)}
.chiusura .bolla{width:780px;aspect-ratio:1;right:-240px;bottom:-380px}
.chiusura .contenuto{position:relative;display:flex;flex-direction:column;gap:28px;max-width:760px}
.chiusura .testo{color:var(--su-blu)}
.recapiti{position:relative;display:flex;justify-content:space-between;align-items:flex-end;gap:40px;flex-wrap:wrap;margin-top:clamp(70px,9vw,110px)}
.recapiti .nome{font-weight:700;font-size:16px}
.recapiti .ruolo{font-size:10.5px;font-weight:700;letter-spacing:.26em;text-transform:uppercase;color:var(--oro);margin:4px 0 14px}
.recapiti .riga-c{display:block;font-size:15px;color:var(--su-blu);line-height:2}
.recapiti a.riga-c:hover{color:var(--oro)}
.recapiti img{width:190px}

/* piede */
.piede{background:var(--notte);color:var(--su-blu-tenue);font-size:14px;padding-block:64px 40px}
.piede .alto{display:grid;grid-template-columns:minmax(0,1.3fr) repeat(3,minmax(0,1fr));gap:40px;padding-bottom:44px;border-bottom:1px solid var(--linea-blu)}
.piede img{width:150px;margin-bottom:18px}
.piede h4{font-size:11px;font-weight:700;letter-spacing:.26em;text-transform:uppercase;color:var(--oro);margin-bottom:14px}
.piede li{line-height:2;overflow-wrap:anywhere}
.piede .alto > div{min-width:0}
.piede a:hover{color:#fff}
.piede .basso{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:26px;font-size:13px}

/* barra whatsapp telefono */
.barra-wa{display:none}

/* ---------- pagina energia: schede ---------- */
.selettore{display:inline-flex;gap:6px;padding:6px;border-radius:40px;background:var(--carta);border:1px solid var(--linea);margin-bottom:clamp(40px,5vw,60px);flex-wrap:wrap}
.selettore button{font:600 15px var(--font);color:var(--grigio);background:none;border:0;cursor:pointer;min-height:46px;padding:10px 26px;border-radius:40px;transition:background-color .35s,color .35s,box-shadow .35s}
.selettore button:hover{color:var(--blu)}
.selettore button[aria-selected="true"]{background:var(--blu);color:#fff;box-shadow:0 10px 22px -12px rgba(20,48,143,.8)}
.scheda{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,6vw,80px);align-items:center}
.scheda[hidden]{display:none}
.scheda.entra{animation:sale .8s var(--ease)}
.scheda .foto-scheda{position:relative;border-radius:28px;overflow:hidden;aspect-ratio:4/5;background-size:cover;background-position:center;box-shadow:0 40px 80px -40px rgba(9,28,83,.55)}
.scheda .foto-scheda::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(9,28,83,.45))}
.scheda .foto-scheda .punto{width:64px;right:22px;top:22px;z-index:2}
.scheda .lato{display:flex;flex-direction:column;gap:24px;min-width:0}
.elenco-oro{display:flex;flex-direction:column;border-top:1px solid var(--linea)}
.elenco-oro li{display:flex;gap:14px;align-items:center;padding-block:13px;border-bottom:1px solid var(--linea);font-weight:600;font-size:15.5px}
.elenco-oro li::before{content:"";width:9px;height:9px;border-radius:50%;flex:none;background:radial-gradient(circle at 34% 30%,var(--oro-luce),var(--oro))}
.dato{display:flex;gap:16px;align-items:baseline;flex-wrap:wrap;padding:20px 24px;border-radius:18px;background:var(--carta);border:1px solid var(--linea)}
.dato strong{font-size:28px;font-weight:700;letter-spacing:-.02em;color:var(--blu);font-variant-numeric:tabular-nums}
.dato span{font-size:14px;color:var(--grigio)}
.punti-forza{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.punti-forza > div{display:flex;flex-direction:column;gap:6px;padding:26px;border-radius:20px;background:var(--carta);border:1px solid var(--linea)}
.punti-forza h3{font-size:17px;font-weight:700;letter-spacing:-.01em;color:var(--blu)}
.punti-forza p{font-size:15px;color:var(--grigio)}

/* ---------- noleggio ---------- */
.gettoni{display:flex;flex-wrap:wrap;gap:10px}
.gettoni li{padding:10px 18px;border-radius:40px;border:1px solid var(--linea);background:var(--bianco);font-size:14.5px;font-weight:600;color:var(--blu)}
.citazione{font-size:clamp(22px,2.2vw,28px);font-weight:300;letter-spacing:-.015em;line-height:1.35;color:var(--inchiostro);max-width:30ch;padding-left:22px;border-left:2px solid var(--oro)}
.foto-alta{position:relative;border-radius:28px;overflow:hidden;aspect-ratio:3/4;background-size:cover;background-position:center;box-shadow:0 40px 80px -40px rgba(9,28,83,.5)}
.per-chi{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.per-chi > div{display:flex;flex-direction:column;gap:10px;padding:32px;border-radius:24px;background:linear-gradient(170deg,rgba(255,255,255,.10),rgba(255,255,255,.04) 50%);border:1px solid rgba(255,255,255,.14);box-shadow:inset 0 1px 0 rgba(255,255,255,.14)}
.per-chi h3{font-size:22px;font-weight:700;letter-spacing:-.015em}
.per-chi p{font-size:15.5px;color:var(--su-blu)}
.avvertenza{margin-top:26px;font-size:14px;color:var(--su-blu-tenue);max-width:70ch}

/* ---------- chi sono ---------- */
.ritratto{position:relative;border-radius:28px;overflow:hidden;aspect-ratio:4/5;display:flex;align-items:center;justify-content:center;
  background:radial-gradient(circle at 30% 24%,var(--blu-luce),var(--blu) 50%,var(--notte));box-shadow:0 40px 80px -40px rgba(9,28,83,.6)}
.ritratto img{width:46%;opacity:.95}
.ritratto .punto{width:70px;right:10%;bottom:10%}
.percorso{display:flex;flex-direction:column;border-top:1px solid var(--linea)}
.percorso li{display:grid;grid-template-columns:120px minmax(0,1fr);gap:24px;padding-block:30px;border-bottom:1px solid var(--linea)}
.percorso .quando{font-size:15px;font-weight:700;color:var(--oro);font-variant-numeric:tabular-nums;padding-top:4px}
.percorso h3{font-size:22px;font-weight:700;letter-spacing:-.015em;margin-bottom:8px}
.percorso p{color:var(--grigio);max-width:60ch}
.principi{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.principi > div{display:flex;flex-direction:column;gap:10px;padding:32px;border-radius:24px;background:var(--bianco);border:1px solid var(--linea);box-shadow:0 20px 50px -36px rgba(9,28,83,.4)}
.principi h3{font-size:20px;font-weight:700;letter-spacing:-.01em;color:var(--blu)}
.principi p{font-size:15.5px;color:var(--grigio)}

/* ---------- contatti ---------- */
.canali{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.canale{display:flex;flex-direction:column;gap:10px;padding:34px;border-radius:24px;background:var(--bianco);border:1px solid var(--linea);box-shadow:0 20px 50px -36px rgba(9,28,83,.4);min-width:0}
.canale h2{font-size:12px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--oro)}
.canale .valore{font-size:clamp(20px,2vw,26px);font-weight:600;letter-spacing:-.015em;color:var(--blu);overflow-wrap:anywhere;user-select:all}
.canale p{font-size:15.5px;color:var(--grigio)}
.canale .btns{margin-top:10px}

/* ---------- pagine legali ---------- */
.legale{max-width:760px}
.legale h2{font-size:clamp(24px,2.4vw,30px);font-weight:700;letter-spacing:-.015em;margin:56px 0 16px;color:var(--blu)}
.legale h2:first-child{margin-top:0}
.legale p,.legale li{color:var(--grigio);margin-bottom:12px}
.legale b{color:var(--inchiostro);font-weight:600}
.legale ul{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}
.legale li{padding-left:20px;position:relative}
.legale li::before{content:"";position:absolute;left:0;top:.7em;width:7px;height:7px;border-radius:50%;background:var(--oro)}
.legale a{color:var(--blu);text-decoration:underline;text-underline-offset:3px}
.legale .nota-l{font-size:14px;color:var(--grigio)}

/* ---------- telefono e tablet ---------- */
@media (max-width:1020px){
  .menu ul{gap:24px}
  .marchio span{display:none}
}
@media (max-width:900px){
  body{font-size:16px}
  .testata .barra{height:70px}
  .marchio img{height:30px}
  .apri-menu{display:block;position:relative;z-index:60}
  .menu{position:fixed;inset:0;z-index:55;display:flex;align-items:center;padding:90px var(--gutter) 40px;color:#fff;opacity:0;pointer-events:none;transition:opacity .45s;
    background:radial-gradient(80% 60% at 10% 0%,rgba(64,100,220,.4),transparent 60%),linear-gradient(160deg,var(--blu-luce),var(--blu) 50%,var(--notte))}
  .menu.aperto{opacity:1;pointer-events:auto}
  .menu ul{flex-direction:column;align-items:flex-start;gap:8px}
  .menu a{font-size:38px;font-weight:300;letter-spacing:-.02em;opacity:1}
  .menu a[aria-current="page"]{font-weight:600}
  .menu a[aria-current="page"]::after{left:auto;right:-16px;bottom:50%;margin:0 0 -2.5px}
  .menu .btn{font-size:16px;font-weight:700;letter-spacing:0;margin-top:22px;min-height:52px;padding:14px 28px}
  .testata.menu-aperto{color:#fff;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
  .testata.menu-aperto .marchio .su-scuro{display:block}
  .testata.menu-aperto .marchio .su-chiaro{display:none}

  .apertura,.apertura--pagina{align-items:flex-end;min-height:min(88svh,760px)}
  .apertura--pagina{min-height:min(70svh,600px)}
  .apertura::after,.apertura--destra::after{background:linear-gradient(180deg,rgba(9,28,83,.45) 0%,rgba(9,28,83,.82) 50%,rgba(9,28,83,.97) 100%)}
  .apertura--destra .foto{left:0;-webkit-mask-image:none;mask-image:none;background-position:50% 18%;background-size:auto 64%;background-repeat:no-repeat}
  .apertura .wrap{padding-block:110px 64px}
  .apertura .punto{width:72px;right:var(--gutter);top:96px;bottom:auto}

  .due,.ottieni,.scheda{grid-template-columns:minmax(0,1fr)}
  .cerchio{justify-self:start;width:118vw;margin:0 0 -38vw calc(50% - 59vw);padding:12vw 20vw 30vw}
  .carte,.per-chi,.principi,.punti-forza,.canali{grid-template-columns:minmax(0,1fr)}
  .passi{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 24px}
  .passi::before,.passi .riga{display:none}
  .nota{border-radius:22px}
  .unico{grid-template-columns:minmax(0,1fr);min-height:0}
  .unico .sx{padding:90px var(--gutter) 0}
  .unico .pannello{margin-left:calc(-1 * var(--gutter));padding:56px var(--gutter) 64px;border-radius:0 140px 0 0}
  .unico .foto{min-height:380px}
  .scheda .foto-scheda{aspect-ratio:4/3}
  .foto-alta{aspect-ratio:4/3}
  .ritratto{aspect-ratio:1}
  .percorso li{grid-template-columns:minmax(0,1fr);gap:6px}
  .piede .alto{grid-template-columns:repeat(2,minmax(0,1fr))}
  .piede .alto > div:first-child{grid-column:1/-1}
  .piede{padding-bottom:110px}
  .btns .btn{flex:1 1 100%}
  .barra-wa{display:flex;align-items:center;justify-content:center;position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:58;min-height:52px;border-radius:40px;background:var(--oro);color:var(--notte);font-weight:700;font-size:15px;box-shadow:0 16px 30px -12px rgba(9,28,83,.55)}
  .selettore{display:flex;width:100%}
  .selettore button{flex:1 1 0;padding:10px 12px}
}
@media (max-width:420px){
  .recapiti img{width:150px}
  .selettore button{font-size:14px;padding:10px 6px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .ingresso,.js .comp.attesa{opacity:1!important;transform:none!important}
  .apertura .foto{transform:none}
}

/* =========================================================
   Trattamento grafico: maiuscole, frasi salienti, manifesti
   ========================================================= */
h1 b,h2 b,h3 b{text-transform:uppercase;letter-spacing:-.012em}
.h1 b{letter-spacing:-.02em}

/* pulsanti e menu in maiuscoletto spaziato */
.btn{text-transform:uppercase;letter-spacing:.11em;font-size:12.5px}
.menu a{text-transform:uppercase;letter-spacing:.14em;font-size:12px}
.vai{text-transform:uppercase;letter-spacing:.12em;font-size:12.5px}
.selettore button{text-transform:uppercase;letter-spacing:.12em;font-size:12.5px}

/* evidenziatore oro che si disegna */
.evidenza{font-weight:600;color:var(--inchiostro);padding:0 .08em;margin:0 -.08em;
  background:linear-gradient(180deg,transparent 60%,rgba(201,168,106,.45) 60%,rgba(201,168,106,.45) 90%,transparent 90%) no-repeat 0 0/0% 100%;
  transition:background-size 1.3s var(--ease) .35s;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.blu .evidenza,.pannello .evidenza{color:#fff;background-image:linear-gradient(180deg,transparent 62%,rgba(201,168,106,.55) 62%,rgba(201,168,106,.55) 90%,transparent 90%)}
.comp:not(.attesa) .evidenza{background-size:100% 100%}

/* cifre */
.cifre{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-block:1px solid var(--linea)}
.cifre > div{display:flex;flex-direction:column;gap:12px;padding:38px 30px;border-left:1px solid var(--linea);min-width:0}
.cifre > div:first-child{border-left:0;padding-left:0}
.cifre strong{font-size:clamp(44px,5vw,72px);font-weight:800;letter-spacing:-.04em;line-height:.9;color:var(--blu);font-variant-numeric:tabular-nums}
.cifre strong small{font-size:.5em;font-weight:700;letter-spacing:-.01em;margin-left:4px;color:var(--oro)}
.cifre span{font-size:11.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--grigio);line-height:1.5}

/* manifesto: le frasi che contano, in grande */
.manifesto{position:relative;overflow:hidden;padding-block:clamp(80px,10vw,140px);background:var(--bianco)}
.manifesto--carta{background:var(--carta)}
.manifesto p{display:flex;flex-direction:column;gap:.06em;font-size:clamp(38px,5.4vw,88px);font-weight:800;line-height:.95;letter-spacing:-.04em;text-transform:uppercase;color:var(--blu)}
.manifesto .riga{display:block;white-space:nowrap;will-change:transform}
.manifesto .vuota{color:var(--oro)}
.manifesto .riga.dx{align-self:flex-end}
.manifesto .punto{width:clamp(46px,5vw,76px);right:var(--gutter);top:clamp(40px,6vw,80px)}
.manifesto .firma{margin-top:clamp(28px,3vw,40px);font-size:15px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--oro)}

/* vetrina auto (pagina noleggio) */
.vetrina{position:relative;border-radius:28px;overflow:hidden;padding:clamp(34px,4vw,56px);color:#fff;
  background:radial-gradient(70% 70% at 10% 0%,rgba(64,100,220,.45),transparent 60%),linear-gradient(160deg,var(--blu-luce),var(--blu) 50%,var(--notte));
  box-shadow:0 40px 80px -40px rgba(9,28,83,.6)}
.vetrina ul{display:flex;flex-direction:column}
.vetrina li{font-size:clamp(32px,4vw,58px);font-weight:800;letter-spacing:-.035em;line-height:1.05;text-transform:uppercase;padding-block:12px;border-bottom:1px solid var(--linea-blu)}
.vetrina li:last-child{border-bottom:0}
.vetrina li:nth-child(even){color:var(--oro)}
.vetrina .punto{width:72px;right:30px;top:30px}

@media (max-width:900px){
  .cifre{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cifre > div{padding:28px 18px}
  .cifre > div:nth-child(odd){border-left:0;padding-left:0}
  .cifre > div:nth-child(n+3){border-top:1px solid var(--linea)}
  .manifesto p{font-size:clamp(34px,10.5vw,64px)}
  .manifesto .riga{white-space:normal}
  .manifesto .riga.dx{align-self:flex-start}
}

/* barra WhatsApp: compare solo quando non c'è già un pulsante WhatsApp a vista */
@media (max-width:900px){
  .bolla--angolo{display:none}
  .barra-wa{text-transform:uppercase;letter-spacing:.11em;font-size:12.5px;transition:transform .45s var(--ease),opacity .35s}
  .barra-wa.nascosta{transform:translateY(140%);opacity:0;pointer-events:none}
}

/* impegni (Home) */
.impegni{display:flex;flex-direction:column;width:100%;max-width:520px;border-top:1px solid var(--linea-blu)}
.impegni li{display:grid;grid-template-columns:40px minmax(0,1fr);gap:14px;padding-block:16px;border-bottom:1px solid var(--linea-blu)}
.impegni span{color:var(--oro);font-weight:700;font-size:13px;padding-top:3px;font-variant-numeric:tabular-nums}
.impegni p{margin:0;color:var(--su-blu);font-size:16px}
.impegni b{color:#fff;font-weight:700}

/* apertura Home: composizione a cerchi */
.apertura--home{min-height:min(94svh,880px)}
.apertura--home .h1{font-size:clamp(40px,5.2vw,76px)}
.griglia-ap{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(30px,5vw,80px);align-items:center}
.composizione{position:relative;width:100%;max-width:560px;aspect-ratio:1;justify-self:end}
.composizione .c-grande,.composizione .c-piccolo{position:absolute;border-radius:50%;background-size:cover;background-position:center;overflow:hidden}
.composizione .c-grande::after,.composizione .c-piccolo::after{content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 30% 24%,rgba(255,255,255,.22),transparent 55%)}
.composizione .c-grande{width:78%;aspect-ratio:1;top:0;right:0;box-shadow:0 50px 90px -40px rgba(0,0,0,.7),inset 0 0 0 1px rgba(255,255,255,.14)}
.composizione .c-piccolo{width:47%;aspect-ratio:1;left:0;bottom:0;border:7px solid #13308E;box-shadow:0 40px 70px -30px rgba(0,0,0,.65)}
.composizione .anello{position:absolute;width:100%;aspect-ratio:1;top:-8%;right:-11%;border-radius:50%;border:1px solid rgba(201,168,106,.35)}
.apertura .composizione .punto{width:14%;right:4%;bottom:12%;top:auto;left:auto}
@media (max-width:900px){
  .apertura--home{min-height:0}
  .apertura--home .wrap{padding-block:104px 72px}
  .griglia-ap{grid-template-columns:minmax(0,1fr);gap:40px}
  .composizione{order:-1;justify-self:center;max-width:min(340px,80vw)}
  .apertura .composizione .punto{width:14%;right:4%;bottom:12%;top:auto}
}
.apertura--home .h1{font-size:clamp(36px,4.6vw,68px)}
.apertura--home .h1 b{display:block}
@media (min-width:901px){.apertura--home .h1 b{white-space:nowrap}}
/* regola delle brochure: la parte in maiuscolo va sempre a capo, intera */
h1 > b,h2 > b{display:block}
h1 > b,h2 > b{text-wrap:balance}
.manifesto .firma{text-wrap:balance}
@media (max-width:900px){
  .cerchio{padding:17vw 20vw 30vw}
  .apertura:not(.apertura--home) .h1,.chiusura .h1{font-size:clamp(30px,8.6vw,46px)}
  .manifesto .firma{letter-spacing:.14em;font-size:13px}
  .piede .alto > div:nth-child(3){grid-column:1/-1;order:-1}
  .piede .alto > div:first-child{order:-2}
  .piede li{overflow-wrap:normal}
}
.apertura .contenuto,.chiusura .contenuto{max-width:1000px}
.apertura:not(.apertura--home) .h1,.chiusura .h1{font-size:clamp(38px,5vw,70px)}
.scheda h3 > b{display:block}
@media (max-width:900px){
  .apertura:not(.apertura--home) .h1,.chiusura .h1{font-size:clamp(30px,8.6vw,46px)}
}
@media (max-width:900px){
  .apertura.apertura--breve{min-height:0}
  .apertura.apertura--breve .wrap{padding-block:120px 64px}
  .apertura:not(.apertura--home) > .punto{display:none}
  .apertura--auto .foto{background-size:cover;background-position:center 60%}
  .canale .valore{font-size:19px;overflow-wrap:normal;word-break:normal}
}
@media (max-width:900px){
  .menu a{font-size:34px;font-weight:300;letter-spacing:-.01em;text-transform:none}
  .menu a[aria-current="page"]{font-weight:600}
  .menu .btn{font-size:13px;font-weight:700;letter-spacing:.11em;text-transform:uppercase}
}
/* apertura Home: mappamondo a tutto sfondo */
.apertura--globo{min-height:min(94svh,880px)}
.apertura--globo .foto{left:24%;background-position:55% center}
.apertura--globo .h1{font-size:clamp(40px,5.4vw,80px)}
@media (max-width:900px){
  .apertura--globo .foto{left:0;background-size:cover;background-position:62% 30%}
  .apertura--globo::after{background:linear-gradient(180deg,rgba(9,28,83,.35) 0%,rgba(9,28,83,.80) 48%,rgba(9,28,83,.97) 100%)}
  .apertura--globo .h1{font-size:clamp(34px,9.6vw,52px)}
}
