:root {
  --color-primary: #40637f;
  --color-primary-hover: #304c63;
  --color-background: #f7f8fa;
  --color-surface-soft: #edf1f5;
  --color-white: #ffffff;
  --color-black: #111111;
  --color-text: #243e53;
  --color-muted: #526779;
  --color-border: #cdd8e1;
  --color-border-strong: #788d9e;
  --color-accent-light: #dbe7f0;
  --color-inverse-muted: #e0e9f1;
  --color-inverse-border: #8399ac;
  --color-focus: #245e91;
  --color-error: #a12525;
  --font-heading: Sanchez, Georgia, "Times New Roman", serif;
  --font-body: Montserrat, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --ink: var(--color-text);
  --muted: var(--color-muted);
  --paper: var(--color-background);
  --soft: var(--color-surface-soft);
  --line: var(--color-border);
  --sand: var(--color-accent-light);
  --blue: var(--color-focus);
  --error: var(--color-error);
  --max-width: 1200px;
  --header-offset: 110px;
  font-family: var(--font-body);
  color: var(--color-text);
  background: var(--color-background);
  font-synthesis: none;
}

*{box-sizing:border-box}
.site-footer .cookie-preferences{font:inherit;color:inherit;background:transparent;border:0;padding:.5rem 0;min-height:44px;text-decoration:underline;text-underline-offset:5px;text-align:left}
/* Schermata di conferma: stili confinati alla thank-you. */
.confirmation-page{display:grid;place-items:center;min-height:100vh;min-height:100svh;padding:clamp(2rem,6vh,4rem) 1rem;background:var(--color-background)}
.confirmation-card{width:100%;max-width:44rem;padding:clamp(1.5rem,5vw,4rem);text-align:center;background:var(--color-white);border:1px solid var(--color-border);border-top:4px solid var(--color-primary);border-radius:12px;box-shadow:0 16px 48px rgba(36,62,83,.07)}
.confirmation-brand{margin-bottom:clamp(2rem,5vw,3rem)}
.confirmation-brand .brand-logo{width:clamp(194px,28vw,280px);max-width:100%;height:auto;max-height:9rem;object-fit:contain;margin-inline:auto}
.confirmation-brand .brand-logo-text{display:block;max-height:none;overflow-wrap:anywhere}
.confirmation-card h1{font-size:clamp(2rem,4.5vw,3.25rem);line-height:1.15;letter-spacing:-.035em;margin-bottom:1.25rem;overflow-wrap:anywhere}
.confirmation-card p{max-width:30rem;margin:0 auto;color:var(--color-muted);font-size:clamp(.95rem,2vw,1.05rem)}
html{scroll-behavior:smooth;scroll-padding-top:var(--header-offset)}
body{margin:0;font-size:16px;line-height:1.65}
button,input{font:inherit}
button,a,input,summary{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
a{color:inherit;text-underline-offset:5px}
img{max-width:100%;height:auto;display:block}
button:disabled{cursor:default;opacity:.5}
[hidden]{display:none!important}
h1,h2,h3,p{margin-top:0}
h1,h2{font-family:var(--font-heading);font-weight:400;letter-spacing:-.045em;line-height:1.1}
h1{font-size:clamp(2.8rem,6.3vw,5.4rem);margin-bottom:1.4rem}
h2{font-size:clamp(2.25rem,4.2vw,3.7rem);margin-bottom:1.5rem}
h3{font-size:1.13rem;line-height:1.4;font-weight:600}
h1 em,h2 em{font-weight:400;color:var(--color-primary)}
p{margin-bottom:1.25rem}
p:last-child{margin-bottom:0}
address{font-style:normal}
section[id],main[id]{scroll-margin-top:1rem}
:focus-visible{outline:3px solid var(--blue);outline-offset:5px}
.container{width:min(100% - 2.5rem,var(--max-width));margin-inline:auto}
.section{padding-block:4.5rem}
.section-soft{background:var(--soft)}
.eyebrow{font-size:.68rem;text-transform:uppercase;letter-spacing:.18em;font-weight:650;margin-bottom:1.3rem}
.small{font-size:.8rem;color:var(--muted)}
.lead-text{font-size:1.24rem;line-height:1.6}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.skip-link{position:fixed;top:1rem;left:1rem;z-index:100;background:var(--ink);color:var(--color-white);padding:.8rem 1rem;transform:translateY(-200%)}
.skip-link:focus{transform:none}
.button{display:inline-flex;justify-content:center;align-items:center;gap:1.2rem;min-height:52px;background:var(--color-primary);color:var(--color-white);border:1px solid var(--color-primary);padding:.95rem 1.35rem;text-decoration:none;font-size:.85rem;font-weight:550;line-height:1.4;border-radius:3px;transition:background .18s,color .18s}
.button:hover{background:var(--color-primary-hover)}
.button span[aria-hidden]{font-size:1.3rem}
.button-small{min-height:44px;font-size:.75rem;padding:.65rem 1rem}
.text-link{display:inline-flex;align-items:center;gap:1rem;min-height:44px;font-size:.87rem;font-weight:550}
.announcement{text-align:center;background:var(--ink);color:var(--color-white);font-size:.65rem;letter-spacing:.04em;padding:.6rem 1rem}
.announcement span{padding:0 .7rem}
.site-header{position:sticky;top:0;z-index:30;background:var(--paper);border-bottom:1px solid var(--line)}
.header-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;min-height:85px;padding-block:1rem}
.brand{display:flex;align-items:center;gap:.8rem;text-decoration:none}
.brand-logo{width:180px;height:auto;aspect-ratio:460/126;flex-shrink:0}
.footer-brand small{display:block;font-size:.47rem;letter-spacing:.22em;margin-top:.3rem}
.menu-toggle{display:flex;align-items:center;gap:.65rem;background:none;border:1px solid var(--line);min-height:44px;padding:.5rem .65rem;color:var(--ink);font-size:.75rem}
.menu-icon{width:17px;height:10px;border-block:1px solid currentColor;display:block}
.main-nav{display:flex;flex-direction:column;width:100%;gap:.25rem;padding-block:.5rem}
.main-nav>a:not(.button){padding:.6rem 0;text-decoration:none;font-size:.83rem}
.main-nav>a:hover{text-decoration:underline}
.main-nav .nav-cta{display:none}
.hero{padding:3rem 0}
.hero-grid{display:grid;gap:2.5rem}
.hero-copy{padding-block:.5rem}
.tiny-line{display:inline-block;width:22px;height:1px;background:currentColor;vertical-align:middle;margin-right:.4rem}
.hero-price{font-size:1.15rem;display:flex;align-items:baseline;gap:.7rem;margin-bottom:1rem}
.hero-price strong{font-family:var(--font-heading);font-weight:400;font-size:3rem;letter-spacing:-.045em}
.hero-intro{max-width:460px;color:var(--muted);font-size:.95rem}
.hero-note{margin-top:1rem;font-size:.7rem}
.hero-note span{margin:0 .35rem}
.intro-strip{border-block:1px solid var(--line)}
.strip-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.4rem 1rem;padding-block:1.4rem}
.strip-inner p{margin:0;font-size:.95rem}
.strip-inner>span{font-size:.75rem;color:var(--muted)}
.section-heading{display:grid;gap:.5rem;margin-bottom:2rem}
.section-heading>p{max-width:400px;color:var(--muted);font-size:.92rem}
.price-grid{display:grid;gap:1rem}
.price-card{border:1px solid var(--line);padding:1.8rem;background:var(--paper)}
.card-number{font-size:.7rem;color:var(--muted);display:block;margin-bottom:2rem}
.price-card h3{font-weight:400;margin-bottom:.6rem}
.price{font:4rem/1.2 var(--font-heading);letter-spacing:-.06em;margin-bottom:1rem}
.price span{font-size:2rem}
.price-card>p:last-child{font-size:.82rem;color:var(--muted)}
.price-card-featured{background:var(--ink);color:var(--color-white);border-color:var(--ink)}
.price-card-featured .card-number,.price-card-featured>p:last-child{color:var(--color-inverse-muted)}
.promo-footnote{font-size:.75rem;color:var(--muted);margin-top:1.4rem}
.feature-grid{display:grid;gap:2rem;margin-top:2.5rem}
.feature-grid article{border-top:1px solid var(--color-border);padding-top:1.5rem}
.feature-mark{font-size:.75rem;letter-spacing:.1em;display:block;margin-bottom:1.5rem}
.feature-grid p{font-size:.92rem;color:var(--muted)}
.split-layout,.about-layout{display:grid;gap:2rem;align-items:center}
.split-layout>div>p:not(.eyebrow):not(.lead-text),.about-layout>div>p:not(.eyebrow):not(.lead-text){color:var(--muted)}
.section-dark{background:var(--ink);color:var(--paper)}
.section-dark h2 em{color:var(--color-accent-light)}
.section-dark .section-heading>p{color:var(--color-inverse-muted)}
.steps{padding:0;margin:2rem 0 0;list-style:none;display:grid;gap:2rem;counter-reset:steps}
.steps li{border-top:1px solid var(--color-inverse-border);padding-top:1.5rem}
.steps li>span{font:2.2rem var(--font-heading);color:var(--sand);display:block;margin-bottom:1.5rem}
.steps p{font-size:.88rem;color:var(--color-inverse-muted)}
.demo-label{padding:.85rem 1rem;background:var(--soft);border-left:2px solid var(--color-primary);font-size:.76rem!important}
.review-track{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--color-primary) var(--soft);padding:.5rem .25rem 1rem;overscroll-behavior-x:contain}
.review-card{flex:0 0 90%;scroll-snap-align:start;border:1px solid var(--line);padding:1.5rem;display:flex;flex-direction:column;min-height:285px}
.review-image{display:block;width:176px;max-width:100%;height:100px;object-fit:contain;object-position:left center;margin-bottom:1.25rem;border-radius:8px}
.review-card blockquote p{overflow-wrap:anywhere}
.review-tag{font-size:.62rem;letter-spacing:.12em;color:var(--muted)}
blockquote{margin:1.8rem 0;font:1rem/1.65 var(--font-body)}
.review-name{font-size:.8rem;margin-top:auto}
.review-name span{display:block;font-size:.65rem;color:var(--muted);margin-top:.2rem}
.carousel-controls{display:flex;align-items:center;justify-content:space-between;margin-top:.8rem}
.carousel-controls>div{display:flex;gap:.5rem}
.icon-button{border:1px solid var(--line);width:46px;height:46px;color:var(--ink);background:transparent;font-size:1.3rem}
.icon-button:hover{background:var(--soft)}
.faq-layout{display:grid;gap:1.5rem}
.faq-list{border-top:1px solid var(--color-border)}
.faq-list details{border-bottom:1px solid var(--color-border)}
.faq-list summary{cursor:pointer;min-height:68px;padding:1.25rem 2rem 1.25rem 0;font-size:.95rem;font-weight:550;list-style:none;position:relative}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:after{content:'+';position:absolute;right:.3rem;top:1rem;font-size:1.5rem;font-weight:400}
.faq-list details[open] summary:after{content:'−'}
.faq-list details>div{padding:0 1.5rem 1.3rem 0;color:var(--muted);font-size:.9rem}
.lead-form{border:1px solid var(--line);padding:1.4rem;background:var(--color-white);min-width:0}
.form-demo-note{background:var(--soft);padding:.8rem 1rem;font-size:.74rem;color:var(--muted)}
.form-demo-note strong{display:block;color:var(--ink);margin-bottom:.2rem}
.field{margin-bottom:1rem}
.field label{display:block;font-size:.85rem;font-weight:550;margin-bottom:.4rem}
.field label span{font-size:.75rem;font-weight:400;color:var(--muted)}
.field input{width:100%;min-width:0;min-height:50px;border:1px solid var(--color-border-strong);border-radius:2px;padding:.6rem .8rem;background:var(--color-white);color:var(--ink);font-size:1rem}
.field input[aria-invalid=true],.checkbox-row input[aria-invalid=true]{border-color:var(--error);outline-color:var(--error)}
.field-error{display:block;color:var(--error);font-size:.76rem;margin-top:.25rem}
.field-error:empty{display:none}
.checkbox-row{display:flex;align-items:flex-start;gap:.8rem}
.checkbox-row input{flex-shrink:0;width:22px;height:22px;margin:0;accent-color:var(--ink)}
.checkbox-row label{font-size:.74rem;line-height:1.7;min-height:44px}
.privacy-field{margin:1.5rem 0}
.form-button{width:100%;font-size:.82rem}
.form-microcopy{text-align:center;margin-top:.7rem}
.form-status{font-size:.86rem;margin:0}
.form-status:not(:empty){margin-top:1rem;padding:.8rem;background:var(--soft);border-left:3px solid var(--ink)}
.contact-section{background:var(--soft);padding-block:3rem}
.contact-inner{display:grid;gap:1rem}
.contact-inner h2{font-size:2.5rem}
.contact-links{display:grid;gap:1rem}
.contact-links>a{text-decoration:none;font-size:1.4rem;border-bottom:1px solid var(--color-border);padding-bottom:.8rem}
.contact-links>a>span:first-child{display:block;font-size:.72rem;color:var(--muted)}
.contact-links>a>span:last-child{float:right}
.site-footer{padding:3rem 0 1.2rem;background:var(--ink);color:var(--color-inverse-muted)}
.footer-grid{display:grid;gap:2rem;font-size:.78rem}
.footer-brand{font-size:1.7rem;letter-spacing:.15em;line-height:1.2}
.footer-grid h2{font:600 .75rem var(--font-body);letter-spacing:.04em;margin-bottom:1rem;color:var(--color-white)}
.footer-grid a{display:block;overflow-wrap:anywhere;min-height:32px}
.social-links{margin-top:1rem}
.footer-bottom{display:flex;flex-wrap:wrap;gap:.8rem 2rem;justify-content:space-between;border-top:1px solid var(--color-inverse-border);margin-top:2.5rem;padding-top:1rem;font-size:.65rem;color:var(--color-inverse-muted)}
.mobile-sticky{position:fixed;bottom:0;inset-inline:0;z-index:25;padding:.65rem 1.25rem calc(.65rem + env(safe-area-inset-bottom));background:var(--paper);border-top:1px solid var(--line)}
.mobile-sticky .button{width:100%;min-height:48px}
.has-mobile-cta{padding-bottom:calc(75px + env(safe-area-inset-bottom))}

