@font-face{font-family:"Barlow Condensed";font-weight:600;font-style:normal;font-display:swap;src:url(/assets/fonts/barlow-condensed-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Barlow Condensed";font-weight:700;font-style:normal;font-display:swap;src:url(/assets/fonts/barlow-condensed-latin-700-normal.woff2) format("woff2")}
:root{
  --ink:#16202a;--ink2:#25313d;--red:#d7301f;--red-d:#b4261a;--amber:#f5a623;--paper:#f6f3ee;--card:#fff;
  --line:#e0d9cc;--muted:#5d6872;--green:#1f9d55;--wa:#1f9d55;
  --head:"Barlow Condensed","Arial Narrow",Arial,sans-serif;
  --body:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --r:10px;--wrap:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.65 var(--body);overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--red-d);text-underline-offset:2px}
a:hover{color:var(--red)}
h1,h2,h3{font-family:var(--head);line-height:1.1;letter-spacing:.2px;margin:0 0 .5em}
h1{font-size:clamp(2rem,4.6vw,3.3rem);font-weight:700}
h2{font-size:clamp(1.6rem,3vw,2.3rem);font-weight:700}
h3{font-size:1.35rem;font-weight:600}
p{margin:0 0 1em}
.wrap{max-width:var(--wrap);margin-left:auto;margin-right:auto;padding:0 20px}
.wrap.prose{max-width:var(--wrap)}.wrap.prose>*{max-width:800px}
.skip{position:absolute;left:-9999px}.skip:focus{left:10px;top:10px;z-index:99;background:#fff;padding:8px}
.muted{color:var(--muted)}

/* barra superiore + header */
.topbar{background:var(--ink);color:#c9d1d8;font-size:.85rem}
.topbar .wrap{display:flex;justify-content:space-between;gap:12px;padding-top:6px;padding-bottom:6px}
.topbar a{color:#fff;font-weight:700;text-decoration:none}
.head{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}
.head-in{display:flex;align-items:center;gap:18px;min-height:72px}
.brand img{width:250px;height:auto}
#nav{margin-left:auto}
.menu{list-style:none;margin:0;padding:0;display:flex;gap:4px;align-items:center}
.menu a{display:block;white-space:nowrap;padding:8px 9px;color:var(--ink);text-decoration:none;font-family:var(--head);font-weight:600;font-size:1.08rem;text-transform:uppercase;letter-spacing:.4px;border-radius:6px}
.menu a:hover{background:var(--paper);color:var(--red)}
.has-sub{position:relative}
.has-sub ul{list-style:none;margin:0;padding:6px;position:absolute;top:100%;left:0;background:#fff;border:1px solid var(--line);border-radius:8px;min-width:230px;display:none;box-shadow:0 10px 30px rgba(0,0,0,.08)}
.has-sub:hover ul,.has-sub:focus-within ul{display:block}
.burger{display:none;margin-left:auto;background:none;border:0;padding:10px;cursor:pointer}
.burger span{display:block;width:26px;height:3px;background:var(--ink);margin:5px 0;border-radius:2px}
.head-call{white-space:nowrap}

/* bottoni */
.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;border-radius:999px;font-weight:700;text-decoration:none;border:2px solid transparent;cursor:pointer;font-size:1rem;line-height:1.2}
.btn svg{width:18px;height:18px;fill:currentColor}
.btn-call{background:var(--red);color:#fff}.btn-call:hover{background:var(--red-d);color:#fff}
.btn-wa{background:var(--wa);color:#fff}.btn-wa:hover{background:#178246;color:#fff}
.btn-ghost{border-color:var(--ink);color:var(--ink)}.btn-ghost:hover{background:var(--ink);color:#fff}
.btn-ghost.on-dark{border-color:#fff;color:#fff}.btn-ghost.on-dark:hover{background:#fff;color:var(--ink)}
.ctas{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}

/* banda a strisce (asta di barriera) */
.stripe{height:14px;background:repeating-linear-gradient(-45deg,var(--red) 0 22px,#fff 22px 44px)}

/* hero */
.hero{background:var(--ink);color:#fff;position:relative}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;padding-top:48px;padding-bottom:48px}
.hero .lead{font-size:1.15rem;color:#dfe5ea;max-width:640px}
.hero .lead a{color:#fff}
.kicker{display:inline-block;font-family:var(--head);text-transform:uppercase;letter-spacing:1.5px;color:var(--amber);font-weight:600;margin-bottom:10px}
.hero-img{margin:0;position:relative}
.hero-img img{border-radius:var(--r);aspect-ratio:4/3;object-fit:cover;width:100%;box-shadow:14px 14px 0 var(--red)}
.hero.slim .wrap{padding-top:40px;padding-bottom:34px}
.chips{list-style:none;padding:0;margin:8px 0 0;display:flex;flex-wrap:wrap;gap:8px}
.chips li{font-size:.85rem;border:1px solid #3c4955;border-radius:999px;padding:4px 12px;color:#c9d1d8}
.chips li:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--amber);margin-right:7px;vertical-align:1px}

.crumbs{font-size:.85rem;padding-top:12px;padding-bottom:12px}
.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px}
.crumbs li+li:before{content:"›";margin:0 6px;color:var(--muted)}
.crumbs a{color:var(--muted)}

/* sezioni */
main>section{margin-top:64px}
main>.band+.local,main>.band+.band,main>.cta-band+.form-sec{margin-top:0}
main>section.hero,main>.crumbs+section{margin-top:0}
main>section.hero+section{margin-top:44px}
.two{display:grid;grid-template-columns:1.4fr .8fr;gap:40px;align-items:start}
.prose{max-width:780px}
.prose h2{margin-top:.4em}
.sez h2{margin-top:1.2em}
.ticks{list-style:none;padding:0;margin:0 0 1em}
.ticks li{position:relative;padding-left:30px;margin:6px 0}
.ticks li:before{content:"";position:absolute;left:0;top:.45em;width:18px;height:10px;border-left:3px solid var(--red);border-bottom:3px solid var(--red);transform:rotate(-45deg)}
.card-cta{background:#fff;border:1px solid var(--line);border-top:6px solid var(--red);border-radius:var(--r);padding:24px;position:sticky;top:96px}
.big-tel{font-family:var(--head);font-size:2.1rem;font-weight:700;margin:.2em 0}
.big-tel a,a.big-tel{color:var(--ink);text-decoration:none}
.band{background:var(--ink);color:#fff;padding:50px 0}
.band.light{background:#fff;color:var(--ink);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.band a{color:#fff}.band.light a{color:var(--red-d)}
.steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.steps li{background:var(--ink2);border-radius:var(--r);padding:22px}
.steps .n{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--amber);color:var(--ink);font-family:var(--head);font-weight:700;font-size:1.3rem;margin-bottom:10px}
.steps p{color:#c9d1d8;margin:0}
.grid-ticks{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.grid-ticks li{background:var(--paper);border-left:5px solid var(--red);padding:12px 14px;border-radius:6px;font-weight:600}

.local{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:50px 0}
.local .two{grid-template-columns:.8fr 1.2fr}
.local-img{margin:0}.local-img img{border-radius:var(--r);aspect-ratio:4/3;object-fit:cover;width:100%}
.local-img figcaption,.gallery figcaption{font-size:.82rem;color:var(--muted);margin-top:6px}

.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.gallery figure{margin:0}.gallery img{border-radius:var(--r);aspect-ratio:4/3;object-fit:cover;width:100%;background:#e9e4da}

.linkblock{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:26px}
.links h3{border-bottom:3px solid var(--red);display:inline-block;padding-bottom:2px}
.links ul{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:6px}
.links li a,.links li span{display:inline-block;padding:4px 10px;border-radius:6px;background:#fff;border:1px solid var(--line);font-size:.9rem;text-decoration:none}
.links li span{color:var(--muted)}

.reviews .rev-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}
.rev{margin:0;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:20px}
.rev .stars{color:var(--amber);letter-spacing:2px}
.rev footer{font-weight:700;font-family:var(--head);font-size:1.1rem}

.faq details{background:#fff;border:1px solid var(--line);border-radius:8px;margin:10px 0;padding:0 18px}
.faq summary{cursor:pointer;font-weight:700;padding:14px 0;list-style:none;position:relative;padding-right:30px}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"+";position:absolute;right:0;top:8px;font-size:1.5rem;color:var(--red)}
.faq details[open] summary:after{content:"–"}
.faq details p{margin:0 0 14px}

.cta-band{background:var(--red);color:#fff;padding:34px 0}
.cta-band p{font-size:1.3rem;font-family:var(--head);font-weight:600;margin:0}
.cta-band a{color:#fff}
.cta-band .btn-call{background:var(--ink)}
.cta-band .wrap{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}

/* home */
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.area{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column}
.area img{aspect-ratio:16/10;object-fit:cover;width:100%}
.area>div{padding:20px}
.area h3 a{color:var(--ink);text-decoration:none}
.more{font-weight:700}
.sub{font-size:.9rem}
.svc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
.svc{display:flex;flex-direction:column;gap:6px;padding:20px;border:1px solid var(--line);border-radius:var(--r);background:var(--paper);color:var(--ink)!important;text-decoration:none}
.svc:hover{border-color:var(--red);transform:translateY(-2px);transition:.15s}
.svc strong{font-family:var(--head);font-size:1.35rem}
.svc span:last-child{color:var(--muted);font-size:.95rem}
.ico{width:42px;height:42px;border-radius:10px;background:var(--ink);position:relative}
.ico:after{content:"";position:absolute;inset:11px;background:var(--amber);-webkit-mask:var(--m) center/contain no-repeat;mask:var(--m) center/contain no-repeat}
.ico-gear{--m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M19.4 13a7.5 7.5 0 0 0 0-2l2.1-1.6-2-3.5-2.5 1a7.4 7.4 0 0 0-1.7-1L15 3h-4l-.4 2.7a7.4 7.4 0 0 0-1.7 1l-2.5-1-2 3.5L6.6 11a7.5 7.5 0 0 0 0 2l-2.1 1.6 2 3.5 2.5-1a7.4 7.4 0 0 0 1.7 1L11 21h4l.4-2.7a7.4 7.4 0 0 0 1.7-1l2.5 1 2-3.5zM13 15.5a3.5 3.5 0 1 1 0-7 3.5 3.5 0 0 1 0 7z'/%3E%3C/svg%3E")}
.ico-wrench{--m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M22 6.5a5.5 5.5 0 0 1-7.6 5.1L6 20a2.1 2.1 0 0 1-3-3l8.4-8.4A5.5 5.5 0 0 1 17.5 1l-3.3 3.3.9 3.6 3.6.9z'/%3E%3C/svg%3E")}
.ico-shield{--m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2 4 5v6c0 5 3.4 9.6 8 11 4.6-1.4 8-6 8-11V5zm-1.2 14-3.6-3.6 1.4-1.4 2.2 2.2 5-5 1.4 1.4z'/%3E%3C/svg%3E")}
.ico-bolt{--m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M13 2 4 14h6l-1 8 9-12h-6z'/%3E%3C/svg%3E")}
.ico-barrier{--m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 8h4v14H3zM8 9l14-4v3L8 12z'/%3E%3C/svg%3E")}
.ico-parking{--m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 3h7a6 6 0 0 1 0 12h-3v6H6zm4 4v4h3a2 2 0 0 0 0-4z'/%3E%3C/svg%3E")}
.ico-bollard{--m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 10h4v11H4zm6 4h4v7h-4zm6-10h4v17h-4zM2 21h20v2H2z'/%3E%3C/svg%3E")}
.about .ctas{margin-top:8px}
.brand-wall,.q-wall{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}
.brand-wall li a,.brand-wall li span{display:inline-block;padding:10px 16px;border:1px solid #3c4955;border-radius:8px;font-family:var(--head);font-weight:700;font-size:1.2rem;text-decoration:none;color:#fff}
.brand-wall li a:hover{background:#fff;color:var(--ink)}
.brand-wall small{font-family:var(--body);font-weight:400;font-size:.7rem;color:var(--amber);display:block}
.q-wall li a,.q-wall li span{display:inline-block;padding:6px 12px;background:#fff;border:1px solid var(--line);border-radius:6px;text-decoration:none}
.brand-cards,.qgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:16px}
.bcard,.qcard{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:20px}
.bcard p{font-size:.95rem;color:var(--muted)}
.badge{display:inline-block;background:var(--amber);color:var(--ink)!important;font-weight:700;font-size:.8rem;padding:2px 10px;border-radius:999px}
.qcard ul{margin:0;padding-left:18px}
.qlist h2{margin-top:1.2em}
.contacts dt{font-weight:700;margin-top:10px}.contacts dd{margin:0}
.legalpage{padding-top:20px}

/* modulo */
.form-sec{background:var(--ink);color:#fff;padding:56px 0}
.form-sec a{color:#fff}
.form-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:40px}
.form-sec .ticks li:before{border-color:var(--amber)}
.form{background:#fff;color:var(--ink);border-radius:var(--r);padding:26px}
.form a{color:var(--red-d)}
.form label{display:block;font-weight:600;font-size:.92rem;margin-bottom:12px}
.form input,.form select,.form textarea{display:block;width:100%;margin-top:4px;padding:11px 12px;border:1px solid #c9c2b4;border-radius:8px;font:inherit;background:#fff}
.form input:focus,.form select:focus,.form textarea:focus{outline:3px solid rgba(215,48,31,.25);border-color:var(--red)}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.form .check{display:flex;gap:10px;align-items:flex-start;font-weight:400}
.form .check input{width:auto;margin-top:5px}
.form .hp{position:absolute;left:-9999px}
.msg{padding:12px;border-radius:8px;font-weight:600}.msg.ok{background:#e3f4ea;color:#14532d}.msg.ko{background:#fde5e1;color:#7f1d1d}

/* footer */
.foot{background:var(--ink);color:#c9d1d8;margin-top:0;font-size:.93rem}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr .8fr;gap:30px;padding-top:44px;padding-bottom:30px}
.foot h3{color:#fff;font-size:1.2rem}
.foot ul{list-style:none;margin:0;padding:0}.foot li{margin:4px 0}
.foot a{color:#c9d1d8;text-decoration:none}.foot a:hover{color:#fff}
.foot .big-tel a{color:#fff}
.logo-foot{margin-bottom:12px}
.legal{border-top:1px solid #2e3a46;padding-top:16px;padding-bottom:90px;font-size:.85rem}

/* barra mobile */
.mbar{display:none}

@media (max-width:1240px){.head-call{display:none}}
@media (max-width:1100px){.menu a{font-size:.98rem;padding:8px 6px}.brand img{width:210px}}
@media (max-width:900px){
  .burger{display:block}
  #nav{position:fixed;inset:110px 0 auto 0;background:#fff;border-bottom:1px solid var(--line);display:none;max-height:calc(100vh - 110px);overflow:auto}
  #nav.open{display:block}
  .menu{flex-direction:column;align-items:stretch;padding:10px 16px 20px}
  .has-sub ul{position:static;display:block;border:0;box-shadow:none;padding:0 0 0 14px}
  .hero-grid,.two,.local .two,.form-grid,.cards3{grid-template-columns:1fr}
  .hero-img{order:-1}
  .hero-img img{box-shadow:8px 8px 0 var(--red)}
  .steps{grid-template-columns:1fr 1fr}
  .gallery{grid-template-columns:1fr 1fr}
  .card-cta{position:static}
  .foot-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:600px){
  body{font-size:16px}
  .wrap{padding:0 16px}
  .topbar span{display:none}.topbar .wrap{justify-content:flex-end}
  .brand img{width:190px}
  .head-in{min-height:62px}
  #nav{inset:96px 0 auto 0}
  .steps,.gallery,.form .row,.foot-grid{grid-template-columns:1fr}
  .gallery figure:nth-child(n+2){display:none}
  main>section{margin-top:40px}
  .hero-grid{padding-top:24px;padding-bottom:32px;gap:22px}
  .btn{padding:11px 16px}
  .mbar{display:grid;grid-template-columns:1fr 1fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:60;box-shadow:0 -4px 20px rgba(0,0,0,.15)}
  .mbar a{padding:14px 6px;text-align:center;color:#fff;font-weight:700;text-decoration:none}
  .m-call{background:var(--red)}.m-wa{background:var(--wa)}.m-form{background:var(--ink)}
}
