.state-landing {
    --state-accent: #f59e0b;
    --state-accent-soft: #fef3c7;
    --state-kicker: #dd441e;
    --state-ink: #02015a;
    color: #172033;
    overflow: hidden;
}

.state-landing.illinois {
    --state-accent: #47b5d6;
    --state-accent-soft: #e1f5fb;
    --state-kicker: #087a9d;
}

.state-landing.colorado {
    --state-accent: #63c5da;
    --state-accent-soft: #e3f6fa;
    --state-kicker: #087f9d;
}

.state-landing.missouri {
    --state-accent: #f5b44b;
    --state-accent-soft: #fff1d6;
    --state-kicker: #a45a00;
}

.state-landing.kentucky {
    --state-accent: #ef5f73;
    --state-accent-soft: #fde8ec;
    --state-kicker: #a92648;
}

.state-landing.south-carolina {
    --state-accent: #f2a84b;
    --state-accent-soft: #fff0d8;
    --state-kicker: #8b3157;
}

.state-hero {
    min-height: 670px;
    display: flex;
    align-items: center;
    position: relative;
    color: #fff;
    background-size: cover;
    background-position: center;
}

.state-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(2, 1, 90, .97) 0%, rgba(2, 1, 90, .82) 40%, rgba(2, 1, 90, .22) 72%, rgba(2, 1, 90, .08) 100%);
}

.colorado .state-hero::before,
.missouri .state-hero::before,
.kentucky .state-hero::before,
.south-carolina .state-hero::before {
    background: linear-gradient(90deg, rgba(2, 1, 90, .78) 0%, rgba(2, 1, 90, .56) 42%, rgba(2, 1, 90, .10) 72%, rgba(2, 1, 90, .03) 100%);
}

.state-hero::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 130px;
    background: linear-gradient(0deg, rgba(2, 1, 90, .34), transparent);
}

.state-hero .container { position: relative; z-index: 2; }
.state-hero-copy { max-width: 690px; padding: 96px 0 92px; }

.state-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 7px 16px;
    margin-bottom: 22px;
    border: 1px solid rgba(255,255,255,.28);
    border-radius: 999px;
    background: rgba(255,255,255,.11);
    backdrop-filter: blur(8px);
    font-size: .82rem;
    font-weight: 750;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.state-hero h1 {
    max-width: 680px;
    margin: 0 0 20px;
    font-size: clamp(2.5rem, 5.1vw, 4.65rem);
    font-weight: 900;
    line-height: 1.02;
    letter-spacing: -.04em;
}

.state-hero-lead {
    max-width: 610px;
    margin-bottom: 28px;
    color: rgba(255,255,255,.84);
    font-size: clamp(1.02rem, 1.7vw, 1.22rem);
    line-height: 1.65;
}

.state-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.state-btn-primary, .state-btn-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding: 13px 26px;
    border-radius: 999px;
    font-weight: 800;
    text-decoration: none;
    transition: transform .18s ease, background .18s ease, border-color .18s ease;
}