@media(min-width:600px){.container{width:min(100% - 4rem,var(--max-width))}
.price-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.price-card{padding:1.5rem}
.price-card h3{font-size:1rem}
.price{font-size:3.5rem}
.feature-grid,.steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}
.review-card{flex-basis:calc((100% - 1rem)/2)}
.lead-form{padding:2rem}
.footer-grid{grid-template-columns:1fr 1fr}
.footer-grid>div:first-child{grid-column:1/-1}
.contact-links{grid-template-columns:1fr 1fr;gap:2rem}
}

@media(min-width:900px){:root{--header-offset:110px}
.section{padding-block:6.3rem}
.header-inner{flex-wrap:nowrap;gap:2rem}
.brand-logo{width:230px}
.main-nav{width:auto;flex-direction:row;align-items:center;gap:1.2rem;padding:0}
.main-nav .nav-cta{display:inline-flex}
.menu-toggle{display:none}
.hero{padding:2rem 0 3rem}
.hero-grid{grid-template-columns:1fr 1fr;align-items:start;gap:3.5rem}
.section-heading{grid-template-columns:1.4fr 1fr;align-items:end;gap:5rem;margin-bottom:2.7rem}
.section-heading h2{margin-bottom:0}
.section-heading>p{margin-bottom:.3rem}
.price-card{padding:2.2rem}
.price{font-size:4.5rem}
.split-layout{grid-template-columns:1fr 1fr;gap:6rem}
.about-layout{grid-template-columns:1fr 1fr;gap:6rem}
.review-card{flex-basis:calc((100% - 2rem)/3);padding:1.8rem;min-height:315px}
.faq-layout{grid-template-columns:.8fr 1.2fr;gap:5rem}
.lead-form{padding:2.2rem}
.contact-inner{grid-template-columns:1fr 1.3fr;align-items:center;gap:4rem}
.contact-inner h2{margin-bottom:0}
.footer-grid{grid-template-columns:1.15fr 1fr 1fr;gap:4rem}
.footer-grid>div:first-child{grid-column:auto}
.mobile-sticky{display:none}
.has-mobile-cta{padding-bottom:0}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*,*:before,*:after{transition:none!important;animation:none!important}
.review-track{scroll-behavior:auto}
}

