/* VORA public component theme. */
body.vora-public {
  --brand-primary: #0F766E;
  --brand-primary-hover: #0A514C;
  --brand-primary-soft: #E8F5F2;
  --brand-primary-light: #CFE9E5;
  --brand-dark: #10243A;
  --brand-dark-soft: #1D3851;
  --brand-accent: #0F766E;
  --brand-accent-hover: #0A514C;
  --brand-accent-soft: #E8F5F2;
  --brand-accent-text: #0A514C;
  --brand-brass: #C58A48;
  --bg: #F4F7FA;
  --surface: #FFFFFF;
  --surface-soft: #F4F7FA;
  --border: #DDE5EC;
  --border-soft: #EAF0F4;
  --text: #10243A;
  --text-soft: #52677C;
  --text-muted: #65758A;
  --vre-ink: #10243A;
  --vre-ink-soft: #1D3851;
  --vre-copper: #0F766E;
  --vre-copper-dark: #0A514C;
  --vre-mist: #F4F7FA;
  --vre-sage: #E8F5F2;
  --vre-cloud: #FFFFFF;
  --vre-slate: #65758A;
  margin: 0;
  overflow-x: clip;
  color: #10243A;
  background: #FFFFFF;
  font-family: "DM Sans", "Avenir Next", Avenir, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 15px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}

body.vora-public *,
body.vora-public *::before,
body.vora-public *::after { box-sizing: border-box; letter-spacing: 0; }

