/* Ridgewood · Design A · Trusted Neighbor: logo navy + green, warm white, friendly serif. */
:root {
  --ink: #1B2A3F; --slate: #556173; --teal: #294873; --teal-2: #1d3557;
  --mint: #E8EEF5; --mint-2: #D3DEEB; --cream: #F7F5F0; --sun: #3E8E41; --line: #E1E4E8;
  --r: 12px; --r-lg: 18px;
  --shadow: 0 26px 56px -32px rgb(41 72 115 / .45), 0 2px 6px rgb(27 42 63 / .05);
  --serif: 'Newsreader', Georgia, serif; --sans: 'Source Sans 3', system-ui, sans-serif;
}
body { font-size: 17.5px; }
h1, h2, h3, .brand-text b { font-variant-ligatures: no-common-ligatures; }
h1, h2, h3 { font-weight: 600; letter-spacing: -.01em; line-height: 1.08; }
h1 em, h2 em { color: var(--sun); }
.section.dark h2 em { color: #9ed4a0; }
.eyebrow { color: var(--teal); }
.eyebrow .dot { background: var(--sun); box-shadow: 0 0 0 5px rgb(62 142 65 / .2); }
.eyebrow.light { color: #9ed4a0; }
.btn { border-radius: 10px; }
.brand-logo { height: 96px; }
@media (max-width: 620px) { .brand-logo { height: 66px; } }
.topbar { background: var(--teal); color: #d5e0ee; }
.header { background: rgb(247 245 240 / .94); }
.hero { background: radial-gradient(900px 520px at 85% 10%, #e3ebf5, transparent 70%), linear-gradient(180deg, #fbfaf7, #f7f5f0); }
.photo-card { transform: rotate(0); border-radius: 16px; }
.photo-card img { aspect-ratio: 1; }
.float-card { border-top: 4px solid var(--sun); }
.info-list .i { color: var(--sun); }
.strip { background: var(--teal); }
.strip b { color: #fff; }
.ic { background: var(--mint); color: var(--teal); border-radius: 50%; }
.tag { background: #e6f2e6; color: #2d6b30 !important; }
.section.dark { background: #1B2A3F; }
.steps li::before { background: var(--sun); color: #fff; }
.pay-card { background: var(--mint); }
.footer { background: #142033; }

/* Chris's revisions (Oct 30, 2026) */
.hero--split .badge-card { top: -78px; }                 /* NHWA badges sit above the roofline */
.tech { align-items: start; }                            /* left column lines up with the first card */
.tech .section-head.left { padding-top: 0; }
@media (max-width: 960px) { .hero--split .badge-card { width: 100%; margin-top: 14px; } .hero--split .badge-card .badge-pair > img { max-width: 200px; } }
