/* A shared finishing layer; the existing type, photography and form behaviour remain. */
.site-footer__contact { display: grid; justify-items: start; gap: .15rem; margin-top: 1.1rem; }
.site-footer__contact a { line-height: 1.4; text-decoration-thickness: 1px; text-underline-offset: .25em; }
.site-footer .site-footer__socials { display: flex; flex-wrap: wrap; align-items: center; gap: .55rem; margin-top: 1.3rem; }
.site-footer .social-link { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; border: 1px solid rgba(242,240,236,.28); border-radius: 4px; color: var(--paper); text-decoration: none; transition: background-color 160ms ease,color 160ms ease,border-color 160ms ease; }
.site-footer .social-link:hover { color: var(--ink); background: var(--accent); border-color: var(--accent); }
.site-footer .social-link:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
.social-link svg { display: block; flex: none; }
/* The same coverage map, with the screenshot frame cropped out and its original circle in gold. */
.coverage-map-card { width: min(100%,27rem); min-width: 0; margin: 0 auto; }
.coverage-map-card__art { position: relative; aspect-ratio: 1.04; overflow: hidden; border-radius: .5rem; background: #ebe8e2; }
.coverage-map-card__base { position: absolute; inset: 0; display: block; }
.coverage-map-card__base img { display: block; width: 100%; height: 100%; max-height: none; object-fit: cover; transform: scale(1.12); filter: grayscale(1) brightness(1.06) contrast(.86); }
.coverage-map-card__overlay { position: absolute; inset: 0; width: 100%; height: 100%; transform: scale(1.12); pointer-events: none; }
.coverage-map-card__label rect { fill: #f2f0ec; fill-opacity: .96; stroke: rgba(15,27,42,.12); stroke-width: 1; }
.coverage-map-card__label circle { fill: var(--ink); stroke: #fff; stroke-width: 4; }
.coverage-map-card__label text { fill: var(--ink); font: 600 31px var(--font-body); paint-order: stroke; stroke: #f2f0ec; stroke-width: 9px; stroke-linejoin: round; }
@media(prefers-reduced-motion:no-preference) {
 .js .coverage-map-card__area { opacity: .15; transition: opacity 900ms var(--ease-out); }
 .js .coverage-section.is-visible .coverage-map-card__area { opacity: 1; }
}
/* Keep the fee and action together, even when a disclosure expands beside them. */
.management-price { align-items: start; gap: 1.25rem; background: transparent; }
.management-price__fee { align-self: start; padding: clamp(2rem,3.2vw,2.75rem); }
.management-price__fee h2 { margin-bottom: 0; }
.management-price__number { margin-top: 1.5rem; margin-bottom: 1.25rem; }
.management-price__fee > p:last-of-type { margin-bottom: 1.5rem; }
.management-price__fee .button { margin-top: 0; }
.management-price__scope { background: var(--paper-strong); }
/* Bring the existing first-step fields forward without changing any input or validation. */
.get-started__intro h1 { font-size: clamp(2.4rem,4.3vw,4.2rem); line-height: 1.12; }
.get-started__intro > p { max-width: 49ch; margin-bottom: 0; }
.get-started__steps { margin-top: 2rem; margin-bottom: 2rem; }
@media(max-width:700px) {
 .management-price { gap: 1rem; }
 .management-price__fee { display: grid; grid-template-columns: auto minmax(0,1fr); column-gap: 1.25rem; padding: 1.5rem; width: 100%; }
 .management-price__fee h2 { grid-column: 1/-1; margin: 0 0 1rem; font-size: .9rem; }
 .management-price__number { grid-column: 1; grid-row: 2; margin: 0; font-size: 4.4rem; }
 .management-price__fee > p:last-of-type { grid-column: 2; grid-row: 2; align-self: center; max-width: 16ch; margin: 0; font-size: .83rem; line-height: 1.6; }
 .management-price__fee .button { grid-column: 1/-1; width: 100%; margin: 1.25rem 0 0; }
 .management-price__scope { padding-top: 1.25rem; }
 .get-started { padding-top: 1.5rem; }
 .get-started__intro h1 { max-width: 20ch; margin: 0 auto .65rem; font-size: clamp(2rem,8.5vw,2.6rem); }
 .get-started__intro > p { font-size: .9rem; line-height: 1.6; }
 .get-started__steps { margin-block: 1.5rem; }
 .get-started__steps li { gap: .45rem; }
 .get-started__panel-copy { padding: 1.25rem; }
 .get-started__panel-copy > h2 { max-width: none; font-size: 1.65rem; line-height: 1.2; margin-bottom: .75rem; }
 .get-started__panel-copy > p { margin-bottom: 0; font-size: .85rem; line-height: 1.6; }
 .property-start { margin-top: 1.25rem; gap: 1rem; }
 .coverage-map-card { width: min(100%,25rem); }
}
@media print {
 .site-footer__socials { display: none !important; }
 .management-price__fee { display: block; }
 .management-price { display: block; }
 .coverage-map-card__area { opacity: 1 !important; }
}
