/* Pixel-level refinements from the supplied design review. */
/* Shared white navigation: calm, editorial, and consistent across every page. */
.site-header {
  height: 90px;
  color: #071b38;
  background: rgba(255, 255, 255, .98);
  border-bottom: 1px solid #e7e1da;
  box-shadow: 0 3px 14px rgba(4, 21, 43, .06);
}

.site-header .header-inner {
  max-width: 1540px;
}

.site-header .brand {
  color: #061a3a;
  display: flex;
  align-items: center;
  min-width: 194px;
  width: 194px;
  height: 63px;
  background: url("public/assets/albert-broker-logo.png") left center / contain no-repeat;
}

/* Approved raster logo supplied by Albert — preserved as an image, not redrawn. */
.site-header .brand-logo {
  display: none;
}

.site-header .brand > .brand-mark,
.site-header .brand > .brand-copy { display: none; }

.site-header .brand-mark {
  color: #08234d;
  border-left-color: #08234d;
  border-right-color: #c87b18;
}

.site-header .brand-mark .roof {
  border-left-color: #c9821d;
  border-top-color: #c9821d;
}

.site-header .brand-copy strong {
  color: #061a3a;
}

.site-header .brand-copy em,
.site-header .brand-copy small {
  color: #b96b14;
}

.site-header .brand-copy small {
  color: #17385f;
}

.site-header nav a {
  color: #0b2342;
}

.site-header nav a:hover,
.site-header nav .is-current {
  color: #bd6c15;
}

.site-header .header-right nav > a:not(.nav-phone) {
  position: relative;
}

.site-header .header-right nav > a.is-current::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -13px;
  left: 0;
  height: 2px;
  background: #c97813;
  border-radius: 2px;
}

.site-header .header-right nav .nav-phone,
.site-header nav .nav-phone {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 48px;
  padding: 0 16px;
  color: #fff;
  background: linear-gradient(105deg, rgba(177, 96, 14, .98), rgba(220, 143, 31, .99));
  border: 1px solid rgba(250, 203, 137, .72);
  border-radius: 11px;
  box-shadow: inset 0 1px 0 rgba(255, 239, 204, .42), inset 0 -9px 14px rgba(88, 42, 1, .23), 0 8px 16px rgba(0, 7, 18, .16);
  line-height: 1;
  white-space: nowrap;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .015em;
  overflow: hidden;
}

.site-header .header-right nav .nav-phone::before,
.site-header nav .nav-phone::before {
  content: "";
  position: absolute;
  top: 1px;
  right: 1px;
  left: 1px;
  height: 10px;
  background: linear-gradient(180deg, rgba(255, 239, 207, .18), transparent);
  border-radius: 9px 9px 0 0;
  pointer-events: none;
}

.site-header .header-right nav .nav-phone > *,
.site-header nav .nav-phone > * {
  position: relative;
  z-index: 1;
}

.site-header .header-right nav .nav-phone .lucide,
.site-header nav .nav-phone .lucide {
  width: 19px;
  height: 19px;
  flex: 0 0 auto;
  stroke-width: 2;
}

.site-header .header-right nav .nav-phone:hover,
.site-header nav .nav-phone:hover {
  color: #fff;
  filter: brightness(1.06);
}

@media (max-width: 900px) {
  .site-header .brand { min-width: 0; width: 166px; height: 54px; }
}

@media (max-width: 520px) {
  .site-header .brand { width: 140px; height: 47px; }
}

.expect-grid {
  max-width: 980px;
}

.expect-grid article {
  padding-inline: 12px;
}

.expect h3 {
  white-space: nowrap;
}

