/* Gala 400 — design system. Navy + electric blue, Barlow Condensed + Inter. */
:root{
  --ink:#050c18;--ink2:#0a1828;--paper:#f5f8fc;--paper2:#ffffff;--paper-alt:#e8f2fd;
  --line:#c4d3e6;--line-dark:#16294a;--copper:#1259b0;--copper-dark:#0d3f80;--copper-light:#1a72d4;
  --water:#0a2540;--text:#0a1828;--text-soft:#6b85a0;--text-onink:#f2f4f7;--text-onink-soft:#8fa3bd;
  --radius:4px;--shadow:0 2px 6px rgba(5,12,24,.12),0 14px 34px -16px rgba(5,12,24,.4);
  --font-head:'Barlow Condensed',sans-serif;
  --font-body:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font-body);background:var(--paper);color:var(--text);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;font-weight:300}
.container{max-width:1120px;margin:0 auto;padding:0 1.25rem}
.container-narrow{max-width:640px;margin:0 auto;padding:0 1.25rem}
a{color:inherit;text-decoration:none}
h1,h2,h3{font-family:var(--font-head);font-weight:800;text-transform:uppercase;color:var(--ink);margin:0 0 .6rem;letter-spacing:-.015em;line-height:.95}
h1{font-size:clamp(2.3rem,9vw,3.2rem)}
h2{font-size:clamp(1.7rem,5vw,2.3rem)}
h3{font-size:1.2rem}
p{margin:0 0 1rem}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
svg.ico{display:block}


.eyebrow,.gauge-tag,.trust-item strong,.btn-call-num,.btn-phone,.sticky-call-num,.topbar-phone-num,.nav-call{font-family:var(--font-body)}

/* Urgency strip */
.urgency-strip{display:block;background:var(--ink2);color:var(--text-onink)}
.urgency-strip-inner{display:flex;align-items:center;gap:.6rem;padding:.5rem 1.25rem;font-size:.82rem}
.live-dot{width:7px;height:7px;border-radius:50%;background:var(--copper-light);flex-shrink:0}
.urgency-strip-text{flex:1;opacity:.92}
.urgency-strip-phone{font-family:var(--font-body);font-weight:700;letter-spacing:.02em}

