/* Homepage: stesso linguaggio tecnico della pagina Sicurezza, stili isolati. */
.home-page{background:var(--ink);color:var(--ice);overflow-wrap:break-word}
.home-page p{color:#c5d0d7}
.home-page .eyebrow{color:#c5d0d7;font-size:10px;letter-spacing:1.5px}
.home-page .hero{background:linear-gradient(115deg,#151b21 35%,#1e2b33);isolation:isolate;overflow:hidden}
.home-page .hero:before{inset:0;width:auto;height:auto;z-index:-1;background-image:linear-gradient(#aebdc508 1px,transparent 1px),linear-gradient(90deg,#aebdc508 1px,transparent 1px);background-size:64px 64px;pointer-events:none}
.home-page .hero-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:40px;align-items:center}
.home-page .hero-copy{min-width:0;padding:54px 0 42px}
.home-page .hero h1{font-size:clamp(44px,5.3vw,76px);line-height:1.02;letter-spacing:-3px;margin-bottom:28px}
.home-page .hero h1>span{color:var(--orange)}
.home-page .hero .eyebrow{font-size:10px;letter-spacing:.8px;flex-wrap:wrap;row-gap:8px}
.home-page .hero-description{font-size:17px;line-height:1.8;max-width:530px;color:#c5d0d7;margin-bottom:28px}
.home-page .hero-call{min-width:0;max-width:100%;gap:18px;padding:18px 24px;box-shadow:none;transition:none}
.home-page .hero-call:hover{transform:none}
.home-page .hero-call small{font-size:9px;line-height:1.5}
.home-page .hero-call strong{font-size:29px;line-height:1.2}
.home-page .hero-note p{font-size:12px;line-height:1.8;color:#bdcbd2}
.home-page .hero-note>span{color:var(--orange)}
.home-page .hero-visual{min-width:0;align-self:center;padding:0;margin:0;display:block;isolation:isolate}
.home-page .hero-visual:before{inset:-5%;background:radial-gradient(ellipse,#34465055,transparent 70%)}
.home-page .hero-approved-visual{border:0;background:transparent;margin:24px 0}
.home-page .hero-visual .hero-approved-visual .exterior-detail{width:100%;height:auto;margin:0;max-width:none;max-height:none;object-fit:contain}
.home-page .hero-visual .technical-label{font-size:9px;line-height:1.7;color:#bdcbd2;border-color:#aebdc530;gap:12px}
.home-page .hero-visual .visual-bottom{font-size:9px;line-height:1.8;color:#bdcbd2;gap:16px}
.home-page .hero-bottom{border-color:#aebdc530;font-size:9px;color:#bdcbd2;padding-block:20px}
.home-page .assurance{background:#22313b;border-block:1px solid #aebdc525}
.home-page .assurance p{color:var(--ice);font-size:13px;line-height:1.6;border-color:#aebdc530;gap:14px}
.home-page .assurance p>span{color:var(--orange)}
.home-page .section{padding-block:64px}
.home-page h2{font-size:clamp(30px,3.3vw,44px);line-height:1.12;letter-spacing:-1.4px}
.home-page .services{background:linear-gradient(#1b252c,var(--ink))}
.home-page .section-heading{gap:45px;align-items:end;margin-bottom:32px}
.home-page .section-heading>p{font-size:16px;line-height:1.85;color:#c5d0d7;max-width:420px}
.home-page .service-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.home-page .service-card,.home-page .service-card:first-child{min-width:0;background:#202c34;color:var(--ice);border:1px solid #8295a23d;border-top:2px solid var(--orange);padding:28px 22px;transition:none}
.home-page .service-card:before{border-color:#e86d2f88}
.home-page .service-card:after{border-color:#e86d2f88}
.home-page .service-card:hover,.home-page .service-card:first-child:hover{background:#263640;border-color:var(--orange)}
.home-page .service-card .service-top{margin-bottom:26px;color:var(--orange)}
.home-page .service-card .service-top svg{width:44px;height:44px;flex-shrink:0;color:var(--orange);stroke-width:1.5}
.home-page .service-card .service-top>span{font-size:11px;color:#bdcbd2}
.home-page .service-card h3{font-size:22px;line-height:1.25;letter-spacing:-.5px;margin-bottom:18px}
.home-page .service-card p,.home-page .service-card:first-child p{font-size:15px;line-height:1.8;color:#c5d0d7;max-width:none;margin-bottom:26px}
.home-page .service-card .service-link{font-size:12px;line-height:1.6;border-color:#aebdc530;padding-top:18px}
.home-page .service-card .service-link>span{color:var(--orange)}
.home-page .services .service-card-judicial{grid-template-columns:90px minmax(0,1fr) 215px;gap:30px;margin-top:18px}
.home-page .services .service-card-judicial .service-top{margin:0;align-self:stretch}
.home-page .services .service-card-judicial p{margin:0}
.home-page .services .service-card-judicial .service-link{margin:0}
.home-page .about-section{padding-block:64px;background:var(--steel);border-block:1px solid #ffffff20}
.home-page .about-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:65px;align-items:center}
.home-page .about-grid>div{min-width:0}
.home-page .about-mark{min-height:0;border:1px solid #aebdc540;background:none}
.home-page .about-mark:before,.home-page .about-mark:after{content:none}
.home-page .about-grid h2{font-size:clamp(30px,3.3vw,44px);line-height:1.12}
.home-page .about-grid p:not(.eyebrow){font-size:16px;line-height:1.85;max-width:none;color:#d2dde3}
.home-page .mobile-workshop{border-top:2px solid var(--orange);padding-top:22px}
.home-page .mobile-workshop h3{color:var(--ice)}
.home-page .about-grid .text-link{font-size:14px;min-height:44px;margin-top:18px;border-color:#aebdc570}
.home-page #territorio{background:#1b252d}
.home-page .territory-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:65px;align-items:center}
.home-page .territory-grid>div{min-width:0}
.home-page .territory-grid h2{font-size:clamp(30px,3.1vw,42px);line-height:1.15;letter-spacing:-1.4px}
.home-page .section-description{font-size:16px;line-height:1.85;max-width:600px;color:#c5d0d7}
.home-page .territory-note{border-color:#aebdc530;padding-top:22px}
.home-page .territory-note>span{color:var(--orange)}
.home-page .territory-note p{font-size:15px;color:#c5d0d7}
.home-page .territory-note strong{color:var(--ice)}
.home-page .steps{background:#22313b;border:1px solid #aebdc530;border-top:2px solid var(--orange);padding:30px}
.home-page .steps h3{font-size:26px;line-height:1.25;letter-spacing:-.6px}
.home-page .steps li{border-color:#aebdc530;gap:20px;padding-block:20px}
.home-page .steps li>span{color:var(--orange);font-size:11px}
.home-page .steps strong{font-size:16px}
.home-page .steps p{font-size:15px;line-height:1.75;color:#c5d0d7}
.home-page .contact-banner{background:var(--steel);color:var(--ice);padding-block:55px;border-top:1px solid #ffffff30}
.home-page .contact-banner:after{content:none}
.home-page .contact-banner .eyebrow{color:#d2dde3;font-size:10px;line-height:1.7}
.home-page .contact-banner h2{font-size:clamp(34px,3.8vw,50px);line-height:1.08;letter-spacing:-1.6px}
.home-page .contact-banner p:not(.eyebrow){font-size:16px;line-height:1.8;color:#d2dde3}
.home-page .contact-banner .button-primary{background:var(--orange);color:var(--ink);font-size:26px;gap:22px;padding:22px 26px;box-shadow:none;transition:none;max-width:100%}
.home-page .contact-banner .button-primary:hover{background:#f7864d;transform:none}
.home-page .contact-banner .button span{color:var(--ink)}
@media(max-width:1100px){.home-page .hero-grid{gap:24px}.home-page .hero h1{font-size:clamp(44px,5.3vw,60px);letter-spacing:-2px}.home-page .service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-page .about-grid,.home-page .territory-grid{gap:30px}.home-page .section-heading>p{max-width:340px}.home-page .services .service-card-judicial{grid-template-columns:75px minmax(0,1fr);gap:24px}.home-page .services .service-card-judicial .service-link{grid-column:2}}
@media(max-width:850px){.home-page .hero-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:28px}.home-page .hero-copy{padding:40px 0 0}.home-page .hero h1{font-size:clamp(48px,8vw,68px)}.home-page .hero-visual{width:100%;max-width:700px;margin:0 auto 26px}.home-page .hero .eyebrow{font-size:10px}.home-page .hero-description{max-width:650px}.home-page .hero-visual .technical-label,.home-page .hero-visual .visual-bottom{font-size:9px}.home-page .visual-code{display:block}.home-page .assurance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-page .assurance p{padding:18px 14px;font-size:12px}.home-page .assurance p:nth-child(3){border-left:0}.home-page .assurance p:nth-child(n+3){border-top:1px solid #aebdc530}.home-page .about-grid,.home-page .territory-grid{grid-template-columns:minmax(0,1fr)}.home-page .about-mark{max-width:650px;width:100%}.home-page .contact-inner{flex-wrap:wrap;gap:28px}}
@media(max-width:600px){.home-page .hero h1{font-size:clamp(40px,10.8vw,64px);letter-spacing:-1.8px}.home-page .hero .eyebrow{font-size:9px;letter-spacing:.5px}.home-page .hero-description{font-size:16px}.home-page .hero-call{width:100%;justify-content:flex-start;padding:18px 20px}.home-page .hero-call small{font-size:8px}.home-page .hero-call strong{font-size:28px}.home-page .hero-note p{font-size:12px}.home-page .hero-visual .technical-label,.home-page .hero-visual .visual-bottom{font-size:8px}.home-page .hero-bottom{font-size:9px}.home-page .assurance p{font-size:11px;gap:10px;padding:16px 10px}.home-page .section,.home-page .about-section{padding-block:42px}.home-page .section-heading{display:block}.home-page .section-heading>p{max-width:none;font-size:16px;margin:22px 0 0}.home-page .service-grid{grid-template-columns:minmax(0,1fr)}.home-page .service-card,.home-page .service-card:first-child{padding:26px}.home-page .service-card .service-top{margin-bottom:22px}.home-page .service-card h3{font-size:23px}.home-page .services .service-card-judicial{grid-template-columns:minmax(0,1fr);gap:22px}.home-page .services .service-card-judicial .service-top{align-items:center}.home-page .services .service-card-judicial .service-link{grid-column:1}.home-page .steps{padding:24px}.home-page .contact-banner{padding-block:40px}.home-page .contact-inner{display:block}.home-page .contact-banner .button-primary{width:100%;margin-top:28px;justify-content:space-between;padding:20px 22px;font-size:26px}}
@media(max-width:360px){.home-page .hero-call{padding-inline:16px;gap:14px}.home-page .hero-call strong{font-size:26px}.home-page .hero-call small{font-size:7px}.home-page .assurance p{font-size:10px}.home-page .hero-visual .technical-label,.home-page .hero-visual .visual-bottom{font-size:7px}}
@media print{.home-page,.home-page .hero,.home-page .services,.home-page .assurance,.home-page .about-section,.home-page #territorio,.home-page .contact-banner{background:white;color:#151b21}.home-page p,.home-page .about-grid p:not(.eyebrow),.home-page .section-description{color:#344650}.home-page .service-card,.home-page .service-card:first-child,.home-page .steps{background:white;color:#151b21}.home-page .service-card p,.home-page .service-card:first-child p{color:#344650}.home-page .hero-grid{display:block}.home-page .hero-copy{padding-block:20px}}