.icon-disc svg {
  width: 40px;
  height: 40px;
  stroke-width: 1.35;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.choice-icon svg {
  width: 32px;
  height: 32px;
  stroke-width: 1.65;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.choice-icon.gold {
  box-shadow: 0 0 0 8px rgba(198, 117, 24, .08), 0 5px 18px rgba(185, 105, 18, .27);
}

.choice-card .button {
  position: relative;
  justify-content: center;
}

.choice-card .button span {
  position: absolute;
  right: 18px;
  margin-left: 0;
  font-size: 24px;
  line-height: 0;
}

.contact {
  max-width: 892px;
}

/* Existing Lucide and Font Awesome treatments. */
.trust-bar .lucide,
.button .lucide,
.security .lucide,
.choice-card small .lucide,
.form-security .lucide,
.contact li .lucide {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
}

.trust-bar .lucide {
  width: 15px;
  height: 15px;
  color: #c57517;
}

.trust-bar {
  gap: 22px;
}

.trust-bar .header-phone {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 34px;
  padding: 4px 12px;
  color: #fff;
  border: 1px solid #c97813;
  border-radius: 5px;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: .15px;
  line-height: 1;
  text-decoration: none;
  transition: background-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.trust-bar .header-phone:hover {
  background: #c97813;
  color: #001025;
  transform: translateY(-1px);
}

.trust-bar .header-phone .lucide {
  width: 18px;
  height: 18px;
  color: #d98b29;
}

.trust-bar .header-phone:hover .lucide {
  color: #001025;
}

@media (min-width: 901px) {
  .site-header {
    height: 85px;
  }

  .header-right {
    flex: 1;
    align-self: center;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-end;
    margin-left: 28px;
  }

  .header-right nav {
    justify-content: flex-end;
    gap: clamp(13px, 1.35vw, 22px);
  }

  .header-right nav .nav-phone {
    padding: 0 15px;
  }
}

@media (min-width: 901px) and (max-width: 1110px) {
  .header-right { margin-left: 18px; }
  .header-right nav { gap: 10px; }
  .site-header nav a { font-size: 9px; }
  .header-right nav .nav-phone { min-height: 44px; padding-inline: 12px; font-size: 11.5px; }
}

/* Direct-call treatment belongs with Albert's portrait, keeping the header focused. */
.hero {
  position: relative;
  overflow: hidden;
  z-index: 1;
}

.expect {
  padding-top: 44px;
}

.hero-photo {
  position: relative;
}

.hero-phone {
  position: absolute;
  left: 116px;
  bottom: 58px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 56px;
  padding: 0 17px;
  color: #fff;
  background: linear-gradient(105deg, rgba(177, 96, 14, .96), rgba(220, 143, 31, .97));
  border: 1px solid rgba(250, 203, 137, .7);
  border-radius: 11px;
  box-shadow: inset 0 1px 0 rgba(255, 239, 204, .42), inset 0 -11px 16px rgba(88, 42, 1, .24), 0 12px 25px rgba(0, 7, 18, .26);
  font: 600 12px/1 "DM Sans", sans-serif;
  letter-spacing: .02em;
  text-decoration: none;
  overflow: hidden;
  transition: transform 180ms ease, filter 180ms ease, box-shadow 180ms ease;
}

.hero-phone::before {
  content: '';
  position: absolute;
  top: 1px;
  right: 1px;
  left: 1px;
  height: 10px;
  background: linear-gradient(180deg, rgba(255, 239, 207, .18), transparent);
  border-radius: 4px 4px 0 0;
  pointer-events: none;
}

.hero-phone > * {
  position: relative;
  z-index: 1;
}

.hero-phone .lucide {
  width: 21px;
  height: 21px;
  flex: 0 0 auto;
  stroke-width: 2;
}

.hero-phone span {
  padding-right: 9px;
  border-right: 1px solid rgba(255, 255, 255, .42);
  text-transform: uppercase;
}

.hero-phone strong {
  font-size: 16px;
  letter-spacing: .03em;
  white-space: nowrap;
}

.hero-phone:hover {
  color: #fff;
  filter: brightness(1.07);
  box-shadow: inset 0 1px 0 rgba(255, 239, 204, .5), inset 0 -11px 16px rgba(88, 42, 1, .2), 0 14px 28px rgba(0, 7, 18, .34);
  transform: translateY(-2px);
}

/* Home hero: editorial financing message paired with Albert and the home scene. */
.home-hero {
  height: 550px;
  grid-template-columns: 1fr;
  background-color: #fff;
  background-image:
    linear-gradient(90deg, rgba(253, 251, 248, .96) 0%, rgba(253, 251, 248, .86) 29%, rgba(253, 251, 248, .38) 46%, rgba(253, 251, 248, 0) 62%),
    url("public/assets/albert-house-full-hero.png");
  background-repeat: no-repeat, no-repeat;
  background-size: cover, 100% auto;
  background-position: center, center top;
}

.home-hero .hero-copy {
  width: min(54%, 670px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 44px 38px 40px max(52px, calc((100vw - 1420px) / 2));
}

.home-hero .hero-copy .eyebrow { margin: 0 0 8px; }

.home-hero .hero-finance {
  margin: 0;
  color: #071329;
  font: 700 clamp(42px, 4.2vw, 67px) / .98 "DM Sans", Arial, sans-serif;
  letter-spacing: -3.25px;
}

.home-hero .hero-finance span { color: #c87916; font-family: inherit; font-size: inherit; }

.hero-subtitle {
  margin: 12px 0 10px;
  color: #172840;
  font-size: clamp(16px, 1.5vw, 21px);
  font-weight: 600;
  line-height: 1.25;
}

/* Let the home message breathe on very wide screens without altering the
   tablet and mobile composition. */
@media (min-width: 1500px) {
  .home-hero .hero-copy {
    width: min(58%, 900px);
  }

  .home-hero .hero-finance,
  .home-hero .hero-finance span,
  .home-hero .hero-subtitle {
    white-space: nowrap;
  }
}

.home-hero .gold-rule.left { width: 42px; margin: 0 0 12px; }

.home-hero .hero-body { max-width: 410px; margin: 0 0 12px; font-size: 13px; line-height: 1.5; }

.hero-credentials {
  display: grid;
  gap: 1px;
  margin: 0 0 15px;
  color: #1a2a40;
  font-size: 10.5px;
  line-height: 1.32;
}

.hero-credentials b { color: #c87916; font: 27px/1 Allura, cursive; }
.hero-credentials span { display: block; }
.home-hero .hero-actions { gap: 14px; }
.home-hero .hero-actions .button { min-height: 48px; }

.home-hero .hero-photo {
  position: absolute;
  inset: 0;
  z-index: 0;
  background: none;
}

.home-hero .hero-phone { right: clamp(34px, 11vw, 170px); left: auto; bottom: 28px; }

/* Replaces the old contact form with Albert's licensed-states panel. */
.licensed-states {
  display: grid;
  grid-template-columns: minmax(250px, .72fr) minmax(430px, 1.28fr);
  align-items: center;
  max-width: 892px;
  min-height: 205px;
  margin: 24px auto 16px;
  overflow: hidden;
  border: 1px solid #e4e0db;
  border-radius: 11px;
  background: linear-gradient(110deg, #fff, #fbfaf8);
  box-shadow: 0 10px 25px rgba(0, 16, 37, .06);
}

.licensed-copy { padding: 31px 21px 31px 38px; }
.licensed-copy .eyebrow { margin: 0 0 7px; font-size: 10px; }
.licensed-copy h2 { margin: 0; color: #071329; font: 500 30px/1.02 "Cormorant Garamond", Georgia, serif; letter-spacing: -1px; }
.licensed-copy .gold-rule { margin: 11px 0; }
.licensed-copy > p:not(.eyebrow) { max-width: 290px; margin: 0 0 17px; color: #27364b; font-size: 12px; line-height: 1.55; }
.licensed-copy .button { min-height: 42px; }
.licensed-map-wrap { align-self: stretch; display: grid; place-items: center; padding: 15px 27px 12px 4px; }
.licensed-map-wrap img { display: block; width: 100%; max-width: 540px; height: auto; mix-blend-mode: multiply; }

.icon-disc .lucide {
  width: 40px;
  height: 40px;
  color: #c2731d;
  stroke-width: 1.5;
}

.choice-icon .lucide {
  width: 32px;
  height: 32px;
  color: #bf6c16;
  stroke-width: 1.75;
}

.choice-icon.gold .lucide {
  color: #fff;
}

.choice-card .button .button-arrow {
  position: absolute;
  right: 18px;
  width: 18px;
  height: 18px;
  margin: 0;
  stroke-width: 2.2;
}

.questions-card .button .lucide {
  width: 17px;
  height: 17px;
  stroke-width: 1.9;
}

.contact li .lucide {
  width: 18px;
  height: 18px;
  color: #be6c17;
}

.security .lucide,
.choice-card small .lucide,
.form-security .lucide {
  width: 14px;
  height: 14px;
}

.select-field {
  position: relative;
}

.select-field select {
  appearance: none;
  padding-right: 35px;
}

.select-field .lucide {
  position: absolute;
  right: 11px;
  top: 50%;
  width: 15px;
  height: 15px;
  color: #697384;
  transform: translateY(-50%);
  pointer-events: none;
  stroke-width: 1.8;
}

.cta-action > small {
  display: block;
  margin-top: 4px;
  font-size: 11px;
}

.cta-action > span {
  margin: 9px 0 2px;
  font-size: 23px;
  line-height: 1;
  white-space: nowrap;
}

.footer-brand .brand-copy small {
  display: block;
  font-size: 5px;
  letter-spacing: .55px;
  margin-top: 2px;
}

/* Complete the Albert monogram with the small lit roof window from the supplied mark. */
.brand-mark .brand-window {
  position: absolute;
  z-index: 2;
  top: 14px;
  left: 21px;
  width: 7px;
  height: 8px;
  border: 1.5px solid #d88729;
  border-radius: 1px;
  box-shadow: inset 0 0 0 1px rgba(255, 205, 125, .16);
}

.brand-mark .brand-window::before {
  content: '';
  position: absolute;
  top: 2px;
  bottom: 2px;
  left: 2px;
  width: 1px;
  background: #d88729;
}

.footer-brand .brand-mark .brand-window {
  top: 10px;
  left: 15px;
  width: 5px;
  height: 6px;
  border-width: 1px;
}

.footer-brand .brand-mark .brand-window::before {
  top: 1px;
  bottom: 1px;
  left: 1px;
}

/* Small type gets a touch more presence without losing the quiet, editorial feel. */
nav a {
  font-size: 11px;
  letter-spacing: .15px;
}

footer {
  font-size: 9.5px;
}

.form-security {
  font-size: 10.5px;
}

.socials a {
  display: grid;
  width: 23px;
  height: 23px;
  place-items: center;
  font-size: 20px;
}

.socials a:last-child {
  border: 0;
  padding: 0;
  font-size: 20px;
}

.socials .fa-linkedin {
  font-size: 21px;
}

/* The footer divider only applies to the metadata separators, never icon glyphs. */
.socials i {
  display: block;
  height: auto;
  margin: 0;
  border: 0;
  vertical-align: initial;
}

/* A single closing panel keeps the final call to action and the legal footer together. */
.site-footer {
  display: block;
  height: auto;
  max-width: 964px;
  margin: 13px auto 0;
  padding: 0;
  overflow: hidden;
  background: linear-gradient(105deg, #001a36, #000a1b);
  border-radius: 8px;
  text-align: initial;
}

.site-footer .bottom-cta {
  max-width: none;
  margin: 0;
  border-radius: 0;
}

.footer-bar {
  display: grid;
  grid-template-columns: 205px minmax(0, 1fr) auto;
  align-items: center;
  min-height: 71px;
  padding: 8px 25px;
  border-top: 1px solid rgba(255, 255, 255, .25);
}

.footer-identity {
  display: flex;
  align-items: center;
  gap: 15px;
}

.site-footer .footer-brand {
  min-width: 0;
}

.site-footer .cta-action {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 10px 24px;
}

.cta-edge-logo {
  width: 118px;
  height: 78px;
  object-fit: contain;
}

.site-footer .cta-action small {
  margin: -4px 0 0;
  font-size: 11px;
}

.footer-legal {
  display: flex;
  justify-content: center;
  gap: 13px;
  color: rgba(255, 255, 255, .86);
  font-size: 9px;
  white-space: nowrap;
}

.footer-legal span + span {
  padding-left: 13px;
  border-left: 1px solid rgba(255, 255, 255, .55);
}

.footer-bar .socials {
  margin-left: 20px;
}

.menu-toggle,
.mobile-nav {
  display: none;
}

.mobile-call {
  display: none;
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Premium motion system. Motion is enabled only after JavaScript confirms it is safe. */
.motion-ready [data-reveal] {
  opacity: 0;
  transform: translate3d(0, 26px, 0) scale(.985);
  transition: opacity 700ms cubic-bezier(.22, 1, .36, 1) var(--reveal-delay, 0ms),
    transform 850ms cubic-bezier(.22, 1, .36, 1) var(--reveal-delay, 0ms);
}

.motion-ready [data-reveal].is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
}

.motion-ready .hero-copy > .eyebrow,
.motion-ready .hero-copy > h1,
.motion-ready .hero-copy > .hero-body,
.motion-ready .hero-copy > .hero-actions,
.motion-ready .hero-copy > .security {
  animation: hero-rise 780ms cubic-bezier(.22, 1, .36, 1) both;
}

.motion-ready .hero-copy > h1 { animation-delay: 90ms; }
.motion-ready .hero-copy > .hero-body { animation-delay: 180ms; }
.motion-ready .hero-copy > .hero-actions { animation-delay: 260ms; }
.motion-ready .hero-copy > .security { animation-delay: 340ms; }

.motion-ready .hero-photo {
  animation: hero-photo-in 1100ms cubic-bezier(.22, 1, .36, 1) both, hero-photo-breathe 9s ease-in-out 1.1s infinite alternate;
}

@keyframes hero-rise {
  from { opacity: 0; transform: translate3d(0, 24px, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}

@keyframes hero-photo-in {
  from { opacity: 0; filter: saturate(.86); }
  to { opacity: 1; filter: saturate(1); }
}

@keyframes hero-photo-breathe {
  from { transform: scale(1.005); }
  to { transform: scale(1.025); }
}

#hero-cycle-word {
  display: inline-block;
  min-width: 2.1ch;
}

.motion-ready #hero-cycle-word::after {
  content: '';
  display: inline-block;
  width: 1.5px;
  height: .82em;
  margin: 0 0 .08em 4px;
  background: #ead2af;
  opacity: .42;
  vertical-align: baseline;
  animation: word-caret 1.45s ease-in-out infinite;
}

@keyframes word-caret {
  50% { opacity: .14; }
}

.motion-ready .expect-grid article:nth-child(odd) .icon-disc {
  animation: icon-drift 4.5s ease-in-out infinite alternate;
}

.motion-ready .expect-grid article:nth-child(even) .icon-disc {
  animation: icon-drift 4.5s ease-in-out .7s infinite alternate-reverse;
}

/* The trust points feel welcoming immediately on page load, rather than waiting for scroll. */
.motion-ready .expect-grid article {
  opacity: 0;
  animation: expect-load-in 720ms cubic-bezier(.22, 1, .36, 1) forwards;
}

.motion-ready .expect-grid article:nth-child(1) { animation-delay: 180ms; }
.motion-ready .expect-grid article:nth-child(2) { animation-delay: 290ms; }
.motion-ready .expect-grid article:nth-child(3) { animation-delay: 400ms; }
.motion-ready .expect-grid article:nth-child(4) { animation-delay: 510ms; }
.motion-ready .expect-grid article:nth-child(5) { animation-delay: 620ms; }

@keyframes expect-load-in {
  from { opacity: 0; transform: translate3d(0, 24px, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}

@keyframes icon-drift {
  to { transform: translateY(-5px); box-shadow: 0 11px 24px rgba(0, 16, 37, .08); }
}

.choice-card,
.contact,
.bottom-cta,
footer {
  transition: box-shadow 350ms ease, transform 350ms cubic-bezier(.22, 1, .36, 1);
}

.choice-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 17px 34px rgba(0, 16, 37, .12);
}

.bottom-cta:hover {
  box-shadow: 0 15px 35px rgba(0, 16, 37, .18);
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }
}

@media (max-width: 900px) {
  .expect {
    padding-top: 36px;
  }

  .site-header {
    height: auto;
    padding: 15px 22px 12px;
    background: #fff;
  }

  .site-header .header-inner {
    min-height: 54px;
    gap: 10px;
  }

  .header-right {
    display: none;
  }

  .mobile-call {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 44px;
    margin-left: auto;
    padding: 0 12px;
    color: #fff;
    background: linear-gradient(105deg, rgba(177, 96, 14, .98), rgba(220, 143, 31, .99));
    border: 1px solid rgba(250, 203, 137, .72);
    border-radius: 11px;
    box-shadow: inset 0 1px 0 rgba(255, 239, 204, .42), inset 0 -8px 13px rgba(88, 42, 1, .23), 0 6px 13px rgba(0, 7, 18, .13);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .01em;
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
  }

  .mobile-call::before {
    content: "";
    position: absolute;
    top: 1px;
    right: 1px;
    left: 1px;
    height: 9px;
    border-radius: 9px 9px 0 0;
    background: linear-gradient(180deg, rgba(255, 239, 207, .18), transparent);
    pointer-events: none;
  }

  .mobile-call > * { position: relative; z-index: 1; }
  .mobile-call .lucide { width: 16px; height: 16px; stroke-width: 2; }

  .menu-toggle {
    display: grid;
    width: 44px;
    height: 44px;
    place-items: center;
    color: #0b2342;
    background: #fff;
    border: 1px solid rgba(190, 108, 21, .8);
    border-radius: 5px;
    cursor: pointer;
  }

  .menu-toggle .lucide {
    width: 22px;
    height: 22px;
    stroke-width: 1.8;
  }

  .mobile-nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-height: 0;
    margin: 0 -22px;
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    border-top: 1px solid transparent;
    transition: max-height 360ms cubic-bezier(.22, 1, .36, 1), opacity 220ms ease, visibility 0s linear 360ms, padding 360ms cubic-bezier(.22, 1, .36, 1);
  }

  .site-header.nav-open .mobile-nav {
    max-height: 330px;
    padding: 10px 22px 18px;
    opacity: 1;
    visibility: visible;
    border-top-color: #ece5dc;
    transition: max-height 360ms cubic-bezier(.22, 1, .36, 1), opacity 220ms ease, padding 360ms cubic-bezier(.22, 1, .36, 1);
  }

  .mobile-nav a {
    padding: 11px 6px;
    color: #0b2342;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .15px;
    line-height: 1.15;
    text-decoration: none;
    text-transform: uppercase;
  }

  .mobile-nav a[aria-current="page"] {
    color: #bd6c15;
  }

  .mobile-nav .nav-phone {
    margin: 5px 0 0 6px;
    padding: 10px 12px;
    color: #fff;
    background: linear-gradient(105deg, rgba(177, 96, 14, .98), rgba(220, 143, 31, .99));
    border: 1px solid rgba(250, 203, 137, .72);
    border-radius: 9px;
    align-self: center;
    justify-self: start;
  }

  .hero-photo {
    background-image: url("public/assets/albert-hero.png");
    background-position: 65% center;
  }

  .hero-phone {
    right: 50%;
    left: auto;
    bottom: -24px;
    min-height: 56px;
    padding-inline: 14px;
    transform: translateX(50%);
  }

  .hero-phone:hover {
    transform: translateX(50%) translateY(-2px);
  }

  .expect-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .expect-grid article {
    border: 0;
  }

  .choice-card {
    height: auto;
    min-height: 290px;
    padding: 20px 40px;
  }

  .site-footer {
    margin-inline: 3%;
  }

  .footer-bar {
    grid-template-columns: 1fr auto;
    gap: 12px;
  }

  .footer-legal {
    grid-column: 1 / -1;
    grid-row: 2;
    justify-content: flex-start;
  }
}

@media (max-width: 600px) {
  .hero-phone {
    width: calc(100% - 32px);
    justify-content: center;
  }

  .hero-phone span {
    display: none;
  }

  .hero-phone strong {
    font-size: 15px;
  }

  .expect {
    padding-inline: 16px;
  }

  .expect-grid {
    grid-template-columns: 1fr;
    max-width: 420px;
    gap: 26px;
  }
  .expect-grid article {
    min-height: 0;
    padding-inline: 0;
  }
  .expect h3 {
    white-space: normal;
  }
  .expect h3 br,
  .expect p br {
    display: none;
  }
  .expect p {
    max-width: 370px;
    margin-inline: auto;
  }

  .site-footer {
    display: block;
    margin: 13px 3% 0;
    padding: 0;
  }

  .site-footer .footer-brand {
    display: flex;
  }

  .footer-bar {
    grid-template-columns: 1fr;
    padding: 16px 20px;
    gap: 14px;
  }

  .footer-identity {
    justify-content: space-between;
  }

  .footer-legal {
    grid-column: auto;
    grid-row: auto;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 7px 10px;
    font-size: 8px;
  }

  .footer-legal span + span {
    padding-left: 10px;
  }

  .footer-bar .socials {
    margin-left: 0;
  }

  .site-footer .cta-action {
    padding-bottom: 18px;
  }
}

/* About Albert: a dedicated editorial page that follows the established navy and gold system. */
.about-page .site-header nav .is-current { color: #e39a3a; }
.about-hero { min-height: 455px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(420px, .92fr); background: #faf9f8; overflow: hidden; }
.about-hero-copy { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding: 62px clamp(44px, 7vw, 130px); }
.about-hero-copy .eyebrow { margin-bottom: 12px; }
.about-hero h1, .story-copy h2, .about-intro h2, .values-heading h2, .about-callout h2 { font: 500 52px/1.02 "Cormorant Garamond", Georgia, serif; letter-spacing: -1.8px; margin: 0; }
.about-hero h1 em, .story-copy h2 em, .about-intro h2 em { color: #bc6a16; font-family: Allura, cursive; font-size: 1.17em; font-style: normal; letter-spacing: 0; }
.about-hero-copy > p:not(.eyebrow) { max-width: 470px; margin: 20px 0 24px; font-size: 15px; line-height: 1.7; }
.about-hero-copy .about-tagline { margin: 18px 0 20px; color: #bc6a16; font: 500 26px/1.28 "Cormorant Garamond", Georgia, serif; }
.about-hero-copy .gold-rule { margin: 0 0 18px; }
.about-hero-photo { min-height: 455px; background: linear-gradient(90deg,#faf9f8 0,rgba(250,249,248,.66) 10%,transparent 35%), url("public/assets/albert-hero.png") 62% top / cover no-repeat; }
.story-section { display: grid; grid-template-columns: minmax(290px, .82fr) minmax(0, 1fr); gap: clamp(40px, 8vw, 130px); align-items: center; max-width: 1020px; margin: 0 auto; padding: 92px 48px; }
.story-portrait { min-height: 520px; border-radius: 8px; background: url("public/assets/albert-family.png") center / cover no-repeat; box-shadow: 0 19px 42px rgba(0,16,37,.14); }
.story-copy { max-width: 520px; }
.story-copy .eyebrow { margin: 0 0 12px; }
.story-copy h2 { font-size: 42px; }
.story-copy .gold-rule { margin-top: 14px; }
.story-copy > p:not(.eyebrow) { font-size: 14px; line-height: 1.72; margin: 0 0 15px; color: #273247; }
.text-link { display: inline-flex; align-items: center; gap: 8px; margin-top: 7px; color: #b96513; font-size: 12px; font-weight: 700; text-decoration: none; text-transform: uppercase; }
.text-link span { color: #071329; }
.text-link .lucide { width: 17px; height: 17px; }
.about-intro { max-width: 830px; margin: 0 auto; padding: 76px 30px; text-align: center; background: transparent; }
.about-intro .eyebrow { margin-bottom: 12px; }
.about-intro h2 { font-size: 42px; }
.about-intro > p { max-width: 640px; margin: 22px auto 0; font-size: 14px; line-height: 1.72; color: #354052; }
.values-section { width: min(1120px, calc(100% - 96px)); max-width: none; box-sizing: border-box; margin: 0 auto 52px; padding: 48px 46px; color: #071329; background: linear-gradient(120deg, #fbfaf8, #f5f2ee); border-radius: 8px; box-shadow: 0 9px 24px rgba(0,16,37,.045); }
.values-heading { text-align: center; }
.values-heading h2 { font-size: 39px; color: #071329; }
.values-heading .gold-rule { margin-top: 10px; background: #d88a28; }
.values-grid { display: grid; width: 100%; grid-template-columns: repeat(4, minmax(0, 1fr)); max-width: none; margin: 34px auto 0; }
.values-grid article { min-width: 0; min-height: 198px; padding: 0 clamp(16px, 2vw, 27px); text-align: center; border-right: 1px solid #ded9d2; }
.values-grid article:last-child { border-right: 0; }
.values-grid .icon-disc { width: 65px; height: 65px; margin-bottom: 13px; background: radial-gradient(circle at 42% 30%, #fff 0, #f1efec 58%, #ece9e5 100%); }
.values-grid .icon-disc .lucide { width: 32px; height: 32px; color: #d98b29; stroke-width: 1.45; }
.values-grid h3 { margin: 0 0 11px; color: #071329; font: 600 17px "Cormorant Garamond", Georgia, serif; text-transform: uppercase; letter-spacing: .35px; }
.values-grid p { margin: 0; color: #243248; font-size: 11px; line-height: 1.55; }
.about-callout { display: grid; grid-template-columns: 1.25fr minmax(220px, .8fr) auto; gap: 35px; align-items: center; max-width: 1020px; margin: 76px auto; padding: 39px 46px; color: #fff; background: linear-gradient(110deg,#001b38,#000a1b); border-radius: 8px; box-shadow: 0 16px 34px rgba(0,16,37,.14); }
.about-callout .eyebrow { margin: 0 0 8px; color: #d98b29; }
.about-callout h2 { font-size: 37px; }
.about-callout > p { margin: 0; font-size: 13px; line-height: 1.6; color: rgba(255,255,255,.84); }
.about-callout .button { white-space: nowrap; }
.about-page .site-footer { margin-top: 0; }
@media (max-width: 900px) { .about-hero { grid-template-columns: 1fr; } .about-hero-photo { grid-row: 1; min-height: 410px; background-image: url("public/assets/albert-hero.png"); background-position: 62% top; } .about-hero-copy { grid-row: 2; padding: 54px 8%; } .story-section { padding: 70px 7%; gap: 48px; } .values-section { width: auto; margin: 0 5% 48px; padding-inline: 5%; } .values-grid { grid-template-columns: repeat(2, 1fr); gap: 32px 0; } .values-grid article:nth-child(2) { border-right: 0; } .about-callout { margin: 60px 5%; grid-template-columns: 1fr; gap: 20px; } }
@media (max-width: 600px) { .about-hero-photo { min-height: 0; aspect-ratio: 1 / 1; background-position: center; background-size: 100% auto; } .about-hero-copy { padding: 46px 7%; } .about-hero h1 { font-size: 43px; } .story-section { grid-template-columns: 1fr; padding: 58px 7%; } .story-portrait { min-height: 365px; background-position: center top; } .story-copy h2, .about-intro h2 { font-size: 37px; } .about-intro { padding: 58px 7%; } .values-section { margin: 0 5% 44px; padding: 56px 7%; } .values-grid { grid-template-columns: 1fr; gap: 32px; } .values-grid article { min-height: 0; padding: 0 10px 30px; border: 0; border-bottom: 1px solid #ded9d2; } .values-grid article:last-child { padding-bottom: 0; border-bottom: 0; } .about-callout { margin: 48px 5%; padding: 34px 27px; } .about-callout h2 { font-size: 34px; } }

/* Buy a Home: mirrors the landing page’s confident editorial tone while making the process easy to scan. */
.buy-page .site-header nav .is-current { color: #e39a3a; }
.buy-hero { display: grid; grid-template-columns: minmax(0, .93fr) minmax(420px, 1.07fr); min-height: 460px; background: #faf9f8; overflow: hidden; }
.buy-hero-copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 54px clamp(40px, 7vw, 125px); }
.crumb { margin: 0 0 17px; color: #626c79; font-size: 10px; font-weight: 600; text-transform: uppercase; }
.crumb span { margin: 0 7px; color: #c57517; }
.buy-hero-copy .eyebrow { margin: 0 0 8px; }
.buy-hero h1, .section-title h2, .buy-choice-grid h2, .buy-tools h2, .buy-next h2 { margin: 0; font: 500 49px/1.03 "Cormorant Garamond", Georgia, serif; letter-spacing: -1.65px; }
.buy-hero h1 em { color: #b96716; font-family: "Cormorant Garamond", Georgia, serif; font-style: normal; font-weight: 500; }
.buy-hero-copy > p:not(.eyebrow):not(.crumb) { max-width: 420px; margin: 18px 0 23px; font-size: 14px; line-height: 1.62; }
.buy-hero-image { min-height: 460px; background: url("public/assets/buy-home-keys.png") center / cover no-repeat; }
.buy-choice-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; max-width: 1040px; margin: -34px auto 0; padding: 0 30px; position: relative; z-index: 2; }
.buy-choice-grid article { padding: 26px 28px 24px; text-align: center; background: #fff; border: 1px solid #ece7e0; border-radius: 8px; box-shadow: 0 12px 24px rgba(0,16,37,.08); }
.buy-choice-grid .icon-disc { width: 58px; height: 58px; margin-bottom: 13px; }
.buy-choice-grid .icon-disc .lucide { width: 29px; height: 29px; }
.buy-choice-grid h2 { font-size: 22px; letter-spacing: -.7px; }
.buy-choice-grid p { min-height: 37px; margin: 10px 0 18px; font-size: 11px; line-height: 1.5; color: #475365; }
.buy-choice-grid .button { min-height: 38px; padding: 0 14px; font-size: 10px; }
.buy-choice-grid .button .lucide { width: 15px; height: 15px; }
.journey-section, .loan-section { padding: 78px 5% 24px; }
.section-title { text-align: center; }
.section-title .eyebrow { margin: 0 0 4px; font-size: 10px; }
.section-title h2 { font-size: 35px; }
.section-title .gold-rule { margin-top: 11px; }
.journey-grid { display: grid; grid-template-columns: repeat(5, 1fr); max-width: 1060px; margin: 35px auto 0; }
.journey-grid article { position: relative; padding: 0 20px; text-align: center; }
.journey-grid article:not(:last-child)::after { content: '→'; position: absolute; top: 42px; right: -8px; color: #ce7d25; font-size: 21px; }
.journey-grid article > span { position: absolute; top: -7px; left: calc(50% - 22px); z-index: 1; display: grid; width: 17px; height: 17px; place-items: center; border-radius: 50%; color: #fff; background: #001025; font-size: 9px; font-weight: 700; }
.journey-grid .icon-disc { width: 67px; height: 67px; }
.journey-grid .icon-disc .lucide { width: 30px; height: 30px; }
.journey-grid h3, .loan-grid h3 { margin: 12px 0 6px; font: 600 15px "Cormorant Garamond", Georgia, serif; }
.journey-grid p, .loan-grid p { margin: 0; color: #465264; font-size: 10.5px; line-height: 1.48; }
.loan-section { padding-top: 63px; }
.loan-grid { display: grid; grid-template-columns: repeat(6, 1fr); max-width: 1060px; margin: 32px auto 0; padding: 26px 14px; background: #fff; border-radius: 8px; box-shadow: 0 8px 21px rgba(0,16,37,.06); }
.loan-grid article { padding: 0 15px; text-align: center; border-right: 1px solid #ebe7e1; }
.loan-grid article:last-child { border-right: 0; }
.loan-grid article > .lucide { width: 28px; height: 28px; color: #bf6c16; stroke-width: 1.5; }
.loan-grid h3 { min-height: 35px; margin-top: 10px; }
.buy-tools { display: grid; grid-template-columns: .95fr 1.05fr; gap: 18px; max-width: 1040px; margin: 52px auto 0; padding: 0 30px; }
.buy-tools article { padding: 30px 31px; border-radius: 8px; }
.calculator-card { color: #fff; background: radial-gradient(circle at 85% 20%, #274d75, #00152e 54%, #000b1a); }
.buy-tools .eyebrow { margin: 0 0 7px; font-size: 10px; }
.calculator-card .eyebrow { color: #df9431; }
.buy-tools h2 { font-size: 30px; }
.buy-tools p:not(.eyebrow) { max-width: 310px; margin: 12px 0 20px; font-size: 12px; line-height: 1.55; }
.calculator-card .button { min-height: 39px; font-size: 10px; }
.faq-card { border: 1px solid #e9e3dc; background: #fff; }
.faq-card .eyebrow { color: #b96c16; }
.faq-card details { padding: 10px 0; border-top: 1px solid #e7e2dc; }
.faq-card summary { cursor: pointer; color: #1b2b3d; font-size: 11px; font-weight: 600; }
.faq-card details p { margin: 8px 0 0; color: #5e6875; font-size: 11px; }
.buy-next { display: grid; grid-template-columns: 1fr auto auto; gap: 18px; align-items: center; max-width: 1040px; margin: 47px auto 0; padding: 23px 30px; color: #fff; background: linear-gradient(110deg,#001a36,#000a1b); }
.buy-next .eyebrow { margin: 0 0 4px; color: #dc8b2b; font-size: 10px; }
.buy-next h2 { font-size: 26px; }
.buy-next .button { min-height: 42px; white-space: nowrap; font-size: 10px; }
.button-light { color: #001025; background: #fff; }
.buy-page .site-footer { margin-top: 0; border-radius: 0; max-width: 1040px; }
@media (max-width: 900px) { .buy-hero { grid-template-columns: 1fr; } .buy-hero-image { grid-row: 1; min-height: 375px; } .buy-hero-copy { grid-row: 2; padding: 50px 8%; } .buy-choice-grid { grid-template-columns: 1fr; max-width: 570px; margin-top: -22px; } .journey-grid { grid-template-columns: repeat(3, 1fr); gap: 35px 0; } .journey-grid article:nth-child(3)::after { display: none; } .loan-grid { grid-template-columns: repeat(3, 1fr); gap: 28px 0; } .loan-grid article:nth-child(3) { border-right: 0; } .buy-next { margin: 44px 5% 0; grid-template-columns: 1fr auto; } .buy-next > div { grid-column: 1 / -1; } }
@media (max-width: 600px) { .buy-hero-image { min-height: 300px; } .buy-hero-copy { padding: 42px 7%; } .buy-hero h1 { font-size: 42px; } .buy-choice-grid { padding: 0 5%; } .journey-section, .loan-section { padding: 60px 7% 16px; } .section-title h2 { font-size: 31px; } .journey-grid { grid-template-columns: 1fr; gap: 30px; } .journey-grid article { max-width: 340px; margin: 0 auto; } .journey-grid article::after { display: none; } .loan-grid { grid-template-columns: repeat(2, 1fr); } .loan-grid article { padding: 0 10px; } .loan-grid article:nth-child(3) { border-right: 1px solid #ebe7e1; } .loan-grid article:nth-child(even) { border-right: 0; } .buy-tools { grid-template-columns: 1fr; padding: 0 5%; } .buy-next { grid-template-columns: 1fr; padding: 25px; } .buy-next .button { width: 100%; } .buy-page .site-footer { margin-inline: 3%; border-radius: 8px; } }

/* Reviews: social proof gets its own confident, warm, highly scannable page. */
.reviews-page .site-header nav .is-current { color: #e39a3a; }
.reviews-hero { display: grid; grid-template-columns: minmax(0, .93fr) minmax(420px, 1.07fr); min-height: 410px; background: #faf9f8; overflow: hidden; }
.reviews-copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 52px clamp(42px, 7vw, 125px); }
.reviews-copy .eyebrow { margin: 0 0 10px; }
.reviews-hero h1, .review-next h2 { margin: 0; font: 500 50px/1.03 "Cormorant Garamond", Georgia, serif; letter-spacing: -1.7px; }
.reviews-hero h1 em { color: #b96716; font-style: normal; }
.reviews-copy > p:not(.eyebrow) { max-width: 420px; margin: 17px 0 22px; font-size: 14px; line-height: 1.62; }
.reviews-hero-image { min-height: 410px; background: linear-gradient(90deg,#faf9f8 0,rgba(250,249,248,.55) 10%,transparent 36%), url("public/assets/reviews-family.png") center / cover no-repeat; }
.rating-panel { display: grid; grid-template-columns: 1.05fr 1.35fr repeat(3, .82fr); max-width: 1040px; margin: 25px auto 0; padding: 21px 28px; background: #fff; border: 1px solid #ebe7e1; border-radius: 8px; box-shadow: 0 9px 24px rgba(0,16,37,.06); }
.rating-score, .platform-score { display: flex; flex-direction: column; align-items: center; justify-content: center; border-right: 1px solid #e9e4de; }
.rating-score strong { font-size: 44px; line-height: 1; }
.stars, .stars-inline { color: #d17a17; letter-spacing: 2px; }
.stars { display: flex; gap: 2px; margin: 7px 0 9px; }
.stars .lucide { width: 17px; height: 17px; fill: currentColor; stroke-width: 1.3; }
.rating-score small, .platform-score small { color: #485566; font-size: 10px; line-height: 1.5; text-align: center; }
.rating-bars { padding: 0 26px; border-right: 1px solid #e9e4de; }
.rating-bars p { display: grid; grid-template-columns: 42px 1fr 18px; gap: 7px; align-items: center; margin: 0 0 7px; color: #152338; font-size: 10px; font-weight: 600; }
.rating-bars b { height: 5px; overflow: hidden; border-radius: 10px; background: #ecebea; }
.rating-bars b::after { content: ''; display: block; width: var(--score); height: 100%; border-radius: inherit; background: #c57316; }
.rating-bars em { font-style: normal; }
.platform-score { gap: 6px; border-right: 1px solid #e9e4de; }
.platform-score:last-child { border-right: 0; }
.platform-score > i { font-size: 26px; color: #1e6ee8; }
.platform-score:nth-child(4) > i { color: #1f87c8; }.platform-score:nth-child(5) > i { color: #2475db; }
.platform-score b { font-size: 12px; }.platform-score span { font-size: 10px; }
.reviews-list { max-width: 1040px; margin: 23px auto 0; }
.review-filters { display: flex; flex-wrap: wrap; justify-content: center; gap: 9px; margin-bottom: 21px; }
.review-filters button { min-height: 31px; padding: 0 15px; color: #17243a; background: #fff; border: 1px solid #d9dde2; border-radius: 4px; font: 700 10px "DM Sans", sans-serif; text-transform: uppercase; cursor: pointer; }
.review-filters button.active { color: #fff; background: #bd6a14; border-color: #bd6a14; }
.review-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.review-grid article { display: flex; flex-direction: column; min-height: 270px; padding: 18px; background: #fff; border: 1px solid #ebe7e1; border-radius: 8px; box-shadow: 0 7px 18px rgba(0,16,37,.045); }
.review-top { display: flex; align-items: center; justify-content: space-between; gap: 9px; }.review-avatar { display: grid; width: 42px; height: 42px; overflow:hidden; place-items: center; border-radius: 50%; color: #fff; background: linear-gradient(145deg,#163956,#b86a16); font-size: 11px; font-weight: 700; }.review-avatar img{width:100%;height:100%;object-fit:cover;}
.review-grid article[hidden]{display:none;}
.review-top .stars-inline { font-size: 12px; white-space: nowrap; }
.review-grid h2 { margin: 11px 0 9px; color: #071329; font: 600 17px/1.05 "Cormorant Garamond", Georgia, serif; }
.review-grid p { flex: 1; margin: 0 0 12px; color: #344156; font-size: 11px; line-height: 1.55; }
.review-grid b { font-size: 11px; }.review-grid small { margin: 4px 0 8px; color: #647080; font-size: 10px; }
.review-grid em { align-self: flex-start; padding: 4px 10px; color: #bd6a14; background: #faf1e5; border-radius: 20px; font-size: 8px; font-style: normal; font-weight: 700; text-transform: uppercase; }
.platform-strip { max-width: 1040px; margin: 48px auto 0; padding: 26px 30px; text-align: center; border-top: 1px solid #eae4de; border-bottom: 1px solid #eae4de; }.platform-strip > p { margin: 0 0 15px; color: #314158; font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }.platform-strip > div { display: flex; align-items: center; justify-content: space-between; gap: 18px; }.platform-strip span { display: flex; flex-direction: column; align-items: center; gap: 5px; color: #1b4f9e; font-size: 20px; font-weight: 700; }.platform-strip span i { font-size: 26px; }.platform-strip span b { color: #d17a17; font-size: 12px; letter-spacing: 2px; }.platform-strip .lucide { width: 27px; height: 27px; color: #1e8b5d; }
.review-next { display: grid; grid-template-columns: 1fr auto auto; gap: 18px; align-items: center; max-width: 1040px; margin: 38px auto 0; padding: 23px 30px; color: #fff; background: linear-gradient(110deg,#001a36,#000a1b); }.review-next .eyebrow { margin: 0 0 4px; color: #dc8b2b; font-size: 10px; }.review-next h2 { font-size: 26px; }.review-next .button { min-height: 42px; white-space: nowrap; font-size: 10px; }.reviews-page .site-footer { max-width: 1040px; margin-top: 0; border-radius: 0; }
@media (max-width: 900px) { .reviews-hero { grid-template-columns: 1fr; }.reviews-hero-image { grid-row: 1; min-height: 365px; }.reviews-copy { grid-row: 2; padding: 50px 8%; }.rating-panel { grid-template-columns: 1fr 1.4fr 1fr; gap: 20px 0; margin-inline: 5%; }.platform-score:nth-child(3) { border-right: 0; }.platform-score:nth-child(4) { grid-column: 1 / 3; }.reviews-list { margin-inline: 5%; }.review-grid { grid-template-columns: repeat(2, 1fr); }.platform-strip { margin-inline: 5%; }.review-next { margin: 38px 5% 0; grid-template-columns: 1fr auto; }.review-next > div { grid-column: 1 / -1; } }
@media (max-width: 600px) { .reviews-hero-image { min-height: 290px; background-image: url("public/assets/reviews-family.png"); background-position: 63% center; }.reviews-copy { padding: 42px 7%; }.reviews-hero h1 { font-size: 43px; }.rating-panel { grid-template-columns: 1fr; padding: 24px; }.rating-score, .rating-bars, .platform-score { padding: 16px 0; border-right: 0; border-bottom: 1px solid #e9e4de; }.platform-score:nth-child(4) { grid-column: auto; }.platform-score:last-child { border-bottom: 0; }.rating-bars { padding-inline: 0; }.review-grid { grid-template-columns: 1fr; }.review-grid article { min-height: 235px; }.platform-strip > div { flex-wrap: wrap; justify-content: center; }.platform-strip span { min-width: 92px; font-size: 16px; }.review-next { grid-template-columns: 1fr; padding: 25px; }.review-next .button { width: 100%; }.reviews-page .site-footer { margin-inline: 3%; border-radius: 8px; } }

/* Home Equity: usable guidance with a visual system aligned to Albert’s other pages. */
.equity-page .site-header nav .is-current { color: #e39a3a; }.equity-hero { display: grid; grid-template-columns: minmax(0,.93fr) minmax(420px,1.07fr); min-height: 450px; background: #faf9f8; overflow: hidden; }.equity-copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 54px clamp(42px,7vw,125px); }.equity-copy .eyebrow { margin: 0 0 10px; }.equity-hero h1, .equity-why h2, .equity-next h2 { margin: 0; font: 500 49px/1.03 "Cormorant Garamond", Georgia, serif; letter-spacing: -1.65px; }.equity-hero h1 em { color: #b96716; font-style: normal; }.equity-copy > p:not(.eyebrow) { max-width: 450px; margin: 18px 0 22px; font-size: 14px; line-height: 1.65; }.equity-copy > small { margin-top: 15px; color: #657083; font-size: 10px; font-weight: 700; }.equity-hero-image { min-height: 450px; background: linear-gradient(90deg,#faf9f8 0,rgba(250,249,248,.55) 10%,transparent 35%),url("public/assets/home-equity-kitchen.png") center / cover no-repeat; }.equity-reasons { padding: 74px 5% 35px; }.equity-reason-grid { display:grid; grid-template-columns:repeat(4,1fr); max-width:1040px; margin:34px auto 0; }.equity-reason-grid article { padding:0 24px; text-align:center; border-right:1px solid #e5e0d9; }.equity-reason-grid article:last-child { border-right:0; }.equity-reason-grid .icon-disc { width:65px; height:65px; }.equity-reason-grid .icon-disc .lucide { width:31px; height:31px; }.equity-reason-grid h3 { margin:12px 0 8px; font:600 17px "Cormorant Garamond", Georgia, serif; }.equity-reason-grid p { margin:0; color:#425067; font-size:11px; line-height:1.55; }.equity-options { padding:62px 5% 70px; background:linear-gradient(100deg,#f8f6f3,#fcfbfa); }.equity-options .section-title > p:not(.eyebrow) { max-width:620px; margin:18px auto 0; color:#4b5869; font-size:13px; line-height:1.6; }.equity-option-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; max-width:850px; margin:33px auto 0; }.equity-option-grid article { padding:29px 40px; background:#fff; border:1px solid #e8e2db; border-radius:8px; box-shadow:0 8px 21px rgba(0,16,37,.055); }.equity-option-grid h2 { margin:12px 0 2px; font:500 31px "Cormorant Garamond", Georgia,serif; }.equity-option-grid h3 { margin:0 0 15px; color:#bd6a14; font-size:11px; text-transform:uppercase; }.equity-option-grid p { min-height:74px; margin:0; color:#3c4b60; font-size:12px; line-height:1.58; }.equity-option-grid ul { display:grid; gap:8px; padding:18px 0; margin:0; list-style:none; border-top:1px solid #e8e2db; }.equity-option-grid li { display:flex; align-items:center; gap:7px; color:#243349; font-size:11px; }.equity-option-grid li .lucide { width:15px; height:15px; color:#bd6a14; }.equity-option-grid .button .lucide { position:absolute; right:15px; width:17px; height:17px; }.equity-why { padding:68px 5%; }.equity-why-card { display:grid; grid-template-columns:auto 1fr auto; gap:26px; align-items:center; max-width:920px; margin:0 auto; padding:31px 37px; color:#fff; background:linear-gradient(110deg,#001a36,#000a1b); border-radius:8px; }.equity-why-card .choice-icon { flex:0 0 auto; margin:0; }.equity-why-card .eyebrow { margin:0 0 6px; color:#dc8b2b; font-size:10px; }.equity-why-card h2 { font-size:34px; }.equity-why-card p:not(.eyebrow) { max-width:470px; margin:8px 0 0; color:rgba(255,255,255,.85); font-size:12px; line-height:1.6; }.equity-why-card .button { white-space:nowrap; }.equity-next { display:grid; grid-template-columns:1fr auto auto; gap:18px; align-items:center; max-width:1040px; margin:0 auto; padding:23px 30px; color:#fff; background:linear-gradient(110deg,#001a36,#000a1b); }.equity-next .eyebrow { margin:0 0 4px; color:#dc8b2b; font-size:10px; }.equity-next h2 { font-size:26px; }.equity-next .button { min-height:42px; white-space:nowrap; font-size:10px; }.equity-page .site-footer { max-width:1040px; margin-top:0; border-radius:0; }
@media(max-width:900px){.equity-hero{grid-template-columns:1fr}.equity-hero-image{grid-row:1;min-height:365px}.equity-copy{grid-row:2;padding:50px 8%}.equity-reason-grid{grid-template-columns:repeat(2,1fr);gap:35px 0}.equity-reason-grid article:nth-child(2){border-right:0}.equity-option-grid{margin-inline:5%}.equity-why-card{grid-template-columns:auto 1fr}.equity-why-card .button{grid-column:1/-1}.equity-next{margin:0 5%;grid-template-columns:1fr auto}.equity-next>div{grid-column:1/-1}}@media(max-width:600px){.equity-hero-image{min-height:300px;background-image:url("public/assets/home-equity-kitchen.png");background-position:65% center}.equity-copy{padding:42px 7%}.equity-hero h1{font-size:42px}.equity-reasons{padding:58px 7%}.equity-reason-grid{grid-template-columns:1fr;gap:30px}.equity-reason-grid article{padding:0 10px;border:0}.equity-options{padding:55px 5%}.equity-option-grid{grid-template-columns:1fr;margin-inline:0}.equity-option-grid article{padding:28px}.equity-why{padding:50px 5%}.equity-why-card{grid-template-columns:1fr;padding:30px}.equity-why-card .choice-icon{margin:0}.equity-next{grid-template-columns:1fr;padding:25px}.equity-next .button{width:100%}.equity-page .site-footer{margin-inline:3%;border-radius:8px}}

/* Refinance page */
.refinance-page .site-header nav .is-current { color:#e39a3a; }
.refi-hero { min-height:504px; display:flex; align-items:center; justify-content:center; padding:72px 5%; background:linear-gradient(rgba(0,18,38,.35),rgba(0,18,38,.48)),url("public/assets/home-evening.png") center / cover no-repeat; }
.refi-panel { width:min(950px,100%); padding:45px 58px; text-align:center; color:#fff; background:rgba(0,11,26,.93); border:1px solid rgba(228,151,48,.28); border-radius:10px; box-shadow:0 20px 50px rgba(0,0,0,.22); }
.refi-panel .eyebrow { margin:0 0 9px; color:#e7a043; }
.refi-panel h1,.refi-process h2,.refi-checklist h2 { margin:0; font:500 49px/1.03 "Cormorant Garamond",Georgia,serif; letter-spacing:-1.5px; }
.refi-panel h1 em { color:#e39a3a; font-style:normal; }
.refi-panel > p:not(.eyebrow) { max-width:650px; margin:18px auto 24px; color:rgba(255,255,255,.89); font-size:14px; line-height:1.65; }
.refi-panel .hero-actions { justify-content:center; }
.refi-panel > small { display:block; margin-top:15px; color:rgba(255,255,255,.67); font-size:10px; font-weight:700; }
.refi-paths { padding:75px 5% 68px; }
.refi-path-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; max-width:1040px; margin:38px auto 0; }
.refi-path-grid article { display:flex; flex-direction:column; align-items:center; padding:32px 30px 28px; text-align:center; background:#fff; border:1px solid #e8e2dc; border-radius:9px; box-shadow:0 10px 26px rgba(0,15,34,.065); }
.refi-path-grid .icon-disc { width:66px; height:66px; }
.refi-path-grid .icon-disc .lucide { width:29px; height:29px; }
.refi-path-grid h3 { margin:15px 0 4px; color:#18253a; font:500 25px "Cormorant Garamond",Georgia,serif; }
.refi-path-grid b { color:#bd6a14; font-size:11px; letter-spacing:.04em; text-transform:uppercase; }
.refi-path-grid p { min-height:78px; margin:15px 0 22px; color:#435066; font-size:12px; line-height:1.6; }
.refi-path-grid .button { margin-top:auto; font-size:10px; }
.refi-path-grid .button .lucide { width:15px; margin-left:8px; }
.refi-process { padding:0 5% 67px; }
.refi-process-card { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:27px; max-width:970px; margin:0 auto; padding:33px 40px; color:#fff; background:linear-gradient(110deg,#001a36,#000a1b); border-radius:9px; }
.refi-process-card .choice-icon { margin:0; }
.refi-process-card .eyebrow { margin:0 0 7px; color:#dd9134; font-size:10px; }
.refi-process-card h2 { font-size:35px; }
.refi-process-card p:not(.eyebrow) { max-width:530px; margin:9px 0 0; color:rgba(255,255,255,.84); font-size:12px; line-height:1.65; }
.refi-process-card .button { white-space:nowrap; }
.refi-checklist { padding:67px 5% 75px; background:linear-gradient(100deg,#f8f6f3,#fcfbfa); }
.refi-checklist-grid { display:grid; grid-template-columns:repeat(4,1fr); max-width:1000px; margin:34px auto 0; background:#fff; border:1px solid #e8e2dc; border-radius:9px; box-shadow:0 10px 26px rgba(0,15,34,.05); }
.refi-checklist-grid article { padding:28px 24px; text-align:center; border-right:1px solid #e8e2dc; }
.refi-checklist-grid article:last-child { border-right:0; }
.refi-checklist-grid > article > .lucide { width:30px; height:30px; color:#c87316; stroke-width:1.7; }
.refi-checklist-grid h3 { margin:13px 0 7px; font:500 19px "Cormorant Garamond",Georgia,serif; }
.refi-checklist-grid p { margin:0; color:#475469; font-size:11px; line-height:1.56; }
.refi-next { margin-bottom:0; }
.refinance-page .site-footer { max-width:1040px; margin-top:0; border-radius:0; }
.coming-soon-trigger { position:relative; }
.coming-soon-tip { position:absolute; z-index:20; top:calc(100% + 11px); left:50%; transform:translateX(-50%); padding:8px 11px; color:#fff; background:#10243d; border:1px solid rgba(227,154,58,.75); border-radius:6px; box-shadow:0 8px 20px rgba(0,15,35,.18); font:600 11px "DM Sans",sans-serif; letter-spacing:0; text-transform:none; white-space:nowrap; }
.coming-soon-tip::before { position:absolute; top:-5px; left:50%; width:8px; height:8px; content:""; background:#10243d; border-left:1px solid rgba(227,154,58,.75); border-top:1px solid rgba(227,154,58,.75); transform:translateX(-50%) rotate(45deg); }
@media(max-width:900px){.refi-panel{padding:40px}.refi-path-grid{grid-template-columns:1fr;max-width:520px}.refi-path-grid p{min-height:0}.refi-process-card{grid-template-columns:auto 1fr}.refi-process-card .button{grid-column:1/-1}.refi-checklist-grid{grid-template-columns:repeat(2,1fr)}.refi-checklist-grid article:nth-child(2){border-right:0}.refi-checklist-grid article:nth-child(-n+2){border-bottom:1px solid #e8e2dc}}
@media(max-width:600px){.refi-hero{padding:44px 5%;min-height:460px}.refi-panel{padding:34px 25px}.refi-panel h1,.refi-checklist h2{font-size:42px}.refi-panel .hero-actions{flex-direction:column}.refi-panel .button{width:100%}.refi-paths{padding:55px 5%}.refi-process{padding:0 5% 55px}.refi-process-card{grid-template-columns:1fr;padding:30px}.refi-process-card .choice-icon{margin:0}.refi-process-card .button{width:100%}.refi-checklist{padding:55px 5%}.refi-checklist-grid{grid-template-columns:1fr}.refi-checklist-grid article{border-right:0;border-bottom:1px solid #e8e2dc}.refi-checklist-grid article:last-child{border-bottom:0}.refinance-page .site-footer{margin-inline:3%;border-radius:8px}.coming-soon-tip{top:calc(100% + 8px)}}

@media (max-width: 900px) {
  .home-hero { min-height: 630px; height: auto; grid-template-columns: 1fr; background-position: 62% center; }
  .home-hero .hero-photo { position: absolute; inset: 0; grid-row: auto; min-height: 0; background: none; }
  .home-hero .hero-copy { grid-row: auto; width: min(68%, 540px); padding: 52px 8% 48px; }
  .home-hero .hero-phone { right: 7%; left: auto; bottom: 25px; transform: none; }
  .home-hero .hero-phone:hover { transform: translateY(-2px); }
  .licensed-states { grid-template-columns: .82fr 1.18fr; margin: 28px 5% 20px; }
  .licensed-copy { padding: 30px; }
  .licensed-map-wrap { padding-right: 16px; }
}

@media (max-width: 600px) {
  .home-hero { min-height: 650px; background-position: 68% center; background-image: linear-gradient(180deg, rgba(253,251,248,.96) 0%, rgba(253,251,248,.88) 51%, rgba(253,251,248,.08) 85%), url("public/assets/albert-house-full-hero.png"); }
  .home-hero .hero-photo { min-height: 0; }
  .home-hero .hero-copy { width:100%; padding: 47px 7% 42px; }
  .home-hero .hero-finance { font-size: 46px; letter-spacing: -2.4px; }
  .home-hero .hero-actions { align-items: stretch; }
  .home-hero .hero-actions .button { width: 100%; }
  .home-hero .hero-phone { right: 50%; bottom: 20px; transform: translateX(50%); white-space: nowrap; }
  .hero-credentials { margin-bottom: 17px; }
  .licensed-states { grid-template-columns: 1fr; margin: 32px 5% 24px; }
  .licensed-copy { padding: 34px 28px 16px; }
  .licensed-map-wrap { padding: 4px 16px 25px; }
}

/* Compact screens need their own composition: keeping the copy and the
   portrait separate prevents the phone tab from covering essential content. */
@media (max-width: 760px) {
  .home-hero {
    display: block;
    min-height: 0;
    height: auto;
    background: #fff;
  }

  .home-hero .hero-copy {
    width: 100%;
    padding: 58px 8% 32px;
  }

  .home-hero .hero-finance {
    font-size: clamp(40px, 8.8vw, 48px);
    letter-spacing: -2.6px;
    white-space: nowrap;
  }

  .home-hero .hero-body { max-width: 430px; }

  .home-hero .hero-photo {
    position: relative;
    inset: auto;
    display: block;
    min-height: 286px;
    background:
      linear-gradient(90deg, rgba(253, 251, 248, .24), rgba(253, 251, 248, 0) 48%),
      url("public/assets/albert-house-full-hero.png") 64% center / cover no-repeat;
  }

  .home-hero .hero-phone {
    right: 50%;
    bottom: 17px;
    width: min(88%, 425px);
    transform: translateX(50%);
    justify-content: center;
  }

  .home-hero .hero-phone:hover { transform: translateX(50%) translateY(-2px); }
}

/* The closing legal bar is intentionally white so the supplied Albert, Edge,
   and Equal Housing marks stay crisp and official.  The navy Ready When You
   Are panel above remains the visual close to each page. */
.site-footer {
  background: transparent;
  overflow: visible;
  border-radius: 8px;
}

.site-footer .bottom-cta {
  border-radius: 8px 8px 0 0;
}

.footer-bar {
  grid-template-columns: 174px minmax(178px, .92fr) minmax(0, 1.3fr) 104px;
  min-height: 92px;
  padding: 10px 22px;
  color: #10243d;
  background: #fff;
  border: 1px solid #e7e1d9;
  border-top-color: #e3ddd4;
  border-radius: 0 0 8px 8px;
  box-shadow: 0 10px 24px rgba(7, 19, 41, .06);
}

.footer-identity {
  min-width: 0;
}

.footer-logo {
  display: block;
  width: 138px;
  line-height: 0;
}

.footer-logo img {
  display: block;
  width: 100%;
  height: 50px;
  object-fit: contain;
  object-position: left center;
}

.footer-partners {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-width: 0;
}

.footer-partners::before {
  content: "";
  width: 1px;
  height: 48px;
  background: #e6e0d8;
}

.footer-edge-logo {
  width: 106px;
  height: 54px;
  object-fit: cover;
  object-position: center;
}

.footer-equal-logo {
  width: 44px;
  height: 44px;
  object-fit: contain;
}

.footer-legal {
  justify-content: center;
  min-width: 0;
  gap: 6px 9px;
  color: #52627a;
  font-size: 8.5px;
  white-space: normal;
  flex-wrap: wrap;
}

.footer-legal span + span {
  padding-left: 9px;
  border-left-color: #ddd6ce;
}

.footer-bar .socials {
  margin-left: 0;
  gap: 8px;
  justify-content: flex-end;
}

.footer-bar .socials a {
  width: 29px;
  height: 29px;
  color: #08234d;
  background: #fff;
  border: 1px solid #d9d1c7;
  border-radius: 50%;
  font-size: 16px;
  transition: color .2s ease, background .2s ease, border-color .2s ease, transform .2s ease;
}

.footer-bar .socials a:last-child {
  font-size: 16px;
}

.footer-bar .socials a:hover {
  color: #fff;
  background: #c97714;
  border-color: #c97714;
  transform: translateY(-2px);
}

@media (max-width: 900px) {
  .footer-bar {
    grid-template-columns: minmax(150px, 1fr) minmax(180px, 1fr) auto;
    gap: 12px 18px;
  }

  .footer-legal {
    grid-column: 1 / -1;
    grid-row: 2;
    justify-content: flex-start;
  }
}

@media (max-width: 600px) {
  .footer-bar {
    grid-template-columns: 1fr auto;
    padding: 18px 20px 22px;
    gap: 17px 14px;
  }

  .footer-logo { width: 148px; }
  .footer-logo img { height: 52px; }

  .footer-partners {
    grid-column: 1 / -1;
    grid-row: 2;
    justify-content: flex-start;
  }

  .footer-partners::before { display: none; }
  .footer-edge-logo { width: 120px; height: 56px; }
  .footer-equal-logo { width: 46px; height: 46px; }

  .footer-legal {
    grid-column: 1 / -1;
    grid-row: 3;
    justify-content: flex-start;
    line-height: 1.45;
  }

  .footer-bar .socials {
    align-self: center;
    margin: 0;
  }
}
