:root {
  --site-primary: #172D46;
  --site-secondary: #C6A66B;
  --site-background: #F4F6F8;
  --site-on-primary: #FFFFFF;
  --site-on-secondary: #172D46;
  --site-on-background: #172D46;
  --site-font-body: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --site-font-heading: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --site-heading-scale: 1;
  --site-spacing-scale: 1;
  --site-radius-scale: 1;
  --site-decoration-opacity: 1;
  --surface: light-dark(#FFFFFF, #18212B);
  --surface-soft: light-dark(#F4F6F8, #202B37);
  --text: light-dark(#172D46, #F4F7FA);
  --muted: light-dark(#5D6B7B, #B5C1CD);
  --border: light-dark(#DCE2E8, #3A4653);
  --gold: #C6A66B;
  color-scheme: light dark;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; font-family: var(--site-font-body); background: var(--site-background); color: var(--text); }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
.site-root { min-height: 100vh; width: 100%; border-radius: 0; background-color: var(--site-background); color: var(--text); }
.container { width: min(1160px, calc(100% - 40px)); margin: 0 auto; }
.topbar { background: var(--site-primary); color: var(--site-on-primary); font-size: 13px; }
.topbar-inner { display:flex; justify-content:space-between; gap:16px; padding: 9px 0; align-items:center; }
.topbar a { color: inherit; text-decoration:none; }
header { background: var(--surface); border-bottom:1px solid var(--border); position:sticky; top:0; z-index:10; }
.nav { min-height:82px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand { display:flex; flex-direction:column; text-decoration:none; color:var(--text); line-height:1.1; min-width:190px; }
.brand strong { font-family:var(--site-font-heading); letter-spacing:.045em; font-size:18px; }
.brand span { color:var(--muted); font-size:10px; letter-spacing:.16em; margin-top:7px; }
.navlinks { display:flex; align-items:center; gap:24px; }
.navlinks a { text-decoration:none; font-size:14px; font-weight:600; }
.navlinks a:not(.btn) { color:var(--text); }
.navlinks a:not(.btn):hover { color:var(--gold); }
.btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; border:1px solid transparent; border-radius:calc(8px * var(--site-radius-scale)); padding:13px 18px; text-decoration:none; font-weight:700; font-size:14px; cursor:pointer; transition:transform .15s ease, background .15s ease; }
.btn:hover { transform:translateY(-1px); }
.btn-primary { background:var(--site-primary); color:var(--site-on-primary); }
.btn-primary:hover { background:#223F60; }
.btn-outline { border-color:var(--border); background:var(--surface); color:var(--text); }
.btn-gold { background:var(--site-secondary); color:var(--site-on-secondary); }
.menu-toggle { display:none; background:none; color:var(--text); border:1px solid var(--border); border-radius:8px; padding:9px 11px; cursor:pointer; }
.hero { background:var(--site-primary); color:#fff; overflow:hidden; }
.hero-grid { display:grid; grid-template-columns:1fr .95fr; align-items:center; gap:42px; padding:clamp(48px,7vw,86px) 0; }
.eyebrow { color:var(--site-secondary); font-size:12px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
h1,h2,h3,p { margin-top:0; }
h1,h2,h3 { font-family:var(--site-font-heading); }
h1 { font-size:calc(clamp(38px,5.2vw,64px) * var(--site-heading-scale)); letter-spacing:-.045em; line-height:1.02; margin:18px 0; }
.hero p { color:#DCE5ED; font-size:17px; line-height:1.75; max-width:570px; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin:28px 0 18px; }
.hero .btn-outline { color:#fff; background:transparent; border-color:#64788C; }
.microcopy { font-size:12px !important; color:#C3D0DC !important; margin:0; }
.hero-image { min-height:390px; border-radius:calc(18px * var(--site-radius-scale)); overflow:hidden; position:relative; background:#31485D; }
.hero-image img { width:100%; height:100%; min-height:390px; object-fit:cover; display:block; }
.image-note { position:absolute; left:18px; right:18px; bottom:18px; padding:15px 17px; border-radius:12px; background:rgba(23,45,70,.88); color:white; backdrop-filter:blur(8px); }
.image-note strong { display:block; font-size:14px; margin-bottom:4px; }
.image-note span { color:#DCE5ED; font-size:12px; }
.trust-strip { background:var(--surface); border-bottom:1px solid var(--border); }
.trust-items { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; padding:20px 0; }
.trust-item { display:flex; gap:12px; align-items:center; }
.trust-icon { width:42px; height:42px; border-radius:12px; display:grid; place-items:center; background:color-mix(in srgb, var(--site-secondary) 22%, transparent); color:var(--text); flex:none; font-size:20px; }
.trust-item strong { display:block; font-size:13px; }
.trust-item span { display:block; color:var(--muted); font-size:12px; margin-top:4px; }
section { padding:clamp(54px,7vw,86px) 0; }
.section-head { max-width:690px; margin:0 auto 34px; text-align:center; }
.section-head h2 { font-size:calc(clamp(29px,3.5vw,42px) * var(--site-heading-scale)); letter-spacing:-.035em; line-height:1.12; margin:12px 0; }
.section-head p { color:var(--muted); line-height:1.7; margin-bottom:0; }
.services-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:22px; }
.service-card { background:var(--surface); border:1px solid var(--border); border-radius:calc(16px * var(--site-radius-scale)); overflow:hidden; display:grid; grid-template-columns:.9fr 1.1fr; min-height:270px; }
.service-card img { width:100%; height:100%; object-fit:cover; min-height:270px; }
.service-copy { padding:26px; display:flex; flex-direction:column; align-items:flex-start; }
.kicker { font-size:11px; text-transform:uppercase; letter-spacing:.12em; font-weight:800; color:#96743A; }
.service-copy h3 { font-size:24px; line-height:1.15; margin:10px 0; letter-spacing:-.025em; }
.service-copy p { color:var(--muted); font-size:14px; line-height:1.7; }
.text-link { color:var(--text); font-weight:800; text-decoration:none; font-size:14px; margin-top:auto; padding-top:8px; }
.text-link span { color:#96743A; }
.selling { background:var(--surface-soft); }
.selling-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:50px; align-items:start; }
.selling-intro h2 { font-size:calc(clamp(30px,3.7vw,44px) * var(--site-heading-scale)); line-height:1.08; letter-spacing:-.04em; margin:14px 0; }
.selling-intro p { color:var(--muted); line-height:1.8; }
.check-list { list-style:none; padding:0; margin:24px 0; display:grid; gap:15px; }
.check-list li { display:flex; gap:11px; align-items:flex-start; line-height:1.5; font-size:14px; }
.check { width:23px; height:23px; border-radius:50%; background:var(--site-primary); color:#fff; display:grid; place-items:center; font-size:12px; flex:none; }
.lead-card { background:var(--surface); border:1px solid var(--border); border-radius:calc(16px * var(--site-radius-scale)); padding:clamp(22px,4vw,34px); box-shadow:0 14px 35px rgba(20,40,60,.06); }
.lead-card h3 { font-size:25px; margin-bottom:8px; }
.lead-card > p { color:var(--muted); font-size:14px; line-height:1.6; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:15px; }
.field { display:flex; flex-direction:column; gap:7px; }
.field.full { grid-column:1/-1; }
label { font-size:12px; font-weight:800; }
input,select,textarea { width:100%; padding:12px 13px; border:1px solid var(--border); border-radius:8px; background:var(--surface); color:var(--text); outline:none; }
input:focus,select:focus,textarea:focus { border-color:var(--site-secondary); box-shadow:0 0 0 3px color-mix(in srgb, var(--site-secondary) 22%, transparent); }
textarea { resize:vertical; min-height:84px; }
.form-note { font-size:11px !important; color:var(--muted); line-height:1.5; margin:12px 0 0; }
.form-status { display:none; margin-top:14px; padding:12px; border-radius:8px; background:color-mix(in srgb, #2E7D57 14%, var(--surface)); color:var(--text); font-size:13px; line-height:1.5; }
.form-status.show { display:block; }
.neighborhood-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.place-card { position:relative; overflow:hidden; border-radius:calc(14px * var(--site-radius-scale)); min-height:245px; background:#33495C; }
.place-card img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .3s ease; }
.place-card:hover img { transform:scale(1.04); }
.place-card::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 25%,rgba(10,25,42,.82)); opacity:var(--site-decoration-opacity); pointer-events:none; }
.place-label { position:absolute; left:20px; bottom:18px; z-index:1; color:#fff; }
.place-label h3 { margin:0 0 5px; font-size:22px; }
.place-label span { font-size:12px; color:#E2EAF1; }
.why-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.why-card { background:var(--surface); border:1px solid var(--border); border-radius:calc(14px * var(--site-radius-scale)); padding:25px; }
.why-icon { font-size:23px; margin-bottom:20px; }
.why-card h3 { font-size:18px; margin-bottom:9px; }
.why-card p { color:var(--muted); font-size:14px; line-height:1.7; margin:0; }
.cta-band { background:var(--site-primary); color:#fff; padding:clamp(42px,6vw,66px) 0; }
.cta-inner { display:flex; justify-content:space-between; align-items:center; gap:32px; }
.cta-inner h2 { font-size:calc(clamp(29px,3.8vw,43px) * var(--site-heading-scale)); letter-spacing:-.035em; margin:12px 0; }
.cta-inner p { color:#D6E0E9; max-width:630px; line-height:1.7; margin:0; }
.cta-actions { display:flex; flex-direction:column; gap:10px; min-width:220px; }
.cta-actions .btn-outline { color:#fff; border-color:#64788C; background:transparent; }
footer { background:var(--surface); border-top:1px solid var(--border); }
.footer-grid { display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:35px; padding:38px 0 30px; }
.footer-brand p { color:var(--muted); font-size:13px; line-height:1.7; max-width:340px; margin-top:14px; }
footer h4 { font-size:12px; text-transform:uppercase; letter-spacing:.12em; margin:3px 0 15px; }
.footer-links { display:grid; gap:11px; }
.footer-links a { color:var(--muted); text-decoration:none; font-size:13px; }
.footer-links a:hover { color:var(--text); }
.legal { border-top:1px solid var(--border); padding:18px 0 24px; color:var(--muted); font-size:11px; line-height:1.7; }
.legal p { margin:0 0 8px; }
@media (min-width:701px) and (max-width:1050px) {
 .navlinks { flex-wrap:wrap; justify-content:flex-end; gap:12px; }
 .navlinks a { white-space:nowrap; }
}
@media (max-width:900px) {
 .navlinks { gap:14px; }
 .navlinks a { font-size:12px; }
 .navlinks .btn { padding:11px 13px; }
 .hero-grid { grid-template-columns:1fr  .85fr; gap:24px; }
 .service-card { grid-template-columns:1fr; }
 .service-card img { height:190px; min-height:190px; }
 .service-copy { min-height:240px; }
 .selling-grid { gap:25px; }
}
@media (max-width:700px) {
 .container { width:min(100% - 30px, 560px); }
 .topbar-inner { justify-content:center; text-align:center; }
 .topbar-inner span:last-child { display:none; }
 .nav { min-height:70px; }
 .menu-toggle { display:block; }
 .navlinks { display:none; position:absolute; top:100%; left:0; right:0; padding:18px 20px 22px; background:var(--surface); border-bottom:1px solid var(--border); flex-direction:column; align-items:stretch; gap:18px; }
 .navlinks.open { display:flex; }
 .navlinks a { font-size:14px; }
 .hero-grid { grid-template-columns:1fr; padding:45px 0; }
 .hero-image, .hero-image img { min-height:260px; }
 h1 { font-size:calc(42px * var(--site-heading-scale)); }
 .trust-items { grid-template-columns:1fr; gap:15px; }
 .services-grid,.selling-grid { grid-template-columns:1fr; }
 .service-card { grid-template-columns:.85fr 1.15fr; }
 .service-card img { min-height:260px; height:100%; }
 .service-copy { min-height:260px; padding:20px; }
 .service-copy h3 { font-size:21px; }
 .neighborhood-grid { grid-template-columns:repeat(2,1fr); }
 .place-card { min-height:205px; }
 .why-grid { grid-template-columns:1fr; }
 .cta-inner { align-items:flex-start; flex-direction:column; }
 .cta-actions { width:100%; }
 .footer-grid { grid-template-columns:1fr 1fr; }
 .footer-brand { grid-column:1/-1; }
}
@media (max-width:430px) {
 .service-card { grid-template-columns:1fr; }
 .service-card img { height:190px; min-height:190px; }
 .service-copy { min-height:230px; }
 .neighborhood-grid { grid-template-columns:1fr; }
 .place-card { min-height:230px; }
 .form-grid { grid-template-columns:1fr; }
 .field.full { grid-column:auto; }
 .footer-grid { grid-template-columns:1fr; }
 .footer-brand { grid-column:auto; }
 .hero-actions .btn { width:100%; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none !important; } }

/* Community pages */
.breadcrumb { font-size:13px; color:#C3D0DC; margin-bottom:6px; }
.breadcrumb a { color:#fff; text-decoration:none; }
.breadcrumb a:hover { color:var(--site-secondary); }
.area-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:40px; align-items:start; }
.area-copy h2 { font-size:calc(clamp(27px,3.2vw,38px) * var(--site-heading-scale)); letter-spacing:-.035em; line-height:1.12; margin:12px 0 16px; }
.area-copy p { color:var(--muted); line-height:1.8; }
.fact-card { background:var(--surface); border:1px solid var(--border); border-radius:calc(16px * var(--site-radius-scale)); padding:26px; }
.fact-card h3 { font-size:18px; margin-bottom:16px; }
.fact-list { list-style:none; padding:0; margin:0; display:grid; gap:14px; }
.fact-list li { display:flex; flex-direction:column; gap:4px; font-size:14px; line-height:1.5; }
.fact-list li span { font-size:11px; text-transform:uppercase; letter-spacing:.12em; font-weight:800; color:#96743A; }
.fact-list a { color:var(--text); }
.chip-list { display:flex; flex-wrap:wrap; gap:9px; list-style:none; padding:0; margin:18px 0 0; }
.chip-list li, .chip-list a { display:inline-block; padding:8px 13px; border-radius:999px; border:1px solid var(--border); background:var(--surface); color:var(--text); font-size:13px; font-weight:600; text-decoration:none; }
.chip-list a:hover { border-color:var(--site-secondary); }
.community-index { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.community-index a { display:flex; justify-content:space-between; align-items:center; padding:16px 18px; background:var(--surface); border:1px solid var(--border); border-radius:calc(12px * var(--site-radius-scale)); color:var(--text); text-decoration:none; font-weight:700; font-size:14px; }
.community-index a span { color:#96743A; }
.community-index a:hover { border-color:var(--site-secondary); }
.index-group + .index-group { margin-top:38px; }
.index-group h3 { font-size:14px; text-transform:uppercase; letter-spacing:.12em; margin-bottom:14px; }
@media (max-width:900px) { .community-index { grid-template-columns:repeat(3,1fr); } }
@media (max-width:700px) { .area-grid { grid-template-columns:1fr; gap:26px; } .community-index { grid-template-columns:repeat(2,1fr); } }
@media (max-width:430px) { .community-index { grid-template-columns:1fr; } }
.section-head .chip-list { justify-content:center; }

/* Shared home-value form states and consistent destination-page rendering. */
[data-home-value-form] .field { min-width:0; }
[data-home-value-form] input,[data-home-value-form] select,[data-home-value-form] textarea { color:#182B3A; background:#fff; }
[data-home-value-form] .btn:disabled { cursor:default; opacity:.75; transform:none; }
[data-home-value-form] .form-status[data-state="error"] { background:#FFF0EC; color:#782D20; }
[data-home-value-form] .form-status:focus-visible { outline:2px solid var(--site-secondary); outline-offset:3px; }
.destination .selling { line-height:normal; }
.destination .selling h2 { font-size:calc(clamp(30px,3.7vw,44px) * var(--site-heading-scale)); line-height:1.08; letter-spacing:-.04em; margin:14px 0; }
.destination .selling h3 { line-height:normal; letter-spacing:normal; }
[data-home-value-form] .form-note { overflow-wrap:anywhere; }
.selling#sell { scroll-margin-top:110px; }
@media(max-width:700px) { .selling#sell { scroll-margin-top:85px; } }
