/* ==========================================================================
   Per-state ESA/PSD law guides  (/esa-laws-by-state/<state>)

   Shared primitives use the .sl- prefix. Each state then has its own prefix
   (.ca- .tx- .fl- .ny- .il-) so the five pages genuinely look different rather
   than being one template recoloured.

   Brand tokens: gradient #0f1f7a -> #0056b3, #333 text, #6c757d muted,
   #e9ecef borders, 700 max heading weight, 15px cards / 20px panels.
   ========================================================================== */

/* --------------------------------------------------------------- shared -- */
.sl-crumbs {
    font-size: 0.88rem;
    color: #6c757d;
}

.sl-crumbs a {
    color: #0f1f7a;
    font-weight: 600;
    text-decoration: none;
}

.sl-crumbs span[aria-hidden] {
    margin: 0 0.5rem;
    color: #ced4da;
}

.sl-kicker {
    display: inline-block;
    margin-bottom: 0.5rem;
    color: #0f1f7a;
    font-size: 0.85rem;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.sl-kicker-light {
    display: inline-block;
    margin-bottom: 0.5rem;
    color: rgba(255, 255, 255, 0.8);
    font-size: 0.85rem;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.sl-kicker-warn {
    display: inline-block;
    margin-bottom: 0.5rem;
    color: #c2410c;
    font-size: 0.85rem;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.sl-map {
    max-width: 100%;
    height: auto;
    filter: drop-shadow(0 10px 30px rgba(0, 0, 0, 0.25));
}

.sl-faq details {
    padding: 1.1rem 1.35rem;
    margin-bottom: 0.7rem;
    border: 1px solid #e9ecef;
    border-radius: 15px;
    background: #fff;
}

.sl-faq summary {
    position: relative;
    padding-right: 1.75rem;
    cursor: pointer;
    list-style: none;
    font-weight: 600;
    color: #333;
}

.sl-faq summary::-webkit-details-marker { display: none; }

.sl-faq summary::after {
    content: "+";
    position: absolute;
    right: 0;
    top: 0;
    color: #0f1f7a;
    font-weight: 700;
}

.sl-faq details[open] summary::after { content: "\2212"; }

.sl-faq p {
    margin: 0.8rem 0 0;
    color: #6c757d;
    font-size: 0.92rem;
    line-height: 1.8;
}

.sl-psd {
    padding: 2.5rem;
    border-radius: 20px;
    background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
    border: 1px solid #e9ecef;
}

.sl-psd-box {
    padding: 1.75rem;
    border-radius: 15px;
    background: linear-gradient(135deg, #0f1f7a 0%, #0056b3 100%);
    color: #fff;
}

.sl-more-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(255px, 1fr));
    gap: 0.85rem;
}

.sl-more-grid a {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    padding: 1rem 1.15rem;
    background: #fff;
    border: 1px solid #e9ecef;
    border-radius: 15px;
    color: #333;
    text-decoration: none;
    transition: all 0.3s ease;
}

.sl-more-grid a:hover {
    color: #333;
    border-color: #0f1f7a;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
    transform: translateY(-4px);
}

.sl-more-abbr {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 40px;
    height: 40px;
    border-radius: 12px;
    background: linear-gradient(135deg, #0f1f7a 0%, #0056b3 100%);
    color: #fff;
    font-size: 0.8rem;
    font-weight: 700;
}

.sl-more-all { background: #6c757d; }

.sl-more-grid strong { display: block; font-size: 0.95rem; }
.sl-more-grid small { display: block; color: #6c757d; font-size: 0.78rem; line-height: 1.4; }
.sl-more-grid i { color: #ced4da; }

.sl-cta {
    padding: 3rem 2rem;
    border-radius: 20px;
    background: linear-gradient(135deg, #0f1f7a 0%, #0056b3 100%);
    color: #fff;
}

/* ----------------------------------------------------------- CALIFORNIA -- */
.ca-hero {
    position: relative;
    overflow: hidden;
    padding: 3rem 2.25rem;
    border-radius: 10px;
    background: linear-gradient(135deg, #0f1f7a 0%, #0056b3 100%);
}

.ca-flagline { display: flex; gap: 6px; }
.ca-flagline span {
    display: block;
    width: 46px;
    height: 6px;
    border-radius: 50px;
    background: rgba(255, 255, 255, 0.85);
}
.ca-flagline span:nth-child(2) { width: 26px; opacity: 0.6; }
.ca-flagline span:nth-child(3) { width: 14px; opacity: 0.35; }

.ca-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1rem;
}
.ca-stats > div {
    padding: 1.75rem 1.5rem;
    background: #fff;
    border: 1px solid #e9ecef;
    border-left: 4px solid #0f1f7a;
    border-radius: 4px 15px 15px 4px;
    text-align: center;
}
.ca-stats strong {
    display: block;
    font-size: 2rem;
    font-weight: 700;
    line-height: 1;
    background: linear-gradient(135deg, #0f1f7a 0%, #0056b3 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}
.ca-stats span { display: block; margin-top: 0.5rem; color: #6c757d; font-size: 0.85rem; line-height: 1.5; }

.ca-timeline {
    counter-reset: none;
    position: relative;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
    gap: 1rem;
    margin: 0;
    padding: 0;
    list-style: none;
}
.ca-timeline li {
    position: relative;
    padding: 1.75rem 1.5rem;
    background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
    border: 1px solid #e9ecef;
    border-radius: 15px;
}
.ca-day {
    display: inline-block;
    margin-bottom: 0.75rem;
    padding: 0.25rem 0.85rem;
    border-radius: 50px;
    background: linear-gradient(135deg, #0f1f7a 0%, #0056b3 100%);
    color: #fff;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.ca-disclose {
    padding: 2.5rem;
    border-radius: 20px;
    background: linear-gradient(135deg, #0f1f7a 0%, #0056b3 100%);
    color: #fff;
}
.ca-disclose-list { margin: 0; padding-left: 1.4rem; }
.ca-disclose-list li {
    padding: 0.7rem 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.18);
    line-height: 1.7;
}
.ca-disclose-list li:last-child { border-bottom: 0; }

/* ---------------------------------------------------------------- TEXAS -- */
.tx-hero {
    position: relative;
    overflow: hidden;
    padding: 3rem 2rem;
    border-radius: 10px;
    background: linear-gradient(135deg, #0f1f7a 0%, #0056b3 100%);
}
.tx-hero-map { display: block; margin: 0 auto 1rem; opacity: 0.95; }
.tx-star {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    margin-bottom: 0.75rem;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.16);
    border: 1px solid rgba(255, 255, 255, 0.3);
}

.tx-ledger {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 1rem;
}
.tx-ledger-col {
    padding: 2rem;
    border-radius: 20px;
    border: 1px solid #e9ecef;
}
.tx-ledger-col ul { margin: 0; padding-left: 1.15rem; color: #333; font-size: 0.93rem; line-height: 1.7; }
.tx-ledger-col li { margin-bottom: 0.5rem; }
.tx-ledger-fed { background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%); }
.tx-ledger-fed h3 { color: #6c757d; }
.tx-ledger-state { background: #f4f8ff; border-color: #c9d7ff; }
.tx-ledger-state h3 { color: #0f1f7a; }

.tx-warn {
    padding: 2.25rem;
    border-radius: 20px;
    background: #fff8f3;
    border: 1px solid #f5d4bd;
}
.tx-warn-icon { font-size: 2.5rem; color: #c2410c; }
.tx-warn h2 { color: #7c2d12; }
.tx-warn p { color: #7c2d12; }
.tx-warn-box {
    padding: 1.35rem;
    border-radius: 15px;
    background: #fff;
    border: 1px solid #f5d4bd;
}

.tx-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 1rem;
}
.tx-cards article {
    position: relative;
    padding: 2.25rem 1.5rem 1.5rem;
    background: #fff;
    border: 1px solid #e9ecef;
    border-radius: 15px;
    transition: all 0.3s ease;
}
.tx-cards article:hover {
    border-color: #0f1f7a;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
    transform: translateY(-4px);
}
.tx-card-n {
    position: absolute;
    top: 0.9rem;
    right: 1.25rem;
    font-size: 1.4rem;
    font-weight: 700;
    color: #eef2fb;
}

/* -------------------------------------------------------------- FLORIDA -- */
.fl-hero {
    position: relative;
    overflow: hidden;
    padding: 3.25rem 2.25rem;
    border-radius: 10px;
    background: linear-gradient(135deg, #0f1f7a 0%, #0056b3 100%);
}
.fl-hero-map {
    position: absolute;
    right: -40px;
    bottom: -30px;
    width: 380px;
    opacity: 0.18;
    pointer-events: none;
}
.fl-hero-inner { position: relative; z-index: 1; }

.fl-quote {
    position: relative;
    padding: 2.5rem 2.5rem 2rem 4.5rem;
    background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
    border: 1px solid #e9ecef;
    border-left: 4px solid #0f1f7a;
    border-radius: 4px 20px 20px 4px;
}
.fl-quote > i {
    position: absolute;
    left: 1.75rem;
    top: 2.25rem;
    font-size: 1.5rem;
    color: #c9d7ff;
}
.fl-quote blockquote { margin: 0 0 1rem; }
.fl-quote blockquote p {
    margin-bottom: 0.75rem;
    font-size: 1.12rem;
    line-height: 1.75;
    color: #333;
}
.fl-quote cite {
    color: #0f1f7a;
    font-size: 0.85rem;
    font-weight: 600;
    font-style: normal;
}

.fl-col {
    padding: 2rem;
    border-radius: 20px;
    border: 1px solid #e9ecef;
}
.fl-col ul { margin: 0; padding-left: 1.15rem; color: #333; font-size: 0.93rem; line-height: 1.7; }
.fl-col li { margin-bottom: 0.5rem; }
.fl-col-may { background: #f4fcf8; border-color: #bfe6d0; }
.fl-col-may h3 { color: #1a9d5c; }
.fl-col-maynot { background: #fff8f3; border-color: #f5d4bd; }
.fl-col-maynot h3 { color: #c2410c; }

.fl-know {
    padding: 2.5rem;
    border-radius: 20px;
    background: linear-gradient(135deg, #0f1f7a 0%, #0056b3 100%);
    color: #fff;
}
.fl-know-list { margin: 0; padding: 0; list-style: none; }
.fl-know-list li {
    display: flex;
    gap: 0.75rem;
    padding: 0.7rem 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.18);
    font-size: 0.93rem;
}
.fl-know-list li:last-child { border-bottom: 0; }
.fl-know-list i { margin-top: 0.28rem; color: #4ade80; }

.fl-penalty {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 1.5rem;
    padding: 2rem;
    background: #fff8f3;
    border: 1px solid #f5d4bd;
    border-radius: 20px;
}
.fl-penalty i { font-size: 2.25rem; color: #c2410c; }

/* ------------------------------------------------------------- NEW YORK -- */
.ny-hero {
    position: relative;
    overflow: hidden;
    padding: 3rem 2.25rem;
    border-radius: 10px;
    background: linear-gradient(135deg, #0f1f7a 0%, #0056b3 100%);
}
.ny-bars { display: flex; align-items: flex-end; gap: 8px; height: 46px; }
.ny-bars span {
    display: block;
    width: 34px;
    border-radius: 6px 6px 0 0;
    background: rgba(255, 255, 255, 0.35);
}
.ny-bars span:nth-child(1) { height: 40%; }
.ny-bars span:nth-child(2) { height: 70%; background: rgba(255, 255, 255, 0.55); }
.ny-bars span:nth-child(3) { height: 100%; background: rgba(255, 255, 255, 0.8); }

.ny-layers { display: grid; gap: 1rem; }
.ny-layer {
    position: relative;
    padding: 2rem 2rem 2rem 2.5rem;
    background: #fff;
    border: 1px solid #e9ecef;
    border-left: 6px solid #ced4da;
    border-radius: 4px 15px 15px 4px;
}
.ny-layer-mid { border-left-color: #6f8fd6; }
.ny-layer-top { border-left-color: #0f1f7a; }
.ny-layer-tier {
    display: inline-block;
    margin-bottom: 0.6rem;
    padding: 0.2rem 0.8rem;
    border-radius: 50px;
    background: #f8f9fa;
    color: #0f1f7a;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.ny-coop {
    padding: 2.5rem;
    border-radius: 20px;
    background: linear-gradient(135deg, #0f1f7a 0%, #0056b3 100%);
    color: #fff;
}
.ny-coop-box {
    padding: 1.75rem;
    border-radius: 15px;
    background: #fff;
    color: #333;
}
.ny-coop-box ol { padding-left: 1.15rem; color: #6c757d; font-size: 0.9rem; line-height: 1.7; }

.ny-routes {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 1rem;
}
.ny-routes > div {
    padding: 1.75rem 1.5rem;
    background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
    border: 1px solid #e9ecef;
    border-radius: 15px;
}

/* ------------------------------------------------------------- ILLINOIS -- */
.il-hero {
    position: relative;
    overflow: hidden;
    padding: 2.75rem 2.25rem;
    border-radius: 10px;
    background: linear-gradient(135deg, #0f1f7a 0%, #0056b3 100%);
}
.il-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 2rem;
    align-items: center;
}
.il-hero-grid img { max-width: 100%; height: auto; filter: drop-shadow(0 10px 30px rgba(0,0,0,0.25)); }

.il-rail { display: grid; gap: 1rem; }
.il-rail article {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 1.5rem;
    padding: 1.85rem;
    background: #fff;
    border: 1px solid #e9ecef;
    border-radius: 15px;
}
.il-n {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 54px;
    height: 54px;
    border-radius: 15px;
    background: linear-gradient(135deg, #0f1f7a 0%, #0056b3 100%);
    color: #fff;
    font-weight: 700;
}

.il-doc {
    padding: 2.5rem;
    border-radius: 20px;
    background: linear-gradient(135deg, #0f1f7a 0%, #0056b3 100%);
    color: #fff;
}
.il-doc-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(165px, 1fr));
    gap: 0.85rem;
}
.il-doc-grid > div {
    padding: 1.25rem;
    border-radius: 15px;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.2);
}
.il-doc-grid i { display: block; margin-bottom: 0.5rem; font-size: 1.2rem; }
.il-doc-grid p { opacity: 0.78; }

.il-panel {
    padding: 2rem;
    background: #fff;
    border: 1px solid #e9ecef;
    border-radius: 20px;
}
.il-panel-alt { background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%); }

/* -------------------------------------------------------------- mobile -- */
@media (max-width: 767.98px) {
    .ca-hero, .tx-hero, .fl-hero, .ny-hero, .il-hero { padding: 2.25rem 1.35rem; }
    .il-hero-grid { grid-template-columns: 1fr; }
    .fl-quote { padding: 2rem 1.5rem 1.5rem 3.25rem; }
    .fl-hero-map { width: 260px; opacity: 0.12; }
    .il-rail article { grid-template-columns: 1fr; gap: 1rem; }
    .fl-penalty { grid-template-columns: 1fr; }
}


/* ===================== PENNSYLVANIA — enforcement ladder ================== */
.pa-hero { position: relative; overflow: hidden; padding: 3rem 2.25rem; border-radius: 10px; background: linear-gradient(135deg,#0f1f7a 0%,#0056b3 100%); }
.pa-stats { display: grid; grid-template-columns: repeat(auto-fit,minmax(220px,1fr)); gap: 1rem; }
.pa-stats > div { padding: 1.6rem 1.4rem; background:#fff; border:1px solid #e9ecef; border-radius:15px; text-align:center; }
.pa-stats strong { display:block; font-size:1.9rem; font-weight:700; line-height:1; color:#0f1f7a; }
.pa-stats span { display:block; margin-top:.5rem; color:#6c757d; font-size:.85rem; line-height:1.5; }
.pa-panel { padding:2rem; background:#fff; border:1px solid #e9ecef; border-radius:20px; }
.pa-panel-state { background:linear-gradient(135deg,#f8f9fa 0%,#ffffff 100%); border-color:#c9d7ff; }
.pa-list { margin:0; padding-left:1.15rem; color:#333; font-size:.92rem; line-height:1.7; }
.pa-list li { margin-bottom:.5rem; }
.pa-ladder { position:relative; margin:0; padding:0 0 0 4rem; list-style:none; }
.pa-ladder::before { content:''; position:absolute; left:26px; top:14px; bottom:14px; width:2px; background:linear-gradient(180deg,#0f1f7a,rgba(15,31,122,.1)); }
.pa-ladder > li { position:relative; margin-bottom:1rem; padding:1.5rem 1.75rem; background:#fff; border:1px solid #e9ecef; border-radius:15px; }
.pa-ladder > li:last-child { margin-bottom:0; }
.pa-rung { position:absolute; left:-4rem; top:1.4rem; width:54px; height:54px; display:flex; align-items:center; justify-content:center; border-radius:50%; border:4px solid #fff; background:linear-gradient(135deg,#0f1f7a 0%,#0056b3 100%); color:#fff; font-weight:700; box-shadow:0 5px 20px rgba(15,31,122,.3); }

/* ============================== OHIO — audit ============================== */
.oh-hero { position:relative; overflow:hidden; padding:3rem 2rem; border-radius:10px; background:linear-gradient(135deg,#0f1f7a 0%,#0056b3 100%); }
.oh-stats { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:1rem; }
.oh-stats > div { padding:1.6rem 1.4rem; background:linear-gradient(135deg,#f8f9fa 0%,#fff 100%); border:1px solid #e9ecef; border-radius:15px; text-align:center; }
.oh-stats strong { display:block; font-size:1.9rem; font-weight:700; line-height:1; color:#0f1f7a; }
.oh-stats span { display:block; margin-top:.5rem; color:#6c757d; font-size:.85rem; line-height:1.5; }
.oh-audit { display:grid; gap:.75rem; }
.oh-audit > div { display:grid; grid-template-columns:auto minmax(0,1fr); gap:1.25rem; align-items:start; padding:1.35rem 1.6rem; background:#fff; border:1px solid #e9ecef; border-radius:15px; transition:all .3s ease; }
.oh-audit > div:hover { border-color:#0f1f7a; box-shadow:0 10px 30px rgba(0,0,0,.06); }
.oh-check { display:flex; align-items:center; justify-content:center; width:34px; height:34px; border-radius:8px; background:#eaf7ef; color:#28a745; }
.oh-enforce { padding:2.5rem; border-radius:20px; background:linear-gradient(135deg,#0f1f7a 0%,#0056b3 100%); color:#fff; }
.oh-enforce-box { padding:1.75rem; border-radius:15px; background:#fff; color:#333; }
.oh-enforce-box ol { padding-left:1.15rem; color:#6c757d; font-size:.9rem; line-height:1.7; margin:0; }
.oh-perm { display:grid; grid-template-columns:repeat(auto-fit,minmax(290px,1fr)); gap:1rem; }
.oh-perm-col { padding:2rem; border-radius:20px; border:1px solid #e9ecef; }
.oh-perm-col ul { margin:0; padding-left:1.15rem; color:#333; font-size:.92rem; line-height:1.7; }
.oh-perm-col li { margin-bottom:.5rem; }
.oh-perm-yes { background:#f4fcf8; border-color:#bfe6d0; } .oh-perm-yes h3 { color:#1a9d5c; }
.oh-perm-no { background:#fff8f3; border-color:#f5d4bd; } .oh-perm-no h3 { color:#c2410c; }

/* =========================== GEORGIA — before/after ====================== */
.ga-hero { position:relative; overflow:hidden; padding:3.25rem 2.25rem; border-radius:10px; background:linear-gradient(135deg,#0f1f7a 0%,#0056b3 100%); }
.ga-stats { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:1rem; }
.ga-stats > div { padding:1.6rem 1.4rem; background:#fff; border:1px solid #e9ecef; border-left:4px solid #0f1f7a; border-radius:4px 15px 15px 4px; }
.ga-stats strong { display:block; font-size:1.8rem; font-weight:700; line-height:1; color:#0f1f7a; }
.ga-stats span { display:block; margin-top:.4rem; color:#6c757d; font-size:.85rem; line-height:1.5; }
.ga-shift { display:grid; grid-template-columns:1fr auto 1fr; gap:1rem; align-items:center; }
.ga-shift-col { padding:2rem; border-radius:20px; border:1px solid #e9ecef; }
.ga-shift-col ul { margin:0; padding-left:1.15rem; color:#333; font-size:.92rem; line-height:1.7; }
.ga-shift-col li { margin-bottom:.5rem; }
.ga-before { background:#fff8f3; border-color:#f5d4bd; }
.ga-after { background:#f4fcf8; border-color:#bfe6d0; }
.ga-shift-tag { display:inline-block; margin-bottom:1rem; padding:.25rem .85rem; border-radius:50px; font-size:.72rem; font-weight:700; letter-spacing:1px; text-transform:uppercase; }
.ga-before .ga-shift-tag { background:#fde5d3; color:#c2410c; }
.ga-after .ga-shift-tag { background:#d6f2e2; color:#1a9d5c; }
.ga-shift-arrow { display:flex; align-items:center; justify-content:center; width:52px; height:52px; border-radius:50%; background:linear-gradient(135deg,#0f1f7a 0%,#0056b3 100%); color:#fff; }
.ga-law-box { padding:2rem; background:#fff; border:1px solid #e9ecef; border-radius:20px; }
.ga-law-box i { display:block; margin-bottom:.85rem; font-size:1.6rem; color:#0f1f7a; }
.ga-law-warn { background:#fff8f3; border-color:#f5d4bd; }
.ga-law-warn i { color:#c2410c; }
.ga-chips { display:flex; flex-wrap:wrap; justify-content:center; gap:.6rem; }
.ga-chip { display:inline-flex; align-items:center; gap:.5rem; padding:.6rem 1.15rem; border-radius:50px; font-size:.88rem; font-weight:600; }
.ga-chip-yes { background:#f4fcf8; border:1px solid #bfe6d0; color:#1a7f4b; }
.ga-chip-no { background:#fff8f3; border:1px solid #f5d4bd; color:#c2410c; }

/* ====================== NORTH CAROLINA — request steps =================== */
.nc-hero { position:relative; overflow:hidden; padding:3rem 2.25rem; border-radius:10px; background:linear-gradient(135deg,#0f1f7a 0%,#0056b3 100%); }
.nc-stats { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:1rem; }
.nc-stats > div { padding:1.6rem 1.4rem; background:#fff; border:1px solid #e9ecef; border-radius:15px; text-align:center; }
.nc-stats strong { display:block; font-size:1.9rem; font-weight:700; line-height:1; color:#0f1f7a; }
.nc-stats span { display:block; margin-top:.5rem; color:#6c757d; font-size:.85rem; line-height:1.5; }
.nc-steps { display:grid; grid-template-columns:repeat(auto-fit,minmax(215px,1fr)); gap:1rem; }
.nc-steps article { position:relative; padding:2.5rem 1.5rem 1.5rem; background:linear-gradient(135deg,#f8f9fa 0%,#fff 100%); border:1px solid #e9ecef; border-radius:15px; text-align:center; }
.nc-dot { position:absolute; top:-20px; left:50%; transform:translateX(-50%); width:44px; height:44px; display:flex; align-items:center; justify-content:center; border-radius:50%; border:4px solid #fff; background:linear-gradient(135deg,#0f1f7a 0%,#0056b3 100%); color:#fff; font-weight:700; box-shadow:0 5px 20px rgba(15,31,122,.3); }
.nc-body { padding:2.5rem; border-radius:20px; background:linear-gradient(135deg,#0f1f7a 0%,#0056b3 100%); color:#fff; }
.nc-body-list { margin:0; padding:0; list-style:none; }
.nc-body-list li { display:flex; gap:.75rem; padding:.7rem 0; border-bottom:1px solid rgba(255,255,255,.18); font-size:.94rem; }
.nc-body-list li:last-child { border-bottom:0; }
.nc-body-list i { margin-top:.28rem; color:#4ade80; }

/* ========================== MICHIGAN — myth vs fact ====================== */
.mi-hero { position:relative; overflow:hidden; padding:2.75rem 2.25rem; border-radius:10px; background:linear-gradient(135deg,#0f1f7a 0%,#0056b3 100%); }
.mi-hero-grid { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:2rem; align-items:center; }
.mi-hero-grid img { max-width:100%; height:auto; filter:drop-shadow(0 10px 30px rgba(0,0,0,.25)); }
.mi-stats { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:1rem; }
.mi-stats > div { padding:1.6rem 1.4rem; background:#fff; border:1px solid #e9ecef; border-radius:15px; text-align:center; }
.mi-stats strong { display:block; font-size:1.8rem; font-weight:700; line-height:1; color:#0f1f7a; }
.mi-stats span { display:block; margin-top:.5rem; color:#6c757d; font-size:.85rem; line-height:1.5; }
.mi-myths { display:grid; grid-template-columns:repeat(auto-fit,minmax(320px,1fr)); gap:1rem; }
.mi-myths article { border:1px solid #e9ecef; border-radius:15px; overflow:hidden; }
.mi-myth, .mi-fact { padding:1.15rem 1.35rem; }
.mi-myth { background:#fff8f3; border-bottom:1px solid #f5d4bd; }
.mi-fact { background:#f4fcf8; }
.mi-myth span, .mi-fact span { display:inline-block; margin-bottom:.4rem; font-size:.68rem; font-weight:700; letter-spacing:1px; text-transform:uppercase; }
.mi-myth span { color:#c2410c; } .mi-fact span { color:#1a9d5c; }
.mi-myth p, .mi-fact p { margin:0; font-size:.9rem; line-height:1.6; color:#333; }
.mi-id { padding:2.5rem; border-radius:20px; background:linear-gradient(135deg,#0f1f7a 0%,#0056b3 100%); color:#fff; }
.mi-id-box { padding:1.75rem; border-radius:15px; background:#fff; color:#333; }
.mi-id-box ul { padding-left:1.15rem; color:#6c757d; font-size:.9rem; line-height:1.8; }

/* ========================= NEW JERSEY — coverage ========================= */
.nj-hero { position:relative; overflow:hidden; padding:3rem 2rem; border-radius:10px; background:linear-gradient(135deg,#0f1f7a 0%,#0056b3 100%); }
.nj-hero-map { display:block; margin:0 auto 1rem; filter:drop-shadow(0 10px 30px rgba(0,0,0,.25)); }
.nj-stats { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:1rem; }
.nj-stats > div { padding:1.6rem 1.4rem; background:linear-gradient(135deg,#f8f9fa 0%,#fff 100%); border:1px solid #e9ecef; border-radius:15px; text-align:center; }
.nj-stats strong { display:block; font-size:1.8rem; font-weight:700; line-height:1; color:#0f1f7a; }
.nj-stats span { display:block; margin-top:.5rem; color:#6c757d; font-size:.85rem; line-height:1.5; }
.nj-why-box { padding:1.85rem 1.6rem; background:#fff; border:1px solid #e9ecef; border-radius:15px; transition:all .3s ease; }
.nj-why-box:hover { border-color:#0f1f7a; box-shadow:0 10px 30px rgba(0,0,0,.08); transform:translateY(-4px); }
.nj-why-box i { display:block; margin-bottom:.85rem; font-size:1.5rem; color:#0f1f7a; }
.nj-perm { display:grid; grid-template-columns:repeat(auto-fit,minmax(290px,1fr)); gap:1rem; }
.nj-perm-col { padding:2rem; border-radius:20px; border:1px solid #e9ecef; }
.nj-perm-col ul { margin:0; padding-left:1.15rem; color:#333; font-size:.92rem; line-height:1.7; }
.nj-perm-col li { margin-bottom:.5rem; }
.nj-perm-yes { background:#f4fcf8; border-color:#bfe6d0; } .nj-perm-yes h3 { color:#1a9d5c; }
.nj-perm-no { background:#f8f9fa; } .nj-perm-no h3 { color:#6c757d; }

/* ======================== VIRGINIA — document anatomy ==================== */
.va-hero { position:relative; overflow:hidden; padding:3rem 2.25rem; border-radius:10px; background:linear-gradient(135deg,#0f1f7a 0%,#0056b3 100%); }
.va-stats { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:1rem; }
.va-stats > div { padding:1.6rem 1.4rem; background:#fff; border:1px solid #e9ecef; border-radius:15px; text-align:center; }
.va-stats strong { display:block; font-size:1.7rem; font-weight:700; line-height:1; color:#0f1f7a; }
.va-stats span { display:block; margin-top:.5rem; color:#6c757d; font-size:.85rem; line-height:1.5; }
.va-doc { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:2rem; align-items:start; }
.va-doc-sheet { padding:1.75rem; background:#fff; border:1px solid #e9ecef; border-radius:15px; box-shadow:0 10px 30px rgba(15,31,122,.07); }
.va-doc-line { display:grid; grid-template-columns:auto minmax(0,1fr); gap:.85rem; align-items:center; padding:.85rem 0; border-bottom:1px dashed #e9ecef; color:#333; font-size:.9rem; }
.va-doc-line:last-child { border-bottom:0; }
.va-doc-head { border-bottom:2px solid #0f1f7a; }
.va-mark { display:flex; align-items:center; justify-content:center; width:26px; height:26px; border-radius:50%; background:linear-gradient(135deg,#0f1f7a 0%,#0056b3 100%); color:#fff; font-size:.72rem; font-weight:700; }
.va-doc-notes { margin:0; padding-left:1.25rem; color:#6c757d; font-size:.9rem; line-height:1.75; }
.va-doc-notes li { margin-bottom:.75rem; }
.va-doc-notes strong { color:#333; }
.va-flow { padding:2.5rem; border-radius:20px; background:linear-gradient(135deg,#0f1f7a 0%,#0056b3 100%); color:#fff; }
.va-flow-list { margin:0; padding:0; list-style:none; }
.va-flow-list li { display:grid; grid-template-columns:auto minmax(0,1fr); gap:1rem; padding:.85rem 0; border-bottom:1px solid rgba(255,255,255,.18); }
.va-flow-list li:last-child { border-bottom:0; }
.va-flow-list span { display:flex; align-items:center; justify-content:center; width:32px; height:32px; border-radius:50%; background:rgba(255,255,255,.18); font-weight:700; font-size:.85rem; }
.va-flow-list strong { display:block; }
.va-flow-list small { display:block; opacity:.75; line-height:1.5; }

/* ======================= WASHINGTON — rights + penalty =================== */
.wa-hero { position:relative; overflow:hidden; padding:2.75rem 2.25rem; border-radius:10px; background:linear-gradient(135deg,#0f1f7a 0%,#0056b3 100%); }
.wa-hero-grid { display:grid; grid-template-columns:auto minmax(0,1fr); gap:2rem; align-items:center; }
.wa-hero-grid img { max-width:100%; height:auto; filter:drop-shadow(0 10px 30px rgba(0,0,0,.25)); }
.wa-stats { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:1rem; }
.wa-stats > div { padding:1.6rem 1.4rem; background:#fff; border:1px solid #e9ecef; border-radius:15px; text-align:center; }
.wa-stats strong { display:block; font-size:1.8rem; font-weight:700; line-height:1; color:#0f1f7a; }
.wa-stats span { display:block; margin-top:.5rem; color:#6c757d; font-size:.85rem; line-height:1.5; }
.wa-ledger { display:grid; grid-template-columns:repeat(auto-fit,minmax(255px,1fr)); gap:1rem; }
.wa-ledger > div { padding:1.6rem 1.5rem; background:#fff; border:1px solid #e9ecef; border-radius:15px; }
.wa-num { display:inline-block; margin-bottom:.6rem; font-size:.8rem; font-weight:700; letter-spacing:1px; color:#0f1f7a; }
.wa-penalty { padding:2.25rem; border-radius:20px; background:#fff8f3; border:1px solid #f5d4bd; }
.wa-meter { display:inline-flex; flex-direction:column; align-items:center; justify-content:center; width:170px; height:170px; border-radius:50%; border:8px solid #f5d4bd; background:#fff; }
.wa-meter span { font-size:2.4rem; font-weight:700; color:#c2410c; line-height:1; }
.wa-meter small { margin-top:.35rem; color:#7c2d12; font-size:.72rem; text-align:center; padding:0 1rem; }

/* ===================== ARIZONA — quick answers + cost ==================== */
.az-hero { position:relative; overflow:hidden; padding:3rem 2rem; border-radius:10px; background:linear-gradient(135deg,#0f1f7a 0%,#0056b3 100%); }
.az-stats { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:1rem; }
.az-stats > div { padding:1.6rem 1.4rem; background:#fff; border:1px solid #e9ecef; border-radius:15px; text-align:center; }
.az-stats strong { display:block; font-size:1.8rem; font-weight:700; line-height:1; color:#0f1f7a; }
.az-stats span { display:block; margin-top:.5rem; color:#6c757d; font-size:.85rem; line-height:1.5; }
.az-tiles { display:grid; grid-template-columns:repeat(auto-fit,minmax(255px,1fr)); gap:1rem; }
.az-tiles article { padding:1.6rem 1.5rem; background:linear-gradient(135deg,#f8f9fa 0%,#fff 100%); border:1px solid #e9ecef; border-radius:15px; transition:all .3s ease; }
.az-tiles article:hover { border-color:#0f1f7a; box-shadow:0 10px 30px rgba(0,0,0,.08); transform:translateY(-4px); }
.az-cost { padding:2.5rem; border-radius:20px; background:linear-gradient(135deg,#0f1f7a 0%,#0056b3 100%); color:#fff; }
.az-cost-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:1rem; }
.az-cost-grid > div { padding:1.5rem; border-radius:15px; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.2); text-align:center; }
.az-cost-grid p { font-size:.85rem; opacity:.8; line-height:1.6; }
.az-cost-fig { display:block; margin-bottom:.5rem; font-size:2rem; font-weight:700; line-height:1; }
.az-perm { display:grid; grid-template-columns:repeat(auto-fit,minmax(290px,1fr)); gap:1rem; }
.az-perm-col { padding:2rem; border-radius:20px; border:1px solid #e9ecef; }
.az-perm-col ul { margin:0; padding-left:1.15rem; color:#333; font-size:.92rem; line-height:1.7; }
.az-perm-col li { margin-bottom:.5rem; }
.az-perm-yes { background:#f4fcf8; border-color:#bfe6d0; } .az-perm-yes h3 { color:#1a9d5c; }
.az-perm-no { background:#fff8f3; border-color:#f5d4bd; } .az-perm-no h3 { color:#c2410c; }

/* ======================== MASSACHUSETTS — case file ====================== */
.ma-hero { position:relative; overflow:hidden; padding:3rem 2.25rem; border-radius:10px; background:linear-gradient(135deg,#0f1f7a 0%,#0056b3 100%); }
.ma-stats { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:1rem; }
.ma-stats > div { padding:1.6rem 1.4rem; background:#fff; border:1px solid #e9ecef; border-radius:15px; text-align:center; }
.ma-stats strong { display:block; font-size:1.8rem; font-weight:700; line-height:1; color:#0f1f7a; }
.ma-stats span { display:block; margin-top:.5rem; color:#6c757d; font-size:.85rem; line-height:1.5; }
.ma-file { display:grid; grid-template-columns:repeat(auto-fit,minmax(275px,1fr)); gap:1rem; }
.ma-file-item { position:relative; padding:2.25rem 1.5rem 1.5rem; background:#fff; border:1px solid #e9ecef; border-radius:4px 15px 15px 15px; border-top:3px solid #0f1f7a; }
.ma-tab { position:absolute; top:-3px; left:0; padding:.25rem .85rem; border-radius:0 0 8px 0; background:linear-gradient(135deg,#0f1f7a 0%,#0056b3 100%); color:#fff; font-size:.68rem; font-weight:700; letter-spacing:1px; text-transform:uppercase; }
.ma-mcad { padding:2.5rem; border-radius:20px; background:linear-gradient(135deg,#0f1f7a 0%,#0056b3 100%); color:#fff; }
.ma-mcad-steps { margin:0; padding-left:1.25rem; }
.ma-mcad-steps li { padding:.6rem 0; border-bottom:1px solid rgba(255,255,255,.18); line-height:1.65; }
.ma-mcad-steps li:last-child { border-bottom:0; }

@media (max-width: 767.98px) {
  .pa-hero,.oh-hero,.ga-hero,.nc-hero,.mi-hero,.nj-hero,.va-hero,.wa-hero,.az-hero,.ma-hero { padding:2.25rem 1.35rem; }
  .pa-ladder { padding-left:3rem; } .pa-ladder::before { left:19px; } .pa-rung { left:-3rem; width:40px; height:40px; }
  .ga-shift { grid-template-columns:1fr; } .ga-shift-arrow { transform:rotate(90deg); margin:0 auto; }
  .ga-hero-map { width:250px; opacity:.12; }
  .mi-hero-grid,.wa-hero-grid,.va-doc { grid-template-columns:1fr; }
}

/* ====================== TENNESSEE — notice response week ================= */
.tn-hero { position:relative; overflow:hidden; padding:3rem 2.25rem; border-radius:10px; background:linear-gradient(135deg,#0f1f7a 0%,#0056b3 100%); }
.tn-alert { display:grid; grid-template-columns:auto minmax(0,1fr); gap:1.25rem; align-items:center; padding:1.75rem; background:#fff8f3; border:1px solid #f5d4bd; border-left:5px solid #c2410c; border-radius:4px 15px 15px 4px; }
.tn-alert > i { font-size:2rem; color:#c2410c; }
.tn-alert h2 { color:#7c2d12; } .tn-alert p { color:#7c2d12; }
.tn-week { display:grid; grid-template-columns:repeat(auto-fit,minmax(245px,1fr)); gap:1rem; }
.tn-week article { padding:1.6rem 1.5rem; background:#fff; border:1px solid #e9ecef; border-radius:15px; transition:all .3s ease; }
.tn-week article:hover { border-color:#0f1f7a; box-shadow:0 10px 30px rgba(0,0,0,.07); transform:translateY(-4px); }
.tn-day { display:inline-block; margin-bottom:.7rem; padding:.25rem .85rem; border-radius:50px; background:linear-gradient(135deg,#0f1f7a 0%,#0056b3 100%); color:#fff; font-size:.7rem; font-weight:700; letter-spacing:1px; text-transform:uppercase; }
.tn-split { border-radius:20px; overflow:hidden; border:1px solid #e9ecef; }
.tn-split-a { padding:2.5rem; background:linear-gradient(135deg,#0f1f7a 0%,#0056b3 100%); color:#fff; }
.tn-split-b { padding:2.5rem; background:#fff; }
.tn-ul { margin:0; padding-left:1.15rem; line-height:1.75; font-size:.93rem; }
.tn-ul-no { color:#6c757d; }

/* ========================= INDIANA — fee ledger ========================== */
.ind-hero { position:relative; overflow:hidden; padding:3rem 2rem; border-radius:10px; background:linear-gradient(135deg,#0f1f7a 0%,#0056b3 100%); }
.ind-hero-map { display:block; margin:0 auto; filter:drop-shadow(0 10px 30px rgba(0,0,0,.25)); }
.ind-ledger { border:1px solid #e9ecef; border-radius:15px; overflow:hidden; }
.ind-row { display:grid; grid-template-columns:minmax(0,2fr) minmax(0,1.4fr) minmax(0,1fr); gap:1rem; padding:.95rem 1.35rem; border-bottom:1px solid #e9ecef; font-size:.92rem; color:#333; align-items:center; }
.ind-row:last-child { border-bottom:0; }
.ind-row-head { background:linear-gradient(135deg,#0f1f7a 0%,#0056b3 100%); color:#fff; font-weight:700; font-size:.8rem; letter-spacing:1px; text-transform:uppercase; }
.ind-gone { color:#1a9d5c; font-weight:700; }
.ind-stays { color:#c2410c; font-weight:700; }
.ind-recover { padding:2.5rem; border-radius:20px; background:linear-gradient(135deg,#0f1f7a 0%,#0056b3 100%); color:#fff; }
.ind-note { padding:1.75rem; background:#fff; border-radius:15px; color:#333; font-size:.92rem; line-height:1.7; }
.ind-note p { margin-bottom:.9rem; }
.ind-note-meta { padding-bottom:.75rem; margin-bottom:1rem !important; border-bottom:1px solid #e9ecef; color:#6c757d; font-size:.82rem; font-weight:600; }

/* ======================= MISSOURI — provider scorecard =================== */
.mo-hero { position:relative; overflow:hidden; padding:2.75rem 2.25rem; border-radius:10px; background:linear-gradient(135deg,#0f1f7a 0%,#0056b3 100%); }
.mo-hero-grid { display:grid; grid-template-columns:auto minmax(0,1fr); gap:2rem; align-items:center; }
.mo-hero-grid img { max-width:100%; height:auto; filter:drop-shadow(0 10px 30px rgba(0,0,0,.25)); }
.mo-score { display:grid; gap:.85rem; }
.mo-score article { display:grid; grid-template-columns:auto minmax(0,1fr); gap:1.35rem; align-items:start; padding:1.5rem 1.75rem; background:linear-gradient(135deg,#f8f9fa 0%,#fff 100%); border:1px solid #e9ecef; border-radius:15px; }
.mo-pt { display:flex; align-items:center; justify-content:center; width:46px; height:46px; border-radius:50%; background:linear-gradient(135deg,#0f1f7a 0%,#0056b3 100%); color:#fff; font-weight:700; }
.mo-warn { padding:2.25rem; border-radius:20px; background:#fff8f3; border:1px solid #f5d4bd; }
.mo-warn-box { padding:1.5rem; background:#fff; border:1px solid #f5d4bd; border-radius:15px; }
.mo-warn-box ul { margin:0; padding-left:1.15rem; color:#7c2d12; font-size:.88rem; line-height:1.8; }
.mo-perm { display:grid; grid-template-columns:repeat(auto-fit,minmax(290px,1fr)); gap:1rem; }
.mo-perm-col { padding:2rem; border-radius:20px; border:1px solid #e9ecef; }
.mo-perm-col ul { margin:0; padding-left:1.15rem; color:#333; font-size:.92rem; line-height:1.7; }
.mo-perm-col li { margin-bottom:.5rem; }
.mo-perm-yes { background:#f4fcf8; border-color:#bfe6d0; } .mo-perm-yes h3 { color:#1a9d5c; }
.mo-perm-no { background:#fff8f3; border-color:#f5d4bd; } .mo-perm-no h3 { color:#c2410c; }

/* ====================== MARYLAND — corridor routes ======================= */
.md-hero { position:relative; overflow:hidden; padding:3rem 2.25rem; border-radius:10px; background:linear-gradient(135deg,#0f1f7a 0%,#0056b3 100%); }
.md-routes { display:grid; gap:1rem; }
.md-route { position:relative; padding:1.85rem 2rem; background:#fff; border:1px solid #e9ecef; border-left:6px solid #0f1f7a; border-radius:4px 15px 15px 4px; }
.md-route:nth-child(2) { border-left-color:#6f8fd6; }
.md-route:nth-child(3) { border-left-color:#ced4da; }
.md-tier { display:inline-block; margin-bottom:.6rem; padding:.2rem .8rem; border-radius:50px; background:#f8f9fa; color:#0f1f7a; font-size:.7rem; font-weight:700; letter-spacing:1px; text-transform:uppercase; }
.md-corridor { padding:2.5rem; border-radius:20px; background:linear-gradient(135deg,#0f1f7a 0%,#0056b3 100%); color:#fff; }
.md-corridor-list { margin:0; padding:0; list-style:none; }
.md-corridor-list li { display:flex; gap:.85rem; padding:.8rem 0; border-bottom:1px solid rgba(255,255,255,.18); font-size:.93rem; line-height:1.6; }
.md-corridor-list li:last-child { border-bottom:0; }
.md-corridor-list i { margin-top:.25rem; color:#8fc0ff; width:20px; text-align:center; }

/* ==================== WISCONSIN — documentation standard ================= */
.wi-hero { position:relative; overflow:hidden; padding:3rem 2rem; border-radius:10px; background:linear-gradient(135deg,#0f1f7a 0%,#0056b3 100%); }
.wi-hero-map { display:block; margin:0 auto 1rem; filter:drop-shadow(0 10px 30px rgba(0,0,0,.25)); }
.wi-fine { display:grid; grid-template-columns:auto minmax(0,1fr); gap:1.5rem; align-items:center; padding:1.85rem 2rem; background:#fff8f3; border:1px solid #f5d4bd; border-radius:20px; }
.wi-fine-badge { display:flex; align-items:center; justify-content:center; width:60px; height:60px; border-radius:50%; background:#fde5d3; color:#c2410c; font-size:1.4rem; }
.wi-fine h2 { color:#7c2d12; } .wi-fine p { color:#7c2d12; }
.wi-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:1rem; }
.wi-grid > div { padding:1.6rem 1.5rem; background:#fff; border:1px solid #e9ecef; border-radius:15px; }
.wi-badge { display:inline-block; margin-bottom:.65rem; padding:.2rem .75rem; border-radius:50px; background:#eaf7ef; color:#1a7f4b; font-size:.68rem; font-weight:700; letter-spacing:1px; text-transform:uppercase; }
.wi-badge-no { background:#f8f9fa; color:#6c757d; }
.wi-file { padding:2.5rem; border-radius:20px; background:linear-gradient(135deg,#0f1f7a 0%,#0056b3 100%); color:#fff; }
.wi-steps { margin:0; padding-left:1.25rem; }
.wi-steps li { padding:.7rem 0; border-bottom:1px solid rgba(255,255,255,.18); }
.wi-steps li:last-child { border-bottom:0; }
.wi-steps strong { display:block; }
.wi-steps span { display:block; opacity:.75; font-size:.88rem; line-height:1.5; }

/* ======================= COLORADO — penalty ladder ======================= */
.co-hero { position:relative; overflow:hidden; padding:2.75rem 2.25rem; border-radius:10px; background:linear-gradient(135deg,#0f1f7a 0%,#0056b3 100%); }
.co-hero-grid { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:2rem; align-items:center; }
.co-hero-grid img { max-width:100%; height:auto; filter:drop-shadow(0 10px 30px rgba(0,0,0,.25)); }
.co-ladder { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:1rem; align-items:end; }
.co-step { padding:1.75rem 1.5rem; border-radius:15px; border:1px solid #e9ecef; text-align:center; }
.co-step strong { display:block; margin:.5rem 0; font-size:1.35rem; font-weight:700; }
.co-step-1 { background:#f8f9fa; } .co-step-1 strong { color:#6c757d; }
.co-step-2 { background:#fff8f3; border-color:#f5d4bd; padding-top:2.5rem; } .co-step-2 strong { color:#c2410c; }
.co-step-3 { background:#fde5d3; border-color:#e8a87c; padding-top:3.25rem; } .co-step-3 strong { color:#7c2d12; }
.co-tier { display:inline-block; padding:.2rem .8rem; border-radius:50px; background:rgba(0,0,0,.06); font-size:.68rem; font-weight:700; letter-spacing:1px; text-transform:uppercase; }
.co-rights { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:1rem; }
.co-rights > div { padding:1.6rem 1.5rem; background:#fff; border:1px solid #e9ecef; border-radius:15px; }
.co-rights i { display:block; margin-bottom:.75rem; font-size:1.4rem; color:#0f1f7a; }
.co-choice { padding:2.5rem; border-radius:20px; background:linear-gradient(135deg,#0f1f7a 0%,#0056b3 100%); color:#fff; }
.co-choice-box { display:grid; gap:.85rem; }
.co-choice-box > div { padding:1.25rem 1.5rem; border-radius:15px; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.2); }
.co-choice-box strong { display:block; margin-bottom:.25rem; }
.co-choice-box span { font-size:.88rem; opacity:.8; }

/* ======================== MINNESOTA — charge stages ====================== */
.mn-hero { position:relative; overflow:hidden; padding:3rem 2rem; border-radius:10px; background:linear-gradient(135deg,#0f1f7a 0%,#0056b3 100%); }
.mn-stages { position:relative; margin:0; padding:0 0 0 3.75rem; list-style:none; }
.mn-stages::before { content:''; position:absolute; left:24px; top:14px; bottom:14px; width:2px; background:linear-gradient(180deg,#0f1f7a,rgba(15,31,122,.1)); }
.mn-stages > li { position:relative; margin-bottom:1rem; padding:1.4rem 1.7rem; background:#fff; border:1px solid #e9ecef; border-radius:15px; }
.mn-stages > li:last-child { margin-bottom:0; }
.mn-n { position:absolute; left:-3.75rem; top:1.2rem; width:50px; height:50px; display:flex; align-items:center; justify-content:center; border-radius:50%; border:4px solid #fff; background:linear-gradient(135deg,#0f1f7a 0%,#0056b3 100%); color:#fff; font-size:.85rem; font-weight:700; box-shadow:0 5px 20px rgba(15,31,122,.3); }
.mn-prep { padding:2.5rem; border-radius:20px; background:linear-gradient(135deg,#0f1f7a 0%,#0056b3 100%); color:#fff; }
.mn-prep-list { margin:0; padding:0; list-style:none; }
.mn-prep-list li { display:flex; gap:.85rem; padding:.75rem 0; border-bottom:1px solid rgba(255,255,255,.18); font-size:.93rem; }
.mn-prep-list li:last-child { border-bottom:0; }
.mn-prep-list i { margin-top:.2rem; color:#8fc0ff; width:20px; text-align:center; }

/* ==================== SOUTH CAROLINA — reply scripts ===================== */
.sc-hero { position:relative; overflow:hidden; padding:3rem 2.25rem; border-radius:10px; background:linear-gradient(135deg,#0f1f7a 0%,#0056b3 100%); }
.sc-scripts { display:grid; grid-template-columns:repeat(auto-fit,minmax(340px,1fr)); gap:1rem; }
.sc-scripts article { border:1px solid #e9ecef; border-radius:15px; overflow:hidden; }
.sc-said, .sc-reply { padding:1.2rem 1.4rem; }
.sc-said { background:#f8f9fa; border-bottom:1px solid #e9ecef; }
.sc-reply { background:#fff; }
.sc-said span, .sc-reply span { display:inline-block; margin-bottom:.4rem; font-size:.68rem; font-weight:700; letter-spacing:1px; text-transform:uppercase; }
.sc-said span { color:#6c757d; } .sc-reply span { color:#0f1f7a; }
.sc-said p { margin:0; font-style:italic; color:#6c757d; font-size:.92rem; }
.sc-reply p { margin:0; color:#333; font-size:.92rem; line-height:1.65; }
.sc-rule { padding:2.5rem; border-radius:20px; background:linear-gradient(135deg,#0f1f7a 0%,#0056b3 100%); color:#fff; }
.sc-rule-icon { font-size:4rem; opacity:.35; }
.sc-esc { display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:1rem; }
.sc-esc > div { padding:1.6rem 1.5rem; background:linear-gradient(135deg,#f8f9fa 0%,#fff 100%); border:1px solid #e9ecef; border-radius:15px; }

/* ======================== ALABAMA — federal first ======================== */
.al-hero { position:relative; overflow:hidden; padding:2.75rem 2.25rem; border-radius:10px; background:linear-gradient(135deg,#0f1f7a 0%,#0056b3 100%); }
.al-compare { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:1rem; }
.al-col { padding:2rem; border-radius:20px; border:1px solid #e9ecef; }
.al-col ul { margin:0; padding-left:1.15rem; color:#333; font-size:.92rem; line-height:1.7; }
.al-col li { margin-bottom:.5rem; }
.al-col-same { background:#f4fcf8; border-color:#bfe6d0; } .al-col-same h3 { color:#1a9d5c; }
.al-col-diff { background:#f8f9fa; } .al-col-diff h3 { color:#0f1f7a; }
.al-prep { padding:2.5rem; border-radius:20px; background:linear-gradient(135deg,#0f1f7a 0%,#0056b3 100%); color:#fff; }
.al-check { margin:0; padding-left:1.25rem; }
.al-check li { padding:.65rem 0; border-bottom:1px solid rgba(255,255,255,.18); line-height:1.6; font-size:.93rem; }
.al-check li:last-child { border-bottom:0; }

/* ======================== LOUISIANA — civil law ========================== */
.la-hero { position:relative; overflow:hidden; padding:3.25rem 2.25rem; border-radius:10px; background:linear-gradient(135deg,#0f1f7a 0%,#0056b3 100%); }
.la-layers { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:1rem; }
.la-layer { padding:2rem; border-radius:20px; border:1px solid #e9ecef; }
.la-layer ul { margin:0; padding-left:1.15rem; color:#333; font-size:.92rem; line-height:1.7; }
.la-layer li { margin-bottom:.5rem; }
.la-layer-fed { background:#f4fcf8; border-color:#bfe6d0; }
.la-layer-state { background:linear-gradient(135deg,#f8f9fa 0%,#fff 100%); border-color:#c9d7ff; }
.la-tag { display:inline-block; margin-bottom:1rem; padding:.25rem .85rem; border-radius:50px; background:#d6f2e2; color:#1a7f4b; font-size:.7rem; font-weight:700; letter-spacing:1px; text-transform:uppercase; }
.la-tag-alt { background:#eef3ff; color:#0f1f7a; }
.la-warn { display:grid; grid-template-columns:auto minmax(0,1fr); gap:1.25rem; align-items:center; padding:1.75rem 2rem; background:linear-gradient(135deg,#f8f9fa 0%,#fff 100%); border:1px solid #e9ecef; border-left:5px solid #0f1f7a; border-radius:4px 15px 15px 4px; }
.la-warn > i { font-size:1.8rem; color:#0f1f7a; }
.la-steps { display:grid; grid-template-columns:repeat(auto-fit,minmax(215px,1fr)); gap:1rem; }
.la-steps > div { position:relative; padding:2.5rem 1.5rem 1.5rem; background:#fff; border:1px solid #e9ecef; border-radius:15px; text-align:center; }
.la-n { position:absolute; top:-18px; left:50%; transform:translateX(-50%); width:40px; height:40px; display:flex; align-items:center; justify-content:center; border-radius:50%; border:4px solid #fff; background:linear-gradient(135deg,#0f1f7a 0%,#0056b3 100%); color:#fff; font-weight:700; box-shadow:0 5px 20px rgba(15,31,122,.3); }

@media (max-width: 767.98px) {
  .tn-hero,.ind-hero,.mo-hero,.md-hero,.wi-hero,.co-hero,.mn-hero,.sc-hero,.al-hero,.la-hero { padding:2.25rem 1.35rem; }
  .mo-hero-grid,.co-hero-grid,.al-hero-grid { grid-template-columns:1fr; }
  .ind-row { grid-template-columns:1fr; gap:.35rem; }
  .ind-row-head { display:none; }
  .co-step-2,.co-step-3 { padding-top:1.75rem; }
  .mn-stages { padding-left:3rem; } .mn-stages::before { left:19px; } .mn-n { left:-3rem; width:40px; height:40px; }
  .la-hero-map { width:250px; opacity:.12; }
  .tn-alert,.wi-fine,.la-warn { grid-template-columns:1fr; }
}

/* ======================== KENTUCKY — 12-month cycle ====================== */
.ky-cycle { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:1rem; }
.ky-cycle > div { padding:1.6rem 1.5rem; background:#fff; border:1px solid #e9ecef; border-top:4px solid #0f1f7a; border-radius:4px 4px 15px 15px; }
.ky-cycle span { display:inline-block; margin-bottom:.6rem; padding:.2rem .8rem; border-radius:50px; background:#eef3ff; color:#0f1f7a; font-size:.7rem; font-weight:700; letter-spacing:1px; text-transform:uppercase; }
.ky-month { padding: 1.5rem 1.35rem; background: #fff; border: 1px solid #e9ecef; border-top: 4px solid #0f1f7a; border-radius: 4px 4px 15px 15px; }
.ky-month span { display: inline-block; margin-bottom: 0.6rem; padding: 0.2rem 0.8rem; border-radius: 50px; background: rgba(15, 31, 122, 0.1); color: #0f1f7a; font-size: 0.72rem; font-weight: 600; letter-spacing: 0.5px; text-transform: uppercase; }

.ky-month-warn { border-top-color:#e8a87c; } .ky-month-warn span { background:#fde5d3; color:#c2410c; }
.ky-month-bad { border-top-color:#c2410c; background:#fff8f3; } .ky-month-bad span { background:#f8d0b8; color:#7c2d12; }
.ky-gap { padding:2.5rem; border-radius:20px; background:linear-gradient(135deg,#0f1f7a 0%,#0056b3 100%); color:#fff; }
.ky-gap-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem; }
.ky-gap-grid > div { padding:.9rem 1.1rem; border-radius:12px; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.2); font-size:.85rem; }
.ky-gap-grid span { display:block; margin-bottom:.25rem; font-size:.65rem; font-weight:700; letter-spacing:1px; text-transform:uppercase; opacity:.7; }
.ky-tips { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:1rem; }
.ky-tips article { padding:1.6rem 1.5rem; background:linear-gradient(135deg,#f8f9fa 0%,#fff 100%); border:1px solid #e9ecef; border-radius:15px; }
.ky-tips i { display:block; margin-bottom:.75rem; font-size:1.4rem; color:#0f1f7a; }

/* ========================= OREGON — retaliation ========================== */
.or-flags { display:grid; grid-template-columns:repeat(auto-fit,minmax(255px,1fr)); gap:1rem; }
.or-flags article { padding:1.6rem 1.5rem; background:#fff8f3; border:1px solid #f5d4bd; border-radius:15px; }
.or-badge { display:inline-block; margin-bottom:.6rem; padding:.2rem .8rem; border-radius:50px; background:#fde5d3; color:#c2410c; font-size:.68rem; font-weight:700; letter-spacing:1px; text-transform:uppercase; }
.or-log { padding:2.5rem; border-radius:20px; background:linear-gradient(135deg,#0f1f7a 0%,#0056b3 100%); color:#fff; }
.or-log-box { padding:1.5rem; background:#fff; border-radius:15px; color:#333; }
.or-log-row { display:grid; grid-template-columns:90px minmax(0,1fr) 110px; gap:1rem; padding:.6rem 0; border-bottom:1px solid #e9ecef; font-size:.87rem; }
.or-log-row:first-child { font-weight:700; color:#0f1f7a; font-size:.72rem; letter-spacing:1px; text-transform:uppercase; }
.or-log-note { margin-top:1rem; color:#6c757d; font-size:.8rem; font-style:italic; }
.or-routes { display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:1rem; }
.or-routes > div { padding:1.6rem 1.5rem; background:#fff; border:1px solid #e9ecef; border-radius:15px; }
.or-perm { display:grid; grid-template-columns:repeat(auto-fit,minmax(290px,1fr)); gap:1rem; }
.or-perm-col { padding:2rem; border-radius:20px; border:1px solid #e9ecef; }
.or-perm-col ul { margin:0; padding-left:1.15rem; color:#333; font-size:.92rem; line-height:1.7; }
.or-perm-col li { margin-bottom:.5rem; }
.or-perm-yes { background:#f4fcf8; border-color:#bfe6d0; } .or-perm-yes h3 { color:#1a9d5c; }
.or-perm-no { background:#fff8f3; border-color:#f5d4bd; } .or-perm-no h3 { color:#c2410c; }

/* ======================== OKLAHOMA — transitions ========================= */
.ok-moments { display:grid; grid-template-columns:repeat(auto-fit,minmax(290px,1fr)); gap:1rem; }
.ok-moments article { position:relative; padding:2.5rem 1.75rem 1.75rem; background:#fff; border:1px solid #e9ecef; border-radius:15px; }
.ok-num { position:absolute; top:1rem; right:1.5rem; font-size:1.5rem; font-weight:700; color:#eef2fb; }
.ok-pack { padding:2.5rem; border-radius:20px; background:linear-gradient(135deg,#0f1f7a 0%,#0056b3 100%); color:#fff; }
.ok-pack-box { padding:1.75rem; background:#fff; border-radius:15px; color:#333; }
.ok-pack-box ol { padding-left:1.15rem; color:#6c757d; font-size:.9rem; line-height:1.8; margin:0; }
.ok-pack-note { padding:1rem 1.25rem; background:#f8f9fa; border-left:3px solid #0f1f7a; border-radius:0 8px 8px 0; font-size:.88rem; font-style:italic; color:#333; }
.ok-perm { display:grid; grid-template-columns:repeat(auto-fit,minmax(290px,1fr)); gap:1rem; }
.ok-perm-col { padding:2rem; border-radius:20px; border:1px solid #e9ecef; }
.ok-perm-col ul { margin:0; padding-left:1.15rem; color:#333; font-size:.92rem; line-height:1.7; }
.ok-perm-col li { margin-bottom:.5rem; }
.ok-perm-yes { background:#f4fcf8; border-color:#bfe6d0; } .ok-perm-yes h3 { color:#1a9d5c; }
.ok-perm-no { background:#fff8f3; border-color:#f5d4bd; } .ok-perm-no h3 { color:#c2410c; }

/* ====================== CONNECTICUT — complaint clock =================== */
.ct-clock { display:grid; grid-template-columns:auto minmax(0,1fr); gap:2rem; align-items:center; }
.ct-face { display:flex; flex-direction:column; align-items:center; justify-content:center; width:200px; height:200px; border-radius:50%; border:10px solid #0f1f7a; background:linear-gradient(135deg,#f8f9fa 0%,#fff 100%); text-align:center; padding:1rem; }
.ct-face strong { font-size:2.2rem; font-weight:700; color:#0f1f7a; line-height:1; margin:.35rem 0; }
.ct-face-label { font-size:.65rem; font-weight:700; letter-spacing:1px; text-transform:uppercase; color:#6c757d; }
.ct-face-sub { font-size:.72rem; color:#6c757d; line-height:1.4; }
.ct-phases { display:grid; grid-template-columns:repeat(auto-fit,minmax(215px,1fr)); gap:.85rem; }
.ct-phases > div { padding:1.35rem 1.4rem; background:#fff; border:1px solid #e9ecef; border-radius:15px; }
.ct-ph { display:inline-block; margin-bottom:.55rem; padding:.2rem .75rem; border-radius:50px; background:#eef3ff; color:#0f1f7a; font-size:.66rem; font-weight:700; letter-spacing:1px; text-transform:uppercase; }
.ct-strong { padding:2.5rem; border-radius:20px; background:linear-gradient(135deg,#0f1f7a 0%,#0056b3 100%); color:#fff; }
.ct-strong-list { margin:0; padding:0; list-style:none; }
.ct-strong-list li { display:flex; gap:.85rem; padding:.75rem 0; border-bottom:1px solid rgba(255,255,255,.18); font-size:.93rem; }
.ct-strong-list li:last-child { border-bottom:0; }
.ct-strong-list i { margin-top:.2rem; color:#8fc0ff; width:20px; text-align:center; }
.ct-ready { display:grid; grid-template-columns:repeat(auto-fit,minmax(215px,1fr)); gap:1rem; }
.ct-ready > div { padding:1.6rem 1.5rem; background:linear-gradient(135deg,#f8f9fa 0%,#fff 100%); border:1px solid #e9ecef; border-radius:15px; text-align:center; }
.ct-ready i { display:block; margin-bottom:.75rem; font-size:1.4rem; color:#0f1f7a; }

/* ========================== UTAH — exemption check ======================= */
.ut-check { display:grid; gap:.85rem; }
.ut-q { display:grid; grid-template-columns:auto minmax(0,1fr); gap:1.35rem; align-items:start; padding:1.5rem 1.75rem; background:#fff; border:1px solid #e9ecef; border-radius:15px; }
.ut-qn { display:flex; align-items:center; justify-content:center; width:46px; height:46px; border-radius:12px; background:linear-gradient(135deg,#0f1f7a 0%,#0056b3 100%); color:#fff; font-size:.85rem; font-weight:700; }
.ut-note { padding:2.5rem; border-radius:20px; background:linear-gradient(135deg,#0f1f7a 0%,#0056b3 100%); color:#fff; }
.ut-note-box { padding:1.5rem; background:#fff; border-radius:15px; color:#333; }
.ut-note-box ul { margin:0; padding-left:1.15rem; color:#6c757d; font-size:.88rem; line-height:1.8; }
.ut-rights { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:1rem; }
.ut-rights > div { padding:1.6rem 1.5rem; background:#fff; border:1px solid #e9ecef; border-radius:15px; }
.ut-rights i { display:block; margin-bottom:.75rem; font-size:1.4rem; color:#0f1f7a; }

/* ========================== IOWA — verification form ==================== */
.ia-form { border:1px solid #e9ecef; border-radius:15px; overflow:hidden; }
.ia-line { display:grid; grid-template-columns:minmax(0,1fr) 190px; gap:1rem; padding:.85rem 1.35rem; border-bottom:1px solid #e9ecef; font-size:.92rem; color:#333; align-items:center; }
.ia-line:last-child { border-bottom:0; }
.ia-line-head { background:linear-gradient(135deg,#0f1f7a 0%,#0056b3 100%); color:#fff; font-weight:700; font-size:.75rem; letter-spacing:1px; text-transform:uppercase; }
.ia-yes { color:#1a9d5c; font-weight:700; }
.ia-no { color:#c2410c; font-weight:700; }
.ia-reply { padding:2.5rem; border-radius:20px; background:linear-gradient(135deg,#0f1f7a 0%,#0056b3 100%); color:#fff; }
.ia-reply-box { padding:1.75rem; background:#fff; border-radius:15px; color:#333; font-size:.92rem; line-height:1.7; }
.ia-reply-box p { margin-bottom:.9rem; }
.ia-reply-meta { padding-bottom:.75rem; margin-bottom:1rem !important; border-bottom:1px solid #e9ecef; color:#6c757d; font-size:.82rem; font-weight:600; }
.ia-esc { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:1rem; }
.ia-esc > div { position:relative; padding:2.4rem 1.5rem 1.5rem; background:linear-gradient(135deg,#f8f9fa 0%,#fff 100%); border:1px solid #e9ecef; border-radius:15px; }
.ia-step { position:absolute; top:-16px; left:1.5rem; width:36px; height:36px; display:flex; align-items:center; justify-content:center; border-radius:50%; border:4px solid #fff; background:linear-gradient(135deg,#0f1f7a 0%,#0056b3 100%); color:#fff; font-size:.8rem; font-weight:700; }

/* ========================= NEVADA — statute clauses ===================== */
.nv-clauses { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:1rem; }
.nv-clauses article { padding:1.85rem; background:#fff; border:1px solid #e9ecef; border-left:5px solid #0f1f7a; border-radius:4px 15px 15px 4px; }
.nv-c { display:inline-block; margin-bottom:.6rem; padding:.2rem .8rem; border-radius:50px; background:#eef3ff; color:#0f1f7a; font-size:.68rem; font-weight:700; letter-spacing:1px; text-transform:uppercase; }
.nv-use { padding:2.5rem; border-radius:20px; background:linear-gradient(135deg,#0f1f7a 0%,#0056b3 100%); color:#fff; }
.nv-quote { padding:1.75rem; background:#fff; border-radius:15px; color:#333; font-size:.95rem; line-height:1.75; font-style:italic; }
.nv-perm { display:grid; grid-template-columns:repeat(auto-fit,minmax(290px,1fr)); gap:1rem; }
.nv-perm-col { padding:2rem; border-radius:20px; border:1px solid #e9ecef; }
.nv-perm-col ul { margin:0; padding-left:1.15rem; color:#333; font-size:.92rem; line-height:1.7; }
.nv-perm-col li { margin-bottom:.5rem; }
.nv-perm-yes { background:#f4fcf8; border-color:#bfe6d0; } .nv-perm-yes h3 { color:#1a9d5c; }
.nv-perm-no { background:#fff8f3; border-color:#f5d4bd; } .nv-perm-no h3 { color:#c2410c; }

/* ======================== ARKANSAS — decision tree ====================== */
.ar-tree { max-width:760px; margin-inline:auto; }
.ar-node { padding:1.5rem 1.75rem; background:#fff; border:1px solid #e9ecef; border-radius:15px; }
.ar-node-end { background:linear-gradient(135deg,#0f1f7a 0%,#0056b3 100%); color:#fff; border-color:transparent; }
.ar-node-end .text-muted { color:rgba(255,255,255,.8) !important; }
.ar-tag { display:inline-block; margin-bottom:.55rem; padding:.2rem .8rem; border-radius:50px; background:#eef3ff; color:#0f1f7a; font-size:.66rem; font-weight:700; letter-spacing:1px; text-transform:uppercase; }
.ar-tag-end { background:rgba(255,255,255,.2); color:#fff; }
.ar-arrow { text-align:center; padding:.5rem 0; color:#c9d7ff; }
.ar-fed { padding:2.5rem; border-radius:20px; background:linear-gradient(135deg,#0f1f7a 0%,#0056b3 100%); color:#fff; }
.ar-fed-list { margin:0; padding:0; list-style:none; }
.ar-fed-list li { display:flex; gap:.85rem; padding:.75rem 0; border-bottom:1px solid rgba(255,255,255,.18); font-size:.93rem; }
.ar-fed-list li:last-child { border-bottom:0; }
.ar-fed-list i { margin-top:.2rem; color:#8fc0ff; width:20px; text-align:center; }

/* ==================== MISSISSIPPI — housing types ======================= */
.mis-types { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:1rem; }
.mis-types article { padding:1.85rem; background:#fff; border:1px solid #e9ecef; border-radius:15px; }
.mis-types article p { font-size:.9rem; line-height:1.7; }
.mis-icon { display:flex; align-items:center; justify-content:center; width:56px; height:56px; margin-bottom:1rem; border-radius:15px; background:linear-gradient(135deg,#0f1f7a 0%,#0056b3 100%); color:#fff; font-size:1.35rem; }
.mis-cov { padding:2.5rem; border-radius:20px; background:linear-gradient(135deg,#0f1f7a 0%,#0056b3 100%); color:#fff; }
.mis-myth { display:grid; gap:.85rem; }
.mis-myth > div { padding:1.25rem 1.5rem; border-radius:15px; background:#fff; color:#333; }
.mis-myth span { display:block; margin-bottom:.35rem; font-size:.66rem; font-weight:700; letter-spacing:1px; text-transform:uppercase; color:#6c757d; }
.mis-myth > div:last-child span { color:#0f1f7a; }
.mis-myth p { font-size:.9rem; line-height:1.65; }

/* =========================== KANSAS — campus =========================== */
.ks-path { display:grid; grid-template-columns:repeat(auto-fit,minmax(235px,1fr)); gap:1rem; }
.ks-stop { position:relative; padding:2.5rem 1.5rem 1.5rem; background:linear-gradient(135deg,#f8f9fa 0%,#fff 100%); border:1px solid #e9ecef; border-radius:15px; }
.ks-n { position:absolute; top:-18px; left:1.5rem; width:40px; height:40px; display:flex; align-items:center; justify-content:center; border-radius:50%; border:4px solid #fff; background:linear-gradient(135deg,#0f1f7a 0%,#0056b3 100%); color:#fff; font-weight:700; box-shadow:0 5px 20px rgba(15,31,122,.3); }
.ks-scope { padding:2.5rem; border-radius:20px; background:linear-gradient(135deg,#0f1f7a 0%,#0056b3 100%); color:#fff; }
.ks-scope-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:.65rem; }
.ks-scope-grid > div { display:flex; align-items:center; gap:.7rem; padding:.85rem 1.1rem; border-radius:12px; font-size:.88rem; }
.ks-yes { background:rgba(74,222,128,.18); border:1px solid rgba(74,222,128,.35); }
.ks-yes i { color:#4ade80; }
.ks-no { background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.2); }
.ks-no i { color:#fb923c; }

@media (max-width: 767.98px) {
  .ky-gap-grid { grid-template-columns:1fr; }
  .ct-clock { grid-template-columns:1fr; justify-items:center; }
  .or-log-row { grid-template-columns:70px minmax(0,1fr); }
  .or-log-row span:last-child { display:none; }
  .ia-line { grid-template-columns:1fr; gap:.25rem; }
  .ia-line-head { display:none; }
  .ut-q, .mis-myth { grid-template-columns:1fr; }
}

/* ======================= NEW MEXICO — jurisdiction ====================== */
.nm-tribal { padding:2.5rem; border-radius:20px; background:linear-gradient(135deg,#0f1f7a 0%,#0056b3 100%); color:#fff; }
.nm-tribal-box { padding:1.75rem; background:#fff; border-radius:15px; color:#333; }
.nm-tribal-box ul { margin:0; padding-left:1.15rem; color:#6c757d; font-size:.9rem; line-height:1.8; }
.nm-steps { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:1rem; }
.nm-steps > div { position:relative; padding:2.4rem 1.5rem 1.5rem; background:#fff; border:1px solid #e9ecef; border-radius:15px; }
.nm-n { position:absolute; top:-16px; left:1.5rem; width:36px; height:36px; display:flex; align-items:center; justify-content:center; border-radius:50%; border:4px solid #fff; background:linear-gradient(135deg,#0f1f7a 0%,#0056b3 100%); color:#fff; font-size:.8rem; font-weight:700; }

/* ========================= NEBRASKA — personas ========================== */
.ne-personas { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:1rem; }
.ne-personas article { padding:1.85rem; background:#fff; border:1px solid #e9ecef; border-radius:15px; }
.ne-personas p { font-size:.9rem; line-height:1.7; }
.ne-avatar { display:flex; align-items:center; justify-content:center; width:56px; height:56px; margin-bottom:1rem; border-radius:50%; background:linear-gradient(135deg,#0f1f7a 0%,#0056b3 100%); color:#fff; font-size:1.3rem; }
.ne-open { padding:2.5rem; border-radius:20px; background:linear-gradient(135deg,#0f1f7a 0%,#0056b3 100%); color:#fff; }
.ne-open-box { padding:1.75rem; background:#fff; border-radius:15px; color:#333; font-size:.92rem; line-height:1.7; }
.ne-open-box p { margin-bottom:.9rem; }
.ne-esc { display:grid; grid-template-columns:repeat(auto-fit,minmax(235px,1fr)); gap:1rem; }
.ne-esc > div { padding:1.6rem 1.5rem; background:linear-gradient(135deg,#f8f9fa 0%,#fff 100%); border:1px solid #e9ecef; border-radius:15px; }
.ne-perm { display:grid; grid-template-columns:repeat(auto-fit,minmax(290px,1fr)); gap:1rem; }
.ne-perm-col { padding:2rem; border-radius:20px; border:1px solid #e9ecef; }
.ne-perm-col ul { margin:0; padding-left:1.15rem; color:#333; font-size:.92rem; line-height:1.7; }
.ne-perm-col li { margin-bottom:.5rem; }
.ne-perm-yes { background:#f4fcf8; border-color:#bfe6d0; } .ne-perm-yes h3 { color:#1a9d5c; }
.ne-perm-no { background:#fff8f3; border-color:#f5d4bd; } .ne-perm-no h3 { color:#c2410c; }

/* ==================== WEST VIRGINIA — after a denial ==================== */
.wv-weeks { position:relative; margin:0; padding:0 0 0 3.75rem; list-style:none; }
.wv-weeks::before { content:''; position:absolute; left:24px; top:14px; bottom:14px; width:2px; background:linear-gradient(180deg,#0f1f7a,rgba(15,31,122,.1)); }
.wv-weeks > li { position:relative; margin-bottom:1rem; padding:1.4rem 1.7rem; background:#fff; border:1px solid #e9ecef; border-radius:15px; }
.wv-weeks > li:last-child { margin-bottom:0; }
.wv-w { position:absolute; left:-3.75rem; top:1.2rem; width:50px; height:50px; display:flex; align-items:center; justify-content:center; border-radius:50%; border:4px solid #fff; background:linear-gradient(135deg,#0f1f7a 0%,#0056b3 100%); color:#fff; font-size:.7rem; font-weight:700; text-align:center; line-height:1.1; }
.wv-reasons { display:grid; grid-template-columns:repeat(auto-fit,minmax(255px,1fr)); gap:1rem; }
.wv-reason { padding:1.5rem; background:#fff; border:1px solid #e9ecef; border-radius:15px; }
.wv-tag { display:inline-block; margin-bottom:.6rem; padding:.2rem .8rem; border-radius:50px; font-size:.66rem; font-weight:700; letter-spacing:1px; text-transform:uppercase; }
.wv-fix { background:#eaf7ef; color:#1a7f4b; }
.wv-bad { background:#fde5d3; color:#c2410c; }
.wv-file { padding:2.5rem; border-radius:20px; background:linear-gradient(135deg,#0f1f7a 0%,#0056b3 100%); color:#fff; }
.wv-file-list { margin:0; padding:0; list-style:none; }
.wv-file-list li { display:flex; gap:.85rem; padding:.75rem 0; border-bottom:1px solid rgba(255,255,255,.18); font-size:.93rem; }
.wv-file-list li:last-child { border-bottom:0; }
.wv-file-list i { margin-top:.2rem; color:#8fc0ff; width:20px; text-align:center; }

/* ==================== IDAHO — corporate vs local ======================== */
.id-split { display:grid; grid-template-columns:repeat(auto-fit,minmax(320px,1fr)); gap:1rem; }
.id-col { padding:2rem; border-radius:20px; border:1px solid #e9ecef; }
.id-col-corp { background:linear-gradient(135deg,#f8f9fa 0%,#fff 100%); }
.id-col-local { background:#f4f8ff; border-color:#c9d7ff; }
.id-col-head { display:flex; align-items:center; gap:.85rem; margin-bottom:1.25rem; padding-bottom:1rem; border-bottom:1px solid #e9ecef; }
.id-col-head i { display:flex; align-items:center; justify-content:center; width:46px; height:46px; border-radius:12px; background:linear-gradient(135deg,#0f1f7a 0%,#0056b3 100%); color:#fff; }
.id-col-line { margin-bottom:.75rem; color:#333; font-size:.92rem; line-height:1.65; }
.id-growth { padding:2.5rem; border-radius:20px; background:linear-gradient(135deg,#0f1f7a 0%,#0056b3 100%); color:#fff; }
.id-growth-box { padding:1.75rem; background:#fff; border-radius:15px; color:#333; font-size:.92rem; line-height:1.7; font-style:italic; }

/* ========================= HAWAII — quarantine ========================== */
.hi-alert { display:grid; grid-template-columns:auto minmax(0,1fr); gap:1.25rem; align-items:center; padding:1.75rem; background:#fff8f3; border:1px solid #f5d4bd; border-left:5px solid #c2410c; border-radius:4px 15px 15px 4px; }
.hi-alert > i { font-size:2rem; color:#c2410c; }
.hi-alert h2, .hi-alert p { color:#7c2d12; }
.hi-steps { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:1rem; }
.hi-steps > div { position:relative; padding:2.4rem 1.5rem 1.5rem; background:#fff; border:1px solid #e9ecef; border-radius:15px; }
.hi-n { position:absolute; top:-16px; left:1.5rem; width:36px; height:36px; display:flex; align-items:center; justify-content:center; border-radius:50%; border:4px solid #fff; background:linear-gradient(135deg,#0f1f7a 0%,#0056b3 100%); color:#fff; font-size:.8rem; font-weight:700; }
.hi-aoao { padding:2.5rem; border-radius:20px; background:linear-gradient(135deg,#0f1f7a 0%,#0056b3 100%); color:#fff; }
.hi-aoao-box { padding:1.75rem; background:#fff; border-radius:15px; color:#333; }
.hi-aoao-box ol { margin:0; padding-left:1.15rem; color:#6c757d; font-size:.9rem; line-height:1.8; }

/* =================== NEW HAMPSHIRE — leverage split ===================== */
.nh-split { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:1rem; }
.nh-col { padding:2rem; border-radius:20px; border:1px solid #e9ecef; }
.nh-col ul { margin:0; padding-left:1.15rem; color:#333; font-size:.92rem; line-height:1.7; }
.nh-col li { margin-bottom:.5rem; }
.nh-col-fixed { background:#f4f8ff; border-color:#c9d7ff; } .nh-col-fixed h3 { color:#0f1f7a; }
.nh-col-open { background:linear-gradient(135deg,#f8f9fa 0%,#fff 100%); } .nh-col-open h3 { color:#6c757d; }
.nh-tactic { padding:2.5rem; border-radius:20px; background:linear-gradient(135deg,#0f1f7a 0%,#0056b3 100%); color:#fff; }
.nh-tactic-box { padding:1.75rem; background:#fff; border-radius:15px; color:#333; font-size:.94rem; line-height:1.75; font-style:italic; }

/* ========================== MAINE — seasonal ============================ */
.mne-cycle { display:grid; grid-template-columns:repeat(auto-fit,minmax(290px,1fr)); gap:1rem; }
.mne-season { padding:1.85rem; background:#fff; border:1px solid #e9ecef; border-radius:15px; }
.mne-season p { font-size:.9rem; line-height:1.7; }
.mne-icon { display:flex; align-items:center; justify-content:center; width:52px; height:52px; margin-bottom:1rem; border-radius:15px; color:#fff; font-size:1.25rem; background:linear-gradient(135deg,#0f1f7a 0%,#0056b3 100%); }
.mne-tag { display:inline-block; margin-bottom:.6rem; padding:.2rem .8rem; border-radius:50px; background:#eef3ff; color:#0f1f7a; font-size:.68rem; font-weight:700; letter-spacing:1px; text-transform:uppercase; }
.mne-winter { border-top:3px solid #0f1f7a; }
.mne-summer { border-top:3px solid #e8a87c; }
.mne-year { border-top:3px solid #1a9d5c; }
.mne-timing { padding:2.5rem; border-radius:20px; background:linear-gradient(135deg,#0f1f7a 0%,#0056b3 100%); color:#fff; }
.mne-timing-list { margin:0; padding:0; list-style:none; }
.mne-timing-list li { display:flex; gap:.85rem; padding:.75rem 0; border-bottom:1px solid rgba(255,255,255,.18); font-size:.93rem; }
.mne-timing-list li:last-child { border-bottom:0; }
.mne-timing-list i { margin-top:.2rem; color:#4ade80; }

/* ========================= MONTANA — telehealth ========================= */
.mnt-flow { display:grid; grid-template-columns:repeat(auto-fit,minmax(235px,1fr)); gap:1rem; }
.mnt-stop { position:relative; padding:2.4rem 1.5rem 1.5rem; background:linear-gradient(135deg,#f8f9fa 0%,#fff 100%); border:1px solid #e9ecef; border-radius:15px; }
.mnt-n { position:absolute; top:-16px; left:1.5rem; width:36px; height:36px; display:flex; align-items:center; justify-content:center; border-radius:50%; border:4px solid #fff; background:linear-gradient(135deg,#0f1f7a 0%,#0056b3 100%); color:#fff; font-size:.8rem; font-weight:700; }
.mnt-prep { padding:2.5rem; border-radius:20px; background:linear-gradient(135deg,#0f1f7a 0%,#0056b3 100%); color:#fff; }
.mnt-prep-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:.85rem; }
.mnt-prep-grid > div { padding:1.25rem; border-radius:15px; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.2); }
.mnt-prep-grid i { display:block; margin-bottom:.5rem; font-size:1.2rem; }
.mnt-prep-grid p { opacity:.78; }

/* ====================== RHODE ISLAND — complaints ======================= */
.ri-steps { display:grid; gap:.85rem; }
.ri-step { display:grid; grid-template-columns:auto minmax(0,1fr); gap:1.35rem; align-items:start; padding:1.4rem 1.7rem; background:#fff; border:1px solid #e9ecef; border-radius:15px; }
.ri-n { display:flex; align-items:center; justify-content:center; width:42px; height:42px; border-radius:50%; background:linear-gradient(135deg,#0f1f7a 0%,#0056b3 100%); color:#fff; font-weight:700; }
.ri-old { padding:2.5rem; border-radius:20px; background:linear-gradient(135deg,#0f1f7a 0%,#0056b3 100%); color:#fff; }
.ri-old-box { padding:1.75rem; background:#fff; border-radius:15px; color:#333; }
.ri-old-box ul { margin:0; padding-left:1.15rem; color:#6c757d; font-size:.9rem; line-height:1.8; }

/* ====================== DELAWARE — community boards ===================== */
.de-board { display:grid; gap:.85rem; }
.de-row { display:grid; grid-template-columns:auto minmax(0,1fr); gap:1.35rem; align-items:start; padding:1.4rem 1.7rem; background:#fff; border:1px solid #e9ecef; border-left:4px solid #0f1f7a; border-radius:4px 15px 15px 4px; }
.de-step { display:inline-flex; align-items:center; justify-content:center; min-width:74px; padding:.35rem .75rem; border-radius:50px; background:#eef3ff; color:#0f1f7a; font-size:.7rem; font-weight:700; letter-spacing:1px; text-transform:uppercase; }
.de-myth { padding:2.5rem; border-radius:20px; background:linear-gradient(135deg,#0f1f7a 0%,#0056b3 100%); color:#fff; }
.de-myth-box { padding:1.75rem; background:#fff; border-radius:15px; color:#333; font-size:.94rem; line-height:1.75; font-style:italic; }

@media (max-width: 767.98px) {
  .wv-weeks { padding-left:3rem; } .wv-weeks::before { left:19px; } .wv-w { left:-3rem; width:40px; height:40px; font-size:.62rem; }
  .hi-alert, .ri-step, .de-row { grid-template-columns:1fr; }
}

/* CTA row injected into heroes that were designed without buttons */
.sl-hero-cta {
    position: relative;
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    margin-top: 1.75rem;
}
.state-hero .sl-hero-cta, .guide-hero .sl-hero-cta, .article-hero .sl-hero-cta,
.states-hero .sl-hero-cta, .hiw-hero .sl-hero-cta, .privacy-hero .sl-hero-cta,
.refund-hero .sl-hero-cta, .about-hero .sl-hero-cta, .pricing-hero .sl-hero-cta,
.faq-hero .sl-hero-cta, .nsp-evssd-hero .sl-hero-cta, .security-hero .sl-hero-cta,
.hero-section .sl-hero-cta { justify-content: center; }

/* ==================== SOUTH DAKOTA — month-to-month ===================== */
.sd-track { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:1rem; }
.sd-lane { padding:2rem; border-radius:20px; border:1px solid #e9ecef; }
.sd-lane ol { margin:0; padding-left:1.25rem; color:#333; font-size:.92rem; line-height:1.8; }
.sd-lane-good { background:#f4fcf8; border-color:#bfe6d0; }
.sd-lane-weak { background:#fff8f3; border-color:#f5d4bd; }
.sd-lane-tag { display:inline-block; margin-bottom:1rem; padding:.25rem .85rem; border-radius:50px; font-size:.7rem; font-weight:700; letter-spacing:1px; text-transform:uppercase; }
.sd-lane-good .sd-lane-tag { background:#d6f2e2; color:#1a7f4b; }
.sd-lane-weak .sd-lane-tag { background:#fde5d3; color:#c2410c; }
.sd-notice { padding:2.5rem; border-radius:20px; background:linear-gradient(135deg,#0f1f7a 0%,#0056b3 100%); color:#fff; }
.sd-notice-box { padding:1.75rem; background:#fff; border-radius:15px; color:#333; }
.sd-notice-box ul { margin:0; padding-left:1.15rem; color:#6c757d; font-size:.9rem; line-height:1.8; }
.sd-rules { display:grid; grid-template-columns:repeat(auto-fit,minmax(290px,1fr)); gap:.85rem; }
.sd-rule { display:grid; grid-template-columns:auto minmax(0,1fr); gap:1rem; align-items:start; padding:1.35rem 1.5rem; background:#fff; border:1px solid #e9ecef; border-radius:15px; }
.sd-rule > i { margin-top:.15rem; font-size:1.15rem; color:#1a9d5c; }
.sd-rule-no > i { color:#c2410c; }

/* ==================== NORTH DAKOTA — employer housing =================== */
.nd-two { display:grid; grid-template-columns:repeat(auto-fit,minmax(310px,1fr)); gap:1rem; }
.nd-side { padding:2rem; border-radius:20px; border:1px solid #e9ecef; }
.nd-side p { font-size:.92rem; line-height:1.7; color:#333; margin-bottom:.75rem; }
.nd-side-house { background:#f4f8ff; border-color:#c9d7ff; }
.nd-side-work { background:linear-gradient(135deg,#f8f9fa 0%,#fff 100%); }
.nd-side-head { display:flex; align-items:center; gap:.85rem; margin-bottom:1.25rem; padding-bottom:1rem; border-bottom:1px solid #e9ecef; }
.nd-side-head i { display:flex; align-items:center; justify-content:center; width:46px; height:46px; border-radius:12px; background:linear-gradient(135deg,#0f1f7a 0%,#0056b3 100%); color:#fff; }
.nd-temp { padding:2.5rem; border-radius:20px; background:linear-gradient(135deg,#0f1f7a 0%,#0056b3 100%); color:#fff; }
.nd-temp-list { margin:0; padding:0; list-style:none; }
.nd-temp-list li { display:flex; gap:.85rem; padding:.75rem 0; border-bottom:1px solid rgba(255,255,255,.18); font-size:.93rem; }
.nd-temp-list li:last-child { border-bottom:0; }
.nd-temp-list i { margin-top:.2rem; color:#4ade80; }
.nd-bounds { display:grid; grid-template-columns:repeat(auto-fit,minmax(290px,1fr)); gap:1rem; }
.nd-bound { padding:1.85rem; border-radius:20px; border:1px solid #e9ecef; font-size:.92rem; line-height:1.8; color:#333; }
.nd-can { background:#f4fcf8; border-color:#bfe6d0; } .nd-can h3 { color:#1a9d5c; }
.nd-cannot { background:#fff8f3; border-color:#f5d4bd; } .nd-cannot h3 { color:#c2410c; }

/* ======================== ALASKA — remote realities ===================== */
.ak-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:1rem; }
.ak-grid article { padding:1.75rem 1.5rem; background:#fff; border:1px solid #e9ecef; border-radius:15px; transition:all .3s ease; }
.ak-grid article:hover { border-color:#0f1f7a; box-shadow:0 10px 30px rgba(0,0,0,.08); transform:translateY(-4px); }
.ak-ico { display:flex; align-items:center; justify-content:center; width:52px; height:52px; margin-bottom:1rem; border-radius:15px; background:linear-gradient(135deg,#0f1f7a 0%,#0056b3 100%); color:#fff; font-size:1.2rem; }
.ak-housing { padding:2.5rem; border-radius:20px; background:linear-gradient(135deg,#0f1f7a 0%,#0056b3 100%); color:#fff; }
.ak-housing-box { padding:1.75rem; background:#fff; border-radius:15px; color:#333; }
.ak-housing-box ul { margin:0; padding-left:1.15rem; color:#6c757d; font-size:.9rem; line-height:1.8; }
.ak-bounds { display:grid; grid-template-columns:repeat(auto-fit,minmax(290px,1fr)); gap:.85rem; }
.ak-bounds > div { display:grid; grid-template-columns:auto minmax(0,1fr); gap:1rem; align-items:center; padding:1.2rem 1.4rem; background:#fff; border:1px solid #e9ecef; border-radius:15px; font-size:.92rem; color:#333; }
.ak-yn { display:inline-flex; align-items:center; justify-content:center; min-width:52px; padding:.25rem .7rem; border-radius:50px; font-size:.72rem; font-weight:700; letter-spacing:1px; text-transform:uppercase; }
.ak-y { background:#d6f2e2; color:#1a7f4b; }
.ak-n { background:#fde5d3; color:#c2410c; }

/* ===================== VERMONT — dual enforcement ======================= */
.vt-pair { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:1rem; }
.vt-body { padding:1.85rem; background:#fff; border:1px solid #e9ecef; border-top:4px solid #0f1f7a; border-radius:4px 4px 15px 15px; }
.vt-body-fed { border-top-color:#6c757d; }
.vt-badge { display:flex; align-items:center; justify-content:center; width:52px; height:52px; margin-bottom:1rem; border-radius:15px; background:linear-gradient(135deg,#0f1f7a 0%,#0056b3 100%); color:#fff; font-size:1.2rem; }
.vt-body-fed .vt-badge { background:#6c757d; }
.vt-scope { padding:2.5rem; border-radius:20px; background:linear-gradient(135deg,#0f1f7a 0%,#0056b3 100%); color:#fff; }
.vt-scope-box { padding:1.5rem 1.75rem; background:#fff; border-radius:15px; color:#333; }
.vt-row { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.7rem 0; border-bottom:1px solid #e9ecef; font-size:.92rem; }
.vt-row:last-child { border-bottom:0; }
.vt-ok { color:#1a9d5c; font-size:.85rem; }
.vt-no { color:#c2410c; font-size:.85rem; }
.vt-qa { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:.7rem; }
.vt-qa details { padding:1.1rem 1.35rem; background:#fff; border:1px solid #e9ecef; border-radius:15px; }
.vt-qa summary { position:relative; padding-right:1.6rem; cursor:pointer; list-style:none; font-weight:600; color:#333; }
.vt-qa summary::-webkit-details-marker { display:none; }
.vt-qa summary::after { content:"+"; position:absolute; right:0; top:0; color:#0f1f7a; font-weight:700; }
.vt-qa details[open] summary::after { content:"\2212"; }
.vt-qa p { margin:.75rem 0 0; color:#6c757d; font-size:.9rem; line-height:1.75; }

/* ======================== WYOMING — tied housing ======================== */
.wy-kinds { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:1rem; }
.wy-kinds article { padding:1.85rem; background:linear-gradient(135deg,#f8f9fa 0%,#fff 100%); border:1px solid #e9ecef; border-radius:15px; }
.wy-tag { display:inline-block; margin-bottom:.7rem; padding:.22rem .85rem; border-radius:50px; background:#eef3ff; color:#0f1f7a; font-size:.68rem; font-weight:700; letter-spacing:1px; text-transform:uppercase; }
.wy-fed { padding:2.5rem; border-radius:20px; background:linear-gradient(135deg,#0f1f7a 0%,#0056b3 100%); color:#fff; }
.wy-steps { margin:0; padding-left:1.25rem; }
.wy-steps li { padding:.65rem 0; border-bottom:1px solid rgba(255,255,255,.18); line-height:1.65; font-size:.93rem; }
.wy-steps li:last-child { border-bottom:0; }
.wy-bounds { display:grid; gap:.7rem; }
.wy-line { display:grid; grid-template-columns:auto minmax(0,1fr); gap:1rem; align-items:start; padding:1.15rem 1.5rem; background:#fff; border:1px solid #e9ecef; border-left:4px solid #1a9d5c; border-radius:4px 15px 15px 4px; font-size:.93rem; color:#333; }
.wy-line > i { margin-top:.2rem; color:#1a9d5c; }
.wy-line-no { border-left-color:#c2410c; }
.wy-line-no > i { color:#c2410c; }

@media (max-width: 767.98px) {
  .sd-rule, .ak-bounds > div, .wy-line { grid-template-columns:1fr; }
  .nd-two, .sd-track { grid-template-columns:1fr; }
}

/* ==========================================================================
   BATCH 1 ENRICHMENT — deposits/fees + validity/renewal sections
   States 1-25. Each state keeps its own prefix and its own skeleton, so no
   two pages share a layout. Brand tokens only: gradient #0f1f7a -> #0056b3,
   #333 text, #6c757d muted, #e9ecef borders, 700 max weight.
   ========================================================================== */

/* ----------------------------------------------------------- CALIFORNIA -- */
.ca-money-dl { margin: 0; }
.ca-money-dl dt {
    padding: 1.1rem 0 0.35rem;
    border-top: 1px solid #e9ecef;
    color: #333;
    font-size: 1.02rem;
    font-weight: 700;
}
.ca-money-dl dt:first-child { border-top: 0; }
.ca-money-dl dd {
    margin: 0 0 0.9rem;
    color: #6c757d;
    font-size: 0.93rem;
    line-height: 1.8;
}
.ca-tag {
    display: inline-block;
    margin-right: 0.6rem;
    padding: 0.15rem 0.7rem;
    border-radius: 50px;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}
.ca-tag-no { background: rgba(15, 31, 122, 0.1); color: #0f1f7a; }
.ca-tag-yes { background: #f1f3f5; color: #6c757d; }
.ca-money-note {
    margin-top: 1.5rem;
    padding: 1.6rem 1.75rem;
    border-radius: 15px;
    border-left: 4px solid #0f1f7a;
    background: #f8f9fa;
}
.ca-money-note p { color: #6c757d; font-size: 0.93rem; line-height: 1.8; }
.ca-renewal-steps { margin: 0; padding: 0; list-style: none; counter-reset: none; }
.ca-renewal-steps li {
    position: relative;
    padding: 1.15rem 1.35rem;
    margin-bottom: 0.75rem;
    border: 1px solid #e9ecef;
    border-radius: 15px;
    background: #fff;
}
.ca-renewal-steps strong {
    display: block;
    margin-bottom: 0.3rem;
    color: #0f1f7a;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
}
.ca-renewal-steps span { color: #6c757d; font-size: 0.92rem; line-height: 1.75; }

/* ---------------------------------------------------------------- TEXAS -- */
.tx-charge-table td.tx-off { color: #0f1f7a; font-weight: 600; }
.tx-charge-table td.tx-on { color: #6c757d; font-weight: 600; }
.tx-shelf { border: 1px solid #e9ecef; border-radius: 20px; overflow: hidden; background: #fff; }
.tx-shelf-head { padding: 2rem 2.25rem 0; }
.tx-shelf-body { padding: 1.25rem 2.25rem 2rem; }
.tx-shelf-body p { color: #6c757d; font-size: 0.95rem; line-height: 1.85; }
.tx-shelf-body strong { color: #333; }
.tx-shelf-foot {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    align-items: center;
    justify-content: space-between;
    padding: 1.5rem 2.25rem;
    background: linear-gradient(135deg, #0f1f7a 0%, #0056b3 100%);
    color: #fff;
}
.tx-shelf-foot span { font-size: 0.95rem; }

/* -------------------------------------------------------------- FLORIDA -- */
.fl-fee-split { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1rem; margin-top: 1.25rem; }
.fl-fee-split > div { padding: 1.5rem; border: 1px solid #e9ecef; border-radius: 15px; background: #fff; }
.fl-fee-split ul { margin: 0; padding-left: 1.15rem; color: #6c757d; font-size: 0.9rem; line-height: 1.9; }
.fl-currency-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(255px, 1fr)); gap: 1rem; }
.fl-currency-grid article {
    padding: 1.75rem 1.5rem;
    border: 1px solid #e9ecef;
    border-radius: 15px;
    background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
}
.fl-currency-grid p { margin: 0.5rem 0 0; color: #6c757d; font-size: 0.9rem; line-height: 1.8; }
.fl-c-num {
    display: block;
    margin-bottom: 0.5rem;
    font-size: 1.5rem;
    font-weight: 700;
    background: linear-gradient(135deg, #0f1f7a 0%, #0056b3 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* ------------------------------------------------------------- NEW YORK -- */
.ny-layer-stack { display: grid; gap: 0.85rem; }
.ny-layer-stack .ny-layer {
    display: flex;
    gap: 1.15rem;
    align-items: flex-start;
    padding: 1.5rem 1.65rem;
    border: 1px solid #e9ecef;
    border-radius: 15px;
    background: #fff;
}
.ny-layer-tag {
    flex: 0 0 auto;
    padding: 0.3rem 0.9rem;
    border-radius: 50px;
    background: linear-gradient(135deg, #0f1f7a 0%, #0056b3 100%);
    color: #fff;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
}
.ny-layer-stack strong { display: block; margin-bottom: 0.3rem; color: #333; }
.ny-layer-stack p { color: #6c757d; font-size: 0.92rem; line-height: 1.8; }
.ny-charges-foot {
    margin-top: 1.25rem;
    padding: 1.6rem 1.75rem;
    border-radius: 15px;
    background: #f8f9fa;
    color: #6c757d;
    font-size: 0.93rem;
    line-height: 1.8;
}
.ny-charges-foot strong { color: #333; }
.ny-val-card { padding: 1.75rem 1.5rem; border: 1px solid #e9ecef; border-top: 4px solid #0f1f7a; border-radius: 4px 4px 15px 15px; background: #fff; }
.ny-val-card p { color: #6c757d; font-size: 0.92rem; line-height: 1.8; }
.ny-val-strip { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 1rem; }
.ny-val-strip > div { padding: 1.35rem 1.5rem; border-radius: 15px; background: linear-gradient(135deg, #0f1f7a 0%, #0056b3 100%); color: #fff; }
.ny-val-strip strong { display: block; margin-bottom: 0.25rem; }
.ny-val-strip span { font-size: 0.9rem; opacity: 0.8; line-height: 1.7; }

/* -------------------------------------------------------------- ILLINOIS -- */
.il-fee-rail { display: grid; gap: 0.85rem; }
.il-fee-rail article { display: flex; gap: 1.25rem; align-items: flex-start; padding: 1.6rem 1.75rem; border: 1px solid #e9ecef; border-left: 4px solid #0f1f7a; border-radius: 4px 15px 15px 4px; background: #fff; }
.il-validity { padding: 2.5rem; border-radius: 20px; background: linear-gradient(135deg, #0f1f7a 0%, #0056b3 100%); }
.il-validity-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 0.85rem; }
.il-validity-grid > div { padding: 1.15rem 1.25rem; border-radius: 15px; background: rgba(255, 255, 255, 0.12); border: 1px solid rgba(255, 255, 255, 0.2); color: #fff; }
.il-validity-grid p { opacity: 0.85; line-height: 1.7; }

/* --------------------------------------------------------- PENNSYLVANIA -- */
.pa-fee-cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(290px, 1fr)); gap: 1rem; }
.pa-fee-col { padding: 2rem; border-radius: 20px; border: 1px solid #e9ecef; background: #fff; }
.pa-fee-off { border-left: 4px solid #0f1f7a; }
.pa-fee-on { background: #f8f9fa; }
.pa-validity { padding: 2.5rem; border-radius: 20px; background: #f8f9fa; border: 1px solid #e9ecef; }
.pa-val-rows { display: grid; gap: 0.75rem; }
.pa-val-rows > div { display: flex; gap: 1.15rem; align-items: flex-start; padding: 1.35rem 1.5rem; border-radius: 15px; background: #fff; border: 1px solid #e9ecef; }
.pa-val-rows > div > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: linear-gradient(135deg, #0f1f7a 0%, #0056b3 100%);
    color: #fff;
    font-size: 0.8rem;
    font-weight: 700;
}
.pa-val-rows strong { display: block; margin-bottom: 0.3rem; color: #333; }
.pa-val-rows p { color: #6c757d; font-size: 0.92rem; line-height: 1.8; }

/* ----------------------------------------------------------------- OHIO -- */
.oh-mark { flex: 0 0 auto; width: 26px; height: 26px; border-radius: 50%; position: relative; }
.oh-mark-x { background: rgba(15, 31, 122, 0.12); }
.oh-mark-x::after { content: "\00d7"; position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: #0f1f7a; font-weight: 700; }
.oh-mark-check { background: #f1f3f5; }
.oh-mark-check::after { content: "\2713"; position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: #6c757d; font-weight: 700; }
.oh-shelf { padding: 2.5rem; border-radius: 20px; background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%); border: 1px solid #e9ecef; }
.oh-shelf-inner { display: grid; grid-template-columns: 1.4fr 1fr; gap: 2rem; align-items: center; }
.oh-shelf-facts { display: grid; gap: 0.75rem; }
.oh-shelf-facts > div { padding: 1.15rem 1.35rem; border-radius: 15px; background: #fff; border: 1px solid #e9ecef; text-align: center; }
.oh-shelf-facts strong {
    display: block;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1;
    background: linear-gradient(135deg, #0f1f7a 0%, #0056b3 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}
.oh-shelf-facts span { display: block; margin-top: 0.4rem; color: #6c757d; font-size: 0.82rem; line-height: 1.5; }
@media (max-width: 767.98px) { .oh-shelf-inner { grid-template-columns: 1fr; } }

/* -------------------------------------------------------------- GEORGIA -- */
.ga-money-ba { display: grid; grid-template-columns: 1fr auto 1fr; gap: 1.25rem; align-items: center; }
.ga-money-before, .ga-money-after { padding: 2rem; border-radius: 20px; border: 1px solid #e9ecef; }
.ga-money-before { background: #f8f9fa; }
.ga-money-after { background: linear-gradient(135deg, #0f1f7a 0%, #0056b3 100%); color: #fff; }
.ga-money-ba ul { margin: 0; padding-left: 1.15rem; font-size: 0.92rem; line-height: 1.9; }
.ga-money-before ul { color: #6c757d; }
.ga-money-arrow { color: #0f1f7a; font-size: 1.5rem; }
.ga-currency-box { padding: 2rem; border-radius: 20px; background: #f8f9fa; border: 1px solid #e9ecef; }
.ga-currency-list { margin: 0; padding-left: 1.2rem; color: #6c757d; font-size: 0.92rem; line-height: 1.8; }
.ga-currency-list li { margin-bottom: 0.75rem; }
.ga-currency-list strong { color: #333; }
@media (max-width: 767.98px) { .ga-money-ba { grid-template-columns: 1fr; } .ga-money-arrow { transform: rotate(90deg); text-align: center; } }

/* ------------------------------------------------------- NORTH CAROLINA -- */
.nc-fee-band { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1rem; }
.nc-fee-item { padding: 1.75rem 1.5rem; border-radius: 15px; background: #fff; border: 1px solid #e9ecef; }
.nc-fee-item > span {
    display: inline-block;
    margin-bottom: 0.75rem;
    padding: 0.2rem 0.75rem;
    border-radius: 50px;
    background: linear-gradient(135deg, #0f1f7a 0%, #0056b3 100%);
    color: #fff;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 1px;
}
.nc-fee-item p { color: #6c757d; font-size: 0.9rem; line-height: 1.8; }
.nc-val-item { padding: 1.1rem 1.35rem; margin-bottom: 0.7rem; border: 1px solid #e9ecef; border-radius: 15px; background: #fff; }
.nc-val-item summary { cursor: pointer; list-style: none; font-weight: 600; color: #333; }
.nc-val-item summary::-webkit-details-marker { display: none; }
.nc-val-item p { margin: 0.8rem 0 0; color: #6c757d; font-size: 0.92rem; line-height: 1.8; }

/* ------------------------------------------------------------- MICHIGAN -- */
.mi-myth-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(290px, 1fr)); gap: 1rem; }
.mi-myth-grid .mi-myth { padding: 1.75rem; border-radius: 15px; background: #fff; border: 1px solid #e9ecef; }
.mi-myth-label, .mi-fact-label {
    margin: 0 0 0.35rem;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
}
.mi-myth-label { color: #6c757d; }
.mi-fact-label { margin-top: 1rem; color: #0f1f7a; }
.mi-myth-text { margin: 0; color: #333; font-style: italic; }
.mi-myth-grid p:last-child { color: #6c757d; font-size: 0.92rem; line-height: 1.8; }
.mi-val-table td.mi-no { color: #6c757d; font-weight: 600; }
.mi-val-table td.mi-yes { color: #0f1f7a; font-weight: 600; }

/* ----------------------------------------------------------- NEW JERSEY -- */
.nj-matrix { border: 1px solid #e9ecef; border-radius: 15px; overflow: hidden; }
.nj-matrix-head, .nj-matrix-row { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 1rem; padding: 0.95rem 1.35rem; }
.nj-matrix-head { background: linear-gradient(135deg, #0f1f7a 0%, #0056b3 100%); color: #fff; font-size: 0.78rem; font-weight: 600; letter-spacing: 1px; text-transform: uppercase; }
.nj-matrix-row { border-top: 1px solid #e9ecef; background: #fff; color: #333; font-size: 0.93rem; }
.nj-matrix-row:nth-child(even) { background: #f8f9fa; }
.nj-off { color: #0f1f7a; font-weight: 600; }
.nj-on { color: #6c757d; font-weight: 600; }
.nj-validity { padding: 2.5rem; border-radius: 20px; background: linear-gradient(135deg, #0f1f7a 0%, #0056b3 100%); }
.nj-val-cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 1rem; }
.nj-val-cols > div { padding: 1.5rem; border-radius: 15px; background: rgba(255, 255, 255, 0.12); border: 1px solid rgba(255, 255, 255, 0.2); color: #fff; }
.nj-val-cols p { opacity: 0.85; font-size: 0.92rem; line-height: 1.8; }

/* ------------------------------------------------------------- VIRGINIA -- */
.va-fee-anatomy { display: grid; grid-template-columns: repeat(auto-fit, minmax(215px, 1fr)); gap: 1rem; }
.va-fee-part { padding: 1.6rem 1.5rem; border-radius: 15px; background: #fff; border: 1px solid #e9ecef; }
.va-fee-part p { color: #6c757d; font-size: 0.88rem; line-height: 1.7; }
.va-fee-verdict { display: inline-block; padding: 0.25rem 0.8rem; border-radius: 50px; font-size: 0.74rem; font-weight: 600; }
.va-fee-out { background: rgba(15, 31, 122, 0.1); color: #0f1f7a; }
.va-fee-in { background: #f1f3f5; color: #6c757d; }
.va-validity { padding: 2.5rem; border-radius: 20px; background: #f8f9fa; border: 1px solid #e9ecef; }
.va-val-list { display: grid; gap: 0.7rem; }
.va-val-list > div { padding: 1.2rem 1.4rem; border-radius: 15px; background: #fff; border: 1px solid #e9ecef; color: #6c757d; font-size: 0.93rem; line-height: 1.8; }
.va-val-list strong { color: #333; }

/* ----------------------------------------------------------- WASHINGTON -- */
.wa-ledger-side { padding: 2rem; border-radius: 20px; border: 1px solid #e9ecef; }
.wa-ledger-left { background: #fff; border-left: 4px solid #0f1f7a; }
.wa-ledger-right { background: #f8f9fa; }
.wa-ledger-line { margin: 0; padding: 0.7rem 0; border-bottom: 1px solid #e9ecef; color: #6c757d; font-size: 0.93rem; }
.wa-ledger-line:last-child { border-bottom: 0; }
.wa-val-band { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1rem; }
.wa-val-band > div { padding: 1.6rem 1.5rem; border-radius: 15px; background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%); border: 1px solid #e9ecef; }
.wa-val-band p { color: #6c757d; line-height: 1.8; }

/* -------------------------------------------------------------- ARIZONA -- */
.az-receipt { max-width: 640px; margin: 0 auto; padding: 2rem 2.25rem; border-radius: 20px; background: #fff; border: 1px solid #e9ecef; }
.az-receipt-row { display: flex; justify-content: space-between; gap: 1rem; align-items: center; padding: 0.75rem 0; }
.az-r-item { color: #333; font-size: 0.94rem; }
.az-r-verdict { flex: 0 0 auto; padding: 0.2rem 0.8rem; border-radius: 50px; font-size: 0.74rem; font-weight: 600; }
.az-r-out { background: rgba(15, 31, 122, 0.1); color: #0f1f7a; }
.az-r-in { background: #f1f3f5; color: #6c757d; }
.az-receipt-rule { height: 1px; margin: 0.6rem 0; background: repeating-linear-gradient(90deg, #ced4da 0 6px, transparent 6px 12px); }
.az-validity { padding: 2.5rem; border-radius: 20px; background: #f8f9fa; border: 1px solid #e9ecef; }
.az-val-pair { padding: 1.25rem 0; border-bottom: 1px solid #e9ecef; }
.az-val-pair:last-child { border-bottom: 0; }
.az-val-ask { margin: 0 0 0.4rem; color: #0f1f7a; font-weight: 600; }
.az-val-say { margin: 0; color: #6c757d; font-size: 0.93rem; line-height: 1.8; }

/* -------------------------------------------------------- MASSACHUSETTS -- */
.ma-file { border: 1px solid #e9ecef; border-radius: 20px; overflow: hidden; }
.ma-file-tab { padding: 0.85rem 1.75rem; background: linear-gradient(135deg, #0f1f7a 0%, #0056b3 100%); color: #fff; font-size: 0.8rem; font-weight: 600; letter-spacing: 1px; text-transform: uppercase; }
.ma-file-tab-alt { background: #6c757d; }
.ma-file-body { padding: 1.75rem; background: #fff; color: #6c757d; font-size: 0.93rem; line-height: 1.8; }
.ma-file-body strong { color: #333; }
.ma-val-panel { padding: 2.25rem; border-radius: 20px; background: linear-gradient(135deg, #0f1f7a 0%, #0056b3 100%); color: #fff; }
.ma-val-panel p { opacity: 0.85; font-size: 0.95rem; line-height: 1.85; }
.ma-val-points { margin: 0; padding-left: 1.2rem; color: #6c757d; font-size: 0.93rem; line-height: 1.8; }
.ma-val-points li { margin-bottom: 0.7rem; }
.ma-val-points strong { color: #333; }

/* ------------------------------------------------------------ TENNESSEE -- */
.tn-fee-timeline { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 1rem; }
.tn-fee-point { padding: 1.75rem 1.5rem; border-radius: 15px; background: #fff; border: 1px solid #e9ecef; }
.tn-fee-when { display: inline-block; margin-bottom: 0.75rem; padding: 0.25rem 0.85rem; border-radius: 50px; background: linear-gradient(135deg, #0f1f7a 0%, #0056b3 100%); color: #fff; font-size: 0.72rem; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; }
.tn-fee-point p { color: #6c757d; font-size: 0.9rem; line-height: 1.8; }
.tn-val-split { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 1rem; }
.tn-val-legal, .tn-val-real { padding: 2rem; border-radius: 20px; border: 1px solid #e9ecef; }
.tn-val-legal { background: #f8f9fa; }
.tn-val-real { background: linear-gradient(135deg, #0f1f7a 0%, #0056b3 100%); color: #fff; }
.tn-val-legal p { color: #6c757d; line-height: 1.8; }
.tn-val-real p { opacity: 0.85; line-height: 1.8; }
.tn-val-tip { padding: 1.6rem 1.75rem; border-radius: 15px; border-left: 4px solid #0f1f7a; background: #f8f9fa; color: #6c757d; font-size: 0.93rem; line-height: 1.8; }
.tn-val-tip strong { color: #333; }

/* -------------------------------------------------------------- INDIANA -- */
.ind-annual-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 1rem; }
.ind-annual-card { padding: 1.75rem 1.5rem; border-radius: 15px; background: #fff; border: 1px solid #e9ecef; border-top: 4px solid #0f1f7a; }
.ind-annual-stay { border-top-color: #ced4da; background: #f8f9fa; }
.ind-annual-fig { margin: 0.4rem 0 0.6rem; color: #0f1f7a; font-size: 0.78rem; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; }
.ind-annual-card p:last-child { color: #6c757d; font-size: 0.88rem; line-height: 1.75; }
.ind-validity { padding: 2.5rem; border-radius: 20px; background: #f8f9fa; border: 1px solid #e9ecef; }
.ind-val-steps { display: grid; gap: 0.7rem; }
.ind-val-steps > div { display: flex; gap: 1.15rem; align-items: center; padding: 1.15rem 1.4rem; border-radius: 15px; background: #fff; border: 1px solid #e9ecef; }
.ind-val-steps > div > span {
    display: inline-flex; align-items: center; justify-content: center;
    flex: 0 0 auto; width: 32px; height: 32px; border-radius: 50%;
    background: linear-gradient(135deg, #0f1f7a 0%, #0056b3 100%);
    color: #fff; font-size: 0.82rem; font-weight: 700;
}
.ind-val-steps p { color: #6c757d; font-size: 0.92rem; line-height: 1.75; }
.ind-val-steps strong { color: #333; }

/* ------------------------------------------------------------- MISSOURI -- */
.mo-score-list { display: grid; gap: 0.7rem; }
.mo-score-row { display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; justify-content: space-between; padding: 1.2rem 1.5rem; border-radius: 15px; background: #fff; border: 1px solid #e9ecef; }
.mo-score-badge { flex: 0 0 auto; padding: 0.25rem 0.85rem; border-radius: 50px; font-size: 0.75rem; font-weight: 600; }
.mo-score-out { background: rgba(15, 31, 122, 0.1); color: #0f1f7a; }
.mo-score-in { background: #f1f3f5; color: #6c757d; }
.mo-validity { padding: 2.5rem; border-radius: 20px; background: #f8f9fa; border: 1px solid #e9ecef; }
.mo-val-card { padding: 2rem; border-radius: 20px; background: linear-gradient(135deg, #0f1f7a 0%, #0056b3 100%); color: #fff; }
.mo-val-item { padding: 0.8rem 0; border-bottom: 1px solid rgba(255, 255, 255, 0.18); }
.mo-val-item:last-child { border-bottom: 0; }
.mo-val-item strong { display: block; margin-bottom: 0.2rem; }
.mo-val-item span { font-size: 0.9rem; opacity: 0.8; line-height: 1.7; }

/* ------------------------------------------------------------- MARYLAND -- */
.md-corridor-fees { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 1rem; }
.md-cf-col { padding: 1.75rem 1.5rem; border-radius: 15px; background: #fff; border: 1px solid #e9ecef; border-left: 4px solid #0f1f7a; }
.md-cf-col p { color: #6c757d; font-size: 0.91rem; line-height: 1.8; }
.md-fee-base { padding: 1.6rem 1.75rem; border-radius: 15px; background: #f8f9fa; color: #6c757d; font-size: 0.93rem; line-height: 1.8; }
.md-fee-base strong { color: #333; }
.md-validity { padding: 2.5rem; border-radius: 20px; background: #fff; border: 1px solid #e9ecef; }
.md-val-warn { padding: 1.75rem; border-radius: 15px; background: linear-gradient(135deg, #0f1f7a 0%, #0056b3 100%); color: #fff; }
.md-val-warn p { opacity: 0.88; font-size: 0.93rem; line-height: 1.8; }

/* ------------------------------------------------------------ WISCONSIN -- */
.wi-fee-two { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 1rem; }
.wi-fee-fig { margin: 0; padding: 2rem; border-radius: 20px; background: #fff; border: 1px solid #e9ecef; }
.wi-fee-fig-alt { background: #f8f9fa; }
.wi-fee-fig figcaption { margin-bottom: 1rem; color: #0f1f7a; font-size: 0.8rem; font-weight: 600; letter-spacing: 1px; text-transform: uppercase; }
.wi-fee-fig ul { margin: 0; padding-left: 1.15rem; color: #6c757d; font-size: 0.92rem; line-height: 1.9; }
.wi-val-tiers { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1rem; }
.wi-val-tier { padding: 1.75rem 1.5rem; border-radius: 15px; background: #fff; border: 1px solid #e9ecef; }
.wi-val-age { display: inline-block; margin-bottom: 0.75rem; padding: 0.25rem 0.9rem; border-radius: 50px; background: linear-gradient(135deg, #0f1f7a 0%, #0056b3 100%); color: #fff; font-size: 0.75rem; font-weight: 600; }
.wi-val-tier p { color: #6c757d; font-size: 0.91rem; line-height: 1.8; }

/* ------------------------------------------------------------- COLORADO -- */
.co-fee-bars { display: grid; gap: 0.6rem; }
.co-fee-bar { display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; justify-content: space-between; padding: 1.1rem 1.5rem; border-radius: 50px; background: #fff; border: 1px solid #e9ecef; }
.co-fee-name { color: #333; font-weight: 600; }
.co-fee-state { font-size: 0.88rem; }
.co-fee-gone { color: #0f1f7a; font-weight: 600; }
.co-fee-kept { color: #6c757d; }
.co-validity { padding: 2.5rem; border-radius: 20px; background: linear-gradient(135deg, #0f1f7a 0%, #0056b3 100%); }
.co-val-rows { display: grid; gap: 0.6rem; }
.co-val-rows > div { display: grid; grid-template-columns: 190px 1fr; gap: 1rem; padding: 1rem 1.35rem; border-radius: 15px; background: rgba(255, 255, 255, 0.12); border: 1px solid rgba(255, 255, 255, 0.2); color: #fff; }
.co-val-rows span { font-size: 0.9rem; opacity: 0.85; line-height: 1.7; }
@media (max-width: 575.98px) { .co-val-rows > div { grid-template-columns: 1fr; gap: 0.3rem; } }

/* ------------------------------------------------------------ MINNESOTA -- */
.mn-charge-walk { margin: 0; padding: 0 0 0 1.35rem; display: grid; gap: 0.85rem; }
.mn-charge-walk li { padding: 1.5rem 1.6rem; border-radius: 15px; background: #fff; border: 1px solid #e9ecef; }
.mn-charge-walk p { color: #6c757d; font-size: 0.92rem; line-height: 1.8; }
.mn-validity { padding: 2.5rem; border-radius: 20px; background: #f8f9fa; border: 1px solid #e9ecef; }
.mn-val-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 1rem; }
.mn-val-cards > div { padding: 1.6rem 1.5rem; border-radius: 15px; background: #fff; border: 1px solid #e9ecef; border-top: 4px solid #0f1f7a; }
.mn-val-cards p { color: #6c757d; font-size: 0.9rem; line-height: 1.8; }

/* ------------------------------------------------------- SOUTH CAROLINA -- */
.sc-money-script { padding: 2rem 2.25rem; border-radius: 20px; background: linear-gradient(135deg, #0f1f7a 0%, #0056b3 100%); color: #fff; }
.sc-script-label { margin: 0 0 0.85rem; font-size: 0.75rem; font-weight: 600; letter-spacing: 1px; text-transform: uppercase; opacity: 0.8; }
.sc-script-body { margin: 0; font-size: 0.96rem; line-height: 1.9; opacity: 0.95; }
.sc-money-note { padding: 1.6rem 1.75rem; border-radius: 15px; background: #f8f9fa; border-left: 4px solid #0f1f7a; color: #6c757d; font-size: 0.93rem; line-height: 1.8; }
.sc-money-note strong { color: #333; }
.sc-validity { border: 1px solid #e9ecef; border-radius: 20px; overflow: hidden; }
.sc-val-head { padding: 2rem 2.25rem 1.25rem; background: #f8f9fa; }
.sc-val-body { padding: 1.75rem 2.25rem 2rem; background: #fff; }
.sc-val-body p { color: #6c757d; font-size: 0.94rem; line-height: 1.85; }
.sc-val-body strong { color: #333; }

/* -------------------------------------------------------------- ALABAMA -- */
.al-fed-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 1rem; }
.al-fed-block { padding: 1.75rem 1.6rem; border-radius: 15px; background: #fff; border: 1px solid #e9ecef; }
.al-fed-tag { display: inline-block; margin-bottom: 0.7rem; padding: 0.22rem 0.8rem; border-radius: 50px; background: rgba(15, 31, 122, 0.1); color: #0f1f7a; font-size: 0.72rem; font-weight: 600; letter-spacing: 1px; text-transform: uppercase; }
.al-fed-block p { color: #6c757d; font-size: 0.91rem; line-height: 1.8; }
.al-validity { padding: 2.5rem; border-radius: 20px; background: #f8f9fa; border: 1px solid #e9ecef; }
.al-val-box { padding: 2rem; border-radius: 20px; background: linear-gradient(135deg, #0f1f7a 0%, #0056b3 100%); color: #fff; }
.al-val-ul { margin: 0; padding-left: 1.15rem; font-size: 0.92rem; line-height: 1.9; opacity: 0.9; }

/* ------------------------------------------------------------ LOUISIANA -- */
.la-fee-pair { display: grid; grid-template-columns: repeat(auto-fit, minmax(285px, 1fr)); gap: 1rem; }
.la-fee-card { padding: 2rem; border-radius: 20px; background: #fff; border: 1px solid #e9ecef; }
.la-fee-card-alt { background: #f8f9fa; }
.la-fee-card p { color: #6c757d; font-size: 0.92rem; line-height: 1.8; }
.la-fee-ul { margin: 0; padding-left: 1.15rem; color: #6c757d; font-size: 0.92rem; line-height: 1.9; }
.la-val-flow { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; gap: 0.85rem; align-items: center; }
.la-val-step { padding: 1.75rem 1.5rem; border-radius: 15px; background: #fff; border: 1px solid #e9ecef; border-top: 4px solid #0f1f7a; }
.la-val-step p { color: #6c757d; font-size: 0.9rem; line-height: 1.8; }
.la-val-arrow { color: #ced4da; }
@media (max-width: 991.98px) { .la-val-flow { grid-template-columns: 1fr; } .la-val-arrow { display: none; } }

/* ==========================================================================
   BATCH 2 ENRICHMENT — deposits/fees + validity/renewal sections
   States 26-50. Same brand tokens; each state keeps its own skeleton.
   ========================================================================== */

/* ------------------------------------------------------------- KENTUCKY -- */
.ky-notice-board { display: grid; grid-template-columns: repeat(auto-fit, minmax(255px, 1fr)); gap: 1rem; }
.ky-notice { position: relative; padding: 1.75rem 1.5rem 3rem; border-radius: 15px; background: #fff; border: 1px solid #e9ecef; }
.ky-notice p { color: #6c757d; font-size: 0.9rem; line-height: 1.8; }
.ky-notice-keep { background: #f8f9fa; }
.ky-stamp { position: absolute; left: 1.5rem; bottom: 1.25rem; padding: 0.2rem 0.8rem; border-radius: 50px; background: rgba(15, 31, 122, 0.1); color: #0f1f7a; font-size: 0.72rem; font-weight: 600; letter-spacing: 0.5px; text-transform: uppercase; }
.ky-stamp-keep { background: #f1f3f5; color: #6c757d; }
.ky-renew-clock { display: grid; gap: 0.6rem; }
.ky-clock-row { display: flex; gap: 1rem; align-items: center; padding: 1rem 1.25rem; border-radius: 15px; background: #fff; border: 1px solid #e9ecef; }
.ky-clock-row span { flex: 0 0 auto; width: 78px; color: #0f1f7a; font-size: 0.78rem; font-weight: 700; letter-spacing: 0.5px; text-transform: uppercase; }
.ky-clock-row p { color: #6c757d; font-size: 0.88rem; line-height: 1.6; }
.ky-clock-warn { background: #f8f9fa; }

/* --------------------------------------------------------------- OREGON -- */
.or-fee-wrap { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 1rem; }
.or-fee-strike, .or-fee-keep { padding: 2rem; border-radius: 20px; border: 1px solid #e9ecef; }
.or-fee-strike { background: #f8f9fa; }
.or-fee-keep { background: #fff; }
.or-strike-head, .or-keep-head { margin: 0 0 1rem; color: #0f1f7a; font-size: 0.78rem; font-weight: 600; letter-spacing: 1px; text-transform: uppercase; }
.or-strike { margin: 0; padding: 0.65rem 0; border-bottom: 1px solid #e9ecef; color: #6c757d; font-size: 0.95rem; }
.or-strike:last-child { border-bottom: 0; }
.or-keep { margin: 0; padding: 0.65rem 0; border-bottom: 1px solid #e9ecef; color: #333; font-size: 0.93rem; }
.or-keep:last-child { border-bottom: 0; }
.or-validity { padding: 2.5rem; border-radius: 20px; background: linear-gradient(135deg, #0f1f7a 0%, #0056b3 100%); }
.or-val-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(215px, 1fr)); gap: 0.85rem; }
.or-val-grid > div { padding: 1.25rem 1.35rem; border-radius: 15px; background: rgba(255, 255, 255, 0.12); border: 1px solid rgba(255, 255, 255, 0.2); color: #fff; }
.or-val-k { display: block; margin-bottom: 0.4rem; font-size: 0.72rem; font-weight: 600; letter-spacing: 1px; text-transform: uppercase; opacity: 0.75; }
.or-val-grid p { font-size: 0.9rem; line-height: 1.7; opacity: 0.9; }

/* ------------------------------------------------------------- OKLAHOMA -- */
.ok-fee-split { display: grid; grid-template-columns: 1fr 1.2fr; gap: 0; border-radius: 20px; overflow: hidden; }
.ok-fee-left { padding: 2.5rem; background: linear-gradient(135deg, #0f1f7a 0%, #0056b3 100%); }
.ok-fee-right { padding: 2rem 2.25rem; background: #fff; border: 1px solid #e9ecef; border-left: 0; }
.ok-fee-item { padding: 0.85rem 0; border-bottom: 1px solid #e9ecef; }
.ok-fee-item:last-child { border-bottom: 0; }
.ok-fee-item strong { display: block; color: #0f1f7a; }
.ok-fee-item span { color: #6c757d; font-size: 0.88rem; }
.ok-fee-stay strong { color: #6c757d; }
.ok-val-table th[scope="row"] { width: 34%; color: #333; font-weight: 600; }
@media (max-width: 767.98px) { .ok-fee-split { grid-template-columns: 1fr; } .ok-fee-right { border-left: 1px solid #e9ecef; } }

/* ---------------------------------------------------------- CONNECTICUT -- */
.ct-fee-ol { margin: 0; padding-left: 1.4rem; display: grid; gap: 0.8rem; }
.ct-fee-ol li { padding: 1.5rem 1.6rem; border-radius: 15px; background: #fff; border: 1px solid #e9ecef; }
.ct-fee-ol p { color: #6c757d; font-size: 0.91rem; line-height: 1.8; }
.ct-val-panel { display: grid; grid-template-columns: 1fr 1.8fr; gap: 0; border: 1px solid #e9ecef; border-radius: 20px; overflow: hidden; }
.ct-val-side { padding: 2.25rem; background: #f8f9fa; }
.ct-val-main { padding: 2.25rem; background: #fff; }
.ct-val-main p { color: #6c757d; font-size: 0.94rem; line-height: 1.85; }
.ct-val-main strong { color: #333; }
@media (max-width: 767.98px) { .ct-val-panel { grid-template-columns: 1fr; } }

/* ----------------------------------------------------------------- UTAH -- */
.ut-pill-row { display: flex; flex-wrap: wrap; gap: 0.6rem; justify-content: center; margin-bottom: 1.5rem; }
.ut-pill { padding: 0.5rem 1.25rem; border-radius: 50px; font-size: 0.88rem; font-weight: 600; }
.ut-pill-off { background: linear-gradient(135deg, #0f1f7a 0%, #0056b3 100%); color: #fff; }
.ut-pill-on { background: #f1f3f5; color: #6c757d; border: 1px solid #e9ecef; }
.ut-fee-detail { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 1rem; }
.ut-fee-detail > div { padding: 1.75rem; border-radius: 15px; background: #fff; border: 1px solid #e9ecef; }
.ut-fee-detail p { color: #6c757d; font-size: 0.92rem; line-height: 1.8; }
.ut-validity { padding: 2.5rem; border-radius: 20px; background: #f8f9fa; border: 1px solid #e9ecef; }
.ut-val-band { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 0.85rem; }
.ut-val-cell { padding: 1.5rem 1.25rem; border-radius: 15px; background: #fff; border: 1px solid #e9ecef; text-align: center; }
.ut-val-cell strong { display: block; font-size: 1.9rem; font-weight: 700; line-height: 1; background: linear-gradient(135deg, #0f1f7a 0%, #0056b3 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
.ut-val-cell span { display: block; margin-top: 0.5rem; color: #6c757d; font-size: 0.82rem; line-height: 1.5; }

/* ----------------------------------------------------------------- IOWA -- */
.ia-form { max-width: 720px; margin: 0 auto; border: 1px solid #e9ecef; border-radius: 20px; overflow: hidden; }
.ia-form-row { display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; justify-content: space-between; padding: 1rem 1.6rem; border-bottom: 1px solid #e9ecef; background: #fff; }
.ia-form-row:last-child { border-bottom: 0; }
.ia-form-row:nth-child(even) { background: #f8f9fa; }
.ia-form-label { color: #333; font-weight: 600; font-size: 0.94rem; }
.ia-form-value { font-size: 0.88rem; }
.ia-value-no { color: #0f1f7a; font-weight: 600; }
.ia-value-yes { color: #6c757d; font-weight: 600; }
.ia-validity { padding: 2.5rem; border-radius: 20px; background: #f8f9fa; border: 1px solid #e9ecef; }
.ia-val-note { padding: 2rem; border-radius: 20px; background: linear-gradient(135deg, #0f1f7a 0%, #0056b3 100%); color: #fff; }
.ia-val-note p { font-size: 0.92rem; line-height: 1.8; opacity: 0.9; }

/* --------------------------------------------------------------- NEVADA -- */
.nv-statute-card { padding: 2.25rem 2.5rem; border-radius: 20px; background: linear-gradient(135deg, #0f1f7a 0%, #0056b3 100%); color: #fff; margin-bottom: 1.25rem; }
.nv-statute-lead { margin: 0 0 0.85rem; font-size: 1.08rem; line-height: 1.85; }
.nv-statute-cite { margin: 0; font-size: 0.78rem; font-weight: 600; letter-spacing: 1px; text-transform: uppercase; opacity: 0.75; }
.nv-fee-pair { display: grid; grid-template-columns: repeat(auto-fit, minmax(275px, 1fr)); gap: 1rem; }
.nv-fee-pair > div { padding: 1.85rem; border-radius: 15px; background: #fff; border: 1px solid #e9ecef; }
.nv-ul { margin: 0; padding-left: 1.15rem; color: #6c757d; font-size: 0.92rem; line-height: 1.9; }
.nv-val-steps { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1rem; }
.nv-val-step { position: relative; padding: 1.85rem 1.5rem 1.5rem; border-radius: 15px; background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%); border: 1px solid #e9ecef; }
.nv-val-dot { position: absolute; top: -8px; left: 1.5rem; width: 16px; height: 16px; border-radius: 50%; background: linear-gradient(135deg, #0f1f7a 0%, #0056b3 100%); }
.nv-val-step p { color: #6c757d; font-size: 0.9rem; line-height: 1.8; }

/* ------------------------------------------------------------- ARKANSAS -- */
.ar-band { display: grid; grid-template-columns: 200px 1fr; gap: 1.25rem; align-items: center; padding: 1.35rem 1.75rem; border: 1px solid #e9ecef; margin-bottom: -1px; }
.ar-band:first-of-type { border-radius: 15px 15px 0 0; }
.ar-band:last-of-type { border-radius: 0 0 15px 15px; }
.ar-band-a { background: #fff; }
.ar-band-b { background: #f8f9fa; }
.ar-band strong { color: #0f1f7a; }
.ar-band p { color: #6c757d; font-size: 0.92rem; line-height: 1.8; }
.ar-val-figure { padding: 2.5rem 2rem; border-radius: 20px; background: linear-gradient(135deg, #0f1f7a 0%, #0056b3 100%); color: #fff; text-align: center; }
.ar-val-big { display: block; font-size: 3.5rem; font-weight: 700; line-height: 1; }
.ar-val-unit { display: block; margin-bottom: 0.85rem; font-size: 0.8rem; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; opacity: 0.75; }
.ar-val-figure p { font-size: 0.9rem; line-height: 1.75; opacity: 0.85; }
@media (max-width: 575.98px) { .ar-band { grid-template-columns: 1fr; gap: 0.4rem; } }

/* ---------------------------------------------------------- MISSISSIPPI -- */
.mis-fee-layout { display: grid; grid-template-columns: 290px 1fr; gap: 1.25rem; }
.mis-fee-aside { padding: 2rem 1.75rem; border-radius: 20px; background: linear-gradient(135deg, #0f1f7a 0%, #0056b3 100%); color: #fff; height: fit-content; }
.mis-aside-item { margin: 0; padding: 0.6rem 0; border-bottom: 1px solid rgba(255, 255, 255, 0.18); font-size: 0.92rem; }
.mis-aside-item:last-child { border-bottom: 0; }
.mis-aside-keep { opacity: 0.7; }
.mis-fee-main { padding: 2rem 2.25rem; border-radius: 20px; background: #fff; border: 1px solid #e9ecef; }
.mis-validity { padding: 2.5rem; border-radius: 20px; background: #f8f9fa; border: 1px solid #e9ecef; }
.mis-val-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(225px, 1fr)); gap: 1rem; }
.mis-val-cards article { padding: 1.6rem 1.5rem; border-radius: 15px; background: #fff; border: 1px solid #e9ecef; border-top: 4px solid #0f1f7a; }
.mis-val-cards p { color: #6c757d; font-size: 0.89rem; line-height: 1.8; }
@media (max-width: 991.98px) { .mis-fee-layout { grid-template-columns: 1fr; } }

/* --------------------------------------------------------------- KANSAS -- */
.ks-track { display: grid; grid-template-columns: repeat(auto-fit, minmax(225px, 1fr)); gap: 1rem; position: relative; }
.ks-track-node { position: relative; padding: 2rem 1.5rem 1.5rem; border-radius: 15px; background: #fff; border: 1px solid #e9ecef; }
.ks-node-dot { position: absolute; top: 1rem; left: 1.5rem; width: 12px; height: 12px; border-radius: 50%; background: linear-gradient(135deg, #0f1f7a 0%, #0056b3 100%); }
.ks-track-node h3 { margin-top: 0.5rem; }
.ks-track-node p { color: #6c757d; font-size: 0.89rem; line-height: 1.8; }
.ks-validity { padding: 2.5rem; border-radius: 20px; background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%); border: 1px solid #e9ecef; }
.ks-val-inner { display: grid; grid-template-columns: 1.6fr 1fr; gap: 2rem; align-items: center; }
.ks-val-checks { margin: 0; padding: 1.75rem 1.75rem 1.75rem 2.9rem; border-radius: 20px; background: linear-gradient(135deg, #0f1f7a 0%, #0056b3 100%); color: #fff; font-size: 0.92rem; line-height: 2; }
@media (max-width: 767.98px) { .ks-val-inner { grid-template-columns: 1fr; } }

/* ----------------------------------------------------------- NEW MEXICO -- */
.nm-quote-pair { display: grid; grid-template-columns: repeat(auto-fit, minmax(290px, 1fr)); gap: 1rem; }
.nm-quote { padding: 2rem; border-radius: 20px; border: 1px solid #e9ecef; }
.nm-quote-wrong { background: #f8f9fa; }
.nm-quote-right { background: #fff; border-left: 4px solid #0f1f7a; }
.nm-quote-text { margin: 0 0 1rem; color: #333; font-size: 1.02rem; font-style: italic; line-height: 1.75; }
.nm-quote-verdict { margin: 0; color: #6c757d; font-size: 0.92rem; line-height: 1.8; }
.nm-val-box { padding: 2rem; border-radius: 20px; background: linear-gradient(135deg, #0f1f7a 0%, #0056b3 100%); color: #fff; }
.nm-val-box p { font-size: 0.92rem; line-height: 1.8; opacity: 0.9; }

/* ------------------------------------------------------------- NEBRASKA -- */
.ne-ribbon-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 1rem; }
.ne-ribbon-card { position: relative; padding: 2.75rem 1.6rem 1.6rem; border-radius: 15px; background: #fff; border: 1px solid #e9ecef; overflow: hidden; }
.ne-ribbon-keep { background: #f8f9fa; }
.ne-ribbon { position: absolute; top: 0; left: 0; padding: 0.3rem 1rem; border-radius: 0 0 15px 0; background: linear-gradient(135deg, #0f1f7a 0%, #0056b3 100%); color: #fff; font-size: 0.7rem; font-weight: 600; letter-spacing: 1px; text-transform: uppercase; }
.ne-ribbon-alt { background: #6c757d; }
.ne-ribbon-card p { color: #6c757d; font-size: 0.89rem; line-height: 1.8; }
.ne-validity { padding: 2.5rem; border-radius: 20px; background: #f8f9fa; border: 1px solid #e9ecef; }
.ne-val-two { display: grid; grid-template-columns: repeat(auto-fit, minmax(275px, 1fr)); gap: 1rem; }
.ne-val-legal, .ne-val-prac { padding: 1.85rem; border-radius: 15px; border: 1px solid #e9ecef; }
.ne-val-legal { background: #fff; }
.ne-val-prac { background: linear-gradient(135deg, #0f1f7a 0%, #0056b3 100%); color: #fff; }
.ne-val-legal p { color: #6c757d; font-size: 0.92rem; line-height: 1.8; }
.ne-val-prac p { font-size: 0.92rem; line-height: 1.8; opacity: 0.9; }

/* -------------------------------------------------------- WEST VIRGINIA -- */
.wv-callouts { display: grid; gap: 0.85rem; }
.wv-callout { padding: 1.6rem 1.85rem; border-radius: 15px; background: #fff; border: 1px solid #e9ecef; border-left: 4px solid #0f1f7a; }
.wv-callout-keep { background: #f8f9fa; border-left-color: #ced4da; }
.wv-callout p { color: #6c757d; font-size: 0.92rem; line-height: 1.8; }
.wv-val-strip { display: grid; grid-template-columns: repeat(auto-fit, minmax(255px, 1fr)); gap: 1rem; }
.wv-val-item { position: relative; padding: 1.75rem 1.5rem 1.5rem 3.5rem; border-radius: 15px; background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%); border: 1px solid #e9ecef; }
.wv-val-num { position: absolute; top: 1.5rem; left: 1.35rem; display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 50%; background: linear-gradient(135deg, #0f1f7a 0%, #0056b3 100%); color: #fff; font-size: 0.8rem; font-weight: 700; }
.wv-val-item p { color: #6c757d; font-size: 0.9rem; line-height: 1.8; }
.wv-val-item strong { color: #333; }

/* ---------------------------------------------------------------- IDAHO -- */
.id-rule-card { display: grid; grid-template-columns: 1fr auto 1fr; gap: 2rem; padding: 2.5rem; border-radius: 20px; background: #fff; border: 1px solid #e9ecef; }
.id-rule-label { margin: 0 0 0.75rem; color: #0f1f7a; font-size: 0.78rem; font-weight: 600; letter-spacing: 1px; text-transform: uppercase; }
.id-rule-body { margin: 0; color: #6c757d; font-size: 0.94rem; line-height: 1.85; }
.id-rule-div { width: 1px; background: #e9ecef; }
.id-val-list { border: 1px solid #e9ecef; border-radius: 20px; overflow: hidden; }
.id-val-row { display: flex; justify-content: space-between; gap: 1rem; padding: 1rem 1.5rem; border-bottom: 1px solid #e9ecef; background: #fff; }
.id-val-row:last-child { border-bottom: 0; }
.id-val-row:nth-child(even) { background: #f8f9fa; }
.id-val-row span { color: #6c757d; font-size: 0.92rem; }
.id-val-row strong { color: #0f1f7a; font-size: 0.92rem; }
@media (max-width: 767.98px) { .id-rule-card { grid-template-columns: 1fr; gap: 1.5rem; } .id-rule-div { width: auto; height: 1px; } }

/* --------------------------------------------------------------- HAWAII -- */
.hi-fee-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1rem; }
.hi-fee-card { position: relative; padding: 1.75rem 1.5rem 3.25rem; border-radius: 15px; background: #fff; border: 1px solid #e9ecef; }
.hi-fee-card p { color: #6c757d; font-size: 0.89rem; line-height: 1.8; }
.hi-tag { position: absolute; left: 1.5rem; bottom: 1.25rem; padding: 0.2rem 0.8rem; border-radius: 50px; font-size: 0.72rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; }
.hi-tag-off { background: rgba(15, 31, 122, 0.1); color: #0f1f7a; }
.hi-tag-on { background: #f1f3f5; color: #6c757d; }
.hi-import { padding: 1.85rem 2rem; border-radius: 20px; background: linear-gradient(135deg, #0f1f7a 0%, #0056b3 100%); color: #fff; }
.hi-import p { font-size: 0.94rem; line-height: 1.85; opacity: 0.9; }
.hi-validity { padding: 2.5rem; border-radius: 20px; background: #f8f9fa; border: 1px solid #e9ecef; }
.hi-val-pair { display: grid; grid-template-columns: repeat(auto-fit, minmax(275px, 1fr)); gap: 1rem; }
.hi-val-col { padding: 1.85rem; border-radius: 15px; background: #fff; border: 1px solid #e9ecef; }
.hi-val-col p { color: #6c757d; font-size: 0.92rem; line-height: 1.8; }

/* -------------------------------------------------------- NEW HAMPSHIRE -- */
.nh-plaques { display: grid; gap: 0.85rem; }
.nh-plaque { display: flex; gap: 1.35rem; align-items: flex-start; padding: 1.6rem 1.85rem; border-radius: 15px; background: #fff; border: 1px solid #e9ecef; }
.nh-plaque-keep { background: #f8f9fa; }
.nh-plaque-n { flex: 0 0 auto; font-size: 1.5rem; font-weight: 700; line-height: 1; background: linear-gradient(135deg, #0f1f7a 0%, #0056b3 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
.nh-plaque p { color: #6c757d; font-size: 0.9rem; line-height: 1.8; }
.nh-val-board { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 1rem; }
.nh-val-cell { padding: 1.75rem 1.5rem; border-radius: 15px; background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%); border: 1px solid #e9ecef; }
.nh-val-cell p { color: #6c757d; font-size: 0.9rem; line-height: 1.8; }

/* ---------------------------------------------------------------- MAINE -- */
.mne-ledger { max-width: 760px; margin: 0 auto; }
.mne-ledger-row { display: flex; align-items: baseline; gap: 0.75rem; padding: 0.85rem 0; }
.mne-l-name { color: #333; font-size: 0.95rem; }
.mne-l-rule { flex: 1 1 auto; border-bottom: 1px dotted #ced4da; }
.mne-l-val { font-size: 0.85rem; font-weight: 600; }
.mne-l-off { color: #0f1f7a; }
.mne-l-on { color: #6c757d; }
.mne-val-wrap { border: 1px solid #e9ecef; border-radius: 20px; overflow: hidden; }
.mne-val-head { padding: 2rem 2.25rem; background: linear-gradient(135deg, #0f1f7a 0%, #0056b3 100%); }
.mne-val-body { padding: 2rem 2.25rem; background: #fff; }
.mne-val-body p { color: #6c757d; font-size: 0.94rem; line-height: 1.85; }
.mne-val-body strong { color: #333; }

/* -------------------------------------------------------------- MONTANA -- */
.mnt-banners { display: grid; gap: 0.7rem; }
.mnt-banner { display: grid; grid-template-columns: 130px 1fr; gap: 1.25rem; align-items: center; padding: 1.35rem 1.75rem; border-radius: 50px; background: #fff; border: 1px solid #e9ecef; }
.mnt-banner-keep { background: #f8f9fa; }
.mnt-banner-k { color: #0f1f7a; font-size: 0.78rem; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; }
.mnt-banner-v { color: #6c757d; font-size: 0.92rem; line-height: 1.75; }
.mnt-banner-v strong { color: #333; }
.mnt-validity { padding: 2.5rem; border-radius: 20px; background: #f8f9fa; border: 1px solid #e9ecef; }
.mnt-val-card { padding: 2rem; border-radius: 20px; background: linear-gradient(135deg, #0f1f7a 0%, #0056b3 100%); color: #fff; }
.mnt-val-line { display: flex; justify-content: space-between; gap: 1rem; padding: 0.75rem 0; border-bottom: 1px solid rgba(255, 255, 255, 0.18); font-size: 0.92rem; }
.mnt-val-line:last-child { border-bottom: 0; }
.mnt-val-line span { opacity: 0.8; }
@media (max-width: 575.98px) { .mnt-banner { grid-template-columns: 1fr; gap: 0.4rem; border-radius: 15px; } }

/* --------------------------------------------------------- RHODE ISLAND -- */
.ri-fee-table th[scope="row"] { color: #333; font-weight: 600; }
.ri-fee-table td.ri-off { color: #0f1f7a; font-weight: 600; }
.ri-fee-table td.ri-on { color: #6c757d; font-weight: 600; }
.ri-val-flow { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 1rem; }
.ri-val-node { padding: 1.75rem 1.5rem; border-radius: 15px; background: #fff; border: 1px solid #e9ecef; border-bottom: 4px solid #0f1f7a; }
.ri-val-node p { color: #6c757d; font-size: 0.9rem; line-height: 1.8; }

/* ------------------------------------------------------------- DELAWARE -- */
.de-fee-cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(290px, 1fr)); gap: 1rem; }
.de-fee-col { padding: 2rem; border-radius: 20px; background: #fff; border: 1px solid #e9ecef; }
.de-badge { display: inline-block; margin-bottom: 1rem; padding: 0.25rem 0.9rem; border-radius: 50px; font-size: 0.72rem; font-weight: 600; letter-spacing: 1px; text-transform: uppercase; }
.de-badge-off { background: linear-gradient(135deg, #0f1f7a 0%, #0056b3 100%); color: #fff; }
.de-badge-on { background: #f1f3f5; color: #6c757d; }
.de-fee-col p { color: #6c757d; font-size: 0.92rem; line-height: 1.8; }
.de-fee-col strong { color: #333; }
.de-validity { padding: 2.5rem; border-radius: 20px; background: #f8f9fa; border: 1px solid #e9ecef; }
.de-val-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1rem; }
.de-val-grid > div { padding: 1.6rem 1.5rem; border-radius: 15px; background: #fff; border: 1px solid #e9ecef; }
.de-val-grid strong { display: block; margin-bottom: 0.4rem; color: #0f1f7a; }
.de-val-grid p { color: #6c757d; font-size: 0.89rem; line-height: 1.8; }

/* --------------------------------------------------------- SOUTH DAKOTA -- */
.sd-offset { display: grid; gap: 0.85rem; }
.sd-off-item { padding: 1.75rem 1.85rem; border-radius: 15px; background: #fff; border: 1px solid #e9ecef; max-width: 82%; }
.sd-off-l { margin-right: auto; border-left: 4px solid #0f1f7a; }
.sd-off-r { margin-left: auto; border-right: 4px solid #0f1f7a; }
.sd-off-keep { background: #f8f9fa; border-right-color: #ced4da; }
.sd-off-item p { color: #6c757d; font-size: 0.91rem; line-height: 1.8; }
.sd-validity { padding: 2.5rem; border-radius: 20px; background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%); border: 1px solid #e9ecef; }
.sd-val-inner { display: grid; grid-template-columns: 1fr 1.7fr; gap: 2rem; }
.sd-val-text p { color: #6c757d; font-size: 0.94rem; line-height: 1.85; }
@media (max-width: 767.98px) { .sd-off-item { max-width: 100%; } .sd-val-inner { grid-template-columns: 1fr; } }

/* --------------------------------------------------------- NORTH DAKOTA -- */
.nd-panel { display: grid; grid-template-columns: repeat(auto-fit, minmax(285px, 1fr)); gap: 0; border: 1px solid #e9ecef; border-radius: 20px; overflow: hidden; }
.nd-panel-half { padding: 2rem 2.25rem; background: #fff; }
.nd-panel-half + .nd-panel-half { background: #f8f9fa; }
.nd-list { margin: 0; padding-left: 1.15rem; font-size: 0.92rem; line-height: 2; }
.nd-list-off { color: #0f1f7a; }
.nd-list-on { color: #6c757d; }
.nd-val-stack { display: grid; gap: 0.7rem; }
.nd-val-item { padding: 1.2rem 1.5rem; border-radius: 15px; background: #fff; border: 1px solid #e9ecef; }
.nd-val-item strong { display: block; margin-bottom: 0.25rem; color: #333; }
.nd-val-item span { color: #6c757d; font-size: 0.9rem; line-height: 1.7; }

/* --------------------------------------------------------------- ALASKA -- */
.ak-wide-cards { display: grid; gap: 0.85rem; }
.ak-wide { padding: 1.75rem 2rem; border-radius: 15px; background: #fff; border: 1px solid #e9ecef; border-left: 4px solid #0f1f7a; }
.ak-wide-keep { background: #f8f9fa; border-left-color: #ced4da; }
.ak-wide p { color: #6c757d; font-size: 0.92rem; line-height: 1.8; }
.ak-val-note { padding: 2rem; border-radius: 20px; background: linear-gradient(135deg, #0f1f7a 0%, #0056b3 100%); color: #fff; }
.ak-val-note p { font-size: 0.92rem; line-height: 1.8; opacity: 0.9; }

/* -------------------------------------------------------------- VERMONT -- */
.vt-fee-lead { padding: 2.5rem; border-radius: 20px 20px 0 0; background: linear-gradient(135deg, #0f1f7a 0%, #0056b3 100%); }
.vt-fee-body { display: grid; grid-template-columns: repeat(auto-fit, minmax(235px, 1fr)); gap: 0; border: 1px solid #e9ecef; border-top: 0; border-radius: 0 0 20px 20px; overflow: hidden; }
.vt-fee-item { padding: 1.85rem 1.6rem; background: #fff; border-right: 1px solid #e9ecef; }
.vt-fee-item:last-child { border-right: 0; }
.vt-fee-keep { background: #f8f9fa; }
.vt-fee-item p { color: #6c757d; font-size: 0.89rem; line-height: 1.8; }
.vt-validity { padding: 2.5rem; border-radius: 20px; background: #f8f9fa; border: 1px solid #e9ecef; }
.vt-val-rows { display: grid; gap: 0.7rem; }
.vt-val-rows > div { padding: 1.35rem 1.6rem; border-radius: 15px; background: #fff; border: 1px solid #e9ecef; }
.vt-val-q { display: block; margin-bottom: 0.4rem; color: #0f1f7a; font-weight: 600; }
.vt-val-rows p { color: #6c757d; font-size: 0.91rem; line-height: 1.8; }

/* -------------------------------------------------------------- WYOMING -- */
.wy-box-pair { display: grid; grid-template-columns: repeat(auto-fit, minmax(285px, 1fr)); gap: 1rem; }
.wy-box { padding: 2rem 2.25rem; border-radius: 20px; border: 1px solid #e9ecef; }
.wy-box-off { background: linear-gradient(135deg, #0f1f7a 0%, #0056b3 100%); color: #fff; }
.wy-box-on { background: #fff; }
.wy-box-off p { font-size: 0.94rem; opacity: 0.9; }
.wy-box-on p { color: #6c757d; font-size: 0.94rem; }
.wy-deadline { padding: 1.6rem 1.85rem; border-radius: 15px; background: #f8f9fa; border-left: 4px solid #0f1f7a; color: #6c757d; font-size: 0.93rem; line-height: 1.8; }
.wy-deadline strong { color: #333; }
.wy-validity { padding: 2.5rem; border-radius: 20px; background: #fff; border: 1px solid #e9ecef; }
.wy-val-grid { display: grid; grid-template-columns: 1.6fr 1fr; gap: 2rem; align-items: start; }
.wy-val-aside { padding: 1.85rem; border-radius: 20px; background: linear-gradient(135deg, #0f1f7a 0%, #0056b3 100%); color: #fff; }
.wy-val-aside p { padding: 0.5rem 0; border-bottom: 1px solid rgba(255, 255, 255, 0.18); font-size: 0.9rem; opacity: 0.9; }
.wy-val-aside p:last-child { border-bottom: 0; }
@media (max-width: 767.98px) { .wy-val-grid { grid-template-columns: 1fr; } }

/* ===== PER-PAGE SKELETONS FOR THE FORMERLY SHARED LAYOUTS ===== */

/* ---- G1: one distinct skeleton per page ---- */

.nc-bd { margin: 0; display: grid; grid-template-columns: 1fr auto; gap: 0; }
.nc-bd dt { padding: 1.05rem 1.25rem; border-top: 1px solid #e9ecef; color: #333; font-size: 0.95rem; font-weight: 600; }
.nc-bd dd { margin: 0; padding: 1.05rem 1.25rem; border-top: 1px solid #e9ecef; text-align: right; }
.nc-bd-tag { display: inline-block; padding: 0.2rem 0.85rem; border-radius: 50px; font-size: 0.74rem; font-weight: 600; }
.nc-bd-y { background: rgba(15, 31, 122, 0.1); color: #0f1f7a; }
.nc-bd-n { background: #f1f3f5; color: #6c757d; }


.mi-bd-stack { display: grid; gap: 0.85rem; }
.mi-bd-part { padding: 1.85rem 2rem; border-radius: 20px; background: #fff; border: 1px solid #e9ecef; border-left: 4px solid #0f1f7a; }
.mi-bd-part-no { background: #f8f9fa; border-left-color: #ced4da; }
.mi-bd-part ul { margin: 0; padding-left: 1.15rem; color: #6c757d; font-size: 0.93rem; line-height: 1.95; }


.va-bd-ol { margin: 0; padding: 0; list-style: none; counter-reset: none; display: grid; gap: 0.6rem; }
.va-bd-ol li { display: flex; gap: 1rem; align-items: center; padding: 1.05rem 1.4rem; border-radius: 50px; background: #fff; border: 1px solid #e9ecef; color: #333; font-size: 0.94rem; }
.va-bd-mark { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 30px; height: 30px; border-radius: 50%; font-size: 0.85rem; font-weight: 700; }
.va-bd-ok .va-bd-mark { background: linear-gradient(135deg, #0f1f7a 0%, #0056b3 100%); color: #fff; }
.va-bd-no .va-bd-mark { background: #f1f3f5; color: #6c757d; }
.va-bd-no { background: #f8f9fa; }


.wa-bd-bands { display: grid; gap: 0.55rem; }
.wa-bd-band { display: grid; grid-template-columns: 110px 1fr; gap: 1.1rem; align-items: center; padding: 1.15rem 1.6rem; border-radius: 15px; border: 1px solid #e9ecef; background: #fff; }
.wa-bd-band-n { background: #f8f9fa; }
.wa-bd-k { font-size: 0.76rem; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; }
.wa-bd-band-y .wa-bd-k { color: #0f1f7a; }
.wa-bd-band-n .wa-bd-k { color: #6c757d; }
.wa-bd-band p { color: #6c757d; font-size: 0.93rem; line-height: 1.7; }
@media (max-width: 575.98px) { .wa-bd-band { grid-template-columns: 1fr; gap: 0.35rem; } }


.ma-bd-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(255px, 1fr)); gap: 1rem; }
.ma-bd-card { position: relative; padding: 1.75rem 1.5rem 3.1rem; border-radius: 15px; background: #fff; border: 1px solid #e9ecef; }
.ma-bd-card i { display: block; margin-bottom: 0.75rem; font-size: 1.35rem; color: #0f1f7a; }
.ma-bd-card p { color: #333; font-size: 0.93rem; line-height: 1.7; }
.ma-bd-chip { position: absolute; left: 1.5rem; bottom: 1.25rem; padding: 0.2rem 0.8rem; border-radius: 50px; background: #f1f3f5; color: #6c757d; font-size: 0.72rem; font-weight: 600; letter-spacing: 0.5px; text-transform: uppercase; }


.ind-bd-matrix { border: 1px solid #e9ecef; border-radius: 15px; overflow: hidden; }
.ind-bd-mhead, .ind-bd-mrow { display: grid; grid-template-columns: 1fr 110px; gap: 1rem; padding: 0.95rem 1.4rem; }
.ind-bd-mhead { background: linear-gradient(135deg, #0f1f7a 0%, #0056b3 100%); color: #fff; font-size: 0.76rem; font-weight: 600; letter-spacing: 1px; text-transform: uppercase; }
.ind-bd-mrow { border-top: 1px solid #e9ecef; background: #fff; color: #333; font-size: 0.93rem; }
.ind-bd-mrow:nth-child(even) { background: #f8f9fa; }
.ind-bd-my { color: #0f1f7a; font-weight: 600; }
.ind-bd-mn { color: #6c757d; font-weight: 600; }


.md-bd-ledger { max-width: 820px; margin: 0 auto; }
.md-bd-lrow { display: flex; align-items: baseline; gap: 0.75rem; padding: 0.85rem 0; }
.md-bd-lname { color: #333; font-size: 0.95rem; }
.md-bd-lrule { flex: 1 1 auto; border-bottom: 1px dotted #ced4da; }
.md-bd-lval { font-size: 0.82rem; font-weight: 600; letter-spacing: 0.5px; text-transform: uppercase; }
.md-bd-lv-y { color: #0f1f7a; }
.md-bd-lv-n { color: #6c757d; }


.mn-bd-calls { display: grid; grid-template-columns: repeat(auto-fit, minmax(290px, 1fr)); gap: 0.85rem; }
.mn-bd-call { padding: 1.5rem 1.75rem; border-radius: 15px; background: #fff; border: 1px solid #e9ecef; border-left: 4px solid #0f1f7a; }
.mn-bd-call-n { background: #f8f9fa; border-left-color: #ced4da; }
.mn-bd-call strong { display: block; margin-bottom: 0.4rem; font-size: 0.74rem; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: #0f1f7a; }
.mn-bd-call-n strong { color: #6c757d; }
.mn-bd-call p { color: #6c757d; font-size: 0.93rem; line-height: 1.75; }


.al-bd-figs { display: grid; grid-template-columns: repeat(auto-fit, minmax(285px, 1fr)); gap: 1rem; }
.al-bd-fig { margin: 0; padding: 2rem; border-radius: 20px; background: #fff; border: 1px solid #e9ecef; }
.al-bd-fig-alt { background: #f8f9fa; }
.al-bd-fig figcaption { margin-bottom: 1rem; color: #0f1f7a; font-size: 0.78rem; font-weight: 600; letter-spacing: 1px; text-transform: uppercase; }
.al-bd-fig ul { margin: 0; padding-left: 1.15rem; color: #6c757d; font-size: 0.92rem; line-height: 1.95; }


.ky-bd-plaqs { display: grid; gap: 0.7rem; }
.ky-bd-plaq { display: flex; gap: 1.35rem; align-items: center; padding: 1.35rem 1.75rem; border-radius: 15px; background: #fff; border: 1px solid #e9ecef; }
.ky-bd-plaq-n { background: #f8f9fa; }
.ky-bd-pn { flex: 0 0 auto; font-size: 1.4rem; font-weight: 700; line-height: 1; background: linear-gradient(135deg, #0f1f7a 0%, #0056b3 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
.ky-bd-plaq p { color: #333; font-size: 0.94rem; }
.ky-bd-plaq small { color: #6c757d; font-size: 0.76rem; font-weight: 600; letter-spacing: 0.5px; text-transform: uppercase; }


.ct-bd-tier { border: 1px solid #e9ecef; border-radius: 20px; overflow: hidden; margin-bottom: 0.85rem; }
.ct-bd-tier-h { padding: 0.8rem 1.75rem; background: linear-gradient(135deg, #0f1f7a 0%, #0056b3 100%); color: #fff; font-size: 0.78rem; font-weight: 600; letter-spacing: 1px; text-transform: uppercase; }
.ct-bd-tier-alt .ct-bd-tier-h { background: #6c757d; }
.ct-bd-tier-b { padding: 1.5rem 1.75rem; background: #fff; }
.ct-bd-tier-b p { padding: 0.55rem 0; border-bottom: 1px solid #e9ecef; color: #6c757d; font-size: 0.93rem; }
.ct-bd-tier-b p:last-child { border-bottom: 0; }


.ia-bd-offs { display: grid; gap: 0.7rem; }
.ia-bd-off { max-width: 80%; padding: 1.35rem 1.6rem; border-radius: 15px; background: #fff; border: 1px solid #e9ecef; }
.ia-bd-off-l { margin-right: auto; border-left: 4px solid #0f1f7a; }
.ia-bd-off-r { margin-left: auto; background: #f8f9fa; border-right: 4px solid #ced4da; text-align: right; }
.ia-bd-off p { color: #333; font-size: 0.94rem; }
.ia-bd-off span { display: block; margin-top: 0.35rem; font-size: 0.74rem; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: #6c757d; }
@media (max-width: 767.98px) { .ia-bd-off { max-width: 100%; } }


.ar-bd-ribs { display: grid; grid-template-columns: repeat(auto-fit, minmax(265px, 1fr)); gap: 1rem; }
.ar-bd-rib { position: relative; padding: 2.6rem 1.5rem 1.5rem; border-radius: 15px; background: #fff; border: 1px solid #e9ecef; overflow: hidden; }
.ar-bd-rib-n { background: #f8f9fa; }
.ar-bd-ribtag { position: absolute; top: 0; left: 0; padding: 0.28rem 1rem; border-radius: 0 0 15px 0; background: linear-gradient(135deg, #0f1f7a 0%, #0056b3 100%); color: #fff; font-size: 0.7rem; font-weight: 600; letter-spacing: 1px; text-transform: uppercase; }
.ar-bd-rib-n .ar-bd-ribtag { background: #6c757d; }
.ar-bd-rib p { color: #333; font-size: 0.93rem; line-height: 1.7; }


.mis-bd-side { display: grid; grid-template-columns: 320px 1fr; gap: 2rem; padding: 2.5rem; border-radius: 20px; background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%); border: 1px solid #e9ecef; }
.mis-bd-side-r { margin: 0; padding: 0; list-style: none; display: grid; gap: 0.5rem; }
.mis-bd-side-r li { position: relative; padding: 0.85rem 1rem 0.85rem 2.6rem; border-radius: 15px; background: #fff; border: 1px solid #e9ecef; color: #333; font-size: 0.93rem; }
.mis-bd-side-r li::before { position: absolute; left: 1rem; font-weight: 700; }
.mis-bd-sy::before { content: "\2713"; color: #0f1f7a; }
.mis-bd-sn::before { content: "\2717"; color: #6c757d; }
@media (max-width: 991.98px) { .mis-bd-side { grid-template-columns: 1fr; } }


.ks-bd-tt { display: grid; grid-template-columns: 1fr 1.15fr; border-radius: 20px; overflow: hidden; }
.ks-bd-tt-a { padding: 2.5rem; background: linear-gradient(135deg, #0f1f7a 0%, #0056b3 100%); }
.ks-bd-tt-b { padding: 2.25rem 2.5rem; background: #fff; border: 1px solid #e9ecef; border-left: 0; }
.ks-bd-tt-b ul { margin: 0; padding-left: 1.15rem; color: #6c757d; font-size: 0.92rem; line-height: 1.9; }
@media (max-width: 767.98px) { .ks-bd-tt { grid-template-columns: 1fr; } .ks-bd-tt-b { border-left: 1px solid #e9ecef; } }


.nm-bd-table th[scope="row"] { width: 66%; color: #333; font-weight: 600; }
.nm-bd-table td.nm-bd-ty { color: #0f1f7a; font-weight: 600; }
.nm-bd-table td.nm-bd-tn { color: #6c757d; font-weight: 600; }


.id-bd-pills { display: grid; gap: 0.6rem; max-width: 880px; margin: 0 auto; }
.id-bd-prow { display: flex; gap: 1.15rem; align-items: center; padding: 1rem 1.35rem; border-radius: 15px; background: #fff; border: 1px solid #e9ecef; }
.id-bd-pill { flex: 0 0 auto; width: 84px; text-align: center; padding: 0.22rem 0; border-radius: 50px; font-size: 0.72rem; font-weight: 600; letter-spacing: 0.5px; text-transform: uppercase; }
.id-bd-pill-y { background: linear-gradient(135deg, #0f1f7a 0%, #0056b3 100%); color: #fff; }
.id-bd-pill-n { background: #f1f3f5; color: #6c757d; }
.id-bd-prow p { color: #333; font-size: 0.93rem; }


.hi-bd-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 0.85rem; }
.hi-bd-tile { padding: 1.75rem 1.5rem; border-radius: 15px; background: #fff; border: 1px solid #e9ecef; text-align: center; }
.hi-bd-tile-n { background: #f8f9fa; }
.hi-bd-glyph { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; margin-bottom: 0.85rem; border-radius: 50%; background: linear-gradient(135deg, #0f1f7a 0%, #0056b3 100%); color: #fff; font-size: 1rem; font-weight: 700; }
.hi-bd-tile-n .hi-bd-glyph { background: #6c757d; }
.hi-bd-tile p { color: #333; font-size: 0.9rem; line-height: 1.7; }


.nh-bd-qs { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 0.85rem; }
.nh-bd-q { margin: 0; padding: 1.6rem 1.75rem; border-radius: 15px; background: #fff; border: 1px solid #e9ecef; border-top: 4px solid #0f1f7a; }
.nh-bd-q-n { background: #f8f9fa; border-top-color: #ced4da; }
.nh-bd-q p { color: #333; font-size: 0.95rem; line-height: 1.75; }
.nh-bd-q cite { display: block; margin-top: 0.6rem; color: #6c757d; font-size: 0.74rem; font-style: normal; font-weight: 600; letter-spacing: 1px; text-transform: uppercase; }


.mne-bd-check { padding: 2.5rem; border-radius: 20px; background: #f8f9fa; border: 1px solid #e9ecef; }
.mne-bd-clist { margin: 0; padding: 0; list-style: none; max-width: 760px; margin-inline: auto; }
.mne-bd-clist li { display: flex; gap: 1rem; align-items: center; padding: 0.9rem 0; border-bottom: 1px solid #e9ecef; color: #333; font-size: 0.94rem; }
.mne-bd-clist li:last-child { border-bottom: 0; }
.mne-bd-cmark { position: relative; flex: 0 0 auto; width: 24px; height: 24px; border-radius: 50%; }
.mne-bd-cy { background: rgba(15, 31, 122, 0.12); }
.mne-bd-cy::after { content: "\2713"; position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: #0f1f7a; font-weight: 700; font-size: 0.78rem; }
.mne-bd-cn { background: #e9ecef; }
.mne-bd-cn::after { content: "\2717"; position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: #6c757d; font-weight: 700; font-size: 0.78rem; }


.mnt-bd-wide { border: 1px solid #e9ecef; border-radius: 20px; overflow: hidden; }
.mnt-bd-w-head { padding: 0.75rem 1.75rem; background: linear-gradient(135deg, #0f1f7a 0%, #0056b3 100%); color: #fff; font-size: 0.76rem; font-weight: 600; letter-spacing: 1px; text-transform: uppercase; }
.mnt-bd-w-head-n { background: #6c757d; }
.mnt-bd-w-item { padding: 1.05rem 1.75rem; border-top: 1px solid #e9ecef; background: #fff; color: #333; font-size: 0.93rem; }


.ri-bd-ngrid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 0.85rem; }
.ri-bd-ng { display: flex; gap: 1rem; align-items: flex-start; padding: 1.5rem 1.4rem; border-radius: 15px; background: #fff; border: 1px solid #e9ecef; }
.ri-bd-ng-n { background: #f8f9fa; }
.ri-bd-ng > span { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 28px; height: 28px; border-radius: 8px; background: linear-gradient(135deg, #0f1f7a 0%, #0056b3 100%); color: #fff; font-size: 0.8rem; font-weight: 700; }
.ri-bd-ng-n > span { background: #adb5bd; }
.ri-bd-ng p { color: #333; font-size: 0.91rem; line-height: 1.7; }


.de-bd-inset { padding: 2.5rem; border-radius: 20px; background: linear-gradient(135deg, #0f1f7a 0%, #0056b3 100%); }
.de-bd-ins { display: grid; grid-template-columns: repeat(auto-fit, minmax(255px, 1fr)); gap: 0.75rem; }
.de-bd-in { padding: 1.2rem 1.35rem; border-radius: 15px; background: rgba(255, 255, 255, 0.12); border: 1px solid rgba(255, 255, 255, 0.2); }
.de-bd-in p { color: #fff; font-size: 0.92rem; line-height: 1.7; }
.de-bd-in-n { background: rgba(0, 0, 0, 0.14); }


/* ---- G2: one distinct skeleton per page ---- */

.ca-st-pills { display: flex; flex-wrap: wrap; gap: 0.85rem; justify-content: center; }
.ca-st-pill { flex: 1 1 260px; padding: 1.35rem 1.75rem; border-radius: 50px; background: #fff; border: 1px solid #e9ecef; text-align: center; }
.ca-st-pill strong { display: block; font-size: 1.5rem; font-weight: 700; line-height: 1; color: #0f1f7a; }
.ca-st-pill span { display: block; margin-top: 0.4rem; color: #6c757d; font-size: 0.84rem; line-height: 1.5; }


.pa-st-rule { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); padding: 2rem 1rem; border-radius: 20px; background: #f8f9fa; border: 1px solid #e9ecef; }
.pa-st-cell { padding: 0.5rem 1.5rem; border-right: 1px solid #e9ecef; text-align: center; }
.pa-st-cell:last-child { border-right: 0; }
.pa-st-cell strong { display: block; font-size: 1.75rem; font-weight: 700; line-height: 1; background: linear-gradient(135deg, #0f1f7a 0%, #0056b3 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
.pa-st-cell span { display: block; margin-top: 0.5rem; color: #6c757d; font-size: 0.84rem; line-height: 1.55; }


.oh-st-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(215px, 1fr)); gap: 1rem; }
.oh-st-card { padding: 1.85rem 1.5rem; border-radius: 4px 4px 15px 15px; background: #fff; border: 1px solid #e9ecef; border-top: 4px solid #0f1f7a; }
.oh-st-card strong { display: block; font-size: 1.7rem; font-weight: 700; line-height: 1; color: #0f1f7a; }
.oh-st-card span { display: block; margin-top: 0.5rem; color: #6c757d; font-size: 0.85rem; line-height: 1.6; }


.ga-st-dark { display: grid; grid-template-columns: repeat(auto-fit, minmax(215px, 1fr)); gap: 1rem; padding: 2.25rem; border-radius: 20px; background: linear-gradient(135deg, #0f1f7a 0%, #0056b3 100%); }
.ga-st-dark > div { padding: 1.15rem 1.35rem; border-radius: 15px; background: rgba(255, 255, 255, 0.12); border: 1px solid rgba(255, 255, 255, 0.2); text-align: center; }
.ga-st-dark strong { display: block; color: #fff; font-size: 1.6rem; font-weight: 700; line-height: 1; }
.ga-st-dark span { display: block; margin-top: 0.45rem; color: rgba(255, 255, 255, 0.8); font-size: 0.83rem; line-height: 1.55; }


.nc-st-lead { max-width: 780px; margin: 0 auto; padding: 2rem 2.25rem; border-radius: 20px; background: #fff; border: 1px solid #e9ecef; }
.nc-st-lr { display: flex; align-items: baseline; gap: 0.85rem; padding: 0.8rem 0; }
.nc-st-lr strong { flex: 0 0 auto; min-width: 96px; color: #0f1f7a; font-size: 1.15rem; font-weight: 700; }
.nc-st-dot { flex: 1 1 auto; border-bottom: 1px dotted #ced4da; }
.nc-st-lr > span:last-child { flex: 0 1 auto; color: #6c757d; font-size: 0.88rem; text-align: right; }


.mi-st-badges { display: grid; grid-template-columns: repeat(auto-fit, minmax(225px, 1fr)); gap: 1rem; }
.mi-st-b { display: flex; gap: 1.15rem; align-items: center; padding: 1.35rem 1.5rem; border-radius: 15px; background: #f8f9fa; border: 1px solid #e9ecef; }
.mi-st-circ { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 62px; height: 62px; padding: 0.35rem; border-radius: 50%; background: linear-gradient(135deg, #0f1f7a 0%, #0056b3 100%); color: #fff; font-size: 0.8rem; font-weight: 700; text-align: center; line-height: 1.15; }
.mi-st-b p { color: #6c757d; font-size: 0.85rem; line-height: 1.6; }


.nj-st-lrules { display: grid; grid-template-columns: repeat(auto-fit, minmax(225px, 1fr)); gap: 1rem; }
.nj-st-lrule { padding: 1.5rem 1.6rem; border-radius: 4px 15px 15px 4px; background: #fff; border: 1px solid #e9ecef; border-left: 4px solid #0f1f7a; }
.nj-st-lrule strong { display: block; color: #0f1f7a; font-size: 1.45rem; font-weight: 700; line-height: 1; }
.nj-st-lrule span { display: block; margin-top: 0.45rem; color: #6c757d; font-size: 0.85rem; line-height: 1.6; }


.va-st-num { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 0.85rem; }
.va-st-num li { display: flex; gap: 1rem; align-items: flex-start; padding: 1.5rem 1.5rem; border-radius: 15px; background: #fff; border: 1px solid #e9ecef; }
.va-st-n { flex: 0 0 auto; color: #ced4da; font-size: 1.1rem; font-weight: 700; }
.va-st-num strong { display: block; color: #0f1f7a; font-size: 1.2rem; font-weight: 700; }
.va-st-num span { display: block; margin-top: 0.3rem; color: #6c757d; font-size: 0.85rem; line-height: 1.6; }


.wa-st-kv th[scope="row"] { width: 26%; color: #0f1f7a; font-size: 1.05rem; font-weight: 700; }
.wa-st-kv td { color: #6c757d; font-size: 0.92rem; }


.az-st-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(225px, 1fr)); gap: 1rem; }
.az-st-tile { position: relative; padding: 1.85rem 1.6rem; border-radius: 15px; background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%); border: 1px solid #e9ecef; overflow: hidden; }
.az-st-corner { position: absolute; top: 0; right: 0; width: 46px; height: 46px; background: linear-gradient(135deg, #0f1f7a 0%, #0056b3 100%); clip-path: polygon(100% 0, 0 0, 100% 100%); opacity: 0.18; }
.az-st-tile strong { display: block; color: #0f1f7a; font-size: 1.55rem; font-weight: 700; line-height: 1; }
.az-st-tile span { display: block; margin-top: 0.45rem; color: #6c757d; font-size: 0.85rem; line-height: 1.6; }


.ma-st-inline { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 0; border: 1px solid #e9ecef; border-radius: 20px; overflow: hidden; }
.ma-st-i { padding: 1.85rem 1.6rem; background: #fff; border-right: 1px solid #e9ecef; }
.ma-st-i:last-child { border-right: 0; }
.ma-st-i:nth-child(even) { background: #f8f9fa; }
.ma-st-i strong { display: block; color: #0f1f7a; font-size: 1.6rem; font-weight: 700; line-height: 1; }
.ma-st-i span { display: block; margin-top: 0.45rem; color: #6c757d; font-size: 0.84rem; line-height: 1.6; }


/* ---- G3: one distinct skeleton per page ---- */

.oh-pm-acc { display: grid; gap: 0.7rem; max-width: 840px; margin: 0 auto; }
.oh-pm-d { padding: 1.35rem 1.6rem; border-radius: 15px; background: #fff; border: 1px solid #e9ecef; }
.oh-pm-d summary { cursor: pointer; list-style: none; color: #0f1f7a; font-weight: 600; }
.oh-pm-d summary::-webkit-details-marker { display: none; }
.oh-pm-d ul { margin: 0.9rem 0 0; padding-left: 1.15rem; color: #6c757d; font-size: 0.92rem; line-height: 1.9; }


.nj-pm-tbl td.nj-pm-y { color: #0f1f7a; font-weight: 600; width: 26%; }
.nj-pm-tbl td.nj-pm-n { color: #6c757d; font-weight: 600; width: 26%; }


.az-pm-rows { display: grid; gap: 0.55rem; max-width: 900px; margin: 0 auto; }
.az-pm-row { display: flex; gap: 1.15rem; align-items: center; padding: 1rem 1.4rem; border-radius: 15px; background: #fff; border: 1px solid #e9ecef; }
.az-pm-chip { flex: 0 0 auto; min-width: 86px; text-align: center; padding: 0.22rem 0.75rem; border-radius: 50px; font-size: 0.73rem; font-weight: 600; letter-spacing: 0.5px; text-transform: uppercase; }
.az-pm-chip-y { background: linear-gradient(135deg, #0f1f7a 0%, #0056b3 100%); color: #fff; }
.az-pm-chip-n { background: #f1f3f5; color: #6c757d; }
.az-pm-row p { color: #333; font-size: 0.93rem; }


.mo-pm-panel { border: 1px solid #e9ecef; border-radius: 20px; overflow: hidden; margin-bottom: 0.85rem; }
.mo-pm-head { padding: 0.8rem 1.75rem; background: linear-gradient(135deg, #0f1f7a 0%, #0056b3 100%); color: #fff; font-size: 0.78rem; font-weight: 600; letter-spacing: 1px; text-transform: uppercase; }
.mo-pm-panel-n .mo-pm-head { background: #6c757d; }
.mo-pm-body { padding: 1.5rem 1.75rem; background: #fff; }
.mo-pm-body p { padding: 0.55rem 0; border-bottom: 1px solid #e9ecef; color: #6c757d; font-size: 0.93rem; }
.mo-pm-body p:last-child { border-bottom: 0; }


.or-pm-dl { margin: 0; display: grid; grid-template-columns: 130px 1fr; max-width: 900px; margin-inline: auto; }
.or-pm-dl dt { padding: 1rem 0; border-top: 1px solid #e9ecef; font-size: 0.74rem; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; }
.or-pm-dy { color: #0f1f7a; }
.or-pm-dn { color: #6c757d; }
.or-pm-dl dd { margin: 0; padding: 1rem 0 1rem 1.25rem; border-top: 1px solid #e9ecef; color: #333; font-size: 0.93rem; }


.ok-pm-bans { display: grid; gap: 0.5rem; }
.ok-pm-ban { display: grid; grid-template-columns: 120px 1fr; gap: 1.1rem; align-items: center; padding: 1.15rem 1.75rem; border-radius: 50px; background: #fff; border: 1px solid #e9ecef; }
.ok-pm-ban-n { background: #f8f9fa; }
.ok-pm-ban > span { color: #0f1f7a; font-size: 0.74rem; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; }
.ok-pm-ban-n > span { color: #6c757d; }
.ok-pm-ban p { color: #333; font-size: 0.92rem; }
@media (max-width: 575.98px) { .ok-pm-ban { grid-template-columns: 1fr; gap: 0.3rem; border-radius: 15px; } }


.nv-pm-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(245px, 1fr)); gap: 0.85rem; }
.nv-pm-tile { padding: 1.65rem 1.5rem; border-radius: 15px; background: #fff; border: 1px solid #e9ecef; }
.nv-pm-tile-n { background: #f8f9fa; }
.nv-pm-tile > span { display: inline-block; margin-bottom: 0.6rem; padding: 0.18rem 0.75rem; border-radius: 50px; background: rgba(15, 31, 122, 0.1); color: #0f1f7a; font-size: 0.7rem; font-weight: 600; letter-spacing: 0.5px; text-transform: uppercase; }
.nv-pm-tile-n > span { background: #e9ecef; color: #6c757d; }
.nv-pm-tile p { color: #333; font-size: 0.91rem; line-height: 1.7; }


.ne-pm-dark { padding: 2.5rem; border-radius: 20px; background: linear-gradient(135deg, #0f1f7a 0%, #0056b3 100%); }
.ne-pm-dgrid { display: grid; grid-template-columns: repeat(auto-fit, minmax(265px, 1fr)); gap: 1rem; }
.ne-pm-dgrid > div { padding: 1.6rem 1.75rem; border-radius: 15px; background: rgba(255, 255, 255, 0.12); border: 1px solid rgba(255, 255, 255, 0.2); color: #fff; }
.ne-pm-dn { background: rgba(0, 0, 0, 0.14); }
.ne-pm-dgrid ul { margin: 0.75rem 0 0; padding-left: 1.15rem; font-size: 0.91rem; line-height: 1.9; opacity: 0.9; }


/* ---- G4: one distinct skeleton per page ---- */

.co-rt-rail { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 0.85rem; }
.co-rt-rail li { display: flex; gap: 1.15rem; align-items: flex-start; padding: 1.6rem 1.6rem; border-radius: 4px 15px 15px 4px; background: #fff; border: 1px solid #e9ecef; border-left: 4px solid #0f1f7a; }
.co-rt-n { flex: 0 0 auto; color: #ced4da; font-size: 1.2rem; font-weight: 700; line-height: 1.2; }


.ut-rt-wrap { padding: 2.5rem; border-radius: 20px; background: #f8f9fa; border: 1px solid #e9ecef; }
.ut-rt-stack { display: grid; gap: 0.7rem; }
.ut-rt-item { display: flex; gap: 1.25rem; align-items: flex-start; padding: 1.4rem 1.6rem; border-radius: 15px; background: #fff; border: 1px solid #e9ecef; }
.ut-rt-icon { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 42px; height: 42px; border-radius: 12px; background: rgba(15, 31, 122, 0.1); color: #0f1f7a; }

/* Ohio -- fee audit list (own rules; .oh-audit targets `> div`, not `li`) */
.oh-fee-audit { margin: 0; padding: 0; list-style: none; display: grid; gap: 0.7rem; }
.oh-fee-audit li { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 1.15rem; align-items: start; padding: 1.35rem 1.6rem; background: #fff; border: 1px solid #e9ecef; border-radius: 15px; }
.oh-fee-audit strong { display: block; margin-bottom: 0.3rem; color: #333; }
.oh-fee-audit p { color: #6c757d; font-size: 0.92rem; line-height: 1.75; }
.oh-fee-audit .oh-mark { margin-top: 0.15rem; }