@media print{.announcement,.site-header,.mobile-sticky,.carousel-controls{display:none!important}
body{padding:0;color:var(--color-black);background:var(--color-white)}
.section{padding-block:1.5rem}
.review-track{display:block}
.review-card{break-inside:avoid}
.hero-grid,.split-layout,.faq-layout{display:block}
}


.privacy-content{max-width:780px}
.privacy-content h2{font-size:1.7rem;margin-top:2.5rem}
.privacy-content address{margin-bottom:2rem}
@media(max-width:599px){.header-inner{gap:.5rem}
.brand-logo{width:160px}
.brand{gap:.5rem}
}


/* Nome progetto — componenti e layout della revisione branding. Nessun font remoto. */
h3 { font-family: var(--font-heading); font-weight: 400; }
h1 em, h2 em { font-style: normal; }
.hero { background: linear-gradient(140deg, var(--color-background), var(--color-surface-soft)); padding-block: 2rem; }
.hero h1 { font-size: clamp(2.3rem, 4.4vw, 3.7rem); line-height: 1.14; }
.hero-copy { min-width: 0; }
.hero-price strong { font-family: var(--font-heading); font-size: clamp(3.4rem, 5vw, 4.6rem); color: var(--color-primary); }
.hero-note { color: var(--color-muted); font-size: .75rem; }
.hero-form { min-width: 0; padding: 1.4rem; background: var(--color-white); border: 1px solid var(--color-border); border-radius: 8px; box-shadow: 0 14px 44px rgb(36 62 83 / 6%); }
.hero-form .form-heading > .eyebrow { margin-bottom: .5rem; }
.hero-form .form-heading > h2 { font-size: 1.7rem; letter-spacing: -.025em; margin-bottom: 1rem; }

