/* TERMOFIRE / STILE 1 — Bold typography, blue tones and selective orange accents. */
:root { --ink:#092b5c; --dark:#061f46; --ice:#d8e8ff; --paper:#f3f7ff; --white:#fff; --blue:#9bc0ff; --royal:#1455b5; --orange:#ff8a32; --line:#cfdbed; --max:1392px; --display:Impact,'Arial Narrow','Helvetica Neue',Arial,sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:120px; }
body { margin:0; background:var(--paper); color:var(--ink); font:16px/1.5 Arial,Helvetica,sans-serif; -webkit-font-smoothing:antialiased; }
body.menu-open { overflow:hidden; }
a { color:inherit; text-decoration:none; }
button,input,select,textarea { font:inherit; }
button { cursor:pointer; color:inherit; }
a,button { touch-action:manipulation; -webkit-tap-highlight-color:transparent; }
svg { width:24px; height:24px; stroke:currentColor; fill:none; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0; }
img { display:block; width:100%; height:auto; }
h1,h2,h3,p { margin:0; }
h1,h2 { font-family:var(--display); font-weight:400; text-transform:uppercase; letter-spacing:-.025em; line-height:.98; }
h2 { font-size:clamp(48px,5.8vw,84px); }
h3 { font-weight:700; font-size:30px; line-height:1.08; letter-spacing:-.055em; }
.serif { font:inherit; }
.svg-library { position:absolute; width:0; height:0; overflow:hidden; }
.container { width:min(var(--max),calc(100% - 96px)); margin-inline:auto; }
.section { padding-block:110px; }
.eyebrow,.small-caps { font-size:11px; font-weight:600; letter-spacing:.1em; line-height:1.4; }
.eyebrow { display:flex; align-items:center; gap:10px; margin-bottom:30px; }
.status-dot { width:7px; height:7px; border-radius:50%; display:inline-block; background:currentColor; }
.small-caps { display:block; }
.muted { color:#5a7192; }
:focus-visible { outline:3px solid #588dff; outline-offset:5px; }
.skip { position:fixed; top:-100px; left:20px; z-index:100; padding:14px 22px; background:var(--ice); color:var(--ink); }
.skip:focus { top:15px; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:22px; min-height:54px; padding:10px 24px; border:1px solid transparent; border-radius:100px; font-size:14px; font-weight:600; line-height:1.3; transition:background .18s,transform .18s; }
.button:hover { transform:translateY(-2px); }
.button-dark { background:var(--ink); color:var(--paper); }
.button-dark:hover { background:#154982; }
.button-outline { background:transparent; border-color:currentColor; }
.button-outline:hover { background:var(--ice); color:var(--ink); }
.button-green { background:var(--ice); color:var(--ink); }
.button-green:hover { background:#e8f1ff; }
.button-circle { width:34px; height:34px; display:flex; align-items:center; justify-content:center; border-radius:50%; background:var(--ice); color:var(--ink); margin-right:-15px; }
.button-circle svg { width:18px; height:18px; }
.round-button { display:flex; align-items:center; justify-content:center; width:46px; height:46px; background:var(--ink); color:var(--paper); border:0; border-radius:50%; flex-shrink:0; }
.round-button:hover { background:var(--ice); color:var(--ink); }
.text-link { display:inline-flex; gap:14px; align-items:center; font-size:14px; border-bottom:1px solid currentColor; padding-bottom:5px; }
.text-link svg { width:20px; height:20px; }
/* Fixed navigation */
.header { width:min(1490px,calc(100% - 48px)); position:fixed; z-index:40; top:18px; left:50%; transform:translateX(-50%); display:flex; align-items:center; gap:25px; min-height:86px; padding:9px 18px; background:var(--paper); color:var(--ink); border-radius:12px; border:1px solid #ffffff70; }
.header.is-scrolled { box-shadow:0 8px 25px #031a3c22; }
.brand { display:flex; align-items:center; gap:10px; flex-shrink:0; }
.brand-logo { width:62px; height:62px; border-radius:50%; object-fit:contain; background:#fff; }
.brand-wordmark { font-size:23px; line-height:1.05; letter-spacing:-1px; font-weight:700; }
.brand-sub { display:block; font-size:8px; letter-spacing:.32em; margin-top:5px; font-weight:500; }
.desktop-nav { display:flex; gap:25px; margin-left:auto; }
.desktop-nav a { font-weight:600; font-size:14px; padding:14px 0; }
.desktop-nav a:hover,.desktop-nav a[aria-current] { text-decoration:underline; text-underline-offset:6px; }
.header-actions { display:flex; align-items:center; gap:8px; margin-left:auto; }
.header-call { gap:9px; padding:9px 16px; min-height:49px; }
.header-call>svg { width:18px; height:18px; }
.header-call>span { display:flex; flex-direction:column; gap:3px; }
.call-label { font-size:11px; font-weight:500; }
.header-call strong { font-size:12px; font-weight:600; }
.header-whatsapp { background:#e5efff; min-height:49px; padding:10px 16px; gap:9px; font-size:12px; }
.header-whatsapp>svg { width:20px; height:20px; }
.menu-toggle { display:none; position:relative; width:44px; height:44px; border:0; border-radius:50%; background:var(--ink); flex-shrink:0; }
.menu-toggle span { position:absolute; left:13px; top:17px; width:18px; height:1px; background:var(--paper); }
.menu-toggle span+span { top:25px; }
.menu-toggle[aria-expanded=true] span { top:21px; transform:rotate(45deg); }
.menu-toggle[aria-expanded=true] span+span { transform:rotate(-45deg); }
.mobile-nav { display:none; }
/* Centered typographic hero + three-part gallery */
.hero.container { width:100%; max-width:none; margin:0; padding:159px max(48px,calc((100% - var(--max))/2)) 0; background:var(--dark); color:var(--paper); }
.hero-copy { text-align:center; }
.hero-copy>.eyebrow { justify-content:center; color:#c5dbff; margin-bottom:28px; }
.hero h1 { font-size:clamp(80px,10.6vw,160px); letter-spacing:-.025em; }
.hero h1>span { display:block; }
.hero h1>span+span { color:var(--ice); }
.hero-description { margin-top:27px; font-size:17px; line-height:1.6; }
.hero-description br { display:none; }
.hero-actions { display:flex; justify-content:center; align-items:center; gap:28px; margin-top:26px; }
.hero-actions .button-dark { background:var(--orange); color:var(--dark); }
.hero-actions .button-circle { background:var(--dark); color:var(--orange); }
.hero-footnote { display:flex; gap:8px; align-items:center; justify-content:center; margin-top:23px; margin-bottom:38px; font-size:11px; color:#c4d6ee; }
.tiny-check { display:flex; }
.tiny-check svg { width:15px; height:15px; }
.hero-visual { display:grid; grid-template-columns:.86fr 1.15fr .86fr; grid-template-rows:360px auto; gap:16px; position:relative; }
.hero-bath-photo { grid-column:1; grid-row:1/3; position:relative; overflow:hidden; border-radius:180px 180px 0 0; min-height:480px; }
.hero-bath-photo img { width:100%; height:100%; object-fit:cover; object-position:29% center; }
.hero-bath-photo>span { position:absolute; bottom:23px; left:20px; right:20px; padding:16px; background:var(--paper); color:var(--ink); font-size:17px; font-weight:600; letter-spacing:-.035em; }
.appliance-scene { grid-column:2; grid-row:1/3; min-height:480px; overflow:hidden; position:relative; background:var(--ice); color:var(--ink); border-radius:10px; }
.scene-top { position:absolute; z-index:2; top:22px; left:23px; right:23px; display:flex; align-items:center; justify-content:space-between; gap:15px; }
.scene-top .small-caps { font-size:9px; }
.scene-spark { width:24px; height:24px; }
.hero-boiler { position:absolute; width:100%; height:100%; object-fit:cover; object-position:50% 42%; top:0; left:0; }
.scene-orbit { display:none; }
.floating-label { position:absolute; top:50%; left:17px; background:var(--ink); color:var(--paper); display:flex; align-items:center; gap:8px; padding:11px 13px; border-radius:100px; font-size:10px; }
.floating-label .status-dot { background:var(--ice); width:5px; height:5px; }
.scene-bottom { position:absolute; bottom:22px; left:23px; right:23px; display:flex; align-items:center; justify-content:space-between; font-size:23px; line-height:1.1; letter-spacing:-.05em; }
.scene-bottom strong { font-weight:600; }
.hero-climate-photo { grid-column:3; grid-row:1; position:relative; background:var(--blue); color:var(--ink); display:flex; align-items:center; justify-content:center; border-radius:180px 180px 10px 10px; overflow:hidden; }
.hero-climate-photo img { width:100%; height:100%; object-fit:cover; object-position:50% 28%; max-width:unset; }
.hero-climate-photo>span { z-index:2; color:#fff; position:absolute; bottom:24px; left:25px; right:25px; font-size:18px; font-weight:600; line-height:1.2; letter-spacing:-.03em; }
.hero-offer { grid-column:3; grid-row:2; padding:18px; display:grid; grid-template-columns:1fr auto; gap:7px 10px; align-items:center; background:var(--paper); color:var(--ink); border-radius:9px; }
.offer-mini-icon { display:none; }
.hero-offer .small-caps { font-size:8px; letter-spacing:.03em; }
.hero-offer strong { display:block; font-size:12px; font-weight:500; line-height:1.3; margin-top:7px; max-width:145px; }
.hero-price { font-family:var(--display); font-size:50px; line-height:1; letter-spacing:-.04em; }
.hero-price>span { font:20px Arial,sans-serif; margin-left:2px; }
.visual-note { grid-column:1/-1; font-size:9px; text-align:center; color:#bcd0ed; padding-bottom:17px; }
.quick-nav { display:grid; grid-template-columns:repeat(3,1fr); margin-top:0; background:var(--royal); color:#fff; border-radius:0 0 10px 10px; padding:0 22px; }
.quick-nav a { display:flex; gap:16px; align-items:center; padding:24px; font-size:21px; font-weight:700; letter-spacing:-.045em; }
.quick-nav a+a { border-left:1px solid #aec8f14d; }
.quick-number { color:#ffd0a8; font:11px Arial,sans-serif; letter-spacing:0; }
.quick-nav svg { margin-left:auto; width:25px; height:25px; }
/* Service gallery */
.section-top { display:flex; align-items:flex-end; justify-content:space-between; gap:55px; margin-bottom:46px; }
.section-intro { max-width:340px; font-size:15px; line-height:1.6; color:#536b8d; }
.services-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; align-items:start; }
.service-card { background:#e6efff; border-radius:10px; overflow:hidden; }
.service-card:nth-child(2) { background:var(--dark); color:var(--paper); margin-top:65px; }
.service-card:nth-child(3) { background:#e1ebfc; margin-top:130px; }
.service-art { height:320px; position:relative; overflow:hidden; }
.service-art>.tag { position:absolute; z-index:2; top:21px; left:21px; }
.climate-art>.tag,.bathroom-art>.tag { left:50%; transform:translateX(-50%); white-space:nowrap; }
.tag { display:inline-flex; align-items:center; border-radius:100px; padding:8px 13px; font-size:11px; line-height:1.2; background:var(--paper); color:var(--ink); }
.boiler-art { background:var(--ice); }
.boiler-art img { height:100%; width:100%; object-fit:cover; object-position:50% 25%; margin-top:0; }
.climate-art { background:var(--blue); border-radius:190px 190px 0 0; }
.climate-art img { height:100%; object-fit:cover; object-position:50% 25%; }
.bathroom-art { border-radius:190px 190px 0 0; }
.bathroom-art img { height:100%; object-fit:cover; object-position:25% center; }
.service-body { padding:25px 25px 22px; }
.card-heading { display:flex; justify-content:space-between; align-items:center; gap:12px; }
.card-heading h3 { font-size:34px; }
.card-heading>svg { width:27px; height:30px; }
.service-checklist { padding:0; margin:24px 0; list-style:none; display:grid; gap:11px; }
.service-checklist li { display:flex; gap:9px; align-items:center; font-size:15px; }
.service-checklist svg { width:17px; height:17px; stroke-width:2; }
.service-link { display:flex; justify-content:space-between; gap:10px; align-items:center; margin-top:27px; padding-top:19px; border-top:1px solid currentColor; font-size:12px; }
.service-link .round-button { width:35px; height:35px; }
.service-link svg { width:18px; height:18px; }
.service-card:nth-child(2) .round-button { background:var(--ice); color:var(--ink); }
/* Commercial offers */
.offers-section { background:var(--dark); color:var(--paper); padding:100px 0 90px; }
.offers-section .muted { color:var(--ice); }
.offers-section .section-intro { color:#c5d8f3; }
.offers-section .eyebrow { color:#c5d8f3; }
.offers-grid { display:grid; grid-template-columns:1fr 1fr 1.13fr; gap:20px; }
.price-card { background:var(--paper); color:var(--ink); padding:28px; border-radius:10px; display:flex; flex-direction:column; }
.price-top { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:35px; }
.icon-tile { width:47px; height:47px; display:flex; justify-content:center; align-items:center; background:var(--ice); border-radius:50%; }
.icon-tile svg { width:26px; height:28px; }
.price-top .tag { border:1px solid #a9bddb; background:transparent; }
.price-card h3 { min-height:80px; font-family:var(--display); font-weight:400; font-size:42px; letter-spacing:-.02em; text-transform:uppercase; line-height:.99; }
.price { font-family:var(--display); font-size:115px; line-height:1; letter-spacing:-.025em; margin-top:24px; }
.price>span { font-family:Arial,sans-serif; font-size:45px; margin-left:5px; }
.price-note { font-size:12px; margin-top:8px; }
.check-list { padding:24px 0 0; border-top:1px solid #a9bddb; margin:25px 0 30px; list-style:none; }
.check-list li { display:flex; gap:9px; align-items:flex-start; font-size:14px; line-height:1.5; padding-bottom:11px; }
.check-list li:before { content:'✓'; font-size:13px; }
.offer-cta { width:100%; margin-top:auto; min-height:52px; font-size:13px; padding-inline:17px; justify-content:space-between; gap:12px; }
.offer-cta svg { width:20px; height:20px; }
.price-featured { background:var(--ice); }
.price-featured .icon-tile { background:var(--ink); color:var(--ice); }
.price-featured .tag { border-color:var(--orange); background:var(--orange); color:var(--dark); }
.price-featured .button-green { background:var(--royal); color:#fff; }
.pricing-detail { margin-top:26px; color:#c5d8f3; text-align:center; font-size:11px; }
/* Full-bleed photographic bathroom environment */
.bathroom-section.container { width:100%; max-width:none; position:relative; min-height:960px; padding:105px max(48px,calc((100% - var(--max))/2)); background:var(--dark); color:var(--paper); overflow:hidden; }
.bathroom-visual { position:absolute; inset:0; }
.bathroom-visual>img { height:100%; object-fit:cover; object-position:25% center; }
.bathroom-visual:after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#061f4600 22%,#061f46c9 54%,#061f46ed 100%); }
.bathroom-tag { position:absolute; z-index:2; top:45px; left:48px; }
.bathroom-caption { position:absolute; z-index:2; bottom:65px; left:48px; display:flex; gap:20px; align-items:center; padding:22px; background:var(--paper); color:var(--ink); font-size:24px; letter-spacing:-.04em; line-height:1.15; }
.bathroom-caption .round-button { background:var(--ice); color:var(--ink); }
.illustration-label { position:absolute; z-index:2; bottom:28px; left:48px; font-size:9px; letter-spacing:.09em; background:#061f46bd; padding:5px 8px; }
.bathroom-copy { position:relative; z-index:3; margin-left:auto; width:49%; }
.bathroom-copy h2 { font-size:clamp(56px,5.4vw,78px); }
.body-large { margin-top:26px; font-size:16px; line-height:1.7; }
.bathroom-copy .body-large { color:#e1ecfc; }
.bathroom-details { margin:30px 0; border-top:1px solid #c2d9fa80; }
.bathroom-details>div { display:flex; align-items:center; gap:17px; padding:14px 0; border-bottom:1px solid #c2d9fa80; }
.bathroom-details>div>span { font-size:11px; color:var(--ice); }
.bathroom-details p { font-size:14px; }
.bathroom-copy>.button { background:var(--ice); color:var(--ink); }
.bathroom-copy .button-circle { background:var(--ink); color:var(--ice); }
.bathroom-note { display:flex; align-items:center; gap:9px; width:fit-content; padding:10px 14px; margin-top:23px; background:var(--paper); color:var(--ink); font-size:19px; }
.bathroom-note svg { width:22px; height:22px; }
.bathroom-area { display:flex; align-items:flex-start; gap:9px; margin-top:18px; font-size:14px; }
.bathroom-area svg { width:20px; height:20px; }
/* Company and working principles */
.about-heading { display:grid; grid-template-columns:1.2fr 1fr; gap:15px 80px; align-items:end; }
.about-heading .eyebrow { grid-column:1/-1; margin-bottom:15px; }
.about-heading h2 { font-size:clamp(50px,5.4vw,78px); }
.about-heading>p:last-child { font-size:16px; line-height:1.7; color:#536b8d; max-width:580px; }
.values-grid { display:grid; grid-template-columns:1fr 1fr; gap:0 70px; margin-top:65px; }
.value-card { display:grid; grid-template-columns:55px 1fr auto; gap:18px; padding:30px 0; border-top:1px solid var(--ink); }
.value-card h3 { font-size:28px; }
.value-card p { margin-top:13px; font-size:15px; line-height:1.6; color:#536b8d; }
.value-index { font-family:var(--display); font-size:40px; line-height:1; color:#6a86af; }
/* Contact */
.contact-wrap { background:var(--royal); color:#fff; padding:95px 0; }
.contact-section { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
.contact-copy h2 { font-size:clamp(65px,6.7vw,100px); }
.contact-copy .body-large { max-width:440px; }
.contact-phone { font-family:var(--display); display:flex; align-items:center; gap:20px; font-size:44px; letter-spacing:-.02em; margin-top:39px; width:fit-content; }
.contact-phone svg { width:28px; height:28px; }
.contact-email { display:flex; align-items:center; gap:18px; width:fit-content; font-size:17px; margin-top:13px; overflow-wrap:anywhere; }
.contact-email svg { width:20px; height:20px; }
.contact-links { margin-top:27px; }
.contact-links .button { gap:10px; }
.contact-links svg { width:21px; height:21px; }
.contact-area { margin-top:30px; display:flex; align-items:center; gap:8px; font-size:13px; }
.contact-area svg { width:18px; height:18px; }
.contact-form { color:var(--ink); background:var(--paper); padding:34px; border-radius:10px; }
.form-heading { display:flex; align-items:center; justify-content:space-between; gap:15px; }
.form-heading h3 { font-size:30px; }
.contact-form>p:first-of-type { font-size:14px; line-height:1.6; margin-top:15px; margin-bottom:27px; max-width:330px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.form-field { margin-bottom:20px; min-width:0; }
.form-field label { display:block; font-size:12px; margin-bottom:9px; }
.form-field input,.form-field select,.form-field textarea { display:block; width:100%; min-height:49px; padding:12px 13px; border:1px solid #bacde7; border-radius:5px; color:var(--ink); background:#fff; font-size:15px; }
.form-field textarea { resize:vertical; min-height:110px; }
.form-field select { padding-right:25px; }
.form-field input::placeholder,.form-field textarea::placeholder { color:#5d7390; opacity:1; }
.form-privacy { font-size:11px; line-height:1.6; color:#536a89; }
.inline-button { padding:0; border:0; background:none; text-decoration:underline; text-underline-offset:3px; font:inherit; }
.form-submit { width:100%; justify-content:space-between; margin-top:24px; padding-left:23px; }
.form-status { font-size:12px; margin-top:14px; }
.form-status:empty { display:none; }
/* Footer and privacy */
.footer.container { width:100%; max-width:none; margin:0; background:var(--dark); color:var(--paper); padding:50px max(48px,calc((100% - var(--max))/2)) 25px; }
.footer-top { display:flex; gap:30px; justify-content:space-between; align-items:center; padding-bottom:45px; }
.footer .brand-logo { width:80px; height:80px; }
.footer-top>p { font-family:var(--display); font-size:36px; text-transform:uppercase; letter-spacing:-.01em; }
.back-top { display:flex; align-items:center; gap:16px; font-size:12px; }
.back-top svg { width:20px; height:20px; }
.footer-bottom { display:flex; gap:25px; align-items:center; justify-content:space-between; border-top:1px solid #b8d0f05c; padding-top:20px; color:#c5d7ef; font-size:11px; }
dialog { width:min(580px,calc(100% - 32px)); max-height:85dvh; border:0; border-radius:10px; padding:30px; background:var(--paper); color:var(--ink); }
dialog::backdrop { background:#031a3cc9; }
.dialog-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:25px; }
.dialog-heading h2 { font-family:Arial,sans-serif; font-weight:600; font-size:30px; text-transform:none; letter-spacing:-.04em; }
.dialog-heading .round-button { font-size:28px; }
dialog p { font-size:14px; line-height:1.7; margin-top:15px; }
dialog a { text-decoration:underline; overflow-wrap:anywhere; }

/* Photographic panels and limited orange brand details. */
.appliance-scene:after,.hero-climate-photo:after { content:''; position:absolute; inset:0; pointer-events:none; background:linear-gradient(180deg,#061f461c 0%,#061f4600 45%,#061f46cc 100%); }
.scene-top { color:#fff; }
.scene-top .small-caps { background:#061f46c9; padding:7px 9px; border-radius:4px; }
.scene-spark { color:var(--orange); }
.scene-bottom { z-index:2; color:#fff; }
.scene-bottom .round-button { background:var(--orange); color:var(--dark); }
.floating-label { z-index:2; top:70px; background:#061f46d9; color:#fff; }
.floating-label .status-dot { background:var(--orange); }
.hero-copy>.eyebrow .status-dot { background:var(--orange); }
.header-call .call-label { color:#ffd1ad; }
.quick-nav svg { color:#ffd1ad; }
.value-green .icon-tile { background:#ffe2ca; color:var(--ink); }
.bathroom-copy>.button { background:var(--orange); color:var(--dark); }
.bathroom-copy .button-circle { background:var(--dark); color:var(--orange); }
.bathroom-note svg { color:#a83b00; }
.contact-wrap .contact-links .button-outline { border-color:#bdd8ff; color:#fff; }
.contact-wrap .contact-links .button-outline:hover { color:var(--ink); }
.contact-copy .eyebrow { color:#dceaff; }
.form-submit .button-circle { background:var(--orange); color:var(--dark); }
:focus-visible { outline-color:#ed6a13; }

@media(min-width:1700px) {
 :root { --max:1536px; }
 .hero-visual { grid-template-rows:410px auto; }
 .hero-bath-photo,.appliance-scene { min-height:535px; }
 .hero-climate-photo { min-height:410px; }
 .service-art { height:360px; }
 .section { padding-block:130px; }
}
@media(max-width:1180px) {
 .container { width:calc(100% - 64px); }
 .header { gap:15px; }
 .desktop-nav { display:none; }
 .menu-toggle { display:block; }
 .mobile-nav:not([hidden]) { display:flex; flex-direction:column; position:absolute; top:98px; left:0; right:0; background:var(--paper); padding:20px; border-radius:12px; box-shadow:0 10px 25px #031a3c33; max-height:calc(100dvh - 130px); overflow-y:auto; }
 .mobile-nav>a { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:14px 7px; border-bottom:1px solid #c3d3ea; font-size:27px; font-weight:600; letter-spacing:-.04em; }
 .mobile-nav>a>span { font-size:12px; letter-spacing:0; }
 .mobile-nav>.mobile-phone,.mobile-nav>.mobile-whatsapp { font-size:17px; border:0; }
 .mobile-nav>.mobile-phone>span { font-size:14px; }
 .hero.container { padding-inline:32px; padding-top:145px; }
 .hero h1 { font-size:11vw; }
 .hero-visual { grid-template-rows:300px auto; gap:13px; }
 .hero-bath-photo,.appliance-scene { min-height:425px; }
 .scene-top { left:18px; right:18px; }
 .scene-top .small-caps { font-size:8px; }
 .scene-bottom { left:18px; right:18px; font-size:20px; }
 .hero-price { font-size:41px; }
 .hero-offer { padding:14px; }
 .hero-offer strong { font-size:10px; }
 .hero-offer .small-caps { font-size:7px; }
 .hero-climate-photo>span { font-size:16px; left:18px; right:18px; }
 .quick-nav { width:calc(100% - 64px); padding-inline:8px; }
 .quick-nav a { font-size:18px; padding:22px 17px; gap:10px; }
 .service-art { height:270px; }
 .services-grid { gap:18px; }
 .service-body { padding:23px 19px; }
 .card-heading h3 { font-size:28px; }
 .service-checklist li { font-size:14px; }
 .price-card { padding:24px 20px; }
 .price-card h3 { font-size:35px; }
 .price { font-size:96px; }
 .check-list li { font-size:13px; }
 .offer-cta { font-size:11px; padding-inline:14px; }
 .bathroom-section.container { padding-inline:32px; }
 .bathroom-copy { width:50%; }
 .bathroom-caption,.bathroom-tag,.illustration-label { left:32px; }
 .contact-section { gap:40px; }
 .contact-form { padding:28px; }
 .contact-phone { font-size:35px; }
 .contact-email { font-size:15px; }
 .footer.container { padding-inline:32px; }
 .footer-top>p { font-size:30px; }
}
@media(max-width:850px) {
 .hero h1 { font-size:11vw; }
 .hero-description { max-width:500px; margin-inline:auto; font-size:16px; }
 .hero-visual { grid-template-columns:.8fr 1fr; grid-template-rows:350px auto; }
 .hero-bath-photo,.appliance-scene { min-height:350px; grid-row:1; }
 .hero-climate-photo { display:none; }
 .hero-offer { grid-column:1/-1; grid-row:2; grid-template-columns:1fr auto; padding:22px 25px; }
 .hero-offer strong { font-size:15px; max-width:none; }
 .hero-offer .small-caps { font-size:10px; }
 .hero-price { font-size:57px; }
 .visual-note { grid-row:3; }
 .hero-boiler { height:100%; top:0; }
 .floating-label { font-size:9px; padding:9px 11px; left:10px; }
 .scene-bottom { font-size:18px; bottom:17px; }
 .hero-bath-photo>span { font-size:16px; padding:14px; }
 .section { padding-block:80px; }
 .section-top { gap:35px; }
 .section-top h2 { font-size:58px; }
 .section-intro { max-width:250px; font-size:14px; }
 .services-grid { grid-template-columns:1fr 1fr; }
 .service-card:nth-child(2) { margin-top:55px; }
 .service-card:nth-child(3) { margin-top:0; grid-column:1/-1; display:grid; grid-template-columns:1fr 1fr; }
 .service-card:nth-child(3) .service-art { height:100%; min-height:300px; border-radius:0; }
 .service-art { height:280px; }
 .offers-grid { grid-template-columns:1fr 1fr; }
 .price-featured { grid-column:1/-1; display:grid; grid-template-columns:1fr 1fr; gap:0 35px; }
 .price-featured .price-top { grid-column:1; grid-row:1; }
 .price-featured h3 { grid-column:1; grid-row:2; min-height:0; }
 .price-featured .price { grid-column:1; grid-row:3; }
 .price-featured .price-note { grid-column:1; grid-row:4; }
 .price-featured .check-list { grid-column:2; grid-row:1/4; align-self:center; }
 .price-featured .offer-cta { grid-column:2; grid-row:4; align-self:end; }
 .bathroom-section.container { padding-block:90px; min-height:960px; }
 .bathroom-copy { width:57%; }
 .bathroom-copy h2 { font-size:57px; }
 .bathroom-visual:after { background:linear-gradient(90deg,#061f4622,#061f46dd 45%,#061f46ed); }
 .bathroom-caption { font-size:18px; max-width:235px; left:25px; bottom:65px; gap:12px; }
 .bathroom-caption .round-button { width:35px; height:35px; }
 .bathroom-tag { left:25px; }
 .illustration-label { left:25px; }
 .body-large { font-size:15px; }
 .bathroom-area { font-size:13px; }
 .about-heading { grid-template-columns:1fr; gap:10px; }
 .about-heading>p:last-child { margin-top:22px; max-width:600px; }
 .values-grid { gap:0 30px; margin-top:45px; }
 .value-card { grid-template-columns:45px 1fr; gap:13px; }
 .value-index { display:none; }
 .value-card h3 { font-size:25px; }
 .value-card p { font-size:14px; }
 .contact-section { grid-template-columns:1fr; gap:45px; }
 .contact-copy h2 { font-size:82px; }
 .contact-phone { font-size:43px; }
 .contact-form { padding:32px; }
 .form-field input,.form-field select,.form-field textarea { font-size:16px; }
 .footer-top { flex-wrap:wrap; }
 .footer-top>p { order:3; width:100%; }
 .back-top { margin-left:auto; }
 .footer-bottom { font-size:10px; gap:15px; }
}
@media(max-width:620px) {
 html { scroll-padding-top:105px; }
 .container { width:calc(100% - 36px); }
 .header { width:calc(100% - 24px); top:10px; min-height:74px; padding:8px 9px; gap:7px; border-radius:9px; }
 .header .brand-logo { width:52px; height:52px; }
 .header .brand-wordmark { display:none; }
 .header-actions { gap:7px; }
 .header-call { min-height:43px; padding:7px 10px; gap:7px; }
 .header-call>svg { width:15px; height:15px; }
 .call-label { font-size:10px; }
 .header-call strong { font-size:10.5px; }
 .header-whatsapp { width:40px; min-height:43px; padding:8px; }
 .header-whatsapp>span { display:none; }
 .menu-toggle { width:37px; height:40px; }
 .menu-toggle span { left:10px; width:17px; top:16px; }
 .menu-toggle span+span { top:23px; }
 .menu-toggle[aria-expanded=true] span { top:20px; }
 .mobile-nav:not([hidden]) { top:85px; padding:17px; max-height:calc(100dvh - 115px); }
 .mobile-nav>a { font-size:25px; }
 .mobile-nav>.mobile-phone { font-size:15px; }
 .mobile-nav>.mobile-phone>span { font-size:13px; }
 .hero.container { padding:123px 18px 0; }
 .hero-copy>.eyebrow { margin-bottom:26px; font-size:10px; }
 .hero h1 { font-size:clamp(58px,13.5vw,82px); line-height:.99; letter-spacing:-.01em; }
 .hero h1>span { max-width:470px; margin-inline:auto; }
 .hero-description { margin-top:24px; font-size:15px; line-height:1.6; max-width:350px; }
 .hero-actions { flex-wrap:wrap; gap:20px; margin-top:25px; }
 .hero-actions .button { font-size:12px; padding-left:17px; min-height:52px; gap:14px; }
 .hero-actions .text-link { font-size:11px; gap:8px; }
 .hero-footnote { font-size:9px; margin-top:23px; margin-bottom:29px; gap:6px; }
 .hero-visual { grid-template-columns:.78fr 1fr; grid-template-rows:300px auto; gap:10px; }
 .hero-bath-photo,.appliance-scene { min-height:300px; }
 .hero-bath-photo { border-radius:100px 100px 0 0; }
 .hero-bath-photo img { object-position:23% center; }
 .hero-bath-photo>span { font-size:12px; padding:12px 10px; bottom:12px; left:10px; right:10px; }
 .scene-top { top:15px; left:13px; right:13px; }
 .scene-top .small-caps { font-size:7px; line-height:1.5; max-width:105px; }
 .scene-spark { width:17px; height:17px; }
 .hero-boiler { height:100%; width:100%; max-width:none; left:0; top:0; object-position:50% 39%; }
 .floating-label { font-size:7px; padding:8px; gap:5px; left:7px; top:51%; }
 .floating-label .status-dot { width:4px; height:4px; }
 .scene-bottom { font-size:14px; bottom:14px; left:13px; right:13px; gap:7px; }
 .scene-bottom .round-button { width:28px; height:28px; }
 .scene-bottom svg { width:16px; height:16px; }
 .hero-offer { padding:17px 16px; border-radius:7px; }
 .hero-offer strong { font-size:12px; margin-top:5px; max-width:175px; }
 .hero-offer .small-caps { font-size:8px; }
 .hero-price { font-size:46px; }
 .hero-price>span { font-size:19px; }
 .visual-note { font-size:7px; padding-bottom:14px; line-height:1.5; }
 .quick-nav { width:calc(100% - 36px); padding:0 16px; grid-template-columns:1fr; }
 .quick-nav a { padding:18px 0; font-size:20px; gap:18px; }
 .quick-nav a+a { border-left:0; border-top:1px solid #aec8f14d; }
 .quick-nav svg { width:23px; height:23px; }
 .quick-number { font-size:10px; }
 .section { padding-block:65px; }
 .section-top { display:block; margin-bottom:30px; }
 .eyebrow { font-size:10px; margin-bottom:22px; }
 .section-top h2 { font-size:55px; }
 .section-intro { max-width:340px; margin-top:23px; font-size:14px; }
 .services-grid { grid-template-columns:1fr; gap:25px; }
 .service-card:nth-child(2),.service-card:nth-child(3) { margin-top:0; }
 .service-card:nth-child(3) { grid-column:auto; display:block; }
 .service-art { height:300px; }
 .service-card:nth-child(3) .service-art { height:300px; min-height:0; border-radius:180px 180px 0 0; }
 .service-body { padding:25px 23px; }
 .card-heading h3 { font-size:32px; }
 .service-checklist { margin-top:23px; }
 .service-checklist li { font-size:16px; }
 .service-link { font-size:13px; }
 .offers-section { padding-block:65px; }
 .offers-grid { grid-template-columns:1fr; gap:20px; }
 .price-card { padding:28px 25px; }
 .price-top { margin-bottom:30px; }
 .price-card h3 { min-height:0; font-size:44px; }
 .price { font-size:112px; margin-top:24px; }
 .price>span { font-size:43px; }
 .price-note { font-size:12px; }
 .check-list li { font-size:14px; }
 .offer-cta { font-size:13px; min-height:53px; }
 .price-featured { grid-column:auto; display:flex; }
 .pricing-detail { font-size:10px; text-align:left; line-height:1.6; }
 .bathroom-section.container { padding:430px 18px 60px; min-height:0; }
 .bathroom-visual>img { object-position:25% top; height:460px; }
 .bathroom-visual:after { background:linear-gradient(180deg,#061f4600 230px,var(--dark) 455px); }
 .bathroom-tag { left:18px; top:22px; font-size:10px; }
 .bathroom-caption { left:18px; top:278px; bottom:auto; font-size:18px; padding:16px; max-width:270px; }
 .illustration-label { top:382px; bottom:auto; left:18px; font-size:7px; }
 .bathroom-copy { width:100%; margin-left:0; }
 .bathroom-copy h2 { font-size:59px; }
 .bathroom-copy .body-large { font-size:15px; }
 .bathroom-details p { font-size:14px; }
 .bathroom-copy>.button { font-size:13px; }
 .bathroom-note { font-size:19px; margin-top:24px; }
 .bathroom-area { font-size:14px; margin-top:18px; }
 .about-heading h2 { font-size:55px; }
 .about-heading>p:last-child { font-size:15px; margin-top:20px; }
 .values-grid { grid-template-columns:1fr; gap:0; margin-top:35px; }
 .value-card { grid-template-columns:47px 1fr; gap:17px; padding-block:26px; }
 .value-card h3 { font-size:28px; }
 .value-card p { font-size:14px; }
 .contact-wrap { padding-block:63px 25px; }
 .contact-section { gap:35px; }
 .contact-copy h2 { font-size:73px; }
 .contact-copy .body-large { font-size:15px; }
 .contact-phone { font-size:37px; gap:15px; margin-top:28px; }
 .contact-phone svg { width:24px; height:24px; }
 .contact-email { font-size:14px; gap:12px; }
 .contact-links .button { font-size:13px; padding-inline:18px; gap:9px; }
 .contact-area { font-size:12px; margin-top:25px; }
 .contact-form { padding:25px 19px; }
 .form-heading h3 { font-size:26px; }
 .form-heading .icon-tile { width:35px; height:35px; }
 .form-heading svg { width:20px; height:20px; }
 .contact-form>p:first-of-type { font-size:13px; margin-top:13px; }
 .form-row { grid-template-columns:1fr; gap:0; }
 .form-field label { font-size:12px; }
 .form-field input,.form-field select,.form-field textarea { font-size:16px; }
 .form-privacy { font-size:11px; }
 .form-submit { font-size:12px; padding-left:17px; }
 .footer.container { padding:37px 18px 25px; }
 .footer-top { display:grid; grid-template-columns:1fr auto; gap:25px; padding-bottom:29px; }
 .footer .brand-logo { width:63px; height:63px; }
 .footer .brand-wordmark { font-size:21px; }
 .footer .brand-sub { font-size:7px; }
 .footer-top>p { grid-column:1/-1; font-size:35px; line-height:1.03; }
 .back-top { font-size:11px; gap:9px; }
 .back-top svg { width:18px; height:18px; }
 .footer-bottom { display:flex; flex-wrap:wrap; font-size:10px; gap:15px; }
 .footer-bottom>span:nth-child(2) { order:3; width:100%; }
 .footer-bottom>.inline-button { margin-left:auto; }
 dialog { padding:23px; }
 dialog p { font-size:13px; }
 .dialog-heading h2 { font-size:27px; }
}
@media(max-width:380px) {
 .header { padding-inline:7px; gap:5px; }
 .header-call { padding-inline:8px; gap:6px; }
 .header-whatsapp { width:37px; padding:7px; }
 .header .brand-logo { width:49px; height:49px; }
 .hero-actions { gap:18px; }
 .hero-actions .button { font-size:11px; }
 .hero-actions .text-link { font-size:10px; }
 .contact-phone { font-size:34px; }
 .contact-copy h2 { font-size:68px; }
 .footer .brand-logo { width:55px; height:55px; }
 .footer .brand-wordmark { font-size:20px; }
}
@media(prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto; }
 *,*:before,*:after { animation-duration:.001ms!important; transition-duration:.001ms!important; }
}

/* Annotazioni approvate — 3 novembre 2026. Stessa direzione bold. */
.header-call>.call-label { display:block; color:var(--paper); font-size:14px; font-weight:600; }
.mobile-nav>.mobile-phone>span { font-size:inherit; }
.hero-visual { grid-template-columns:.86fr 1.15fr .86fr; grid-template-rows:480px; padding-bottom:38px; }
.appliance-scene { grid-column:1; grid-row:1; min-height:0; }
.hero-climate-photo { grid-column:2; grid-row:1; min-height:0; }
.hero-bath-photo { grid-column:3; grid-row:1; min-height:0; }
.hero-actions .button { gap:10px; min-width:150px; }
.hero-actions .button-outline { border-color:#b9d1f3; }
.hero-actions .button-outline:hover { background:var(--ice); color:var(--ink); }
.price-note { font-weight:700; }
.pricing-detail { font-size:13px; }
.anchor-target { scroll-margin-top:120px; }
.contact-links { display:flex; flex-wrap:wrap; gap:12px; }
.contact-links .button { gap:10px; }
.footer-instagram { display:inline-flex; align-items:center; gap:7px; }
.footer-instagram svg { width:17px; height:17px; }
.footer-instagram:hover { text-decoration:underline; text-underline-offset:4px; }
@media(min-width:1700px) { .hero-visual { grid-template-rows:535px; } }
@media(max-width:1180px) { .hero-visual { grid-template-rows:425px; } }
@media(min-width:621px) and (max-width:850px) {
 .hero-visual { grid-template-columns:repeat(3,minmax(0,1fr)); grid-template-rows:350px; }
 .hero-climate-photo { display:flex; }
 .scene-bottom { font-size:16px; }
 .scene-bottom .round-button { width:30px; height:30px; }
 .floating-label { display:none; }
 .scene-top .small-caps { font-size:7px; }
 .hero-bath-photo>span,.hero-climate-photo>span { font-size:14px; }
}
@media(max-width:620px) {
 .header-call>.call-label { font-size:13px; }
 .hero-visual { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:300px 240px; gap:12px; padding-bottom:25px; }
 .appliance-scene { grid-column:1/-1; grid-row:1; min-height:0; }
 .hero-boiler { object-position:50% 43%; }
 .scene-top .small-caps { font-size:9px; max-width:none; }
 .scene-bottom { font-size:20px; }
 .scene-bottom .round-button { width:38px; height:38px; }
 .floating-label { top:65px; font-size:10px; left:13px; }
 .hero-climate-photo { display:flex; grid-column:1; grid-row:2; min-height:0; }
 .hero-bath-photo { grid-column:2; grid-row:2; min-height:0; }
 .hero-climate-photo>span { font-size:14px; left:13px; right:13px; bottom:18px; }
 .hero-bath-photo>span { font-size:13px; padding:12px 8px; }
 .hero-actions { flex-wrap:nowrap; gap:12px; }
 .hero-actions .button { min-width:0; font-size:13px; padding:12px 18px; gap:8px; }
 .hero-actions svg { width:18px; height:18px; }
 .bathroom-copy>.button { font-size:13px; gap:12px; padding-left:17px; }
 .footer-bottom { justify-content:flex-start; }
 .footer-bottom>.inline-button { margin-left:0; }
}

@media(min-width:621px) and (max-width:850px) { .price-featured { grid-column:auto; display:flex; } .price-card:last-child { grid-column:1/-1; } }

.bathroom-guarantee { margin-top:20px; font-size:14px; color:#d8e8ff; line-height:1.6; }

/* Galleria: due pannelli principali uguali, bagno più piccolo a destra. */
.hero-visual { grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,.66fr); grid-template-rows:480px; align-items:end; }
.hero-panel { display:block; min-width:0; min-height:0; height:100%; border-radius:14px; position:relative; overflow:hidden; }
.hero-panel>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; margin:0; }
.hero-panel:after { content:''; position:absolute; inset:0; pointer-events:none; background:linear-gradient(180deg,#061f4610 35%,#061f46d9 100%); }
.hero-primary { height:480px; }
.hero-secondary { height:350px; }
.hero-primary>img { object-position:50% 35%; }
.hero-secondary>img { object-position:30% center; }
.hero-panel>.hero-panel-tag { position:absolute; z-index:2; top:20px; left:20px; right:auto; bottom:auto; background:#f3f7ffed; color:var(--ink); padding:8px 12px; border-radius:100px; font-size:11px; line-height:1.3; font-weight:600; letter-spacing:0; }
.hero-panel-caption { position:absolute; z-index:2; inset:auto 22px 22px; display:flex; align-items:center; justify-content:space-between; gap:12px; color:#fff; font-size:27px; font-weight:600; letter-spacing:-.035em; line-height:1.15; }
.hero-panel-caption .round-button { width:46px; height:46px; background:var(--orange); color:var(--dark); }
.hero-panel-caption .round-button:hover { background:#fff; }
.hero-secondary .hero-panel-caption { font-size:22px; }
@media(min-width:1700px) {
 .hero-visual { grid-template-rows:535px; }
 .hero-primary { height:535px; }
 .hero-secondary { height:390px; }
}
@media(min-width:621px) and (max-width:1180px) {
 .hero-visual { grid-template-rows:390px; }
 .hero-primary { height:390px; }
 .hero-secondary { height:285px; }
 .hero-panel-caption { inset:auto 16px 18px; font-size:21px; gap:8px; }
 .hero-secondary .hero-panel-caption { font-size:18px; flex-wrap:wrap; }
 .hero-panel>.hero-panel-tag { left:16px; top:16px; font-size:10px; padding:7px 10px; }
 .hero-panel-caption .round-button { width:44px; height:44px; }
}
@media(max-width:620px) {
 .hero-visual { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:280px 185px; gap:12px; }
 .hero-primary { height:280px; }
 .appliance-scene.hero-primary { grid-column:1; grid-row:1; }
 .hero-climate-photo.hero-primary { grid-column:2; grid-row:1; }
 .hero-bath-photo.hero-secondary { grid-column:2; grid-row:2; height:185px; }
 .hero-panel { border-radius:11px; }
 .hero-panel>.hero-panel-tag { left:10px; top:12px; padding:6px 8px; font-size:9px; }
 .hero-panel-caption { inset:auto 12px 14px; flex-wrap:wrap; align-items:flex-start; gap:12px; font-size:19px; }
 .hero-panel-caption>span { width:100%; }
 .hero-panel-caption .round-button { width:44px; height:44px; }
 .hero-secondary .hero-panel-caption { font-size:17px; gap:10px; }
 .hero-primary>img { object-position:50% 34%; }
}

/* Navigazione riallineata, galleria completa e installazione in evidenza. */
.header { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); }
.header>.brand { justify-self:start; }
.desktop-nav { margin-left:0; justify-self:center; align-items:center; }
.header-actions { margin-left:0; justify-self:end; }
#servizi { scroll-margin-top:0; }
.hero-secondary { height:480px; }
.price-featured { background:var(--dark); color:var(--paper); border:2px solid var(--orange); overflow:hidden; box-shadow:0 0 0 4px #ff8a321a; }
.offer-banner { background:var(--orange); color:var(--dark); margin:-28px -28px 26px; padding:15px 28px; font-size:15px; font-weight:800; letter-spacing:.09em; line-height:1.35; }
.price-featured .price { color:var(--orange); }
.price-featured .icon-tile { background:#173c6c; color:var(--paper); }
.price-featured .price-top .tag { border-color:#8da8ca; background:transparent; color:var(--paper); }
.price-featured .check-list { border-color:#57708f; }
.price-featured .check-list li:before { color:var(--orange); }
.price-featured .button-green { background:var(--orange); color:var(--dark); }
.price-featured .button-green:hover { background:#ffad6e; }
@media(min-width:1700px) { .hero-secondary { height:535px; } }
@media(max-width:1180px) {
 .header { grid-template-columns:auto minmax(0,1fr) auto; }
 .header-actions { justify-self:end; }
 .offer-banner { margin:-24px -20px 24px; padding:14px 20px; }
}
@media(min-width:621px) and (max-width:1180px) { .hero-secondary { height:390px; } }
@media(max-width:620px) {
 .hero-visual { grid-template-rows:280px 280px; }
 .hero-bath-photo.hero-secondary { height:280px; }
 .offer-banner { margin:-28px -25px 25px; padding:15px 25px; font-size:14px; }
}

/* Quattro servizi: assistenza sotto il bagno, griglia 2 × 2 su mobile. */
.hero-visual { grid-template-rows:300px 164px; gap:16px; align-items:stretch; }
.appliance-scene.hero-primary,.hero-climate-photo.hero-primary { grid-row:1/3; height:100%; }
.hero-bath-photo.hero-secondary { grid-column:3; grid-row:1; height:100%; }
.hero-assistance { grid-column:3; grid-row:2; height:100%; background:var(--ice); color:var(--ink); padding:20px 22px; }
.hero-assistance:after { display:none; }
.hero-assistance h2 { font-family:var(--display); font-size:30px; font-weight:400; line-height:1.02; letter-spacing:-.015em; text-transform:uppercase; margin:0 0 10px; max-width:100%; }
.hero-assistance p { font-size:12px; line-height:1.4; padding-right:48px; }
.hero-assistance .assistance-icon { display:none; }
.hero-assistance .round-button { position:absolute; right:18px; bottom:17px; width:44px; height:44px; background:var(--orange); color:var(--dark); }
.hero-assistance .round-button:hover { background:#fff; }
@media(min-width:1700px) {
 .hero-visual { grid-template-rows:350px 169px; }
 .hero-assistance { padding:23px 24px; }
 .hero-assistance h2 { font-size:34px; }
}
@media(min-width:621px) and (max-width:1180px) {
 .hero-visual { grid-template-rows:226px 151px; gap:13px; }
 .hero-assistance { padding:17px 16px; }
 .hero-assistance h2 { font-size:clamp(22px,2.8vw,30px); }
 .hero-assistance p { display:none; }
 .hero-assistance .round-button { right:12px; bottom:12px; }
}
@media(max-width:620px) {
 .hero-visual { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:260px 260px; gap:12px; }
 .appliance-scene.hero-primary { grid-column:1; grid-row:1; height:100%; }
 .hero-climate-photo.hero-primary { grid-column:2; grid-row:1; height:100%; }
 .hero-bath-photo.hero-secondary { grid-column:1; grid-row:2; height:100%; }
 .hero-assistance { grid-column:2; grid-row:2; height:100%; padding:18px 14px; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; }
 .hero-assistance .assistance-icon { display:block; width:30px; height:30px; margin-bottom:22px; }
 .hero-assistance h2 { font-size:clamp(21px,5.6vw,26px); margin-bottom:10px; }
 .hero-assistance p { padding-right:0; font-size:12px; margin-bottom:44px; }
 .hero-assistance .round-button { left:14px; right:auto; bottom:14px; }
}

/* Installazione sopra, manutenzione su due colonne, bagno a tutta altezza. */
.hero-visual { grid-template-rows:400px 220px; }
.appliance-scene.hero-primary { grid-column:1; grid-row:1; height:100%; }
.hero-climate-photo.hero-primary { grid-column:2; grid-row:1; height:100%; }
.hero-bath-photo.hero-secondary { grid-column:3; grid-row:1/3; height:100%; }
.hero-assistance { grid-column:1/3; grid-row:2; height:100%; display:block; padding:0; background:var(--dark); color:#fff; }
.hero-assistance:after { display:block; background:linear-gradient(90deg,#061f4699,#061f4610 80%),linear-gradient(0deg,#061f46c9,#061f4600 80%); }
.hero-assistance>img { object-position:50% 48%; }
.hero-assistance .hero-panel-caption { inset:auto 22px 22px; flex-wrap:nowrap; align-items:flex-end; }
.hero-assistance h2 { color:#fff; font-size:32px; line-height:1; margin:0; text-shadow:0 1px 8px #061f464d; }
.hero-assistance .round-button { position:static; width:46px; height:46px; }
.hero-primary>img { object-position:50% 40%; }
@media(min-width:1700px) {
 .hero-visual { grid-template-rows:440px 240px; }
 .hero-assistance h2 { font-size:36px; }
}
@media(min-width:621px) and (max-width:1180px) {
 .hero-visual { grid-template-rows:320px 200px; }
 .hero-assistance .hero-panel-caption { inset:auto 16px 18px; }
 .hero-assistance h2 { font-size:28px; }
 .hero-assistance .round-button { width:44px; height:44px; }
}
@media(max-width:620px) {
 .hero-visual { grid-template-rows:260px 260px; }
 .appliance-scene.hero-primary { grid-column:1; grid-row:1; }
 .hero-climate-photo.hero-primary { grid-column:2; grid-row:1; }
 .hero-bath-photo.hero-secondary { grid-column:1; grid-row:2; }
 .hero-assistance { grid-column:2; grid-row:2; padding:0; }
 .hero-assistance>img { object-position:50% center; }
 .hero-assistance:after { background:linear-gradient(0deg,#061f46e6,#061f4600 85%); }
 .hero-assistance .hero-panel-caption { inset:auto 12px 14px; flex-direction:column; align-items:flex-start; gap:12px; }
 .hero-assistance h2 { font-size:clamp(21px,5.6vw,26px); margin:0; }
 .hero-assistance .round-button { position:static; width:44px; height:44px; }
}
