/* The supplied house-and-handshake mark is used as a compact office symbol. */
:root {
  --navy: #155f61;
  --navy-deep: #103f40;
  --ink: #183231;
  --blue: #286f72;
  --lake: #337f81;
  --lime: #7aaa23;
  --sand: #7aaa23;
  --mist: #f1f6f4;
  --muted: #576c69;
  --line: #d9e5df;
  --paper: #fff;
  --brand-soft: #f5f8f2;
  --brand-shadow: 0 12px 36px rgb(16 63 64 / 7%);
}
body { background: var(--paper); color: var(--ink); }
::selection { background: #dbeab9; color: var(--ink); }
:is(a, button, summary, input, select, textarea):focus-visible {
  outline: 3px solid var(--navy); outline-offset: 4px;
}
input, select, textarea { accent-color: var(--navy); }
.eyebrow { font-size: .875rem; letter-spacing: .12em; }

/* Crop the legacy artwork to its pictogram so the new wordmark stays clean. */
.brand { display: inline-flex; flex-direction: row; align-items: center; gap: 13px; }
.brand-symbol {
  position: relative; display: block; flex: 0 0 2.55rem;
  width: 2.55rem; height: 3.55rem; overflow: hidden;
}
.brand-symbol img {
  position: absolute; width: 5rem; height: 5rem; max-width: none;
  left: -1.36rem; top: 0; mix-blend-mode: multiply;
}
.brand-wordmark { display: flex; flex-direction: column; gap: 8px; }
.brand-name {
  font-size: 1.65rem; line-height: 1.1; font-weight: 800;
  letter-spacing: .08em; color: var(--lake); white-space: nowrap;
}
.brand-caption {
  margin: 0; padding: 0; font-size: .75rem; font-weight: 600;
  line-height: 1.2; letter-spacing: .15em; color: var(--muted);
}
.site-header, .detail-header, .catalog-page-header {
  background: #fff; border-bottom-color: var(--line);
}
.header-inner { min-height: 96px; height: auto; padding-block: 10px; }
.desktop-nav a { color: var(--ink); }
.desktop-nav a::after { height: 2px; background: var(--lime); }
.desktop-nav a[aria-current="page"] { color: var(--navy); font-weight: 700; }
.header-contact {
  border: 1px solid var(--line); background: var(--brand-soft); color: var(--navy-deep);
  border-radius: 8px; font-weight: 700; white-space: nowrap;
}
.header-contact:hover { background: #e3edcf; border-color: var(--lime); }
.phone-pair { display: inline-flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.catalog-phone-pair { margin-right: 20px; }
.agent .phone-pair { display: grid; gap: 0; }
.contact-person .phone-pair { display: grid; gap: 5px; }
.contact-person .phone-pair > a {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  font-family: 'Manrope', Arial, sans-serif; font-size: clamp(1.35rem, 2.35vw, 2rem);
  font-weight: 500; letter-spacing: -.025em; line-height: 1.6;
}
.contact-person .phone-pair > a span { color: var(--lime); font-size: 1.625rem; }
.contact-person .phone-pair > a:hover { color: var(--navy-deep); }
.mobile-nav .phone-pair { display: block; }
.mobile-nav .phone-pair > .mobile-call { display: block; padding: 14px 0; border-bottom: 1px solid var(--line); }
.menu-button { border-radius: 8px; }
.mobile-nav { background: #fff; border-color: var(--line); }
.catalog-page-header {
  display: flex; align-items: center; justify-content: space-between; gap: 24px;
  padding: 14px max(56px, calc((100% - var(--max)) / 2));
}
.catalog-page-header > .shell { width: auto; margin: 0; }
.detail-header { padding-block: 14px; }
.detail-back { font-size: .875rem; }

.hero { background: var(--brand-soft); border-color: var(--line); }
.hero-shade {
  background: linear-gradient(90deg, #f5f8f2 0%, #f5f8f2 31%, rgb(245 248 242 / 94%) 42%, rgb(245 248 242 / 42%) 62%, transparent 100%);
}
.hero-image { filter: saturate(1.02); border-radius: 0 0 0 96px; }
.hero-eyebrow { color: var(--navy); }
.hero-eyebrow > span { height: 3px; background: var(--lime); }
.hero h1 { color: var(--ink); }
.hero h1 em, .hero-slogan { color: var(--navy); }
.hero-secondary { color: var(--navy); border-color: var(--lime); }
.hero-bottom { border-color: rgb(21 95 97 / 18%); }
.hero-bottom > p { color: var(--navy); }
.place-caption { color: var(--muted); }
.local-strip { background: #fff; border-bottom: 1px solid var(--line); }
.local-inner p { color: var(--navy); }
.local-inner li { border-color: var(--line); }

.button-lime, .catalog-hero .button, .contact-section .button-lime,
.inquiry-button, .detail-actions > .detail-button:not(.secondary) {
  background: var(--navy); color: #fff; border-color: var(--navy);
  border-radius: 8px; box-shadow: none;
}
.button-lime:hover, .catalog-hero .button:hover, .contact-section .button-lime:hover,
.inquiry-button:hover, .detail-actions > .detail-button:not(.secondary):hover {
  background: var(--navy-deep); border-color: var(--navy-deep); color: #fff;
}
.hero-actions .button-lime { box-shadow: 0 5px 0 var(--lime); }
.text-link { color: var(--navy); border-color: var(--lime); }
.text-link:hover { color: var(--navy-deep); }
.catalog-hero { background: var(--brand-soft); border-color: var(--line); }
.catalog-hero h1 { color: var(--ink); }
.catalog-hero h1 em { color: var(--navy); }
.catalog-hero p:not(.eyebrow) { color: var(--muted); }
.property-tools { border-color: var(--line); border-radius: 16px; box-shadow: var(--brand-shadow); }
.property { border-color: var(--line); border-radius: 16px; box-shadow: var(--brand-shadow); }
.property:hover { border-color: #a9c58a; box-shadow: 0 18px 40px rgb(16 63 64 / 12%); }
.property-photo { background: var(--mist); }
.property-photo::after {
  background: linear-gradient(0deg, rgb(16 47 44 / 92%), transparent);
}
.property:hover .property-photo::after { color: #e7f5cd; }
.property-tag { color: var(--navy-deep); box-shadow: none; border-radius: 6px; font-size: .75rem; }
.property-badge { top: 52px; color: #183231; background: #dbeab9; font-size: .75rem; }
.property-location { color: var(--navy); font-size: .875rem; letter-spacing: .08em; }
.property-location::before { display: none; }
.property h3 { color: var(--ink); }
.property-description { color: var(--muted); font-size: 1rem; }
.property-facts span, .property-note, .property-price-note { font-size: .8125rem; }
.property-arrow { color: var(--navy); border-color: var(--line); }
.property:hover .property-arrow { color: var(--navy-deep); background: #e3edcf; border-color: #b8cf96; }
.property-filters label, .lead-fields label, .filter-reset,
.property-actions button, .property-actions .detail-button, .lead-consent { font-size: .875rem; }
.property-filters input, .property-filters select,
.lead-fields input, .lead-fields select, .lead-fields textarea,
.seller-form input, .seller-form select, .seller-form textarea {
  border-color: #bacdc3; background: #fff; color: var(--ink); font-size: 1rem;
}
.property-filters input:focus, .property-filters select:focus,
.lead-fields input:focus, .lead-fields select:focus, .lead-fields textarea:focus {
  border-color: var(--navy); box-shadow: 0 0 0 3px rgb(21 95 97 / 12%);
}
.property-filters input::placeholder, .lead-fields textarea::placeholder { color: #687c75; }
.favorite-button, .property-actions .detail-button, .dialog-close { border-color: var(--line); }
.favorite-button:hover, .favorite-button[aria-pressed="true"], .property-actions .detail-button:hover,
.dialog-close:hover, .detail-actions .secondary { background: #e5efd8; border-color: #b8cf96; color: var(--navy-deep); }
.property-actions .detail-button { background: var(--brand-soft); }
.favorite-button[aria-pressed="true"] .favorite-icon,
.filter-toggle[aria-pressed="true"] span:first-child { color: #5c8217; }
.filter-empty, .detail-note { background: var(--brand-soft); border-color: #b8cf96; }

.services-section { background: var(--brand-soft); border-color: var(--line); }
.service { border-top-color: var(--lime); }
.service-number { color: var(--navy); }
.service p, .trust-grid p { font-size: 1rem; }
.about-section { background: #fff; }
.about-statement h2 em { color: var(--navy); }
.about-tagline::before { background: var(--lime); }
.office-logo { width: 210px; height: 150px; margin-top: 28px; object-fit: cover; object-position: center top; mix-blend-mode: multiply; }
.agent .agent-phone { display: inline-block; margin: 5px 0 8px; color: var(--navy); font-weight: 700; }
.agent .agent-phone:hover { text-decoration: underline; text-underline-offset: 4px; }
.agent h3 { color: var(--ink); }
.agent p { color: var(--muted); }
.seller-advisor { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; padding-top: 12px; }
.seller-advisor a { color: var(--navy); font-weight: 700; }
.trust-grid article, .seller-point, .place-card { border-color: var(--line); border-radius: 14px; }
.trust-grid article span, .seller-point span { color: var(--navy); }
.places-cta, .seller-form-wrap { background: var(--brand-soft); }
.faq-list details { border-color: var(--line); }
.contact-section { background: #edf4ef; color: var(--ink); }
.contact-intro h2 em { color: var(--navy); }
.contact-person { border-color: #c6dacf; }
.contact-person > a:hover { color: var(--navy-deep); }
.contact-email > a { border-color: #a1bcac; }
.share-strip .share-button { border-color: var(--line); border-radius: 8px; }
.share-strip .share-button:hover { background: #e3edcf; border-color: var(--lime); }
.site-footer { background: #fff; }
.footer-bottom { border-color: var(--line); }
.floating-callback { border-color: #bbd0c3; color: var(--navy); box-shadow: var(--brand-shadow); }
.floating-callback:hover { background: var(--navy); color: #fff; }
.lead-dialog::backdrop { background: rgb(14 44 41 / 60%); }
.lead-dialog-card { border-color: var(--line); box-shadow: 0 24px 70px rgb(14 44 41 / 20%); }
.detail-image { box-shadow: var(--brand-shadow); }

@media (max-width: 1200px) {
  .catalog-page-header { padding-inline: 36px; }
}
@media (max-width: 960px) {
  .header-inner { min-height: 86px; }
  .hero-shade { background: linear-gradient(90deg, #f5f8f2 0%, #f5f8f2 35%, rgb(245 248 242 / 88%) 51%, rgb(245 248 242 / 20%) 76%, transparent); }
  .hero-image { border-radius: 0 0 0 72px; }
}
@media (max-width: 720px) {
  .header-inner { min-height: 82px; gap: 12px; padding-block: 9px; }
  .brand { gap: 10px; }
  .brand-name { font-size: 1.4rem; letter-spacing: .07em; }
  .brand-caption { letter-spacing: .1em; }
  .brand-symbol { width: 2.2rem; flex-basis: 2.2rem; height: 3.1rem; }
  .brand-symbol img { width: 4.4rem; height: 4.4rem; left: -1.2rem; top: 0; }
  .catalog-page-header { padding-inline: 22px; flex-wrap: wrap; gap: 10px 20px; }
  .catalog-phone-pair { width: 100%; justify-content: flex-end; margin-right: 0; }
  .hero-shade { background: linear-gradient(180deg, #f5f8f2 0%, #f5f8f2 45%, rgb(245 248 242 / 78%) 66%, transparent); }
  .hero-image { border-radius: 32px 0 0; }
  .hero-eyebrow { font-size: .8125rem; letter-spacing: .06em; }
  .office-logo { width: 168px; height: 120px; margin-top: 24px; }
  .property-filters .filter-reset { border-color: var(--line); }
  .simple-navigation .header-inner { flex-wrap: wrap; gap: 6px; }
  .simple-navigation .desktop-nav { display: flex; flex-wrap: wrap; margin-left: 0; width: 100%; gap: 0 20px; }
  .simple-navigation .desktop-nav a { padding-block: 9px; }
  .detail-header .shell { flex-wrap: wrap; align-items: center; gap: 10px 20px; }
}
@media (max-width: 360px) {
  .catalog-page-header { padding-inline: 16px; }
  .brand-name { font-size: 1.25rem; }
}
