/* Both brand and navigation stay visible as one header, without leaving the flow. */
header{position:sticky;top:0;z-index:50;isolation:isolate;background:#fff;box-shadow:0 4px 16px #123a6012}
html{scroll-padding-top:calc(var(--site-header-height,240px) + 20px)}
.privacy-content{max-width:960px;margin:auto;padding:40px 7% 64px;font-size:18px;line-height:1.8;overflow-wrap:anywhere}
.privacy-content h2{font-size:clamp(24px,3vw,30px);line-height:1.3;margin:0 0 18px;letter-spacing:-.3px}
.privacy-content section{padding-top:30px;margin-top:24px;border-top:1px solid #dbe3ea;scroll-margin-top:30px}
.privacy-content p{margin:0 0 20px}
.privacy-content a{text-underline-offset:4px}
.privacy-content .privacy-date{color:#536a7e;font-size:16px}
.privacy-index{display:flex;flex-wrap:wrap;gap:10px 22px;padding:22px 0;line-height:1.6}
.privacy-index a{font-size:17px}
.privacy-back{padding-top:32px}
.quote .notice a{font-weight:600;text-decoration:underline;text-underline-offset:4px}
header>.brand{height:120px}
header>.brand img{width:290px;max-width:70vw}
.masthead{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:24px;min-height:135px;padding:8px 7%;background:radial-gradient(ellipse at center,#fff 30%,#edf3f8 100%);border-bottom:1px solid #e2e9ef}
.masthead>.brand{display:flex;justify-content:center;align-items:center}
header .masthead>.brand img{display:block;width:300px;max-width:35vw;height:auto;mix-blend-mode:multiply}
.masthead-social a{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:12px 18px;min-height:52px;font:600 18px/1.5 Arial,sans-serif;text-decoration:none;color:#123a60;border:1px solid #bdccda;border-radius:30px;background:#ffffffbf}
.masthead-social a:hover{background:#fff;border-color:#557ba1;box-shadow:0 3px 12px #123a6012}
.masthead-social img{display:block;width:38px;height:38px;flex-shrink:0;object-fit:contain}
.masthead-instagram{justify-self:end}
.masthead-facebook{justify-self:start}
.masthead-social a>span{font-size:15px}
header nav{min-height:68px;padding:12px 4%;gap:14px 26px}
.nav-controls{display:none}
.hero p{max-width:350px}
.trust-strip h3{font-size:19px}
.footer-contacts{display:flex;flex-wrap:wrap;gap:18px 30px}
.footer-contacts a{display:flex;flex-direction:column;text-decoration:none;font-size:15px}
.footer-contacts span{font-size:14px;color:#cfdeec}
.company-details{display:flex;flex-direction:column;gap:7px;font-size:15px;line-height:1.65;overflow-wrap:anywhere}
.company-details address{font-style:normal}
footer>.company-details{flex-basis:100%;border-top:1px solid #55718b;padding-top:24px;margin-top:12px;color:#dce6f0}
.contact-company{grid-column:1/-1;border-top:1px solid #dbe3ea;padding-top:30px;margin-top:10px}
.contact-company h2{font-size:28px}
.contact-company .company-details{font-size:18px;color:#344f65}
.social-links{display:flex;flex-wrap:wrap;gap:14px}
.social-links a{display:inline-flex;align-items:center;gap:12px;min-height:48px;padding:12px 18px;border:1px solid #bdccda;border-radius:8px;text-decoration:none;font-size:17px;font-weight:600;line-height:1.5}
.social-links a:hover{background:#edf3f8;color:#123a60}
.social-links img{display:block;flex-shrink:0;width:24px;height:24px}
.footer-social h2{font-size:18px;letter-spacing:0;margin:0 0 14px}
.footer-social .social-links a{border-color:#6b839a;background:#fff;color:#123a60;font-size:16px}
.footer-social .social-links a:hover{background:#eaf1f7}
.contact-social{grid-column:1/-1;border-top:1px solid #dbe3ea;padding-top:30px}
.contact-social h2{font-size:28px}
.quick-contact{display:none}
.contact-options{display:grid;gap:20px;margin-top:30px}
.contact-options a{display:flex;flex-direction:column;align-items:start;font-size:20px;font-weight:600;color:#123a60;text-decoration:none;gap:4px}
.contact-options a span{font-size:17px;font-weight:400;text-decoration:underline;text-underline-offset:5px}
.quote-contacts{display:grid;gap:15px;margin-top:20px}
.quote-contacts a{font-size:17px;text-decoration:none;display:flex;flex-direction:column}
.quote-contacts span{font-size:15px;text-decoration:underline;text-underline-offset:4px}
.quote fieldset{border:0;border-top:1px solid #dbe3ea;padding:20px 0 0;margin:28px 0}
.quote legend{padding:0 10px 0 0;font-size:19px;font-weight:600;color:#123a60}
.quote .form-help{font-size:14px;color:#4b5e6c;margin:0 0 20px}
.conditional-fields{margin-top:20px}
[hidden]{display:none!important}
.quote .fields{align-items:start}
.quote .notice{margin-top:22px}
.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.quote button:disabled{opacity:.7;cursor:default}
.quote #new-request{margin-top:12px;background:#e8eff5;color:#123a60}
.quote form label{overflow-wrap:anywhere}
@media(min-width:701px) and (max-width:1100px){.hero p{max-width:310px}}
@media(max-width:700px){
 .masthead{gap:10px;min-height:112px;padding:8px 4%}
 header .masthead>.brand img{width:245px;max-width:42vw}
 .masthead-social a{font-size:14px;padding:10px;gap:7px}
 .masthead-social img{width:32px;height:32px}
 .masthead-social a>span{display:none}
 body{padding-bottom:78px}
 header>.brand{height:104px}
 header>.brand img{width:245px;max-width:76vw}
 .nav-controls{display:flex;align-items:center;justify-content:space-between;padding:12px 6%;gap:20px;border-bottom:1px solid #e0e8ef}
 #menu-toggle{background:white;border:1px solid #b6c8d7;border-radius:7px;padding:11px 16px;min-height:48px;font:600 17px Arial,sans-serif;color:#123a60;cursor:pointer}
 #menu-toggle span{font-size:21px;vertical-align:middle;margin-right:6px}
 .nav-controls .button{font-size:15px;min-height:48px;padding:12px 18px}
 header.menu-ready:not(.menu-open) nav{display:none}
 header nav{display:flex;flex-direction:column;align-items:stretch;padding:10px 6% 20px;gap:0}
 header.menu-ready nav{max-height:calc(100dvh - var(--masthead-height,140px) - var(--nav-controls-height,74px) - 86px);overflow-y:auto;overscroll-behavior:contain}
 header nav a{font-size:17px;padding:12px 0;border-bottom:1px solid #edf1f5}
 header nav .button{margin-top:10px;font-size:16px}
 .hero{height:800px;min-height:800px;background-size:100% 100%,auto 37%}
 .hero p{max-width:350px}
 .trust-strip{padding:28px 24px}
 .quick-contact{position:fixed;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));z-index:10;background:#123a60;box-shadow:0 -3px 14px #123a6020;padding:6px 4px max(6px,env(safe-area-inset-bottom))}
 .quick-contact a{color:white;text-decoration:none;font-size:15px;line-height:1.3;min-height:56px;display:flex;align-items:center;justify-content:center;font-weight:600;border-right:1px solid #55718b}
 .quick-contact a:last-child{border:0}
 .quick-contact a{font-size:15px;text-align:center;padding:6px;line-height:1.5}
 .quick-contact span{display:none}
 .footer-contacts{display:grid;margin-top:25px;gap:18px}
 .quote legend{font-size:18px}
 .quote form{padding:22px 18px}
 .contact-options a span{font-size:16px}
}
@media(max-width:480px){
 .masthead-social a{font-size:0;gap:0;width:48px;height:48px;padding:10px}
 .masthead-social img{width:32px;height:32px}
 header .masthead>.brand img{width:220px;max-width:54vw}
 .masthead{gap:8px;padding:8px 4%}
}
/* Recensioni: fonti distinte e testi espandibili senza dipendenze esterne. */
.reviews-intro{max-width:1240px;margin:auto;padding:64px 7%;display:grid;grid-template-columns:1.4fr 1fr;gap:50px;align-items:center}.reviews-intro h2{font-size:clamp(28px,3vw,40px);line-height:1.2;margin:12px 0 20px}.reviews-intro p{color:#52687c;font-size:18px}.review-score{display:flex;flex-direction:column;gap:10px;background:#eef4f9;padding:30px;border-radius:20px;border:1px solid #dce5ef}.score-number{font-size:60px;font-weight:750;line-height:1.1}.score-number span{font-size:24px;color:#52687c}.review-score small{color:#52687c}.review-score a,.review-card>a,.reviews-section-heading>a{font-weight:600;text-underline-offset:4px}.reviews-section{padding:48px 7% 64px;max-width:1400px;margin:auto}.facebook-section{background:#f3f6fa;max-width:none}.reviews-section-heading{display:flex;gap:24px;align-items:center;justify-content:space-between;margin-bottom:18px}.reviews-section-heading h2{font-size:30px;line-height:1.25;margin:10px 0}.reviews-section-heading>a{flex-shrink:0}.reviews-note{color:#52687c;font-size:14px;line-height:1.6;max-width:850px}.reviews-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:28px}.review-card{padding:28px;border:1px solid #dce5ef;border-radius:16px;background:white;display:flex;flex-direction:column;align-items:flex-start;box-shadow:0 5px 18px #123a6006}.review-platform{font-size:14px;font-weight:700;border-radius:30px;padding:5px 12px}.review-platform.facebook{color:#1556af;background:#edf4ff}.review-platform.marriage{color:#9d3655;background:#fff0f4}.review-stars{color:#a57016;letter-spacing:3px;margin-top:20px;font-size:21px}.review-recommend{font-size:14px;color:#426451;margin-top:15px}.review-card p,.review-card blockquote{font-size:18px;line-height:1.65;color:#314d66;margin:20px 0 24px;overflow-wrap:anywhere}.review-author{display:flex;flex-direction:column;gap:4px;margin-top:auto;padding-top:20px}.review-author span{color:#52687c;font-size:14px}.review-card>a{font-size:14px;margin-top:16px}.review-card details{margin-bottom:24px;width:100%}.review-card summary{cursor:pointer;text-decoration:underline;text-underline-offset:4px;font-weight:600;font-size:15px;padding:8px 0}.review-card details blockquote{font-size:17px}.reviews-cta{text-align:center;padding:60px 7%}.reviews-cta h2{font-size:30px}.reviews-cta p{color:#52687c;margin-bottom:28px}@media(max-width:1050px){.reviews-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reviews-section-heading{align-items:flex-start;flex-direction:column}.reviews-intro{gap:28px}}@media(max-width:700px){.reviews-intro{grid-template-columns:1fr;padding:36px 6%}.reviews-grid{grid-template-columns:1fr}.reviews-section{padding:36px 6%}.review-card{padding:24px}.reviews-section-heading h2{font-size:27px}.reviews-section-heading>a{flex-shrink:1}.reviews-cta{padding:40px 6%}}
/* Simboli decorativi: il testo dei recapiti resta accessibile. */
a.contact-link{display:inline-flex;flex-direction:row;align-items:center;gap:10px}.contact-symbol{display:inline-block;vertical-align:middle;width:24px;height:24px;flex:0 0 24px;overflow:visible}.contact-copy{min-width:0}.contact-copy>span{display:block}.footer-contacts a.contact-link,.contact-options a.contact-link,.quote-contacts a.contact-link{display:flex;flex-direction:row;align-items:center;gap:12px}.contact-options a>.contact-copy,.quote-contacts a>.contact-copy,.footer-contacts a>.contact-copy{font-size:inherit;font-weight:inherit;color:inherit;text-decoration:none}.contact-options a>.contact-copy>span{font-size:17px;font-weight:400;text-decoration:underline;text-underline-offset:5px}.footer-contacts a>.contact-copy>span{font-size:14px;color:#cfdeec}.quote-contacts a>.contact-copy>span{font-size:15px;text-decoration:underline;text-underline-offset:4px}.company-details a.contact-link,.privacy-document a.contact-link{gap:6px;vertical-align:middle}.company-details .contact-symbol{width:20px;height:20px;flex-basis:20px}.quote label>.contact-symbol{width:19px;height:19px;margin-right:7px;vertical-align:-4px}.button.contact-link>.contact-copy{display:flex;align-items:center;justify-content:space-between;gap:18px;flex:1}.button.contact-link>.contact-symbol{width:25px;height:25px;flex-basis:25px}@media(max-width:900px){.quick-contact a.contact-link{flex-direction:column;gap:3px;min-height:64px;padding:5px 3px}.quick-contact .contact-copy{display:block;font-size:13px;line-height:1.3}.quick-contact .contact-copy>span{display:none}.quick-contact .contact-symbol{width:23px;height:23px;flex-basis:23px}.contact-options a>.contact-copy>span{font-size:16px}}
/* La home cresce con i pulsanti: il riquadro successivo non invade i contatti. */
.hero{height:auto;max-height:none}.hero-content{padding-bottom:80px}.hero+.trust-strip{margin-top:0}.hero .button{width:320px;max-width:100%}@media(max-width:900px){.hero-content{padding-bottom:340px}}
