:root {
  --ink: #090909;
  --muted: #555;
  --paper: #f3f3ee;
  --white: #fff;
  --accent: #d2dc00;
  --accent-soft: #f2f5b8;
  --line: rgba(9, 9, 9, .14);
  --shadow: 0 20px 55px rgba(0, 0, 0, .12);
  --radius: 14px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: Arial, Helvetica, sans-serif; line-height: 1.55; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
.section { width: min(1180px, calc(100% - 48px)); margin-inline: auto; }
.site-header { position: fixed; z-index: 50; top: 14px; left: 50%; width: min(1180px, calc(100% - 30px)); transform: translateX(-50%); display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 10px 12px 10px 18px; border: 1px solid rgba(9,9,9,.08); border-radius: 12px; background: rgba(255,255,255,.94); box-shadow: 0 12px 40px rgba(0,0,0,.08); backdrop-filter: blur(18px); }
.brand { display: inline-flex; align-items: center; gap: 10px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.brand-logo { display: block; width: 96px; height: 52px; flex: 0 0 96px; background: center / contain no-repeat url("data:image/png;base64,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"); }
.brand-label { padding-left: 10px; border-left: 1px solid var(--line); color: #777; font-size: 12px; }
.main-nav { display: flex; align-items: center; gap: 26px; color: var(--muted); font-size: 14px; font-weight: 700; }
.nav-cta { padding: 10px 17px; border-radius: 7px; color: var(--ink) !important; background: var(--accent); }
.menu-toggle { display: none; }
.hero { padding: 150px 0 100px; background: linear-gradient(115deg, transparent 0 66%, rgba(210,220,0,.9) 66% 100%), var(--paper); }
.hero-grid, .mortgage-grid, .contact-grid { display: grid; grid-template-columns: 1fr .8fr; gap: 70px; align-items: center; }
.eyebrow, .section-kicker { display: inline-flex; align-items: center; gap: 9px; font-size: 12px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.eyebrow::before, .section-kicker::before { content: ""; width: 9px; height: 9px; border-radius: 50%; background: var(--accent); }
h1, h2, h3 { margin: 0; line-height: 1.08; }
h1 { margin-top: 22px; font-size: clamp(52px, 7vw, 92px); letter-spacing: -.06em; }
h2 { font-size: clamp(36px, 5vw, 64px); letter-spacing: -.05em; }
h3 { font-size: 25px; letter-spacing: -.03em; }
p { color: var(--muted); }
.hero-copy p, .intro p, .service-heading p, .mortgage-grid p, .contact-grid p { font-size: 18px; }
.hero-actions { display: flex; gap: 16px; flex-wrap: wrap; margin-top: 34px; }
.button { display: inline-flex; align-items: center; justify-content: center; border: 0; border-radius: 7px; padding: 14px 22px; cursor: pointer; font-weight: 800; }
.button-primary { color: var(--ink); background: var(--accent); }
.button-dark { color: var(--white); background: var(--ink); }
.button-ghost { border: 1px solid var(--line); background: white; }
.button:disabled { cursor: not-allowed; opacity: .55; }
.panel-card, .audience-card, .insurance-grid article, .mortgage-steps article, .values-grid article { border: 1px solid var(--line); border-radius: var(--radius); background: white; box-shadow: var(--shadow); }
.hero-panel { display: grid; gap: 14px; }
.panel-card { padding: 28px; }
.panel-card.featured { color: white; background: var(--ink); }
.panel-card.featured p, .audience-card.dark p, .audience-card.dark li, .insurance-section p, .contact-grid p { color: #bdbdbd; }
.panel-card span, .card-badge, .insurance-grid span, .mortgage-steps span, .values-grid span { color: var(--accent); font-weight: 900; }
.intro, .service-section, .values, .contact-section { padding: 100px 0; }
.intro h2, .service-heading h2, .values h2 { max-width: 920px; margin: 16px 0; }
.service-heading { margin-bottom: 42px; }
.audience-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.audience-card { padding: 36px; }
.audience-card.dark { color: white; background: var(--ink); }
.audience-card ul { padding-left: 20px; }
.card-badge { display: inline-block; margin-bottom: 20px; letter-spacing: .12em; text-transform: uppercase; }
.insurance-section { color: white; background: var(--ink); }
.insurance-section .section-kicker, .insurance-section h2 { color: white; }
.insurance-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.insurance-grid article { min-height: 170px; padding: 24px; color: white; background: rgba(255,255,255,.055); box-shadow: none; }
.insurance-grid p { font-size: 13px; }
.mortgage-section { background: var(--accent); }
.mortgage-grid .section-kicker::before { background: var(--ink); }
.mortgage-steps { display: grid; gap: 14px; }
.mortgage-steps article { padding: 22px; box-shadow: none; }
.values-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 32px; }
.values-grid article { padding: 28px; box-shadow: none; }
.contact-section { padding: 108px 0; color: white; background: var(--ink); }
.contact-layout { display: grid; grid-template-columns: minmax(300px, .58fr) minmax(0, 1.42fr); gap: 54px; align-items: start; }
.contact-copy .eyebrow, .contact-copy p { color: #d6d0c7; }
.contact-copy h2 { margin-top: 18px; }
.contact-options { display: grid; grid-template-columns: minmax(260px, .82fr) minmax(0, 1.18fr); gap: 18px; }
.contact-card { display: grid; align-content: start; gap: 18px; min-height: 250px; min-width: 0; overflow: hidden; padding: 28px; border: 2px solid rgba(255,255,255,.18); border-radius: var(--radius); color: white; background: rgba(255,255,255,.08); box-shadow: 0 14px 35px rgba(0,0,0,.12); transition: transform .18s ease, background .18s ease, border-color .18s ease; }
.contact-card:hover { transform: translateY(-3px); border-color: rgba(210,220,0,.8); background: rgba(255,255,255,.13); }
.contact-card span { color: var(--accent); font-size: 12px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.contact-card strong { display: block; color: white; font-size: clamp(30px, 3.05vw, 43px); line-height: 1.04; letter-spacing: -.04em; overflow-wrap: anywhere; }
.contact-card p { margin: 0; color: #d6d0c7; font-size: 17px; line-height: 1.48; }
.contact-card.contact-email strong { font-size: clamp(22px, 1.72vw, 27px); white-space: nowrap; letter-spacing: -.06em; overflow-wrap: normal; }
.site-footer { display: grid; gap: 18px; padding: 30px max(24px, calc((100vw - 1180px) / 2)); color: #929292; background: #000; font-size: 10px; }
.footer-main, .footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.footer-main { padding-bottom: 18px; border-bottom: 1px solid rgba(255,255,255,.08); }
.footer-main { justify-content: center; text-align: center; }
.footer-main p { margin: 0; font-size: 12px; color: #929292; letter-spacing: .04em; }
.footer-main strong { color: white; }
.zaask-link { display: inline-flex; align-items: center; justify-content: center; padding: 0; border: 0; background: transparent; line-height: 0; opacity: .95; transition: opacity .2s ease, transform .2s ease; }
.zaask-link:hover { opacity: 1; transform: translateY(-1px); }
.zaask-link img { display: block; width: 200px; max-width: 100%; height: auto; border: 0; border-radius: 0; transform: none; }
.footer-links { display: flex; gap: 18px; }
.legal-header { padding: 150px max(24px, calc((100vw - 1180px) / 2)) 70px; background: var(--paper); }
.legal-content { display: grid; grid-template-columns: 280px 1fr; gap: 70px; padding: 80px 0 110px; }
.legal-aside { position: sticky; top: 110px; align-self: start; padding: 22px; border: 1px solid var(--line); border-radius: var(--radius); background: white; }
.legal-aside a { display: block; padding: 9px 0; border-bottom: 1px solid var(--line); color: var(--muted); font-size: 13px; font-weight: 800; }
.legal-article { display: grid; gap: 34px; }
.legal-article section { padding-bottom: 28px; border-bottom: 1px solid var(--line); }
.legal-placeholder { display: inline-block; padding: 2px 7px; border-radius: 4px; color: var(--ink); background: var(--accent-soft); font-weight: 800; }
.legal-note { padding: 18px; border-left: 4px solid var(--accent); background: white; }
.legal-mini-footer { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 28px max(24px, calc((100vw - 1180px) / 2)); color: #929292; background: #000; font-size: 12px; }
.legal-mini-footer nav { display: flex; gap: 18px; }
@media (max-width: 1240px) {
  .contact-layout { grid-template-columns: 1fr; }
  .contact-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .contact-card.contact-email strong { font-size: clamp(22px, 2.7vw, 29px); white-space: normal; overflow-wrap: anywhere; }
}
@media (max-width: 900px) {
  .main-nav { position: absolute; top: 68px; left: 0; right: 0; display: none; padding: 14px; border-radius: 12px; background: white; box-shadow: var(--shadow); }
  .main-nav.open { display: grid; }
  .menu-toggle { display: grid; gap: 5px; border: 0; padding: 10px; background: transparent; }
  .menu-toggle span:not(.sr-only) { display: block; width: 22px; height: 2px; background: var(--ink); }
  .brand-label { display: none; }
  .hero-grid, .audience-grid, .mortgage-grid, .contact-layout, .legal-content { grid-template-columns: 1fr; }
  .insurance-grid, .values-grid, .contact-options { grid-template-columns: 1fr; }
  .contact-section { padding: 76px 0; }
  .contact-card { min-height: auto; padding: 24px; }
  .contact-card.contact-email strong { font-size: clamp(24px, 7vw, 32px); white-space: normal; overflow-wrap: anywhere; }
  .footer-main, .footer-bottom, .legal-mini-footer, .legal-mini-footer nav { flex-direction: column; text-align: center; }
}