.public-nav-vora { border-bottom-color: #DDE5EC; }
.public-nav-vora .nav-primary-v3 a:hover,
.public-nav-vora .nav-primary-v3 a[aria-current="page"] { color: #0A514C; background: #E8F5F2; }
.public-nav-vora .nav-phone-v3 svg { color: #0F766E; }
body.vora-public .public-nav-vora .nav-apply-v3 { background: #0F766E; }
body.vora-public .public-nav-vora .nav-apply-v3:hover { color: #fff; background: #0A514C; }
.public-nav-vora .nav-burger:hover { color: #0A514C; border-color: #0F766E; background: #fff; }
.vora-public .public-drawer-cta { background: #0F766E; }
.vora-public .public-drawer-links a:hover { color: #0A514C; }

/* Homepage components themed for VORA. */
body.vora-home-page {
  --mdr-navy: #10243A;
  --mdr-ink: #10243A;
  --mdr-muted: #65758A;
  --mdr-purple: #0F766E;
  --mdr-purple-dark: #0A514C;
  --mdr-lavender: #E8F5F2;
  --mdr-lavender-soft: #F3FAF8;
  --mdr-warm: #FFFFFF;
  --mdr-stone: #F4F7FA;
  --mdr-white: #FFFFFF;
  --mdr-line: #DDE5EC;
  --mdr-green: #0F766E;
  --mdr-rose: #C58A48;
  --mdr-shadow: 0 18px 48px rgba(16, 36, 58, .10);
  background: #fff;
  color: var(--mdr-ink);
}

body.vora-home-page .nav.nav-v3 { background: rgba(255, 255, 255, .96); border-bottom-color: #DDE5EC; }
.vora-home-page .mdr-button-primary { background: #0F766E; box-shadow: 0 10px 24px rgba(15, 118, 110, .18); }
.vora-home-page .mdr-button-primary:hover { background: #0A514C; }
.vora-home-page .mdr-button:focus-visible,
.vora-home-page .mdr-text-link:focus-visible,
.vora-home-page .mdr-home a:focus-visible { outline-color: #0F766E; }
.vora-home-page .mdr-hero { min-height: 590px; height: calc(100svh - 138px); max-height: 720px; background: #F4F7FA; }
.vora-home-page .mdr-hero-media img { object-position: center center; }
.vora-home-page .mdr-hero::after {
  z-index: -1;
  background: linear-gradient(90deg, rgba(255,255,255,.97) 0%, rgba(255,255,255,.92) 33%, rgba(255,255,255,.52) 53%, rgba(255,255,255,0) 75%);
}
.vora-home-page .mdr-hero-copy { width: 51%; max-width: 610px; }
.vora-home-page .mdr-hero-lead { color: #52677C; }
.vora-home-page .mdr-hero-notes { color: #65758A; }
.vora-home-page .mdr-hero-notes svg,
.vora-home-page .mdr-goal-grid svg { color: #0F766E; }
.vora-home-page .mdr-goal-grid > a:hover,
.vora-home-page .mdr-resource-grid > a:hover { background: #F3FAF8; }
.vora-home-page .mdr-planner { background: #fff; }
.vora-home-page .mdr-planner-controls { background: #F4F7FA; }
.vora-home-page .mdr-planner-result { background: #F3FAF8; }
.vora-home-page .mdr-planner-input:focus-within,
.vora-home-page .mdr-planner-controls select:focus { border-color: #0F766E; box-shadow: 0 0 0 3px rgba(15,118,110,.14); }
.vora-home-page .mdr-planner-breakdown,
.vora-home-page .mdr-planner-breakdown > div { border-color: #DDE5EC; }
.vora-home-page .mdr-promise,
.vora-home-page .mdr-home-faq { background: #F4F7FA; }
.vora-home-page .mdr-process,
.vora-home-page .mdr-resources { background: #fff; }
.vora-home-page .mdr-portal { background: #F4F7FA; }
.vora-home-page .mdr-final { color: #10243A; background: #E8F5F2; }

/* VORA's real-estate contact intake uses the same visual rhythm as the shared site. */
.vora-contact-section { padding: 92px 0; background: #F4F7FA; border-top: 1px solid #DDE5EC; }
.vora-contact-grid { display: grid; grid-template-columns: .82fr 1.18fr; gap: clamp(42px, 7vw, 100px); align-items: start; }
.vora-contact-copy h2 { margin: 0; color: #10243A; font-size: 43px; line-height: 1.1; }
.vora-contact-copy > p:not(.mdr-eyebrow) { max-width: 520px; margin: 18px 0 0; color: #65758A; font-size: 17px; }
.vora-contact-details { display: grid; gap: 10px; margin-top: 28px; }
.vora-contact-details a { color: #0A514C; font-weight: 750; text-decoration: none; }
.vora-contact-form {
  display: grid;
  gap: 18px;
  padding: clamp(26px, 4vw, 44px);
  border: 1px solid #DDE5EC;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 18px 48px rgba(16,36,58,.08);
}
.vora-contact-form > label,
.vora-contact-form .vre-form-row label {
  display: grid;
  gap: 7px;
  color: #10243A;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
}
.vora-contact-form input,
.vora-contact-form select,
.vora-contact-form textarea,
.vre-lead-step input,
.vre-lead-step select {
  width: 100%;
  min-height: 46px;
  padding: 10px 12px;
  border: 1px solid #DDE5EC;
  border-radius: 5px;
  outline: 0;
  color: #10243A;
  background: #fff;
  font: 600 14px/1.25 "DM Sans", sans-serif;
}
.vora-contact-form textarea { min-height: 108px; resize: vertical; }
.vora-contact-form input:focus,
.vora-contact-form select:focus,
.vora-contact-form textarea:focus,
.vre-lead-step input:focus,
.vre-lead-step select:focus { border-color: #0F766E; box-shadow: 0 0 0 3px rgba(15,118,110,.14); }
.vora-contact-form .vre-consent { display: grid; grid-template-columns: 18px 1fr; gap: 9px; color: #65758A; font-size: 11px; font-weight: 500; text-transform: none; }
.vora-contact-form .vre-consent input { width: 16px; min-height: 16px; height: 16px; margin-top: 2px; padding: 0; }

/* Fast-start drawer cards, fields, buttons, and radii. */
.vre-lead-overlay { background: rgba(15,23,42,.48); backdrop-filter: blur(3px); }
.vre-lead-drawer { width: min(520px, 100%); border-left: 1px solid #DDE5EC; background: #fff; box-shadow: -24px 0 60px rgba(16,36,58,.18); }
.vre-lead-drawer > header { min-height: 74px; padding: 8px 24px; border-bottom-color: #DDE5EC; background: rgba(255,255,255,.97); }
.vre-lead-drawer > header img { width: 190px; height: 52px; }
.vre-lead-drawer > header button { border-radius: 7px; border-color: #DDE5EC; color: #10243A; }
.vre-lead-drawer form { padding: 42px clamp(24px, 7vw, 52px); }
.vre-lead-step h2 { color: #10243A; font: 800 40px/1.08 "DM Sans", sans-serif; }
.vre-lead-options { gap: 10px; }
.vre-lead-options span { min-height: 106px; padding: 17px; border-radius: 7px; border-color: #DDE5EC; background: #F4F7FA; }
.vre-lead-options b { color: #10243A; font-size: 13px; }
.vre-lead-options input:checked + span { border-color: #0F766E; background: #E8F5F2; box-shadow: inset 3px 0 0 #0F766E; }
.vre-lead-step > label,
.vre-lead-step > .vre-form-row label { color: #10243A; }
.vre-lead-step .vre-consent input { width: 16px; min-height: 16px; height: 16px; padding: 0; }
.vre-button.dark { min-height: 46px; border-radius: 7px; border-color: #0F766E; background: #0F766E; color: #fff; font-family: "DM Sans", sans-serif; }
.vre-button.dark:hover { background: #0A514C; }

/* Calculator hub: exact shared component, VORA theme only. */
body.vora-calculators-page {
  --calc-ink: #10243A;
  --calc-copy: #65758A;
  --calc-purple: #0F766E;
  --calc-purple-dark: #0A514C;
  --calc-line: #DDE5EC;
  --calc-warm: #F4F7FA;
  background: #F4F7FA;
}
.vora-calculators-page .calcs-card:hover { border-color: #0F766E; box-shadow: 0 14px 34px rgba(16,36,58,.08); }
.vora-calculators-page .calcs-pill.active { background: #0F766E; }
.vora-calculators-page .calcs-hero-actions a.calcs-primary { border-color: #0F766E; background: #0F766E; }

/* Shared calculator details inherit the same DOM and math; only tokens differ. */
.vora-public .calc-page-hero {
  background: linear-gradient(180deg, #FFFFFF 0%, #F4F7FA 100%);
  border-bottom: 1px solid #DDE5EC;
}
.vora-public .calc-back { color: #0A514C; }
.vora-public .calc-form-card,
.vora-public .calc-result-card { border-color: #DDE5EC; box-shadow: 0 14px 36px rgba(16,36,58,.07); }
.vora-public .calc-widget-result { background: linear-gradient(135deg, #0F766E 0%, #0A514C 100%); color: #fff; }
.vora-public .calc-result-band { background: #E8F5F2; border-color: #CFE9E5; }
.vora-public .calc-field input:focus,
.vora-public .calc-field select:focus { border-color: #0F766E; box-shadow: 0 0 0 3px rgba(15,118,110,.14); }
.vora-public .calc-tip { color: #0A514C; background: #E8F5F2; }
.vora-public .calc-preset:hover,
.vora-public .calc-preset.active { color: #0A514C; border-color: #0F766E; background: #E8F5F2; }
.vora-public .cs-primary { background: #E8F5F2; border-color: #CFE9E5; }
.vora-public .cs-primary .cs-v,
.vora-public .rv-title { color: #0A514C; }
.vora-public .calc-result-band { background: linear-gradient(135deg, #E8F5F2, #F4F7FA); }
.vora-public input[type="range"].slider { background-image: linear-gradient(#0F766E, #0F766E); }
.vora-public input[type="range"].slider::-webkit-slider-thumb { background: #0F766E; }
.vora-public .btn-mega { background: #0F766E; box-shadow: none; }
.vora-public .btn-mega:hover { background: #0A514C; }
.vora-public .calc-rate-context { border-color: #CFE9E5; box-shadow: 0 14px 36px rgba(16,36,58,.06); }
.vora-public .calc-rate-context-value { border-color: #DDE5EC; }
.vora-public .calc-rate-context-value strong,
.vora-public .calc-rate-context-copy b { color: #0A514C; }
.vora-public .calc-rate-context-copy span,
.vora-public .calc-rate-context-copy small { color: #65758A; }
.vora-public .calc-rate-context > a { background: #0F766E; }
.vora-public .calc-rate-context > a:hover { background: #0A514C; }
.vora-public .amp-page {
  --amp-ink: #10243A;
  --amp-navy: #10243A;
  --amp-blue: #0F766E;
  --amp-teal: #0F766E;
  --amp-copy: #52677C;
  --amp-muted: #65758A;
  --amp-line: #DDE5EC;
  --amp-soft: #F4F7FA;
  background: #F4F7FA;
  font-family: "DM Sans", sans-serif;
}
.vora-public .amp-presets button:hover,
.vora-public .amp-presets button.active {
  color: #0A514C;
  border-color: #0F766E;
  background: #E8F5F2;
}

/* Shared VORA footer. */
.public-footer {
  padding: 64px max(24px, calc((100vw - 1180px) / 2)) 26px;
  color: #10243A;
  background: #F4F7FA;
  border-top: 1px solid #DDE5EC;
}
.public-footer-grid { display: grid; grid-template-columns: 1.45fr repeat(3, 1fr); gap: 46px; }
.public-footer-grid > div:not(.public-footer-brand) { display: flex; flex-direction: column; align-items: flex-start; gap: 9px; }
.public-footer-brand img { width: 210px; height: 69px; object-fit: contain; object-position: left center; }
.public-footer-brand p { max-width: 370px; margin: 15px 0 0; color: #65758A; font-size: 13px; }
.public-footer strong { margin-bottom: 6px; color: #0A514C; font-size: 11px; text-transform: uppercase; }
.public-footer a,
.public-footer span { color: #65758A; font-size: 12px; text-decoration: none; }
.public-footer a:hover { color: #0F766E; }
.public-footer-legal { display: flex; flex-wrap: wrap; gap: 12px 20px; margin-top: 34px; padding-top: 24px; border-top: 1px solid #DDE5EC; }

/* Bring legacy search/guides pages into the same clean, white system. */
.vora-public .vre-search-page,
.vora-public .vre-guide-hero,
.vora-public .vre-thanks { background: #F4F7FA; }
.vora-public .vre-search-title h1,
.vora-public .vre-guide-hero h1,
.vora-public .vre-thanks h1,
.vora-public .vre-search-title h2,
.vora-public .vre-guide-library h2 { color: #10243A; font-family: "DM Sans", sans-serif; font-weight: 800; }
.vora-public .vre-search-panel,
.vora-public .vre-idx-ready,
.vora-public .vre-guide-library article { border-radius: 8px; border-color: #DDE5EC; background: #fff; }

@media (max-width: 900px) {
  .vora-home-page .mdr-hero::after { background: linear-gradient(90deg, rgba(255,255,255,.96) 0%, rgba(255,255,255,.88) 55%, rgba(255,255,255,.2) 100%); }
  .vora-home-page .mdr-hero-copy { width: 67%; }
  .vora-contact-grid { grid-template-columns: 1fr; gap: 34px; }
  .public-footer-grid { grid-template-columns: 1fr 1fr; }
  .public-footer-brand { grid-column: 1 / -1; }
}

@media (max-width: 620px) {
  .vora-home-page .mdr-hero { min-height: 650px; height: calc(100svh - 66px); }
  .vora-home-page .mdr-hero-media img { object-position: 68% center; }
  .vora-home-page .mdr-hero::after { background: linear-gradient(180deg, rgba(255,255,255,.96) 0%, rgba(255,255,255,.84) 54%, rgba(255,255,255,.1) 100%); }
  .vora-home-page .mdr-hero-copy { width: 100%; max-width: none; align-self: flex-start; padding-top: 52px; }
  .vora-contact-section { padding: 64px 0; }
  .vora-contact-copy h2 { font-size: 32px; }
  .vora-contact-form { padding: 24px 20px; }
  .public-footer { padding: 50px 24px 24px; }
  .public-footer-grid { grid-template-columns: 1fr; gap: 30px; }
  .public-footer-brand { grid-column: auto; }
  .public-footer-legal { flex-direction: column; }
}

/* Paired-system guardrail for every VORA public route. */
.vora-public .mdc-page {
  --mdc-ink: #10243A;
  --mdc-copy: #52677C;
  --mdc-line: #DDE5EC;
  --mdc-navy: #10243A;
  --mdc-blue: #0F766E;
  --mdc-teal: #0F766E;
  --mdc-amber: #C58A48;
  --mdc-slate: #65758A;
  background: #F4F7FA;
}
.vora-public .mdc-primary-action,
.vora-public .amp-button { border-color: #0F766E; background: #0F766E; }
.vora-public .mdc-primary-action:hover,
.vora-public .amp-button:hover { border-color: #0A514C; background: #0A514C; }
.vora-public .amp-button.secondary { color: #10243A; background: #FFFFFF; border-color: #DDE5EC; }
.vora-public .amp-button.secondary:hover { color: #0A514C; background: #E8F5F2; border-color: #0F766E; }
.vora-public .mdc-segments button.active,
.vora-public .amp-segments button.active,
.vora-public .amp-chart-modes button.active { color: #0A514C; background: #FFFFFF; border-color: #0F766E; }

.vora-public .vre-search-panel,
.vora-public .vre-idx-ready,
.vora-public .vre-inquiry,
.vora-public .vre-legal-copy,
.vora-public .vre-guide-grid,
.vora-public .vre-guide-library article { color: #10243A; border-color: #DDE5EC; }
.vora-public .vre-search-panel label,
.vora-public .vre-inquiry label { color: #10243A; }
.vora-public .vre-search-panel input,
.vora-public .vre-search-panel select,
.vora-public .vre-inquiry input,
.vora-public .vre-inquiry select,
.vora-public .vre-inquiry textarea { color: #10243A; border-color: #DDE5EC; background: #FFFFFF; }
.vora-public .vre-search-panel input:focus,
.vora-public .vre-search-panel select:focus,
.vora-public .vre-inquiry input:focus,
.vora-public .vre-inquiry select:focus,
.vora-public .vre-inquiry textarea:focus { border-color: #0F766E; box-shadow: 0 1px 0 #0F766E; }
.vora-public .vre-eyebrow.dark,
.vora-public .vre-arrow-link,
.vora-public .vre-guide-actions .vre-arrow-button { color: #0A514C; }
.vora-public .vre-guide-library aside { border-color: #C58A48; }
.vora-public .vre-guide-cta { background: #E8F5F2; }

.vora-public .vre-area-list,
.vora-public .vre-finance-band,
.vora-public .vre-affordability-result {
  color: #10243A;
  background: #E8F5F2;
  border-color: #CFE9E5;
}
.vora-public .vre-area-list :is(span, strong),
.vora-public .vre-finance-band :is(h2, p, a),
.vora-public .vre-affordability-result :is(span, strong, small) { color: #10243A; }

.vora-public .public-footer-brand img { filter: none; }