.hero-form .form-demo-note { padding: .6rem .8rem; margin-bottom: .6rem; }
.hero-form > .small { margin-bottom: .7rem; }
.hero-form .field { margin-bottom: .75rem; }
.hero-form .field input { min-height: 44px; padding-block: .45rem; }
.hero-form .privacy-field { margin-block: 1rem; }
.hero-form .form-button { min-height: 48px; }
.google-badge { display: flex; gap: .85rem; align-items: center; width: fit-content; max-width: 100%; padding: .9rem 1rem; margin: 1.3rem 0; border: 1px solid var(--color-border); border-radius: 5px; background: var(--color-white); }
.badge-icon { display: grid; place-items: center; width: 42px; height: 42px; flex-shrink: 0; border-radius: 50%; color: var(--color-primary); background: var(--color-surface-soft); }
.google-badge strong { display: block; font-size: .85rem; }
.google-rating-value, .google-review-count { display: block; font-size: .7rem; color: var(--color-muted); }
.hero-trust { display: flex; flex-wrap: wrap; gap: .5rem 1rem; list-style: none; padding: 0; margin: 0 0 .5rem; font-size: .75rem; }
.hero-trust li::before { content: '✓'; color: var(--color-primary); margin-right: .4rem; }
.benefits-intro { display: grid; gap: 2rem; align-items: center; }
.photo-placeholder { margin: 0; aspect-ratio: 4/3; position: relative; min-width: 0; border: 1px solid var(--color-border); border-radius: 46% 46% 5px 5px; background: linear-gradient(140deg, var(--color-white), var(--color-accent-light)); overflow: hidden; display: flex; flex-direction: column; justify-content: flex-end; }
.photo-placeholder::before { content: ''; position: absolute; inset: 10% 13%; border: 1px solid var(--color-border-strong); border-radius: 50%; transform: rotate(-20deg); }
.photo-placeholder-art { display: grid; place-items: center; flex: 1; color: var(--color-primary); position: relative; }
.photo-placeholder figcaption { position: relative; padding: 1.1rem; text-align: center; color: var(--color-muted); background: var(--color-background); font-size: .72rem; }
.photo-placeholder figcaption span { display: block; color: var(--color-primary); font-size: .62rem; letter-spacing: .1em; margin-bottom: .3rem; }
.feature-mark { color: var(--color-primary); }
.review-rating-placeholder { display: grid; place-items: center; width: 150px; height: 38px; margin-bottom: 1.2rem; border: 1px dashed var(--color-border-strong); border-radius: 3px; color: var(--color-muted); background: var(--color-surface-soft); font-size: .65rem; }
.review-card { min-height: 345px; background: var(--color-white); }
.final-cta { display: grid; gap: 2rem; align-items: center; }
.final-actions { display: flex; flex-direction: column; align-items: flex-start; gap: .7rem; }
.privacy-content { max-width: 920px; }
.privacy-content h1 { font-size: clamp(2.3rem, 5vw, 3.8rem); overflow-wrap: anywhere; }
.privacy-content section { margin-block: 2.5rem; }
.privacy-content section h2 { font-size: clamp(1.4rem, 3vw, 1.9rem); line-height: 1.3; letter-spacing: -.015em; }
.privacy-content p, .privacy-content li, .privacy-content address { overflow-wrap: anywhere; }
.privacy-content li + li { margin-top: .5rem; }
.privacy-notice { background: var(--color-surface-soft); border-left: 3px solid var(--color-primary); padding: 1.25rem; margin-block: 2rem; }
.privacy-notice strong { display: block; margin-bottom: .6rem; }
.pending { font-size: .82em; font-weight: 600; color: var(--color-primary); }
.privacy-index { border-block: 1px solid var(--color-border); padding-block: 1rem; }
.privacy-index h2 { font-size: 1.4rem; margin-top: .5rem; }
.privacy-index ol { columns: 1; padding-left: 1.5rem; font-size: .85rem; }
.privacy-index li { break-inside: avoid; padding-block: .25rem; }
.privacy-index a { display: inline-block; min-height: 32px; }
@media (min-width: 600px) { .hero-form { padding: 1.6rem; } .privacy-index ol { columns: 2; column-gap: 3rem; } }
@media (min-width: 900px) { .benefits-intro { grid-template-columns: 1.1fr .9fr; gap: 5rem; } .final-cta { grid-template-columns: 1.2fr 1fr; gap: 4rem; } .hero-copy { padding-top: 1.5rem; } }
@media (max-width: 599px) { .header-inner { min-height: 76px; padding-block: .75rem; } .hero-grid { gap: 1.5rem; } .hero-form { padding: 1rem; } .hero .eyebrow { letter-spacing: .12em; } }

