/* Impaginazione dedicata a smartphone e tablet, fino a 1023 px. */
.wrap{width:calc(100% - 40px)}
.nav-wrap{height:72px;gap:16px}
.logo img{width:92px}.logo span,.nav-wrap>.button{display:none}
.menu-toggle{display:block;min-height:44px;min-width:64px}
.main-nav{display:none;position:absolute;top:72px;left:0;right:0;background:white;border-bottom:1px solid var(--line);padding:16px 22px;max-height:calc(100vh - 105px);overflow:auto;flex-direction:column;align-items:stretch;gap:0}
.main-nav.open{display:flex}.main-nav>a,.nav-services>summary{display:block;padding:12px 0;font-size:16px}
.nav-dropdown{position:static;box-shadow:none;width:auto;grid-template-columns:1fr;border:0;border-left:2px solid var(--line);padding:0 12px;margin:5px 0 10px}
.home-intro{padding:35px 0 36px}
.home-intro .eyebrow{font-size:12px;line-height:1.5;letter-spacing:.08em;margin-bottom:18px}
.home-intro h1{font-size:clamp(2.1rem,5.8vw,3.3rem);line-height:1.12;letter-spacing:-.04em;margin-bottom:20px}
.home-intro h1 br{display:none}
.home-intro .lead{font-size:17px;line-height:1.6;max-width:640px}
.home-intro .actions{gap:10px;margin-top:23px}
.home-intro .button{min-height:50px}
.home-promo{display:block;margin-top:23px;font-size:15px;line-height:1.5}
.home-promo span{display:block;margin:5px 0 0;font-size:13px}
.home-services{padding:36px 0 40px}
.home-services .section-head{display:block;margin-bottom:24px}
.home-services .section-head .eyebrow{font-size:12px;margin-bottom:10px}
.home-services .section-head h2{font-size:30px;line-height:1.15}
.home-services .section-head h2 br{display:none}
.home-services .section-head>p{max-width:550px;margin-top:16px;font-size:16px}
.home-services .checker-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.home-services .checker-grid .service-card{min-height:250px;background:#1b3555;border-color:#7f9cbd;border-radius:12px;padding:24px;transform:none}
.home-services .checker-grid .service-card:nth-child(4n+1),.home-services .checker-grid .service-card:nth-child(4n+4){background:#2c4e76}
.home-services .checker-grid .service-card:hover{background:#365e8a;border-color:white}
.home-services .checker-grid .card-number{margin-bottom:18px;font-size:12px;letter-spacing:.04em}
.home-services .checker-grid h3{font-size:22px;line-height:1.2;margin-bottom:12px}
.home-services .checker-grid p{font-size:16px;line-height:1.55;margin-bottom:20px}
.checker-grid .card-bottom{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:auto}
.home-services .checker-grid .card-price{font-size:14px;line-height:1.4;margin:0}
.home-services .checker-grid .card-link{font-size:23px;line-height:1;flex-shrink:0}
.home-online{padding:44px 0}.home-online-grid{grid-template-columns:1fr;gap:32px}
.online-copy{grid-row:1}.online-price-card{padding:28px}
.online-copy h2{font-size:30px}.online-copy .actions{gap:18px}
.business-grid,.content-grid,.contact-grid,.config-layout,.boiler-hero-grid,.area-grid{grid-template-columns:1fr;gap:30px}
.boiler-photo img{aspect-ratio:1.5}.summary-panel{position:static}
.section{padding-top:44px;padding-bottom:44px}
.section-head{display:block}.section-head>p{margin-top:18px}
.steps{grid-template-columns:1fr;gap:24px}.step p{margin-bottom:0}
.cta-inner{flex-direction:column;align-items:start;gap:22px}
.two-fields{grid-template-columns:1fr;gap:0}
.contact-item a{font-size:21px}
.page-hero h1{font-size:clamp(2rem,5vw,3rem)}
@media(max-width:599px){
 .wrap{width:calc(100% - 32px)}
 .home-intro .actions{flex-direction:column}
 .home-intro .actions .button{width:100%}
 .home-services .checker-grid{grid-template-columns:1fr}
 .home-services .checker-grid .service-card{min-height:0;padding:23px;background:#1b3555}
 .home-services .checker-grid .service-card:nth-child(odd){background:#2c4e76}
 .home-services .checker-grid .service-card:nth-child(even){background:#1b3555}
 .home-services .checker-grid .card-number{margin-bottom:15px}
 .home-services .checker-grid .service-card:hover{background:#365e8a}
 .online-copy .actions{align-items:stretch;flex-direction:column}
 .online-copy .text-link{text-align:center}
 .online-price strong{font-size:54px}.online-price-card{padding:25px}
 .footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}
 .footer-bottom{flex-direction:column;gap:10px}
}
