@font-face{font-family:"Avenir Next";src:local("Avenir Next"),url("AvenirNext.ttc");font-display:swap}
:root{--navy:#0b4268;--navy2:#13588a;--acc:#fecd0e;--bg:#f6f7fb}
*{box-sizing:border-box}body{margin:0;font-family:"Avenir Next",Avenir,"Segoe UI",Roboto,sans-serif;color:var(--navy);line-height:1.6;background:#fff}
a{color:var(--navy2)}header{background:#fff!important;color:var(--navy)!important;position:sticky;top:0;z-index:9;border-bottom:1px solid rgba(11,66,104,.12);box-shadow:0 2px 10px rgba(11,66,104,.06)}
.wrap{max-width:1080px;margin:auto;padding:0 20px}
nav{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:12px 0}
nav .brand{color:var(--navy);font-weight:700;text-decoration:none;font-size:1.15rem;letter-spacing:.5px}
nav ul{display:flex;gap:18px;list-style:none;margin:0;padding:0;flex-wrap:wrap}nav ul a{color:var(--navy);text-decoration:none;font-size:.95rem;font-weight:600}nav ul a:hover,nav ul a[aria-current]{color:var(--navy2);border-bottom:2px solid var(--acc)}
.hero{background:linear-gradient(135deg,var(--navy),var(--navy2));color:#fff;padding:70px 0}
.hero h1{font-size:clamp(1.8rem,4.5vw,2.8rem);line-height:1.2;margin:0 0 14px}.hero p{font-size:1.15rem;max-width:640px;opacity:.92}
.btn{display:inline-block;background:var(--acc);color:var(--navy);font-weight:700;padding:13px 22px;border-radius:30px;text-decoration:none;margin:8px 8px 0 0}
.btn.o{background:transparent;color:#fff;border:2px solid #fff}
section{padding:56px 0}section.alt{background:var(--bg)}h2{color:var(--navy);font-size:1.7rem;margin-top:0}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px}
.card{position:relative;background:#fff;border-radius:14px;padding:28px 24px 24px;box-shadow:0 4px 18px rgba(11,66,104,.08)}.card h3{color:var(--navy);margin-top:0;padding-right:2.75rem}.card-brand{position:absolute;top:10px;right:12px;pointer-events:none;z-index:1;line-height:0}.card-brand img{height:28px;width:28px;object-fit:cover;border-radius:50%;display:block;opacity:.95;box-shadow:0 1px 4px rgba(11,66,104,.12)}
img{max-width:100%;height:auto;border-radius:12px}
footer{background:var(--navy);color:#cfd6e6;padding:36px 0;font-size:.92rem}footer a{color:#fff}
.wa{position:fixed;right:18px;bottom:18px;background:#25d366;color:#fff;border-radius:30px;padding:12px 18px;font-weight:700;text-decoration:none;box-shadow:0 4px 14px rgba(11,66,104,.28)}
.note{font-size:.85rem;color:var(--navy)}details{background:#fff;border-radius:10px;padding:14px 18px;margin:10px 0}summary{font-weight:700;color:var(--navy);cursor:pointer}
.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:10px;background:#fff;padding:8px;z-index:99}
a:focus-visible,.btn:focus-visible{outline:3px solid var(--acc);outline-offset:2px}
.tag{color:var(--acc);font-weight:700;letter-spacing:1px;text-transform:uppercase;font-size:.85rem;margin:0 0 6px}
.two{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:32px;align-items:start}
.price{font-size:1.5rem;color:var(--navy);font-weight:700}.map{width:100%;height:340px;border:0;border-radius:12px}
.faq details{background:#fff;border:1px solid #dde;border-radius:10px;padding:12px 16px;margin:10px 0}.faq summary{font-weight:700;cursor:pointer;color:var(--navy)}
.cta{background:var(--navy);color:#fff;text-align:center}.cta h2{color:#fff}

.hero-title{display:flex;flex-direction:column;gap:.35em;margin:.2em 0 .9em}
.hero-title .h1-name{font-size:clamp(2.4rem,7vw,4.4rem);font-weight:800;letter-spacing:-.02em;line-height:1.02}
.hero-title .h1-role{font-size:clamp(.95rem,2.2vw,1.35rem);font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:#fecd0e;opacity:1;padding-top:.6em;border-top:2px solid rgba(255,255,255,.35);align-self:flex-start}
.hero .claim{font-size:clamp(1.15rem,2.4vw,1.45rem);font-weight:700;line-height:1.35;margin:0 0 1em;max-width:680px;opacity:1;color:#fecd0e}

nav .brand{display:inline-flex;align-items:center;background:transparent;border-radius:0;padding:4px 0;line-height:0;overflow:visible}nav .brand img{height:72px;width:auto;max-width:min(92vw,460px);object-fit:contain;object-position:left center;display:block;border-radius:0!important}@media(max-width:600px){nav .brand{padding:5px 9px}nav .brand img{height:50px;max-width:min(78vw,320px)}}



nav .brand img{height:72px;width:auto;max-width:min(92vw,460px);object-fit:contain;object-position:left center;display:block;border-radius:0}

.two img.logo-pro{width:min(320px,100%);max-width:320px;height:auto;aspect-ratio:1/1;object-fit:contain;object-position:center;border-radius:0!important;background:transparent;padding:0;margin:0;box-sizing:border-box;display:block;box-shadow:none;image-rendering:auto}
section.pro-logo{background:var(--navy);color:#fff}
section.pro-logo h2{color:#fff}
section.pro-logo a{color:var(--acc)}
.kit{display:flex;gap:28px;flex-wrap:wrap;align-items:flex-start}.kit img{border-radius:14px;max-width:100%;height:auto}.kit>div{flex:1;min-width:260px}
.btn.o2{background:transparent;color:var(--navy);border:2px solid var(--navy)}button.btn{border:0;cursor:pointer;font:inherit;font-weight:700}
.steps li{margin:6px 0}.form{max-width:640px;display:grid;gap:14px;margin-bottom:30px}.form .row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form label{display:flex;flex-direction:column;font-weight:600;color:var(--navy);font-size:.95rem}.form input:not([type=checkbox]){margin-top:4px;padding:11px;border:1px solid #c9d2e0;border-radius:8px;font:inherit}
.form label.chk{flex-direction:row;gap:10px;font-weight:400;color:var(--navy)}
.form-h{margin:8px 0 0;font-size:1.05rem;color:var(--navy)}.fat-box{display:grid;gap:14px;padding:14px;border:1px solid #dfe5ee;border-radius:12px;background:#f7f9fc}
.ord{border:1px solid #dfe5ee;border-radius:12px;padding:16px 18px;margin:12px 0;background:#fff}.ord h4{margin:0 0 6px;color:var(--navy)}
.st{display:inline-block;padding:3px 12px;border-radius:20px;font-size:.85rem;font-weight:700}.st.in_attesa{background:#eef1f6;color:var(--navy)}.st.pronto{background:var(--acc);color:var(--navy)}.st.pagato{background:#d7ecff;color:var(--navy)}.st.spedito{background:#d8f3dc;color:var(--navy)}
.ok{background:#d8f3dc;border-left:5px solid #2e7d32;padding:14px 18px;border-radius:8px}.demo{background:#fff8d6;border:1px dashed #d4a800;padding:10px 14px;border-radius:8px;font-size:.9rem}
@media(max-width:600px){.form .row{grid-template-columns:1fr}}

/* Homepage Reel testimonianze carousel (proposta locale) */
.reel-carousel{margin:28px 0}
.reel-carousel h2{color:var(--navy);margin:0 0 12px}
.reel-track{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px;-webkit-overflow-scrolling:touch}
.reel-card{flex:0 0 min(78vw,280px);scroll-snap-align:start;background:#fff;border:1px solid #d7e0ec;border-radius:14px;overflow:hidden;box-shadow:0 6px 18px rgba(11,66,104,.08)}
.reel-card iframe,.reel-card video{width:100%;aspect-ratio:9/16;border:0;background:#0b4268;display:block}
.reel-card .cap{padding:10px 12px;font-size:.9rem;color:#0b4268;min-height:3.2em}
.reel-empty{color:#5a6b7d;font-size:.95rem}

.reel-card .badge-testi {
  position: absolute; left: 8px; top: 8px;
  background: #fecd0e; color: #0b4268; font-size: 11px; font-weight: 700;
  padding: 4px 8px; border-radius: 999px; letter-spacing: .02em;
}
.reel-card > a { position: relative; display: block; }
.reel-card.testi { outline: 2px solid #fecd0e; outline-offset: -2px; border-radius: 12px; }