/* Revisione grafica post test desktop — desktop-ux-02 */
body { font-size: 17px; line-height: 1.65; }
main p { max-width: 68ch; }
h2 { font-size: clamp(2.25rem, 3.6vw, 3.5rem); line-height: 1.15; }
h3 { font-size: 1.3rem; line-height: 1.35; }
.section { padding-block: 3.5rem; }
.eyebrow { font-size: .8rem; letter-spacing: .12em; margin-bottom: 1rem; }
.small, .promo-footnote { font-size: .9rem; }
.button { font-size: 1rem; min-height: 54px; padding: 1rem 1.25rem; border-radius: 6px; }
.button-small { font-size: .94rem; min-height: 48px; padding: .8rem 1rem; }
.text-link { font-size: 1rem; }
.announcement { font-size: .8rem; padding-block: .5rem; }
.header-inner { min-height: 88px; padding-block: .75rem; gap: 1rem; }
.brand-logo { width: 220px; }
.menu-toggle { font-size: .95rem; }
.main-nav > a:not(.button) { font-size: 1rem; min-height: 44px; }
.hero { padding-block: 2rem 3rem; }
.hero-grid { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
.hero-copy { padding-block: .5rem; }
.hero h1 { font-size: clamp(2.5rem, 4.2vw, 3.75rem); line-height: 1.12; margin-bottom: 1.2rem; }
.hero-price { font-size: 1.35rem; gap: .9rem; margin-bottom: .75rem; }
.hero-price strong { font-size: clamp(4rem, 6vw, 5.25rem); line-height: 1.1; }
.hero-intro { font-size: 1.125rem; max-width: 46ch; }
.hero-note { font-size: .94rem; }
.hero-trust { font-size: .95rem; gap: .5rem 1.2rem; margin-bottom: .75rem; }
.hero-form { padding: 1.5rem; border-radius: 12px; border-top: 4px solid var(--color-primary); box-shadow: 0 18px 48px rgb(36 62 83 / 9%); }
.hero-form .form-heading > h2 { font-size: clamp(1.65rem, 2.3vw, 2rem); line-height: 1.18; margin-bottom: .6rem; }
.form-intro-copy { color: var(--color-muted); font-size: 1rem; margin-bottom: 1.2rem; }
.form-fields { display: grid; gap: .9rem; grid-template-columns: minmax(0, 1fr); }
.hero-form .field { margin: 0; }
.field label { font-size: 1rem; margin-bottom: .45rem; }
.field label span { font-size: .875rem; }
.hero-form .field input { min-height: 50px; padding: .7rem .8rem; border-radius: 5px; font-size: 1rem; }
.field input:focus-visible { outline-offset: 2px; border-color: var(--color-primary); }
.hero-form .privacy-field { margin-block: 1rem; }
.checkbox-row label { font-size: .875rem; line-height: 1.55; }
.field-error { font-size: .875rem; }
.hero-form .form-button { min-height: 54px; font-size: 1rem; }
.hero-form .form-demo-note { font-size: .8rem; padding: .6rem .8rem; margin: .8rem 0 0; background: var(--color-background); border-radius: 4px; }
.hero-form .form-demo-note strong { display: inline; margin-right: .4rem; font-weight: 500; }
.form-microcopy { font-size: .875rem; }
.form-status { font-size: .95rem; }
.google-badge { padding: 1.1rem 1.2rem; gap: 1rem; min-height: 100px; border-radius: 8px; box-shadow: 0 5px 18px rgb(36 62 83 / 4%); margin-block: 1.4rem; }
.google-badge strong { font-size: 1.125rem; margin-bottom: .25rem; }
.google-rating-value, .google-review-count { font-size: .875rem; line-height: 1.5; }
.badge-icon { width: 50px; height: 50px; }
.strip-inner { padding-block: 1.2rem; }
.strip-inner p { font-size: 1.1rem; }
.strip-inner > span { font-size: .95rem; }
.section-heading { gap: 1.5rem; margin-bottom: 2rem; }
.section-heading > p { font-size: 1.0625rem; max-width: 44ch; }
.price-grid { gap: 1.25rem; }
.price-card { display: flex; flex-direction: column; padding: 1.8rem; border-radius: 8px; }
.card-number { font-size: .875rem; margin-bottom: 1rem; }
.price-card h3 { font-size: 1.5rem; }
.price { font-size: 4.5rem; line-height: 1.1; margin-block: .75rem 1rem; }
.price-card > p:last-child { font-size: 1rem; margin-top: auto; }
.promo-footnote { max-width: none; }
.benefits-intro { gap: 2rem; }
.feature-grid { gap: 1.25rem; margin-top: 1.8rem; }
.feature-grid article { padding: 1.5rem; background: var(--color-white); border: 1px solid var(--color-border); border-radius: 8px; }
.feature-mark { margin-bottom: 1rem; }
.feature-grid p { font-size: 1.0625rem; }
.photo-placeholder { width: 100%; aspect-ratio: 4 / 3; border-radius: 12px; }
.photo-placeholder figcaption { font-size: .875rem; padding: 1rem; }
.photo-placeholder figcaption span { font-size: .8rem; letter-spacing: .1em; }
.equipment-illustration, .environment-illustration { display: grid; place-items: center; flex: 1; position: relative; color: var(--color-primary); }
.equipment-illustration svg, .environment-illustration svg { width: min(52%, 220px); height: auto; }
.technology-fact { display: flex; align-items: center; gap: 1.25rem; padding: 1rem 1.4rem; margin-bottom: 1.5rem; border: 1px solid var(--color-border); border-radius: 8px; background: var(--color-surface-soft); }
.technology-fact > strong { font: 3.5rem/1 var(--font-heading); color: var(--color-primary); }
.technology-fact > span { font-size: 1.125rem; }
.technology-fact small { font-size: .875rem; color: var(--color-muted); }
.section-dark h2 { font-size: clamp(2.5rem, 4vw, 3.75rem); }
.steps { gap: 1.5rem; margin-top: 2.25rem; }
.steps li { padding-top: 1.5rem; }
.steps li > span { font-size: 3.5rem; margin-bottom: 1.2rem; }
.steps h3 { font-size: 1.5rem; }
.steps p { font-size: 1.0625rem; }
.zone-visual { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; margin-top: 1.5rem; padding: 1.4rem; border: 1px solid var(--color-border); border-radius: 10px; background: var(--color-surface-soft); max-width: 440px; }
.zone-visual > span { padding: .7rem 1rem; border: 1px solid var(--color-border); border-radius: 40px; background: var(--color-white); font-size: 1rem; }
.zone-visual > i { font-size: 1.3rem; font-style: normal; }
.zone-visual > p { flex-basis: 100%; font-size: 1rem; margin: .3rem 0 0; }
.trust-points { list-style: none; padding: 0; display: grid; gap: .7rem; margin: 1.5rem 0; }
.trust-points li { padding-bottom: .7rem; border-bottom: 1px solid var(--color-border); }
.trust-points li::before { content: '✓'; color: var(--color-primary); margin-right: .65rem; }
.review-track { gap: 1.25rem; padding: .5rem .25rem 1rem; }
.review-track.carousel-enhanced { scrollbar-width: none; }
.review-track.carousel-enhanced::-webkit-scrollbar { display: none; }
.review-card { flex-basis: 92%; min-height: 340px; padding: 1.6rem; border-radius: 10px; }
.review-rating-placeholder { width: 190px; max-width: 100%; height: 56px; font-size: .85rem; margin-bottom: 1rem; border-radius: 5px; }
.review-tag { font-size: .8rem; }
.review-card blockquote { font-size: 1.125rem; line-height: 1.65; margin: 1.5rem 0 2rem; }
.review-name { font-size: 1.125rem; font-weight: 600; }
.review-name span { font-size: .875rem; font-weight: 400; }
.demo-label { font-size: .9rem !important; }
.carousel-controls { gap: 1rem; margin-top: 1rem; }
.carousel-controls .small { font-size: .95rem; }
.icon-button { width: 54px; height: 54px; font-size: 1.6rem; border-radius: 50%; background: var(--color-white); }
.faq-list summary { font-size: 1.125rem; min-height: 80px; padding: 1.5rem 2.5rem 1.5rem 0; }
.faq-list summary::after { font-size: 1.9rem; top: 1.1rem; }
.faq-list details > div { font-size: 1.0625rem; padding-bottom: 1.5rem; }
.footer-grid { font-size: 1rem; gap: 2rem; }
.footer-grid h2 { font-size: 1rem; margin-bottom: 1rem; }
.footer-brand { font-size: 2.2rem; }
.footer-brand small { font-size: .7rem; }
.footer-grid a { min-height: 40px; }
.footer-bottom { font-size: .875rem; gap: 1rem 2rem; padding-top: 1.5rem; }
.contact-links > a > span:first-child { font-size: .95rem; }
.split-layout > *, .about-layout > *, .benefits-intro > *, .section-heading > *, .faq-layout > * { min-width: 0; }
@media (min-width: 600px) {
  .form-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .form-fields > .field:last-child { grid-column: 1 / -1; }
  .review-card { flex-basis: calc((100% - 1.25rem) / 2); }
}
@media (min-width: 900px) {
  body { font-size: 18px; }
  .section { padding-block: 4.5rem; }
  .header-inner { gap: 1rem; min-height: 100px; }
  .brand-logo { width: 260px; }
  .main-nav { gap: 1rem; }
  .main-nav > a:not(.button) { font-size: .95rem; }
  .hero-grid { grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); align-items: start; gap: 2.5rem; }
  .hero-copy { padding-top: 1.5rem; }
  .hero-form { padding: 1.8rem; }
  .section-heading { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 3rem; }
  .split-layout, .about-layout, .benefits-intro { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 3rem; }
  .price-card { padding: 2rem; }
  .review-card { flex-basis: calc((100% - 1.25rem) / 2); padding: 2rem; min-height: 350px; }
  .faq-layout { grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr); gap: 3rem; }
  .footer-grid { gap: 3rem; }
}
@media (min-width: 1200px) { .brand-logo { width: 280px; } .main-nav > a:not(.button) { font-size: 1rem; } }
@media (max-width: 599px) {
  .brand-logo { width: 184px; }
  .header-inner { min-height: 80px; }
  .hero-form { padding: 1.2rem; }
  .hero-form .form-button { font-size: .95rem; }
  .google-badge { width: 100%; padding: .9rem; }
  .google-review-count { font-size: .8rem; }
  .feature-grid, .steps { grid-template-columns: minmax(0, 1fr); }
  .photo-placeholder { aspect-ratio: 4 / 3; }
}
@media print { .hero-grid, .benefits-intro, .about-layout { display: block; } }

