/* Homepage redesign — light, local, direct. */
:root {
  --farmers-red: #b3212d;
  --farmers-red-dark: #8f1721;
  --navy: #12233f;
  --blue: #174f8f;
  --cream: #f6f1e9;
  --cream-deep: #ebe1d3;
  --paper: #fffdf9;
  --ink: #172033;
  --muted: #5f6673;
  --line: #ded8cf;
  --serif: "Source Serif 4", Georgia, serif;
  --sans: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body.home-v2 { background: var(--paper); color: var(--ink); }
.home-v2 .wrap { max-width: 1220px; }
.skip-link { position:absolute; left:-9999px; top:8px; z-index:100; background:#fff; color:var(--navy); padding:10px 14px; }
.skip-link:focus { left:8px; }

.utility-bar { background: var(--navy); color:#fff; font-size:13px; letter-spacing:.01em; }
.utility-inner { display:flex; justify-content:space-between; align-items:center; min-height:38px; gap:20px; }
.utility-bar a { color:#fff; text-decoration:none; }
.utility-links { display:flex; gap:18px; align-items:center; }
.language-link { font-weight:800; background:rgba(255,255,255,.12); padding:5px 9px; border-radius:999px; }

.home-v2 .site-header { position:sticky; top:0; background:rgba(255,253,249,.96); backdrop-filter:blur(14px); }
.home-v2 .header-inner { min-height:78px; padding:0; }
.brand-lockup { display:flex; align-items:center; gap:12px; color:var(--navy); text-decoration:none; }
.brand-monogram { display:grid; place-items:center; width:44px; height:44px; border:2px solid var(--farmers-red); border-radius:50%; font-weight:900; color:var(--farmers-red); letter-spacing:-.04em; }
.brand-copy { display:flex; flex-direction:column; line-height:1.12; }
.brand-copy strong { font-family:var(--serif); font-size:19px; }
.brand-copy span { color:var(--muted); font-size:11px; margin-top:4px; text-transform:uppercase; letter-spacing:.1em; }
.home-v2 .nav { display:flex; align-items:center; gap:25px; }
.home-v2 .nav a { color:var(--navy); text-decoration:none; font-size:14px; font-weight:700; }
.home-v2 .nav .nav-cta { color:#fff; background:var(--farmers-red); padding:11px 16px; border-radius:6px; }
.home-v2 .nav .nav-cta:hover { background:var(--farmers-red-dark); }

.hero-v2 { overflow:hidden; border-bottom:1px solid var(--line); }
.hero-grid { display:grid; grid-template-columns:minmax(0,1.02fr) minmax(360px,.98fr); min-height:650px; }
.hero-copy { padding:88px 58px 74px max(28px, calc((100vw - 1220px)/2 + 28px)); display:flex; flex-direction:column; justify-content:center; }
.eyebrow { display:flex; align-items:center; gap:12px; color:var(--farmers-red); font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.14em; }
.eyebrow::before { content:""; width:34px; height:2px; background:var(--farmers-red); }
.hero-copy h1 { max-width:720px; margin:25px 0 22px; font-family:var(--serif); font-size:clamp(52px,6.1vw,88px); line-height:.92; letter-spacing:-.045em; color:var(--navy); }
.hero-copy h1 em { color:var(--farmers-red); font-weight:500; }
.hero-copy > p { max-width:610px; color:var(--muted); font-size:19px; line-height:1.65; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:32px; }
.hero-actions .btn { padding:15px 22px; border-radius:6px; font-weight:800; text-decoration:none; }
.btn-solid { background:var(--farmers-red); color:#fff; }
.btn-solid:hover { background:var(--farmers-red-dark); color:#fff; }
.btn-line { border:1px solid var(--navy); color:var(--navy); background:transparent; }
.btn-line:hover { background:var(--navy); color:#fff; }
.hero-note { margin-top:21px; display:flex; gap:9px; align-items:center; color:var(--navy); font-size:13px; font-weight:700; }
.hero-note::before { content:"✓"; display:grid; place-items:center; width:22px; height:22px; border-radius:50%; background:#e7f1e5; color:#2d6e34; }
.hero-visual { position:relative; min-height:650px; background:#d7c6af; }
.hero-visual picture { display:contents; }
.hero-visual img { width:100%; height:100%; object-fit:cover; }
.hero-visual::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(18,35,63,.05),transparent 55%); }
.hero-caption { position:absolute; z-index:2; left:28px; right:28px; bottom:28px; background:rgba(255,253,249,.94); padding:17px 20px; border-left:4px solid var(--farmers-red); box-shadow:0 18px 50px rgba(16,31,56,.16); }
.hero-caption strong { display:block; color:var(--navy); }
.hero-caption span { color:var(--muted); font-size:13px; }

.proof-strip { background:#fff; border-bottom:1px solid var(--line); }
.proof-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.proof-item { padding:24px 28px; border-left:1px solid var(--line); }
.proof-item:last-child { border-right:1px solid var(--line); }
.proof-item strong { display:block; font-family:var(--serif); color:var(--navy); font-size:23px; }
.proof-item span { color:var(--muted); font-size:13px; }

.home-section { padding:100px 0; }
.home-section.cream { background:var(--cream); }
.section-kicker { color:var(--farmers-red); font-size:12px; font-weight:900; text-transform:uppercase; letter-spacing:.15em; }
.section-title { max-width:760px; margin:12px 0 18px; color:var(--navy); font-family:var(--serif); font-size:clamp(38px,4.2vw,62px); line-height:1; letter-spacing:-.035em; }
.section-intro { max-width:720px; color:var(--muted); font-size:18px; }

.coverage-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-top:46px; }
.coverage-card { min-height:275px; padding:27px; display:flex; flex-direction:column; border:1px solid var(--line); background:#fff; color:var(--ink); text-decoration:none; transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease; }
.coverage-card:hover { transform:translateY(-4px); border-color:#c3b9ac; box-shadow:0 18px 45px rgba(18,35,63,.09); color:var(--ink); }
.coverage-num { color:var(--farmers-red); font:700 12px/1 var(--sans); letter-spacing:.12em; }
.coverage-card h3 { margin-top:auto; color:var(--navy); font-family:var(--serif); font-size:30px; }
.coverage-card p { margin-top:9px; color:var(--muted); font-size:14px; }
.coverage-arrow { margin-top:22px; color:var(--farmers-red); font-weight:900; }

.promise-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:80px; align-items:start; }
.promise-card { padding:34px; background:var(--navy); color:#fff; position:sticky; top:120px; }
.promise-card .big { font-family:var(--serif); font-size:46px; line-height:1; }
.promise-card p { margin-top:22px; color:#d8dfeb; }
.promise-card a { display:inline-block; margin-top:28px; color:#fff; font-weight:800; }
.promise-list { border-top:1px solid var(--line); }
.promise-item { display:grid; grid-template-columns:64px 1fr; gap:20px; padding:27px 0; border-bottom:1px solid var(--line); }
.promise-item span { display:grid; place-items:center; width:48px; height:48px; border-radius:50%; background:var(--cream); color:var(--farmers-red); font-weight:900; }
.promise-item h3 { color:var(--navy); font-family:var(--serif); font-size:25px; }
.promise-item p { color:var(--muted); margin-top:5px; }

.process-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:32px; margin-top:48px; }
.process-step { padding-top:22px; border-top:3px solid var(--farmers-red); }
.process-step strong { color:var(--farmers-red); font-size:12px; text-transform:uppercase; letter-spacing:.14em; }
.process-step h3 { margin-top:16px; color:var(--navy); font-family:var(--serif); font-size:29px; }
.process-step p { color:var(--muted); margin-top:7px; }

.local-panel { display:grid; grid-template-columns:1.05fr .95fr; background:var(--navy); color:#fff; }
.local-copy { padding:64px; }
.local-copy .section-kicker { color:#f0a1a7; }
.local-copy .section-title { color:#fff; }
.local-copy p { color:#d5dce8; max-width:600px; }
.local-links { display:flex; flex-wrap:wrap; gap:10px; margin-top:27px; }
.local-links a,.local-links span { color:#fff; border:1px solid rgba(255,255,255,.25); padding:8px 12px; text-decoration:none; font-size:13px; }
.local-info { padding:64px; background:var(--farmers-red); display:flex; flex-direction:column; justify-content:space-between; }
.local-info h3 { font-family:var(--serif); font-size:36px; line-height:1.08; }
.local-info address { margin-top:30px; font-style:normal; line-height:1.8; }
.local-info a { color:#fff; }
.license { margin-top:30px; color:#ffdfe2; font-size:12px; }

.final-cta { text-align:center; padding:110px 20px; background:var(--cream); }
.final-cta h2 { max-width:820px; margin:0 auto; color:var(--navy); font-family:var(--serif); font-size:clamp(42px,5vw,70px); line-height:.98; }
.final-cta p { max-width:650px; margin:20px auto 0; color:var(--muted); font-size:18px; }
.final-cta .hero-actions { justify-content:center; }

.home-v2 .site-footer { background:#0d1a30; }
.home-v2 .footer-bottom a { color:#dfe8f5 !important; }

@media (max-width: 980px) {
  .home-v2 .nav { display:none; position:absolute; top:78px; left:0; right:0; padding:20px 28px; background:#fff; border-bottom:1px solid var(--line); align-items:stretch; }
  .home-v2 .nav.open { display:flex; flex-direction:column; }
  .home-v2 .nav-toggle { display:flex; }
  .hero-grid { grid-template-columns:1fr; }
  .hero-copy { padding:72px 28px 58px; }
  .hero-visual { min-height:440px; }
  .proof-grid,.coverage-grid { grid-template-columns:repeat(2,1fr); }
  .promise-grid,.local-panel { grid-template-columns:1fr; }
  .promise-card { position:static; }
}

@media (max-width: 640px) {
  .utility-inner { justify-content:center; text-align:center; min-height:42px; }
  .utility-inner > span { display:none; }
  .brand-copy strong { font-size:15px; }
  .brand-copy span { font-size:9px; }
  .hero-copy h1 { font-size:54px; }
  .hero-copy > p { font-size:17px; }
  .hero-visual { min-height:360px; }
  .proof-grid,.coverage-grid,.process-grid { grid-template-columns:1fr; }
  .proof-item { border-right:1px solid var(--line); }
  .home-section { padding:74px 0; }
  .promise-grid { gap:42px; }
  .local-copy,.local-info { padding:42px 28px; }
  .hero-actions .btn { width:100%; text-align:center; }
}