.state-btn-primary { background: var(--state-accent); color: #02015a; border: 2px solid var(--state-accent); }
.state-btn-secondary { color: #fff; border: 2px solid rgba(255,255,255,.48); background: rgba(2,1,90,.15); }
.state-btn-primary:hover, .state-btn-secondary:hover { transform: translateY(-2px); }
.state-btn-primary:hover { background: #fff; border-color: #fff; color: #02015a; }
.state-btn-secondary:hover { border-color: #fff; background: rgba(255,255,255,.12); color: #fff; }

.state-photo-credit {
    position: absolute;
    z-index: 3;
    right: 22px;
    bottom: 18px;
    padding: 5px 10px;
    color: rgba(255,255,255,.72);
    background: rgba(2,1,90,.38);
    border-radius: 999px;
    font-size: .72rem;
}

.state-proof {
    position: relative;
    z-index: 4;
    margin-top: -38px;
}

.state-proof-panel {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    overflow: hidden;
    background: #fff;
    border: 1px solid #e5eaf3;
    border-radius: 20px;
    box-shadow: 0 22px 55px rgba(2,1,90,.13);
}

.state-proof-item { position: relative; padding: 25px 20px; text-align: center; }
.state-proof-item + .state-proof-item::before { content:""; position:absolute; top:22px; bottom:22px; left:0; width:1px; background:#e5eaf3; }
.state-proof-value { display:block; color:var(--state-ink); font-size:1.72rem; font-weight:900; line-height:1; }
.state-proof-label { display:block; margin-top:7px; color:#667085; font-size:.82rem; font-weight:650; }

.state-section { padding: 92px 0; }
.state-section-alt { background: linear-gradient(135deg, #f8faff, #f2f5fb); }
.state-kicker { color:var(--state-kicker); font-size:.78rem; font-weight:850; letter-spacing:.11em; text-transform:uppercase; }
.state-heading { max-width:780px; margin:10px auto 15px; color:var(--state-ink); font-size:clamp(2rem,3.4vw,3rem); font-weight:900; line-height:1.12; letter-spacing:-.025em; }
.state-section-lead { max-width:720px; margin:0 auto 44px; color:#667085; font-size:1.04rem; line-height:1.7; }

.state-feature-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.state-feature-card {
    min-height: 245px;
    padding: 28px;
    background:#fff;
    border:1px solid #e4e9f2;
    border-radius:18px;
    box-shadow:0 8px 28px rgba(2,1,90,.06);
    transition:transform .2s ease, box-shadow .2s ease;
}
.state-feature-card:hover { transform:translateY(-5px); box-shadow:0 18px 38px rgba(2,1,90,.11); }
.state-feature-icon { display:grid; place-items:center; width:52px; height:52px; margin-bottom:20px; border-radius:15px; background:var(--state-accent-soft); color:var(--state-ink); font-size:1.4rem; }
.state-feature-card h3 { margin:0 0 9px; color:var(--state-ink); font-size:1.06rem; font-weight:850; }
.state-feature-card p { margin:0; color:#667085; font-size:.92rem; line-height:1.65; }

.state-coverage-section { background:#fff; }
.state-coverage-section .state-section-lead { margin-bottom:38px; }
.state-coverage-group {
    margin-top:18px;
    padding:28px;
    border:1px solid #e3e9f2;
    border-radius:22px;
    box-shadow:0 12px 34px rgba(2,1,90,.06);
}
.state-coverage-active { background:linear-gradient(145deg,var(--state-accent-soft),#fff 60%); border-color:rgba(2,1,90,.14); }
.state-coverage-available { background:#f8fafc; }
.state-coverage-heading { display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin-bottom:20px; }
.state-coverage-heading h3 { margin:0; color:var(--state-ink); font-size:1.38rem; font-weight:850; }
.state-coverage-badge { display:inline-flex; align-items:center; gap:7px; padding:7px 12px; color:#fff; background:#64748b; border-radius:999px; font-size:.76rem; font-weight:850; letter-spacing:.02em; text-transform:uppercase; }
.state-coverage-active .state-coverage-badge { background:var(--state-ink); }
.state-county-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(155px,1fr)); gap:9px; }
.state-county-chip { display:flex; align-items:center; justify-content:center; gap:7px; min-height:42px; padding:8px 11px; color:#475569; background:#fff; border:1px solid #dbe3ee; border-radius:10px; font-size:.82rem; font-weight:700; line-height:1.2; text-align:center; }
.state-county-chip.is-active { color:#fff; background:var(--state-ink); border-color:var(--state-ink); box-shadow:0 5px 14px rgba(2,1,90,.14); }
.state-county-chip.is-active > span { display:flex; flex-direction:column; align-items:center; }
.state-county-chip.is-statewide { background:linear-gradient(135deg,var(--state-ink),#274fc4); }
.state-county-chip small { display:block; margin-top:3px; color:rgba(255,255,255,.72); font-size:.68rem; font-weight:650; }
.state-coverage-unavailable { grid-column:1/-1; margin:0; color:#64748b; }
.state-coverage-cta { display:flex; align-items:center; justify-content:space-between; gap:28px; margin-top:24px; padding:27px 30px; color:#fff; background:linear-gradient(120deg,#02015a,#193da9); border-radius:20px; box-shadow:0 18px 42px rgba(2,1,90,.14); }
.state-coverage-cta h3 { margin:0 0 5px; font-size:1.3rem; font-weight:850; }
.state-coverage-cta p { margin:0; color:rgba(255,255,255,.72); font-size:.9rem; }
.state-coverage-cta .state-btn-primary { flex:none; }

.state-story-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:64px; align-items:center; }
.state-story h2 { color:var(--state-ink); font-size:clamp(2rem,3.5vw,3.15rem); font-weight:900; line-height:1.12; letter-spacing:-.03em; }
.state-story p { color:#667085; line-height:1.75; }
.state-checks { list-style:none; padding:0; margin:28px 0 0; display:grid; gap:13px; }
.state-checks li { display:flex; gap:11px; align-items:flex-start; color:#334155; font-weight:650; }
.state-checks i { color:#16a34a; margin-top:2px; }
.state-quote-card { position:relative; padding:38px; color:#fff; background:linear-gradient(145deg,#02015a,#183aa9); border-radius:24px; box-shadow:0 24px 55px rgba(2,1,90,.18); }
.state-quote-card::before { content:'\201C'; position:absolute; right:26px; top:0; color:rgba(255,255,255,.12); font-family:Georgia,serif; font-size:8rem; line-height:1; }
.state-quote-card h3 { position:relative; font-size:1.55rem; font-weight:850; line-height:1.35; }
.state-quote-card p { position:relative; margin:16px 0 0; color:rgba(255,255,255,.72); }
.state-mini-stats { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:28px; }
.state-mini-stat { padding:16px; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.14); border-radius:13px; }
.state-mini-stat strong { display:block; color:var(--state-accent); font-size:1.55rem; }
.state-mini-stat span { color:rgba(255,255,255,.7); font-size:.78rem; }

.state-cta { padding:82px 0; color:#fff; background:linear-gradient(120deg,#02015a 0%,#1739a5 68%,#235ed5 100%); text-align:center; }
.state-cta h2 { max-width:850px; margin:0 auto 14px; font-size:clamp(2rem,3.8vw,3.2rem); font-weight:900; letter-spacing:-.03em; }
.state-cta p { max-width:680px; margin:0 auto 28px; color:rgba(255,255,255,.78); font-size:1.08rem; }
.state-cta-note { margin-top:18px; color:rgba(255,255,255,.58); font-size:.82rem; }

@media (max-width: 991.98px) {
    .state-hero { min-height:610px; background-position:62% center; }
    .state-hero::before { background:linear-gradient(90deg,rgba(2,1,90,.97),rgba(2,1,90,.77) 63%,rgba(2,1,90,.38)); }
    .state-proof-panel { grid-template-columns:1fr 1fr; }
    .state-proof-item:nth-child(3)::before { display:none; }
    .state-proof-item:nth-child(n+3) { border-top:1px solid #e5eaf3; }
    .state-feature-grid { grid-template-columns:1fr 1fr; }
    .state-story-grid { grid-template-columns:1fr; gap:34px; }
    .state-coverage-cta { align-items:flex-start; flex-direction:column; }
}

@media (max-width: 575.98px) {
    .state-hero { min-height:650px; background-position:68% center; }
    .state-hero::before { background:rgba(2,1,90,.84); }
    .state-hero-copy { padding:76px 0 90px; }
    .state-hero-actions > * { width:100%; }
    .state-photo-credit { display:none; }
    .state-proof { margin-top:-24px; }
    .state-proof-panel, .state-feature-grid { grid-template-columns:1fr; }
    .state-proof-item + .state-proof-item::before { top:0; bottom:auto; right:24px; left:24px; width:auto; height:1px; }
    .state-proof-item:nth-child(3)::before { display:block; }
    .state-proof-item:nth-child(n+3) { border-top:0; }
    .state-section { padding:68px 0; }
    .state-mini-stats { grid-template-columns:1fr; }
    .state-coverage-group { padding:20px 15px; }
    .state-county-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .state-coverage-cta { padding:24px 20px; }
    .state-coverage-cta .state-btn-primary { width:100%; }
}
