:root{--red:#a4131c;--red-dark:#7f0c14;--ink:#171c22;--muted:#59616b;--line:#dce0e5;--paper:#f3f5f7;--white:#fff;--radius:3px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);font-size:16px;line-height:1.65;background:white}a{color:inherit;text-decoration:none}a:hover{color:var(--red)}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #b6222e;outline-offset:4px}img{display:block;max-width:100%}.wrap{width:min(1280px,calc(100% - 96px));margin-inline:auto}.topbar{background:var(--ink);color:#fff;font-size:13px;letter-spacing:.04em}.topbar .wrap{display:flex;justify-content:space-between;padding-block:8px}.topbar a:hover{color:#fff;text-decoration:underline}header{position:sticky;top:0;z-index:20;background:#ffffffed;backdrop-filter:blur(15px);border-bottom:1px solid var(--line)}.header-inner{display:flex;justify-content:space-between;align-items:center;gap:24px;min-height:92px}.brand{width:285px;flex-shrink:0;height:84px;display:flex;align-items:center}.brand img{width:100%;height:auto}.header-inner nav{display:flex;align-items:center;gap:24px;font-size:14px;font-weight:600}.button{display:inline-flex;justify-content:center;align-items:center;background:var(--red);color:white;border:1px solid var(--red);padding:15px 23px;font-size:15px;font-weight:700;border-radius:var(--radius);cursor:pointer;line-height:1.3;text-align:center;transition:background .2s,transform .2s}.button:hover{background:var(--red-dark);color:white;transform:translateY(-1px)}.button.small{padding:12px 17px;font-size:14px}.button.light{background:white;border-color:white;color:var(--ink)}.button.outline{background:transparent;color:var(--ink);border-color:var(--line)}.text-link{font-size:15px;font-weight:700;text-decoration:underline;text-decoration-color:var(--red);text-underline-offset:6px}.actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap}.eyebrow{font-size:12px;line-height:1.5;letter-spacing:.15em;font-weight:700;text-transform:uppercase;color:var(--red);display:block;margin-bottom:18px}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.12;letter-spacing:-.035em}h1{font-size:clamp(40px,4.4vw,68px);font-weight:650;margin-bottom:26px}h2{font-size:clamp(32px,3.3vw,48px);font-weight:600;margin-bottom:24px}h3{font-size:23px;font-weight:600;margin-bottom:14px}p{color:var(--muted);margin-bottom:23px}.lead{font-size:18px;line-height:1.65;max-width:650px}.home-hero{display:grid;grid-template-columns:1fr 1.03fr;gap:54px;padding-block:65px 60px;align-items:center}.hero-copy{padding-block:18px}.hero-copy h1 em{font-style:normal;color:var(--red)}.hero-copy .lead{max-width:490px}.hero-foot{display:flex;gap:23px;border-top:1px solid var(--line);margin-top:35px;padding-top:20px;font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.035em}.hero-image{margin:0;height:580px;position:relative}.hero-image img{width:100%;height:100%;object-fit:cover;border-radius:3px}.hero-image figcaption{position:absolute;bottom:7px;left:14px;right:14px;font-size:11px;color:white;text-shadow:0 1px 4px #000;background:#171c2280;padding:3px 7px}.image-label{position:absolute;bottom:40px;left:-23px;background:#fff;padding:24px 28px;border-left:4px solid var(--red);box-shadow:0 12px 40px #0001;max-width:90%}.image-label span{font-size:12px;color:var(--muted);display:block;margin-bottom:8px}.image-label strong{font-size:21px;line-height:1.3}.brand-strip{background:var(--paper);border-block:1px solid var(--line)}.brand-strip .wrap{padding-block:24px;display:flex;gap:40px;align-items:center;justify-content:space-between}.brand-strip span{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.brand-strip strong{font-size:17px;line-height:1.3;color:#4b525a}.section{padding-block:90px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:60px;margin-bottom:40px}.section-head h2{margin-bottom:0}.section-head>p{max-width:380px;margin-bottom:5px}.cards{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-card{display:flex;flex-direction:column;padding:34px 29px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .2s;min-height:280px}.service-card:hover{background:var(--paper);color:var(--ink)}.service-card .eyebrow{margin-bottom:28px}.service-card h3,.service-card h2{font-size:25px}.service-card p{font-size:15px;line-height:1.7}.card-link{font-size:14px;font-weight:700;margin-top:auto;display:flex;justify-content:space-between;padding-top:16px;color:var(--red)}.pool-feature{background:var(--ink);color:white}.pool-inner{display:grid;grid-template-columns:1fr .8fr;gap:110px;padding-block:72px}.pool-inner h2{font-size:clamp(36px,4vw,58px)}.pool-inner .eyebrow{color:#e9969d}.pool-inner p{color:#c2c8cf}.pool-note{align-self:center;border-left:1px solid #4a4e53;padding:20px 0 20px 45px}.pool-note>span{color:#e9969d;font-size:13px;letter-spacing:.1em}.pool-note h3{font-size:30px;margin-block:25px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.steps article{border-top:1px solid var(--line);padding-top:26px}.steps article>span{color:var(--red);font-size:32px;display:block;margin-bottom:30px}.steps h3{font-size:22px}.steps p{font-size:15px}.company-slice{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;padding-block:35px 70px}.company-slice img{width:100%;aspect-ratio:4/3;object-fit:cover}.company-slice p{max-width:540px}.audiences{display:grid;grid-template-columns:1fr 1.1fr;gap:70px}.audiences>div>a{display:block;padding:24px 0;border-bottom:1px solid var(--line)}.audiences p{margin:0}.cta{background:var(--paper);border-top:3px solid var(--red);padding:42px 48px;display:flex;align-items:center;justify-content:space-between;gap:45px;margin-block:25px 80px}.cta h2{font-size:38px}.cta p{max-width:650px;margin-bottom:0}.cta .button{flex-shrink:0}footer{background:var(--ink);color:#fff;padding-top:58px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:45px}.wordmark{font-size:18px;letter-spacing:-.03em;line-height:1.4}.wordmark b{color:#f07b83}.footer-grid h3{font-size:18px;color:white}.footer-grid p,.footer-grid a:not(.wordmark){font-size:14px;line-height:1.85;color:#c1c8d0}.footer-grid a:hover{color:white;text-decoration:underline}.footer-grid p{margin-block:16px}.footer-bottom{border-top:1px solid #40454a;padding-block:25px;margin-top:32px;display:flex;justify-content:space-between;font-size:12px;color:#c1c8d0}.footer-bottom div{display:flex;gap:25px}.menu-toggle,.mobile-contact{display:none}.skip{position:absolute;top:-100px;background:white;padding:12px;z-index:100}.skip:focus{top:0}.page-intro{padding-block:30px 55px;border-bottom:1px solid var(--line)}.breadcrumbs{display:flex;gap:12px;font-size:12px;color:var(--muted);margin-bottom:45px}.page-intro h1{max-width:1000px}.page-intro .lead{max-width:800px}.service-detail{display:grid;grid-template-columns:1fr 340px;gap:65px;padding-block:65px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:42px}.detail-grid h2{font-size:26px}.detail-grid article{padding-top:20px;border-top:1px solid var(--line)}.detail-grid p{font-size:16px}.service-detail aside{background:var(--paper);padding:30px;height:fit-content;position:sticky;top:120px}.service-detail aside h2{font-size:28px}.fine{font-size:13px;line-height:1.65}.service-detail aside .fine{margin-top:22px;margin-bottom:0}.faq{max-width:850px;margin-top:35px}.faq details{border-bottom:1px solid var(--line);padding-block:23px}.faq summary{font-weight:600;font-size:18px;cursor:pointer;line-height:1.5}.faq details p{margin:18px 20px 0 0}.partner-block{padding:50px;background:var(--paper);border-left:4px solid var(--red)}.partner-block p{max-width:800px}.article{max-width:850px;padding-block:55px}.article section{margin-bottom:45px}.article h2{font-size:28px}.notice{background:var(--paper);padding:24px;border-left:3px solid var(--red);margin-top:25px}.notice h3{font-size:20px}.notice p:last-child{margin-bottom:0}.contact-grid{display:grid;grid-template-columns:1fr .6fr;gap:75px;padding-block:55px 80px}.contact-grid h2{font-size:32px}.contact-grid aside{border-left:1px solid var(--line);padding-left:45px}.contact-grid aside h3{margin-top:32px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-block:25px}.form-grid label{font-size:14px;font-weight:600}.full{grid-column:1/-1}input,select,textarea{display:block;width:100%;padding:12px 14px;border:1px solid #b9c1ca;background:white;border-radius:3px;margin-top:7px;color:var(--ink);font-size:16px}textarea{resize:vertical}#request-result textarea{font-size:14px}#request-result .actions{margin-top:20px}#request-result[hidden]{display:none}
@media(min-width:1600px){.wrap{width:min(1420px,calc(100% - 120px))}.home-hero{gap:80px}.hero-image{height:650px}}
@media(max-width:1100px){.wrap{width:calc(100% - 48px)}.header-inner nav{gap:14px;font-size:13px}.brand{width:230px}.header-inner{gap:15px}.home-hero{gap:30px}.hero-image{height:510px}.hero-foot{flex-direction:column;gap:7px}.brand-strip .wrap{gap:20px;flex-wrap:wrap}.pool-inner{gap:55px}.service-detail{gap:30px;grid-template-columns:1fr 290px}.footer-grid{gap:25px}.contact-grid{gap:40px}}
@media(max-width:850px){.menu-toggle{display:block;border:1px solid var(--line);background:white;padding:9px 15px;font-size:14px}.header-inner{min-height:75px}.brand{height:74px;width:255px}.header-inner nav{display:none;position:absolute;top:100%;left:0;right:0;padding:25px;background:white;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;font-size:16px;gap:20px}.header-inner nav.open{display:flex}.home-hero{grid-template-columns:1fr;padding-top:40px;gap:35px}.hero-copy{padding:0}.hero-copy .lead{max-width:600px}h1{font-size:50px}.hero-foot{flex-direction:row}.hero-image{height:440px}.image-label{left:18px}.cards{grid-template-columns:repeat(2,1fr)}.section{padding-block:60px}.section-head{gap:35px}.steps{grid-template-columns:1fr 1fr}.company-slice{gap:30px}.pool-inner{gap:40px}.audiences{gap:40px}.cta{padding:32px;gap:25px;flex-direction:column;align-items:start}.footer-grid{grid-template-columns:1fr 1fr;gap:30px}.service-detail{grid-template-columns:1fr}.service-detail aside{position:static}.contact-grid{grid-template-columns:1fr}.contact-grid aside{padding-left:0;border-left:0;border-top:1px solid var(--line);padding-top:35px}}
@media(max-width:560px){.wrap{width:calc(100% - 36px)}.topbar .wrap{font-size:11px;gap:12px}.topbar a{display:none}.brand{width:245px}.home-hero{padding-block:30px 35px}.eyebrow{font-size:11px;margin-bottom:16px}h1{font-size:42px;line-height:1.12}.lead{font-size:17px}.hero-copy .actions{align-items:start;gap:20px;flex-direction:column}.hero-foot{font-size:11px;gap:16px;margin-top:25px}.hero-image{height:345px}.image-label{padding:18px;bottom:40px;left:12px;max-width:calc(100% - 24px)}.image-label strong{font-size:18px}.image-label span{font-size:11px}.brand-strip .wrap{gap:18px 23px;padding-block:20px}.brand-strip span{width:100%;font-size:11px}.brand-strip strong{font-size:14px}.section{padding-block:45px}.section-head{display:block;margin-bottom:30px}.section-head>p{margin-top:22px}.cards{grid-template-columns:1fr}.service-card{padding:28px;min-height:245px}.service-card .eyebrow{margin-bottom:20px}.pool-inner{grid-template-columns:1fr;padding-block:45px;gap:40px}.pool-note{padding:25px 0 0;border-left:0;border-top:1px solid #4a4e53}.pool-note h3{font-size:26px}.steps{gap:25px 20px}.steps h3{font-size:20px}.steps article>span{margin-bottom:20px}.steps p{font-size:14px}.company-slice{grid-template-columns:1fr;gap:30px;padding-block:10px 35px}.audiences{grid-template-columns:1fr;gap:5px}.cta{width:calc(100% - 36px);padding:28px 23px;margin-bottom:45px}.cta h2{font-size:31px}.footer-grid{grid-template-columns:1fr 1fr;gap:30px 20px}.footer-grid>div:first-child{grid-column:1/-1}.footer-grid>div:last-child{grid-column:1/-1}.footer-grid a{overflow-wrap:anywhere}.footer-bottom{flex-direction:column;gap:14px;padding-bottom:85px}.mobile-contact{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:30;background:white;padding:10px 18px calc(10px + env(safe-area-inset-bottom));gap:10px;border-top:1px solid var(--line);box-shadow:0 -3px 15px #0001}.mobile-contact a{padding:11px;font-size:14px;text-align:center;border-radius:3px;font-weight:700}.mobile-call{border:1px solid var(--line);width:32%}.mobile-request{background:var(--red);color:white;flex:1}.breadcrumbs{margin-bottom:30px}.page-intro{padding-block:22px 35px}.detail-grid{grid-template-columns:1fr;gap:25px}.service-detail{padding-block:35px;gap:30px}.partner-block{padding:28px}.contact-grid{padding-block:35px 45px}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.notice{padding:20px}.actions{gap:15px}footer{padding-top:40px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.depth-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}.depth-grid article{border-top:2px solid var(--red);padding-top:24px}.depth-grid h3{font-size:25px}.service-depth{border-top:1px solid var(--line)}.header-inner nav{gap:16px}.header-inner nav a{font-size:13px}@media(max-width:900px){.depth-grid{grid-template-columns:1fr}}

.service-photo{margin-top:0;margin-bottom:48px}.service-photo img{width:100%;height:440px;object-fit:cover;border-radius:3px}.service-photo figcaption,.gallery-photo figcaption,.home-pool-photo figcaption{font-size:13px;color:var(--muted);margin-top:10px;line-height:1.5}.card-photo{margin:-32px -32px 26px;overflow:hidden}.card-photo img{width:100%;height:200px;object-fit:cover;transition:transform .4s}.service-card:hover .card-photo img{transform:scale(1.025)}.photo-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.gallery-photo{margin:0}.gallery-photo img{width:100%;height:260px;object-fit:cover}.home-pool-photo{margin-top:0;margin-bottom:28px}.home-pool-photo img{width:100%;height:440px;object-fit:cover}.company-slice img{object-fit:cover}@media(max-width:900px){.service-photo img,.home-pool-photo img{height:340px}.photo-gallery{grid-template-columns:1fr 1fr}}@media(max-width:560px){.service-photo{margin-bottom:30px}.service-photo img,.home-pool-photo img{height:250px}.photo-gallery{grid-template-columns:1fr}.gallery-photo img{height:270px}.card-photo{margin:-28px -28px 24px}.card-photo img{height:210px}}

.portrait-photo img{object-position:center 14%}.service-photo.portrait-photo img{height:480px;object-fit:contain;background:var(--paper)}.company-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.company-gallery img{height:340px}@media(max-width:560px){.company-gallery{grid-template-columns:1fr}.company-gallery img{height:250px}.service-photo.portrait-photo img{height:390px}}

.bosch-block{background:#f4f7f8;border-radius:16px;padding:40px}.bosch-product img{max-height:420px;width:100%;object-fit:contain}.energy-check{scroll-margin-top:120px}.energy-check fieldset{border:1px solid #ddd;padding:20px;margin-bottom:24px}.energy-check .radio{display:flex;align-items:center;gap:10px;margin:12px 0}.energy-check .radio input{width:auto}.energy-check form{max-width:850px}.energy-check textarea{width:100%}@media(max-width:600px){.bosch-block{padding:24px}}
.lead-intake{scroll-margin-top:110px}.lead-intake form{max-width:900px}.lead-intake .form-grid{margin-top:28px}.lead-intake textarea{width:100%;resize:vertical}.lead-intake .lead-result{margin-top:24px}.lead-intake [hidden]{display:none!important}.lead-intake input[type=file]{font-size:.9rem}.lead-intake .fine{display:block;line-height:1.6}.lead-intake .lead-status:empty{display:none}.lead-intake .lead-message{background:white}.lead-intake .actions{flex-wrap:wrap;gap:12px}@media(max-width:600px){.lead-intake .actions>*{width:100%;text-align:center}.lead-intake .form-grid{grid-template-columns:1fr}}
.nav-group{position:relative}.nav-group summary{cursor:pointer;font-size:14px;white-space:nowrap}.nav-group>div{position:absolute;top:calc(100% + 18px);left:0;background:white;box-shadow:0 12px 30px #0002;border:1px solid var(--line);padding:12px;min-width:270px;max-height:70vh;overflow:auto}.nav-group>div>a{display:block;padding:10px 12px;line-height:1.4}.nav-group>div>a:hover{background:var(--paper)}.technical-method{border-block:1px solid var(--line)}.technical-method .steps{margin:35px 0}.guide-index{background:var(--paper);padding:26px;margin-bottom:45px}.guide-index a{text-decoration:underline;text-underline-offset:3px}.guide-index li{padding:5px 0}.article section[id]{scroll-margin-top:130px}.topic-nav{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:35px}.topic-nav a,.topic-nav button{padding:10px 16px;background:var(--paper);border:1px solid var(--line);font-size:14px;color:var(--ink);cursor:pointer}.topic-nav button[aria-pressed=true]{background:var(--red);color:white;border-color:var(--red)}.service-card[hidden]{display:none}.resource-return{margin-top:28px}.security-products{display:grid;grid-template-columns:1fr 1fr;gap:30px}.product-photo{margin:0;background:#f6f7f8;padding:20px}.product-photo img{width:100%;height:300px;object-fit:contain}.product-photo figcaption{font-size:14px;margin-top:16px}.service-photo img[src*="fracarro-alarm"],.card-photo img[src*="fracarro-alarm"]{object-fit:contain;background:white;max-height:420px}.documentation-cards h2{font-size:27px}.documentation-cards article{scroll-margin-top:120px}.guide-next{background:var(--paper)}.header-inner nav{gap:20px}.brand{width:260px}.photo-gallery .gallery-photo img{aspect-ratio:4/3;object-fit:cover}@media(max-width:1100px){.nav-group{width:100%}.nav-group>div{position:static;box-shadow:none;border:0;min-width:0;padding:8px 12px;background:var(--paper)}.nav-group summary{font-size:17px;padding:10px 0}.header-inner nav{gap:12px}.brand{width:230px}}@media(max-width:650px){.security-products{grid-template-columns:1fr}.product-photo img{height:260px}.topic-nav a,.topic-nav button{flex:1;text-align:center}.guide-index{padding:20px}.resource-return a{display:block;margin:10px 0}}

.product-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:32px;margin:35px 0}.product-grid article{border:1px solid var(--line);padding:25px}.brand-product{margin:0 0 24px}.brand-product img{width:100%;height:260px;object-fit:contain;background:#f5f7f8}.brand-product figcaption{font-size:13px;margin-top:10px}.product-grid h3{font-size:27px}.installed-solutions .lead{max-width:900px}@media(max-width:600px){.product-grid{grid-template-columns:1fr}.brand-product img{height:240px}}

.service-photo img[src*="dahua-camera"],.card-photo img[src*="dahua-camera"]{object-fit:contain;background:#f5f7f8;max-height:420px}.service-photo img[src*="bosch-4300"]{object-fit:contain;max-height:550px}.service-photo img[src*="shurity-oregon"]{object-fit:contain;max-height:480px}
/* Products stay completely visible on desktop and mobile. */
.card-photo.product-view img,.service-photo.product-view img{object-fit:contain;object-position:center;background:#f5f6f7;padding:18px}
.service-photo.climate-view img{height:auto;max-height:560px;object-fit:contain;object-position:center top;background:#f5f6f7}
.card-photo.climate-view img{object-position:center 25%}
.gallery-photo img{object-fit:contain;background:#f5f6f7}
.company-slice img[src*="sede-nuova"]{object-fit:contain;height:auto}
@media(max-width:600px){.service-photo.climate-view img{height:auto}.service-photo.product-view img{height:340px}.brand{width:220px}.brand img{object-fit:contain}}
/* Original supplied brand: show lettering without the large white margins. */
.brand{width:310px}
.brand img[src*="logo-ufficiale"]{width:100%;height:52px;object-fit:cover;object-position:center 46%;background:#fff}
@media(max-width:600px){.brand{width:235px}.brand img[src*="logo-ufficiale"]{height:40px}}

/* Transparent official logo, natural proportions without zoom or backing. */
.brand img[src*="logo-trasparente"]{width:100%;height:auto;max-height:60px;object-fit:contain;background:transparent}
.card-photo img[src*="caldaia-home"]{object-fit:cover;object-position:center}
@media(max-width:600px){.brand img[src*="logo-trasparente"]{max-height:48px}}

.company-slice img[src*="sede-ripulita"]{object-fit:contain;height:auto}

/* Pino · assistente virtuale Pasquarelli Service */
.pino-widget{position:fixed;right:24px;bottom:24px;z-index:120;font-family:Arial,Helvetica,sans-serif;color:#171c22}
.pino-greeting{position:absolute;right:0;bottom:calc(100% + 12px);display:none;align-items:center;gap:8px;width:min(290px,calc(100vw - 36px));padding:12px 13px;border:1px solid #e0e2e5;border-radius:14px;background:#fff;color:#20252b;box-shadow:0 8px 28px #0002;font-size:14px;line-height:1.45;opacity:0;transform:translateY(5px);transition:opacity .18s ease,transform .18s ease}
.pino-greeting[hidden]{display:none}
.pino-greeting button{flex:0 0 30px;width:30px;height:30px;border:0;border-radius:50%;background:#f1f2f3;color:#505862;font-size:20px;line-height:1;cursor:pointer}
.pino-greeting.is-visible{opacity:1;transform:translateY(0)}
.pino-launcher{display:flex;align-items:center;gap:10px;border:0;border-radius:999px;padding:11px 18px 11px 11px;background:#a4131c;color:white;box-shadow:0 8px 26px #0003;font-weight:700;font-size:15px;cursor:pointer}
.pino-launcher:hover{background:#7f0c14}
.pino-avatar{width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;border-radius:50%;background:#fff;color:#a4131c;font-weight:800;font-size:19px;border:1px solid #ead1d3}
.pino-panel{position:absolute;right:0;bottom:76px;width:390px;height:min(650px,calc(100vh - 125px));display:flex;flex-direction:column;overflow:hidden;border:1px solid #d9dde2;border-radius:14px;background:#fff;box-shadow:0 18px 55px #0003}
.pino-panel[hidden]{display:none}
.pino-head{display:flex;align-items:center;gap:12px;padding:15px 16px;background:#171c22;color:#fff;border-top:4px solid #a4131c}
.pino-head>div{display:flex;min-width:0;flex-direction:column;gap:3px;flex:1}
.pino-head strong{font-size:16px;line-height:1.3}
.pino-head small{font-size:11px;line-height:1.4;color:#d1d5db}
.pino-close{width:38px;height:38px;border:1px solid #ffffff50;border-radius:50%;background:transparent;color:white;font-size:25px;line-height:1;cursor:pointer}
.pino-privacy{margin:0;padding:10px 15px;background:#f7f7f6;color:#3f464e;font-size:13px;line-height:1.55;border-bottom:1px solid #e3e5e8}
.pino-privacy a{color:#8b1119;text-decoration:underline;text-underline-offset:2px;font-weight:700}
.pino-messages{display:flex;flex:1;min-height:110px;flex-direction:column;gap:10px;overflow:auto;padding:16px;background:#fbfbfa}
.pino-message{max-width:88%;padding:11px 13px;border-radius:12px;font-size:16px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}
.pino-message.assistant{align-self:flex-start;background:#f0f1f2;color:#20252b;border-bottom-left-radius:4px}
.pino-message.user{align-self:flex-end;background:#a4131c;color:#fff;border-bottom-right-radius:4px}
.pino-message.pending{color:#545b64;font-style:italic}
.pino-message.pino-error{border:1px solid #edc7ca;background:#fff5f5;color:#7f0c14}
.pino-suggestions{display:flex;flex-wrap:wrap;gap:7px;padding:0 14px 12px;background:#fbfbfa}
.pino-suggestions[hidden]{display:none}
.pino-suggestions button{border:1px solid #d7dade;border-radius:20px;background:white;color:#343a40;padding:8px 10px;font-size:13px;line-height:1.4;cursor:pointer}
.pino-suggestions button:hover{border-color:#a4131c;color:#8b1119}
.pino-form{display:flex;align-items:flex-end;gap:8px;padding:12px;border-top:1px solid #e2e5e8;background:white}
.pino-form textarea{flex:1;min-width:0;min-height:46px;max-height:110px;margin:0;padding:11px 12px;border:1px solid #bbc2ca;border-radius:8px;font:16px/1.45 Arial,Helvetica,sans-serif;color:#20252b;resize:vertical}
.pino-form textarea:focus{outline:2px solid #a4131c;outline-offset:1px}
.pino-form>button{min-height:44px;border:0;border-radius:7px;background:#a4131c;color:white;padding:0 15px;font-size:14px;font-weight:700;cursor:pointer}
.pino-form>button:disabled{opacity:.55;cursor:wait}
.pino-links{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:0 14px 13px;background:#fff}
.pino-links a,.pino-links button{border:0;background:transparent;padding:0;color:#7f0c14;font-size:13px;font-weight:700;text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.pino-links button{margin-left:auto;color:#59616b;font-weight:500}
.pino-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.pino-widget :focus-visible{outline:3px solid #e24a53;outline-offset:3px}
@media(max-width:560px){.pino-widget{right:12px;bottom:calc(78px + env(safe-area-inset-bottom))}.pino-launcher{width:56px;height:56px;justify-content:center;gap:0;padding:6px;border:2px solid #fff;font-size:14px}.pino-launcher-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.pino-launcher .pino-avatar{width:42px;height:42px;flex-basis:42px;font-size:20px}.pino-greeting{display:flex}.pino-greeting[hidden]{display:none}.pino-panel{right:0;bottom:68px;width:calc(100vw - 24px);height:min(560px,calc(100dvh - 138px - env(safe-area-inset-bottom)));min-height:300px;border-radius:13px}.pino-head{padding:11px 13px}.pino-head .pino-avatar{width:34px;height:34px;flex-basis:34px;font-size:17px}.pino-head strong{font-size:15px}.pino-head small{font-size:12px}.pino-close{width:36px;height:36px}.pino-messages{padding:12px}.pino-message{font-size:16px}.pino-privacy{padding:8px 12px;font-size:13px;line-height:1.45}.pino-suggestions{gap:6px;padding:0 12px 9px}.pino-suggestions button{font-size:13px;padding:7px 9px}.pino-form{padding:9px}.pino-links{gap:7px 11px;padding:0 12px 10px}.pino-links a,.pino-links button{font-size:13px}}

/* Revisione commerciale: spaziatura, percorsi e schede leggibili. */
h1,h2,h3{letter-spacing:-.015em}h2{line-height:1.23}h3{line-height:1.3}
.fine{font-size:14px;line-height:1.65}.hero-reassurance{font-size:14px;color:#535d68;line-height:1.65;margin:20px 0 0}.eyebrow{line-height:1.6}
.service-hero{width:min(1280px,calc(100% - 96px));margin:0 auto;display:grid;grid-template-columns:1.05fr .95fr;gap:42px;align-items:center;padding:40px 0 52px}
.service-hero>.page-intro{width:auto;padding:20px 0;margin:0;border:0}.service-hero h1{font-size:clamp(36px,4vw,56px);line-height:1.12;margin:18px 0 24px}.service-hero .lead{font-size:18px;line-height:1.75}.service-hero .actions{gap:18px;flex-wrap:wrap}.service-hero>.service-photo{width:100%;margin:0;border-radius:16px;overflow:hidden}.service-hero>.service-photo img{height:420px;width:100%;object-fit:cover}.service-hero>.service-photo figcaption{padding:13px 18px;background:#f1f3f5;color:#515963;font-size:13px;line-height:1.6}.service-hero>.climate-product-view img{object-fit:contain;background:#f4f5f6}
.confidence-strip{display:grid;grid-template-columns:repeat(3,1fr) auto;gap:28px;padding:25px 30px;background:#f3f5f6;border:1px solid #e0e4e8;border-radius:12px;align-items:center}.confidence-strip div{display:flex;flex-direction:column;gap:6px}.confidence-strip strong{font-size:16px;color:#20262d}.confidence-strip span{font-size:14px;line-height:1.55;color:#525b65}
.commercial-choices>h2,.commercial-support>h2,.home-decision>h2{max-width:850px;margin:14px 0 32px;font-size:clamp(28px,3vw,40px)}
.choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.choice-grid>article{padding:28px;background:#f5f6f7;border:1px solid #e2e5e8;border-top:3px solid #a4131c;border-radius:12px}.choice-grid h3{font-size:22px;margin:0 0 15px;line-height:1.35}.choice-grid p{font-size:16px;line-height:1.8;color:#3f4853;margin:0}
.proposal-box{display:grid;grid-template-columns:1fr auto;gap:32px;align-items:center;background:#1c2229;color:#fff;border-radius:14px;padding:32px;margin-top:28px}.proposal-box .eyebrow{color:#efb5b8}.proposal-box h3{font-size:25px;line-height:1.35;margin:10px 0 16px}.proposal-box p{color:#dde2e7;font-size:16px;line-height:1.8;margin:0;max-width:760px}.proposal-box .button{white-space:normal;max-width:240px;text-align:center}
.guide-practical{display:grid;grid-template-columns:1.15fr 1fr;gap:40px;align-items:start}.guide-practical h2{font-size:32px;line-height:1.3;margin:15px 0 22px}.guide-practical p{font-size:17px;line-height:1.8;color:#424b55}.guide-checklist{border:1px solid #dce1e6;background:#f3f5f7;padding:28px;border-radius:12px}.guide-checklist h3{font-size:22px;margin:0 0 18px}.guide-checklist ul{padding-left:21px}.guide-checklist li{font-size:16px;line-height:1.75;margin-bottom:13px}.guide-start{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}.guide-start a{padding:11px 16px;border:1px solid #d9dfe5;border-radius:24px;background:#f4f6f7;font-size:15px;color:#88151d}.home-decision .actions{margin-top:28px}
.lead-intake{background:#f5f6f7;border:1px solid #dce1e6;border-radius:16px;padding:36px;margin-bottom:64px}.lead-intake .form-grid,.energy-form .form-grid{gap:24px}.lead-intake h2{font-size:clamp(27px,3vw,38px);margin:14px 0 24px;line-height:1.25}.service-form label{font-size:15px;line-height:1.65}.service-form input,.service-form select,.service-form textarea{background:white;font-size:16px}.lead-status:not(:empty),#energy-status:not(:empty){padding:18px 20px;background:white;border:1px solid #cbd3da;border-left:4px solid #a4131c;border-radius:8px;color:#25303b;font-size:16px;line-height:1.7;margin:22px 0}.lead-honeypot{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}.button:disabled{cursor:default;opacity:.7}
.commercial-faq details,.faq details{padding:20px 0}.faq summary{font-size:18px;line-height:1.55}.faq p{font-size:16px;line-height:1.8}.commercial-choices,.guide-practical,.lead-intake,#richiesta,#energy-check{scroll-margin-top:120px}
.cards{gap:20px;border:0}.service-card{border:1px solid #dfe4e8;border-radius:12px;overflow:hidden;padding:28px}.service-card .card-photo{margin:-28px -28px 24px;width:calc(100% + 56px)}.service-card h3{font-size:24px;line-height:1.3}.service-card p{font-size:16px;line-height:1.75}.service-card:hover{border-color:#ae3840;background:#fafafa}.nav-group>div{max-height:calc(100dvh - 150px);overflow-y:auto}
@media(max-width:1000px){.confidence-strip{grid-template-columns:repeat(2,1fr)}.service-hero{gap:28px;width:calc(100% - 64px)}.service-hero h1{font-size:40px}.choice-grid{gap:16px}.choice-grid>article{padding:23px}.proposal-box{grid-template-columns:1fr}.proposal-box .button{max-width:none;justify-self:start}.guide-practical{gap:26px}}
@media(max-width:760px){.service-hero{width:calc(100% - 40px);grid-template-columns:1fr;padding:25px 0 35px;gap:22px}.service-hero h1{font-size:38px}.service-hero .lead{font-size:17px}.service-hero>.service-photo img{height:310px}.choice-grid,.guide-practical{grid-template-columns:1fr}.choice-grid>article{padding:26px}.confidence-strip{padding:22px;gap:22px}.lead-intake{padding:26px}.proposal-box{padding:26px}.service-card h3{font-size:23px}.commercial-choices>h2,.commercial-support>h2,.home-decision>h2{font-size:30px}.guide-practical h2{font-size:29px}}
@media(max-width:460px){.confidence-strip{grid-template-columns:1fr}.service-hero .actions>*{width:100%;text-align:center}.service-hero h1{font-size:34px}.lead-intake{padding:22px}.service-hero>.service-photo img{height:270px}}

.service-hero>.service-photo.climate-view img{height:420px;object-fit:contain;object-position:center;background:#f5f6f7}
@media(max-width:760px){.service-hero>.service-photo.climate-view img{height:310px}}

/* Homepage refinements: clearer opening, calmer process cards, and no duplicate office gallery. */
.home-hero{padding-top:34px}.hero-copy{padding-top:0}.hero-copy>.hero-eyebrow{font-size:15px;letter-spacing:.11em;margin-bottom:20px;max-width:38ch}
.steps article>span.step-mark{width:42px;height:4px;background:var(--red);margin:0 0 22px;border-radius:2px}
.company-facts{padding-top:30px}.company-facts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;border-top:1px solid var(--line)}.company-facts-grid article{padding:24px 20px 0 0}.company-facts-grid strong{font-size:18px;line-height:1.35;display:block;margin-bottom:9px}.company-facts-grid p{font-size:15px;margin:0;line-height:1.6}
@media(max-width:850px){.home-hero{padding-top:25px}.hero-copy>.hero-eyebrow{font-size:14px}.company-facts-grid{grid-template-columns:1fr;gap:12px}.company-facts-grid article{padding:16px 0 0}}

/* Commercial homepage imagery and responsive feature layouts. */
.home-section-photo{margin:0;min-width:0}.home-section-photo img{display:block;width:100%;height:100%;min-height:0;object-fit:cover;border-radius:4px;aspect-ratio:16/10}.home-section-photo figcaption{font-size:13px;line-height:1.5;color:var(--muted);padding-top:9px}
.method-body{display:grid;grid-template-columns:.95fr 1.05fr;gap:36px;align-items:stretch}.method-body>.home-section-photo img{height:100%;min-height:420px}.method-body .steps{grid-template-columns:repeat(2,minmax(0,1fr));align-content:center;gap:24px}.method-body .steps article{padding-top:20px}.method-body .steps article>span.step-mark{margin-bottom:14px}
.home-project{display:grid;grid-template-columns:.9fr 1.1fr;gap:55px;align-items:center}.home-project .lead{margin-bottom:25px}.home-project .home-section-photo img{min-height:360px}
.audiences .section-head{margin-bottom:30px}.audience-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.audience-card{display:flex;flex-direction:column;border:1px solid var(--line);background:#fff;transition:transform .2s,box-shadow .2s}.audience-card:hover{color:var(--ink);transform:translateY(-3px);box-shadow:0 12px 32px #171c2214}.audience-card>img{width:100%;aspect-ratio:16/10;object-fit:cover}.audience-copy{display:block;padding:22px 22px 24px}.audience-copy h3{margin-bottom:8px}.audience-copy p{margin:0;font-size:15px;line-height:1.6}
.decision-feature{display:grid;grid-template-columns:1.1fr .9fr;gap:44px;align-items:center;padding:28px;background:var(--paper);margin:0 0 38px}.decision-feature .home-section-photo img{height:100%;min-height:300px}.decision-feature .eyebrow{margin-bottom:14px}.decision-feature h3{font-size:28px}.decision-feature p{max-width:460px}.choice-grid{margin-top:20px}
@media(max-width:850px){.method-body,.home-project,.decision-feature{grid-template-columns:1fr;gap:25px}.method-body>.home-section-photo{order:-1}.method-body>.home-section-photo img{height:auto;min-height:0;aspect-ratio:16/10}.method-body .steps{grid-template-columns:repeat(2,minmax(0,1fr))}.home-project .home-section-photo img,.decision-feature .home-section-photo img{min-height:0;height:auto}.audience-grid{grid-template-columns:1fr 1fr}.decision-feature{padding:20px}}
@media(max-width:560px){.method-body{gap:22px}.method-body .steps{gap:16px}.audience-grid{grid-template-columns:1fr}.audience-card>img{aspect-ratio:16/9}.audience-copy{padding:18px 19px 20px}.decision-feature{margin-bottom:30px}}

/* Keep audience photos in landscape cover frames; let the section use the full page width. */
.audiences{display:block;grid-template-columns:none;gap:0}.audiences .section-head{width:100%;max-width:none}.audience-grid{width:100%;min-width:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.audience-card{min-width:0;overflow:hidden}.audience-card>img{display:block;width:100%;height:200px;aspect-ratio:auto;object-fit:cover;object-position:center}
@media(max-width:850px){.audiences{display:block}.audiences .section-head{display:flex;flex-wrap:wrap;gap:16px}.audiences .section-head>div,.audiences .section-head>p{max-width:100%}.audience-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.audience-card>img{height:190px}}
@media(max-width:560px){.audience-grid{grid-template-columns:minmax(0,1fr)}.audience-card>img{height:190px}}

/* Make the technical journey readable as named stages, not decorative numbers. */
.technical-method .steps{gap:18px}.technical-method .steps article{background:var(--paper);border:1px solid var(--line);border-top:2px solid var(--red);border-radius:3px;padding:20px 22px 22px}.technical-method .steps article>span.step-context{display:inline-block;color:var(--red-dark);font-size:11px;font-weight:700;letter-spacing:.09em;line-height:1.4;text-transform:uppercase;margin:0 0 14px;padding:5px 8px;border:1px solid #ead1d3;border-radius:2px;background:#fff}.technical-method .steps h3{margin-bottom:10px}.technical-method .steps p{margin-bottom:0}
@media(max-width:560px){.technical-method .steps{grid-template-columns:1fr}.technical-method .steps article{padding:18px}}

/* Heat-pump page: clear project stages and a deliberate trust panel. */
.confidence-strip.pdc-confidence{grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:0;padding:0;background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;box-shadow:0 14px 34px #171c2210}.confidence-strip.pdc-confidence .confidence-point{min-width:0;display:flex;flex-direction:column;gap:8px;padding:23px 22px;border-right:1px solid var(--line)}.confidence-strip.pdc-confidence .confidence-point .confidence-kicker{font-size:10px;line-height:1.4;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--red);margin-bottom:2px}.confidence-strip.pdc-confidence .confidence-point strong{font-size:16px;line-height:1.3;color:var(--ink)}.confidence-strip.pdc-confidence .confidence-point>span:last-child{font-size:13px;line-height:1.5;color:var(--muted)}.confidence-strip.pdc-confidence .confidence-link{display:flex;align-items:center;justify-content:center;gap:12px;padding:18px 20px;min-width:145px;background:var(--red);color:#fff;font-size:14px;font-weight:700;line-height:1.3;text-decoration:none}.confidence-strip.pdc-confidence .confidence-link:hover{background:var(--red-dark);color:#fff}.heat-pump-detail .detail-grid{gap:18px}.heat-pump-detail .detail-grid article{padding:21px 23px 23px;background:#f6f7f8;border:1px solid var(--line);border-top:2px solid var(--red);border-radius:3px}.heat-pump-detail .detail-grid article>.eyebrow{display:inline-block;width:fit-content;margin-bottom:15px;padding:5px 8px;border:1px solid #ead1d3;border-radius:2px;background:#fff;color:var(--red-dark);font-size:10px;line-height:1.4;letter-spacing:.1em}
@media(max-width:1000px){.confidence-strip.pdc-confidence{grid-template-columns:repeat(3,minmax(0,1fr)) auto}}
@media(max-width:760px){.confidence-strip.pdc-confidence{grid-template-columns:repeat(2,minmax(0,1fr));padding:0;gap:0}.confidence-strip.pdc-confidence .confidence-point{padding:19px 18px}.confidence-strip.pdc-confidence .confidence-point:nth-child(3){grid-column:1/-1}.confidence-strip.pdc-confidence .confidence-link{grid-column:1/-1;min-height:54px}}
@media(max-width:460px){.confidence-strip.pdc-confidence{grid-template-columns:minmax(0,1fr)}.confidence-strip.pdc-confidence .confidence-point{border-right:0;border-bottom:1px solid var(--line)}.confidence-strip.pdc-confidence .confidence-point:nth-child(3){grid-column:auto}.confidence-strip.pdc-confidence .confidence-link{grid-column:auto}}

/* About page: make the company story and named team easy to scan. */
.history-timeline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:-28px;margin-bottom:58px}.history-timeline article{display:flex;flex-direction:column;gap:8px;padding:20px 22px;background:var(--paper);border-top:2px solid var(--red)}.history-timeline strong{font-size:18px;line-height:1.3}.history-timeline span{font-size:14px;line-height:1.55;color:var(--muted)}.team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:36px}.team-grid article{padding:23px 22px 24px;background:#f6f7f8;border:1px solid var(--line);border-top:2px solid var(--red);border-radius:3px}.team-grid .team-role{display:block;margin-bottom:12px;color:var(--red);font-size:11px;line-height:1.45;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.team-grid h3{font-size:20px;line-height:1.25;margin-bottom:10px}.team-grid p{font-size:15px;line-height:1.65;margin:0}.team-footnote{margin-top:24px;padding:18px 20px;border-left:3px solid var(--red);background:var(--paper);font-size:15px;line-height:1.6}.company-history p{max-width:650px}
@media(max-width:900px){.team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.history-timeline{margin-top:0}}
@media(max-width:560px){.team-grid,.history-timeline{grid-template-columns:1fr;gap:14px}.team-grid{margin-top:24px}.team-grid article,.history-timeline article{padding:19px}.team-footnote{padding:16px}}

/* Original portraits of the company team. */
.team-portraits{grid-template-columns:repeat(6,minmax(0,1fr));gap:24px}.team-portraits .team-person{grid-column:span 2;padding:0;overflow:hidden;background:#fff}.team-portraits .team-person:nth-child(-n+2){grid-column:span 3}.team-portrait{display:block;width:100%;height:340px;object-fit:cover;object-position:center 25%;background:#e7e5e1}.team-portraits .team-person:nth-child(-n+2) .team-portrait{height:420px;object-position:center 22%}.team-person-copy{padding:24px}.team-person-copy h3{overflow-wrap:anywhere}.team-technical-title{margin:42px 0 0;font-size:24px;line-height:1.3}.team-technicians{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:22px}@media(max-width:760px){.team-portraits{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.team-portraits .team-person,.team-portraits .team-person:nth-child(-n+2){grid-column:auto}.team-portrait,.team-portraits .team-person:nth-child(-n+2) .team-portrait{height:330px;object-position:center 22%}.team-person-copy{padding:20px}}@media(max-width:560px){.team-portraits,.team-technicians{grid-template-columns:1fr}.team-portraits .team-person{padding:0}.team-portrait,.team-portraits .team-person:nth-child(-n+2) .team-portrait{height:auto;aspect-ratio:4/5;object-position:center 22%}.team-person-copy{padding:22px}.team-technical-title{font-size:22px}}

.team-field-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:32px}.team-field-gallery figure{margin:0;min-width:0;background:var(--paper)}.team-field-gallery img{width:100%;aspect-ratio:1;object-fit:cover;object-position:center}.team-field-gallery figure:first-child img{object-position:center bottom}.team-field-gallery figcaption{padding:20px 22px;line-height:1.6}.team-field-gallery figcaption strong,.team-field-gallery figcaption span{display:block}.team-field-gallery figcaption strong{font-size:18px;color:var(--ink);margin-bottom:6px}.team-field-gallery figcaption span{font-size:15px;color:var(--muted)}@media(max-width:560px){.team-field-gallery{grid-template-columns:1fr;gap:22px}}

/* Keep company, office and field photos in compact, balanced frames. */
.company-history img[src*="sede-nuova"]{width:100%;max-width:460px;max-height:360px;aspect-ratio:4/3;object-fit:cover;justify-self:center}.office-photo{width:min(100%,860px);margin-inline:auto}.office-photo img{height:auto;max-height:480px;aspect-ratio:16/9;object-fit:cover}.team-field-gallery figure{display:flex;flex-direction:column;align-items:center}.team-field-gallery img{width:100%;max-width:420px;aspect-ratio:1;height:auto;margin-inline:auto}.team-field-gallery figcaption{align-self:stretch}@media(max-width:560px){.company-history img[src*="sede-nuova"]{max-width:420px}.office-photo img{max-height:340px;aspect-ratio:4/3}.team-field-gallery img{max-width:340px}}

/* Nuovi servizi: lavori in quota e racconto della sede di Pescara */
.pescara-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.pescara-gallery figure{margin:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}.pescara-gallery img{width:100%;height:250px;object-fit:cover}.pescara-gallery figure:nth-child(2) img{object-position:center 38%}.pescara-gallery figcaption{padding:12px 15px;color:var(--muted);font-size:14px}.related-quota{padding-top:22px}.related-quota .button{margin-top:4px}
@media(max-width:760px){.pescara-gallery{grid-template-columns:1fr 1fr;gap:14px}.pescara-gallery img{height:190px}.pescara-gallery figure:last-child{grid-column:1/-1}.pescara-gallery figure:last-child img{height:220px}}
@media(max-width:480px){.pescara-gallery{grid-template-columns:1fr}.pescara-gallery figure:last-child{grid-column:auto}.pescara-gallery img,.pescara-gallery figure:last-child img{height:220px}}

/* Foto reali di cantiere e flusso leggibile per la pagina lavori in quota. */
.method-section .home-section-photo img,.home-project .home-section-photo img{height:420px;min-height:0;object-fit:cover;object-position:center 42%;border-radius:12px}.quota-example,.fieldwork-example{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:54px;align-items:center}.quota-example .service-photo,.fieldwork-example .service-photo{margin:0;max-width:520px;width:100%;justify-self:center;border-radius:12px;overflow:hidden}.quota-example .service-photo img,.fieldwork-example .service-photo img{height:440px;object-fit:cover;object-position:center 38%}.quota-process.service-detail{display:block;padding-block:65px}.quota-process .section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.7fr);align-items:end;gap:40px;margin-bottom:32px}.quota-process .section-head .eyebrow{grid-column:1/-1;margin-bottom:-20px}.quota-process .detail-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.quota-process .detail-grid article{padding:22px;border:1px solid var(--line);border-top:3px solid var(--red);border-radius:10px;background:#fff;min-width:0}.quota-step-label{display:inline-block;margin-bottom:14px;color:var(--red);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.quota-process .detail-grid h3{font-size:21px;line-height:1.25}.quota-process .service-note{margin-top:24px;padding:18px 20px;border-left:3px solid var(--red);background:var(--paper)}
@media(max-width:850px){.quota-example,.fieldwork-example{grid-template-columns:1fr;gap:28px}.quota-example .service-photo,.fieldwork-example .service-photo{max-width:100%}.quota-process .section-head{display:block}.quota-process .section-head .eyebrow{margin-bottom:16px}.quota-process .detail-grid{grid-template-columns:1fr 1fr}.quota-process .detail-grid article:last-child{grid-column:1/-1}}
@media(max-width:560px){.method-section .home-section-photo img,.home-project .home-section-photo img{height:300px}.quota-example .service-photo img,.fieldwork-example .service-photo img{height:350px}.quota-process .detail-grid{grid-template-columns:1fr}.quota-process .detail-grid article:last-child{grid-column:auto}.quota-process.service-detail{padding-block:45px}}
@media(min-width:1101px){.history-timeline{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:850px){.history-timeline{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.history-timeline{grid-template-columns:1fr}}
@media(max-width:850px){.method-section .home-section-photo img{height:auto;min-height:0;aspect-ratio:4/3}}
.edison-history{padding-block:35px 55px;gap:48px}.edison-history figure{margin:0}.edison-history figure img{border-radius:10px}.edison-history figcaption{padding-top:9px;font-size:13px;color:var(--muted)}
.edison-history{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:42px}.edison-history figure img{width:100%;height:auto;aspect-ratio:2048/1146;object-fit:contain}
@media(max-width:850px){.edison-history{grid-template-columns:1fr;gap:24px}.edison-history figure img{width:100%;height:auto;aspect-ratio:2048/1146;object-fit:contain}}
/* Illustrative service photography: compact cards that stay adjacent to their related copy. */
.inline-illustration{margin:0;min-width:0}.inline-illustration img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px}.inline-illustration figcaption{margin-top:6px;color:#747b84;font-size:10px;line-height:1.35;letter-spacing:.035em}.detail-grid article.has-illustration{display:grid;grid-template-columns:minmax(125px,.8fr) minmax(0,1.5fr);align-items:center;gap:17px;min-width:0}.detail-grid article.has-illustration .illustrated-copy{min-width:0}.detail-grid article.has-illustration h2,.detail-grid article.has-illustration h3{font-size:clamp(18px,1.55vw,22px)}.detail-grid article.has-illustration p{font-size:14px;line-height:1.62;margin-bottom:0}.choice-grid>article.has-illustration{display:flex;flex-direction:column;gap:12px;align-items:stretch}.choice-grid>article.has-illustration .inline-illustration{order:-1}.choice-grid>article.has-illustration h3{font-size:20px}.choice-grid>article.has-illustration p{margin-bottom:0}.steps article.has-illustration{display:grid;grid-template-columns:minmax(100px,.72fr) minmax(0,1.4fr);gap:16px;align-items:start}.steps article.has-illustration .inline-illustration{grid-row:1 / span 3}.steps article.has-illustration>span{margin:0}.steps article.has-illustration h3{margin:0}.steps article.has-illustration p{grid-column:2;margin-bottom:0}.quota-process .section-head .eyebrow{grid-column:auto;margin-bottom:16px}
@media(max-width:850px){.detail-grid article.has-illustration{grid-template-columns:120px minmax(0,1fr);gap:15px}.choice-grid>article.has-illustration{display:flex}.steps article.has-illustration{grid-template-columns:110px minmax(0,1fr)}}
@media(max-width:560px){.detail-grid article.has-illustration{grid-template-columns:1fr;gap:13px}.detail-grid article.has-illustration .inline-illustration img{aspect-ratio:16/9;max-height:240px}.detail-grid article.has-illustration h2,.detail-grid article.has-illustration h3{font-size:21px}.steps article.has-illustration{grid-template-columns:1fr;gap:12px}.steps article.has-illustration .inline-illustration{grid-row:auto}.steps article.has-illustration .inline-illustration img{aspect-ratio:16/9;max-height:220px}.steps article.has-illustration p{grid-column:auto}}
.team-grid article.has-illustration,.depth-grid article.has-illustration{display:flex;flex-direction:column;gap:12px}.team-grid article.has-illustration .inline-illustration,.depth-grid article.has-illustration .inline-illustration{order:-1}.team-grid article.has-illustration .inline-illustration img,.depth-grid article.has-illustration .inline-illustration img{aspect-ratio:4/3}


/* Responsive image frames: keep service illustrations landscape and text-adjacent. */
.inline-illustration img{aspect-ratio:3/2;object-fit:cover;object-position:center 45%;height:auto;}
.choice-grid>article.has-illustration .inline-illustration img{width:100%;max-height:240px;}
.detail-grid article.has-illustration .inline-illustration img,.steps article.has-illustration .inline-illustration img{max-height:210px;}
.staff-person-card{display:grid;grid-template-columns:minmax(135px,.9fr) minmax(0,1.5fr);align-items:start;gap:17px;padding-top:24px;border-top:2px solid var(--red);min-width:0;}
.staff-person-photo{margin:0;min-width:0;}
.staff-person-photo img{display:block;width:100%;aspect-ratio:4/5;height:auto;max-height:230px;object-fit:cover;object-position:center 20%;border-radius:6px;background:var(--paper);}
.staff-person-photo figcaption{margin-top:6px;color:var(--muted);font-size:11px;line-height:1.4;}
.staff-person-card .illustrated-copy{min-width:0;}
.home-team-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:22px 0 18px;}
.home-team-person{margin:0;min-width:0;}
.home-team-person img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center 20%;border-radius:5px;background:var(--paper);}
.home-team-person figcaption{padding-top:7px;line-height:1.25;}
.home-team-person strong,.home-team-person span{display:block;}
.home-team-person strong{font-size:12px;color:var(--ink);}
.home-team-person span{margin-top:3px;color:var(--muted);font-size:10px;line-height:1.3;}
@media(max-width:560px){.inline-illustration img{aspect-ratio:16/10}.choice-grid>article.has-illustration .inline-illustration img,.detail-grid article.has-illustration .inline-illustration img,.steps article.has-illustration .inline-illustration img{max-height:210px}.staff-person-card{grid-template-columns:104px minmax(0,1fr);gap:13px}.staff-person-photo img{max-height:170px}.home-team-strip{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:8px;padding-bottom:8px}.home-team-person{flex:0 0 82px;scroll-snap-align:start}.home-team-person strong{font-size:10px}.home-team-person span{font-size:9px}}

/* Visual hierarchy: larger chapter photography, clearer people and a stronger service badge. */
.detail-grid article.has-illustration{display:flex;flex-direction:column;align-items:stretch;gap:18px;padding:0 0 26px;border:1px solid var(--line);border-top:3px solid var(--red);border-radius:12px;background:#fff;overflow:hidden;box-shadow:0 12px 30px rgba(23,28,34,.05)}
.detail-grid article.has-illustration .inline-illustration{order:-1;width:100%}
.detail-grid article.has-illustration .inline-illustration img{width:100%;max-height:none;aspect-ratio:16/9;border-radius:0;object-fit:cover}
.detail-grid article.has-illustration .inline-illustration figcaption{margin:0;padding:7px 20px 0;font-size:11px}
.detail-grid article.has-illustration .illustrated-copy{padding:0 22px 2px}
.detail-grid article.has-illustration h2,.detail-grid article.has-illustration h3{font-size:clamp(21px,1.8vw,27px)}
.detail-grid article.has-illustration p{font-size:16px;line-height:1.72}
.choice-grid>article.has-illustration .inline-illustration img{max-height:none;aspect-ratio:16/10}
.steps article.has-illustration{display:flex;flex-direction:column;align-items:stretch;gap:13px}
.steps article.has-illustration .inline-illustration{order:-1;width:100%;grid-row:auto}
.steps article.has-illustration .inline-illustration img{width:100%;max-height:none;aspect-ratio:16/10}
.steps article.has-illustration>span,.steps article.has-illustration h3,.steps article.has-illustration p{grid-column:auto}

.home-team-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:26px}
.home-team-person img{border-radius:9px;box-shadow:0 8px 22px rgba(23,28,34,.10)}
.home-team-person strong{font-size:14px;line-height:1.3}
.home-team-person span{font-size:12px;line-height:1.4}

.brand-strip{background:linear-gradient(105deg,#f4f6f8 0%,#edf1f5 100%);border-block:1px solid #d8dde3}
.brand-strip .wrap{display:grid;grid-template-columns:minmax(190px,1.15fr) repeat(4,minmax(140px,1fr));gap:14px;padding-block:28px}
.brand-strip span{align-self:center;color:var(--red);font-weight:700;letter-spacing:.12em;line-height:1.5}
.brand-strip strong{display:flex;align-items:center;justify-content:center;min-height:68px;padding:14px 16px;background:#fff;border:1px solid #d8dde3;border-radius:10px;color:#272e36;text-align:center;box-shadow:0 8px 24px rgba(23,28,34,.06)}
.brand-strip strong::before{content:"";width:7px;height:7px;flex:0 0 7px;margin-right:10px;border-radius:50%;background:var(--red);box-shadow:0 0 0 4px rgba(164,19,28,.10)}

@media(max-width:1000px){
  .menu-toggle{display:block;border:1px solid var(--line);background:white;padding:9px 15px;font-size:14px}
  .header-inner{min-height:75px}.brand{height:74px;width:255px}
  .header-inner nav{display:none;position:absolute;top:100%;left:0;right:0;padding:25px;background:white;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;font-size:16px;gap:20px}
  .header-inner nav.open{display:flex}
  .service-detail{grid-template-columns:1fr;gap:36px}
  .service-detail aside{position:static}
  .company-slice{grid-template-columns:1fr;gap:34px}
  .brand-strip .wrap{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .brand-strip span{grid-column:1/-1}
}
@media(max-width:560px){
  .detail-grid article.has-illustration .inline-illustration img{max-height:none;aspect-ratio:16/10}
  .detail-grid article.has-illustration .illustrated-copy{padding-inline:18px}
  .home-team-strip{display:flex;gap:12px;padding-bottom:10px}
  .home-team-person{flex:0 0 128px}
  .home-team-person strong{font-size:12px}.home-team-person span{font-size:11px}
  .brand-strip .wrap{grid-template-columns:1fr 1fr;gap:10px}
  .brand-strip strong{min-height:62px;padding:12px 10px;font-size:14px}
}
