/* Responsive and contrast corrections, loaded after the legacy theme layers. */
html { overflow-x: clip; -webkit-text-size-adjust: 100%; }
body { min-width: 0; overflow-x: clip; }
*, *::before, *::after { box-sizing: border-box; }
.grid > *, .newsletter > *, .newsletter-row > *, .footer-grid > *, .page-hero > *, .hero-grid > * { min-width: 0; }
img, video, iframe, svg { max-width: 100%; }
.page-hero-visual, .featured-story-media { min-width: 0; max-width: 100%; }
.page-hero-visual > img { height: 100% !important; }
.featured-story-media { width: 100%; }
.page-hero .breadcrumbs, .page-hero .breadcrumbs a, .page-hero .breadcrumbs span { color: #4e6056 !important; }
.page-hero--split .eyebrow { color: #79552f !important; }
.placeholder-note, main .form-note { color: #526158 !important; }
.property-arrow { color: #79552f !important; }
.card-flag { color: #172c25 !important; }
.review-card .stars, .rating-banner .stars { color: #79552f !important; }
.page-hero-visual::after { background: linear-gradient(0deg,rgba(9,26,21,.85),rgba(9,26,21,.1) 70%) !important; }
p, li, h1, h2, h3, a, label { overflow-wrap: break-word; }
input, select, textarea, .field input, .field select, .field textarea, .calc input, .valuation input { font-size: 16px !important; max-width: 100%; min-width: 0; }
.btn { white-space: normal; text-align: center; }
.page-hero--split .btn-outline, .page-hero--split .btn-ghost { color: #173b32 !important; background: #fff !important; border-color: #718278 !important; text-shadow: none !important; }
.page-hero--split .btn-outline:hover, .page-hero--split .btn-ghost:hover { color: #fff !important; background: #173b32 !important; }
.site-footer .brand-text, .site-footer .newsletter .field label { color: #fff !important; }
.site-footer .brand-text small, .site-footer .form-note, .site-footer .footer-bottom { color: #d4e0d8 !important; }
.site-footer .eyebrow, .section--dark .eyebrow, .section--navy .eyebrow, .cta-band .eyebrow { color: #efd2ac !important; }
.section--navy h2, .section--navy h3, .section--dark h2, .section--dark h3, .cta-band h2 { color: #fff !important; }
.section--navy .card, .section--dark .card { color: #20332e !important; }
.section--navy .card h3, .section--dark .card h3 { color: #173b32 !important; }
.blog-meta, .related-reading-card span { color: #526158 !important; }
.hero--home .hero-media::after { background: linear-gradient(90deg,rgba(12,31,28,.77),rgba(12,31,28,.68)) !important; }
.hero--home h1, .hero--home .hero-stat span, .hero--home .badge { color: #fff !important; }
.hero--home .image-credit { position: static; margin: 24px auto 0; font-size: .75rem; }
.hero--home .hero-media { background-image: url('../images/interior.webp') !important; }
.hero--home { background-color: #102b25 !important; }
/* Keep content readable without JS and avoid hiding whole, tall page sections. */
.has-motion .motion-reveal { opacity: 1; transform: none; }
.depth-card { transform-style: preserve-3d; transition: transform 400ms cubic-bezier(.2,0,0,1), box-shadow 400ms ease !important; }
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
 .depth-card:hover { transform: perspective(1000px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translateY(-4px) !important; box-shadow: 0 20px 40px #173b3224 !important; }
 .depth-card .card-icon { transform: translateZ(18px); transition: transform 400ms ease; }
}
@keyframes depth-arrive { from { opacity: .5; transform: perspective(1000px) translateY(18px) rotateX(4deg); } to { opacity: 1; transform: none; } }
.depth-arrive { animation: depth-arrive 550ms cubic-bezier(.2,0,0,1) both; }
@media (max-width:1179px) {
 /* A transformed/backdrop-filtered header traps fixed children in its bounds. */
 .site-header, .site-header::before { backdrop-filter: none !important; -webkit-backdrop-filter: none !important; transform: none !important; }
 .main-nav { transform: none !important; clip-path: inset(0 0 0 100%); transition: clip-path .25s cubic-bezier(.2,0,0,1), visibility .25s !important; overscroll-behavior: contain; padding-bottom: max(32px,env(safe-area-inset-bottom)) !important; }
 .main-nav.is-open { clip-path: inset(0); }
 .main-nav .submenu { width: 100% !important; }
}
@media (max-width:767px) {
 .container, .hero--home .hero-grid { width: calc(100% - 32px) !important; }
 .hero--home { min-height: 0 !important; padding-block: 44px 32px !important; }
 .hero-copy--center h1, .page-hero h1 { font-size: clamp(2rem,8.5vw,3.2rem) !important; }
 .hero-copy--center .hero-stats { margin-top: 28px !important; }
 .trust-strip .container { flex-direction: column; align-items: flex-start; padding-block: 20px !important; gap: 14px; }
 .trust-item { min-width: 0; }
 .trust-item svg { flex: 0 0 22px; }
 .newsletter-row, .valuation { flex-direction: column; align-items: stretch; }
 .newsletter-row .btn, .valuation .btn { width: 100%; }
 .page-hero--split .page-hero-copy { padding-inline: 0 !important; }
 .page-hero--split .valuation .btn { white-space: normal !important; }
 .property-photo { height: auto !important; overflow: visible !important; }
 .property-photo > img { height: 220px !important; aspect-ratio: 16/10; }
 .property-overlay { position: relative !important; inset: auto !important; overflow: visible !important; padding: 24px !important; background: #102b25 !important; opacity: 1 !important; visibility: visible !important; }
 .property-status { z-index: 4 !important; }
 .property-price { font-size: 1.8rem !important; }
 .back-top { bottom: max(18px,env(safe-area-inset-bottom)); right: 12px; }
 .float-consult { display: none !important; }
 .section { padding-block: 44px !important; }
}
@media (prefers-reduced-motion:reduce) { .depth-card, .depth-card:hover, .depth-arrive { transform: none !important; animation: none !important; transition: none !important; } }

/* Footer service-area links (internal linking) */
.footer-areas{margin-top:1.5rem;padding-top:1.5rem;padding-bottom:1rem;border-top:1px solid rgba(255,255,255,.14)}
.footer-areas h3{margin:0 0 .75rem}
.footer-areas ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem 1.1rem}
.footer-areas a{color:#d6dff2;text-decoration:none}
.footer-areas a:hover,.footer-areas a:focus-visible{color:#fff;text-decoration:underline}

/* v6.3 visibility fixes (found in full-site browser QA, 27 Oct 2026) */
/* 1) All Pages (sitemap) link lists sit on a LIGHT background: dark navy, underlined, clearly readable */
.sitemap-list{list-style:none;padding:0}
.sitemap-list li{margin-bottom:.6rem;break-inside:avoid}
.sitemap-list a{color:#123061!important;font-weight:600;text-decoration:underline!important;text-underline-offset:3px}
.sitemap-list a:hover,.sitemap-list a:focus-visible{color:#7d5a0e!important}
/* 2) Blog article hero is a DARK photo: breadcrumbs + eyebrow must be light to be visible */
.learning-hero .breadcrumbs,.learning-hero .breadcrumbs span{color:#e8eee9!important}
.learning-hero .breadcrumbs a{color:#ffffff!important;text-decoration:underline;text-underline-offset:3px}
.learning-hero .eyebrow{color:#e8c98a!important}