@media (min-width: 900px) and (max-width: 1099px) { .main-nav .nav-cta { display: none; } }
@media (max-width: 359px) { .brand-logo { width: 170px; } .menu-toggle { gap: .4rem; padding-inline: .5rem; } }

/* Revisione del sorgente: unico form direttamente nella griglia Hero. */
#lead-form, #consulenza { scroll-margin-top: 1rem; }
.benefits-copy .feature-grid { grid-template-columns: minmax(0, 1fr); gap: .85rem; margin-top: 1.4rem; }
.benefits-copy .feature-grid article { display: grid; grid-template-columns: 32px minmax(0, 1fr); column-gap: .9rem; padding: 1rem; }
.benefits-copy .feature-mark { grid-row: 1 / 3; margin: 0; }
.benefits-copy .feature-grid h3 { margin-bottom: .4rem; font-size: 1.25rem; }
.benefits-copy .feature-grid p { grid-column: 2; margin: 0; }
.service-photo-placeholder { aspect-ratio: 4 / 3; align-self: center; }
.brand-logo { width: 240px; height: auto; }
.checkbox-row label, .form-microcopy { font-size: .9375rem; }
.footer-bottom { font-size: .9375rem; }
@media (min-width: 900px) {
  .brand-logo { width: 280px; }
  .main-nav > a:not(.button) { font-size: 1rem; }
  .feature-grid p, .price-card > p:last-child, .faq-list details > div { font-size: 1.125rem; }
  .hero-form .field input, .field label, .footer-grid { font-size: 1.0625rem; }
  .faq-list summary { font-size: 1.1875rem; }
  .review-card blockquote { font-size: 1.1875rem; }
}
@media (min-width: 1200px) { .brand-logo { width: 300px; } }
@media (max-width: 599px) { .brand-logo { width: 210px; } }
@media (max-width: 359px) { .brand-logo { width: 180px; } }


