/* Conversion + SEO homepage, v3.14.2 */
:root {
    --conversion-red: #e3262e;
    --conversion-red-dark: #a9131a;
    --conversion-ivory: #f5f0e7;
    --conversion-gold: #e2bc69;
}

:focus-visible {
    outline: 3px solid var(--conversion-gold);
    outline-offset: 4px;
}

.site-header--shield .header-actions { gap: 10px; }
.site-header--shield .header-phone {
    display: inline-flex;
    color: #fff;
    font-size: 15px;
    font-weight: 900;
    white-space: nowrap;
}

.shield-hero--conversion {
    min-height: 760px;
    padding: 186px 0 110px;
    display: flex;
    align-items: center;
}
.shield-hero__inner--conversion {
    width: min(1280px, calc(100% - 64px));
}
.shield-hero--conversion .shield-hero__copy { max-width: 850px; }
.shield-hero--conversion h1 {
    max-width: 850px;
    font-size: clamp(50px, 6.4vw, 88px);
    line-height: .94;
    text-wrap: balance;
}
.shield-hero--conversion .shield-hero__lead {
    max-width: 790px;
    font-size: clamp(18px, 1.65vw, 23px);
    line-height: 1.52;
}
.shield-hero--conversion .shield-btn { min-height: 58px; }
.home-hero-proof {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 24px;
    margin: 28px 0 0;
    padding: 0;
    list-style: none;
    color: rgba(244, 246, 247, .66);
    font-size: 13px;
    font-weight: 800;
}
.home-hero-proof li { display: inline-flex; align-items: center; gap: 9px; }
.home-hero-proof li::before {
    content: "";
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--conversion-gold);
    box-shadow: 0 0 0 5px rgba(226, 188, 105, .1);
}

.actual-practices-section--conversion { padding-top: 86px; }
.actual-practices__routes--wide {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}
.actual-practices__routes--wide .actual-practice-card {
    min-height: 290px;
    cursor: pointer;
}
.actual-practices__routes--wide .actual-practice-card__more { margin-top: auto; padding-top: 20px; }

.home-emergency-bar {
    position: relative;
    z-index: 2;
    color: #fff;
    background: linear-gradient(100deg, var(--conversion-red-dark), var(--conversion-red));
    box-shadow: 0 22px 70px rgba(152, 10, 18, .28);
}
.home-emergency-bar__inner {
    min-height: 116px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 28px;
}
.home-emergency-bar__inner strong { display: block; font-size: 22px; line-height: 1.15; }
.home-emergency-bar__inner span { display: block; margin-top: 7px; color: rgba(255, 255, 255, .78); }
.home-emergency-bar__inner a {
    flex: 0 0 auto;
    min-height: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 13px 20px;
    border: 1px solid rgba(255, 255, 255, .5);
    border-radius: 4px;
    background: #fff;
    color: #171719;
    font-weight: 950;
}

.urgent-defense__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.urgent-defense-card { min-height: 330px; }
.urgent-defense-card__link {
    position: relative;
    z-index: 2;
    display: inline-flex;
    align-self: flex-start;
    margin-top: auto;
    padding-top: 24px;
    color: #fff;
    font-size: 13px;
    font-weight: 900;
}
.urgent-defense-card__link:hover { color: var(--conversion-gold); }

