/* Provisional Real Charleston identity — owner and broker approval required. */
:root {
 --rc-navy: #122C43; --rc-gold: #D5AF4A; --rc-ivory: #F8F7F3; --rc-sand: #EEEAE2; --rc-sage: #889A7F;
 --brand-navy: var(--rc-navy); --brand-gold: var(--rc-gold); --paper: var(--rc-ivory); --sand: var(--rc-sand); --ink: var(--rc-navy);
}
.rc-wordmark .monogram { font-size: 22px; letter-spacing: -2px; border-color: currentColor; width: 42px; height: 42px; flex-shrink: 0; }
.rc-wordmark .wordmark-name { font-family: var(--serif); font-size: 25px; white-space: nowrap; }
.rc-wordmark small { font-family: var(--sans, Arial, sans-serif); font-size: 9px; letter-spacing: 1px; text-transform: uppercase; margin-top: 6px; }
.site-header .header-inner { gap: 24px; }
.site-header .site-navigation { gap: 18px; }
.site-header .site-navigation a { font-size: 15px; white-space: nowrap; }
.site-header .site-navigation a:last-child { border: 1px solid var(--ink); padding: 10px 14px; }
.site-footer .footer-grid { grid-template-columns: 1.2fr 1.5fr 1fr 1fr; }
.site-footer .wordmark-name { font-size: 23px; }
.site-footer p { max-width: 38ch; }
.site-footer .footer-grid p { font-size: 14px; line-height: 1.8; }
.rc-masthead, .rc-sand { background: var(--sand); }
.rc-masthead h1 { font-size: clamp(36px,4.5vw,66px); line-height: 1.13; max-width: 22ch; }
.rc-masthead h1 em, .rc-article-header h1 em { font-weight: normal; }
.rc-lede { max-width: 70ch; font-size: var(--text-body); line-height: 1.8; margin: 25px 0 40px; }
.rc-cards { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; margin-top: 32px; }
.rc-card { padding: clamp(24px,3vw,36px); background: var(--paper); border: 1px solid #d8d6ce; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; }
.rc-intents .rc-card { background: var(--sand); }
.rc-card h3 { font-size: clamp(25px,2.3vw,32px); line-height: 1.25; margin: 12px 0 18px; }
.rc-card h3 a { text-decoration: none; }
.rc-card p { font-size: 16px; line-height: 1.8; }
.rc-card .text-link { margin-top: auto; }
.rc-number { font-family: var(--serif); color: #62572d; font-size: 22px; }
.rc-feature { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(0,1fr); gap: clamp(32px,5vw,72px); align-items: start; }
.rc-feature p, .rc-reading p, .rc-panel li { font-size: var(--text-body); line-height: 1.85; }
.rc-panel { background: var(--paper); padding: clamp(24px,3vw,40px); border: 1px solid #d8d6ce; }
.rc-panel h2 { font-size: 30px; line-height: 1.25; }
.rc-panel li { margin: 14px 0; padding-left: 5px; }
.rc-panel .text-link { display: block; margin-top: 22px; }
.rc-reading { max-width: 760px; }
.rc-reading h2 { font-size: clamp(28px,3vw,38px); line-height: 1.25; margin-top: 40px; }
.rc-reading ul, .rc-reading ol { line-height: 1.85; padding-left: 24px; }
.rc-reading li { margin: 12px 0; }
.rc-article-header { padding-bottom: 30px; }
.rc-article-header h1 { font-size: clamp(36px,4vw,58px); line-height: 1.15; }
.rc-article-header .intro-copy { max-width: none; }
.article-status, .article-byline, .rc-fine { font-size: 14px !important; line-height: 1.7; color: #46586a; }
.editorial-notice { border-left: 3px solid #806b27; padding: 18px 24px; background: var(--sand); font-size: 15px !important; }
.rc-article-body { padding-top: 0; }
.rc-intents { padding-bottom: 30px; }
.estate-hero h1 { font-size: clamp(40px,5vw,72px); }
.estate-hero .hero-content > p:not(.eyebrow) { max-width: 55ch; }
@media (max-width: 1250px) {
 .site-header .menu-toggle { display: flex; }
 .site-header .site-navigation { display: none; }
 .site-header.menu-open .site-navigation, .no-js .site-header .site-navigation { display: grid; grid-template-columns: 1fr 1fr; position: static; width: 100%; padding: 22px 0; gap: 8px 20px; }
 .site-header .header-inner { flex-wrap: wrap; }
 .site-header .menu-toggle { margin-left: auto; }
 .site-header .site-navigation a { padding: 12px; font-size: 16px; }
 .site-header .site-navigation a:last-child { padding: 12px; }
 .site-footer .footer-grid { grid-template-columns: 1fr 1fr; gap: 36px; }
}
@media (min-width: 1251px) { .site-header .menu-toggle { display: none; } .site-header .site-navigation { display: flex; } }
@media (max-width: 1000px) {
 .rc-cards { grid-template-columns: minmax(0,1fr); }
 .rc-card { padding: 28px; }
 .rc-card p { max-width: 65ch; }
 .rc-feature { grid-template-columns: minmax(0,1fr); }
}
@media (max-width: 700px) {
 .rc-wordmark .wordmark-name { font-size: 23px; }
 .rc-wordmark small { font-size: 8px; letter-spacing: .5px; }
 .rc-wordmark .monogram { width: 34px; height: 34px; font-size: 19px; }
 .site-header .header-inner { gap: 12px; }
 .site-header .topline .container { justify-content: center; }
 .site-header .topline .container > span:last-child { display: block; font-size: 10px; letter-spacing: .5px; line-height: 1.5; text-align: center; white-space: normal; }
 .site-footer .footer-grid { grid-template-columns: 1fr; }
 .rc-masthead h1 { font-size: 38px; }
 .rc-panel { padding: 24px; }
 .rc-card h3 { font-size: 28px; }
 .rc-reading h2 { font-size: 30px; }
 .rc-masthead .button, .rc-feature .button, .rc-reading .button { white-space: normal; text-align: center; }
 .estate-hero h1 { font-size: clamp(36px,9vw,48px); }
}
@media (max-width: 380px) {
 .site-header .rc-wordmark small { display: none; }
 .site-header .rc-wordmark .monogram { display: none; }
 .site-header .rc-wordmark .wordmark-name { font-size: 24px; }
 .site-header .site-navigation { grid-template-columns: 1fr !important; }
}
/* Reversed identity in the footer; the header is the light-background version. */
.site-footer { background: var(--rc-navy); color: var(--rc-ivory); }
.site-footer a, .site-footer b, .site-footer .wordmark, .site-footer .monogram { color: var(--rc-ivory); }
.site-footer p, .site-footer small, .site-footer .footer-bottom, .site-footer .asset-disclosure { color: #dce1e6; }
.site-footer .monogram { border-color: var(--rc-ivory); }
.site-footer .footer-grid a:not(.wordmark), .site-footer .footer-bottom a { color: var(--rc-ivory); }

/* Coastal redesign: locally hosted OFL fonts; no third-party font requests. */
@font-face { font-family: 'RC Editorial'; src: url('assets/fonts/playfair-display-latin-400-normal.woff2') format('woff2'); font-style: normal; font-weight: 400; font-display: swap; }
@font-face { font-family: 'RC Sans'; src: url('assets/fonts/inter-latin-400-normal.woff2') format('woff2'); font-style: normal; font-weight: 400; font-display: swap; }
@font-face { font-family: 'RC Sans'; src: url('assets/fonts/inter-latin-600-normal.woff2') format('woff2'); font-style: normal; font-weight: 600 900; font-display: swap; }
:root { --serif: 'RC Editorial', Georgia, serif; --sans: 'RC Sans', Arial, sans-serif; }
body { font-family: var(--sans); }
.eyebrow, .overline, .sectionlabel { font-family: var(--sans); }
.site-header { background: var(--rc-navy); color: var(--rc-ivory); border-bottom: 1px solid #677581; }
.site-header .topline { background: #0d2338; color: #e8e5dc; }
.site-header .topline span { color: inherit; }
.site-header .header-inner { min-height: 100px; }
.site-header .wordmark, .site-header .wordmark-name, .site-header .wordmark small, .site-header .site-navigation a { color: var(--rc-ivory); }
.palmetto { width: 32px; height: 44px; color: var(--rc-gold); flex-shrink: 0; }
.rc-wordmark .monogram { display: none; }
.rc-wordmark .wordmark-name { font-family: var(--serif); font-size: 24px; text-transform: uppercase; letter-spacing: .04em; }
.rc-wordmark small { letter-spacing: .06em; font-size: 9px; }
.site-header .site-navigation { gap: 17px; }
.site-header .site-navigation a { font-size: 14px; font-weight: 400; }
.site-header .site-navigation a[aria-current], .site-header .site-navigation a:hover { color: var(--rc-gold); }
.site-header .site-navigation a:last-child { border-color: var(--rc-gold); color: var(--rc-gold); }
.site-header .menu-toggle { color: var(--rc-ivory); border-color: #b7c0c4; background: transparent; }
.estate-hero { min-height: 660px; }
.estate-hero .hero-shade { background: rgba(8,29,46,.64); }
.estate-hero .hero-content { padding-block: 100px 110px; }
.estate-hero h1 { font-size: clamp(42px,5vw,74px); max-width: 15ch; line-height: 1.15; }
.estate-hero .hero-content > p:not(.eyebrow) { max-width: 57ch; color: white; font-size: 18px; line-height: 1.8; }
.hero-relocation { display: inline-block; color: white; margin-top: 25px; text-underline-offset: 6px; }
.search-dock { border-top: 3px solid var(--rc-gold); box-shadow: 0 12px 28px #122c430a; }
.rc-intents .rc-card { border: 0; border-top: 1px solid #b9b4a5; background: transparent; padding-inline: 0; }
.rc-card { border-radius: 0; box-shadow: none; }
.rc-card h3 { letter-spacing: -.02em; }
.rc-intents .rc-cards { gap: 40px; }
.community-card .card-image { border-radius: 0; }
.card-caption p { font-size: 14px; line-height: 1.7; margin: 10px 0 0; max-width: 40ch; }
.rc-relocation { background: var(--rc-navy); color: var(--rc-ivory); position: relative; }
.rc-relocation p { color: #e0e5e6; }
.rc-relocation .eyebrow { color: var(--rc-gold); }
.rc-relocation .rc-panel { background: transparent; border: 1px solid #8b979d; }
.rc-relocation h2 { max-width: 16ch; }
.rc-relocation .button { background: var(--rc-gold); color: var(--rc-navy); }
.rc-relocation li { color: #e0e5e6; }
.rc-local-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 35px; margin-top: 38px; }
.rc-local-item { border-top: 1px solid #c8c7bd; padding-top: 24px; min-width: 0; }
.rc-local-item h3 { font-size: 25px; }
.rc-local-item p { font-size: 16px; line-height: 1.8; }
.rc-local-item .eyebrow { font-size: 11px; margin-bottom: 14px; }
.community-toc { display: flex; flex-wrap: wrap; gap: 12px 24px; border-block: 1px solid #ccc9bf; padding-block: 20px; font-size: 15px; margin-bottom: 42px; }
.community-toc a { text-underline-offset: 5px; }
.local-detail { margin-block: 40px; }
.research-link { font-size: 14px !important; }
.local-list { list-style: none; padding: 0; counter-reset: local; }
.local-list > li { border-top: 1px solid #ccc9bf; padding: 26px 0; }
.local-list h3 { margin-bottom: 12px; }
.local-list p { margin-bottom: 12px; }
.reading-aside { position: static; align-self: start; }
.community-faq details { padding: 20px 0; border-top: 1px solid #ccc9bf; }
.community-faq summary { font-size: 19px; font-weight: 600; cursor: pointer; }
.community-faq details p { padding-top: 18px; }
.journal-hero { background: var(--rc-sand); }
.journal-feature { display:grid; grid-template-columns:1.1fr 1fr; gap:48px; align-items:center; }
.journal-feature img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.journal-feature h1 { font-size:clamp(36px,4vw,60px); }
.journal-category-nav { display:flex; flex-wrap:wrap; gap:12px 24px; margin-block:30px; padding-block:18px; border-block:1px solid #ccc9bf; }
.journal-category-nav a { font-size:15px; text-underline-offset:5px; }
.rc-card .article-image { width:100%; aspect-ratio:16/10; object-fit:cover; margin-bottom:25px; }
.article-hero-image { width:100%; aspect-ratio:16/9; object-fit:cover; margin:26px 0 10px; }
.rc-article-body .rc-reading { max-width:800px; }
.rc-reading, .rc-card, .hero-content, .wordmark { overflow-wrap:break-word; }
.site-footer .palmetto { width:28px; }
@media(max-width:1250px) {
 .site-header.menu-open .site-navigation, .no-js .site-header .site-navigation { background:var(--rc-navy); }
}
@media(max-width:1000px) {
 .rc-local-grid { grid-template-columns:1fr; gap:10px; }
 .journal-feature { grid-template-columns:1fr; }
 .rc-intents .rc-cards { gap:12px; }
}
@media(max-width:700px) {
 .site-header .header-inner { min-height:88px; }
 .rc-wordmark .wordmark-name { font-size:19px; letter-spacing:.02em; }
 .rc-wordmark small { font-size:8px; }
 .palmetto { width:25px; height:38px; }
 .estate-hero { min-height:760px; }
 .estate-hero .hero-content { padding-block:72px 82px; }
 .estate-hero .hero-content > p:not(.eyebrow) { font-size:17px; }
 .estate-hero h1 { font-size:42px; }
 .rc-relocation h2 { max-width:none; }
 .journal-feature { gap:30px; }
 .community-toc { gap:12px 18px; }
}
@media(max-width:380px) {
 .site-header .rc-wordmark .wordmark-name { font-size:18px; }
 .site-header .header-inner { gap:8px; }
 .site-header .wordmark { gap:7px; }
 .estate-hero h1 { font-size:36px; }
}
.journal-stories .rc-cards { grid-template-columns:repeat(2,minmax(0,1fr)); gap:55px 40px; }
.journal-stories .rc-card { border:0; padding:0; background:transparent; }
.journal-stories .article-image { aspect-ratio:16/9; margin-bottom:24px; }
.journal-stories h3 { max-width:25ch; }
.journal-stories .article-status { margin-bottom:20px; }
@media(max-width:700px) { .journal-stories .rc-cards { grid-template-columns:minmax(0,1fr); gap:42px; } }
/* Draw the decorative northeast arrow without depending on a font glyph. */
.card-arrow { font-size:0; }
.card-arrow::before { content:''; width:11px; height:11px; border-top:1.5px solid var(--rc-navy); border-right:1.5px solid var(--rc-navy); }
.card-arrow::after { content:''; position:absolute; width:16px; height:1.5px; background:var(--rc-navy); transform:rotate(-45deg); }

/* Owner mockup refinement: actual raster logo artwork, white editorial header, functional homepage. */
.site-header { background:#fff; color:var(--rc-navy); border-bottom:1px solid #e4ded3; }
.site-header .header-inner { min-height:84px; gap:22px; flex-wrap:nowrap; }
.site-header .rc-wordmark { flex:0 1 260px; width:260px; min-width:0; gap:0; color:var(--rc-navy); }
.approved-logo { display:block; width:100%; height:auto; object-fit:contain; }
.site-header .site-navigation { order:1; margin-left:auto; gap:20px; }
.site-header .site-navigation a, .site-header .site-navigation a:last-child { color:var(--rc-navy); font-size:14px; border:0; padding:12px 0; }
.site-header .site-navigation a:hover, .site-header .site-navigation a[aria-current] { color:#79541d; }
.header-contact { order:2; flex-shrink:0; background:var(--rc-gold); color:var(--rc-navy); display:inline-flex; justify-content:center; align-items:center; min-height:44px; padding:12px 20px; font-size:12px; font-weight:600; letter-spacing:.6px; text-decoration:none; border:1px solid #b48a29; border-radius:2px; white-space:nowrap; }
.header-contact:hover { background:#e1be62; }
.connect-short { display:none; }
.site-header .menu-toggle { order:3; flex-shrink:0; color:var(--rc-navy); border:0; padding:10px; min-height:44px; min-width:44px; background:transparent; }
.site-header .menu-toggle svg { display:block; }
.site-header .menu-toggle .sr { display:block; } /* Keep Menu accessible below the legacy 360px span-hiding rule. */
.brokerage-strip { text-align:center; font-size:11px; line-height:1.6; padding:3px 16px 5px; color:#4a5d6a; background:#f8f7f3; letter-spacing:.2px; }
.site-footer { background:var(--rc-ivory); color:var(--rc-navy); border-top:1px solid #d5c79e; }
.site-footer a, .site-footer b, .site-footer .wordmark, .site-footer .footer-grid a:not(.wordmark), .site-footer .footer-bottom a { color:var(--rc-navy); }
.site-footer p, .site-footer small, .site-footer .footer-bottom, .site-footer .asset-disclosure { color:#4a5d6a; }
.site-footer .rc-wordmark { display:block; width:290px; max-width:100%; }
.site-footer .footer-bottom { border-top:1px solid #d4d0c5; }
.homepage-refined .container { width:min(1440px,calc(100% - 96px)); }
.homepage-refined .estate-hero { min-height:0; height:auto; display:block; }
.homepage-refined .hero-content { padding:35px 0 36px; }
.homepage-refined .hero-shade { background:linear-gradient(90deg,rgba(9,31,48,.87),rgba(9,31,48,.48) 48%,rgba(9,31,48,.04)); }
.homepage-refined .estate-hero h1 { font-size:clamp(44px,4vw,66px); line-height:1.06; max-width:none; margin:0 0 17px; letter-spacing:-.025em; }
.homepage-refined .estate-hero h1 em { color:#edca72; font-weight:400; }
.homepage-refined .estate-hero .eyebrow { font-size:13px; letter-spacing:2px; margin:0 0 14px; }
.homepage-refined .estate-hero .hero-content > .hero-summary { max-width:59ch; font-size:16px; line-height:1.55; margin-bottom:22px; }
.homepage-refined .image-credit { bottom:5px; right:14px; font-size:9px; padding:3px 6px; max-width:calc(100% - 28px); letter-spacing:.3px; }
.calculator-cta-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; width:min(860px,100%); }
.calculator-cta { display:flex; gap:18px; align-items:center; text-decoration:none; color:var(--rc-navy); background:#fffefb; border:1px solid #d4c8af; border-radius:3px; padding:16px 20px; min-width:0; min-height:82px; box-shadow:0 2px 5px #00000008; }
.calculator-cta > svg { width:37px; height:37px; color:#9c6b20; flex-shrink:0; }
.calculator-cta > span:not(.cta-arrow) { border-left:1px solid #e2ded4; padding-left:17px; min-width:0; }
.calculator-cta strong { font-family:var(--serif); font-size:16px; font-weight:400; letter-spacing:.3px; display:block; line-height:1.3; }
.calculator-cta small { display:block; font-size:13px; line-height:1.5; margin-top:5px; color:#344d60; }
.cta-arrow { margin-left:auto; color:#8e5e14; font-size:23px; }
.calculator-cta:hover { background:#f8f3e7; border-color:#8e5e14; }
.lifestyle-categories { background:#fffefb; border-bottom:1px solid #ebe4d8; }
.category-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); padding:18px 0; }
.category-grid a { display:flex; flex-direction:column; align-items:center; text-align:center; text-decoration:none; padding:0 12px; min-width:0; border-right:1px solid #ddd8ce; min-height:72px; }
.category-grid a:last-child { border:0; }
.category-grid svg { width:29px; height:29px; color:#986816; margin-bottom:7px; }
.category-grid span { text-transform:uppercase; font-size:11px; letter-spacing:1px; line-height:1.4; }
.category-grid small { font-size:12px; color:#4e6070; line-height:1.4; margin-top:4px; }
.category-grid a:hover span { text-decoration:underline; text-underline-offset:4px; }
.homepage-refined .communities-section { padding:32px 0 25px; background:#fff; }
.homepage-refined .section-heading { align-items:end; gap:20px; margin-bottom:22px; }
.homepage-refined .section-heading .eyebrow { margin-bottom:8px; }
.homepage-refined .section-heading h2 { font-size:clamp(32px,3.3vw,48px); margin-bottom:0; line-height:1.15; }
.homepage-refined .section-heading .text-link { font-size:13px; white-space:nowrap; margin-bottom:6px; }
.homepage-refined .featured-communities { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:16px; margin:0; }
.homepage-refined .community-card { display:block; border:1px solid #e6e0d6; border-radius:3px; background:#fffefb; }
.homepage-refined .community-card .card-image { aspect-ratio:1.75; }
.homepage-refined .community-card .card-caption { display:flex; flex-direction:column; align-items:start; padding:12px 14px 15px; gap:6px; }
.homepage-refined .card-caption h3 { font-size:22px; margin:0; }
.homepage-refined .card-caption > span { order:3; color:#805417; font-size:13px; letter-spacing:0; text-transform:none; line-height:1.5; }
.homepage-refined .community-description { order:2; margin:0; font-size:13px; line-height:1.5; color:#4e6070; }
.homepage-refined .card-arrow { display:none; }
.homepage-refined .communities-section .source-note { font-size:12px; line-height:1.5; margin:15px 0 0; }
.carousel-controls[hidden], .carousel-controls:not(.is-scrollable) { display:none; }
.carousel-controls { display:flex; justify-content:flex-end; align-items:center; gap:12px; margin:0 0 14px; }
.carousel-controls button { width:44px; height:44px; border:1px solid #bb9a52; color:var(--rc-navy); background:var(--rc-ivory); border-radius:2px; font-size:22px; }
.carousel-controls button:disabled { opacity:.45; cursor:default; }
.carousel-controls span { font-size:12px; }
.local-lifestyle { background:var(--rc-ivory); padding:35px 0 25px; }
.lifestyle-intro .eyebrow { margin-bottom:7px; }
.lifestyle-intro h2 { font-size:clamp(34px,3.3vw,48px); margin-bottom:10px; }
.lifestyle-intro > p:not(.eyebrow) { font-size:16px; max-width:85ch; margin-bottom:24px; line-height:1.6; }
.lifestyle-layout { display:grid; grid-template-columns:1.1fr 1.5fr; gap:22px; align-items:stretch; }
.lifestyle-feature { position:relative; min-height:300px; overflow:hidden; background:var(--rc-navy); display:flex; align-items:end; border-radius:3px; }
.lifestyle-feature > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.lifestyle-feature::after { content:''; position:absolute; inset:0; background:linear-gradient(0deg,#071b2ee8,#071b2e2b); }
.lifestyle-feature > div { position:relative; z-index:1; padding:30px; color:white; }
.lifestyle-feature h3 { font-size:36px; margin-bottom:14px; }
.lifestyle-feature p:not(.eyebrow) { color:white; font-size:15px; line-height:1.6; margin-bottom:20px; max-width:44ch; }
.lifestyle-feature .eyebrow { font-size:11px; letter-spacing:1px; margin-bottom:12px; }
.lifestyle-feature .button { font-size:12px; min-height:44px; padding:12px 17px; }
.lifestyle-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.lifestyle-card { display:flex; flex-direction:column; text-decoration:none; border:1px solid #e4ded2; border-radius:3px; overflow:hidden; background:white; min-width:0; }
.lifestyle-card > img { width:100%; height:auto; aspect-ratio:1.4; object-fit:cover; }
.lifestyle-card > div { padding:16px; }
.lifestyle-card .eyebrow { font-size:10px; letter-spacing:1px; margin-bottom:8px; }
.lifestyle-card h3 { font-size:24px; line-height:1.2; margin-bottom:16px; }
.lifestyle-card span { font-size:12px; color:#805417; display:block; }
.local-lifestyle > .source-note { font-size:12px; line-height:1.6; margin-top:16px; margin-bottom:0; }
.helpful-resources { background:var(--rc-navy); color:white; padding-block:60px; }
.helpful-resources h2 { font-size:clamp(34px,3.6vw,50px); margin-bottom:30px; }
.resource-paths { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; }
.resource-paths a { text-decoration:none; border-top:1px solid #71818b; padding-top:20px; }
.resource-paths h3 { font-size:28px; margin-bottom:15px; }
.resource-paths p { color:#e0e5e7; font-size:16px; line-height:1.7; }
.resource-paths span, .guide-links a { color:#edca72; font-size:15px; }
.guide-links { margin-top:34px; display:flex; flex-wrap:wrap; gap:18px 28px; }
.secondary-search { position:static; margin:40px auto; padding:28px; transform:none; box-shadow:none; }
.homepage-refined .about-grid { align-items:center; }
#buyers, #sellers, #things-to-do, #resources { scroll-margin-top:25px; }
@media(min-width:1700px) { .homepage-refined .hero-content { padding:48px 0 42px; } }
@media(max-width:1250px) {
 .site-header .header-inner { flex-wrap:wrap; gap:14px; min-height:80px; padding-block:14px; }
 .site-header .rc-wordmark { width:260px; flex-basis:260px; margin-right:auto; }
 .site-header .menu-toggle { margin-left:0; display:flex; }
 .site-header.menu-open .site-navigation, .no-js .site-header .site-navigation { order:4; background:#fff; margin:0; padding:18px 0 4px; flex-basis:100%; border-top:1px solid #ded9ce; }
 .site-header .site-navigation a, .site-header .site-navigation a:last-child { padding:12px; font-size:16px; }
 .homepage-refined .featured-communities { display:grid; grid-template-columns:none; grid-auto-flow:column; grid-auto-columns:240px; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x proximity; padding-bottom:12px; scrollbar-width:thin; }
 .featured-communities .community-card { scroll-snap-align:start; }
 .category-grid small { display:none; }
 .lifestyle-layout { grid-template-columns:1fr; }
 .lifestyle-feature { min-height:260px; }
 .lifestyle-card > img { aspect-ratio:1.8; }
}
@media(max-width:700px) {
 .homepage-refined .container { width:calc(100% - 40px); }
 .site-header .header-inner { width:calc(100% - 32px); gap:10px; padding-block:14px; min-height:74px; }
 .site-header .rc-wordmark { width:190px; flex:1 1 190px; max-width:260px; }
 .header-contact { font-size:10px; letter-spacing:.2px; padding:11px 12px; }
 .connect-long { display:none; } .connect-short { display:inline; }
 .brokerage-strip { font-size:10px; line-height:1.5; padding-block:5px; }
 .homepage-refined .hero-content { padding:20px 0 30px; }
 .homepage-refined .estate-hero h1 { font-size:clamp(34px,8vw,51px); line-height:1.1; margin-bottom:12px; }
 .homepage-refined .estate-hero .eyebrow { font-size:10px; letter-spacing:1.2px; margin-bottom:10px; }
 .homepage-refined .estate-hero .hero-content > .hero-summary { font-size:15px; line-height:1.6; margin-bottom:16px; }
 .homepage-refined .hero-shade { background:linear-gradient(90deg,#071c30d9,#071c3050); }
 .calculator-cta-grid { grid-template-columns:minmax(0,1fr); gap:10px; }
 .calculator-cta { min-height:78px; padding:12px 16px; gap:13px; }
 .calculator-cta > svg { width:30px; height:30px; }
 .calculator-cta > span:not(.cta-arrow) { padding-left:13px; }
 .calculator-cta strong { font-size:13px; }
 .calculator-cta small { font-size:12px; }
 .homepage-refined .image-credit { font-size:8px; }
 .category-grid { padding-block:16px; }
 .category-grid a { padding-inline:5px; min-height:60px; }
 .category-grid svg { width:25px; height:25px; }
 .category-grid span { font-size:10px; letter-spacing:0; text-transform:none; }
 .homepage-refined .section-heading { flex-wrap:wrap; align-items:start; gap:12px; }
 .homepage-refined .section-heading h2 { font-size:34px; }
 .homepage-refined .featured-communities { grid-auto-columns:clamp(170px,43vw,235px); gap:14px; }
 .homepage-refined .card-caption h3 { font-size:21px; }
 .homepage-refined .community-description { font-size:13px; }
 .carousel-controls { justify-content:start; }
 .carousel-controls span { font-size:11px; }
 .lifestyle-feature { min-height:280px; }
 .lifestyle-feature > div { padding:25px; }
 .lifestyle-cards { grid-template-columns:none; grid-auto-flow:column; grid-auto-columns:75%; overflow-x:auto; scroll-snap-type:x proximity; padding-bottom:12px; }
 .lifestyle-card { scroll-snap-align:start; }
 .resource-paths { grid-template-columns:1fr; gap:18px; }
 .helpful-resources { padding-block:45px; }
 .secondary-search { padding:22px; margin-block:25px; }
}
@media(max-width:430px) {
 .site-header .rc-wordmark { flex-basis:120px; }
 .header-contact { padding-inline:9px; }
 .site-header .menu-toggle { padding:6px; }
 .homepage-refined .estate-hero h1 { font-size:33px; }
 .category-grid { grid-template-columns:repeat(3,minmax(0,1fr)); row-gap:14px; }
 .category-grid a:nth-child(3) { border-right:0; }
 .category-grid span { font-size:12px; }
}
@media(prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto; }
 .community-card img { transition:none; }
 .featured-communities, .lifestyle-cards { scroll-behavior:auto; scroll-snap-type:none; }
}

.homepage-refined .estate-hero h1 em { margin-right:.12em; }
.no-js .site-header .menu-toggle { display:none; }
@media(max-width:700px) { .header-contact { font-size:11px; } }
@media(max-width:700px) {
 .homepage-refined .communities-section .section-heading { display:flex; flex-direction:column; align-items:flex-start; gap:8px; }
 .homepage-refined .communities-section .section-heading .eyebrow { font-size:10px; letter-spacing:1px; }
 .homepage-refined .communities-section .section-heading .text-link { display:inline-flex; align-items:center; min-height:44px; margin:0; font-size:15px; }
 .homepage-refined .communities-section .section-heading h2 { font-size:clamp(28px,7.2vw,34px); }
 .carousel-controls { margin:12px 0 0; justify-content:center; }
}
@media(prefers-reduced-motion:reduce) { .community-card:hover img { transform:none; } }

/* Shared compact disclosure navigation. Outer space stays reserved while the visible bar shrinks. */
html { scroll-padding-top:var(--header-offset,130px); }
#buyers,#sellers,#things-to-do,#resources { scroll-margin-top:0; }
.site-header { position:sticky; top:0; z-index:40; height:var(--header-reserved-height,auto); background:transparent; border:0; pointer-events:none; }
.header-bar { background:#fff; border-bottom:1px solid #e4ded3; pointer-events:auto; }
.site-header .brokerage-strip { pointer-events:auto; }
.site-header .header-inner { position:static; }
.site-header.is-compact .header-inner { min-height:70px; }
.site-header.is-compact .rc-wordmark { width:235px; flex-basis:235px; }
.site-header .site-navigation { gap:0; }
.nav-list,.nav-panel { list-style:none; padding:0; margin:0; }
.nav-list { display:flex; align-items:center; gap:22px; }
.nav-group { position:relative; }
.nav-trigger { display:flex; align-items:center; gap:7px; border:0; background:transparent; color:var(--rc-navy); font:400 14px/1.4 var(--sans); min-height:44px; padding:10px 0; white-space:nowrap; }
.nav-trigger:hover,.nav-trigger.is-active { color:#79541d; text-decoration:underline; text-underline-offset:6px; }
.nav-chevron { flex-shrink:0; transition:transform .15s; }
.nav-group.is-open .nav-chevron { transform:rotate(180deg); }
.nav-panel { display:none; position:absolute; top:100%; left:-16px; min-width:240px; background:#fff; border:1px solid #dfd8ca; box-shadow:0 10px 24px #122c4317; border-radius:3px; padding:7px; z-index:3; }
.nav-group.is-open>.nav-panel { display:block; }
.site-header .site-navigation .nav-panel a { display:block; padding:11px 12px; min-height:44px; font-size:14px; line-height:1.5; white-space:normal; border:0; margin:0; }
.site-header .site-navigation .nav-panel a:hover,.site-header .site-navigation .nav-panel a[aria-current] { background:#f8f3e7; color:#67490f; }
.nav-panel a::after { display:none; }
.nav-fallback-title { display:none; }
.no-js .site-header { position:relative; height:auto; pointer-events:auto; }
.no-js .nav-trigger { display:none; }
.no-js .nav-fallback-title { display:block; font-weight:600; padding:12px; }
.no-js .nav-panel { display:block; position:static; box-shadow:none; min-width:0; }
.no-js .nav-list { align-items:start; flex-wrap:wrap; }
@media(max-width:1250px) {
 .site-header .header-inner { flex-wrap:nowrap; }
 .site-header.menu-open .site-navigation { display:block; position:absolute; top:var(--header-offset,130px); left:16px; right:16px; width:auto; margin:0; padding:10px; border:1px solid #e1d9ca; border-radius:3px; max-height:calc(100svh - var(--header-offset,130px) - 20px); overflow-y:auto; overscroll-behavior:contain; }
 .site-header .nav-list { display:block; }
 .nav-trigger { width:100%; justify-content:space-between; text-align:left; font-size:16px; padding:12px; min-height:48px; }
 .nav-group { border-bottom:1px solid #eee8de; }
 .nav-panel { position:static; box-shadow:none; border:0; border-left:2px solid #d5af4a; margin:0 10px 12px; padding:0 0 0 6px; min-width:0; }
 .site-header .site-navigation .nav-panel a { padding:11px 12px; font-size:15px; min-height:44px; }
 .site-header .site-navigation .nav-direct>a { display:block; padding:12px; min-height:48px; margin:0; font-size:16px; }
 .site-header.is-compact .header-inner { min-height:68px; padding-block:8px; }
 .site-header.is-compact .rc-wordmark { width:260px; flex-basis:260px; }
 .no-js .site-header .header-inner { flex-wrap:wrap; }
 .no-js .site-header .site-navigation { display:block; position:static; width:100%; max-height:none; overflow:visible; padding:10px; flex-basis:100%; }
 .no-js .site-header .nav-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:700px) {
 .site-header.is-compact .rc-wordmark { flex:1 1 190px; width:190px; max-width:260px; }
 .site-header.is-compact .header-inner { min-height:64px; padding-block:9px; }
 .no-js .site-header .nav-list { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:430px) { .site-header.is-compact .rc-wordmark { flex-basis:120px; } }
@media(prefers-reduced-motion:reduce) { .nav-chevron { transition:none; } }

/* Prelaunch Round 1: preserve shared chrome while improving touch targets and footer grouping. */
.site-header .rc-wordmark { min-height:44px; }
.site-footer { padding:48px 0 28px; }
.site-footer .footer-grid { grid-template-columns:minmax(0,1.35fr) repeat(2,minmax(0,1fr)); gap:16px 64px; align-items:start; }
.site-footer .footer-grid > .wordmark { grid-column:1; grid-row:1; }
.site-footer .footer-grid > div:first-of-type { grid-column:1; grid-row:2; }
.site-footer .footer-grid > div:nth-of-type(2) { grid-column:2; grid-row:1 / span 2; }
.site-footer .footer-grid > div:nth-of-type(3) { grid-column:3; grid-row:1 / span 2; }
.site-footer .footer-grid b { font-size:14px; line-height:1.4; margin-bottom:12px; }
.site-footer .footer-grid p { line-height:1.75; margin-bottom:12px; }
.site-footer .footer-grid > div > a { display:flex; align-items:center; min-height:44px; padding:8px 0; margin:0; font-size:15px; line-height:1.5; text-underline-offset:4px; }
.site-footer .footer-bottom { margin-top:30px; align-items:center; gap:8px 24px; }
.site-footer .footer-bottom > a { display:inline-flex; align-items:center; min-height:44px; }
.site-footer .asset-disclosure { max-width:none; margin-top:16px; }
@media(max-width:1000px) {
 .site-footer .footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 36px; }
 .site-footer .footer-grid > .wordmark,
 .site-footer .footer-grid > div:first-of-type,
 .site-footer .footer-grid > div:nth-of-type(2),
 .site-footer .footer-grid > div:nth-of-type(3) { grid-row:auto; }
 .site-footer .footer-grid > div:first-of-type { grid-column:2; }
 .site-footer .footer-grid > div:nth-of-type(2) { grid-column:1; }
 .site-footer .footer-grid > div:nth-of-type(3) { grid-column:2; }
}
@media(max-width:700px) {
 .brokerage-strip { font-size:11px; line-height:1.55; }
 .site-footer { padding-top:36px; }
 .site-footer .footer-grid { gap:24px 20px; }
 .site-footer .footer-grid > .wordmark, .site-footer .footer-grid > div:first-of-type { grid-column:1 / -1; }
 .site-footer .footer-grid > div:nth-of-type(n+2) > b { min-height:2.8em; }
 .site-footer .footer-bottom { align-items:flex-start; }
}

/* Round 2 guide navigation only; the Round 1 homepage and shared chrome stay intact. */
.breadcrumbs:has(+ .community-intro) ol { gap:0 10px; }
.breadcrumbs:has(+ .community-intro) li { display:flex; align-items:baseline; gap:8px; min-width:0; max-width:100%; }
.breadcrumbs:has(+ .community-intro) li:last-child { flex:1 1 220px; }
.breadcrumbs:has(+ .community-intro) li+li::before { flex-shrink:0; padding:0; }
.breadcrumbs:has(+ .community-intro) li>a,
.breadcrumbs:has(+ .community-intro) li>span { min-width:0; padding-block:10px; min-height:44px; line-height:1.6; overflow-wrap:break-word; }
.breadcrumbs:has(+ .community-intro) li>a { display:inline-flex; align-items:center; }
.community-toc { gap:6px 8px; padding-block:12px; margin-bottom:28px; }
.community-toc a { display:inline-flex; align-items:center; min-height:44px; padding:8px 10px; line-height:1.4; border:1px solid transparent; border-radius:2px; }
.community-toc a:hover,.community-toc a:focus-visible { background:var(--rc-sand); border-color:#c7b98f; }
.reading-layout .community-housing-lede { font-size:18px; line-height:1.6; margin:0 0 18px; color:#4a5d6a; }

/* Round 3: real estate pages and calculator presentation; shared chrome is unchanged. */
.estate-page .breadcrumbs ol { gap:0 10px; padding-block:8px; }
.estate-page .breadcrumbs li { display:flex; align-items:baseline; gap:8px; min-width:0; max-width:100%; }
.estate-page .breadcrumbs li+li::before { padding:0; flex-shrink:0; }
.estate-page .breadcrumbs li:last-child { flex:1 1 220px; }
.estate-page .breadcrumbs a,.estate-page .breadcrumbs span { padding-block:8px; min-height:44px; line-height:1.6; }
.estate-page .breadcrumbs a { display:inline-flex; align-items:center; }
.estate-page .page-intro { padding-block:48px; }
.estate-page .intro-grid { gap:clamp(28px,5vw,70px); }
.estate-page .intro-copy { max-width:54ch; }
.estate-quicklinks { display:flex; flex-wrap:wrap; gap:0 24px; margin-top:16px; }
.estate-quicklinks a { display:inline-flex; align-items:center; min-height:44px; padding-block:10px; font-size:15px; line-height:1.6; text-underline-offset:5px; }
.estate-page .three-notes { gap:24px 36px; margin-block:32px; }
.estate-page .three-notes article { padding-top:22px; }
.estate-page .three-notes article>span { margin-bottom:12px; }
.estate-page .three-notes .text-link,.estate-page .reading-aside a { display:inline-flex; align-items:center; min-height:44px; padding-block:8px; }
.estate-page .faq-list summary { min-height:48px; padding-block:16px; line-height:1.6; }
.about-page .intro-grid { grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); }
.about-page .page-intro .portrait-photo { width:100%; max-width:420px; justify-self:end; margin:0; }
.about-page .page-intro .portrait-photo img { aspect-ratio:4 / 5; }
.about-page .about-grid { display:block; max-width:800px; }
.about-page .about-copy p { max-width:65ch; }
.contact-page .contact-hero { padding-block:40px; }
.contact-page .contact-hero h1 { margin-top:16px; }
.contact-page .contact-content { padding-block:40px 56px; }
.contact-page .contact-grid { gap:clamp(28px,4vw,60px); }
.contact-page .contact-profile { min-width:0; }
.contact-page .contact-profile .portrait-photo { max-width:240px; margin:0 0 24px; }
.contact-page .contact-detail { margin-block:20px; padding-block:12px; }
.contact-page .contact-detail a { min-height:44px; font-size:15px; }
.contact-page .contact-form-panel { min-width:0; padding:clamp(20px,3vw,36px); }
.contact-page .form-intro { margin-bottom:10px; }
.contact-page .required-note { font-size:14px; line-height:1.6; color:#526475; margin:0 0 24px; }
.contact-page .field { margin-bottom:20px; }
.contact-page .contact-form-panel .fgrid { grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr)); }
.contact-page .field input,.contact-page .field select,.contact-page .field textarea { min-height:48px; font-size:16px; }
.contact-page .field textarea { min-height:150px; }
.contact-page .check { margin-block:8px 24px; }
.contact-page .check input { width:20px; height:20px; flex-shrink:0; }
.contact-page .formnote { line-height:1.75; }
.estate-page input:user-invalid,.estate-page select:user-invalid,.estate-page textarea:user-invalid { border-color:#9b2525; outline:2px solid #9b2525; outline-offset:2px; }
.planner-page .hub-hero-grid { padding-block:48px; gap:clamp(28px,5vw,70px); }
.planner-page .hero-stat { padding:24px; }
.planner-page .stat-line { padding-block:16px; gap:16px; }
.planner-page .stat-foot { margin-top:18px; }
.planner-page .hub-points { gap:12px 20px; margin-block:20px 24px; }
.planner-page .hub-content { padding-block:44px 56px; }
.planner-page .mode-select { max-width:740px; gap:12px; margin-bottom:24px; }
.planner-page .mode { min-width:0; padding:16px 20px; }
.planner-page .mode.on { border-color:var(--rc-navy); background:var(--rc-ivory); box-shadow:inset 0 4px var(--rc-gold); }
.planner-page .mode span { color:#526475; line-height:1.6; }
.planner-page .hub-grid { display:block; }
.planner-page .hub-panel { border:0; padding:0; background:transparent; }
.planner-page #conciergeForm { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); gap:24px; align-items:start; }
.planner-preferences,.planner-inquiry { min-width:0; background:#fff; border:1px solid #d8d6ce; padding:28px; }
.planner-preferences { grid-column:1; grid-row:1; }
.planner-inquiry { grid-column:1; grid-row:2; }
.planner-page .hub-aside { grid-column:2; grid-row:1 / span 2; min-width:0; padding:28px; top:calc(var(--header-offset,130px) + 16px); }
.planner-page .hub-divider { position:static; border-bottom:1px solid #d8d6ce; margin:0 0 20px; padding-bottom:12px; }
.planner-page .hub-divider span { position:static; padding:0; font:400 26px/1.3 var(--serif); }
.planner-page .hub-panel .two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.planner-page .hub-panel input:not([type=checkbox]),.planner-page .hub-panel select,.planner-page .hub-panel textarea { font-size:16px; min-height:48px; }
.planner-page .hub-panel textarea { resize:vertical; }
.planner-page .hub-aside h3 { font-size:clamp(28px,2.5vw,36px); }
.planner-page .aside-link { display:inline-block; min-height:44px; line-height:1.6; text-wrap:pretty; }
.planner-page .hub-check input { width:20px; height:20px; }
.planner-page .form-status:not(:empty) { border-left:3px solid currentColor; padding:12px 16px; background:var(--rc-ivory); }
.calculator-sections .panel,.calculator-sections .result { min-width:0; }
.calculator-sections .result { background:var(--rc-sand); border-color:#d8d6ce; }
.calculator-sections .result .bigmoney { font-size:clamp(28px,4vw,54px); line-height:1.2; letter-spacing:-1px; overflow-wrap:anywhere; font-variant-numeric:tabular-nums; }
.calculator-sections .bigmoney small { display:inline-block; }
.calculator-sections .breakdown .row { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:baseline; gap:12px; padding-block:10px; }
.calculator-sections .breakdown strong { text-align:right; font-variant-numeric:tabular-nums; }
.calculator-sections .field input,.calculator-sections .field select { min-height:48px; font-size:16px; }
.calculator-sections .details summary { min-height:44px; padding-block:10px; }
.calculator-sections .disclaim { line-height:1.75; }
@media(max-width:900px) {
 .planner-page #conciergeForm { grid-template-columns:minmax(0,1fr); gap:20px; }
 .planner-preferences,.planner-page .hub-aside,.planner-inquiry { grid-column:auto; grid-row:auto; }
 .planner-page .hub-aside { position:static; }
 .planner-page .hub-hero-grid { grid-template-columns:minmax(0,1fr); padding-block:36px; gap:24px; }
 .planner-page .hero-stat { max-width:none; }
}
@media(max-width:700px) {
 .estate-page .page-intro { padding-block:32px; }
 .about-page .intro-grid { grid-template-columns:minmax(0,1fr); }
 .about-page .page-intro .portrait-photo { max-width:320px; justify-self:center; }
 .about-page .page-intro .portrait-photo img { aspect-ratio:3 / 4; }
 .estate-page .three-notes { gap:24px; }
 .estate-quicklinks { display:grid; gap:0; margin-top:12px; }
 .planner-page .hub-hero h1 { font-size:clamp(36px,8.5vw,48px); }
 .planner-page .hub-points { font-size:14px; }
 .planner-page .stat-line { padding-block:10px; }
 .planner-page .stat-line b { font-size:22px; }
 .planner-page .stat-foot { font-size:13px; margin-top:12px; }
 .planner-page .hub-content { padding-top:32px; }
 .planner-preferences,.planner-inquiry,.planner-page .hub-aside { padding:20px; }
}
@media(max-width:650px) {
 .contact-page .contact-hero { padding-block:28px; }
 .contact-page .contact-content { padding-top:28px; }
 .contact-page .contact-profile { display:grid; grid-template-columns:112px minmax(0,1fr); gap:0 20px; align-items:start; }
 .contact-page .contact-profile .portrait-photo { grid-column:1; grid-row:1 / span 3; width:112px; margin:0; }
 .contact-page .contact-profile>.sectionlabel,.contact-page .contact-profile>h2,.contact-page .contact-profile>.affiliation { grid-column:2; }
 .contact-page .contact-profile>.sectionlabel { margin-bottom:8px; font-size:10px; letter-spacing:1px; }
 .contact-page .contact-profile h2 { font-size:clamp(26px,6.7vw,32px); margin-bottom:8px; }
 .contact-page .contact-profile .affiliation { font-size:13px; line-height:1.6; margin:0; }
 .contact-page .profile-intro,.contact-page .contact-detail,.contact-page .local-note { grid-column:1 / -1; }
 .contact-page .profile-intro { margin-top:20px; }
 .contact-page .contact-detail { margin-block:8px 16px; }
 .contact-page .contact-grid { gap:24px; }
 .planner-page .hub-panel .two { grid-template-columns:minmax(0,1fr); gap:0; }
 .planner-page .mode-select { flex-direction:row; gap:10px; }
 .planner-page .mode { padding:14px 12px; }
 .planner-page .mode strong { font-size:16px; }
 .planner-page .mode span { font-size:13px; }
}
@media(max-width:430px) {
 .calculator-sections .fgrid { grid-template-columns:minmax(0,1fr); gap:0; }
 .calculator-sections .result .bigmoney { font-size:clamp(28px,8.5vw,36px); }
}

/* Transparent source: preserve the approved logo footprint while retaining all
   supplied alpha pixels, including faint padding. No crop, backing or effect. */
.rc-wordmark { position:relative; aspect-ratio:40 / 9; }
.rc-wordmark .approved-logo { position:absolute; left:0; top:50%; margin-top:.625%; transform:translateY(-50%); pointer-events:none; }

/* About and Planning Tools share one section boundary, rather than adding two
   large padding values. Bound the portrait column to balance the unchanged copy. */
.homepage-refined .homepage-about { padding-bottom:0; }
.homepage-refined .about-grid { max-width:1240px; grid-template-columns:minmax(0,.9fr) minmax(0,1fr); gap:clamp(28px,5vw,80px); }
.homepage-refined .homepage-about + .calculator-intro { padding-top:clamp(40px,4.5vw,64px); }
@media(max-width:700px) {
 .homepage-refined .about-grid { grid-template-columns:minmax(0,1fr); }
}
/* Keep the identification line readable, with equal padding at every width.
   Header reservation and anchor offsets still use the actual measured height. */
.brokerage-strip { padding-block:2px; }

/* Breadcrumbs belong to the page hero, without a separate background band.
   Preserve the existing hero contents and its bottom/side spacing. */
.page-intro:has(> .hero-breadcrumbs),.contact-hero:has(> .hero-breadcrumbs),.hub-hero:has(> .hero-breadcrumbs),.resource-hero:has(> .hero-breadcrumbs) { padding-top:16px; }
.breadcrumbs.hero-breadcrumbs { padding-block:0; margin-block:0 16px; color:inherit; }
.breadcrumbs.hero-breadcrumbs ol { padding:0; gap:0 10px; }
.breadcrumbs.hero-breadcrumbs li { display:flex; align-items:baseline; gap:8px; min-width:0; max-width:100%; }
.breadcrumbs.hero-breadcrumbs li:last-child { flex:1 1 220px; }
.breadcrumbs.hero-breadcrumbs li+li::before { padding:0; flex-shrink:0; color:inherit; }
.breadcrumbs.hero-breadcrumbs a,.breadcrumbs.hero-breadcrumbs span { min-width:0; padding-block:8px; min-height:44px; line-height:1.6; overflow-wrap:break-word; }
.breadcrumbs.hero-breadcrumbs a { display:inline-flex; align-items:center; color:inherit; }

/* A centered introduction and compact native disclosure rows. Expanded
   calculators keep their original full-width layout and document order. */
.homepage-refined .homepage-about + .calculator-intro { max-width:720px; padding-block:40px 20px; text-align:center; }
.homepage-refined .calculator-intro .eyebrow { margin-bottom:8px; }
.homepage-refined .calculator-intro h2 { margin-bottom:12px; }
.homepage-refined .calculator-intro > p:last-child { margin-bottom:0; font-size:16px; line-height:1.6; }
.homepage-refined .calculator-sections > .tool-disclosure > summary { max-width:960px; padding-block:18px; }
.homepage-refined .calculator-sections > .tool-disclosure > summary small { margin-bottom:4px; }
@media(max-width:700px) {
 .homepage-refined .calculator-sections > .tool-disclosure > summary { padding-block:16px; }
 .homepage-refined .calculator-sections > .tool-disclosure > summary strong { font-size:24px; }
}

/* About: connect the portrait introduction to its following resource section. */
.about-page .page-intro { padding-bottom:24px; }
.about-page .page-intro + .rc-sand { padding-top:48px; }
.about-page .page-intro + .rc-sand .rc-reading > h2 { margin-top:16px; }
@media(max-width:700px) {
 .about-page .page-intro { padding-bottom:20px; }
 .about-page .page-intro + .rc-sand { padding-top:36px; }
}

/* Confirmation: separate the receipt actions from the shared closing. */
.confirmation-page main { padding-bottom:32px; }

/* Preserve readable homepage community links when visitors enlarge text. */
.homepage-refined .community-card .card-caption > span { white-space:normal; max-width:100%; overflow-wrap:anywhere; }