/* Rifinitura visual-polish-04: circoscritta alla landing, Privacy invariata. */
:where(.landing-polish) .hero { padding-block: clamp(2rem, 4vw, 3.5rem); }
:where(.landing-polish) .hero-grid { gap: 2rem; }
:where(.landing-polish) .hero-copy { padding-block: .5rem; }
:where(.landing-polish) .hero h1 { font-size: clamp(2.65rem, 4.5vw, 4rem); line-height: 1.1; margin-bottom: 1.6rem; }
:where(.landing-polish) .hero-price { flex-wrap: wrap; column-gap: 1rem; row-gap: .1rem; font-size: 1.4rem; margin-bottom: 1.4rem; }
:where(.landing-polish) .hero-price strong { font-size: clamp(5rem, 8vw, 7rem); line-height: 1; letter-spacing: -.055em; }
:where(.landing-polish) .hero-intro { font-size: 1.1875rem; line-height: 1.7; max-width: 42ch; }
:where(.landing-polish) .hero-note,
:where(.landing-polish) .hero-trust { font-size: 1rem; }
:where(.landing-polish) .hero-form { padding: clamp(1.4rem, 3vw, 2.5rem); border-top-width: 2px; border-radius: 16px; box-shadow: 0 12px 36px rgb(36 62 83 / 6%); }
:where(.landing-polish) .hero-form .form-heading > h2 { font-size: clamp(1.85rem, 2.4vw, 2.2rem); line-height: 1.2; margin-bottom: .85rem; }
:where(.landing-polish) .form-intro-copy { font-size: 1.0625rem; margin-bottom: 1.5rem; }
:where(.landing-polish) .form-fields { gap: 1.2rem; }
:where(.landing-polish) .field label { font-size: 1.0625rem; margin-bottom: .6rem; }
:where(.landing-polish) .field label span { font-size: .9375rem; }
:where(.landing-polish) .hero-form .field input { min-height: 58px; padding: .9rem 1rem; border-radius: 8px; background: var(--color-background); }
:where(.landing-polish) .hero-form .field input:focus { background: var(--color-white); }
:where(.landing-polish) .hero-form .privacy-field { margin-block: 1.5rem; }
:where(.landing-polish) .checkbox-row { gap: .9rem; }
:where(.landing-polish) .checkbox-row label { font-size: 1rem; line-height: 1.65; }
:where(.landing-polish) .hero-form .form-button { min-height: 60px; font-size: 1.0625rem; border-radius: 8px; gap: .75rem; padding-inline: 1rem; }
:where(.landing-polish) .hero-form .form-demo-note { font-size: .9375rem; line-height: 1.6; margin-top: 1rem; padding: .8rem 1rem; }
:where(.landing-polish) .form-microcopy { font-size: 1rem; margin-top: 1rem; }
:where(.landing-polish) .google-badge { min-height: 76px; width: fit-content; max-width: 100%; padding: .8rem 1.1rem; border-radius: 12px; gap: .9rem; margin-block: 1.5rem; box-shadow: 0 4px 16px rgb(36 62 83 / 3%); }
:where(.landing-polish) .google-badge strong { font-size: 1.125rem; margin: 0; }
:where(.landing-polish) .badge-icon { width: 44px; height: 44px; }
:where(.landing-polish) .menu-toggle { font-size: 1rem; }
:where(.landing-polish) .main-nav > a:not(.button) { font-size: 1.0625rem; }
:where(.landing-polish) .nav-cta { font-size: 1rem; min-height: 52px; padding: .85rem 1.1rem; gap: .65rem; }
:where(.landing-polish) .price-card { background: var(--color-white); color: var(--color-text); border-color: var(--color-border); border-top: 2px solid var(--color-primary); padding: clamp(1.4rem, 2.5vw, 2.2rem); box-shadow: 0 6px 20px rgb(36 62 83 / 3%); }
:where(.landing-polish) .price-card-featured .card-number,
:where(.landing-polish) .price-card-featured > p:last-child { color: var(--color-muted); }
:where(.landing-polish) .price { color: var(--color-primary); font-size: clamp(3.5rem, 5vw, 4.5rem); }
:where(.landing-polish) #promo-title em { display: inline-block; font-size: 1.2em; }
:where(.landing-polish) .photo-placeholder { border: 0; border-radius: 18px; background: linear-gradient(140deg, var(--color-white), var(--color-accent-light)); isolation: isolate; }
:where(.landing-polish) .photo-placeholder::before { inset: 12% 18% -24%; border: 0; border-radius: 48% 48% 0 0; background: linear-gradient(150deg, rgb(255 255 255 / 85%), rgb(64 99 127 / 10%)); transform: rotate(-18deg); box-shadow: 12px 10px 35px rgb(64 99 127 / 5%); }
:where(.landing-polish) .photo-placeholder::after { content: ''; position: absolute; width: 55%; aspect-ratio: 1; border: 1px solid rgb(64 99 127 / 18%); border-radius: 50%; right: -12%; top: 12%; }
:where(.landing-polish) .placeholder-surface { position: absolute; inset: 14%; border: 1px solid rgb(255 255 255 / 80%); border-radius: 45% 45% 12px 12px; transform: rotate(10deg); }
:where(.landing-polish) .equipment-placeholder::before { transform: rotate(18deg); }
:where(.landing-polish) .environment-placeholder::before { transform: none; inset: 15% 23% 0; }
:where(.landing-polish) .zone-visual { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); max-width: none; gap: 1rem; padding: clamp(1.1rem, 3vw, 2rem); border-radius: 16px; background: linear-gradient(135deg, var(--color-surface-soft), var(--color-accent-light)); }
:where(.landing-polish) .zone-visual > span { display: grid; place-items: center; text-align: center; min-height: 88px; padding: .8rem .5rem; font-size: 1.125rem; border-radius: 10px; }
:where(.landing-polish) .zone-visual > i { color: var(--color-primary); font-size: 2rem; }
:where(.landing-polish) .zone-visual > p { grid-column: 1 / -1; text-align: center; font-size: 1.0625rem; margin-top: .5rem; }
:where(.landing-polish) .zone-visual strong { display: inline-block; margin-top: .4rem; font: 400 clamp(1.5rem, 2.5vw, 2rem)/1.3 var(--font-heading); color: var(--color-primary); }
:where(.landing-polish) .review-rating-placeholder { border: 0; width: 160px; height: 48px; border-radius: 8px; background: linear-gradient(110deg, var(--color-surface-soft), var(--color-background)); }
:where(.landing-polish) .review-tag { font-size: .875rem; letter-spacing: .04em; }
:where(.landing-polish) .review-name span { font-size: .9375rem; }
:where(.landing-polish) .demo-label { font-size: 1rem !important; background: transparent; border-left-width: 1px; padding: .5rem 1rem; line-height: 1.6; }
:where(.landing-polish) .consultation { background: var(--color-accent-light); border-block: 1px solid var(--color-border); padding-block: clamp(3.5rem, 6vw, 5.5rem); }
:where(.landing-polish) .final-cta { gap: 2rem; }
:where(.landing-polish) .final-cta h2 { font-size: clamp(2.5rem, 4vw, 3.75rem); }
:where(.landing-polish) .final-cta p:not(.eyebrow) { font-size: 1.1875rem; }
:where(.landing-polish) .final-actions { gap: 1.1rem; min-width: 0; }
:where(.landing-polish) .final-actions .button { min-height: 64px; font-size: 1.0625rem; padding: 1.1rem 1.3rem; box-shadow: 0 8px 24px rgb(36 62 83 / 8%); }
:where(.landing-polish) .steps p,
:where(.landing-polish) .faq-list details > div { font-size: 1.125rem; line-height: 1.7; }
:where(.landing-polish) .small,
:where(.landing-polish) .promo-footnote,
:where(.landing-polish) .footer-bottom { font-size: 1rem; }
:where(.landing-polish) .footer-grid { font-size: 1.125rem; line-height: 1.7; }
:where(.landing-polish) .footer-grid h2 { font-size: 1.0625rem; }
:where(.landing-polish) .footer-brand small { font-size: .8125rem; }
@media (min-width: 900px) {
  :where(.landing-polish) .hero-grid { grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); align-items: center; gap: 2.5rem; }
  :where(.landing-polish) .header-inner { gap: 1.25rem; padding-block: .85rem; }
  :where(.landing-polish) .main-nav { gap: 1.25rem; }
}
@media (min-width: 1100px) and (max-width: 1199px) {
  :where(.landing-polish) .main-nav { gap: .85rem; }
  :where(.landing-polish) .nav-cta { padding-inline: .85rem; }
}
@media (max-width: 599px) {
  :where(.landing-polish) .hero h1 { font-size: clamp(2.35rem, 8.5vw, 3.2rem); }
  :where(.landing-polish) .hero-form { padding: 1.4rem; }
  :where(.landing-polish) .final-actions .button { width: 100%; gap: .65rem; }
}