.home-services-section {
    color: #171719;
    background: var(--conversion-ivory);
}
.home-services__head { max-width: 920px; }
.home-services__head h2 { color: #111317; }
.home-services__head > p:last-child {
    max-width: 820px;
    margin: 20px 0 0;
    color: #655d55;
    font-size: 18px;
}
.home-services__groups { display: grid; gap: 50px; margin-top: 42px; }
.home-service-group__heading {
    display: flex;
    align-items: baseline;
    gap: 16px;
    margin-bottom: 20px;
}
.home-service-group__heading > span {
    color: #a97727;
    font-size: 12px;
    font-weight: 950;
    letter-spacing: .14em;
}
.home-service-group__heading h3 { font-size: clamp(25px, 2.7vw, 38px); }
.home-service-group__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}
.home-service-card {
    min-height: 246px;
    display: flex;
    flex-direction: column;
    padding: 26px;
    border: 1px solid rgba(23, 19, 16, .13);
    border-radius: 20px;
    background: rgba(255, 255, 255, .62);
    box-shadow: 0 14px 40px rgba(45, 34, 20, .05);
    transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.home-service-card:hover {
    transform: translateY(-4px);
    border-color: rgba(169, 119, 39, .45);
    box-shadow: 0 20px 48px rgba(45, 34, 20, .10);
}
.home-service-card h3,
.home-service-card__title {
    display: block;
    font-size: 24px;
    font-weight: 950;
    line-height: 1.08;
}
.home-service-card p { margin: 15px 0 22px; color: #6b6259; }
.home-service-card > .link-cue { margin-top: auto; color: #764611; font-size: 13px; font-weight: 900; }
.home-service-articles {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}
.home-service-articles a {
    min-height: 94px;
    display: grid;
    grid-template-columns: minmax(120px, .7fr) 1.2fr auto;
    align-items: center;
    gap: 14px;
    padding: 18px 22px;
    border: 1px solid rgba(23, 19, 16, .13);
    border-radius: 16px;
    background: #15181b;
    color: #fff;
    transition: transform .2s ease, border-color .2s ease;
}
.home-service-articles a:hover { transform: translateX(4px); border-color: rgba(226, 188, 105, .5); }
.home-service-articles span { color: var(--conversion-gold); font-size: 12px; font-weight: 900; letter-spacing: .05em; }
.home-service-articles strong { font-size: 17px; line-height: 1.2; }
.home-service-articles b { color: rgba(255, 255, 255, .58); }
.home-services__all { margin-top: 30px; }
.home-services__all a { color: #764611; font-weight: 900; }

.home-cost-section {
    color: #f4f6f7;
    background:
        radial-gradient(circle at 88% 10%, rgba(226, 188, 105, .11), transparent 28%),
        #090b0e;
}
.home-cost {
    display: grid;
    grid-template-columns: minmax(0, .8fr) minmax(520px, 1.2fr);
    gap: 54px;
    align-items: start;
}
.home-cost__copy h2 { color: #fff; }
.home-cost__copy > p:not(.eyebrow) { margin: 22px 0; color: rgba(244, 246, 247, .67); font-size: 17px; }
.home-cost__link { color: var(--conversion-gold); font-weight: 900; }
.home-cost__factors { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.home-cost__factors article {
    min-height: 190px;
    padding: 24px;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 20px;
    background: rgba(255, 255, 255, .04);
}
.home-cost__factors span { color: var(--conversion-gold); font-size: 12px; font-weight: 950; }
.home-cost__factors strong { display: block; margin-top: 22px; font-size: 19px; }
.home-cost__factors p { margin: 10px 0 0; color: rgba(244, 246, 247, .58); font-size: 14px; }

.home-consultation-section {
    color: #171719;
    background:
        radial-gradient(circle at 10% 12%, rgba(226, 188, 105, .14), transparent 30%),
        #f3ede4;
    border-top: 1px solid rgba(23, 19, 16, .1);
    border-bottom: 1px solid rgba(23, 19, 16, .1);
}
.home-consultation {
    display: grid;
    grid-template-columns: minmax(0, .86fr) minmax(560px, 1.14fr);
    gap: 54px;
    align-items: start;
}
.home-consultation__intro h2 {
    max-width: 650px;
    color: #111317;
    font-size: clamp(38px, 4vw, 56px);
    line-height: 1.02;
    text-wrap: balance;
}
.home-consultation__lead {
    max-width: 700px;
    margin: 22px 0 0;
    color: #5d554e;
    font-size: 17px;
    line-height: 1.7;
}
.home-consultation__proof {
    display: grid;
    gap: 12px;
    margin: 28px 0 0;
    padding: 0;
    list-style: none;
}
.home-consultation__proof li {
    position: relative;
    padding-left: 28px;
    color: #403a35;
    font-size: 15px;
    font-weight: 780;
    line-height: 1.5;
}
.home-consultation__proof li::before {
    content: "";
    position: absolute;
    left: 0;
    top: .42em;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #b77a22;
    box-shadow: 0 0 0 5px rgba(183, 122, 34, .12);
}
.home-consultation__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 30px;
}
.home-consultation__actions .shield-btn { min-height: 58px; }
.home-consultation__actions .shield-btn--danger {
    color: #fff;
    background: var(--conversion-red);
    box-shadow: 0 14px 32px rgba(169, 19, 26, .2);
}
.home-consultation__actions .shield-btn--ghost {
    color: #171719;
    border-color: rgba(23, 19, 16, .28);
    background: rgba(255, 255, 255, .52);
}
.home-consultation__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}
.home-consultation__grid article {
    min-height: 242px;
    padding: 28px;
    border: 1px solid rgba(23, 19, 16, .13);
    border-radius: 22px;
    background: rgba(255, 255, 255, .72);
    box-shadow: 0 16px 42px rgba(45, 34, 20, .06);
}
.home-consultation__grid article > span {
    color: #9c661e;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .13em;
}
.home-consultation__grid h3 {
    margin-top: 18px;
    color: #111317;
    font-size: clamp(23px, 2.2vw, 31px);
    line-height: 1.08;
}
.home-consultation__grid p {
    margin: 15px 0 0;
    color: #625a52;
    font-size: 15px;
    line-height: 1.65;
}
.home-consultation__grid ul {
    display: grid;
    gap: 9px;
    margin: 16px 0 0;
    padding-left: 20px;
    color: #625a52;
    font-size: 15px;
    line-height: 1.55;
}
.home-consultation__safety-note {
    grid-column: 1 / -1;
    margin: 0;
    padding: 18px 20px;
    border-left: 4px solid #b77a22;
    background: rgba(255,255,255,.58);
    color: #5b5148;
    font-size: 13px;
    line-height: 1.6;
}

.home-expertise-section { color: #171719; background: #f6f2eb; }
.home-expertise__intro { max-width: 1040px; }
.home-expertise__intro h2 { max-width: 900px; color: #111317; }
.home-expertise__intro > p:not(.eyebrow) {
    max-width: 970px;
    margin: 22px 0 0;
    color: #504941;
    font-size: 18px;
    line-height: 1.75;
}
.home-expertise__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin-top: 42px;
}
.home-expertise__grid article {
    padding: 32px;
    border: 1px solid rgba(23, 19, 16, .13);
    border-radius: 24px;
    background: rgba(255, 255, 255, .66);
}
.home-expertise__grid article > span {
    color: #9c661e;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .13em;
    text-transform: uppercase;
}
.home-expertise__grid h3 { margin-top: 14px; font-size: clamp(25px, 2.5vw, 34px); }
.home-expertise__grid p { color: #625a52; line-height: 1.72; }
.home-expertise__grid a { color: #72420f; font-weight: 900; }

.cases-section .section-head > a { color: var(--conversion-gold); }

.home-local-section { color: #171719; background: #ece5da; }
.home-local {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(480px, 1.1fr);
    gap: 52px;
    align-items: start;
}
.home-local h2 { color: #111317; }
.home-local > div > p:last-child { margin: 22px 0 0; color: #5f574f; font-size: 18px; }
.home-local__intro > p:not(.eyebrow) { margin: 22px 0 0; color: #5f574f; font-size: 18px; line-height: 1.68; }
.home-local__contacts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0; }
.home-local__contacts div { min-height: 132px; padding: 22px; border: 1px solid rgba(23, 19, 16, .12); border-radius: 18px; background: rgba(255, 255, 255, .58); }
.home-local__contacts dt { color: #8a5b20; font-size: 11px; font-weight: 950; letter-spacing: .13em; text-transform: uppercase; }
.home-local__contacts dd { margin: 15px 0 0; font-size: 18px; font-weight: 800; }
.home-local__district-panel {
    grid-column: 1 / -1;
    margin-top: 2px;
    padding: clamp(24px, 3.5vw, 42px);
    border: 1px solid rgba(23, 19, 16, .13);
    border-radius: 24px;
    background: rgba(255, 255, 255, .62);
    box-shadow: 0 18px 48px rgba(45, 34, 20, .07);
}
.home-local__district-head {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 22px;
    margin-bottom: 24px;
}
.home-local__district-head h3 {
    margin: 7px 0 0;
    color: #111317;
    font-size: clamp(28px, 3vw, 42px);
    line-height: 1.08;
}
.home-local__district-head > span {
    flex: 0 0 auto;
    display: inline-flex;
    padding: 10px 14px;
    border-radius: 999px;
    background: #16191c;
    color: #f3cb80;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.home-local__districts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.home-local__districts li {
    min-height: 54px;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 11px 14px;
    border: 1px solid rgba(23, 19, 16, .11);
    border-radius: 12px;
    background: rgba(255,255,255,.72);
    color: #292625;
    font-size: 14px;
    font-weight: 820;
    line-height: 1.25;
}
.home-local__districts li span {
    flex: 0 0 auto;
    color: #9b681f;
    font-size: 10px;
    font-weight: 950;
    letter-spacing: .08em;
}
.home-local__notice {
    margin: 22px 0 0;
    padding-top: 18px;
    border-top: 1px solid rgba(23,19,16,.12);
    color: #655c53;
    font-size: 13px;
    line-height: 1.6;
}

.knowledge-hub-section { background: #f8f4ed; }
.faq-section { color: #f4f6f7; background: #090b0e; }
.faq-section__lead { max-width: 700px; color: rgba(244, 246, 247, .64); }
.faq-section .faq-item { color: #f4f6f7; border-color: rgba(255, 255, 255, .1); background: rgba(255, 255, 255, .045); }
.faq-section .faq-item div { color: rgba(244, 246, 247, .66); }

.home-final-cta {
    padding: 72px 0;
    color: #fff;
    background: linear-gradient(105deg, #801117, #d92129 70%, #a20d15);
}
.home-final-cta__inner { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 40px; align-items: center; }
.home-final-cta h2 { max-width: 870px; color: #fff; }
.home-final-cta p:not(.eyebrow) { max-width: 760px; margin: 18px 0 0; color: rgba(255, 255, 255, .74); }
.home-final-cta .eyebrow { color: #ffe09a; }
.home-final-cta__actions { display: grid; gap: 10px; min-width: 290px; }
.home-final-cta .shield-btn--danger { background: #fff; color: #151619; box-shadow: none; }
.home-final-cta .shield-btn--ghost { border-color: rgba(255, 255, 255, .48); }

@media (max-width: 1240px) {
    .site-header--shield .header-phone { display: none; }
    .actual-practices__routes--wide { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .home-service-group__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .home-cost { grid-template-columns: 1fr; }
    .home-consultation { grid-template-columns: 1fr; }
}

@media (max-width: 920px) {
    .shield-hero--conversion { min-height: auto; padding: 148px 0 80px; }
    .shield-hero__inner--conversion { width: min(100% - 36px, 1280px); }
    .home-emergency-bar__inner { padding: 24px 0; flex-direction: column; align-items: stretch; }
    .home-emergency-bar__inner a { width: 100%; }
    .home-service-articles { grid-template-columns: 1fr; }
    .home-expertise__grid, .home-local { grid-template-columns: 1fr; }
    .home-local__districts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .home-consultation__intro { max-width: 820px; }
    .home-final-cta__inner { grid-template-columns: 1fr; }
    .home-final-cta__actions { min-width: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 680px) {
    .shield-hero--conversion { padding: 126px 0 58px; }
    .shield-hero--conversion h1 { font-size: clamp(40px, 12vw, 58px); }
    .shield-hero--conversion .shield-hero__actions { display: grid; }
    .home-hero-proof { display: grid; }
    .actual-practices-section--conversion { padding-top: 58px; }
    .actual-practices__routes--wide,
    .urgent-defense__grid,
    .home-service-group__grid,
    .home-cost__factors,
    .home-consultation__grid,
    .home-expertise__grid,
    .home-local__contacts { grid-template-columns: 1fr; }
    .actual-practices__routes--wide .actual-practice-card,
    .home-service-card { min-height: auto; }
    .home-service-articles a { grid-template-columns: 1fr auto; }
    .home-service-articles span { grid-column: 1 / -1; }
    .home-expertise__grid article { padding: 24px; }
    .home-consultation__grid article { min-height: auto; padding: 24px; }
    .home-consultation__actions { display: grid; }
    .home-consultation__actions .shield-btn { width: 100%; }
    .home-final-cta { padding: 54px 0; }
    .home-final-cta__actions { grid-template-columns: 1fr; }
    .home-local__district-head { align-items: flex-start; flex-direction: column; }
    .home-local__districts { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
    .home-service-card,
    .home-service-articles a,
    .actual-practice-card { transform: none !important; }
}

/* --------------------------------------------------------------------------
   3.13.1: contrast, reading rhythm and conversion polish
   -------------------------------------------------------------------------- */
.link-cue::after {
    content: "\2192";
    display: inline-block;
    margin-left: .45em;
    font-size: .95em;
    transition: transform .2s ease;
}
.link-cue:hover::after { transform: translateX(4px); }
.visual-arrow::after { content: "\2192"; }

body.home .site-main > .section { padding-block: 68px; }

.shield-hero--conversion {
    min-height: 650px;
    padding: 158px 0 76px;
}
.shield-hero--conversion .shield-btn--ghost {
    border-color: rgba(255,255,255,.56);
    background: rgba(255,255,255,.09);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 14px 32px rgba(0,0,0,.22);
}
.shield-hero--conversion .shield-btn--ghost:hover {
    border-color: rgba(255,255,255,.82);
    background: rgba(255,255,255,.15);
}

.actual-practices-section--conversion { padding-top: 72px; }
.actual-practices__head { margin-bottom: 28px; }
.actual-practice-card p {
    font-size: 15px;
    line-height: 1.62;
}

.urgent-defense__head h2 { font-size: clamp(36px, 4.2vw, 60px); }
.urgent-defense__head p:not(.eyebrow) { font-size: 18px; line-height: 1.62; }
.urgent-defense-card { min-height: 310px; }
.urgent-defense-card p { font-size: 15.5px; line-height: 1.62; }

body.home .site-main .home-services-section {
    color: #171719 !important;
    background: #f5f0e7 !important;
    border-top: 1px solid rgba(23,19,16,.10);
    border-bottom: 1px solid rgba(23,19,16,.10);
}
body.home .home-services-section .home-services__head h2,
body.home .home-services-section .home-service-group__heading h3,
body.home .home-services-section .home-service-card h3,
body.home .home-services-section .home-service-card__title {
    color: #111317 !important;
}
body.home .home-services-section .home-services__head > p:last-child {
    color: #5d554e !important;
}
body.home .home-services-section .home-service-card {
    color: #171719 !important;
    background: #fff !important;
    border-color: rgba(23,19,16,.14) !important;
}
body.home .home-services-section .home-service-card p {
    color: #625a52 !important;
    font-size: 15.5px;
    line-height: 1.65;
}

@media (min-width: 1241px) {
    .home-cost {
        grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
        gap: 44px;
    }
}
.home-cost__copy h2 {
    font-size: clamp(38px, 4vw, 54px);
    line-height: 1.02;
    text-wrap: balance;
}
.home-cost__factors article { min-height: 174px; }
.home-cost__factors p { font-size: 15px; line-height: 1.55; }

.algorithm-head p:not(.eyebrow) { font-size: 17px; line-height: 1.62; }
.algorithm-step-text p { font-size: 15px; line-height: 1.58; }

.home-expertise__intro > p:not(.eyebrow) {
    font-size: 17.5px;
    line-height: 1.68;
}
.home-expertise__grid article { padding: 30px; }
.home-expertise__grid p,
.home-expertise__grid li {
    color: #5d554e;
    font-size: 15.5px;
    line-height: 1.65;
}
.home-expertise__grid ul {
    margin: 0 0 24px;
    padding-left: 20px;
}
.home-expertise__grid li + li { margin-top: 7px; }

.case-card--analytics { min-height: 400px; }
.case-card__fact p { font-size: 15px; line-height: 1.6; }

body.home .site-main .knowledge-hub-section {
    color: #171719 !important;
    background: #f8f4ed !important;
    border-color: rgba(23,19,16,.12) !important;
}
body.home .knowledge-hub-section h2,
body.home .knowledge-hub-section h3 {
    color: #111317 !important;
}
body.home .knowledge-hub-section .knowledge-hub__lead,
body.home .knowledge-hub-section .knowledge-card p {
    color: #625a52 !important;
}
body.home .knowledge-hub-section .knowledge-card {
    color: #171719 !important;
    background: #fff !important;
    border-color: rgba(23,19,16,.13) !important;
    box-shadow: 0 16px 44px rgba(35,24,12,.07) !important;
}
body.home .knowledge-hub-section .card-meta,
body.home .knowledge-hub-section .section-head > a {
    color: #74430f !important;
}

.faq-section .narrow { max-width: 1080px; }
.faq-section .faq-item summary { font-size: 17.5px; line-height: 1.45; }
.faq-section .faq-item div { font-size: 16px; line-height: 1.65; }

.home-final-cta__actions { min-width: 340px; }
.home-final-cta__actions .shield-btn {
    min-height: 58px;
    padding: 15px 22px;
    font-size: 14px;
}

@media (max-width: 920px) {
    .shield-hero--conversion { min-height: auto; padding: 138px 0 68px; }
    .home-cost { grid-template-columns: 1fr; }
    .home-final-cta__actions { min-width: 0; }
}

/* --------------------------------------------------------------------------
   3.13.2: final conversion, local SEO and legibility pass
   -------------------------------------------------------------------------- */
body.home .site-main > .section { padding-block: 64px; }

.shield-hero--conversion .shield-btn--ghost {
    color: #111317;
    background: #fff;
    border-color: #fff;
    box-shadow: 0 14px 34px rgba(0,0,0,.28);
}
.shield-hero--conversion .shield-btn--ghost:hover {
    color: #111317;
    background: #f6f1e9;
    border-color: #f6f1e9;
}

.actual-practices__routes--wide .actual-practice-card { min-height: 272px; }
.urgent-defense-card { min-height: 292px; }

@media (min-width: 1241px) {
    .home-cost {
        grid-template-columns: minmax(450px, 1.08fr) minmax(0, .92fr);
        gap: 42px;
    }
    .home-cost__copy h2 { max-width: 600px; }
}
.home-cost__factors article { min-height: 160px; }

.home-expertise__grid article { min-height: 0; }
.case-card__fact p,
.knowledge-card p { font-size: 15.5px; }
.knowledge-card p { line-height: 1.62; }

.home-local__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 28px;
}
.home-local__actions .shield-btn {
    min-height: 56px;
    padding: 14px 20px;
}
.home-local__actions .shield-btn--danger {
    color: #fff;
    background: var(--conversion-red);
    box-shadow: 0 14px 32px rgba(169,19,26,.22);
}
.home-local__actions .shield-btn--ghost {
    color: #171719;
    background: rgba(255,255,255,.35);
    border-color: rgba(23,19,16,.28);
}

.faq-section .narrow { max-width: 1180px; }
.faq-section .faq-list { margin-top: 26px; }
.faq-section .faq-item { padding: 22px 24px; }
.faq-section .faq-item summary { font-size: 18px; }

.home-final-cta { padding: 66px 0; }
.home-final-cta h2 {
    font-size: clamp(38px, 4vw, 58px);
    line-height: 1.01;
    text-wrap: balance;
}
.home-final-cta__actions { min-width: 370px; }
.home-final-cta__actions .shield-btn {
    min-height: 60px;
    font-size: 15px;
}
.home-final-cta .shield-btn--ghost {
    border: 2px solid rgba(255,255,255,.68);
    background: rgba(255,255,255,.08);
    color: #fff;
}

@media (min-width: 1421px) {
    .site-header--shield .primary-menu { gap: clamp(14px, 1vw, 20px); }
    .site-header--shield .primary-menu a { font-size: 12.5px; }
}

@media (min-width: 1241px) and (max-width: 1420px) {
    .site-header--shield .header-grid { grid-template-columns: minmax(250px, auto) minmax(0, 1fr) auto; }
    .site-header--shield .primary-menu { gap: 11px; }
    .site-header--shield .primary-menu a { font-size: 12px; letter-spacing: .025em; }
    .site-header--shield .header-phone { font-size: 13px; }
}

@media (max-width: 920px) {
    body.home .site-main > .section { padding-block: 56px; }
    .home-local__actions .shield-btn { flex: 1 1 220px; }
    .home-final-cta__actions { min-width: 0; }
}

@media (max-width: 680px) {
    body.home .site-main > .section { padding-block: 48px; }
    .shield-hero--conversion .shield-btn--ghost { background: #fff; }
    .home-local__actions { display: grid; }
    .home-local__actions .shield-btn { width: 100%; }
    .faq-section .faq-item { padding: 19px 18px; }
    .faq-section .faq-item summary { font-size: 16px; }
    .home-final-cta { padding: 52px 0; }
    .home-final-cta h2 { font-size: clamp(34px, 10vw, 46px); }
}

@media (max-width: 680px) {
    body.home .site-main > .section { padding-block: 52px; }
    .shield-hero--conversion { padding: 122px 0 52px; }
    .shield-hero--conversion .shield-btn--ghost { background: rgba(255,255,255,.12); }
    .actual-practices-section--conversion { padding-top: 52px; }
    .urgent-defense-card { min-height: auto; }
    .home-expertise__grid article { padding: 24px; }
    .faq-section .narrow { max-width: none; }
    .home-final-cta__actions { min-width: 0; }
}

/* --------------------------------------------------------------------------
   3.14.1: contrast guard for light homepage sections.
   The legacy `.section:nth-of-type(even)` selector has higher specificity than
   the original component rules and can otherwise turn these sections dark.
   -------------------------------------------------------------------------- */
body.home .site-main > section.home-consultation-section {
    color-scheme: light;
    color: #171719 !important;
    background:
        radial-gradient(circle at 10% 12%, rgba(226,188,105,.14), transparent 30%),
        #f3ede4 !important;
}
body.home .home-consultation-section .home-consultation__intro h2,
body.home .home-consultation-section .home-consultation__grid h3 {
    color: #111317 !important;
}
body.home .home-consultation-section .home-consultation__lead,
body.home .home-consultation-section .home-consultation__proof li,
body.home .home-consultation-section .home-consultation__grid li {
    color: #4f4943 !important;
}
body.home .home-consultation-section .home-consultation__grid article {
    color: #171719 !important;
    background: #fff !important;
    border-color: rgba(23,19,16,.14) !important;
    box-shadow: 0 16px 42px rgba(45,34,20,.08) !important;
}
body.home .home-consultation-section .home-consultation__grid article > span {
    color: #925c12 !important;
}
body.home .home-consultation-section .home-consultation__safety-note {
    color: #514940 !important;
    background: rgba(255,255,255,.78) !important;
}
body.home .home-consultation-section .home-consultation__actions .shield-btn--danger {
    color: #fff !important;
    background: var(--conversion-red) !important;
}
body.home .home-consultation-section .home-consultation__actions .shield-btn--ghost {
    color: #171719 !important;
    background: #fff !important;
    border-color: rgba(23,19,16,.30) !important;
}

body.home .site-main > section.home-expertise-section {
    color-scheme: light;
    color: #171719 !important;
    background: #f6f2eb !important;
}
body.home .home-expertise-section .home-expertise__intro h2,
body.home .home-expertise-section .home-expertise__grid h3 {
    color: #111317 !important;
}
body.home .home-expertise-section .home-expertise__intro > p:not(.eyebrow),
body.home .home-expertise-section .home-expertise__grid p,
body.home .home-expertise-section .home-expertise__grid li {
    color: #4f4943 !important;
}
body.home .home-expertise-section .home-expertise__grid article {
    color: #171719 !important;
    background: #fff !important;
    border-color: rgba(23,19,16,.14) !important;
    box-shadow: 0 16px 42px rgba(45,34,20,.07) !important;
}
body.home .home-expertise-section .home-expertise__grid article > span,
body.home .home-expertise-section .home-expertise__grid a {
    color: #7b480f !important;
}

body.home .site-main > section.home-local-section {
    color-scheme: light;
    color: #171719 !important;
    background: #ece5da !important;
}
body.home .home-local-section .home-local h2,
body.home .home-local-section .home-local h3,
body.home .home-local-section .home-local__contacts dd,
body.home .home-local-section .home-local__districts li {
    color: #111317 !important;
}
body.home .home-local-section .home-local__intro > p:not(.eyebrow),
body.home .home-local-section .home-local__notice {
    color: #514a43 !important;
}
body.home .home-local-section .home-local__contacts div,
body.home .home-local-section .home-local__district-panel,
body.home .home-local-section .home-local__districts li {
    background: #fff !important;
    border-color: rgba(23,19,16,.14) !important;
}
body.home .home-local-section .home-local__district-panel {
    box-shadow: 0 18px 48px rgba(45,34,20,.08) !important;
}
body.home .home-local-section .home-local__contacts dt,
body.home .home-local-section .home-local__districts li span {
    color: #875613 !important;
}
body.home .home-local-section .home-local__actions .shield-btn--danger {
    color: #fff !important;
    background: var(--conversion-red) !important;
}
body.home .home-local-section .home-local__actions .shield-btn--ghost {
    color: #171719 !important;
    background: #fff !important;
    border-color: rgba(23,19,16,.30) !important;
}
