/* ============================================
   Homepage V4. Loads after style.css and v2.css.
   V2's layout re-grounded in V3's cream; navy kept for the
   ticker, press band and closing form so the CTAs still punch.
   ============================================ */
:root { --ivory: #faf7f1; --ivory-2: #f3ede2; --sand: #e7dccb; }

main { background: var(--ivory); }
main h2 { color: var(--navy); }

/* ---------- Hero: cream copy panel beside the photo ---------- */
.v2-hero { margin-top: 0; min-height: max(640px, calc(100vh - var(--header-h) - 40px)); background: var(--ivory); }
.v2-hero-copy {
  padding-top: 90px; padding-bottom: 120px;
  background:
    linear-gradient(90deg, rgba(207, 148, 85, .12) 1px, transparent 1px) 0 0 / 80px 80px,
    radial-gradient(900px 500px at 0% 0%, var(--ivory-2), transparent 70%),
    var(--ivory);
}
.v2-h1 { color: var(--gold-dark); }
.v2-title { color: var(--navy); }
.v2-tag { color: var(--gold-dark); }
.v2-lede { color: var(--text); }
.v2-phone-link { color: var(--navy); }
.v2-phone-link small { color: var(--gold-dark); }
.v2-phone-link:hover { color: var(--gold-dark); }
.v2-counter { color: var(--navy); }
.v2-count-bar { background: rgba(40, 46, 63, .18); }
.v2-hero-media::after { background: linear-gradient(90deg, rgba(250, 247, 241, .35), rgba(250, 247, 241, 0) 18%); }
.v2-hero-card { background: var(--ivory); box-shadow: 0 -1px 0 var(--sand); }

/* ---------- Ticker: the first navy band ---------- */
.v2-ticker { background: var(--navy); }
.v2-ticker span::after { background: var(--gold); }

/* ---------- Cream sections ---------- */
.v2-intro { background-color: var(--ivory); }
.v2-practice { background: var(--ivory-2); }
.v2-accordion { background: var(--navy); }
.v2-panel-shade { background: linear-gradient(0deg, rgba(21, 25, 37, .9) 0%, rgba(21, 25, 37, .3) 55%, rgba(21, 25, 37, .1) 100%); }
.v2-services { background: var(--ivory); }
.v2-index-item { border-bottom-color: var(--sand); }
.v2-estate { background: var(--ivory-2); }
.v2-county { background: #fff; }
.v2-county-num { color: var(--ivory-2); }
.v2-voices { background: var(--ivory); }
.v2-quote-card { background: #fff; box-shadow: 0 0 0 1px var(--sand); }
.v2-scroll-btns button { background: transparent; border-color: var(--sand); }
.v2-process { background: var(--ivory-2); }
.v2-steps, .v2-step + .v2-step { border-color: var(--sand); }
.v2-faq { background: var(--ivory); }
.v2-faq .faq-item { box-shadow: 0 0 0 1px var(--sand); }

/* ---------- David: light editorial spread ---------- */
.v2-david { background: var(--ivory-2); color: var(--text); }
.v2-david-media::after { background: linear-gradient(90deg, var(--ivory-2) 0%, rgba(243, 237, 226, .55) 22%, rgba(243, 237, 226, 0) 50%); }
.v2-david .eyebrow { color: var(--gold-dark) !important; }
.v2-quote { color: var(--navy); }
.v2-creds li { color: var(--heading); }
.v2-david .btn-ghost { color: var(--navy); box-shadow: inset 0 0 0 1px var(--navy); }
.v2-david-sign img { filter: brightness(0); opacity: .82; }
.v2-david .btn-ghost:hover { background: var(--navy); color: #fff; }

/* ---------- Press: navy band, logos light up in turn ---------- */
.v2-press::before { background: linear-gradient(180deg, rgba(29, 34, 48, .94), rgba(40, 46, 63, .88)); }

/* ---------- Closing form keeps the navy ---------- */
.v2-form { box-shadow: 0 30px 60px -30px rgba(0, 0, 0, .55); }

@media (max-width: 1023px) {
  .v2-hero-copy { padding: 54px 24px 100px; }
  .v2-hero-media::after { background: none; }
  .v2-david-media::after { background: linear-gradient(0deg, var(--ivory-2) 0%, rgba(243, 237, 226, 0) 45%); }
}

/* Four estate planning counties on the live homepage */
.v2-county-grid:has(> :nth-child(4)) { grid-template-columns: repeat(4, 1fr); gap: 20px; }
.v2-county-grid:has(> :nth-child(4)) .v2-county { padding: 34px 26px 28px; }
@media (max-width: 1179px) { .v2-county-grid:has(> :nth-child(4)) { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 767px) { .v2-county-grid:has(> :nth-child(4)) { grid-template-columns: 1fr; } }