/* Header */
header.topbar{background:var(--ink);border-bottom:1px solid var(--line-dark)}
.topbar-inner{display:flex;align-items:center;justify-content:space-between;padding:.7rem 1.25rem;gap:1rem}
.brand{display:flex;align-items:center;gap:.65rem}
.brand-mark{width:42px;height:42px;border-radius:10px;flex-shrink:0;display:block;object-fit:cover}
.brand-text{display:flex;flex-direction:column;line-height:1.2}
.brand-name{color:#fff;font-weight:700;font-size:1rem}
.brand-tag{color:var(--text-onink-soft);font-size:.72rem}
.topbar-phone{text-align:right}
.topbar-phone-label{display:block;color:var(--text-onink-soft);font-size:.68rem;text-transform:uppercase;letter-spacing:.06em}
.topbar-phone-num{display:block;color:#fff;font-weight:700;font-size:1.15rem;letter-spacing:.01em}

nav.nav-main{background:var(--ink);border-bottom:1px solid var(--line-dark)}
.nav-inner{display:flex;gap:1.35rem;padding:0 1.25rem;overflow-x:auto;scrollbar-width:none}
.nav-inner::-webkit-scrollbar{display:none}
.nav-main a{color:var(--text-onink-soft);font-size:.9rem;padding:.7rem 0;white-space:nowrap;border-bottom:2px solid transparent}
.nav-main a.is-active{color:#fff;border-color:var(--copper)}
.nav-main a.nav-call{margin-left:auto;color:var(--copper-light);font-weight:700}

/* Breadcrumb */
.breadcrumb{padding:.9rem 0 0;font-size:.82rem;color:var(--text-soft)}
.breadcrumb a{color:var(--copper-dark);font-weight:600}
.breadcrumb span{margin:0 .35rem}

/* Hero (homepage, with gauge) */
section.hero{background:var(--paper);padding:2rem 0 2.2rem}
.hero-grid{display:grid;grid-template-columns:1fr;gap:2rem;align-items:center}
.eyebrow{display:inline-flex;align-items:center;gap:.5rem;color:var(--copper-dark);font-weight:700;font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;margin:0 0 .9rem}
.hero-lead{font-size:1.08rem;color:var(--text-soft);max-width:34rem;margin:0 0 1.4rem}
.hero-lead strong{color:var(--ink)}

.cta-panel{display:flex;flex-direction:column;gap:.65rem;max-width:22rem}
.btn-call-hero{display:flex;align-items:center;gap:.8rem;background:linear-gradient(135deg,var(--copper-light),var(--copper) 55%,var(--copper-dark));color:#fff;border-radius:16px;padding:1.15rem 1.4rem;box-shadow:0 4px 10px rgba(143,90,18,.35),0 20px 40px -14px rgba(143,90,18,.55);min-height:68px;justify-content:center;border:1px solid rgba(255,255,255,.25)}
.btn-call-hero::before{content:'';width:34px;height:34px;flex-shrink:0;background:rgba(255,255,255,.22);border-radius:50%;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.62 10.79a15.05 15.05 0 006.59 6.59l2.2-2.2a1 1 0 011-.24 11.36 11.36 0 003.54.57 1 1 0 011 1V20a1 1 0 01-1 1A17 17 0 013 4a1 1 0 011-1h3.5a1 1 0 011 1 11.36 11.36 0 00.57 3.54 1 1 0 01-.24 1l-2.21 2.25z'/%3E%3C/svg%3E");background-size:17px;background-repeat:no-repeat;background-position:center}
.btn-call-hero-text{display:flex;flex-direction:column;gap:.1rem;align-items:flex-start}
.btn-sub{font-size:.85rem;opacity:.95;font-weight:600;text-transform:uppercase;letter-spacing:.05em}
.btn-phone{font-family:var(--font-body);font-weight:800;font-size:1.75rem;letter-spacing:.01em}
.cta-badges{display:flex;flex-wrap:wrap;gap:.5rem 1rem;margin:.3rem 0 0;font-size:.8rem;color:var(--text-soft);width:100%}
.cta-badges span{display:inline-flex;align-items:center;gap:.3rem;color:var(--water);font-weight:600}
.cta-badges svg{flex-shrink:0}
.btn-wa-quiet{display:flex;align-items:center;justify-content:center;gap:.5rem;border:1.5px solid var(--ink);color:var(--ink);border-radius:var(--radius);padding:.85rem 1.25rem;font-weight:600;min-height:52px}
.cta-trust{font-size:.85rem;color:var(--text-soft);margin:0}
.cta-meta{font-size:.82rem;color:var(--text-soft);margin:0}
.btn-block{width:100%}

.hero-gauge-wrap{background:var(--paper2);border:1px solid var(--line);border-radius:20px;padding:1.4rem 1.4rem 1.6rem;box-shadow:var(--shadow)}
.gauge-svg{width:100%;height:auto;display:block}
.gauge-readout{text-align:center;margin-top:-.4rem}
.gauge-readout b{font-family:var(--font-head);font-size:1.9rem;color:var(--ink)}
.gauge-caption{text-align:center;color:var(--text-soft);font-size:.9rem;margin:.1rem 0 1rem}
.gauge-tags{display:flex;flex-wrap:wrap;gap:.45rem;justify-content:center}
.gauge-tag{background:var(--paper-alt);color:var(--ink);font-size:.75rem;font-weight:600;letter-spacing:.02em;padding:.35rem .65rem;border-radius:99px}

/* Simple hero (service pages, no gauge) */
section.hero-simple{background:var(--paper);padding:1.8rem 0 2rem}
.hero-simple-grid{display:grid;grid-template-columns:1fr;gap:1.6rem;align-items:start}
.service-icon-badge{width:56px;height:56px;border-radius:14px;background:rgba(176,105,47,.12);color:var(--copper-dark);display:flex;align-items:center;justify-content:center;margin-bottom:1rem}

/* Emergency alert call card — the very first thing seen, engineered for an immediate call */
.alert-call{display:block;background:#fff;border:2px solid var(--copper);border-radius:16px;padding:.9rem 1.1rem;box-shadow:0 10px 30px -10px rgba(209,53,43,.45);margin:0 0 1.4rem;position:relative;z-index:1;max-width:26rem;width:100%}
.alert-call-row{display:flex;align-items:center;gap:.8rem}
.alert-call-icon{width:44px;height:44px;border-radius:50%;background:var(--copper);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.alert-call-icon svg{stroke:#fff}
.alert-call-text{text-align:left;flex:1;min-width:0}
.alert-call-label{display:flex;align-items:center;gap:.4rem;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--copper-dark);margin:0}
.alert-call-num{font-family:var(--font-body);font-weight:800;font-size:1.55rem;color:var(--ink);line-height:1.15}

/* Centered imposing homepage hero, with subtle drip illustration */
section.hero-centered{padding:3.6rem 0 3.4rem;text-align:center;background:linear-gradient(160deg,var(--ink) 0%,var(--ink2) 100%);position:relative;overflow:hidden}
.hero-centered-inner{max-width:40rem;margin:0 auto;display:flex;flex-direction:column;align-items:center;position:relative;z-index:1}
.hero-drip{position:absolute;top:-1.5rem;left:50%;transform:translateX(-50%);pointer-events:none;z-index:0}
.hero-centered .eyebrow{justify-content:center;color:var(--copper-light)}
.hero-centered h1{font-size:clamp(2.1rem,7vw,3.4rem);line-height:1.06;color:#fff}
.text-accent{color:var(--copper-light)}
.hero-lead-center{max-width:32rem;margin:0 auto 1.6rem;text-align:center;font-size:1.12rem;color:rgba(255,255,255,.88)}
.hero-lead-center strong{color:#fff}
.cta-panel-center{margin:0 auto}
.cta-panel-center .cta-meta{text-align:center;color:rgba(255,255,255,.75)}
.hero-centered .btn-wa-quiet{border-color:rgba(255,255,255,.55);color:#fff}
.hero-centered .cta-badges span{color:var(--copper-light)}

/* Gallery */
.gallery-scroll{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:.6rem;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.gallery-item{flex:0 0 76%;scroll-snap-align:start;background:var(--paper2);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.gallery-item img{width:100%;height:260px;object-fit:contain;display:block;background:var(--ink2)}
.gallery-caption{margin:0;padding:.7rem .85rem;font-size:.85rem;color:var(--text-soft)}


/* Trust bar */
.trust-bar{background:var(--ink2)}
.trust-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.4rem;padding:1.6rem 1.25rem}
.trust-item{display:flex;align-items:center;gap:.75rem}
.trust-num{width:34px;height:34px;border-radius:50%;background:rgba(226,164,104,.14);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.trust-item strong{display:block;color:#fff;font-size:1.15rem;font-weight:700}
.trust-item span{display:block;color:var(--text-onink-soft);font-size:.78rem}

/* Mid CTA */
section.mid-cta{background:var(--ink)}
.mid-cta-inner{display:flex;flex-direction:column;gap:1rem;padding:1.6rem 1.25rem}
.mid-cta-title{color:#fff;font-weight:700;font-size:1.05rem;margin:0}
.mid-cta-sub{color:var(--text-onink-soft);font-size:.85rem;margin:.2rem 0 0}
.btn-cta-inline{display:flex;align-items:center;justify-content:center;background:var(--copper);color:#fff;border-radius:var(--radius);padding:.9rem 1.5rem;min-height:52px}
.btn-cta-inline .btn-phone{font-size:1.3rem}

/* Sections */
section.section{padding:2.6rem 0}
section.section-compact{padding:2.2rem 0}
section.section-alt{background:var(--paper-alt)}
.section-title{display:flex;align-items:center;gap:.6rem;font-size:1.35rem;margin-bottom:1.2rem}
.section-title-ico{width:34px;height:34px;border-radius:9px;background:rgba(176,105,47,.12);color:var(--copper-dark);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.text-center{text-align:center}
.mt{margin-top:1.6rem}
.link-more{color:var(--copper-dark);font-weight:600}
.link-accent{color:var(--copper-dark);font-weight:600}

/* Content blocks (service pages) */
.content-block{max-width:44rem}
.content-block p{color:var(--text-soft)}
.content-block strong{color:var(--ink)}
.benefit-list{list-style:none;margin:0 0 1.4rem;padding:0;display:flex;flex-direction:column;gap:.65rem}
.benefit-list li{display:flex;align-items:flex-start;gap:.7rem;color:var(--text-soft)}
.benefit-list li::before{content:'';width:20px;height:20px;margin-top:.15rem;flex-shrink:0;background:var(--copper);border-radius:50%;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");background-size:12px;background-repeat:no-repeat;background-position:center}
.steps{display:flex;flex-direction:column;gap:1rem;margin:0 0 1rem}
.step{display:flex;gap:1rem;align-items:flex-start}
.step-num{width:32px;height:32px;border-radius:50%;background:var(--ink);color:#fff;font-family:var(--font-head);font-weight:700;font-size:.9rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.step-body strong{display:block;color:var(--ink);margin-bottom:.15rem}
.step-body span{color:var(--text-soft);font-size:.92rem}

/* Cards */
.card-grid{display:grid;grid-template-columns:1fr;gap:.85rem}
.card-link{display:flex;align-items:center;gap:.9rem;background:var(--paper2);border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.1rem}
section.section-alt .card-link{background:var(--paper2)}
.card-link-icon{width:42px;height:42px;border-radius:10px;background:var(--ink);color:var(--text-onink);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.card-mono{font-family:var(--font-body);font-weight:700;font-size:.85rem;letter-spacing:.02em}
.card-link-body{flex:1;display:flex;flex-direction:column;gap:.15rem}
.card-link-title{font-weight:700;color:var(--ink);font-size:1rem}
.card-link-desc{color:var(--text-soft);font-size:.85rem}
.card-link-arrow{color:var(--copper-dark);font-weight:700;flex-shrink:0}

/* FAQ */
.faq-list{display:flex;flex-direction:column;gap:.6rem}
details.faq{background:var(--paper2);border:1px solid var(--line);border-radius:var(--radius);padding:.2rem .2rem}
details.faq summary{list-style:none;display:flex;align-items:center;gap:.75rem;padding:.85rem .9rem;cursor:pointer;font-weight:600;color:var(--ink)}
details.faq summary::-webkit-details-marker{display:none}
details.faq summary::after{content:'+';margin-left:auto;font-size:1.3rem;color:var(--copper-dark);font-weight:400}
details.faq[open] summary::after{content:'\2212'}
.faq-ico{width:30px;height:30px;border-radius:8px;background:rgba(176,105,47,.12);color:var(--copper-dark);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.faq-a{padding:0 .9rem 1rem 3.5rem}
.faq-a p{margin:0;color:var(--text-soft);font-size:.92rem}

/* Callback form */
section.section-callback{background:var(--paper-alt)}
.section-intro{color:var(--text-soft);margin:0 0 1.4rem}
form.callback-form{display:flex;flex-direction:column;gap:.2rem;background:var(--paper2);border:1px solid var(--line);border-radius:20px;padding:1.4rem}
.field-label{font-size:.82rem;font-weight:600;color:var(--ink);margin:.7rem 0 .3rem}
form.callback-form input[type=tel],form.callback-form input[type=text]{width:100%;border:1.5px solid var(--line);border-radius:10px;padding:.75rem .85rem;font-size:1rem;font-family:inherit;background:var(--paper2);color:var(--text)}
form.callback-form input:focus{outline:2px solid var(--copper);outline-offset:1px}
.btn-callback{margin-top:1rem;background:var(--ink);color:#fff;border:0;border-radius:var(--radius);padding:.95rem;font-size:1rem;font-weight:700;cursor:pointer;min-height:52px}
.form-ok{margin-top:.8rem;color:var(--water);font-weight:600}

section.gbp-row{padding:0 0 2.6rem}
.gbp-link{display:inline-flex;align-items:center;gap:.6rem;color:var(--ink);font-weight:700;border-radius:99px;padding:.65rem 1.3rem .65rem .7rem;background:linear-gradient(#fff,#fff) padding-box,conic-gradient(from 90deg,#4285F4 0deg 90deg,#34A853 90deg 180deg,#FBBC05 180deg 270deg,#EA4335 270deg 360deg) border-box;border:2.5px solid transparent}
.gbp-link-g{width:22px;height:22px;flex-shrink:0}

section.cta-section{background:var(--ink);padding:2.8rem 0;position:relative;overflow:hidden}
section.cta-section .container{position:relative;z-index:1}
section.cta-section .section-title{color:#fff}
section.cta-section .section-intro{color:var(--text-onink-soft)}
section.cta-section .cta-panel{margin:0 auto}
section.cta-section .btn-wa-quiet{border-color:rgba(255,255,255,.35);color:#fff}
section.cta-section .cta-trust,section.cta-section .cta-meta{color:var(--text-onink-soft)}

/* Footer */
footer.site-footer{background:var(--ink2);padding:2.2rem 0 1.2rem}
.footer-grid{display:flex;flex-direction:column;gap:1.6rem}
.footer-brand{display:flex;align-items:center;gap:.6rem;margin-bottom:.5rem}
.footer-brand img{width:34px;height:34px;border-radius:8px}
.footer-brand span{color:#fff;font-weight:700}
.footer-tel a{color:var(--copper-light);font-weight:700;font-size:1.1rem}
.footer-legal{color:var(--text-onink-soft);font-size:.82rem;margin:.4rem 0 0}
.footer-nav{display:flex;flex-wrap:wrap;gap:1rem}
.footer-nav a{color:var(--text-onink-soft);font-size:.88rem}
.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.6rem;padding-top:1.2rem;margin-top:1.4rem;border-top:1px solid var(--line-dark)}
.footer-copy,.footer-credit{color:var(--text-onink-soft);font-size:.78rem;margin:0}
.footer-credit-brand{color:var(--text-onink-soft);text-decoration:underline}

.float-call{display:none!important}
.sticky-mobile{position:fixed;left:0;right:0;bottom:0;z-index:40;padding:.6rem;background:var(--paper2);border-top:1px solid var(--line)}
.sticky-call{display:flex;flex-direction:column;align-items:center;background:var(--copper);color:#fff;border-radius:12px;padding:.7rem;min-height:52px;justify-content:center}
.sticky-call-label{font-size:.75rem;opacity:.9}
.sticky-call-num{font-family:var(--font-body);font-weight:700;font-size:1.2rem}


main{padding-bottom:74px}

@media(min-width:860px){
  .hero-grid{grid-template-columns:1.05fr .95fr;gap:3rem}
  .hero-simple-grid{grid-template-columns:1.3fr .7fr;gap:2.5rem}
  .cta-panel{flex-direction:row;flex-wrap:wrap;max-width:none}
  .btn-call-hero{flex:1 1 15rem}
  .btn-wa-quiet{flex:1 1 12rem}
  .cta-trust,.cta-meta{width:100%}
  .trust-grid{grid-template-columns:repeat(4,1fr)}
  .mid-cta-inner{flex-direction:row;align-items:center;justify-content:space-between;padding:1.6rem 1.25rem}
  .card-grid.cols-2{grid-template-columns:1fr 1fr}
  .gallery-item{flex:0 0 31%}
  main{padding-bottom:0}
  .sticky-mobile{display:none}
}

/* ============ HOME v2 — fixed nav, animated hero ============ */
body.home-v2{padding-top:72px}
.nav2{position:fixed;top:0;left:0;right:0;z-index:500;height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 1.25rem;background:rgba(5,12,24,.97);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.08)}
.nav2-logo{display:flex;align-items:center;gap:.55rem;flex-shrink:0}
.nav2-logo img{height:60px;width:60px;object-fit:contain}
.nav2-logo span{font-family:var(--font-head);color:#fff;font-weight:800;font-size:1.05rem;letter-spacing:.01em}
.nav2-links{display:none;align-items:center;gap:1.8rem;list-style:none}
.nav2-links a{font-size:.7rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.6)}
.nav2-cta{background:var(--copper);color:#fff!important;padding:.5rem 1.1rem;border-radius:2px;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.hbg2{display:flex;flex-direction:column;gap:5px;background:none;border:0;padding:6px;cursor:pointer}
.hbg2 span{display:block;width:22px;height:2px;background:rgba(255,255,255,.85)}
.nav2-mobile{display:none;position:fixed;top:72px;left:0;right:0;background:rgba(5,12,24,.98);padding:1.2rem 1.25rem;flex-direction:column;gap:1rem;z-index:499;border-bottom:1px solid rgba(255,255,255,.08)}
.nav2-mobile.open{display:flex}
.nav2-mobile a{color:#fff;font-size:.95rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}

section.hero2{position:relative;min-height:92vh;display:flex;align-items:center;overflow:hidden;background:#030912}
.hero2-glow{position:absolute;inset:0;background:radial-gradient(ellipse 65% 55% at 62% 32%,rgba(18,89,176,.22) 0%,transparent 70%)}
.hero2-svg-wrap{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;opacity:.85}
.hero2-fade{position:absolute;bottom:0;left:0;right:0;height:60%;background:linear-gradient(to top,rgba(3,9,18,1) 0%,rgba(3,9,18,.9) 40%,transparent 100%)}
.hero2-content{position:relative;z-index:2;width:100%;padding:2.2rem 1.25rem 2.4rem;display:flex;flex-direction:column;gap:1.6rem}
.hero2-badge{display:inline-flex;align-items:center;gap:.55rem;font-size:.66rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.hero2-badge::before{content:'';width:20px;height:1px;background:var(--copper-light)}
.hero2-h1{color:#fff;font-size:clamp(2.3rem,10vw,3.3rem)}
.hero2-h1 em{color:var(--copper-light);font-style:normal;display:block}
.hero2-tagline{font-size:.95rem;line-height:1.75;color:rgba(255,255,255,.55);font-weight:300;max-width:34rem}
.hero2-btns{display:flex;flex-wrap:wrap;gap:.7rem}
.hbtn{display:inline-flex;align-items:center;gap:.5rem;padding:.85rem 1.5rem;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;border-radius:2px}
.hbtn-solid{background:var(--copper);color:#fff}
.hbtn-ghost{background:transparent;color:rgba(255,255,255,.75);border:1.5px solid rgba(255,255,255,.25)}
.hero2-contact{background:rgba(8,18,35,.85);border:1px solid rgba(255,255,255,.1);border-radius:6px;padding:1.5rem 1.4rem;max-width:24rem}
.hc-label{font-size:.62rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.32);margin-bottom:.4rem}
.hc-phone{display:block;font-family:var(--font-head);font-size:1.9rem;font-weight:800;color:#fff;margin-bottom:.8rem;letter-spacing:.01em}
.hc-avail{display:flex;align-items:center;gap:.45rem;font-size:.66rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--copper-light);margin-bottom:.9rem}
.hc-sep{height:1px;background:rgba(255,255,255,.08);margin:0 0 .9rem}
.hc-wa{display:flex;align-items:center;justify-content:center;gap:.5rem;background:#25D366;color:#fff;padding:.75rem 1rem;border-radius:3px;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}

.ticker{background:#020810;height:44px;display:flex;align-items:center;overflow:hidden}
.ticker-track{display:flex;align-items:center;animation:ticker 28s linear infinite;white-space:nowrap}
@keyframes ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.t-item{display:inline-flex;align-items:center;gap:.6rem;font-size:.62rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:rgba(255,255,255,.35);padding:0 1.4rem}
.t-dot{color:var(--copper-light)}

section.sec2{padding:3.4rem 1.25rem}
section.sec2 > *{max-width:1120px;margin-left:auto;margin-right:auto}
.sec2-ice{background:var(--paper-alt)}
.lbl2{display:inline-flex;align-items:center;gap:.5rem;font-size:.66rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--copper);margin-bottom:.6rem}
.lbl2::before{content:'';width:16px;height:1.5px;background:var(--copper)}
.srv2-top p{color:var(--text-soft);font-size:.9rem;line-height:1.8;max-width:38rem}
.srv2-grid{display:grid;grid-template-columns:1fr;gap:1.5px;background:var(--line);margin-top:1.8rem;border:1px solid var(--line)}
.sc2{background:#fff;padding:1.8rem 1.5rem;position:relative;display:flex;flex-direction:column;height:100%}
.sc2-num{font-family:var(--font-head);font-size:2.6rem;font-weight:900;color:rgba(18,89,176,.08);line-height:1;margin-bottom:.4rem}
.sc2-ico{width:38px;height:38px;color:var(--ink);margin-bottom:.9rem;flex-shrink:0}
.sc2-title{font-family:var(--font-head);font-size:1.05rem;font-weight:800;text-transform:uppercase;letter-spacing:.02em;color:var(--ink);margin-bottom:.4rem}
.sc2-desc{font-size:.82rem;color:var(--text-soft);line-height:1.7;margin-bottom:.9rem;flex:1}
.sc2-link{font-size:.72rem;font-weight:700;color:var(--copper);text-transform:uppercase;letter-spacing:.05em}

.proc-grid{display:grid;grid-template-columns:1fr;border:1px solid var(--line);margin-top:1.8rem}
.ps2{padding:1.6rem 1.4rem;border-top:1px solid var(--line)}
.ps2:first-child{border-top:none}
.ps2-n{font-family:var(--font-head);font-size:2.4rem;font-weight:900;color:rgba(18,89,176,.1);line-height:1;margin-bottom:.5rem}
.ps2-title{font-family:var(--font-head);font-size:.95rem;font-weight:800;text-transform:uppercase;letter-spacing:.03em;color:var(--ink);margin-bottom:.3rem}
.ps2-desc{font-size:.8rem;color:var(--text-soft);line-height:1.7}

section.chi2{background:var(--ink2)}
.chi2-inner{padding:2.6rem 1.25rem}
.chi2-inner .lbl2{color:rgba(255,255,255,.4)}
.chi2-inner .lbl2::before{background:rgba(255,255,255,.25)}
.chi2-inner h2{color:#fff}
.chi2-body{font-size:.88rem;line-height:1.85;color:rgba(255,255,255,.55);margin:1.1rem 0 1.4rem}
.chi2-list{list-style:none;display:flex;flex-direction:column;gap:.6rem;margin:0 0 1.6rem;padding:0}
.chi2-list li{display:flex;align-items:flex-start;gap:.7rem;font-size:.82rem;color:rgba(255,255,255,.7)}
.chk-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.7rem}
.chk-list li{display:flex;align-items:flex-start;gap:.7rem;font-size:.9rem;color:var(--text-soft)}
.tick2{flex-shrink:0;width:16px;height:16px;background:var(--copper);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-top:2px}
.tick2 svg{width:8px;height:8px}
.chi2-stats{display:grid;grid-template-columns:1fr 1fr;gap:1.5px;background:rgba(255,255,255,.08)}
.cn2{background:var(--ink2);padding:1.6rem 1rem;text-align:center;border:1px solid rgba(255,255,255,.06)}
.cn2:first-child{background:var(--copper);border-color:var(--copper)}
.cn2-v{font-family:var(--font-head);font-size:2rem;font-weight:900;color:#fff;line-height:1}
.cn2-l{font-size:.6rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.45)}
.cn2:first-child .cn2-l{color:rgba(255,255,255,.75)}

.zone2-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5px;background:var(--line);margin-top:1.8rem;border:1px solid var(--line)}
.zone2-grid.zone2-c1{grid-template-columns:1fr}
.zone2-grid.zone2-c3{grid-template-columns:repeat(3,1fr)}
.zone2-grid.zone2-c4{grid-template-columns:repeat(2,1fr)}
.zone2-grid.zone2-c6{grid-template-columns:repeat(2,1fr)}
.zone2-grid.zone2-c8{grid-template-columns:repeat(2,1fr)}
.zone2-grid.zone2-c9{grid-template-columns:repeat(3,1fr)}
.zone2-grid.zone2-c12{grid-template-columns:repeat(2,1fr)}
.zone2-grid.zone2-c16{grid-template-columns:repeat(2,1fr)}
.zc2{background:#fff;padding:1.1rem 1rem;display:flex;align-items:center;gap:.7rem;min-height:100%}
.zdot2{width:7px;height:7px;border-radius:50%;background:var(--copper);flex-shrink:0}
.zname2{font-family:var(--font-head);font-size:.92rem;font-weight:800;text-transform:uppercase;letter-spacing:.02em;color:var(--ink)}

.gar2-grid{display:grid;grid-template-columns:1fr;gap:1.5px;background:var(--line);margin-top:1.8rem;border:1px solid var(--line)}
.gi2{background:#fff;padding:1.4rem 1.3rem;display:flex;gap:.9rem;align-items:flex-start}
.gi2-ico{flex-shrink:0;width:36px;height:36px;background:var(--paper-alt);border-radius:2px;display:flex;align-items:center;justify-content:center;color:var(--copper)}
.gi2-title{font-family:var(--font-head);font-size:.9rem;font-weight:800;text-transform:uppercase;letter-spacing:.03em;color:var(--ink);margin-bottom:.2rem}
.gi2-desc{font-size:.78rem;color:var(--text-soft);line-height:1.7}

section.contact2{background:var(--ink)}
.ct2-l{padding:2.6rem 1.25rem 1.6rem}
.ct2-lbl{color:rgba(255,255,255,.35)}
.ct2-lbl::before{background:rgba(255,255,255,.25)}
.ct2-h{color:#fff}
.ct2-h em{color:var(--copper-light);font-style:normal}
.ct2-sub{font-size:.85rem;color:rgba(255,255,255,.5);line-height:1.8;margin-bottom:1.6rem}
.ct2-row{padding:1rem 0;border-top:1px solid rgba(255,255,255,.08)}
.ct2-rlbl{font-size:.6rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.3);margin-bottom:.2rem}
.ct2-rval{font-family:var(--font-head);font-size:1.3rem;font-weight:700;color:#fff;letter-spacing:.01em}
.ct2-rval.phone{font-size:1.9rem;color:var(--copper-light)}
.ct2-btns{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1.4rem}
.btn-w2{background:#fff;color:var(--ink);padding:.8rem 1.4rem;border-radius:2px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.btn-wa2{background:#25D366;color:#fff;padding:.8rem 1.4rem;border-radius:2px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;display:inline-flex;align-items:center;gap:.5rem}
.ct2-r{background:var(--ink2);padding:2rem 1.25rem 2.6rem}
.ct2-r .form-title{font-family:var(--font-head);font-size:1.4rem;font-weight:800;text-transform:uppercase;color:#fff;margin-bottom:.3rem}
.ct2-r .form-sub{font-size:.78rem;color:rgba(255,255,255,.4);margin-bottom:1.4rem}
.ct2-r form.callback-form{background:transparent;border:none;padding:0}
.ct2-r .field-label{color:rgba(255,255,255,.55)}
.ct2-r input[type=tel],.ct2-r input[type=text]{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.15);color:#fff}
.ct2-r input::placeholder{color:rgba(255,255,255,.25)}
.ct2-r label[for=privacy-cb]{color:rgba(255,255,255,.4)}
.ct2-r .btn-callback{background:var(--copper)}

.foot2{background:#020810;padding:1.6rem 1.25rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.8rem}
.foot2-logo{display:flex;align-items:center;gap:.5rem}
.foot2-logo img{height:28px;width:28px}
.foot2-logo span{color:rgba(255,255,255,.55);font-size:.78rem;font-weight:600}
.foot2 p{font-size:.68rem;color:#1a2e42;margin:0}
.foot2-links{display:flex;gap:1.2rem}
.foot2-links a{font-size:.68rem;color:#1a2e42}

.mbar2{display:block;position:fixed;bottom:0;left:0;right:0;z-index:400;background:var(--copper);color:#fff;text-align:center;padding:.85rem;font-size:.78rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}

@media(min-width:681px){
  .nav2-links{display:flex}
  .hbg2{display:none}
  .hero2-content{padding:2.5rem 5vw 4vw;flex-direction:row;align-items:flex-end;justify-content:space-between;gap:3vw}
  .hero2-left{max-width:640px}
  .srv2-grid{grid-template-columns:1fr 1fr}
  .proc-grid{grid-template-columns:repeat(3,1fr)}
  .ps2{border-top:none;border-left:1px solid var(--line)}
  .ps2:first-child{border-left:none}
  .zone2-grid.zone2-c4{grid-template-columns:repeat(2,1fr)}
  .zone2-grid.zone2-c6{grid-template-columns:repeat(3,1fr)}
  .zone2-grid.zone2-c8{grid-template-columns:repeat(4,1fr)}
  .zone2-grid.zone2-c9{grid-template-columns:repeat(3,1fr)}
  .zone2-grid.zone2-c12{grid-template-columns:repeat(4,1fr)}
  .zone2-grid.zone2-c16{grid-template-columns:repeat(4,1fr)}
  .gar2-grid{grid-template-columns:repeat(3,1fr)}
  .chi2-inner{display:grid;grid-template-columns:1fr 1fr;padding:0}
  .chi2-l{padding:3.4rem 2.5rem;border-right:1px solid rgba(255,255,255,.08)}
  .chi2-stats{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}
  section.contact2{display:grid;grid-template-columns:1fr 1fr}
  .ct2-l{padding:3.4rem 2.5rem;border-right:1px solid rgba(255,255,255,.08)}
  .ct2-r{padding:3.4rem 2.5rem}
  .mbar2{display:none}
  body.home-v2{padding-top:72px}
}
@media(min-width:960px){
  section.hero2{min-height:88vh}
  .sec2{padding:5.5rem 2.5rem}
}

/* ============ Professional footer (4 columns) ============ */
footer.foot-pro{background:var(--ink2);padding:3rem 1.25rem 1.5rem;color:rgba(255,255,255,.7)}
.foot-pro-grid{display:grid;grid-template-columns:1fr;gap:2.2rem;max-width:1120px;margin:0 auto}
.foot-pro-brand{display:flex;align-items:center;gap:.6rem;margin-bottom:.8rem}
.foot-pro-brand img{width:72px;height:72px}
.foot-pro-brand-text strong{display:block;font-family:var(--font-head);font-size:1.15rem;font-weight:800;color:#fff;letter-spacing:.02em}
.foot-pro-brand-text span{display:block;font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.4)}
.foot-pro-desc{font-size:.82rem;line-height:1.7;color:rgba(255,255,255,.5);margin-bottom:1rem;max-width:24rem}
.foot-pro-badges{display:flex;gap:.6rem}
.foot-pro-badge{width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.7)}
.foot-pro-col h4{font-size:.68rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:#fff;margin:0 0 1rem}
.foot-pro-col ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.6rem}
.foot-pro-col a{font-size:.82rem;color:rgba(255,255,255,.55)}
.foot-pro-contact li{display:flex;align-items:flex-start;gap:.55rem;font-size:.82rem;color:rgba(255,255,255,.6)}
.foot-pro-contact svg{flex-shrink:0;margin-top:.15rem;color:var(--copper-light)}
.foot-pro-contact a.phone-link{font-family:var(--font-head);font-size:1.1rem;font-weight:700;color:var(--copper-light)}
.foot-pro-contact a.wa-link{color:#25D366;font-weight:600}
.foot-pro-bottom{max-width:1120px;margin:2rem auto 0;padding-top:1.4rem;border-top:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;gap:.6rem;font-size:.72rem;color:rgba(255,255,255,.35)}
.foot-pro-bottom a{color:rgba(255,255,255,.5)}
.foot-pro-credit a{color:var(--copper-light);font-weight:700}
.foot-pro-legal-links{display:flex;gap:1rem;flex-wrap:wrap}

.float-call-pill{display:none;position:fixed;bottom:1.5rem;right:1.5rem;z-index:410;align-items:center;gap:.5rem;background:var(--copper);color:#fff;padding:.85rem 1.3rem;border-radius:99px;box-shadow:0 10px 26px -8px rgba(18,89,176,.55);font-weight:700;font-size:.85rem}
.float-call-pill svg{flex-shrink:0}

@media(min-width:681px){
  .foot-pro-grid{grid-template-columns:1.3fr 1fr 1fr 1fr}
  .float-call-pill{display:flex}
}


@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

:root{
  --cc-font-family: var(--font-body);
  --cc-btn-primary-bg: var(--copper);
  --cc-btn-primary-border-color: var(--copper);
  --cc-btn-primary-hover-bg: var(--ink);
  --cc-btn-primary-hover-border-color: var(--ink);
  --cc-btn-secondary-bg: #fff;
  --cc-btn-secondary-border-color: var(--line);
  --cc-btn-secondary-hover-bg: var(--paper-alt);
  --cc-bg: #fff;
  --cc-text: var(--ink);
  --cc-toggle-on-bg: var(--copper);
}
/* ===== BIP fix 24/10/2026 — shared additions (appended to every page CSS by scripts/bip_build.py) ===== */
.seo-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
/* header phone always visible on mobile (desktop shows .nav2-cta) */
.nav2-phone{display:inline-flex;align-items:center;gap:.35rem;background:var(--copper,#1259b0);color:#fff!important;padding:.5rem .8rem;border-radius:4px;font-size:.78rem;font-weight:700;letter-spacing:.04em;flex-shrink:0;position:relative;z-index:2;white-space:nowrap}
@media(min-width:681px){.nav2-phone{display:none}}
@media(max-width:359px){.nav2-logo span{display:none}}
/* above-the-fold cost line: small badge under the CTA buttons */
.hero-cta-note{margin:.9rem 0 0}
.cost-badge{display:inline-flex;align-items:center;gap:.45rem;padding:.32rem .75rem;border:1px solid rgba(255,255,255,.18);border-radius:999px;font-size:.74rem;line-height:1.35;color:rgba(255,255,255,.72);letter-spacing:.01em}
.cost-badge:before{content:"";flex:0 0 6px;width:6px;height:6px;border-radius:50%;background:var(--copper,#1259b0)}
.hero-disc{margin:.6rem 0 0;font-size:.76rem;line-height:1.45;color:rgba(255,255,255,.58);max-width:34rem}
.cn2-v.cn2-long{font-size:1.15rem;line-height:1.1}
/* trust / disclaimer / safety boxes */
.note-box{margin:1rem 0 0;padding:.85rem 1rem;border-radius:8px;font-size:.88rem;line-height:1.55;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.22);color:rgba(255,255,255,.9);max-width:40rem}
.note-box strong{color:#fff}
.safety-box{margin:1.2rem 0;padding:1rem 1.1rem;border-radius:8px;background:#fff4e5;border:2px solid #d97706;color:#3b2300;font-size:.95rem;line-height:1.6;max-width:44rem}
.safety-box strong{color:#7c2d12}
.safety-box a{color:#7c2d12;font-weight:700;text-decoration:underline}
.hero2 .safety-box{color:#3b2300}
.sticky-call-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
body.home-v2{padding-bottom:84px}
@media(min-width:681px){body.home-v2{padding-bottom:0}}
.btn-cc-prefs{background:none;border:0;padding:0;color:inherit;font:inherit;text-decoration:underline;cursor:pointer}
picture{display:contents}

/* self-hosted web fonts (preloaded in <head>) */
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:800;font-display:swap;src:url(/assets/fonts/barlow-condensed-800-latin.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(/assets/fonts/inter-latin.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}
/* CLS: metric-matched fallback fonts so the hero does not jump when web fonts swap in */
@font-face{font-family:"Inter Fallback";src:local("Arial"),local("Liberation Sans"),local("Helvetica");size-adjust:107.4%;ascent-override:90.2%;descent-override:22.5%;line-gap-override:0%}
@font-face{font-family:"Barlow Condensed Fallback";src:local("Arial Narrow"),local("Liberation Sans Narrow"),local("Arial");size-adjust:78%;ascent-override:118%;descent-override:30%;line-gap-override:0%}
:root{--font-body:'Inter','Inter Fallback',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;--font-head:'Barlow Condensed','Barlow Condensed Fallback',sans-serif}
/* cookie banner: compact bar, always above the sticky call bar */
#cc-main{z-index:2147483000!important}
#cc-main .cm--bar .cm__desc{font-size:.8rem;line-height:1.45}
@media(max-width:680px){
#cc-main .cm--bar .cm__texts{padding:.85rem 1rem .2rem}
#cc-main .cm--bar .cm__title{font-size:.9rem;padding:0 0 .3rem}
#cc-main .cm--bar .cm__desc{padding:0;max-height:none}
#cc-main .cm--bar .cm__btns{padding:.6rem 1rem .7rem;border-top:0}
#cc-main .cm--bar .cm__btns{max-width:none!important}
#cc-main .cm--bar .cm__btn-group{display:grid!important;grid-auto-flow:column!important;grid-auto-columns:1fr!important;gap:.5rem}
#cc-main .cm--bar .cm__btn-group+.cm__btn-group{margin-top:.5rem}
#cc-main .cm--bar .cm__btn{margin:0!important;min-width:0!important;min-height:40px;padding:.55rem .5rem!important}
#cc-main .cm--bar .cm__footer{padding:.35rem 1rem .5rem}}

/* a11y contrast (t39u-B): testo secondario leggermente più scuro, ticker più leggibile */
:root{--text-soft:#557089}
.t-item{color:rgba(255,255,255,.5)}

/* 25/10/2026: cookie bar compatta */
#cc-main .cm--bar .cm__footer{display:none!important}
#cc-main .cm--bar .cm__desc a{color:inherit;text-decoration:underline}
@media(max-width:680px){
/* 25/10/2026 (2): barra compatta IN BASSO, appoggiata subito SOPRA la barra "Chiama" (altezza reale via --gala-sticky-h), mai sopra i bottoni chiamata */
:root{--gala-sticky-h:0px}
:root:has(.sticky-mobile){--gala-sticky-h:76px}
#cc-main .cm--bar.cm--bottom{top:auto!important;bottom:calc(var(--gala-sticky-h) + 6px)!important;left:8px!important;right:8px!important;width:auto!important;max-width:none!important;border-radius:12px!important;box-shadow:0 6px 22px rgba(10,25,45,.22)!important;border:1px solid rgba(10,25,45,.08)!important}
#cc-main .cm--bar .cm__body{flex-direction:row!important;align-items:center!important;max-width:none!important}
#cc-main .cm--bar .cm__texts{flex:1 1 auto!important;min-width:0;padding:.45rem .2rem .45rem .75rem!important}
#cc-main .cm--bar .cm__title{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;padding:0!important;margin:0!important;white-space:nowrap}
#cc-main .cm--bar .cm__desc{font-size:.7rem!important;line-height:1.3!important;padding:0!important;max-height:none!important}
#cc-main .cm--bar .cm__btns{flex:0 0 auto!important;display:flex!important;flex-direction:row!important;align-items:center;padding:.4rem .5rem!important;border-top:0!important;border-left:0!important;width:auto!important;max-width:none!important}
#cc-main .cm--bar .cm__btn-group{display:flex!important;flex-direction:row!important;align-items:stretch!important;gap:.35rem}
#cc-main .cm--bar .cm__btn-group+.cm__btn-group{display:none!important}
#cc-main .cm--bar .cm__btn{margin:0!important;min-width:4.6rem!important;width:auto!important;min-height:34px;padding:.3rem .6rem!important;font-size:.74rem!important;border-radius:8px!important}
}
/* 27/10/2026: phones - the secondary hero number card (same number as header, hero button and sticky bar) sat half-hidden under the cookie bar + sticky Chiama bar; hidden on phones only (hero text stays top-aligned as before), desktop unchanged */
@media(max-width:680px){.hero2-contact{display:none!important}section.hero2{align-items:flex-start}}
