
:root{--navy:#072b54;--blue:#00a7da;--acid:#afe400;--green:#8fc900;--soft:#f4f8fa;--muted:#53708c;--ink:#0c355f}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--navy);background:#fff;font-family:'Lato','Aptos',Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{text-decoration:none;color:inherit}button,input{font:inherit}img{max-width:100%}.container{max-width:1270px;margin:0 auto;padding:0 34px}.green{color:var(--green)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:13px;background:var(--acid);color:#092b55;font-weight:900;font-size:13px;padding:17px 22px;border-radius:10px;border:0;box-shadow:0 10px 19px rgba(128,172,0,.12);cursor:pointer;transition:transform .2s}.btn:hover{transform:translateY(-2px)}.btn svg{width:17px;height:17px}.eyebrow{font-size:11px;letter-spacing:2.2px;font-weight:900;text-transform:uppercase;color:#0a3765}.eyebrow:before{content:"";display:inline-block;width:28px;height:2px;background:var(--acid);vertical-align:middle;margin:0 12px 3px 0}.center{text-align:center}.center .eyebrow:before{vertical-align:middle}.lead{color:#4d6580;line-height:1.45}
/* Header */
.site-header{height:87px;background:#fff;position:relative;z-index:30;box-shadow:0 2px 20px rgba(3,33,67,.045)}.nav-bar{height:100%;display:flex;align-items:center;justify-content:space-between;gap:28px}.logo-link{flex:0 0 300px;display:flex;align-items:center}.logo{width:300px;height:auto;object-fit:contain}.nav-links{display:flex;gap:30px;align-items:center;white-space:nowrap}.nav-links a{font-weight:800;font-size:12px}.nav-links a:hover{color:var(--blue)}.site-header .btn{font-size:12px;padding:15px 20px;white-space:nowrap}
/* Hero */
.hero{min-height:535px;background:linear-gradient(92deg,#fff 38%,#f3fbff 100%);overflow:hidden}.hero-grid{display:grid;grid-template-columns:48% 52%;min-height:535px;position:relative}.hero-copy{position:relative;z-index:3;align-self:center;padding:34px 0 47px}.hero-identity{font-size:12px;font-weight:900;letter-spacing:1.8px;margin:0 0 23px}.hero h1{font-size:clamp(46px,4.5vw,70px);letter-spacing:-2.1px;line-height:1.05;max-width:585px;margin:0 0 20px;font-weight:950}.hero-description{max-width:487px;font-size:18px;line-height:1.46;margin:0 0 25px}.handwritten{font-family:'Lobster Two','Brush Script MT',cursive;font-weight:400;font-style:italic;display:block}.hero-sign{font-size:28px;color:#0e4f8c;transform:rotate(-6deg);margin:20px 0 0 7px}.hero-media{position:relative;min-height:535px;margin-right:calc((1270px - 100vw)/2)}.hero-media:before{content:"";position:absolute;inset:0;background:linear-gradient(145deg,transparent 23%,rgba(165,227,0,.9) 24%,rgba(165,227,0,.9) 40%,transparent 41%);z-index:0}.hero-media img{width:calc(100% + 90px);height:100%;object-fit:cover;object-position:49% 42%;position:absolute;top:0;left:-15px;z-index:1;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 16%,#000 100%);mask-image:linear-gradient(90deg,transparent 0%,#000 16%,#000 100%)}.hero-overlay{position:absolute;top:88px;right:10px;text-align:center;color:#0a3a65;z-index:3;font-size:23px;line-height:1.4;transform:rotate(-8deg);text-shadow:0 1px 10px white;background:rgba(255,255,255,.68);padding:10px 15px;border-radius:8px}.hero-overlay small{display:block;font-size:18px;padding-top:4px}.hero-extra{color:#436885;font-weight:700;font-size:12px;display:flex;align-items:center;gap:8px;margin-top:12px}
/* Services */
.section{padding:80px 0}.section-title{font-weight:950;font-size:39px;letter-spacing:-1px;line-height:1.15;margin:12px 0}.section-intro{font-size:16px;color:#496582;margin:0 auto 37px;max-width:785px;line-height:1.48}.services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.service{padding:27px 27px 23px;border-radius:17px;background:linear-gradient(135deg,#f9fafb,#f3f6f8);min-height:222px;box-shadow:0 0 1px #e2eaf0}.service-top{display:flex;align-items:flex-start;gap:18px}.service-icon{position:relative;display:grid;place-items:center;flex:0 0 65px;width:65px;height:65px;color:#093f74}.service-icon:before{content:"";position:absolute;inset:10px 1px 6px 0;background:#bcdf3c;clip-path:polygon(0 35%,100% 0,82% 85%,0 100%);opacity:.73;transform:rotate(-12deg)}.service-icon svg{width:52px;height:52px;position:relative;z-index:1;stroke-width:1.7}.service h3{font-weight:950;color:#00a2d4;font-size:16px;line-height:1.18;margin:6px 0 8px}.service-quote{color:#194e7c;font-size:13px;line-height:1.32;font-style:italic;margin:0}.service-desc{font-size:14px;line-height:1.45;color:#375d7b;margin:20px 0 0}.service:last-child h3{font-size:14px;letter-spacing:-.25px}
/* AI full-width */
.ai{background:#062b55;color:white;display:grid;grid-template-columns:49% 51%;min-height:363px;overflow:hidden}.ai-image{position:relative;background:#00192f}.ai-image img{width:100%;height:100%;display:block;object-fit:cover;object-position:center}.ai-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 70%,rgba(1,34,73,.92) 100%)}.ai-text{padding:54px 44px 48px 50px;align-self:center;max-width:710px}.ai .eyebrow{color:#c6e8ff}.ai h2{font-size:clamp(31px,2.6vw,43px);letter-spacing:-.7px;line-height:1.1;margin:17px 0 18px;font-weight:950}.ai p{font-size:16px;line-height:1.45;max-width:570px;margin:0 0 23px}.ai .btn{font-size:12px}
/* Reviews, factual client names + editorial descriptions not simulated real quotes */
.refs{padding:78px 0 70px}.reviews{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.review{display:flex;flex-direction:column;align-items:flex-start;min-height:180px;background:#f5f8fa;padding:20px 18px 18px;border-radius:13px}.quote-symbol{color:#a0d200;font-weight:900;font-size:28px;height:20px;line-height:1}.review p{font-size:12px;line-height:1.4;color:#456786;margin:15px 0 18px}.review strong{font-size:12px;font-weight:900;margin-top:auto}.disclaimer{font-size:11px;color:#6b8398;text-align:center;margin:15px 0 0}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:25px}.stat{padding:21px 14px;background:#f5f8fa;border-radius:14px;text-align:center;display:flex;justify-content:center;align-items:center;gap:17px}.stat svg{height:39px;width:39px;flex:0 0 39px;stroke:#0a447f}.stat b{font-size:41px;line-height:1;font-weight:950;display:block}.stat span{font-size:13px;display:block;white-space:nowrap;margin-top:5px}
/* Meeting request with local background and no Calendly*/
.contact{background-image:linear-gradient(90deg,rgba(4,43,81,.92) 0%,rgba(4,55,101,.67) 48%,rgba(225,244,248,.34) 100%),url('assets/sfondo-appuntamento.jpg');background-position:center;background-size:cover;min-height:490px;padding:64px 0 68px}.contact-grid{display:grid;grid-template-columns:47% 53%;align-items:center;gap:32px}.contact-copy{color:#fff}.contact-copy .eyebrow{color:#e4f9ff}.contact-copy h2{font-size:clamp(35px,3vw,45px);line-height:1.1;font-weight:950;letter-spacing:-1px;margin:18px 0}.contact-copy p{max-width:490px;font-size:17px;line-height:1.5}.contact-form{background:rgba(255,255,255,.98);padding:31px 32px;border-radius:17px;box-shadow:0 15px 40px rgba(0,34,74,.22)}.contact-form h3{font-size:21px;margin:0 0 20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field{margin-bottom:15px}.field label{font-size:12px;font-weight:900;display:block;margin-bottom:7px}.field input{font-family:inherit;font-size:15px;border:1px solid #cfdde7;border-radius:8px;padding:13px 14px;width:100%;background:white;color:#082f59;outline-color:#91ca00}.contact-form .btn{width:100%;margin-top:2px}.form-explainer{font-size:11px;line-height:1.45;color:#64809a;margin:13px 0 0}.form-msg{font-size:13px;font-weight:700;color:#285c7e;margin-top:9px;min-height:1.1em}
/* Footer */
.footer{background:#002c57;color:#fff;padding:31px 0}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:20px}.footer small{font-size:12px;color:#dbe8f7}.footer .motto{font-size:26px;letter-spacing:.6px;font-weight:400;white-space:nowrap}.footer .motto b{color:#a8d900}.footer .contact-email{font-size:13px;color:#e5f0fa}
@media(max-width:1250px){.logo-link{flex-basis:275px}.logo{width:275px}.nav-links{gap:17px}.hero-media{margin-right:-34px}.hero-overlay{right:26px;font-size:19px}.hero h1{font-size:58px}.section{padding:65px 0}}
@media(max-width:960px){.nav-links{display:none}.hero-grid{grid-template-columns:1fr 1fr}.hero h1{font-size:48px}.hero-media{margin-right:-34px}.hero-overlay{top:40px;font-size:17px}.services{grid-template-columns:repeat(2,minmax(0,1fr))}.reviews{grid-template-columns:repeat(2,1fr)}.ai{grid-template-columns:1fr}.ai-image{height:330px}.ai-text{padding:40px 35px 50px;max-width:none}.contact-grid{grid-template-columns:1fr}.contact-copy h2{font-size:36px}.footer-inner{flex-direction:column;gap:14px}}
@media(max-width:690px){.container{padding:0 20px}.site-header{height:75px}.logo-link{flex-basis:auto}.logo{width:195px}.site-header .btn{font-size:10px;padding:13px 12px}.hero-grid{display:flex;flex-direction:column;min-height:0}.hero-copy{padding:44px 0 10px}.hero h1{font-size:clamp(39px,9vw,51px)}.hero-description{font-size:16px}.hero-media{min-height:430px;margin:0 -20px 0;overflow:hidden}.hero-media img{left:0;width:100%;-webkit-mask-image:linear-gradient(90deg,transparent,black 9%);mask-image:linear-gradient(90deg,transparent,black 9%)}.hero-overlay{right:20px;top:40px;font-size:17px}.section{padding:54px 0}.section-title{font-size:32px}.services,.reviews{grid-template-columns:1fr}.service{min-height:0}.stats{grid-template-columns:repeat(2,1fr)}.stat{gap:8px}.stat b{font-size:33px}.stat svg{width:30px;height:30px}.ai-image{height:260px}.ai-text{padding:36px 22px}.contact{padding:55px 0}.contact-form{padding:24px}.form-grid{grid-template-columns:1fr}.footer .motto{font-size:24px}}

/* Revision: photographic full-bleed hero with readable overlaid heading */
.hero.hero-photo{min-height:630px;background:#071f39 url('assets/hero-tomaso.png') center center/cover no-repeat;position:relative;isolation:isolate}
.hero.hero-photo:after{content:"";position:absolute;left:0;right:0;bottom:0;height:90px;background:linear-gradient(0deg,rgba(0,22,44,.25),transparent);pointer-events:none;z-index:-1}
.hero-photo .hero-inner{min-height:630px;display:flex;align-items:center;position:relative;}
.hero-photo .hero-copy{z-index:2;position:relative;max-width:680px;padding:50px 0 58px;align-self:auto;color:#fff}
.hero-photo .hero-identity{color:#b4e9ff;font-size:12px;letter-spacing:2px;margin:0 0 26px}
.hero-photo .identity-divider{color:#b9eb00}
.hero-photo h1{font-size:clamp(55px,5.35vw,78px);line-height:1.07;letter-spacing:-2px;color:#fff;max-width:680px;text-shadow:0 3px 28px rgba(0,17,37,.28);margin:0 0 25px;font-weight:950}
.hero-photo .lime{color:#b7ec00}
.hero-photo .hero-description{font-size:18px;line-height:1.55;color:#eaf4fb;max-width:550px;margin:0 0 27px}
.hero-photo .hero-script{font-size:30px;color:#fff;line-height:1.1;margin:22px 0 0 4px;transform:rotate(-4deg);text-shadow:0 3px 9px rgba(0,15,31,.45)}
.hero-photo .hero-caption{position:absolute;right:0;top:100px;z-index:2;font-size:27px;line-height:1.2;transform:rotate(-7deg);text-align:center;text-shadow:0 4px 12px rgba(0,20,42,.58);color:white;max-width:250px}
/* sharp vector artwork — never upscales pixels */
.ai{grid-template-columns:49% 51%;min-height:405px}
.ai-image{height:405px;min-height:0;overflow:hidden;background:#02172f}
.ai-image img{width:100%;height:100%;display:block;object-fit:cover;object-position:50% 50%}
.ai-image:after{background:linear-gradient(90deg,transparent 76%,#062b55 100%)}
.ai-text{padding:60px 55px 55px 58px}
/* Long statistic label */
.stats .stat:last-child{gap:13px}
.stats .stat:last-child b{font-size:37px}
.stats .stat:last-child span{max-width:170px;white-space:normal;line-height:1.22}
@media(max-width:1150px){.hero-photo .hero-caption{display:none}.hero-photo h1{font-size:61px;max-width:600px}.hero-photo .hero-copy{max-width:590px}}
@media(max-width:960px){.hero.hero-photo,.hero-photo .hero-inner{min-height:580px}.hero-photo .hero-copy{max-width:540px}.hero-photo h1{font-size:55px}.ai{grid-template-columns:1fr}.ai-image{height:340px;min-height:0}.ai-text{padding:48px 34px}}
@media(max-width:690px){.hero.hero-photo{min-height:650px;background-position:59% center}.hero.hero-photo:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,27,55,.88),rgba(3,27,55,.64) 70%,rgba(3,27,55,.42));z-index:-1}.hero-photo .hero-inner{min-height:650px;align-items:flex-end;padding-top:100px;padding-bottom:38px}.hero-photo .hero-copy{padding:0;max-width:100%}.hero-photo .hero-identity{font-size:10px;line-height:1.5;margin-bottom:18px;letter-spacing:1px}.hero-photo h1{font-size:clamp(41px,10.7vw,55px);max-width:100%;letter-spacing:-1.3px;margin-bottom:18px}.hero-photo .hero-description{font-size:15px;line-height:1.43;max-width:100%}.hero-photo .hero-script{font-size:24px;margin-top:18px}.hero-photo .hero-caption{display:none}.ai-image{height:270px}.stats .stat:last-child b{font-size:29px}.stats .stat:last-child span{font-size:11px}.stats .stat:last-child{gap:4px}}

/* HERO DEFINITIVO: fotografia approvata, senza scritte aggiuntive */
.hero.hero-photo.hero-final{background-image:linear-gradient(90deg,rgba(2,27,54,.95) 0%,rgba(3,34,67,.88) 28%,rgba(3,35,64,.58) 44%,rgba(3,35,64,.06) 66%,transparent 78%),url('assets/hero-tomaso.png');background-size:cover;background-position:center 43%;min-height:635px}
.hero-final .hero-copy{max-width:600px}
.hero-final .hero-inner{min-height:635px}
.hero-final h1{max-width:610px;font-size:clamp(51px,5.0vw,74px)}
.hero-final .hero-description{max-width:515px}
.hero-final .hero-caption,.hero-final .hero-script,.hero-final .hero-identity{display:none!important}
.bot-field{position:absolute!important;left:-9999px!important;opacity:0!important;pointer-events:none!important}
.consent label{font-size:12px;font-weight:500;line-height:1.45;display:flex;gap:10px;align-items:flex-start}.consent input{width:16px;height:16px;margin:2px 0 0;flex:0 0 16px;accent-color:#90c900}
@media (max-width:960px){.hero.hero-photo.hero-final{background-position:60% center}.hero-final h1{font-size:clamp(47px,6vw,62px)}}
@media (max-width:690px){.hero.hero-photo.hero-final{background-image:linear-gradient(180deg,rgba(3,29,58,.05) 0%,rgba(3,29,58,.2) 23%,rgba(3,29,58,.96) 55%,rgba(3,29,58,.98) 100%),url('assets/hero-tomaso.png');background-position:62% top;background-size:auto 100%;min-height:790px}.hero.hero-photo.hero-final:before{display:none}.hero-final .hero-inner{min-height:790px;align-items:flex-end;padding-top:330px;padding-bottom:55px}.hero-final .hero-copy{padding:0}.hero-final h1{font-size:clamp(39px,10vw,52px);margin-bottom:17px}.hero-final .hero-description{font-size:15px}.site-header .btn{font-size:9px;padding:11px 10px}.logo{width:170px}.contact-grid{gap:20px}}


/* Carosello Zerokilled: autonomo, senza librerie esterne */
.zk-carousel{margin:30px auto 0;max-width:100%}
.zk-track{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;overscroll-behavior-x:contain;padding:4px 2px 14px}
.zk-track::-webkit-scrollbar{display:none}
.zk-slide{box-sizing:border-box;flex:0 0 calc((100% - 36px)/3);min-width:0;scroll-snap-align:start;border:1px solid #e5edf3;border-radius:17px;background:#f5f8fa;padding:25px;display:flex;flex-direction:column;min-height:355px;box-shadow:0 3px 12px #082f5210}
.zk-quote{font-size:46px;font-weight:800;color:#a2d500;line-height:.8;margin-bottom:16px}
.zk-area{font-size:12px;line-height:1.4;text-transform:uppercase;letter-spacing:.07em;color:#158cba;font-weight:800;min-height:32px}
.zk-slide p{font-size:14px;line-height:1.65;color:#335772;margin:16px 0 24px;flex:1}
.zk-slide strong{font-size:14px;font-weight:800;color:#0b3560;margin-top:auto}
.zk-controls{display:flex;justify-content:center;align-items:center;gap:22px;margin:17px auto 12px}
.zk-arrow{width:44px;height:44px;border-radius:50%;border:1px solid #b9d6e4;background:white;color:#073964;font-size:25px;cursor:pointer;transition:background .15s}
.zk-arrow:hover:not(:disabled){background:#b8eb00}
.zk-arrow:disabled{opacity:.3;cursor:not-allowed}
.zk-count{font-size:13px;color:#456786;font-weight:700;min-width:75px;text-align:center}
@media(max-width:900px){.zk-slide{flex-basis:calc((100% - 18px)/2)}}
@media(max-width:650px){.zk-track{gap:12px}.zk-slide{flex-basis:100%;min-height:0;padding:22px}.zk-slide p{font-size:14px}}
@media(prefers-reduced-motion:reduce){.zk-track{scroll-behavior:auto}}


/* Animazioni hover delle sei schede di consulenza — nessun'altra sezione modificata */
@media (hover:hover) and (pointer:fine){
  .services .service{
    transition: transform .32s cubic-bezier(.2,.7,.2,1), box-shadow .32s ease, background .32s ease;
    will-change: transform;
  }
  .services .service:hover{
    transform: translateY(-9px);
    box-shadow: 0 17px 32px rgba(5,46,85,.15);
    background: linear-gradient(135deg,#ffffff 0%,#f0f9f5 100%);
  }
  .services .service .service-icon svg{
    transition: transform .32s cubic-bezier(.2,.7,.2,1);
    transform-origin: center;
  }
  .services .service:hover .service-icon svg{
    transform: scale(1.12) rotate(-4deg);
  }
  .services .service .service-icon::before{
    transition: transform .32s ease, opacity .32s ease;
  }
  .services .service:hover .service-icon::before{
    transform: rotate(-2deg) scale(1.13);
    opacity: 1;
  }
}
@media (prefers-reduced-motion: reduce){
  .services .service, .services .service .service-icon svg,
  .services .service .service-icon::before{transition:none!important;animation:none!important}
  .services .service:hover{transform:none}
}


/* 2026-10-28: immagini responsive senza ritagli sui display panoramici.
   Solo i tre fascioni fotografici; altre sezioni intatte. */
.hero.hero-photo.hero-final {
  background-color:#082f55;
  background-image:linear-gradient(90deg,#062748 0%,rgba(6,39,72,.98) 27%,rgba(6,39,72,.78) 47%,rgba(6,39,72,.07) 78%),url('assets/hero-tomaso.png');
  background-repeat:no-repeat,no-repeat;
  background-size:100% 100%,auto 100%;
  background-position:center,right center;
}
/* Il vettoriale è interamente visibile: contain, non cover. */
.ai-image {background:#032b52;display:flex;align-items:center;justify-content:center;overflow:hidden;min-height:405px}
.ai-image img{position:relative;width:100%;height:100%;max-height:405px;object-fit:contain;object-position:center center}
.ai-image:after{background:linear-gradient(90deg,transparent 88%,#062b55 100%)}
/* Foto intera nella sezione appuntamenti, senza zoom né stretching. */
.contact {
 background-color:#16456b;
 background-image:linear-gradient(90deg,rgba(3,35,68,.91) 0%,rgba(4,49,87,.72) 42%,rgba(3,36,67,.12) 100%),url('assets/sfondo-appuntamento.jpg');
 background-repeat:no-repeat,no-repeat;
 background-size:100% 100%,contain;
 background-position:center,center center;
}
@media (min-width:1800px){
 .hero.hero-photo.hero-final{background-size:100% 100%,auto 100%;background-position:center,76% center}
 .contact{background-size:100% 100%,auto 100%;background-position:center,center center}
}
@media(max-width:960px){
 .hero.hero-photo.hero-final{background-size:100% 100%,auto 100%;background-position:center,right center}
 .ai-image{height:320px;min-height:320px}
 .ai-image img{max-height:320px}
 .contact{background-size:100% 100%,contain;background-position:center,center center}
}
@media(max-width:690px){
 .hero.hero-photo.hero-final{
  background-image:linear-gradient(180deg,rgba(3,30,57,.04) 0%,rgba(3,30,57,.12) 19%,rgba(3,30,57,.96) 47%,#031e39 65%),url('assets/hero-tomaso.png');
  background-size:100% 100%,100% auto;
  background-position:center,center top;
  background-color:#031e39;
 }
 .ai-image{height:235px;min-height:235px}
 .ai-image img{max-height:235px}
 .ai-image:after{background:none}
 .contact{
  background-image:linear-gradient(180deg,rgba(3,34,66,.6),rgba(3,34,66,.91)),url('assets/sfondo-appuntamento.jpg');
  background-size:100% 100%,100% auto;
  background-position:center,center top;
  background-color:#0b355c;
 }
}
/* Rifiniture visive widescreen e smartphone */
@media(min-width:1800px){.hero.hero-photo.hero-final{background-position:center,right center}}
@media(max-width:690px){.hero.hero-photo.hero-final,.hero-final .hero-inner{min-height:655px}.hero-final .hero-inner{padding-top:248px;padding-bottom:35px}}


/* 2026-10-28 — SOLO HEADER + TRE FASCIONI: sostituisce le precedenti regole fotografiche. */
.site-header{height:auto;min-height:0}
.site-header .nav-bar{height:auto;min-height:0;padding-top:20px;padding-bottom:20px}
/* Prima immagine: soggetto a destra e dissolvenza lunga nel blu, nessun giunto verticale. */
.hero.hero-photo.hero-final{
  background:#062b50!important;
  position:relative; isolation:isolate; overflow:hidden;
  min-height:635px;
}
.hero.hero-photo.hero-final::before{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;display:block;
  background-image:url('assets/hero-tomaso.png');
  background-repeat:no-repeat;
  background-size:auto 100%;
  background-position:right center;
  -webkit-mask-image:linear-gradient(to right,transparent 0%,transparent 17%,rgba(0,0,0,.2) 33%,rgba(0,0,0,.75) 54%,#000 74%);
  mask-image:linear-gradient(to right,transparent 0%,transparent 17%,rgba(0,0,0,.2) 33%,rgba(0,0,0,.75) 54%,#000 74%);
}
.hero.hero-photo.hero-final::after{
 content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;height:auto;
 background:linear-gradient(90deg,rgba(4,37,71,.60) 0%,rgba(4,37,71,.19) 36%,transparent 69%);
}
.hero-final .hero-inner{min-height:635px}
/* AI: l'immagine SVG sfuma in modo progressivo nello stesso blu del pannello di testo. */
.ai{background:#062b55;}
.ai-image{background:#062b55;min-height:405px;height:405px;display:block;position:relative;overflow:hidden;}
.ai-image img{height:100%;width:100%;max-height:none;object-fit:contain;object-position:center;
 -webkit-mask-image:linear-gradient(90deg,#000 0%,#000 55%,rgba(0,0,0,.75) 76%,transparent 100%);
 mask-image:linear-gradient(90deg,#000 0%,#000 55%,rgba(0,0,0,.75) 76%,transparent 100%);
}
.ai-image::after{display:none}
/* Prenotazioni: foto nitida full-bleed; overlay unico e continuo senza giunzioni. */
.contact{
 background-color:#0a335c;
 background-image:linear-gradient(90deg,rgba(4,33,65,.91) 0%,rgba(4,38,72,.78) 28%,rgba(4,43,79,.35) 57%,rgba(4,43,79,.15) 100%),url('assets/sfondo-ufficio-reale.jpg');
 background-position:center center,center 54%;
 background-size:cover,cover;
 background-repeat:no-repeat,no-repeat;
}
@media(max-width:960px){
 .hero.hero-photo.hero-final::before{background-position:right center;}
 .ai-image{height:320px;min-height:320px}
 .ai-image img{max-height:none}
}
@media(max-width:690px){
 .site-header .nav-bar{padding-top:20px;padding-bottom:20px}
 .hero.hero-photo.hero-final{min-height:725px;background:#062b50!important}
 .hero.hero-photo.hero-final::before{
   background-size:auto 54%;background-position:65% top;
   -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 57%,rgba(0,0,0,.65) 77%,transparent 100%);
   mask-image:linear-gradient(to bottom,#000 0%,#000 57%,rgba(0,0,0,.65) 77%,transparent 100%);
 }
 .hero.hero-photo.hero-final::after{background:linear-gradient(180deg,transparent 0%,rgba(4,34,66,.08) 24%,rgba(4,34,66,.55) 48%,#062b50 65%)}
 .hero-final .hero-inner{min-height:725px;padding-top:295px;padding-bottom:38px}
 .ai-image{height:235px;min-height:235px}
 .ai-image img{-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 80%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 80%,transparent 100%)}
 .contact{background-image:linear-gradient(180deg,rgba(4,34,66,.76),rgba(4,34,66,.55)),url('assets/sfondo-ufficio-reale.jpg');background-position:center,center;background-size:cover,cover}
}

/* Ultimo affinamento fotografico: immagine ufficio senza persone sotto il form;
   artwork AI esteso, senza rettangoli né tagli ai bordi. */
.ai-image img{object-fit:cover;object-position:center center;
 -webkit-mask-image:linear-gradient(to right,transparent 0%,#000 11%,#000 52%,rgba(0,0,0,.75) 69%,transparent 100%);
 mask-image:linear-gradient(to right,transparent 0%,#000 11%,#000 52%,rgba(0,0,0,.75) 69%,transparent 100%)}
@media(max-width:690px){.ai-image img{-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 82%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 82%,transparent 100%)}}



/* Zerokilled: fotografia integra, transizioni senza giunzioni nette */
.site-header .nav-bar {padding-top:20px;padding-bottom:20px;}
.site-header {height:auto;min-height:0;}
.hero.hero-photo.hero-final {position:relative;isolation:isolate;min-height:635px;background:#062b50 !important;overflow:hidden;}
.hero.hero-photo.hero-final::before {content:"";position:absolute;inset:0;z-index:-2;
 background-image:url('assets/hero-tomaso.png');background-repeat:no-repeat;background-size:auto 100%;background-position:right center;
 -webkit-mask-image:linear-gradient(90deg,transparent 0%, transparent 26%, #000 54%, #000 100%);
 mask-image:linear-gradient(90deg,transparent 0%,transparent 26%,#000 54%,#000 100%);}
.hero.hero-photo.hero-final::after {content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(3,35,67,.48) 0%,rgba(3,35,67,.36) 25%,rgba(3,35,67,.12) 48%,transparent 68%);}
.hero-final .hero-inner{min-height:635px;}
.hero-final .hero-copy{max-width:560px;}
.ai {background:#062b55;}
.ai-image {background:#062b55;position:relative;min-height:370px;height:370px;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.ai-image img{width:100%;height:100%;max-height:none;object-fit:contain;object-position:center center;display:block;
 -webkit-mask-image:linear-gradient(90deg,#000 0%,#000 72%,transparent 100%);
 mask-image:linear-gradient(90deg,#000 0%,#000 72%,transparent 100%);}
.ai-image:after{display:none;}
.contact {background-color:#143a5c;background-image:linear-gradient(90deg,rgba(3,34,66,.91),rgba(3,34,66,.70) 35%,rgba(3,34,66,.1) 80%),url('assets/sfondo-ufficio-reale.jpg');background-position:center,center;background-size:cover,cover;}
.footer .footer-privacy{font-size:13px;text-decoration:underline;text-underline-offset:3px;color:#e5f0fa}
.cookie-settings-footer{background:transparent;border:1px solid #6c8caa;color:#fff;padding:8px 10px;border-radius:7px;cursor:pointer;font-size:12px}
.consent a{color:#0769a0;text-decoration:underline;font-weight:800}
.zk-cookie-banner[hidden]{display:none!important}
.zk-cookie-banner{position:fixed;z-index:9999;bottom:22px;left:22px;max-width:510px;width:calc(100% - 44px);padding:23px;background:white;border:1px solid #c9dae6;border-radius:16px;box-shadow:0 10px 65px #001b3860;color:#082e56;font-size:14px;line-height:1.48}
.zk-cookie-banner p{margin:10px 0 18px}.zk-cookie-banner a{color:#075b93;text-decoration:underline}
.zk-cookie-head{display:flex;justify-content:space-between;align-items:center;font-size:17px}.zk-cookie-head button{font-size:25px;border:0;background:transparent;cursor:pointer;color:#082e56}
.zk-cookie-actions{display:flex;gap:10px;flex-wrap:wrap}.zk-cookie-actions button{cursor:pointer;flex:1;min-width:170px;padding:12px 15px;border-radius:8px;font-weight:800;border:1px solid #082e56;background:white;color:#082e56}
.zk-cookie-actions button:last-child{background:#afe400;border-color:#afe400}
@media(max-width:1000px){.hero.hero-photo.hero-final::before{background-position:right center;background-size:auto 100%}}
@media(max-width:690px){
 .hero.hero-photo.hero-final,.hero-final .hero-inner{min-height:735px}
 .hero.hero-photo.hero-final::before{background-size:auto 355px;background-position:65% top;
 -webkit-mask-image:linear-gradient(180deg,#000 0%,#000 68%,transparent 100%);mask-image:linear-gradient(180deg,#000 0%,#000 68%,transparent 100%)}
 .hero.hero-photo.hero-final::after{background:linear-gradient(180deg,transparent 0%,rgba(3,34,66,.1) 22%,#062b50 49%,#062b50 100%)}
 .hero-final .hero-inner{padding-top:295px;padding-bottom:36px;align-items:flex-end}
 .hero-final .hero-copy{max-width:100%;padding:0}
 .ai-image{min-height:250px;height:250px}
 .ai-image img{-webkit-mask-image:linear-gradient(180deg,#000 0%,#000 83%,transparent 100%);mask-image:linear-gradient(180deg,#000 0%,#000 83%,transparent 100%)}
 .contact{background-image:linear-gradient(180deg,rgba(3,34,66,.8),rgba(3,34,66,.55)),url('assets/sfondo-ufficio-reale.jpg')}
 .footer-inner{flex-wrap:wrap}
}

/* Adeguamento richiesto: SOLO fotografia AI quadrata, senza tagliare l'immagine. */
@media (min-width: 961px) {
  .ai {grid-template-columns:minmax(0, 1fr) minmax(0, 1fr); align-items:center;}
  .ai-image {width:min(100%, 410px);height:auto;min-height:0;aspect-ratio:1 / 1;justify-self:end;margin-right:clamp(12px,3vw,52px);overflow:hidden;background:#062b55;}
  .ai-image img {width:100%;height:100%;object-fit:contain;object-position:center;max-height:none;
    -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 12%,#000 82%,transparent 100%);
    mask-image:linear-gradient(90deg,transparent 0%,#000 12%,#000 82%,transparent 100%);}
}
@media (min-width: 691px) and (max-width: 960px) {
  .ai-image {width:min(82vw, 400px);height:auto;min-height:0;aspect-ratio:1/1;margin:0 auto;}
  .ai-image img {width:100%;height:100%;object-fit:contain;max-height:none;}
}
@media (max-width: 690px) {
  .ai-image {width:min(90vw, 350px);height:auto;min-height:0;aspect-ratio:1/1;margin:0 auto;}
  .ai-image img {width:100%;height:100%;max-height:none;object-fit:contain;object-position:center;
    -webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 13%,#000 82%,transparent 100%);
    mask-image:linear-gradient(180deg,transparent 0%,#000 13%,#000 82%,transparent 100%);}
}

/* Correzione finale: la sola immagine AI e' quadrata e proporzionata. */
.ai-image {background:#062b55!important; aspect-ratio:1/1; width:min(100%,440px); height:auto!important; min-height:0!important; justify-self:end; margin:0 clamp(12px,3vw,52px) 0 auto; overflow:hidden;}
.ai-image img {width:100%!important;height:100%!important;max-height:none!important;object-fit:cover!important;object-position:center!important;-webkit-mask-image:none!important;mask-image:none!important;}
.ai-image::after {display:none!important;}
@media(max-width:960px){.ai-image{justify-self:center;margin:0 auto;width:min(86vw,400px)}}
@media(max-width:690px){.ai-image{width:min(90vw,350px)}}

/* ==========================================================================
   ZEROKILLED 2026 — override finale fotografico (immagini NON pre-sfumate)
   ========================================================================= */
.site-header .nav-bar{padding-top:20px!important;padding-bottom:20px!important}
.hero.hero-photo.hero-final{position:relative;isolation:isolate;background:#062b50!important;overflow:hidden;min-height:630px}
.hero.hero-photo.hero-final::before{content:"";position:absolute;inset:0;z-index:-2;pointer-events:none;
 background-image:url('assets/hero-tomaso.png');background-repeat:no-repeat;background-size:auto 100%;background-position:right center;
 -webkit-mask-image:linear-gradient(90deg,transparent 0%,transparent 20%,rgba(0,0,0,.25) 35%,#000 57%,#000 100%);
 mask-image:linear-gradient(90deg,transparent 0%,transparent 20%,rgba(0,0,0,.25) 35%,#000 57%,#000 100%)}
.hero.hero-photo.hero-final::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
 background:linear-gradient(90deg,rgba(3,31,59,.55) 0%,rgba(3,31,59,.40) 25%,rgba(3,31,59,.12) 52%,transparent 70%)}
.hero-final .hero-inner{min-height:630px}
/* Immagine AI originale quadrata HD, sfumata SOLO dal CSS. */
.ai{background:#062b55!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;align-items:center}
.ai-image{width:min(100%,485px)!important;max-width:485px;aspect-ratio:1/1;height:auto!important;min-height:0!important;
 margin:0 clamp(18px,3vw,60px) 0 auto!important;justify-self:end;overflow:hidden;background:transparent!important;position:relative}
.ai-image img{display:block;width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;max-height:none!important;
 -webkit-mask-image:radial-gradient(ellipse 78% 79% at 48% 48%,#000 61%,rgba(0,0,0,.9) 74%,transparent 100%)!important;
 mask-image:radial-gradient(ellipse 78% 79% at 48% 48%,#000 61%,rgba(0,0,0,.9) 74%,transparent 100%)!important}
.ai-image::after{display:none!important}
@media(max-width:1000px){.hero.hero-photo.hero-final::before{background-position:right center;background-size:auto 100%}}
@media(max-width:690px){
 .hero.hero-photo.hero-final,.hero-final .hero-inner{min-height:730px}
 .hero.hero-photo.hero-final::before{background-size:auto 350px;background-position:62% top;
 -webkit-mask-image:linear-gradient(180deg,#000 0%,#000 60%,transparent 100%);
 mask-image:linear-gradient(180deg,#000 0%,#000 60%,transparent 100%)}
 .hero.hero-photo.hero-final::after{background:linear-gradient(180deg,transparent 0%,rgba(3,31,59,.15) 27%,#062b50 48%,#062b50 100%)}
 .hero-final .hero-inner{min-height:730px;padding-top:294px;padding-bottom:35px}
 .ai{grid-template-columns:1fr!important}
 .ai-image{margin:0 auto!important;width:min(100%,380px)!important;justify-self:center}
}

/* Sfumatura laterale e verticale più morbida, senza alterare i pixel dell'immagine sorgente. */
.ai-image img {
  -webkit-mask-image: radial-gradient(ellipse 68% 70% at 50% 50%, #000 46%, rgba(0,0,0,.88) 58%, rgba(0,0,0,.35) 82%, transparent 100%)!important;
  mask-image: radial-gradient(ellipse 68% 70% at 50% 50%, #000 46%, rgba(0,0,0,.88) 58%, rgba(0,0,0,.35) 82%, transparent 100%)!important;
}


/* ===== Correzione AI 28/10/2026: immagine HD quadrata, raccordo con sfondo =====
   Il contenitore abbraccia l'intera metà sinistra del fascione.
   L'immagine mantiene proporzioni quadrate e la maschera CSS sfuma il perimetro,
   evitando il quadrato netto visibile nella precedente versione. */
.ai {
  display:grid!important;
  grid-template-columns:minmax(0,52%) minmax(0,48%)!important;
  align-items:stretch!important;
  min-height:510px;
  background:#062b55!important;
  overflow:hidden;
}
.ai-image {
  position:relative!important;
  width:100%!important;
  max-width:none!important;
  height:100%!important;
  min-height:510px!important;
  aspect-ratio:auto!important;
  margin:0!important;
  background:transparent!important;
  display:block!important;
  overflow:hidden!important;
  justify-self:stretch!important;
}
.ai-image img {
  position:absolute!important;
  right:0!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  display:block!important;
  width:min(100%, 610px)!important;
  height:auto!important;
  aspect-ratio:1/1!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center!important;
  -webkit-mask-image:radial-gradient(ellipse 76% 76% at 50% 50%, black 53%,rgba(0,0,0,.94) 68%,rgba(0,0,0,.45) 82%,transparent 100%)!important;
  mask-image:radial-gradient(ellipse 76% 76% at 50% 50%, black 53%,rgba(0,0,0,.94) 68%,rgba(0,0,0,.45) 82%,transparent 100%)!important;
}
.ai-image::after {display:none!important}
.ai-text{align-self:center!important;padding:45px clamp(20px,4vw,70px) 45px 20px!important}
@media(max-width:960px){
  .ai {grid-template-columns:1fr!important;min-height:0}
  .ai-image{height:390px!important;min-height:390px!important}
  .ai-image img{width:min(100%,450px)!important;right:50%!important;top:50%!important;transform:translate(50%,-50%)!important}
  .ai-text{padding:24px 34px 54px!important}
}
@media(max-width:690px){
  .ai-image{height:310px!important;min-height:310px!important}
  .ai-image img{width:min(94vw,370px)!important}
  .ai-text{padding:8px 24px 42px!important}
}
/* Rifinitura continuità: l'immagine occupa l'intero riquadro AI.
   Un overlay CSS dello stesso blu nasconde i bordi, senza ritoccare il PNG. */
@media(min-width:961px){
 .ai{min-height:600px!important}
 .ai-image{min-height:600px!important;height:600px!important}
 .ai-image img{left:0!important;right:auto!important;top:0!important;transform:none!important;width:100%!important;height:100%!important;aspect-ratio:auto!important;object-fit:cover!important;object-position:center 55%!important;mask-image:none!important;-webkit-mask-image:none!important}
 .ai-image::after{content:""!important;display:block!important;position:absolute!important;inset:0!important;pointer-events:none!important;background:linear-gradient(90deg,#062b55 0%,transparent 14%,transparent 55%,#062b55 100%),linear-gradient(180deg,#062b55 0%,transparent 9%,transparent 91%,#062b55 100%)!important}
}
@media(max-width:960px){
 .ai-image img{mask-image:none!important;-webkit-mask-image:none!important}
 .ai-image::after{content:""!important;display:block!important;position:absolute!important;inset:0!important;pointer-events:none!important;background:linear-gradient(180deg,#062b55 0%,transparent 12%,transparent 75%,#062b55 100%),linear-gradient(90deg,#062b55 0%,transparent 13%,transparent 87%,#062b55 100%)!important}
}


/* Correzione hero responsive: maschera calcolata sulla fotografia,
   non sull'intero viewport (risolve il taglio netto a 2560px). */
@media (min-width: 961px) {
  .hero.hero-photo.hero-final::before {
    left: auto !important;
    right: 0 !important;
    top: 0 !important;
    bottom: 0 !important;
    width: min(100%, 1129px) !important;
    background-image: url('assets/hero-tomaso.png') !important;
    background-size: auto 100% !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
    -webkit-mask-image: linear-gradient(to right, transparent 0%, rgba(0,0,0,.16) 14%, rgba(0,0,0,.65) 34%, #000 56%) !important;
    mask-image: linear-gradient(to right, transparent 0%, rgba(0,0,0,.16) 14%, rgba(0,0,0,.65) 34%, #000 56%) !important;
  }
  .hero.hero-photo.hero-final::after {
    background: linear-gradient(to right, rgba(3,35,67,.30), transparent 65%) !important;
  }
}
