/* CENTURY 21 public Branding guide; local OFL Barlow Semi Condensed, original artwork. */
@font-face{font-family:'C21 Barlow';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/BarlowSemiCondensed-Regular.ttf') format('truetype')}
@font-face{font-family:'C21 Barlow';font-style:normal;font-weight:600 900;font-display:swap;src:url('../fonts/BarlowSemiCondensed-SemiBold.ttf') format('truetype')}
:root{--ha-gold:#beaf87;--ha-ink:#121212;--ha-muted:#252526;--ha-paper:#fff;--ha-warm:#e6e7e8;--ha-line:#c4c4c6}
body,button,input,textarea,select,h1,h2,h3,.ha-hero-name,.ha-small,.ha-step-number,.ha-brand strong{font-family:'C21 Barlow',Arial,sans-serif}
body{font-size:20px;line-height:1.65}
h1,h2,h3{font-weight:600;letter-spacing:-.015em;line-height:1.18}
h1{font-size:clamp(2.75rem,4.7vw,4.5rem)}h2{font-size:clamp(2.25rem,3.6vw,3.5rem)}h3{font-size:1.75rem}
.ha-section-heading p,.ha-prose p,.ha-lead,.ha-help-grid p,.ha-card-body p,.ha-method-list p,.ha-method-grid p,.ha-buy-steps li,blockquote,.ha-review strong,.ha-network-panel p{font-size:20px;line-height:1.65}
.ha-eyebrow,.ha-small,.ha-step-number,.ha-case-step strong,.ha-badge,.ha-sample-label{font-size:16px;line-height:1.6}
.ha-button,.ha-card-body .ha-button,.ha-help-grid .ha-button{font-size:19px;line-height:1.45;min-height:52px;padding:14px 20px}
.ha-nav a{font-size:18px;line-height:1.5;min-height:48px}.ha-brand strong{font-size:22px}.ha-brand-note,.ha-hero-bottom,.ha-socials,.ha-credentials span,.ha-towns span{font-size:18px;line-height:1.6}
.ha-hero-name{font-size:22px}.ha-card-body h3{font-size:28px}.ha-method-list h3,.ha-method-grid h3{font-size:26px;line-height:1.25}.ha-property-price{font-size:24px!important}
.ha-contact-layout .ha-section-heading h2{font-size:clamp(2.25rem,3.2vw,3rem);line-height:1.18}.ha-contact-layout .ha-section-heading p{font-size:20px;line-height:1.65}
.ha-form h3{font-size:30px}.ha-form label,.ha-form input,.ha-form textarea,.ha-form select{font-size:20px;line-height:1.5}.ha-form>p,.ha-form .ha-small,.ha-contact-layout .ha-notice{font-size:18px;line-height:1.6}.ha-form select{height:56px;min-height:56px;background-position:calc(100% - 20px) 25px,calc(100% - 15px) 25px}
.ha-form .ha-marketing p{font-size:18px;line-height:1.6}.ha-marketing legend,.ha-form .ha-marketing-options label{font-size:20px;line-height:1.5}.ha-marketing-options small{font-size:18px;line-height:1.55}
.ha-cookie-heading h2{font-size:30px}.ha-cookie-form>p,.ha-cookie-form legend,.ha-cookie-form label{font-size:20px;line-height:1.55}.ha-cookie-form label small,.ha-cookie-actions .ha-button,.ha-cookie-dialog .ha-small{font-size:18px;line-height:1.55}.ha-cookie-dialog{width:min(760px,calc(100vw - 32px))}
.ha-footer-top p{font-size:20px;line-height:1.6}.ha-footer-bottom,.ha-footer .ha-small,.ha-legal-data{font-size:17px;line-height:1.7}.ha-footer-links{gap:12px 20px}.ha-footer-links a,.ha-footer-links button{padding-block:5px;min-height:40px}.ha-ai-transparency{font-size:17px;line-height:1.7;color:#e6e7e8;border-top:1px solid #808285;padding-top:22px;margin-top:22px;max-width:1000px}
.ha-official-logo{height:auto;object-fit:contain;filter:none;transform:none}.ha-mobile-contact a{font-size:19px}.ha-valuation-placeholder p{font-size:20px;line-height:1.65}.ha-valuation-widget [data-ha-valuation-mount]>a{font-size:18px}
@media(max-width:800px){body{font-size:19px}.ha-hero h1{font-size:clamp(2.65rem,7vw,3.6rem)}.ha-section-heading p,.ha-prose p,.ha-lead,.ha-help-grid p,.ha-card-body p,.ha-method-list p,.ha-method-grid p,.ha-buy-steps li,blockquote,.ha-network-panel p,.ha-contact-layout .ha-section-heading p{font-size:19px;line-height:1.65}.ha-nav a{font-size:20px}.ha-button,.ha-help-grid .ha-button{font-size:19px}}
@media(max-width:540px){.ha-section h2{font-size:36px;line-height:1.2}.ha-form h3{font-size:28px}.ha-form label,.ha-form input,.ha-form textarea,.ha-form select{font-size:19px}.ha-brand strong{font-size:20px}.ha-hero-name{font-size:20px}.ha-card-body{padding:24px}.ha-cookie-dialog{padding:20px}.ha-cookie-heading h2{font-size:28px}.ha-cookie-form>p,.ha-cookie-form label{font-size:19px}.ha-footer-bottom,.ha-footer .ha-small,.ha-legal-data,.ha-ai-transparency{font-size:16px;line-height:1.7}}

/* 1.5.1: compact editorial hierarchy for the contact section and closing footer. */
#contatti{padding-block:56px}
.ha-contact-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;max-width:1040px}
.ha-contact-layout>div:last-child{width:100%;max-width:none;margin:0}
.ha-contact-layout .ha-section-heading{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:8px 40px;max-width:none;margin:0}
.ha-contact-layout .ha-section-heading .ha-eyebrow{grid-column:1/-1;margin:0 0 4px}
.ha-contact-layout .ha-section-heading h2{font-size:clamp(32px,2.8vw,40px);line-height:1.2;max-width:none;margin:0;letter-spacing:-.01em}
.ha-contact-layout .ha-section-heading p{font-size:20px;line-height:1.55;max-width:none;margin:0;align-self:center}
.ha-contact-layout .ha-direct-contacts:empty,.ha-contact-layout .ha-socials:empty{display:none}
.ha-contact-layout .ha-direct-contacts:not(:empty){margin:22px 0 0}.ha-contact-layout .ha-socials:not(:empty){margin-top:16px}
.ha-contact-layout .ha-form{padding:28px;gap:16px;max-width:none;margin:0}
.ha-contact-layout .ha-form h3{font-size:27px;line-height:1.25;margin:0}
.ha-contact-layout .ha-form>p,.ha-contact-layout .ha-form .ha-small{font-size:17px;line-height:1.5}
.ha-contact-layout .ha-form label{font-size:18px;line-height:1.4;font-weight:600;gap:6px}
.ha-contact-layout .ha-form input:not([type=checkbox]):not([type=hidden]),.ha-contact-layout .ha-form select{font-size:18px;height:48px;min-height:48px;padding:9px 12px;line-height:1.5}
.ha-contact-layout .ha-form select{padding-right:40px;background-position:calc(100% - 20px) 21px,calc(100% - 15px) 21px}
.ha-contact-layout .ha-form textarea{font-size:18px;height:128px;min-height:128px;padding:10px 12px;line-height:1.5}
.ha-contact-layout .ha-form .ha-privacy{font-size:17px;line-height:1.5;font-weight:400;padding:12px 14px}
.ha-contact-layout .ha-marketing{padding:14px 16px}.ha-contact-layout .ha-marketing legend{font-size:18px;line-height:1.5}
.ha-contact-layout .ha-marketing p,.ha-contact-layout .ha-marketing-options small{font-size:17px;line-height:1.5}
.ha-contact-layout .ha-marketing-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:12px}
.ha-contact-layout .ha-marketing-options label{font-size:18px;padding:12px;gap:10px}.ha-contact-layout .ha-marketing-options strong{font-weight:600}
.ha-contact-layout .ha-button{font-size:18px;min-height:48px;padding:11px 18px}
.ha-footer{padding:42px 0 28px}
.ha-footer-top{grid-template-columns:minmax(0,2.5fr) minmax(160px,1fr);gap:40px;align-items:start}
.ha-footer-top>div:first-child{display:grid;grid-template-columns:200px minmax(0,1fr);gap:32px;align-items:center}
.ha-footer-logo{padding:0;margin:0;max-width:200px}.ha-footer-logo .ha-official-logo{width:200px;height:auto}
.ha-footer h2{font-size:32px;line-height:1.25;letter-spacing:-.01em;margin:0}
.ha-footer-top>div:last-child{min-width:0;overflow-wrap:anywhere}.ha-footer-top>div:last-child>strong{font-size:20px;line-height:1.4;font-weight:600}
.ha-footer-top p{font-size:18px;line-height:1.5;margin:8px 0 0}
.ha-legal-data{margin-top:28px;font-size:16px;line-height:1.6;gap:6px 16px}
.ha-footer-bottom{margin-top:20px;padding-top:16px;font-size:16px;line-height:1.6;align-items:center}
.ha-footer .ha-small{font-size:16px;line-height:1.65;margin:16px 0 0;max-width:none}
.ha-ai-transparency{font-size:16px;line-height:1.65;border:0;padding:0;margin:12px 0 0;max-width:none}
@media(max-width:800px){.ha-contact-layout .ha-section-heading{grid-template-columns:1fr;gap:12px}.ha-contact-layout .ha-section-heading p{font-size:19px}.ha-footer{padding-bottom:100px}.ha-footer-top{grid-template-columns:1fr;gap:24px}.ha-footer-top>div:first-child{grid-template-columns:200px minmax(0,1fr);gap:24px}.ha-footer h2{font-size:30px}.ha-footer-bottom{align-items:flex-start}}
@media(max-width:540px){#contatti{padding-block:40px}.ha-contact-layout{gap:22px}.ha-contact-layout .ha-section-heading h2{font-size:32px}.ha-contact-layout .ha-form{padding:20px;gap:15px}.ha-contact-layout .ha-form-row,.ha-contact-layout .ha-marketing-options{grid-template-columns:1fr}.ha-footer-top>div:first-child{grid-template-columns:1fr;gap:20px}.ha-footer h2{font-size:28px}.ha-footer-logo .ha-official-logo{width:190px}.ha-footer-links{gap:8px 16px}}

/* 1.5.2: visual parity with the reference site's current editorial system.
   Official artwork remains untouched; fonts are bundled locally under OFL. */
:root{--ha-ink:#252526;--ha-muted:#252526;--ha-paper:#f8f7f2;--ha-warm:#f4f4f6;--ha-gold:#beaf87;--ha-line:#c4c4c6;--ha-container:1180px}
body{background:#f8f7f2;color:#252526}
main{letter-spacing:.01em}
h1,h2,h3{letter-spacing:0;font-weight:600;text-wrap:balance;color:#252526}
h1,.ha-hero h1{font-size:clamp(48px,5vw,68px);line-height:1.08;max-width:17ch}
h2,.ha-section h2{font-size:clamp(34px,3.3vw,46px);line-height:1.17}
h3,.ha-card-body h3,.ha-method-list h3,.ha-method-grid h3{font-size:27px;line-height:1.25;letter-spacing:0}
p{overflow-wrap:break-word;text-wrap:pretty}
.ha-section{padding-block:clamp(48px,5.2vw,76px)}
.ha-two-col{gap:clamp(32px,5vw,68px)}
.ha-section-heading{margin-bottom:24px}.ha-section-heading p,.ha-prose p,.ha-help-grid p,.ha-card-body p,.ha-method-list p,.ha-method-grid p,.ha-buy-steps li,blockquote,.ha-network-panel p{font-size:20px;line-height:1.65}
.ha-eyebrow{font-size:14px;line-height:1.5;font-weight:600;letter-spacing:.1em;margin-bottom:16px;color:#252526}
.ha-step-number{font-size:15px}.ha-small,.ha-badge,.ha-case-step strong,.ha-sample-label{font-size:16px}
.ha-header{background:#f8f7f2;color:#252526;border-bottom:1px solid #e6e7e8}
.ha-header-inner{min-height:80px}.ha-brand{gap:6px;padding-block:10px;flex-basis:230px}.ha-brand strong{font-size:26px;line-height:1.2}
.ha-brand .ha-official-logo{width:190px;height:auto}.ha-nav a{font-size:18px;line-height:1.3}.ha-nav-toggle{color:#252526;border-color:#808285;border-radius:3px;font-size:18px}
.ha-hero{background:#f8f7f2;padding-top:38px}.ha-hero-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:48px}.ha-hero-copy{padding-block:12px 24px}
.ha-hero-name{font-size:17px;line-height:1.5;margin-bottom:26px}.ha-lead{font-size:22px;line-height:1.55;max-width:48ch;margin-block:24px}
.ha-brand-note,.ha-hero-bottom{font-size:16px;line-height:1.55}.ha-hero-bottom{margin-top:26px;padding-block:18px}
.ha-button,.ha-help-grid .ha-button,.ha-card-body .ha-button,.ha-contact-layout .ha-button{font-size:19px;line-height:1.3;font-weight:600;min-height:48px;padding:15px 20px;background:#252526;border-color:#252526;color:#fff;transform:none}
.ha-button:hover{background:#beaf87;border-color:#beaf87;color:#121212;transform:none}
.ha-button--outline{background:transparent;color:#252526;border-color:#808285}.ha-button--outline:hover{background:#beaf87;color:#121212;border-color:#beaf87}
.ha-dark{background:#252526;color:#fff}.ha-dark h2,.ha-dark h3{color:#fff}.ha-dark p,.ha-dark .ha-section-heading p{color:#e6e7e8}
.ha-dark .ha-button{background:transparent;color:#fff;border-color:#beaf87}.ha-dark .ha-button:hover{background:#beaf87;color:#121212}
.ha-network-panel{background:#252526;border-color:#808285}.ha-network-panel p{color:#fff}
.ha-story,.ha-property{border-color:#c4c4c6;border-radius:0}.ha-review{border-top:1px solid #c4c4c6;background:transparent;padding:28px 0}
.ha-credentials span,.ha-towns span{border-color:#c4c4c6}.ha-method-grid>div{border-color:#808285}
#contatti{padding-block:clamp(48px,5.2vw,76px)}
.ha-contact-layout{max-width:1180px;gap:26px}
.ha-contact-layout .ha-section-heading{gap:12px 50px;grid-template-columns:repeat(2,minmax(0,1fr))}
.ha-contact-layout .ha-section-heading h2{font-size:clamp(34px,3.3vw,46px);line-height:1.17;letter-spacing:0;max-width:20ch}
.ha-contact-layout .ha-section-heading p{font-size:20px;line-height:1.65}
.ha-contact-layout .ha-form{width:min(100%,860px);margin-inline:auto;padding:28px;gap:18px;border:1px solid #1111111a;border-radius:4px;color:#252526}
.ha-contact-layout .ha-form h3{font-size:29px;line-height:1.25}
.ha-contact-layout .ha-form-row{gap:18px}
.ha-contact-layout .ha-form label{font-size:18px;line-height:1.5;gap:7px;font-weight:600}
.ha-contact-layout .ha-form input:not([type=checkbox]):not([type=hidden]),.ha-contact-layout .ha-form select,.ha-contact-layout .ha-form textarea{font-size:18px;line-height:1.5;border:1px solid #808285;border-radius:3px;padding:10px 12px;color:#121212;background-color:#fff}
.ha-contact-layout .ha-form input:not([type=checkbox]):not([type=hidden]),.ha-contact-layout .ha-form select{height:49px;min-height:49px}
.ha-contact-layout .ha-form select{padding-right:42px;background-position:calc(100% - 20px) 21px,calc(100% - 15px) 21px}
.ha-contact-layout .ha-form textarea{height:157px;min-height:128px}
.ha-contact-layout .ha-form .ha-privacy{font-size:17px;line-height:1.5;font-weight:400;background:#beaf870e;border:1px solid #1111111a;border-radius:12px;padding:13px 14px}
.ha-contact-layout .ha-marketing{border-color:#c4c4c6;border-radius:14px;padding:17px 14px 14px}
.ha-contact-layout .ha-marketing legend{font-size:17px;line-height:1.5}
.ha-contact-layout .ha-marketing-options label{background:#f8f7f2;border:1px solid #11111117;border-radius:11px;padding:12px;font-size:18px;line-height:1.5}
.ha-contact-layout .ha-marketing-options strong{font-size:17px;line-height:1.5}
.ha-contact-layout .ha-marketing p,.ha-contact-layout .ha-marketing-options small{font-size:16px;line-height:1.5}
.ha-contact-layout .ha-form .ha-notice{background:#f4f4f6;color:#252526;border-radius:3px}
.ha-footer{padding:50px 0 28px;background:#f4f4f6;color:#252526}.ha-footer h2{font-size:30px;line-height:1.15;color:#252526;letter-spacing:0}
.ha-footer-top p{font-size:18px;line-height:1.6}.ha-footer-top>div:last-child>strong{font-size:23px;line-height:1.2}.ha-footer-top{gap:40px}
.ha-footer-logo{max-width:230px}.ha-footer-logo .ha-official-logo{width:230px}.ha-footer-top>div:first-child{grid-template-columns:230px minmax(0,1fr)}
.ha-footer-bottom,.ha-footer .ha-small,.ha-legal-data,.ha-ai-transparency{font-size:15px;line-height:1.6;color:#252526}
.ha-footer-bottom{border-color:#c4c4c6;margin-top:30px;padding-top:20px}.ha-footer .ha-eyebrow{color:#252526}
.ha-cookie-form>p,.ha-cookie-form label,.ha-cookie-form legend{font-size:17px;line-height:1.5}.ha-cookie-form label small{font-size:15px;line-height:1.5}.ha-cookie-heading h2{font-size:29px}.ha-cookie-actions .ha-button{font-size:17px}
.ha-official-logo{filter:none;transform:none;height:auto;object-fit:contain}
@media(max-width:980px){.ha-container{width:calc(100% - 48px)}.ha-hero-grid{gap:30px}.ha-footer-top{grid-template-columns:1fr;gap:25px}}
@media(max-width:800px){.ha-hero-grid{grid-template-columns:1fr}.ha-contact-layout .ha-section-heading{grid-template-columns:1fr;gap:16px}.ha-contact-layout .ha-section-heading h2{max-width:none}.ha-contact-layout .ha-section-heading p{font-size:19px}.ha-footer-top>div:first-child{grid-template-columns:200px minmax(0,1fr)}.ha-footer-logo .ha-official-logo{width:200px}.ha-footer{padding-bottom:100px}}
@media(max-width:700px){body{font-size:19px}h1,.ha-hero h1{font-size:clamp(40px,11.3vw,52px);line-height:1.12}.ha-section h2,.ha-contact-layout .ha-section-heading h2{font-size:34px;line-height:1.2}.ha-section h3,.ha-card-body h3,.ha-method-grid h3,.ha-method-list h3{font-size:25px;line-height:1.25}.ha-section-heading p,.ha-prose p,.ha-help-grid p,.ha-card-body p,.ha-method-list p,.ha-method-grid p,.ha-buy-steps li,blockquote,.ha-network-panel p,.ha-contact-layout .ha-section-heading p{font-size:19px;line-height:1.6}.ha-lead{font-size:21px;line-height:1.55}.ha-nav a{font-size:20px}.ha-contact-layout .ha-form{padding:24px 18px}.ha-contact-layout .ha-form h3{font-size:29px}.ha-form .ha-marketing-options,.ha-contact-layout .ha-marketing-options{grid-template-columns:1fr}.ha-footer h2{font-size:30px}.ha-footer .ha-small,.ha-footer-bottom,.ha-legal-data,.ha-ai-transparency{font-size:15px;line-height:1.6}}
@media(max-width:600px){.ha-container{width:calc(100% - 36px)}.ha-section,#contatti{padding-block:44px}.ha-hero{padding-top:38px}.ha-brand strong{font-size:22px}.ha-footer-top>div:first-child{grid-template-columns:1fr;gap:20px}.ha-footer-logo .ha-official-logo{width:230px}.admin-bar .ha-header{top:0}}

.ha-placeholder,.ha-portrait-caption strong,.ha-sample-label{font-family:'C21 Barlow',Arial,sans-serif}

.ha-contact-layout .ha-form>.ha-button{justify-content:center}
@media(max-width:600px){.ha-brand{flex-basis:170px;min-width:0}.ha-header-inner{gap:12px}.ha-nav-toggle{flex-shrink:0}}