/* Rifinitura conservativa: dimensioni e respiro, solo sulla landing. */
:where(.landing-polish) .brand-logo { width: 248px; }
:where(.landing-polish) .nav-cta { min-height: 54px; font-size: 1.0625rem; }
:where(.landing-polish) .hero-form { padding: clamp(1.5rem, 3.2vw, 2.625rem); }
:where(.landing-polish) .hero-form .field input { min-height: 60px; }
:where(.landing-polish) .google-badge { min-height: 84px; padding: 1rem 1.25rem; gap: 1rem; }
:where(.landing-polish) .google-badge strong { font-size: 1.1875rem; }
:where(.landing-polish) .badge-icon { width: 48px; height: 48px; }
:where(.landing-polish) .zone-visual { padding: clamp(1.25rem, 3.4vw, 2.25rem); row-gap: 1.25rem; }
:where(.landing-polish) .zone-visual > span { min-height: 100px; }
:where(.landing-polish) .review-card { padding: 1.75rem; }
:where(.landing-polish) .review-rating-placeholder { width: 176px; height: 56px; flex-shrink: 0; margin-bottom: 1.25rem; }
:where(.landing-polish) .footer-grid { line-height: 1.75; }
:where(.landing-polish) .footer-grid h2 { margin-bottom: 1.15rem; }
:where(.landing-polish) .footer-bottom { line-height: 1.7; }
@media (min-width: 900px) {
  body.landing-polish { font-size: 19px; }
  :where(.landing-polish) .brand-logo { width: 288px; }
  :where(.landing-polish) .section-heading > p,
  :where(.landing-polish) .feature-grid p,
  :where(.landing-polish) .price-card > p:last-child,
  :where(.landing-polish) .steps p,
  :where(.landing-polish) .faq-list details > div { font-size: 1.1875rem; }
  :where(.landing-polish) .hero-note,
  :where(.landing-polish) .hero-trust,
  :where(.landing-polish) .small,
  :where(.landing-polish) .promo-footnote,
  :where(.landing-polish) .form-microcopy,
  :where(.landing-polish) .footer-bottom { font-size: 1.0625rem; }
  :where(.landing-polish) .hero-form .form-demo-note,
  :where(.landing-polish) .review-name span { font-size: 1rem; }
  :where(.landing-polish) .faq-list summary { font-size: 1.25rem; }
  :where(.landing-polish) .review-card { padding: 2.125rem; }
  :where(.landing-polish) .footer-grid { font-size: 1.1875rem; }
  :where(.landing-polish) .footer-grid h2 { font-size: 1.125rem; }
}
@media (min-width: 1200px) {
  :where(.landing-polish) .brand-logo { width: 312px; }
  :where(.landing-polish) .main-nav > a:not(.button) { font-size: 1.125rem; }
}
@media (max-width: 599px) {
  :where(.landing-polish) .brand-logo { width: 216px; }
  :where(.landing-polish) .hero-form { padding: 1.5rem; }
}
@media (max-width: 359px) { :where(.landing-polish) .brand-logo { width: 184px; } }

/* Ultimi ritocchi: gerarchia e leggibilita, struttura invariata. */
:where(.landing-polish) .hero-price strong { font-size: clamp(5.25rem, 8.4vw, 7.375rem); }
:where(.landing-polish) .google-badge { min-height: 90px; padding: 1.125rem 1.375rem; }
:where(.landing-polish) .google-badge strong { font-size: 1.25rem; }
:where(.landing-polish) .badge-icon { width: 52px; height: 52px; }
:where(.landing-polish) .checkbox-row { align-items: center; }
:where(.landing-polish) .checkbox-row input { width: 28px; height: 28px; cursor: pointer; }
:where(.landing-polish) .checkbox-row label { min-height: 48px; padding: .5rem .25rem; font-size: 1.0625rem; line-height: 1.7; cursor: pointer; }
:where(.landing-polish) .brand-logo { width: 261px; }
:where(.landing-polish) .main-nav > a:not(.button) { font-size: 1.125rem; }
:where(.landing-polish) .footer-grid { line-height: 1.8; }
:where(.landing-polish) .footer-brand small { font-size: .875rem; }
@media (min-width: 900px) {
  :where(.landing-polish) .brand-logo { width: 303px; }
  :where(.landing-polish) .field label span,
  :where(.landing-polish) .field-error,
  :where(.landing-polish) .review-tag,
  :where(.landing-polish) .technology-fact small,
  :where(.landing-polish) .contact-links > a > span:first-child { font-size: 1rem; }
  :where(.landing-polish) .hero-form .form-demo-note,
  :where(.landing-polish) .review-name span { font-size: 1.0625rem; }
  :where(.landing-polish) .footer-grid { font-size: 1.25rem; }
  :where(.landing-polish) .footer-bottom { font-size: 1.125rem; }
}
@media (min-width: 1200px) {
  :where(.landing-polish) .brand-logo { width: 328px; }
  :where(.landing-polish) .main-nav > a:not(.button) { font-size: 1.1875rem; }
}
@media (max-width: 599px) { :where(.landing-polish) .brand-logo { width: 227px; } }
@media (max-width: 359px) { :where(.landing-polish) .brand-logo { width: 194px; } }

/* Rapporto intrinseco del logo configurato, dimensioni riservate dagli attributi HTML. */
.brand-logo { aspect-ratio: auto; }

/* Media editoriali: stessi contenitori e rapporti del layout approvato. */
.photo-placeholder.has-media::before,
.photo-placeholder.has-media::after { content: none; }
.photo-placeholder > .landing-media-image {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Local contact action: below CMP overlays, above ordinary page content. */
