/* ══════════════════════════════════════════════════
   Brand Override: Navy #0D2240 + Gold #C8952B
   ══════════════════════════════════════════════════ */

/* Hero & CTA sections — navy background */
.uk-section-primary {
    background: #0D2240 !important;
}

/* Gold accent bar at top */
.tm-page > .tm-header + main .uk-section-primary:first-of-type {
    border-top: 3px solid #C8952B;
}

/* All buttons — gold background, navy text */
.uk-button-danger,
.uk-button-primary {
    background: #C8952B !important;
    color: #0D2240 !important;
    border: none !important;
    font-weight: 700 !important;
}
.uk-button-danger:hover,
.uk-button-primary:hover {
    background: #b8860b !important;
    color: #0D2240 !important;
}

/* Outline buttons on navy */
.uk-section-primary .uk-button-default {
    border-color: rgba(255,255,255,0.55) !important;
    color: #ffffff !important;
}
.uk-section-primary .uk-button-default:hover {
    border-color: #ffffff !important;
}

/* Links on navy */
.uk-section-primary a:not(.uk-button) {
    color: #C8952B !important;
}

/* Heading color on navy */
.uk-section-primary h1,
.uk-section-primary h2,
.uk-section-primary h3 {
    color: #ffffff !important;
}

/* Section headings navy */
.section-heading-dark {
    color: #0D2240 !important;
    font-weight: 700 !important;
}

/* Responsive courts table */
table.brand-table {
    width: 100% !important;
    border-collapse: collapse !important;
    font-size: 13px !important;
}
table.brand-table thead tr {
    background: #0D2240 !important;
    color: #C8952B !important;
}
table.brand-table th {
    padding: 12px 16px !important;
    text-align: left !important;
    font-weight: 700 !important;
    letter-spacing: 0.5px !important;
}
table.brand-table td {
    padding: 12px 16px !important;
    color: #5A6570 !important;
}
table.brand-table tr:nth-child(even) td {
    background: #F4F6F8 !important;
}
table.brand-table td:first-child {
    font-weight: 600 !important;
    color: #0D2240 !important;
}
table.brand-table td:last-child {
    color: #C8952B !important;
    font-weight: 600 !important;
}
@media (max-width: 640px) {
    table.brand-table { font-size: 11px !important; }
    table.brand-table th, table.brand-table td { padding: 8px !important; }
}

/* Overview visual enhancements */
.overview-stat-card {
    background: #F8F9FB;
    border-left: 3px solid #C8952B;
    padding: 16px;
    border-radius: 8px;
    margin-bottom: 12px;
}
.overview-stat-card h4 {
    color: #0D2240;
    font-weight: 700;
    margin: 0 0 2px 0;
}
.overview-stat-card p {
    color: #5A6570;
    font-size: 12px;
    margin: 0;
}

/* Editorial line */
.editorial-line {
    font-size: 12px;
    color: #8A949E;
    border-top: 1px solid #E5E9EF;
    padding-top: 16px;
    margin-top: 24px;
}

/* ══════════════════════════════════════════════════
   DJCF Featured Lawyers — card styling
   ══════════════════════════════════════════════════ */

/* Section: 05 · SHANGHAI LAWYERS heading */
.section-heading-lawyers {
    font-size: 11px !important;
    color: #C8952B !important;
    font-weight: 700 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
}
.section-title-lawyers {
    font-size: 22px !important;
    color: #0D2240 !important;
    font-weight: 700 !important;
    margin-bottom: 4px !important;
}

/* DJCF items module in featured-lawyers mode (city L2 + home) */
.djcf-featured .mod_djclassifieds_items,
.djcf-featured.mod_djclassifieds_items {
    margin: 0 !important;
}
.djcf-featured .items-outer {
    margin: 0 !important;
}
/* Prefer CSS grid: equal professional cards */
.djcf-featured .items {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 16px !important;
    float: none !important;
    width: 100% !important;
}
.djcf-featured .items-col {
    float: none !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    flex: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
.djcf-featured .items-col .icol-in {
    margin: 0 !important;
    padding: 0 !important;
    height: 100% !important;
}
.djcf-featured .item-box {
    border: 1px solid #E5E9EF !important;
    border-radius: 10px !important;
    padding: 0 !important;
    background: #fff !important;
    box-shadow: 0 2px 8px rgba(13, 34, 64, 0.06) !important;
    height: 100% !important;
    margin: 0 !important;
    transition: box-shadow 0.2s ease, border-color 0.2s ease, transform 0.2s ease !important;
    overflow: hidden !important;
}
.djcf-featured .item-box:hover {
    box-shadow: 0 8px 24px rgba(13, 34, 64, 0.12) !important;
    border-color: #D5DCE6 !important;
    transform: translateY(-2px) !important;
}
.djcf-featured .item-box-in {
    position: relative !important;
    height: 100% !important;
    padding: 18px 18px 18px 22px !important;
    box-sizing: border-box !important;
}
/* Gold accent bar */
.djcf-featured .item-box-in::before {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 4px !important;
    height: 100% !important;
    background: #C8952B !important;
    border-radius: 10px 0 0 10px !important;
}
.djcf-featured .item {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    height: 100% !important;
}
/* Header: avatar + name + meta */
.djcf-featured .item .title {
    display: grid !important;
    grid-template-columns: 56px 1fr !important;
    grid-template-rows: auto auto !important;
    column-gap: 12px !important;
    row-gap: 4px !important;
    align-items: center !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #0D2240 !important;
    line-height: 1.3 !important;
}
.djcf-featured .item .title > a.title_img {
    grid-row: 1 / span 2 !important;
    grid-column: 1 !important;
    display: block !important;
    width: 56px !important;
    height: 56px !important;
    border-radius: 50% !important;
    overflow: hidden !important;
    background: #E8EEF5 !important;
    flex-shrink: 0 !important;
    border: 2px solid #F0E6D0 !important;
    box-sizing: border-box !important;
}
.djcf-featured .item .title > a.title:not(.title_img) {
    grid-column: 2 !important;
    grid-row: 1 !important;
    color: #0D2240 !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    text-decoration: none !important;
    letter-spacing: -0.01em !important;
}
.djcf-featured .item .title > a.title:not(.title_img):hover {
    color: #C8952B !important;
}
.djcf-featured .item .title .date_cat {
    grid-column: 2 !important;
    grid-row: 2 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 6px 8px !important;
    margin: 0 !important;
    padding: 0 !important;
}
.djcf-featured .item .title img {
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    border-radius: 50% !important;
    object-fit: cover !important;
    display: block !important;
    border: 0 !important;
}
.djcf-featured .item .title img[src*="default"],
.djcf-featured .item .title img.no-image {
    opacity: 0.35 !important;
}
.djcf-featured .item .title a {
    color: #0D2240 !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}
/* Practice + region meta */
.djcf-featured .item .category,
.djcf-featured .item .region {
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 0.02em !important;
    line-height: 1.3 !important;
}
.djcf-featured .item .category {
    color: #C8952B !important;
}
.djcf-featured .item .category a {
    color: #C8952B !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}
.djcf-featured .item .region {
    color: #8A949E !important;
}
.djcf-featured .item .region::before {
    content: "·" !important;
    margin-right: 6px !important;
    color: #C5CCD4 !important;
}
.djcf-featured .item .region a {
    color: #8A949E !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    pointer-events: none !important;
}
/* Intro / description: plain text, no link styling */
.djcf-featured .item .desc,
.djcf-featured .item .description {
    font-size: 13px !important;
    color: #5A6570 !important;
    line-height: 1.55 !important;
    margin: 0 !important;
    flex: 1 1 auto !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}
.djcf-featured .item .desc a,
.djcf-featured .item .description a {
    color: #5A6570 !important;
    font-weight: 400 !important;
    text-decoration: none !important;
    cursor: default !important;
    pointer-events: none !important;
}

.djcf-featured .item .readmore a {
    font-size: 12px !important;
    color: #0D2240 !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}
.djcf-featured .item .readmore a::after {
    content: " \2192" !important;
}
.djcf-featured .item .title .title_img:not(:has(img[src]))::before {
    content: "PH" !important;
    display: inline-flex !important;
    width: 56px !important;
    height: 56px !important;
    border-radius: 50% !important;
    background: #E8EEF5 !important;
    color: #0D2240 !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    align-items: center !important;
    justify-content: center !important;
}


/* Real profile CTA from featured layout */
.djcf-featured .item .readmore {
    margin-top: auto !important;
    padding-top: 4px !important;
}
.djcf-featured .item .readmore a {
    font-size: 12px !important;
    color: #0D2240 !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    letter-spacing: 0.01em !important;
}
.djcf-featured .item .readmore a::after {
    content: " \2192" !important;
}
.djcf-featured .item-box:hover .readmore a {
    color: #C8952B !important;
}
.djcf-featured .cll-avatar-fallback {
    display: flex !important;
    width: 100% !important;
    height: 100% !important;
    align-items: center !important;
    justify-content: center !important;
    background: #E8EEF5 !important;
    color: #0D2240 !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    border-radius: 50% !important;
}

/* Hide unwanted elements */
.djcf-featured .djcfFav,
.djcf-featured .type,
.djcf-featured .price,
.djcf-featured .date {
    display: none !important;
}

/* Tablet: 2 columns */
@media (max-width: 1199px) and (min-width: 960px) {
    .djcf-featured .items {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

/* Desktop 3-up for city modules */
@media (min-width: 1200px) {
    .djcf-featured .items {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

/* Home carousel: denser 4-up when space allows */
.cll-home-lawyers-mod.djcf-featured .items {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}
@media (max-width: 1199px) and (min-width: 960px) {
    .cll-home-lawyers-mod.djcf-featured .items {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

/* Mobile / small tablet: snap carousel + compact profile cards */
@media (max-width: 959px) {
    .djcf-featured .items-outer {
        margin: 0 -4px !important;
    }
    .djcf-featured .items,
    .cll-home-lawyers-mod .items {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        gap: 12px !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        -webkit-overflow-scrolling: touch !important;
        scroll-snap-type: x mandatory !important;
        scroll-padding-left: 4px !important;
        padding: 4px 4px 14px !important;
        margin: 0 !important;
        scrollbar-width: none !important;
        grid-template-columns: none !important;
    }
    .djcf-featured .items::-webkit-scrollbar,
    .cll-home-lawyers-mod .items::-webkit-scrollbar {
        display: none !important;
    }
    .djcf-featured .items-col,
    .cll-home-lawyers-mod .items-col {
        flex: 0 0 min(78vw, 300px) !important;
        width: min(78vw, 300px) !important;
        max-width: min(78vw, 300px) !important;
        float: none !important;
        scroll-snap-align: start !important;
    }
    .djcf-featured .items-cols4 .items-col:nth-child(n+5),
    .cll-home-lawyers-mod .items-cols4 .items-col:nth-child(n+5) {
        display: block !important;
    }
    .cll-home-lawyers-mod .items-col:nth-child(n+7) {
        display: none !important;
    }

    .djcf-featured .item-box {
        padding: 0 !important;
        height: 100% !important;
        margin: 0 !important;
        transform: none !important;
    }
    .djcf-featured .item-box:hover {
        transform: none !important;
    }
    .djcf-featured .item-box-in {
        padding: 14px 14px 14px 18px !important;
    }
    .djcf-featured .item-box-in::before {
        left: 0 !important;
        top: 0 !important;
        width: 4px !important;
        height: 100% !important;
        border-radius: 10px 0 0 10px !important;
    }
    .djcf-featured .item {
        gap: 8px !important;
    }
    .djcf-featured .item .title {
        grid-template-columns: 56px 1fr !important;
    }
    .djcf-featured .item .title > a.title:not(.title_img) {
        font-size: 15px !important;
        line-height: 1.25 !important;
    }
    .djcf-featured .item .title img {
        width: 100% !important;
        height: 100% !important;
        max-width: none !important;
    }
    .djcf-featured .item .desc,
    .djcf-featured .item .description {
        font-size: 12px !important;
        line-height: 1.45 !important;
        color: #5A6570 !important;
        -webkit-line-clamp: 2 !important;
        margin: 0 !important;
    }
    .djcf-featured .item .desc a,
    .djcf-featured .item .description a {
        color: #5A6570 !important;
        text-decoration: none !important;
        pointer-events: none !important;
    }
    .djcf-featured .item .category,
    .djcf-featured .item .region {
        font-size: 11px !important;
    }
    .djcf-featured .item .category a,
    .djcf-featured .item .region a {
        display: inline !important;
        max-width: none !important;
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: unset !important;
    }


    /* Scroll affordance under carousel on home */
    .cll-home-lawyers-mod {
        position: relative !important;
    }
    .cll-home-lawyers-mod::after {
        content: "Swipe for more lawyers \2192" !important;
        display: block !important;
        text-align: center !important;
        font-size: 11px !important;
        font-weight: 600 !important;
        color: #8A949E !important;
        letter-spacing: 0.02em !important;
        margin-top: 2px !important;
    }
}

/* Very small phones: slightly wider card */
@media (max-width: 380px) {
    .djcf-featured .items-col,
    .cll-home-lawyers-mod .items-col {
        flex-basis: 84vw !important;
        width: 84vw !important;
        max-width: 84vw !important;
    }
}

/* ══════════════════════════════════════════════════
   Phase 2 — Header, navbar, mega-menu, footer chrome
   Brand: Navy #0D2240 · Gold #C8952B
   ══════════════════════════════════════════════════ */

:root {
    --cll-navy: #0D2240;
    --cll-navy-deep: #081628;
    --cll-navy-mid: #132a4a;
    --cll-gold: #C8952B;
    --cll-gold-hover: #b8860b;
    --cll-muted: #8A949E;
    --cll-line: rgba(200, 149, 43, 0.28);
}

/* ---- Header bar (utility: search + CTAs) ---- */
.tm-header .tm-headerbar,
.tm-header .tm-headerbar-top,
.tm-header .tm-headerbar-default {
    background: var(--cll-navy-deep) !important;
    border-bottom: 1px solid var(--cll-line) !important;
    color: rgba(255, 255, 255, 0.85) !important;
}

/* Trust line above utility (desktop) */
.tm-header .tm-headerbar-top::before {
    content: "1,200+ verified lawyers  ·  Free initial consultation  ·  English-language China law directory";
    display: block;
    text-align: center;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--cll-gold);
    padding: 6px 12px 0;
    line-height: 1.4;
}

@media (max-width: 959px) {
    .tm-header .tm-headerbar-top::before {
        display: none;
    }
}

.tm-header .tm-headerbar a,
.tm-header .tm-headerbar .uk-navbar-nav > li > a {
    color: rgba(255, 255, 255, 0.9) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
}

.tm-header .tm-headerbar a:hover {
    color: var(--cll-gold) !important;
}

/* Search field on navy bar */
.tm-header .uk-search-input,
.tm-header-mobile .uk-search-input {
    background: rgba(255, 255, 255, 0.08) !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    color: #fff !important;
    border-radius: 4px !important;
}
.tm-header .uk-search-input::placeholder,
.tm-header-mobile .uk-search-input::placeholder {
    color: rgba(255, 255, 255, 0.55) !important;
}
.tm-header .uk-search-icon,
.tm-header-mobile .uk-search-icon {
    color: var(--cll-gold) !important;
}

/* ---- Main navbar ---- */
.tm-header .uk-navbar-container,
.tm-header-mobile .uk-navbar-container {
    background: var(--cll-navy) !important;
    background-image: linear-gradient(180deg, var(--cll-navy-mid) 0%, var(--cll-navy) 100%) !important;
}

.tm-header .uk-navbar-container.uk-navbar-sticky {
    box-shadow: 0 4px 18px rgba(8, 22, 40, 0.35) !important;
    border-bottom: 2px solid var(--cll-gold) !important;
}

.tm-header .uk-navbar-nav > li > a,
.tm-header .uk-navbar-nav > li > a > div {
    color: rgba(255, 255, 255, 0.92) !important;
    font-weight: 600 !important;
    letter-spacing: 0.01em;
}

.tm-header .uk-navbar-nav > li:hover > a,
.tm-header .uk-navbar-nav > li.uk-open > a,
.tm-header .uk-navbar-nav > li.uk-active > a,
.tm-header .uk-navbar-nav > li > a:focus {
    color: var(--cll-gold) !important;
}

/* Gold underline active / hover */
.tm-header .uk-navbar-nav > li > a {
    position: relative;
}
.tm-header .uk-navbar-nav > li.uk-active > a::after,
.tm-header .uk-navbar-nav > li:hover > a::after {
    content: "";
    position: absolute;
    left: 12px;
    right: 12px;
    bottom: 8px;
    height: 2px;
    background: var(--cll-gold);
    border-radius: 1px;
}


/* ---- Ask a Lawyer gold CTA ---- */
.tm-header .cll-cta-ask,
.tm-header a.cll-cta-ask,
.tm-header li.cll-cta-ask > a,
.tm-header .item-500 > a,
.tm-header-mobile .cll-cta-ask,
#tm-dialog-mobile .item-864 > a,
#tm-dialog-mobile .cll-cta-ask {
    background: var(--cll-gold) !important;
    color: var(--cll-navy) !important;
    border-radius: 4px !important;
    padding: 6px 14px !important;
    font-weight: 700 !important;
    text-transform: none !important;
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.12);
    transition: background 0.15s ease, transform 0.15s ease;
}
.tm-header .cll-cta-ask:hover,
.tm-header a.cll-cta-ask:hover,
.tm-header li.cll-cta-ask > a:hover,
.tm-header .item-500 > a:hover,
#tm-dialog-mobile .item-864 > a:hover {
    background: var(--cll-gold-hover) !important;
    color: var(--cll-navy) !important;
    text-decoration: none !important;
}

/* For Lawyers — quiet text link next to CTA */
.tm-header .cll-link-for-lawyers,
.tm-header .item-865 > a {
    color: rgba(255, 255, 255, 0.85) !important;
    font-weight: 600 !important;
}

/* ---- Mega-menu / dropdown ---- */
.tm-header .uk-navbar-dropdown,
.tm-header .uk-dropbar {
    border-top: 3px solid var(--cll-gold) !important;
    box-shadow: 0 12px 40px rgba(8, 22, 40, 0.18) !important;
    border-radius: 0 0 6px 6px;
}
.tm-header .uk-navbar-dropdown-nav > li > a {
    color: var(--cll-navy) !important;
    font-weight: 600 !important;
}
.tm-header .uk-navbar-dropdown-nav > li > a:hover {
    color: var(--cll-gold) !important;
}
.tm-header .uk-navbar-dropdown-nav .uk-nav-header,
.tm-header .uk-navbar-dropdown-nav > li.uk-active > a {
    color: var(--cll-navy) !important;
}
.tm-header .uk-navbar-dropdown-nav .uk-nav-sub a {
    color: #3D4A55 !important;
    font-weight: 500 !important;
}
.tm-header .uk-navbar-dropdown-nav .uk-nav-sub a:hover {
    color: var(--cll-gold) !important;
}

/* ---- Mobile header ---- */
.tm-header-mobile .uk-navbar-container {
    background: var(--cll-navy) !important;
}
.tm-header-mobile .uk-navbar-toggle,
.tm-header-mobile .uk-navbar-toggle svg {
    color: #fff !important;
}
#tm-dialog-mobile,
.tm-header-mobile .uk-dropbar {
    background: var(--cll-navy-deep) !important;
    border-top: 2px solid var(--cll-gold);
}
#tm-dialog-mobile .uk-nav a,
.tm-header-mobile .uk-nav a {
    color: rgba(255, 255, 255, 0.92) !important;
    font-weight: 600 !important;
}
#tm-dialog-mobile .uk-nav a:hover {
    color: var(--cll-gold) !important;
}

/* ---- Footer chrome ---- */
.cll-footer.uk-section-primary,
.tm-footer .cll-footer,
footer .cll-footer {
    background: var(--cll-navy) !important;
    background-image: linear-gradient(180deg, var(--cll-navy-mid) 0%, var(--cll-navy) 55%, var(--cll-navy-deep) 100%) !important;
    color: rgba(255, 255, 255, 0.88) !important;
}

.cll-footer-legal.uk-section-primary,
.tm-footer .cll-footer-legal,
footer .cll-footer-legal {
    background: var(--cll-navy-deep) !important;
    border-top: 1px solid var(--cll-line) !important;
    color: rgba(255, 255, 255, 0.65) !important;
}

.cll-footer-trust {
    color: var(--cll-gold) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    letter-spacing: 0.02em !important;
    margin: 0 !important;
}
.cll-footer-trust strong {
    color: #fff !important;
    font-weight: 800 !important;
}

.cll-footer .uk-h3,
.cll-footer .uk-h4,
.cll-footer .uk-h5,
.cll-footer .cll-footer-heading,
.cll-footer h3,
.cll-footer h4,
.cll-footer h5,
.cll-footer [class*="uk-heading"] {
    color: var(--cll-gold) !important;
    font-weight: 700 !important;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    font-size: 13px !important;
}

.cll-footer a,
.cll-footer .uk-nav a,
.cll-footer .uk-link-heading {
    color: rgba(255, 255, 255, 0.88) !important;
}
.cll-footer a:hover,
.cll-footer .uk-nav a:hover {
    color: var(--cll-gold) !important;
}

.cll-footer .uk-nav-default > li > a {
    padding: 3px 0 !important;
    font-size: 13px !important;
}

.cll-footer-tagline,
.cll-footer-contact,
.cll-footer-hours {
    color: rgba(255, 255, 255, 0.75) !important;
    line-height: 1.55 !important;
}
.cll-footer-contact a {
    color: var(--cll-gold) !important;
}

.cll-footer hr,
.cll-footer .uk-divider-icon,
.cll-footer [class*="divider"] {
    border-color: var(--cll-line) !important;
    background-color: var(--cll-line) !important;
}


.cll-footer-copy {
    color: rgba(255, 255, 255, 0.7) !important;
    margin-bottom: 6px !important;
}
.cll-footer-disclaimer {
    color: rgba(255, 255, 255, 0.5) !important;
    font-size: 12px !important;
    line-height: 1.5 !important;
    max-width: 52rem;
    margin: 0 !important;
}

.cll-footer-legal a,
.cll-footer-legal .uk-nav a {
    color: rgba(255, 255, 255, 0.7) !important;
    font-size: 12px !important;
}
.cll-footer-legal a:hover {
    color: var(--cll-gold) !important;
}
.cll-footer-legal .uk-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 16px;
    justify-content: flex-end;
}
@media (max-width: 959px) {
    .cll-footer-legal .uk-nav {
        justify-content: flex-start;
        margin-top: 12px;
    }
}

/* Fallback: if footer still muted (cached) */
.tm-footer .uk-section-muted {
    background: var(--cll-navy) !important;
    color: rgba(255, 255, 255, 0.88) !important;
}
.tm-footer .uk-section-muted a {
    color: rgba(255, 255, 255, 0.88);
}
.tm-footer .uk-section-muted a:hover {
    color: var(--cll-gold);
}

/* Hide Login form chrome if empty in header-right */
.tm-header .mod-login,
.tm-header [class*="login"] form {
    /* keep functional; tighten spacing */
    margin: 0;
}

/* Navbar justify spacing on wide screens */
@media (min-width: 1200px) {
    .tm-header .uk-navbar-nav > li > a {
        padding-left: 14px;
        padding-right: 14px;
    }
}


/* ── Step1: light logo assets (no CSS invert) ── */
.tm-header .uk-logo img,
.tm-header-mobile .uk-logo img {
    max-height: 48px;
    width: auto;
    filter: none !important;
}
.cll-footer img.el-image,
.cll-footer .el-image {
    max-height: 56px;
    width: auto;
    filter: none !important;
    opacity: 0.98;
}

/* ── Step4: By City (legacy mega styles; Type B footer overrides below) */
.tm-header .uk-navbar-dropdown .cll-mega-by-city {
    color: #C8952B !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    font-size: 12px !important;
    letter-spacing: 0.04em !important;
}
.tm-header .uk-navbar-dropdown .item-877 .uk-nav-sub a,
.tm-header .uk-navbar-dropdown .item-877 ul a {
    font-weight: 600 !important;
    color: #0D2240 !important;
}
.tm-header .uk-navbar-dropdown .item-877 .uk-nav-sub a:hover {
    color: #C8952B !important;
}
/* Emphasize "All cities" last link (if nested city list returns) */
.tm-header .uk-navbar-dropdown a[href*="find-lawyers-region"]:not([href*="/"]) ,
.tm-header .uk-navbar-dropdown .item-mega-city-all > a,
.tm-header li[class*="mega-city-all"] > a {
    color: #C8952B !important;
    font-weight: 700 !important;
}

/* ── Compact footer */
.cll-footer-compact.uk-section-primary {
    padding-top: 36px !important;
    padding-bottom: 28px !important;
}
.cll-footer-compact .cll-footer-trust {
    font-size: 12px !important;
}
.cll-footer-compact .uk-nav-default > li > a {
    padding: 2px 0 !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
}
.cll-footer-compact .cll-footer-subhead,
.cll-footer-compact .uk-text-meta {
    color: rgba(255,255,255,0.55) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    margin-bottom: 4px !important;
}
.cll-footer-compact .cll-footer-heading {
    margin-bottom: 8px !important;
}
.cll-footer-compact .cll-footer-tagline {
    margin-bottom: 8px !important;
}
.cll-footer-legal {
    padding-top: 14px !important;
    padding-bottom: 14px !important;
}
.cll-footer-legal .cll-footer-disclaimer {
    max-width: 40rem;
}

/* ── Blog discussion shell ── */
.cll-discussion {
  margin: 36px 0 8px;
  padding: 28px 0 8px;
  border-top: 1px solid #E5E9EF;
  max-width: 720px;
}
.cll-discussion-kicker {
  color: #C8952B;
  font-weight: 700;
  letter-spacing: 1px;
  font-size: 11px;
  margin-bottom: 6px;
}
.cll-discussion-title {
  color: #0D2240 !important;
  font-size: 1.35rem !important;
  font-weight: 700 !important;
  margin: 0 0 10px !important;
}
.cll-discussion-lead {
  color: #5A6570;
  font-size: 14px;
  line-height: 1.55;
  margin: 0 0 8px;
}
.cll-discussion-empty-hint {
  color: #0D2240;
  font-size: 14px;
  font-weight: 600;
  margin: 0 0 18px;
  padding: 12px 14px;
  background: #F7F4EC;
  border-left: 3px solid #C8952B;
  border-radius: 0 6px 6px 0;
}
.cll-discussion-empty-hint a { color: #C8952B; font-weight: 700; text-decoration: none; }
.cll-discussion-disclaimer {
  color: #8A949E;
  font-size: 12px;
  line-height: 1.45;
  margin: 12px 0 0;
}


/* ── Article topic buttons under title (no label; end-of-article keywords removed) ── */
.cll-keywords-label,
.blog-keywords-js,
.blog-keywords-js + hr,
div.uk-h5.uk-text-bold:has(+ .uk-flex) {
  /* hide legacy label rows when possible */
}
.cll-keywords-label { display: none !important; }
.blog-keywords-js { display: none !important; }
.blog-keywords-js + hr { display: none !important; }

.cll-keywords-inline {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 8px;
  margin: 6px 0 14px;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
}
.cll-keywords-inline .cll-keywords-list {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 8px;
  min-width: 0;
}
.cll-keywords-inline .cll-keyword-btn,
.cll-keywords-inline a.uk-button.cll-keyword-btn {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0 !important;
  padding: 4px 14px !important;
  min-height: 30px;
  border-radius: 4px !important;
  border: 1px solid #0D2240 !important;
  background: #fff !important;
  color: #0D2240 !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  text-transform: none !important;
  white-space: nowrap;
  box-shadow: none !important;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}
.cll-keywords-inline .cll-keyword-btn:hover,
.cll-keywords-inline a.uk-button.cll-keyword-btn:hover {
  background: #C8952B !important;
  border-color: #C8952B !important;
  color: #0D2240 !important;
}
@media (max-width: 480px) {
  .cll-keywords-inline,
  .cll-keywords-inline .cll-keywords-list { flex-wrap: wrap; }
}


/* Force keyword buttons + hide labels/legacy end blocks */
.cll-keywords-label { display: none !important; }
.blog-keywords-module,
.blog-keywords-js,
.blog-keywords-js + hr { display: none !important; height: 0 !important; overflow: hidden !important; margin: 0 !important; padding: 0 !important; }
.cll-keywords-inline a.cll-keyword-chip,
.cll-keywords-inline a.cll-keyword-btn,
.cll-keywords-inline a.uk-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 4px 14px !important;
  min-height: 30px !important;
  border-radius: 4px !important;
  border: 1px solid #0D2240 !important;
  background: #ffffff !important;
  color: #0D2240 !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  text-transform: none !important;
  white-space: nowrap !important;
  box-shadow: none !important;
}
.cll-keywords-inline a.cll-keyword-chip:hover,
.cll-keywords-inline a.cll-keyword-btn:hover,
.cll-keywords-inline a.uk-button:hover {
  background: #C8952B !important;
  border-color: #C8952B !important;
  color: #0D2240 !important;
}

/* ══════════════════════════════════════════════════
   Phase 3 — Navbar dropdown motion + chrome (option 2)
   Calm open, gold rail hover, parent notch
   ══════════════════════════════════════════════════ */

.tm-header .uk-navbar-dropdown,
.tm-header .uk-drop.uk-navbar-dropdown {
    padding: 14px 14px 16px !important;
    background: #ffffff !important;
    border: 1px solid rgba(13, 34, 64, 0.06) !important;
    border-top: 3px solid var(--cll-gold) !important;
    border-radius: 0 0 10px 10px !important;
    box-shadow:
        0 4px 12px rgba(8, 22, 40, 0.08),
        0 20px 48px rgba(8, 22, 40, 0.14),
        0 1px 0 rgba(200, 149, 43, 0.1) !important;
    min-width: 240px;
    z-index: 1020;
    transition:
        opacity 0.2s cubic-bezier(0.22, 1, 0.36, 1),
        transform 0.2s cubic-bezier(0.22, 1, 0.36, 1) !important;
}

/* Closed / open — UIkit toggles .uk-open */
.tm-header .uk-navbar-dropdown:not(.uk-open),
.tm-header .uk-drop.uk-navbar-dropdown:not(.uk-open) {
    opacity: 0;
    transform: translateY(10px) scale(0.985);
    pointer-events: none;
}
.tm-header .uk-navbar-dropdown.uk-open,
.tm-header .uk-drop.uk-navbar-dropdown.uk-open {
    opacity: 1;
    transform: translateY(0) scale(1);
    pointer-events: auto;
}

/* Gold connector notch under open parent (centered on panel) */
.tm-header .uk-navbar-dropdown.uk-open::before,
.tm-header .uk-drop.uk-navbar-dropdown.uk-open::before {
    content: "";
    position: absolute;
    top: -7px;
    left: 50%;
    width: 12px;
    height: 7px;
    margin-left: -6px;
    background: var(--cll-gold);
    clip-path: polygon(50% 0, 100% 100%, 0 100%);
    pointer-events: none;
    z-index: 1;
}

/* Dropdown items — hub-aligned left gold rail */
.tm-header .uk-navbar-dropdown-nav > li > a {
    position: relative !important;
    display: block !important;
    padding: 8px 12px 8px 14px !important;
    border-radius: 6px !important;
    line-height: 1.35 !important;
    font-size: 14px !important;
    color: var(--cll-navy) !important;
    font-weight: 600 !important;
    transition:
        background 0.13s ease,
        color 0.13s ease,
        padding-left 0.13s ease !important;
}
.tm-header .uk-navbar-dropdown-nav > li > a::before {
    content: "";
    position: absolute;
    left: 4px;
    top: 50%;
    width: 2px;
    height: 55%;
    background: var(--cll-gold);
    border-radius: 1px;
    transform: translateY(-50%) scaleY(0);
    transform-origin: center;
    transition: transform 0.15s ease;
    pointer-events: none;
}
.tm-header .uk-navbar-dropdown-nav > li > a:hover,
.tm-header .uk-navbar-dropdown-nav > li.uk-active > a {
    background: rgba(200, 149, 43, 0.1) !important;
    color: var(--cll-navy) !important;
}
.tm-header .uk-navbar-dropdown-nav > li > a:hover::before,
.tm-header .uk-navbar-dropdown-nav > li.uk-active > a::before {
    transform: translateY(-50%) scaleY(1);
}
.tm-header .uk-navbar-dropdown-nav > li > a:focus-visible {
    outline: 2px solid var(--cll-gold);
    outline-offset: 1px;
}
.tm-header .uk-navbar-dropdown-nav > li.uk-parent > a {
    font-weight: 700 !important;
    color: var(--cll-navy) !important;
    letter-spacing: 0.01em;
}
.tm-header .uk-navbar-dropdown-nav .uk-nav-header {
    color: var(--cll-navy) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    padding: 10px 12px 6px !important;
    margin: 0 !important;
}
.tm-header .uk-navbar-dropdown-nav .uk-nav-sub {
    margin: 2px 0 10px !important;
    padding-left: 10px !important;
    border-left: 2px solid rgba(200, 149, 43, 0.35);
}
.tm-header .uk-navbar-dropdown-nav .uk-nav-sub a {
    padding: 4px 10px !important;
    border-radius: 4px !important;
    font-size: 13px !important;
    color: #3d4a55 !important;
    font-weight: 500 !important;
    transition: background 0.12s ease, color 0.12s ease !important;
}
.tm-header .uk-navbar-dropdown-nav .uk-nav-sub a:hover {
    background: rgba(13, 34, 64, 0.04) !important;
    color: var(--cll-gold) !important;
}

/* Subtitle under “By City” etc. */
.tm-header .uk-navbar-dropdown-nav .uk-nav-subtitle {
    display: block !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    color: var(--cll-muted, #8a949e) !important;
    margin-top: 2px !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

/* Top-level open state */
.tm-header .uk-navbar-nav > li.uk-open > a {
    color: var(--cll-gold) !important;
}
.tm-header .uk-navbar-nav > li > a {
    transition: color 0.15s ease !important;
}

@media (prefers-reduced-motion: reduce) {
    .tm-header .uk-navbar-dropdown,
    .tm-header .uk-drop.uk-navbar-dropdown {
        transition: opacity 0.12s ease !important;
    }
    .tm-header .uk-navbar-dropdown:not(.uk-open),
    .tm-header .uk-drop.uk-navbar-dropdown:not(.uk-open) {
        transform: none !important;
    }
    .tm-header .uk-navbar-dropdown.uk-open,
    .tm-header .uk-drop.uk-navbar-dropdown.uk-open {
        transform: none !important;
    }
    .tm-header .uk-navbar-dropdown-nav > li > a::before {
        transition: none !important;
    }
}

/* ══════════════════════════════════════════════════
   Phase 3 — Hub index pages (City / Practice / Wiki)
   Semantic sections, featured cards, SEO-friendly hierarchy
   ══════════════════════════════════════════════════ */

.cll-hub {
    max-width: 1120px;
    margin: 0 auto;
    padding: 8px 0 40px;
    color: #3D4A55;
}
.cll-hub-hero {
    background: linear-gradient(135deg, #0D2240 0%, #163A66 55%, #1a4068 100%);
    border-radius: 12px;
    padding: 32px 36px 30px;
    margin: 0 0 28px;
    position: relative;
    overflow: hidden;
    color: #fff;
}
.cll-hub-hero::after {
    content: "";
    position: absolute;
    right: -40px;
    top: -40px;
    width: 180px;
    height: 180px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(200, 149, 43, 0.28) 0%, transparent 70%);
    pointer-events: none;
}
.cll-hub-kicker {
    color: #C8952B;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    margin: 0 0 10px;
}
.cll-hub-hero .cll-hub-title,
.cll-hub .cll-hub-title {
    color: #fff !important;
    font-size: clamp(1.6rem, 2.4vw, 2.05rem) !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    margin: 0 0 12px !important;
    max-width: 36rem;
}
/* When H1 is rendered by Joomla page-header, style that instead */
.item-page.cll-hub-page .page-header {
    display: none; /* title moved into hero for cleaner IA */
}
.cll-hub-lead {
    color: rgba(255, 255, 255, 0.82);
    font-size: 16px;
    line-height: 1.55;
    margin: 0 0 18px;
    max-width: 40rem;
}
.cll-hub-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 12px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.cll-hub-stats li {
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(200, 149, 43, 0.28);
    border-radius: 999px;
    padding: 6px 14px;
    font-size: 12px;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.92);
}
.cll-hub-stats li strong {
    color: #C8952B;
    font-weight: 800;
    margin-right: 4px;
}

/* Jump / TOC chips */
.cll-hub-toc {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 28px;
    padding: 14px 16px;
    background: #F7F9FB;
    border: 1px solid #E5E9EF;
    border-radius: 10px;
}
.cll-hub-toc-label {
    width: 100%;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #8A949E;
    margin-bottom: 2px;
}
.cll-hub-toc a {
    display: inline-flex;
    align-items: center;
    padding: 6px 12px;
    border-radius: 999px;
    border: 1px solid #0D2240;
    color: #0D2240 !important;
    font-size: 12px;
    font-weight: 600;
    text-decoration: none !important;
    background: #fff;
    transition: background 0.14s ease, border-color 0.14s ease, color 0.14s ease;
}
.cll-hub-toc a:hover {
    background: #C8952B;
    border-color: #C8952B;
    color: #0D2240 !important;
}

/* Section blocks */
.cll-hub-section {
    margin: 0 0 36px;
}
.cll-hub-section-head {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 8px 16px;
    margin: 0 0 14px;
    padding-bottom: 10px;
    border-bottom: 2px solid #E5E9EF;
    position: relative;
}
.cll-hub-section-head::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -2px;
    width: 64px;
    height: 2px;
    background: #C8952B;
}
.cll-hub-section-head h2 {
    color: #0D2240 !important;
    font-size: 1.15rem !important;
    font-weight: 700 !important;
    margin: 0 !important;
    letter-spacing: 0.01em;
}
.cll-hub-section-head p,
.cll-hub-section-desc {
    color: #8A949E;
    font-size: 13px;
    margin: 0;
    max-width: 36rem;
}

/* ── Topic stacks: visual differentiation ── */
.cll-hub-stack {
    padding: 20px 20px 18px;
    border-radius: 12px;
    border: 1px solid #E5E9EF;
    background: #fff;
    box-shadow: 0 1px 3px rgba(13, 34, 64, 0.04);
    position: relative;
    overflow: hidden;
}
.cll-hub-stack::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    background: var(--stack-accent, #C8952B);
}
.cll-hub-stack .cll-hub-section-head {
    align-items: flex-start;
    justify-content: flex-start;
    gap: 14px;
    border-bottom-color: rgba(13, 34, 64, 0.08);
    margin-bottom: 16px;
}
.cll-hub-stack .cll-hub-section-head::after {
    background: var(--stack-accent, #C8952B);
    width: 72px;
}
.cll-hub-section-head-text {
    flex: 1;
    min-width: 0;
}
.cll-hub-stack-icon {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding: 0 8px;
    border-radius: 10px;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.04em;
    color: var(--stack-accent, #C8952B);
    background: var(--stack-tint, rgba(200, 149, 43, 0.12));
    border: 1px solid var(--stack-border, rgba(200, 149, 43, 0.22));
    line-height: 1;
}
.cll-hub-stack-icon--new {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    min-width: 48px;
}

/* Stack accent themes */
.cll-hub-stack--business {
    --stack-accent: #0D2240;
    --stack-tint: rgba(13, 34, 64, 0.07);
    --stack-border: rgba(13, 34, 64, 0.14);
    --stack-row-hover: #F4F7FB;
    background: linear-gradient(180deg, #F8FAFC 0%, #FFFFFF 48%);
}
.cll-hub-stack--ip {
    --stack-accent: #6B4C9A;
    --stack-tint: rgba(107, 76, 154, 0.1);
    --stack-border: rgba(107, 76, 154, 0.2);
    --stack-row-hover: #F8F5FC;
    background: linear-gradient(180deg, #FBF8FF 0%, #FFFFFF 48%);
}
.cll-hub-stack--employment {
    --stack-accent: #1A6B5A;
    --stack-tint: rgba(26, 107, 90, 0.1);
    --stack-border: rgba(26, 107, 90, 0.2);
    --stack-row-hover: #F3FAF8;
    background: linear-gradient(180deg, #F5FBFA 0%, #FFFFFF 48%);
}
.cll-hub-stack--courts {
    --stack-accent: #8B3A3A;
    --stack-tint: rgba(139, 58, 58, 0.1);
    --stack-border: rgba(139, 58, 58, 0.2);
    --stack-row-hover: #FBF5F5;
    background: linear-gradient(180deg, #FCF7F7 0%, #FFFFFF 48%);
}
.cll-hub-stack--trade {
    --stack-accent: #B06A12;
    --stack-tint: rgba(176, 106, 18, 0.1);
    --stack-border: rgba(176, 106, 18, 0.22);
    --stack-row-hover: #FBF7F0;
    background: linear-gradient(180deg, #FDF9F2 0%, #FFFFFF 48%);
}
.cll-hub-stack .cll-hub-list a:hover {
    border-color: color-mix(in srgb, var(--stack-accent) 35%, #E5E9EF);
    background: var(--stack-row-hover, #FBF8F1);
}
.cll-hub-stack .cll-hub-list a::after {
    color: var(--stack-accent, #C8952B);
}

/* Card grid */
.cll-hub-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
}
@media (min-width: 640px) {
    .cll-hub-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 960px) {
    .cll-hub-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (min-width: 1100px) {
    .cll-hub-grid.cll-hub-grid-4 { grid-template-columns: repeat(4, 1fr); }
}

/* Featured (Tier A) larger cards */
.cll-hub-grid-featured {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
    margin-bottom: 8px;
}
@media (min-width: 640px) {
    .cll-hub-grid-featured { grid-template-columns: repeat(2, 1fr); }
}

.cll-hub-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    background: #fff;
    border: 1px solid #E5E9EF;
    border-radius: 10px;
    padding: 18px 18px 16px;
    text-decoration: none !important;
    color: inherit !important;
    box-shadow: 0 1px 2px rgba(13, 34, 64, 0.04);
    transition:
        transform 0.18s cubic-bezier(0.22, 1, 0.36, 1),
        box-shadow 0.18s ease,
        border-color 0.18s ease;
    position: relative;
    overflow: hidden;
}
.cll-hub-card::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 3px;
    background: #C8952B;
    opacity: 0;
    transition: opacity 0.18s ease;
}
.cll-hub-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 28px rgba(13, 34, 64, 0.1);
    border-color: rgba(200, 149, 43, 0.45);
}
.cll-hub-card:hover::before {
    opacity: 1;
}
.cll-hub-card-badge {
    display: inline-block;
    align-self: flex-start;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #C8952B;
    background: rgba(200, 149, 43, 0.1);
    border-radius: 4px;
    padding: 3px 8px;
    margin-bottom: 10px;
}
.cll-hub-card h3 {
    color: #0D2240 !important;
    font-size: 1.05rem !important;
    font-weight: 700 !important;
    margin: 0 0 8px !important;
    line-height: 1.3 !important;
}
.cll-hub-card p {
    color: #5A6570;
    font-size: 13px;
    line-height: 1.5;
    margin: 0 0 12px;
    flex: 1;
}
.cll-hub-card-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 10px;
    margin: 0 0 12px;
    padding: 0;
    list-style: none;
    font-size: 11px;
    color: #8A949E;
    font-weight: 600;
}
.cll-hub-card-meta li {
    background: #F4F6F8;
    border-radius: 4px;
    padding: 3px 8px;
}
.cll-hub-card-cta {
    font-size: 12px;
    font-weight: 700;
    color: #C8952B;
    letter-spacing: 0.02em;
}
.cll-hub-card:hover .cll-hub-card-cta {
    color: #0D2240;
}

/* Featured city card */
.cll-hub-card-featured {
    padding: 22px 20px 18px;
    background: linear-gradient(180deg, #FFFFFF 0%, #FBF8F1 100%);
    border-color: rgba(200, 149, 43, 0.28);
}
.cll-hub-card-featured h3 {
    font-size: 1.2rem !important;
}

/* Compact list rows (A–Z style) for denser sections */
.cll-hub-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
}
@media (min-width: 640px) {
    .cll-hub-list { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 960px) {
    .cll-hub-list { grid-template-columns: repeat(3, 1fr); }
}
.cll-hub-list a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 12px 14px;
    background: #fff;
    border: 1px solid #E5E9EF;
    border-radius: 8px;
    text-decoration: none !important;
    color: #0D2240 !important;
    font-weight: 600;
    font-size: 14px;
    transition: border-color 0.14s ease, box-shadow 0.14s ease, background 0.14s ease, transform 0.14s ease;
}
.cll-hub-list a:hover {
    border-color: rgba(200, 149, 43, 0.5);
    background: #FBF8F1;
    box-shadow: 0 4px 12px rgba(13, 34, 64, 0.06);
}
/* Quiet chevron instead of repeated "Read →" labels */
.cll-hub-list a::after {
    content: "";
    flex-shrink: 0;
    width: 7px;
    height: 7px;
    border-right: 2px solid currentColor;
    border-top: 2px solid currentColor;
    transform: rotate(45deg);
    color: #C8952B;
    opacity: 0.55;
    transition: opacity 0.14s ease, transform 0.14s ease, color 0.14s ease;
    margin-left: 4px;
}
.cll-hub-list a:hover::after {
    opacity: 1;
    transform: rotate(45deg) translate(1px, -1px);
}
/* Hide legacy Read spans if any remain in older hub HTML */
.cll-hub-list a > span {
    display: none !important;
}
.cll-hub-card-cta::after {
    content: " →";
    font-weight: 700;
}

/* ── Recently added explainers ── */
.cll-hub-recent {
    padding: 24px 22px 22px;
    border-radius: 14px;
    border: 1px solid rgba(200, 149, 43, 0.28);
    background:
        linear-gradient(135deg, rgba(200, 149, 43, 0.06) 0%, transparent 42%),
        linear-gradient(180deg, #FFFFFF 0%, #FBF9F4 100%);
    box-shadow: 0 8px 28px rgba(13, 34, 64, 0.06);
    position: relative;
    overflow: hidden;
}
.cll-hub-recent::before {
    content: "";
    position: absolute;
    right: -30px;
    top: -30px;
    width: 140px;
    height: 140px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(200, 149, 43, 0.16) 0%, transparent 70%);
    pointer-events: none;
}
.cll-hub-recent .cll-hub-section-head {
    border-bottom-color: rgba(200, 149, 43, 0.22);
    margin-bottom: 18px;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 14px;
}
.cll-hub-recent .cll-hub-section-head::after {
    width: 88px;
    background: #C8952B;
}
.cll-hub-recent-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    position: relative;
    z-index: 1;
}
@media (min-width: 640px) {
    .cll-hub-recent-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 960px) {
    .cll-hub-recent-grid { grid-template-columns: repeat(3, 1fr); }
}
.cll-hub-recent-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 16px 16px 14px;
    background: #fff;
    border: 1px solid #E8ECF1;
    border-radius: 10px;
    text-decoration: none !important;
    color: inherit !important;
    box-shadow: 0 1px 2px rgba(13, 34, 64, 0.04);
    transition:
        transform 0.18s cubic-bezier(0.22, 1, 0.36, 1),
        box-shadow 0.18s ease,
        border-color 0.18s ease;
    position: relative;
}
.cll-hub-recent-card:hover {
    transform: translateY(-3px);
    border-color: rgba(200, 149, 43, 0.45);
    box-shadow: 0 14px 30px rgba(13, 34, 64, 0.1);
}
.cll-hub-recent-tag {
    display: inline-block;
    align-self: flex-start;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    border-radius: 4px;
    padding: 3px 8px;
    margin-bottom: 10px;
    color: #0D2240;
    background: #F0F3F7;
}
.cll-hub-recent-tag--business {
    color: #0D2240;
    background: rgba(13, 34, 64, 0.08);
}
.cll-hub-recent-tag--courts {
    color: #8B3A3A;
    background: rgba(139, 58, 58, 0.1);
}
.cll-hub-recent-tag--tax {
    color: #B06A12;
    background: rgba(176, 106, 18, 0.12);
}
.cll-hub-recent-tag--employment {
    color: #1A6B5A;
    background: rgba(26, 107, 90, 0.1);
}
.cll-hub-recent-tag--ip {
    color: #6B4C9A;
    background: rgba(107, 76, 154, 0.1);
}
.cll-hub-recent-card h3 {
    color: #0D2240 !important;
    font-size: 0.98rem !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    margin: 0 0 8px !important;
}
.cll-hub-recent-card p {
    color: #5A6570;
    font-size: 13px;
    line-height: 1.5;
    margin: 0 0 12px;
    flex: 1;
}
.cll-hub-recent-cta {
    font-size: 12px;
    font-weight: 700;
    color: #C8952B;
    letter-spacing: 0.02em;
}
.cll-hub-recent-card:hover .cll-hub-recent-cta {
    color: #0D2240;
}
.cll-hub-recent-cta::after {
    content: " →";
}

/* Cross-link footer strip */
.cll-hub-cross {
    margin-top: 8px;
    padding: 22px 24px;
    background: #0D2240;
    border-radius: 10px;
    color: rgba(255, 255, 255, 0.88);
}
.cll-hub-cross h2 {
    color: #fff !important;
    font-size: 1.05rem !important;
    margin: 0 0 8px !important;
}
.cll-hub-cross p {
    color: rgba(255, 255, 255, 0.72);
    font-size: 14px;
    margin: 0 0 14px;
    max-width: 40rem;
}
.cll-hub-cross-links {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.cll-hub-cross-links a {
    display: inline-flex;
    align-items: center;
    padding: 9px 16px;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none !important;
}
.cll-hub-cross-links a.gold {
    background: #C8952B;
    color: #0D2240 !important;
}
.cll-hub-cross-links a.outline {
    border: 1px solid rgba(255, 255, 255, 0.4);
    color: #fff !important;
}
.cll-hub-cross-links a.outline:hover {
    border-color: #fff;
}

/* Hide noisy chrome on hub articles */
.item-page.cll-hub-page .article-info,
.item-page.cll-hub-page .commentbox-counter,
.item-page.cll-hub-page nav[aria-label="Pagination"],
.item-page.cll-hub-page .uk-pagination {
    display: none !important;
}
.item-page.cll-hub-page .com-content-article__body {
    margin-top: 0;
}

/* Screen-reader only (keep H1 for a11y if hidden visually elsewhere) */
.cll-sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

@media (max-width: 639px) {
    .cll-hub-hero {
        padding: 24px 18px 22px;
        border-radius: 10px;
    }
    .cll-hub-toc {
        padding: 12px;
    }
    .cll-hub-stack {
        padding: 16px 14px 14px;
    }
    .cll-hub-recent {
        padding: 18px 14px 16px;
    }
    .cll-hub-stack-icon {
        min-width: 36px;
        height: 36px;
        font-size: 12px;
    }
}

/* ══════════════════════════════════════════════════
   Phase 4 — Dropdown layouts (option 2)
   Default: compact utility · Type B: 2-col for Find Lawyers + Insights
   ══════════════════════════════════════════════════ */

/* Default: content-width compact panel (About + any other parents) */
.tm-header .uk-navbar-dropdown,
.tm-header .uk-drop.uk-navbar-dropdown {
    width: max-content !important;
    min-width: 11.5rem !important;
    max-width: min(18rem, calc(100vw - 24px)) !important;
    box-sizing: border-box !important;
}

/* Kill YOOtheme multi-column mega widths unless Type B overrides */
.tm-header .uk-navbar-dropdown-width-2,
.tm-header .uk-navbar-dropdown-width-3,
.tm-header .uk-navbar-dropdown-width-4,
.tm-header .uk-navbar-dropdown-width-5 {
    width: max-content !important;
    max-width: min(18rem, calc(100vw - 24px)) !important;
}
.tm-header .uk-navbar-dropdown .uk-drop-grid,
.tm-header .uk-navbar-dropdown [class*="uk-child-width-1-"] {
    display: block !important;
    width: 100% !important;
}
.tm-header .uk-navbar-dropdown .uk-drop-grid > div {
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}
.tm-header .uk-navbar-dropdown .uk-drop-grid > div:not(:last-child)::after {
    display: none !important;
}

/* Hide nested submenus that might still render */
.tm-header .uk-navbar-dropdown-nav .uk-nav-sub {
    display: none !important;
}

/* ── Type A: About (item-860) — compact utility ── */
.tm-header li.item-860 > .uk-navbar-dropdown {
    min-width: 11.5rem !important;
    max-width: 14.5rem !important;
    padding: 12px 10px 12px !important;
}
.tm-header li.item-860 > .uk-navbar-dropdown .uk-navbar-dropdown-nav > li > a {
    white-space: nowrap;
    font-size: 13.5px !important;
    padding: 7px 12px 7px 14px !important;
}

/* ── Type B: Find Lawyers (523) + Insights (483) — 2-column practice grid ── */
@media (min-width: 960px) {
    .tm-header li.item-523 > .uk-navbar-dropdown,
    .tm-header li.item-483 > .uk-navbar-dropdown {
        width: min(32rem, calc(100vw - 32px)) !important;
        min-width: 28rem !important;
        max-width: min(32rem, calc(100vw - 32px)) !important;
        padding: 16px 18px 18px !important;
    }

    /* Override YOOtheme width-* if present on these panels */
    .tm-header li.item-523 > .uk-navbar-dropdown-width-2,
    .tm-header li.item-523 > .uk-navbar-dropdown-width-3,
    .tm-header li.item-483 > .uk-navbar-dropdown-width-2,
    .tm-header li.item-483 > .uk-navbar-dropdown-width-3,
    .tm-header li.item-523 > .uk-navbar-dropdown[class*="uk-navbar-dropdown-width"],
    .tm-header li.item-483 > .uk-navbar-dropdown[class*="uk-navbar-dropdown-width"] {
        width: min(32rem, calc(100vw - 32px)) !important;
        max-width: min(32rem, calc(100vw - 32px)) !important;
    }

    /* Kicker labels */
    .tm-header li.item-523 > .uk-navbar-dropdown > div,
    .tm-header li.item-483 > .uk-navbar-dropdown > div {
        display: flex !important;
        flex-direction: column !important;
        gap: 0 !important;
    }
    .tm-header li.item-523 > .uk-navbar-dropdown > div::before {
        content: "Find by practice";
        display: block;
        font-size: 11px;
        font-weight: 700;
        letter-spacing: 0.07em;
        text-transform: uppercase;
        color: var(--cll-gold);
        padding: 0 4px 10px;
        margin-bottom: 2px;
        border-bottom: 1px solid rgba(13, 34, 64, 0.07);
    }
    .tm-header li.item-483 > .uk-navbar-dropdown > div::before {
        content: "Insights by practice";
        display: block;
        font-size: 11px;
        font-weight: 700;
        letter-spacing: 0.07em;
        text-transform: uppercase;
        color: var(--cll-gold);
        padding: 0 4px 10px;
        margin-bottom: 2px;
        border-bottom: 1px solid rgba(13, 34, 64, 0.07);
    }

    /* 2-column grid with soft center divider */
    .tm-header li.item-523 > .uk-navbar-dropdown .uk-navbar-dropdown-nav,
    .tm-header li.item-483 > .uk-navbar-dropdown .uk-navbar-dropdown-nav {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        column-gap: 1.25rem !important;
        row-gap: 2px !important;
        margin: 10px 0 0 !important;
        padding: 0 !important;
        position: relative !important;
    }
    .tm-header li.item-523 > .uk-navbar-dropdown .uk-navbar-dropdown-nav::before,
    .tm-header li.item-483 > .uk-navbar-dropdown .uk-navbar-dropdown-nav::before {
        content: "";
        position: absolute;
        top: 4px;
        bottom: 4px;
        left: 50%;
        width: 1px;
        margin-left: -0.625rem;
        background: linear-gradient(
            180deg,
            transparent 0%,
            rgba(13, 34, 64, 0.08) 12%,
            rgba(13, 34, 64, 0.08) 88%,
            transparent 100%
        );
        pointer-events: none;
    }
    .tm-header li.item-523 > .uk-navbar-dropdown .uk-navbar-dropdown-nav > li,
    .tm-header li.item-483 > .uk-navbar-dropdown .uk-navbar-dropdown-nav > li {
        min-width: 0;
    }
    .tm-header li.item-523 > .uk-navbar-dropdown .uk-navbar-dropdown-nav > li > a,
    .tm-header li.item-483 > .uk-navbar-dropdown .uk-navbar-dropdown-nav > li > a {
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        font-size: 13.5px !important;
        padding: 7px 10px 7px 14px !important;
    }

    /* Soft stagger on open (first 8 rows only) */
    .tm-header li.item-523 > .uk-navbar-dropdown.uk-open .uk-navbar-dropdown-nav > li,
    .tm-header li.item-483 > .uk-navbar-dropdown.uk-open .uk-navbar-dropdown-nav > li {
        animation: cll-dd-row-in 0.22s cubic-bezier(0.22, 1, 0.36, 1) both;
    }
    .tm-header li.item-523 > .uk-navbar-dropdown.uk-open .uk-navbar-dropdown-nav > li:nth-child(1),
    .tm-header li.item-483 > .uk-navbar-dropdown.uk-open .uk-navbar-dropdown-nav > li:nth-child(1) { animation-delay: 0.02s; }
    .tm-header li.item-523 > .uk-navbar-dropdown.uk-open .uk-navbar-dropdown-nav > li:nth-child(2),
    .tm-header li.item-483 > .uk-navbar-dropdown.uk-open .uk-navbar-dropdown-nav > li:nth-child(2) { animation-delay: 0.03s; }
    .tm-header li.item-523 > .uk-navbar-dropdown.uk-open .uk-navbar-dropdown-nav > li:nth-child(3),
    .tm-header li.item-483 > .uk-navbar-dropdown.uk-open .uk-navbar-dropdown-nav > li:nth-child(3) { animation-delay: 0.04s; }
    .tm-header li.item-523 > .uk-navbar-dropdown.uk-open .uk-navbar-dropdown-nav > li:nth-child(4),
    .tm-header li.item-483 > .uk-navbar-dropdown.uk-open .uk-navbar-dropdown-nav > li:nth-child(4) { animation-delay: 0.05s; }
    .tm-header li.item-523 > .uk-navbar-dropdown.uk-open .uk-navbar-dropdown-nav > li:nth-child(5),
    .tm-header li.item-483 > .uk-navbar-dropdown.uk-open .uk-navbar-dropdown-nav > li:nth-child(5) { animation-delay: 0.06s; }
    .tm-header li.item-523 > .uk-navbar-dropdown.uk-open .uk-navbar-dropdown-nav > li:nth-child(6),
    .tm-header li.item-483 > .uk-navbar-dropdown.uk-open .uk-navbar-dropdown-nav > li:nth-child(6) { animation-delay: 0.07s; }
    .tm-header li.item-523 > .uk-navbar-dropdown.uk-open .uk-navbar-dropdown-nav > li:nth-child(n + 7),
    .tm-header li.item-483 > .uk-navbar-dropdown.uk-open .uk-navbar-dropdown-nav > li:nth-child(n + 7) { animation-delay: 0.08s; }

    /* By City (877) — full-width footer strip under practices (clickable) */
    .tm-header li.item-523 > .uk-navbar-dropdown .uk-navbar-dropdown-nav > li.item-877 {
        grid-column: 1 / -1;
        margin-top: 10px;
        padding-top: 10px;
        border-top: 1px solid rgba(13, 34, 64, 0.08);
    }
    .tm-header li.item-523 > .uk-navbar-dropdown .uk-navbar-dropdown-nav > li.item-877 > a {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        background: rgba(13, 34, 64, 0.03) !important;
        border-radius: 6px !important;
        padding: 10px 12px 10px 14px !important;
        white-space: normal !important;
        pointer-events: auto !important;
        cursor: pointer !important;
        color: var(--cll-navy) !important;
        font-weight: 700 !important;
        text-transform: none !important;
        font-size: 13.5px !important;
        letter-spacing: 0.01em !important;
    }
    .tm-header li.item-523 > .uk-navbar-dropdown .uk-navbar-dropdown-nav > li.item-877 > a:hover {
        background: rgba(200, 149, 43, 0.12) !important;
        color: var(--cll-navy) !important;
    }
    /* Hide center divider over footer row height — clip via shorter ::before is enough */
    .tm-header li.item-523 > .uk-navbar-dropdown .uk-navbar-dropdown-nav::before {
        bottom: 3.25rem;
    }

    /* Subtle chevron on Type B row hover */
    .tm-header li.item-523 > .uk-navbar-dropdown .uk-navbar-dropdown-nav > li:not(.item-877) > a::after,
    .tm-header li.item-483 > .uk-navbar-dropdown .uk-navbar-dropdown-nav > li > a::after {
        content: "→";
        position: absolute;
        right: 8px;
        top: 50%;
        transform: translateY(-50%) translateX(-4px);
        font-size: 12px;
        font-weight: 600;
        color: var(--cll-gold);
        opacity: 0;
        transition: opacity 0.12s ease, transform 0.12s ease;
        pointer-events: none;
    }
    .tm-header li.item-523 > .uk-navbar-dropdown .uk-navbar-dropdown-nav > li:not(.item-877) > a:hover::after,
    .tm-header li.item-483 > .uk-navbar-dropdown .uk-navbar-dropdown-nav > li > a:hover::after {
        opacity: 1;
        transform: translateY(-50%) translateX(0);
    }
    .tm-header li.item-523 > .uk-navbar-dropdown .uk-navbar-dropdown-nav > li:not(.item-877) > a,
    .tm-header li.item-483 > .uk-navbar-dropdown .uk-navbar-dropdown-nav > li > a {
        padding-right: 22px !important;
    }
}

@keyframes cll-dd-row-in {
    from {
        opacity: 0;
        transform: translateY(4px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (prefers-reduced-motion: reduce) {
    .tm-header li.item-523 > .uk-navbar-dropdown.uk-open .uk-navbar-dropdown-nav > li,
    .tm-header li.item-483 > .uk-navbar-dropdown.uk-open .uk-navbar-dropdown-nav > li {
        animation: none !important;
    }
}

/* Mobile / tablet: keep single-column compact for Type B */
@media (max-width: 959px) {
    .tm-header li.item-523 > .uk-navbar-dropdown,
    .tm-header li.item-483 > .uk-navbar-dropdown {
        min-width: 13rem !important;
        max-width: min(17rem, calc(100vw - 24px)) !important;
    }
    .tm-header li.item-523 > .uk-navbar-dropdown .uk-navbar-dropdown-nav > li > a,
    .tm-header li.item-483 > .uk-navbar-dropdown .uk-navbar-dropdown-nav > li > a {
        white-space: nowrap;
    }
}

/* ══════════════════════════════════════════════════
   Phase 5 — L1 Homepage conversion hub
   ══════════════════════════════════════════════════ */

.cll-home {
    margin: 0;
    padding: 0;
    color: #3D4A55;
}
/* Full-bleed: cancel typical container padding when nested */
.item-page.cll-home,
.com-content-article.item-page .cll-home {
    max-width: none;
}

.cll-home-kicker {
    color: #C8952B;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    margin: 0 0 12px;
}
.cll-home-kicker.dark {
    color: #C8952B;
}

/* Hero */
.cll-home-hero {
    background:
        linear-gradient(135deg, rgba(8, 22, 40, 0.92) 0%, rgba(13, 34, 64, 0.88) 45%, rgba(22, 58, 102, 0.9) 100%),
        #0D2240;
    color: #fff;
    padding: 48px 20px 40px;
    border-top: 3px solid #C8952B;
}
.cll-home-hero-inner {
    max-width: 920px;
    margin: 0 auto;
}
.cll-home-hero h1 {
    color: #fff !important;
    font-size: clamp(1.75rem, 3.5vw, 2.45rem) !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    margin: 0 0 14px !important;
    max-width: 18ch;
}
.cll-home-lead {
    color: rgba(255, 255, 255, 0.82);
    font-size: 1.05rem;
    line-height: 1.55;
    margin: 0 0 22px;
    max-width: 38rem;
}

.cll-home-search {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    background: #fff;
    border-radius: 10px;
    padding: 8px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.2);
    max-width: 640px;
    margin-bottom: 14px;
}
.cll-home-search input[type="search"] {
    flex: 1 1 200px;
    border: 0;
    outline: none;
    font-size: 15px;
    padding: 10px 14px;
    color: #0D2240;
    background: transparent;
    min-width: 0;
}
.cll-home-search button {
    background: #C8952B;
    color: #0D2240;
    border: 0;
    border-radius: 6px;
    font-weight: 700;
    font-size: 14px;
    padding: 10px 20px;
    cursor: pointer;
    transition: background 0.15s ease;
}
.cll-home-search button:hover {
    background: #b8860b;
}

.cll-home-popular {
    font-size: 13px;
    color: rgba(255, 255, 255, 0.6);
    margin: 0 0 20px;
    display: flex;
    flex-wrap: wrap;
    gap: 6px 10px;
    align-items: center;
}
.cll-home-popular a {
    color: rgba(255, 255, 255, 0.9) !important;
    text-decoration: none !important;
    border-bottom: 1px solid rgba(200, 149, 43, 0.5);
    font-weight: 600;
}
.cll-home-popular a:hover {
    color: #C8952B !important;
}

.cll-home-hero-ctas {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.cll-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 11px 18px;
    border-radius: 6px;
    font-weight: 700;
    font-size: 14px;
    text-decoration: none !important;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}
.cll-btn-gold {
    background: #C8952B;
    color: #0D2240 !important;
}
.cll-btn-gold:hover {
    background: #b8860b;
    color: #0D2240 !important;
}
.cll-btn-outline {
    border: 1px solid rgba(255, 255, 255, 0.45);
    color: #fff !important;
    background: transparent;
}
.cll-btn-outline:hover {
    border-color: #fff;
    color: #fff !important;
}

/* Stats */
.cll-home-stats {
    background: #fff;
    border-bottom: 1px solid #E5E9EF;
}
.cll-home-stats-inner {
    max-width: 1120px;
    margin: 0 auto;
    padding: 22px 20px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
    text-align: center;
}
@media (min-width: 768px) {
    .cll-home-stats-inner {
        grid-template-columns: repeat(4, 1fr);
    }
}
.cll-home-stats-inner strong {
    display: block;
    color: #0D2240;
    font-size: 1.5rem;
    font-weight: 800;
    line-height: 1.2;
}
.cll-home-stats-inner span {
    font-size: 12px;
    color: #8A949E;
    font-weight: 600;
}

/* Sections */
.cll-home-section {
    padding: 48px 20px;
    background: #fff;
}
.cll-home-section-muted {
    background: #F7F9FB;
}
.cll-home-section-inner {
    max-width: 1120px;
    margin: 0 auto;
}
.cll-home-section-head {
    margin-bottom: 24px;
}
.cll-home-section-head.row {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: 12px 20px;
}
.cll-home-section-head h2 {
    color: #0D2240 !important;
    font-size: 1.45rem !important;
    font-weight: 700 !important;
    margin: 0 0 6px !important;
}
.cll-home-section-desc {
    color: #8A949E;
    font-size: 14px;
    margin: 0;
    max-width: 36rem;
}
.cll-home-more {
    color: #C8952B !important;
    font-weight: 700;
    font-size: 13px;
    text-decoration: none !important;
    white-space: nowrap;
}
.cll-home-more:hover {
    color: #0D2240 !important;
}

/* Path cards */
.cll-home-paths {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
}
@media (min-width: 768px) {
    .cll-home-paths {
        grid-template-columns: repeat(3, 1fr);
    }
}
.cll-home-path {
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid #E5E9EF;
    border-radius: 12px;
    padding: 22px 20px 18px;
    text-decoration: none !important;
    color: inherit !important;
    box-shadow: 0 1px 2px rgba(13, 34, 64, 0.04);
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
    position: relative;
    overflow: hidden;
}
.cll-home-path::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 3px;
    background: #C8952B;
    opacity: 0;
    transition: opacity 0.18s ease;
}
.cll-home-path:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 28px rgba(13, 34, 64, 0.1);
    border-color: rgba(200, 149, 43, 0.45);
}
.cll-home-path:hover::before {
    opacity: 1;
}
.cll-home-path-num {
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.08em;
    color: #C8952B;
    margin-bottom: 10px;
}
.cll-home-path h3 {
    color: #0D2240 !important;
    font-size: 1.15rem !important;
    margin: 0 0 8px !important;
}
.cll-home-path p {
    color: #5A6570;
    font-size: 14px;
    line-height: 1.5;
    margin: 0 0 14px;
    flex: 1;
}
.cll-home-path-cta {
    font-size: 13px;
    font-weight: 700;
    color: #C8952B;
}

/* City grid */
.cll-home-city-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
}
@media (min-width: 640px) {
    .cll-home-city-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (min-width: 960px) {
    .cll-home-city-grid {
        grid-template-columns: repeat(4, 1fr);
    }
}
.cll-home-city {
    background: #fff;
    border: 1px solid #E5E9EF;
    border-radius: 10px;
    padding: 18px 16px 14px;
    text-decoration: none !important;
    color: inherit !important;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}
.cll-home-city:hover {
    border-color: rgba(200, 149, 43, 0.5);
    box-shadow: 0 8px 20px rgba(13, 34, 64, 0.08);
    transform: translateY(-2px);
}
.cll-home-city h3 {
    color: #0D2240 !important;
    font-size: 1.05rem !important;
    margin: 0 0 6px !important;
}
.cll-home-city p {
    color: #8A949E;
    font-size: 12px;
    margin: 0 0 10px;
    line-height: 1.4;
}
.cll-home-city span {
    font-size: 12px;
    font-weight: 700;
    color: #C8952B;
}

/* Practice chips */
.cll-home-practice-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.cll-home-practice-strip a {
    display: inline-flex;
    align-items: center;
    padding: 10px 16px;
    border-radius: 999px;
    background: #F7F4EC;
    border: 1px solid #E8D9B0;
    color: #0D2240 !important;
    font-weight: 600;
    font-size: 13px;
    text-decoration: none !important;
    transition: background 0.15s ease, border-color 0.15s ease;
}
.cll-home-practice-strip a:hover {
    background: #C8952B;
    border-color: #C8952B;
    color: #0D2240 !important;
}
.cll-home-practice-note {
    margin: 16px 0 0;
    font-size: 13px;
    color: #8A949E;
}
.cll-home-practice-note a {
    color: #C8952B !important;
    font-weight: 700;
}

/* Featured lawyers container */
.cll-home-lawyers-mod {
    margin-top: 4px;
}
.cll-home-lawyers-mod .uk-grid {
    margin-left: 0;
}

/* Insights */
.cll-home-insights {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
}
@media (min-width: 768px) {
    .cll-home-insights {
        grid-template-columns: repeat(3, 1fr);
    }
}
.cll-home-insight {
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid #E5E9EF;
    border-radius: 10px;
    padding: 18px 16px 14px;
    text-decoration: none !important;
    color: inherit !important;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
    height: 100%;
}
.cll-home-insight:hover {
    border-color: rgba(200, 149, 43, 0.45);
    box-shadow: 0 8px 20px rgba(13, 34, 64, 0.08);
    transform: translateY(-2px);
}
.cll-home-insight h3 {
    color: #0D2240 !important;
    font-size: 1rem !important;
    line-height: 1.35 !important;
    margin: 0 0 8px !important;
}
.cll-home-insight p {
    color: #5A6570;
    font-size: 13px;
    line-height: 1.5;
    margin: 0 0 12px;
    flex: 1;
}
.cll-home-insight span {
    font-size: 12px;
    font-weight: 700;
    color: #C8952B;
}

/* Bottom CTA */
.cll-home-cta {
    background: linear-gradient(135deg, #0D2240 0%, #163A66 100%);
    color: #fff;
    padding: 48px 20px 52px;
    border-top: 3px solid #C8952B;
}
.cll-home-cta h2 {
    color: #fff !important;
    font-size: 1.5rem !important;
    margin: 0 0 10px !important;
}
.cll-home-cta p {
    color: rgba(255, 255, 255, 0.78);
    margin: 0 0 20px;
    max-width: 36rem;
    font-size: 15px;
}

/* Hide default article chrome if any leaks */
body.tm-page .cll-home + *,
.item-page.cll-home .article-info,
.item-page.cll-home .page-header {
    /* home.php is full replacement */
}

/* When YOOtheme still wraps component, tighten top spacing */
.tm-main .cll-home-hero {
    margin-top: -1px;
}

@media (max-width: 639px) {
    .cll-home-hero {
        padding: 36px 16px 32px;
    }
    .cll-home-section {
        padding: 36px 16px;
    }
}

/* Homepage polish */
body:has(.cll-home) .cll-discussion,
body:has(.cll-home) #comments,
body:has(.cll-home) [id*="commentbox"],
body:has(.cll-home) .commentbox-counter {
    display: none !important;
}
.cll-home-lawyers-mod .moduletable > h3,
.cll-home-lawyers-mod > .moduletable > h3 {
    display: none !important;
}
/* Desktop home: show up to 4 in a clean grid/row */
@media (min-width: 960px) {
    .cll-home-lawyers-mod .items-cols4 .items-col:nth-child(n+5) {
        display: none !important;
    }
    .cll-home-lawyers-mod .items {
        display: grid !important;
        grid-template-columns: repeat(4, 1fr) !important;
        gap: 14px !important;
    }
    .cll-home-lawyers-mod .items-col {
        width: 100% !important;
        float: none !important;
        flex: none !important;
    }
}

/* Home lawyers section header: better mobile stacking */
@media (max-width: 639px) {
    .cll-home-lawyers .cll-home-section-head.row {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 8px !important;
    }
    .cll-home-lawyers .cll-home-more {
        align-self: flex-start !important;
        padding: 8px 0 !important;
        min-height: 44px !important;
        display: inline-flex !important;
        align-items: center !important;
    }
    .cll-home-lawyers .cll-home-section-desc {
        font-size: 13px !important;
    }
}

/* ══════════════════════════════════════════════════
   Phase 6 — Find Lawyers hub (/find-lawyers-practice)
   ══════════════════════════════════════════════════ */

.cll-find-wrap,
#dj-classifieds.cll-find-wrap {
    max-width: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
.cll-find {
    color: #3D4A55;
}

.cll-find-kicker {
    color: #C8952B;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    margin: 0 0 10px;
}
.cll-find-kicker.dark { color: #C8952B; }

.cll-find-hero {
    background: linear-gradient(135deg, #0D2240 0%, #163A66 55%, #1a4068 100%);
    color: #fff;
    padding: 40px 20px 36px;
    border-top: 3px solid #C8952B;
    margin: 0 0 0;
}
.cll-find-hero-inner {
    max-width: 920px;
    margin: 0 auto;
}
.cll-find-hero h1 {
    color: #fff !important;
    font-size: clamp(1.65rem, 3.2vw, 2.25rem) !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    margin: 0 0 12px !important;
}
.cll-find-lead {
    color: rgba(255,255,255,0.82);
    font-size: 1.02rem;
    line-height: 1.55;
    margin: 0 0 20px;
    max-width: 40rem;
}

.cll-find-search {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    background: #fff;
    border-radius: 10px;
    padding: 8px;
    box-shadow: 0 12px 40px rgba(0,0,0,0.18);
    max-width: 640px;
    margin-bottom: 14px;
}
.cll-find-search input[type="search"] {
    flex: 1 1 200px;
    border: 0;
    outline: none;
    font-size: 15px;
    padding: 10px 14px;
    color: #0D2240;
    min-width: 0;
    background: transparent;
}
.cll-find-search button {
    background: #C8952B;
    color: #0D2240;
    border: 0;
    border-radius: 6px;
    font-weight: 700;
    font-size: 14px;
    padding: 10px 20px;
    cursor: pointer;
}
.cll-find-search button:hover { background: #b8860b; }

.cll-find-chips {
    font-size: 13px;
    color: rgba(255,255,255,0.6);
    margin: 0 0 18px;
    display: flex;
    flex-wrap: wrap;
    gap: 6px 10px;
    align-items: center;
}
.cll-find-chips a {
    color: rgba(255,255,255,0.92) !important;
    font-weight: 600;
    text-decoration: none !important;
    border-bottom: 1px solid rgba(200,149,43,0.5);
}
.cll-find-chips a:hover { color: #C8952B !important; }

.cll-find-modes {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.cll-find-mode {
    display: inline-flex;
    align-items: center;
    padding: 9px 16px;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none !important;
    border: 1px solid rgba(255,255,255,0.35);
    color: #fff !important;
    background: transparent;
}
.cll-find-mode.is-active,
.cll-find-mode.gold {
    background: #C8952B;
    border-color: #C8952B;
    color: #0D2240 !important;
}
.cll-find-mode.outline:hover {
    border-color: #fff;
}

.cll-find-section {
    padding: 40px 20px;
    background: #fff;
}
.cll-find-muted { background: #F7F9FB; }
.cll-find-inner {
    max-width: 1120px;
    margin: 0 auto;
}
.cll-find-head {
    margin-bottom: 22px;
}
.cll-find-head.row {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: 10px 16px;
}
.cll-find-head h2 {
    color: #0D2240 !important;
    font-size: 1.4rem !important;
    font-weight: 700 !important;
    margin: 0 0 6px !important;
}
.cll-find-desc {
    color: #8A949E;
    font-size: 14px;
    margin: 0;
    max-width: 36rem;
}
.cll-find-more {
    color: #C8952B !important;
    font-weight: 700;
    font-size: 13px;
    text-decoration: none !important;
    white-space: nowrap;
}

.cll-find-group {
    margin-bottom: 28px;
}
.cll-find-group-head {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 6px 14px;
    margin-bottom: 12px;
    padding-bottom: 8px;
    border-bottom: 2px solid #E5E9EF;
    position: relative;
}
.cll-find-group-head::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -2px;
    width: 56px;
    height: 2px;
    background: #C8952B;
}
.cll-find-group-head h3 {
    color: #0D2240 !important;
    font-size: 1.05rem !important;
    font-weight: 700 !important;
    margin: 0 !important;
}
.cll-find-group-head p {
    color: #8A949E;
    font-size: 13px;
    margin: 0;
}

.cll-find-practice-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
}
@media (min-width: 640px) {
    .cll-find-practice-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (min-width: 960px) {
    .cll-find-practice-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

.cll-find-practice {
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid #E5E9EF;
    border-radius: 10px;
    padding: 16px 16px 14px;
    text-decoration: none !important;
    color: inherit !important;
    transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
    position: relative;
    overflow: hidden;
    min-height: 120px;
}
.cll-find-practice::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 3px;
    background: #C8952B;
    opacity: 0;
    transition: opacity 0.15s ease;
}
.cll-find-practice:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(13,34,64,0.09);
    border-color: rgba(200,149,43,0.45);
}
.cll-find-practice:hover::before { opacity: 1; }
.cll-find-practice h4 {
    color: #0D2240 !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    margin: 0 0 6px !important;
}
.cll-find-practice p {
    color: #5A6570;
    font-size: 13px;
    line-height: 1.45;
    margin: 0 0 12px;
    flex: 1;
}
.cll-find-practice-meta {
    font-size: 12px;
    font-weight: 600;
    color: #8A949E;
    display: flex;
    align-items: center;
    gap: 6px;
}
.cll-find-practice-meta strong {
    color: #0D2240;
    font-weight: 800;
}
.cll-find-practice-meta em {
    color: #C8952B;
    font-style: normal;
    font-weight: 700;
    margin-left: auto;
}

.cll-find-city-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}
@media (min-width: 768px) {
    .cll-find-city-grid {
        grid-template-columns: repeat(4, 1fr);
    }
}
.cll-find-city {
    background: #fff;
    border: 1px solid #E5E9EF;
    border-radius: 10px;
    padding: 16px;
}
.cll-find-city h3 {
    color: #0D2240 !important;
    font-size: 1.05rem !important;
    margin: 0 0 10px !important;
}
.cll-find-city-links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.cll-find-city-links a {
    font-size: 12px;
    font-weight: 700;
    text-decoration: none !important;
    color: #0D2240 !important;
    border: 1px solid #E5E9EF;
    border-radius: 999px;
    padding: 6px 12px;
}
.cll-find-city-links a.gold {
    background: #C8952B;
    border-color: #C8952B;
    color: #0D2240 !important;
}
.cll-find-city-links a:hover {
    border-color: #C8952B;
}

.cll-find-cross {
    background: linear-gradient(135deg, #0D2240 0%, #163A66 100%);
    color: #fff;
    padding: 40px 20px 44px;
    border-top: 3px solid #C8952B;
}
.cll-find-cross h2 {
    color: #fff !important;
    font-size: 1.35rem !important;
    margin: 0 0 8px !important;
}
.cll-find-cross p {
    color: rgba(255,255,255,0.75);
    margin: 0 0 16px;
    max-width: 36rem;
    font-size: 14px;
}
.cll-find-cross-links {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.cll-find-cross-links a {
    display: inline-flex;
    align-items: center;
    padding: 9px 16px;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none !important;
    border: 1px solid rgba(255,255,255,0.4);
    color: #fff !important;
}
.cll-find-cross-links a.gold {
    background: #C8952B;
    border-color: #C8952B;
    color: #0D2240 !important;
}

/* Tighten page chrome around find hub */
body:has(.cll-find) .tm-main .uk-container:has(.cll-find-wrap),
body:has(.cll-find) .uk-container:has(#dj-classifieds.cll-find-wrap) {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
}
/* Fallback: reduce default padding when wrap present */
#dj-classifieds.cll-find-wrap .main_cat_title {
    display: none !important;
}

@media (max-width: 639px) {
    .cll-find-hero { padding: 32px 16px 28px; }
    .cll-find-section { padding: 32px 16px; }
    .cll-find-head.row {
        flex-direction: column;
        align-items: flex-start;
    }
    .cll-find-city-grid {
        grid-template-columns: 1fr;
    }
}

/* ══════════════════════════════════════════════════
   Phase 6 — Find Lawyers hub (/find-lawyers-practice)
   ══════════════════════════════════════════════════ */

.cll-find {
    margin: 0;
    padding: 0;
    color: #3D4A55;
}

.cll-find-inner {
    max-width: 1120px;
    margin: 0 auto;
    padding-left: 20px;
    padding-right: 20px;
}

.cll-find-kicker {
    color: #C8952B;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    margin: 0 0 10px;
}
.cll-find-kicker.dark { color: #C8952B; }

/* Hero */
.cll-find-hero {
    background: linear-gradient(135deg, #0D2240 0%, #163A66 55%, #1a4068 100%);
    color: #fff;
    padding: 44px 0 36px;
    border-top: 3px solid #C8952B;
}
.cll-find-hero h1 {
    color: #fff !important;
    font-size: clamp(1.7rem, 3.2vw, 2.35rem) !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    margin: 0 0 12px !important;
    max-width: 18ch;
}
.cll-find-lead {
    color: rgba(255, 255, 255, 0.82);
    font-size: 1.05rem;
    line-height: 1.55;
    margin: 0 0 20px;
    max-width: 38rem;
}

.cll-find-search {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    background: #fff;
    border-radius: 10px;
    padding: 8px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.18);
    max-width: 640px;
    margin-bottom: 14px;
}
.cll-find-search input[type="search"] {
    flex: 1 1 200px;
    border: 0;
    outline: none;
    font-size: 15px;
    padding: 10px 14px;
    color: #0D2240;
    min-width: 0;
    background: transparent;
}
.cll-find-search button {
    background: #C8952B;
    color: #0D2240;
    border: 0;
    border-radius: 6px;
    font-weight: 700;
    font-size: 14px;
    padding: 10px 20px;
    cursor: pointer;
}
.cll-find-search button:hover { background: #b8860b; }

.cll-find-chips {
    font-size: 13px;
    color: rgba(255, 255, 255, 0.6);
    margin: 0 0 18px;
    display: flex;
    flex-wrap: wrap;
    gap: 6px 10px;
    align-items: center;
}
.cll-find-chips a {
    color: rgba(255, 255, 255, 0.92) !important;
    font-weight: 600;
    text-decoration: none !important;
    border-bottom: 1px solid rgba(200, 149, 43, 0.5);
}
.cll-find-chips a:hover { color: #C8952B !important; }

.cll-find-hero-ctas {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

/* Mode switch cards */
.cll-find-modes {
    background: #fff;
    border-bottom: 1px solid #E5E9EF;
    padding: 20px 0;
}
.cll-find-modes-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
}
@media (min-width: 640px) {
    .cll-find-modes-grid {
        grid-template-columns: 1fr 1fr;
    }
}
.cll-find-mode {
    display: block;
    border: 1px solid #E5E9EF;
    border-radius: 10px;
    padding: 16px 18px;
    text-decoration: none !important;
    color: inherit !important;
    background: #F7F9FB;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.cll-find-mode:hover,
.cll-find-mode.is-active {
    border-color: rgba(200, 149, 43, 0.55);
    box-shadow: 0 6px 18px rgba(13, 34, 64, 0.08);
    background: #fff;
}
.cll-find-mode.is-active {
    border-left: 3px solid #C8952B;
}
.cll-find-mode-label {
    display: block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #8A949E;
    margin-bottom: 4px;
}
.cll-find-mode strong {
    display: block;
    color: #0D2240;
    font-size: 1.1rem;
    margin-bottom: 4px;
}
.cll-find-mode span:last-child {
    font-size: 13px;
    color: #5A6570;
    line-height: 1.4;
}

/* Sections */
.cll-find-section {
    padding: 44px 0;
    background: #fff;
}
.cll-find-section-muted {
    background: #F7F9FB;
}
.cll-find-section-head {
    margin-bottom: 22px;
}
.cll-find-section-head.row {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: 10px 16px;
}
.cll-find-section-head h2 {
    color: #0D2240 !important;
    font-size: 1.4rem !important;
    font-weight: 700 !important;
    margin: 0 0 6px !important;
}
.cll-find-section-desc {
    color: #8A949E;
    font-size: 14px;
    margin: 0;
    max-width: 36rem;
}
.cll-find-more {
    color: #C8952B !important;
    font-weight: 700;
    font-size: 13px;
    text-decoration: none !important;
}

/* Practice groups */
.cll-find-group {
    margin-bottom: 28px;
}
.cll-find-group:last-child {
    margin-bottom: 0;
}
.cll-find-group-head {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 6px 14px;
    margin-bottom: 12px;
    padding-bottom: 8px;
    border-bottom: 2px solid #E5E9EF;
    position: relative;
}
.cll-find-group-head::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -2px;
    width: 48px;
    height: 2px;
    background: #C8952B;
}
.cll-find-group-head h3 {
    color: #0D2240 !important;
    font-size: 1.05rem !important;
    font-weight: 700 !important;
    margin: 0 !important;
}
.cll-find-group-head p {
    color: #8A949E;
    font-size: 13px;
    margin: 0;
}

.cll-find-practice-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
}
@media (min-width: 640px) {
    .cll-find-practice-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (min-width: 960px) {
    .cll-find-practice-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

.cll-find-practice {
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid #E5E9EF;
    border-radius: 10px;
    padding: 16px 16px 14px;
    text-decoration: none !important;
    color: inherit !important;
    transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
    min-height: 120px;
}
.cll-find-section:not(.cll-find-section-muted) .cll-find-practice {
    background: #FBFCFD;
}
.cll-find-practice:hover {
    transform: translateY(-2px);
    border-color: rgba(200, 149, 43, 0.5);
    box-shadow: 0 10px 24px rgba(13, 34, 64, 0.08);
}
.cll-find-practice h4 {
    color: #0D2240 !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    margin: 0 0 6px !important;
}
.cll-find-practice p {
    color: #5A6570;
    font-size: 13px;
    line-height: 1.45;
    margin: 0 0 12px;
    flex: 1;
}
.cll-find-practice-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    font-size: 12px;
    font-weight: 600;
    color: #8A949E;
}
.cll-find-practice-meta .cta {
    color: #C8952B;
    font-weight: 700;
}

/* Cities */
.cll-find-city-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
}
@media (min-width: 640px) {
    .cll-find-city-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (min-width: 960px) {
    .cll-find-city-grid {
        grid-template-columns: repeat(4, 1fr);
    }
}
.cll-find-city {
    background: #fff;
    border: 1px solid #E5E9EF;
    border-radius: 10px;
    padding: 16px;
}
.cll-find-city h3 {
    color: #0D2240 !important;
    font-size: 1.05rem !important;
    margin: 0 0 4px !important;
}
.cll-find-city p {
    color: #8A949E;
    font-size: 12px;
    margin: 0 0 12px;
}
.cll-find-city-links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.cll-find-city-links a {
    display: inline-flex;
    align-items: center;
    padding: 6px 12px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none !important;
    border: 1px solid #0D2240;
    color: #0D2240 !important;
    min-height: 36px;
}
.cll-find-city-links a:first-child {
    background: #C8952B;
    border-color: #C8952B;
    color: #0D2240 !important;
}
.cll-find-city-links a:hover {
    background: #0D2240;
    border-color: #0D2240;
    color: #fff !important;
}
.cll-find-city-links a:first-child:hover {
    background: #b8860b;
    border-color: #b8860b;
    color: #0D2240 !important;
}

/* Guides */
.cll-find-guides {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
}
@media (min-width: 768px) {
    .cll-find-guides {
        grid-template-columns: repeat(3, 1fr);
    }
}
.cll-find-guides a {
    display: block;
    background: #fff;
    border: 1px solid #E5E9EF;
    border-radius: 10px;
    padding: 18px 16px;
    text-decoration: none !important;
    color: inherit !important;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.cll-find-guides a:hover {
    border-color: rgba(200, 149, 43, 0.5);
    box-shadow: 0 8px 20px rgba(13, 34, 64, 0.08);
}
.cll-find-guides strong {
    display: block;
    color: #0D2240;
    font-size: 1rem;
    margin-bottom: 4px;
}
.cll-find-guides span {
    font-size: 13px;
    color: #5A6570;
    line-height: 1.4;
}

/* CTA */
.cll-find-cta {
    background: linear-gradient(135deg, #0D2240 0%, #163A66 100%);
    color: #fff;
    padding: 44px 0 48px;
    border-top: 3px solid #C8952B;
}
.cll-find-cta h2 {
    color: #fff !important;
    font-size: 1.45rem !important;
    margin: 0 0 10px !important;
}
.cll-find-cta p {
    color: rgba(255, 255, 255, 0.78);
    margin: 0 0 18px;
    max-width: 36rem;
    font-size: 15px;
}

/* Hide stray DJCF chrome if any parent wraps us */
#dj-classifieds.cll-find .dj-category,
body:has(.cll-find) .dj-items-blog {
    /* hub replaces list on root */
}

/* Featured lawyers on find page: reuse home carousel styles via shared classes */
.cll-find-lawyers-mod .moduletable > h3 {
    display: none !important;
}

@media (max-width: 639px) {
    .cll-find-hero {
        padding: 32px 0 28px;
    }
    .cll-find-section {
        padding: 32px 0;
    }
    .cll-find-hero-ctas .cll-btn {
        flex: 1 1 auto;
        text-align: center;
    }
}

/* Find Lawyers hub — supplementary styles for full layout */
.cll-find-hero-ctas {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 4px;
}
.cll-find .cll-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 11px 18px;
    border-radius: 6px;
    font-weight: 700;
    font-size: 14px;
    text-decoration: none !important;
}
.cll-find .cll-btn-gold {
    background: #C8952B;
    color: #0D2240 !important;
}
.cll-find .cll-btn-gold:hover { background: #b8860b; }
.cll-find .cll-btn-outline {
    border: 1px solid rgba(255,255,255,0.45);
    color: #fff !important;
    background: transparent;
}
.cll-find .cll-btn-outline:hover { border-color: #fff; }

.cll-find-modes {
    background: #fff;
    padding: 0 20px;
    border-bottom: 1px solid #E5E9EF;
}
.cll-find-modes-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 20px 0;
    max-width: 1120px;
    margin: 0 auto;
}
@media (min-width: 640px) {
    .cll-find-modes-grid { grid-template-columns: 1fr 1fr; }
}
.cll-find-mode {
    display: block;
    padding: 18px 18px 16px;
    border: 1px solid #E5E9EF;
    border-radius: 10px;
    text-decoration: none !important;
    color: inherit !important;
    background: #F7F9FB;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.cll-find-mode.is-active {
    background: #fff;
    border-color: rgba(200,149,43,0.55);
    box-shadow: 0 4px 14px rgba(13,34,64,0.06);
}
.cll-find-mode:hover {
    border-color: #C8952B;
}
.cll-find-mode-label {
    display: block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #C8952B;
    margin-bottom: 4px;
}
.cll-find-mode strong {
    display: block;
    color: #0D2240;
    font-size: 1.1rem;
    margin-bottom: 4px;
}
.cll-find-mode span:last-child {
    font-size: 13px;
    color: #8A949E;
    line-height: 1.4;
}

.cll-find-section-head {
    margin-bottom: 20px;
}
.cll-find-section-head.row {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: 10px 16px;
}
.cll-find-section-head h2 {
    color: #0D2240 !important;
    font-size: 1.4rem !important;
    margin: 0 0 6px !important;
    font-weight: 700 !important;
}
.cll-find-section-desc {
    color: #8A949E;
    font-size: 14px;
    margin: 0;
    max-width: 36rem;
}
.cll-find-section-muted {
    background: #F7F9FB;
}

.cll-find-practice-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    font-size: 12px;
    font-weight: 600;
    color: #8A949E;
}
.cll-find-practice-meta .cta {
    color: #C8952B;
    font-weight: 700;
}

.cll-find-city p {
    color: #8A949E;
    font-size: 13px;
    margin: 0 0 10px;
}

.cll-find-guides {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
}
@media (min-width: 768px) {
    .cll-find-guides { grid-template-columns: repeat(3, 1fr); }
}
.cll-find-guides a {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 18px 16px;
    background: #fff;
    border: 1px solid #E5E9EF;
    border-radius: 10px;
    text-decoration: none !important;
    color: inherit !important;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.cll-find-guides a:hover {
    border-color: rgba(200,149,43,0.5);
    box-shadow: 0 8px 20px rgba(13,34,64,0.07);
}
.cll-find-guides strong {
    color: #0D2240;
    font-size: 1rem;
}
.cll-find-guides span {
    color: #8A949E;
    font-size: 13px;
    line-height: 1.4;
}

.cll-find-cta {
    background: linear-gradient(135deg, #0D2240 0%, #163A66 100%);
    color: #fff;
    padding: 44px 20px 48px;
    border-top: 3px solid #C8952B;
}
.cll-find-cta h2 {
    color: #fff !important;
    font-size: 1.4rem !important;
    margin: 0 0 10px !important;
}
.cll-find-cta p {
    color: rgba(255,255,255,0.78);
    margin: 0 0 18px;
    max-width: 36rem;
}

/* Full-bleed when inside YOOtheme container */
.tm-main .uk-container:has(.cll-find),
.uk-container:has(.cll-find) {
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}
.cll-find-inner {
    max-width: 1120px;
    margin: 0 auto;
    padding-left: 20px;
    padding-right: 20px;
}
.cll-find-hero .cll-find-inner {
    max-width: 920px;
}
.cll-find-section {
    padding-top: 40px;
    padding-bottom: 40px;
}
.cll-find-section .cll-find-inner {
    /* section padding horizontal via inner */
}

/* Hide any residual DJCF cat chrome if plugin still emits it */
body:has(.cll-find) .dj-category,
body:has(.cll-find) > .main_cat_title,
body:has(.cll-find) .main_cat_title.page_header {
    display: none !important;
}
/* When both exist as siblings before .cll-find */
.main_cat_title.page_header:has(+ .dj-category),
.dj-category:has(+ .cll-find),
.main_cat_title + .dj-category {
    display: none !important;
}
#dj-classifieds:not(.cll-find) .main_cat_title { /* keep on non-hub */ }

@media (max-width: 639px) {
    .cll-find-hero-ctas .cll-btn {
        flex: 1 1 auto;
        text-align: center;
    }
}

/* ══════════════════════════════════════════════════
   Phase 7 — L5 Lawyer profile
   ══════════════════════════════════════════════════ */

.cll-l5-wrap,
#dj-classifieds.cll-l5-wrap {
    max-width: none !important;
    margin: 0 !important;
    padding: 0 0 72px !important;
    background: #F4F6F8;
}
.cll-l5 {
    max-width: 1120px;
    margin: 0 auto;
    padding: 16px 20px 40px;
    color: #3D4A55;
}

.cll-l5-kicker {
    color: #C8952B;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    margin: 0 0 8px;
}
.cll-l5-kicker.dark { color: #C8952B; }

/* Breadcrumb */
.cll-l5-bc {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 8px;
    align-items: center;
    font-size: 12px;
    color: #8A949E;
    margin: 0 0 18px;
}
.cll-l5-bc a {
    color: #5A6570 !important;
    text-decoration: none !important;
    font-weight: 600;
}
.cll-l5-bc a:hover { color: #C8952B !important; }

/* Identity */
.cll-l5-identity {
    display: grid;
    grid-template-columns: 120px 1fr;
    gap: 18px 22px;
    background: #fff;
    border: 1px solid #E5E9EF;
    border-radius: 12px;
    padding: 22px 20px;
    box-shadow: 0 2px 8px rgba(13,34,64,0.04);
    margin-bottom: 0;
}
@media (min-width: 640px) {
    .cll-l5-identity {
        grid-template-columns: 160px 1fr;
        padding: 28px 28px;
        gap: 24px 28px;
    }
}
.cll-l5-photo img,
.cll-l5-photo-ph {
    width: 120px;
    height: 120px;
    border-radius: 12px;
    object-fit: cover;
    display: block;
    background: #E8EEF5;
}
@media (min-width: 640px) {
    .cll-l5-photo img,
    .cll-l5-photo-ph {
        width: 160px;
        height: 160px;
    }
}
.cll-l5-photo-ph {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2.5rem;
    font-weight: 700;
    color: #0D2240;
}
.cll-l5-name {
    color: #0D2240 !important;
    font-size: clamp(1.5rem, 3vw, 2rem) !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    margin: 0 0 8px !important;
}
.cll-l5-sub {
    color: #5A6570;
    font-size: 15px;
    margin: 0 0 8px;
    font-weight: 600;
}
.cll-l5-dot { margin: 0 6px; color: #C8952B; }
.cll-l5-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 14px;
    font-size: 13px;
    color: #8A949E;
    margin: 0 0 16px;
}
.cll-l5-meta span {
    font-weight: 600;
    color: #3D4A55;
}
.cll-l5-id-ctas {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.cll-l5-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 11px 18px;
    border-radius: 6px;
    font-weight: 700;
    font-size: 14px;
    text-decoration: none !important;
    min-height: 44px;
    border: none;
    cursor: pointer;
}
.cll-l5-btn.gold {
    background: #C8952B;
    color: #0D2240 !important;
}
.cll-l5-btn.gold:hover { background: #b8860b; }
.cll-l5-btn.outline {
    border: 1.5px solid #0D2240;
    color: #0D2240 !important;
    background: #fff;
}
.cll-l5-btn.outline:hover {
    background: #0D2240;
    color: #fff !important;
}
.cll-l5-cta .cll-l5-btn.outline {
    border-color: rgba(255,255,255,0.55);
    color: #fff !important;
    background: transparent;
}
.cll-l5-cta .cll-l5-btn.outline:hover {
    border-color: #fff;
    background: rgba(255,255,255,0.08);
}

/* Trust strip */
.cll-l5-trust {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1px;
    background: #0D2240;
    border-radius: 0 0 10px 10px;
    overflow: hidden;
    margin: 0 0 28px;
}
@media (min-width: 640px) {
    .cll-l5-trust {
        grid-template-columns: repeat(4, 1fr);
    }
}
.cll-l5-trust > div {
    background: #0D2240;
    padding: 14px 12px;
    text-align: center;
}
.cll-l5-trust span {
    display: block;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #C8952B;
    margin-bottom: 4px;
}
.cll-l5-trust strong {
    display: block;
    color: #fff;
    font-size: 14px;
    font-weight: 600;
}

/* Body grid */
.cll-l5-body {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
    align-items: start;
}
@media (min-width: 960px) {
    .cll-l5-body {
        grid-template-columns: minmax(0, 1fr) 340px;
        gap: 28px;
    }
    .cll-l5-side {
        position: sticky;
        top: 88px;
    }
}

.cll-l5-section {
    background: #fff;
    border: 1px solid #E5E9EF;
    border-radius: 10px;
    padding: 22px 20px;
    margin-bottom: 16px;
}
.cll-l5-section h2 {
    color: #0D2240 !important;
    font-size: 1.2rem !important;
    font-weight: 700 !important;
    margin: 0 0 14px !important;
}
.cll-l5-bio {
    font-size: 15px;
    line-height: 1.65;
    color: #3D4A55;
}
.cll-l5-bio h2,
.cll-l5-bio h3 {
    color: #0D2240 !important;
    font-size: 1.05rem !important;
    margin: 1.25em 0 0.5em !important;
}
.cll-l5-bio h2:first-child,
.cll-l5-bio h3:first-child {
    margin-top: 0 !important;
}
.cll-l5-bio p {
    margin: 0 0 0.85em;
}

.cll-l5-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.cll-l5-chips a {
    display: inline-flex;
    align-items: center;
    padding: 8px 14px;
    border-radius: 999px;
    background: #F7F4EC;
    border: 1px solid #E8D9B0;
    color: #0D2240 !important;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none !important;
    min-height: 36px;
}
.cll-l5-chips a.is-primary {
    background: #C8952B;
    border-color: #C8952B;
}
.cll-l5-chips a:hover {
    background: #0D2240;
    border-color: #0D2240;
    color: #fff !important;
}

.cll-l5-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}
.cll-l5-table th,
.cll-l5-table td {
    padding: 10px 12px;
    text-align: left;
    border-bottom: 1px solid #E5E9EF;
    vertical-align: top;
}
.cll-l5-table th {
    width: 38%;
    color: #8A949E;
    font-weight: 600;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}
.cll-l5-table td {
    color: #0D2240;
    font-weight: 600;
}

/* Contact card */
.cll-l5-contact-card {
    background: #fff;
    border: 1px solid #E5E9EF;
    border-top: 3px solid #C8952B;
    border-radius: 10px;
    padding: 20px 18px;
    box-shadow: 0 8px 24px rgba(13,34,64,0.06);
}
.cll-l5-contact-card h2 {
    color: #0D2240 !important;
    font-size: 1.2rem !important;
    margin: 0 0 8px !important;
}
.cll-l5-contact-note {
    font-size: 13px;
    color: #5A6570;
    margin: 0 0 14px;
    line-height: 1.45;
}
.cll-l5-ask-form .djform_row {
    margin-bottom: 12px;
}
.cll-l5-ask-form label {
    display: block;
    font-size: 12px;
    font-weight: 600;
    color: #0D2240;
    margin-bottom: 4px;
}
.cll-l5-ask-form input,
.cll-l5-ask-form textarea {
    width: 100%;
    border: 1px solid #E5E9EF;
    border-radius: 6px;
    padding: 10px 12px;
    font-size: 14px;
    color: #0D2240;
    background: #fff;
    box-sizing: border-box;
}
.cll-l5-ask-form input:focus,
.cll-l5-ask-form textarea:focus {
    outline: none;
    border-color: #C8952B;
    box-shadow: 0 0 0 2px rgba(200,149,43,0.15);
}
.cll-l5-ask-form .button,
.cll-l5-ask-form button[type="submit"],
.cll-l5-ask-form .btn-primary {
    background: #C8952B !important;
    color: #0D2240 !important;
    border: none !important;
    font-weight: 700 !important;
    border-radius: 6px !important;
    padding: 12px 18px !important;
    width: 100%;
    margin-top: 8px;
    min-height: 44px;
}
.cll-l5-side-links {
    margin-top: 14px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.cll-l5-side-links a {
    font-size: 13px;
    font-weight: 700;
    color: #C8952B !important;
    text-decoration: none !important;
}
.cll-l5-side-links a:hover { color: #0D2240 !important; }

/* Related */
.cll-l5-related h2,
.cll-l5-related h3 {
    color: #0D2240 !important;
    font-size: 1.1rem !important;
}
.cll-l5-related .item_box,
.cll-l5-related .djcf_items_module .item-box {
    border: 1px solid #E5E9EF;
    border-radius: 8px;
}

/* Bottom CTA */
.cll-l5-cta {
    margin-top: 28px;
    background: linear-gradient(135deg, #0D2240 0%, #163A66 100%);
    border-radius: 12px;
    padding: 28px 24px;
    color: #fff;
    border-top: 3px solid #C8952B;
}
.cll-l5-cta h2 {
    color: #fff !important;
    font-size: 1.3rem !important;
    margin: 0 0 8px !important;
}
.cll-l5-cta p {
    color: rgba(255,255,255,0.78);
    margin: 0 0 16px;
}

/* Mobile sticky */
.cll-l5-sticky {
    display: none;
}
@media (max-width: 959px) {
    .cll-l5-sticky {
        display: block;
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 1000;
        padding: 10px 14px calc(10px + env(safe-area-inset-bottom));
        background: rgba(255,255,255,0.96);
        border-top: 1px solid #E5E9EF;
        box-shadow: 0 -6px 20px rgba(13,34,64,0.1);
    }
    .cll-l5-sticky .cll-l5-btn {
        width: 100%;
    }
    .cll-l5-wrap {
        padding-bottom: 88px !important;
    }
}

/* Hide leftover DJCF chrome if any escapes */
.cll-l5-wrap .new_icon,
.cll-l5-wrap .djcf_map_box,
.cll-l5-wrap .leaflet-container {
    display: none !important;
}

/* Full bleed container */
.tm-main .uk-container:has(.cll-l5-wrap),
.uk-container:has(.cll-l5-wrap) {
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* ── L5 follow-up: sticky hide + related carousels ── */

.cll-l5-sticky.is-hidden,
.cll-l5-sticky[hidden] {
    display: none !important;
    pointer-events: none !important;
}
@media (max-width: 959px) {
    .cll-l5-sticky:not([hidden]):not(.is-hidden) {
        display: block !important;
        animation: cllL5StickyIn 0.2s ease;
    }
}
@keyframes cllL5StickyIn {
    from { transform: translateY(100%); opacity: 0.6; }
    to { transform: translateY(0); opacity: 1; }
}

/* Related lawyer blocks */
.cll-l5-related {
    padding-top: 8px;
}
.cll-l5-related-block,
.cll-l5-related .moduletable {
    margin: 0 0 22px;
    padding: 0;
    background: transparent;
    border: 0;
}
.cll-l5-related-h,
.cll-l5-related h3 {
    color: #0D2240 !important;
    font-size: 1.05rem !important;
    font-weight: 700 !important;
    margin: 0 0 12px !important;
}

/* Snap carousel for related modules (same pattern as home featured) */
.cll-l5-related .mod_djclassifieds_items .items-outer,
.cll-l5-related-carousel .items-outer {
    margin: 0 !important;
}
.cll-l5-related .mod_djclassifieds_items .items,
.cll-l5-related-carousel .items {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 12px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    scroll-snap-type: x mandatory !important;
    scroll-padding-left: 2px !important;
    padding: 4px 2px 12px !important;
    margin: 0 !important;
    scrollbar-width: none !important;
}
.cll-l5-related .mod_djclassifieds_items .items::-webkit-scrollbar,
.cll-l5-related-carousel .items::-webkit-scrollbar {
    display: none !important;
}
.cll-l5-related .mod_djclassifieds_items .items-col,
.cll-l5-related-carousel .items-col {
    flex: 0 0 min(78vw, 280px) !important;
    width: min(78vw, 280px) !important;
    max-width: min(78vw, 280px) !important;
    float: none !important;
    scroll-snap-align: start !important;
}
@media (min-width: 960px) {
    .cll-l5-related .mod_djclassifieds_items .items-col,
    .cll-l5-related-carousel .items-col {
        flex: 0 0 calc(33.333% - 10px) !important;
        width: calc(33.333% - 10px) !important;
        max-width: calc(33.333% - 10px) !important;
    }
}

/* Compact related cards (reuse featured look) */
.cll-l5-related .item-box,
.cll-l5-related-carousel .item-box {
    border: 1px solid #E5E9EF !important;
    border-radius: 10px !important;
    padding: 14px !important;
    background: #fff !important;
    box-shadow: 0 1px 3px rgba(13,34,64,0.05) !important;
    height: 100% !important;
    margin: 0 !important;
    transition: box-shadow 0.15s ease, border-color 0.15s ease;
}
.cll-l5-related .item-box:hover,
.cll-l5-related-carousel .item-box:hover {
    border-color: rgba(200,149,43,0.45) !important;
    box-shadow: 0 8px 20px rgba(13,34,64,0.08) !important;
}
.cll-l5-related .item .title,
.cll-l5-related-carousel .item .title {
    display: grid !important;
    grid-template-columns: 52px 1fr !important;
    column-gap: 10px !important;
    row-gap: 2px !important;
    align-items: center !important;
}
.cll-l5-related .item .title > a.title_img,
.cll-l5-related-carousel .item .title > a.title_img {
    grid-row: 1 / span 2 !important;
    grid-column: 1 !important;
}
.cll-l5-related .item .title > a.title:not(.title_img),
.cll-l5-related-carousel .item .title > a.title:not(.title_img) {
    grid-column: 2 !important;
    grid-row: 1 !important;
    color: #0D2240 !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    text-decoration: none !important;
}
.cll-l5-related .item .title .date_cat,
.cll-l5-related-carousel .item .title .date_cat {
    grid-column: 2 !important;
    grid-row: 2 !important;
    font-size: 11px !important;
    color: #8A949E !important;
}
.cll-l5-related .item .title img,
.cll-l5-related-carousel .item .title img {
    width: 52px !important;
    height: 52px !important;
    max-width: 52px !important;
    max-height: 52px !important;
    border-radius: 50% !important;
    object-fit: cover !important;
}
.cll-l5-related .item .desc,
.cll-l5-related-carousel .item .desc {
    font-size: 12px !important;
    color: #5A6570 !important;
    line-height: 1.4 !important;
    margin-top: 8px !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}
.cll-l5-related .item .category a,
.cll-l5-related-carousel .item .category a {
    color: #C8952B !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}
.cll-l5-related .djcfFav,
.cll-l5-related .type,
.cll-l5-related .price,
.cll-l5-related .date {
    display: none !important;
}

/* Swipe hint under each related carousel on mobile */
@media (max-width: 959px) {
    .cll-l5-related .mod_djclassifieds_items::after,
    .cll-l5-related-carousel::after {
        content: "Swipe for more →";
        display: block;
        text-align: center;
        font-size: 11px;
        font-weight: 600;
        color: #8A949E;
        margin-top: 2px;
    }
}

/* ══════════════════════════════════════════════════
   Phase 8 — Insights / Lawyer Blog index
   ══════════════════════════════════════════════════ */

.cll-insights {
    margin: 0;
    padding: 0;
    color: #3D4A55;
}

.cll-insights-inner {
    max-width: 1120px;
    margin: 0 auto;
    padding-left: 20px;
    padding-right: 20px;
}

.cll-insights-kicker {
    color: #C8952B;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    margin: 0 0 10px;
}
.cll-insights-kicker.dark { color: #C8952B; }

/* Hero */
.cll-insights-hero {
    background: linear-gradient(135deg, #0D2240 0%, #163A66 55%, #1a4068 100%);
    color: #fff;
    padding: 40px 0 32px;
    border-top: 3px solid #C8952B;
}
.cll-insights-hero h1 {
    color: #fff !important;
    font-size: clamp(1.6rem, 3vw, 2.2rem) !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    margin: 0 0 12px !important;
    max-width: 22ch;
}
.cll-insights-lead {
    color: rgba(255,255,255,0.82);
    font-size: 1.02rem;
    line-height: 1.55;
    margin: 0 0 18px;
    max-width: 40rem;
}

.cll-insights-search {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    background: #fff;
    border-radius: 10px;
    padding: 8px;
    max-width: 560px;
    margin-bottom: 14px;
    box-shadow: 0 10px 32px rgba(0,0,0,0.16);
}
.cll-insights-search input[type="search"] {
    flex: 1 1 180px;
    border: 0;
    outline: none;
    font-size: 15px;
    padding: 10px 12px;
    color: #0D2240;
    min-width: 0;
    background: transparent;
}
.cll-insights-search button {
    background: #C8952B;
    color: #0D2240;
    border: 0;
    border-radius: 6px;
    font-weight: 700;
    font-size: 14px;
    padding: 10px 18px;
    cursor: pointer;
}
.cll-insights-search button:hover { background: #b8860b; }

.cll-insights-hero-ctas {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.cll-insights .cll-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 16px;
    border-radius: 6px;
    font-weight: 700;
    font-size: 13px;
    text-decoration: none !important;
    min-height: 42px;
}
.cll-insights .cll-btn-gold {
    background: #C8952B;
    color: #0D2240 !important;
}
.cll-insights .cll-btn-gold:hover { background: #b8860b; }
.cll-insights .cll-btn-outline {
    border: 1px solid rgba(255,255,255,0.45);
    color: #fff !important;
    background: transparent;
}
.cll-insights .cll-btn-outline:hover { border-color: #fff; }

/* Chips */
.cll-insights-chips {
    background: #fff;
    border-bottom: 1px solid #E5E9EF;
    padding: 12px 0;
    position: sticky;
    top: 0;
    z-index: 50;
}
.cll-insights-chips-track {
    display: flex;
    flex-wrap: nowrap;
    gap: 8px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding-bottom: 2px;
}
.cll-insights-chips-track::-webkit-scrollbar { display: none; }
.cll-insights-chip {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    padding: 7px 14px;
    border-radius: 999px;
    border: 1px solid #E5E9EF;
    background: #F7F9FB;
    color: #0D2240 !important;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none !important;
    white-space: nowrap;
    min-height: 36px;
}
.cll-insights-chip:hover {
    border-color: #C8952B;
}
.cll-insights-chip.is-active {
    background: #C8952B;
    border-color: #C8952B;
    color: #0D2240 !important;
}

/* Main feed */
.cll-insights-main {
    background: #F4F6F8;
    padding: 28px 0 36px;
}
.cll-insights-empty {
    background: #fff;
    border: 1px solid #E5E9EF;
    border-radius: 10px;
    padding: 24px;
}

/* Featured */
.cll-insights-featured {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    background: #fff;
    border: 1px solid #E5E9EF;
    border-radius: 12px;
    overflow: hidden;
    margin-bottom: 20px;
    box-shadow: 0 2px 8px rgba(13,34,64,0.04);
}
@media (min-width: 768px) {
    .cll-insights-featured {
        grid-template-columns: 1.1fr 1fr;
    }
}
.cll-insights-featured-img {
    display: block;
    background: #E8EEF5;
    min-height: 200px;
}
.cll-insights-featured-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    min-height: 220px;
    max-height: 320px;
}
.cll-insights-featured-body {
    padding: 22px 22px 20px;
    display: flex;
    flex-direction: column;
}
.cll-insights-featured-title {
    font-size: clamp(1.2rem, 2.2vw, 1.55rem) !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    margin: 0 0 10px !important;
}
.cll-insights-featured-title a {
    color: #0D2240 !important;
    text-decoration: none !important;
}
.cll-insights-featured-title a:hover { color: #C8952B !important; }

/* Cards grid */
.cll-insights-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
}
@media (min-width: 640px) {
    .cll-insights-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (min-width: 1100px) {
    .cll-insights-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}
.cll-insights-card {
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid #E5E9EF;
    border-radius: 10px;
    overflow: hidden;
    transition: box-shadow 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
    height: 100%;
}
.cll-insights-card:hover {
    border-color: rgba(200,149,43,0.45);
    box-shadow: 0 10px 24px rgba(13,34,64,0.08);
    transform: translateY(-2px);
}
.cll-insights-card-img {
    display: block;
    aspect-ratio: 16 / 10;
    background: #E8EEF5;
    overflow: hidden;
}
.cll-insights-card-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.cll-insights-card-img-ph {
    background: linear-gradient(135deg, #E8EEF5, #F7F4EC);
}
.cll-insights-card-body {
    padding: 14px 14px 16px;
    display: flex;
    flex-direction: column;
    flex: 1;
}
.cll-insights-card-title {
    font-size: 1rem !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    margin: 0 0 8px !important;
}
.cll-insights-card-title a {
    color: #0D2240 !important;
    text-decoration: none !important;
}
.cll-insights-card-title a:hover { color: #C8952B !important; }

.cll-insights-cat {
    display: inline-block;
    align-self: flex-start;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #C8952B !important;
    text-decoration: none !important;
    margin-bottom: 8px;
}
.cll-insights-excerpt {
    font-size: 13px;
    line-height: 1.5;
    color: #5A6570;
    margin: 0 0 12px;
    flex: 1;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.cll-insights-read {
    font-size: 13px;
    font-weight: 700;
    color: #C8952B !important;
    text-decoration: none !important;
}
.cll-insights-read:hover { color: #0D2240 !important; }

.cll-insights-pagination {
    margin-top: 28px;
}

/* Practice hubs */
.cll-insights-section {
    padding: 40px 0;
    background: #fff;
}
.cll-insights-hubs { border-top: 1px solid #E5E9EF; }
.cll-insights-section-head {
    margin-bottom: 18px;
}
.cll-insights-section-head h2 {
    color: #0D2240 !important;
    font-size: 1.35rem !important;
    margin: 0 !important;
    font-weight: 700 !important;
}
.cll-insights-hub-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}
@media (min-width: 768px) {
    .cll-insights-hub-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}
@media (min-width: 1100px) {
    .cll-insights-hub-grid {
        grid-template-columns: repeat(4, 1fr);
    }
}
.cll-insights-hub {
    border: 1px solid #E5E9EF;
    border-radius: 10px;
    padding: 14px 14px 12px;
    background: #FBFCFD;
}
.cll-insights-hub h3 {
    font-size: 0.95rem !important;
    margin: 0 0 8px !important;
}
.cll-insights-hub h3 a {
    color: #0D2240 !important;
    text-decoration: none !important;
    font-weight: 700;
}
.cll-insights-hub h3 a:hover { color: #C8952B !important; }
.cll-insights-hub-links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.cll-insights-hub-links a {
    font-size: 12px;
    font-weight: 700;
    color: #C8952B !important;
    text-decoration: none !important;
}
.cll-insights-hub-links a:hover { color: #0D2240 !important; }

/* Cross CTA */
.cll-insights-cross {
    background: linear-gradient(135deg, #0D2240 0%, #163A66 100%);
    color: #fff;
    padding: 40px 0 44px;
    border-top: 3px solid #C8952B;
}
.cll-insights-cross h2 {
    color: #fff !important;
    font-size: 1.35rem !important;
    margin: 0 0 8px !important;
}
.cll-insights-cross p {
    color: rgba(255,255,255,0.75);
    margin: 0 0 16px;
    max-width: 36rem;
    font-size: 14px;
}
.cll-insights-cross-links {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.cll-insights-cross-links a {
    display: inline-flex;
    align-items: center;
    padding: 9px 16px;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none !important;
    border: 1px solid rgba(255,255,255,0.4);
    color: #fff !important;
}
.cll-insights-cross-links a.gold {
    background: #C8952B;
    border-color: #C8952B;
    color: #0D2240 !important;
}

/* Full bleed + hide builder page H1 when our hub renders */
.tm-main .uk-container:has(.cll-insights),
.uk-container:has(.cll-insights) {
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}
/* YOOtheme builder often injects a page H1 before component */
body:has(.cll-insights) .uk-section h1.uk-margin-medium-bottom:not(#cll-insights-h1),
body:has(.cll-insights) h1.uk-margin-medium-bottom:not(.cll-insights h1) {
    /* only hide if it's the old builder title immediately before insights */
}
body:has(.cll-insights) .uk-section .uk-margin-medium-bottom:is(h1) {
    display: none !important;
}
body:has(.cll-insights) .uk-section hr.uk-margin-remove-top {
    display: none !important;
}

@media (max-width: 639px) {
    .cll-insights-hero { padding: 32px 0 28px; }
    .cll-insights-hero-ctas .cll-btn { flex: 1 1 auto; }
}


/* ══════════════════════════════════════════════════
   Phase 9b — L4 Insights article (magazine editorial)
   ══════════════════════════════════════════════════ */

/* Reading progress */
.cll-l4-progress {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    z-index: 1100;
    background: transparent;
    pointer-events: none;
}
.cll-l4-progress > span {
    display: block;
    height: 100%;
    width: 0;
    background: linear-gradient(90deg, #C8952B, #e0b45a);
    box-shadow: 0 0 8px rgba(200,149,43,0.45);
    transition: width 0.05s linear;
}

.cll-l4-wrap {
    background: #fff;
    margin: 0;
    padding: 0 0 80px;
}
.cll-l4 {
    max-width: 1120px;
    margin: 0 auto;
    padding: 24px 24px 48px;
    color: #3D4A55;
}

.cll-l4-kicker {
    color: #C8952B;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    margin: 0 0 8px;
}

/* Breadcrumb — L4 shares site-wide tokens (see CLL site breadcrumbs system below) */
.cll-l4-bc {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 8px;
    font-size: var(--cll-bc-font, 12px);
    color: var(--cll-bc-muted, #8A949E);
    margin: 0 0 var(--cll-bc-gap-title, 14px);
    align-items: center;
    line-height: 1.4;
}
.cll-l4-bc a {
    color: var(--cll-bc-link, #5A6570) !important;
    text-decoration: none !important;
    font-weight: 600;
}
.cll-l4-bc a:hover { color: var(--cll-bc-hover, #C8952B) !important; }
.cll-l4-bc [aria-current="page"] {
    color: var(--cll-bc-current, #0D2240);
    font-weight: 600;
}

/* Header */
.cll-l4-header {
    margin: 0 0 36px;
    padding: 0 0 8px;
    border-bottom: none;
}
.cll-l4-header-top {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 16px;
    margin-bottom: 14px;
}
.cll-l4-chip {
    display: inline-flex;
    align-items: center;
    padding: 5px 12px;
    border-radius: 999px;
    background: rgba(200, 149, 43, 0.12);
    border: 1px solid rgba(200, 149, 43, 0.35);
    color: #0D2240 !important;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    text-decoration: none !important;
    margin: 0;
}
.cll-l4-chip:hover {
    background: #C8952B;
    color: #0D2240 !important;
}
.cll-l4-title {
    color: #0D2240 !important;
    font-size: clamp(1.75rem, 3.6vw, 2.55rem) !important;
    font-weight: 750 !important;
    line-height: 1.18 !important;
    margin: 0 0 14px !important;
    letter-spacing: -0.025em;
    max-width: 18em;
}
.cll-l4-deck {
    font-size: 1.125rem;
    line-height: 1.55;
    color: #5A6570;
    margin: 0 0 22px;
    max-width: 40rem;
    font-weight: 450;
}
.cll-l4-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0;
    font-size: 13px;
    color: #8A949E;
    margin: 0;
    font-weight: 500;
}
.cll-l4-meta time,
.cll-l4-meta span {
    display: inline;
}
.cll-l4-meta time:not(:last-child)::after,
.cll-l4-meta span:not(:last-child)::after {
    content: "·";
    margin: 0 10px;
    color: #C8952B;
    font-weight: 700;
}

/* Byline bar */
.cll-l4-byline {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 14px 18px;
    margin: 0 0 20px;
    padding: 16px 18px;
    background: linear-gradient(180deg, #F8FAFC 0%, #F3F6F9 100%);
    border: 1px solid #E5E9EF;
    border-radius: 14px;
    box-shadow: 0 1px 2px rgba(13,34,64,0.04);
}
.cll-l4-byline-text { flex: 1 1 180px; min-width: 0; }
.cll-l4-byline-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-left: auto;
}
.cll-l4-avatar {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
    border: 2px solid #fff;
    box-shadow: 0 1px 4px rgba(13,34,64,0.12);
}
.cll-l4-avatar.lg {
    width: 80px;
    height: 80px;
}
.cll-l4-avatar-ph {
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(145deg, #0D2240, #1a4068);
    color: #C8952B;
    font-weight: 700;
    font-size: 1.15rem;
}
.cll-l4-avatar-ph.lg { font-size: 1.75rem; }
.cll-l4-byline-name {
    font-weight: 700;
    color: #0D2240;
    font-size: 15px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
}
.cll-l4-byline-name a {
    color: #0D2240 !important;
    text-decoration: none !important;
}
.cll-l4-byline-name a:hover { color: #C8952B !important; }
.cll-l4-byline-sub {
    font-size: 12.5px;
    color: #5A6570;
    margin-top: 3px;
    line-height: 1.4;
}
.cll-l4-badge {
    display: inline-block;
    background: #E8F5E9;
    color: #1B5E20;
    font-size: 10px;
    padding: 2px 8px;
    border-radius: 4px;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

/* Case facts strip */
.cll-l4-facts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin: 0 0 20px;
}
@media (min-width: 640px) {
    .cll-l4-facts {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}
.cll-l4-fact {
    background: #fff;
    border: 1px solid #E5E9EF;
    border-radius: 10px;
    padding: 12px 14px;
    border-top: 3px solid #C8952B;
}
.cll-l4-fact-k {
    display: block;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #8A949E;
    margin-bottom: 4px;
}
.cll-l4-fact-v {
    display: block;
    font-size: 15px;
    font-weight: 750;
    color: #0D2240;
    letter-spacing: -0.01em;
    line-height: 1.25;
}

/* Branded case brief (replaces headshot heroes) */
.cll-l4-casebrief {
    margin: 8px 0 0;
    border-radius: 16px;
    overflow: hidden;
    background:
        radial-gradient(ellipse 80% 120% at 100% 0%, rgba(200,149,43,0.22), transparent 55%),
        linear-gradient(135deg, #0A1A33 0%, #0D2240 45%, #163A66 100%);
    border: 1px solid rgba(13,34,64,0.2);
    box-shadow: 0 12px 32px rgba(13,34,64,0.14);
    min-height: 148px;
    position: relative;
}
.cll-l4-casebrief::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, transparent 0%, transparent 62%, rgba(200,149,43,0.06) 100%);
    pointer-events: none;
}
.cll-l4-casebrief-inner {
    position: relative;
    z-index: 1;
    padding: 28px 28px 26px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    max-width: 40rem;
}
.cll-l4-casebrief-label {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #C8952B;
}
.cll-l4-casebrief-title {
    font-size: clamp(1.15rem, 2.2vw, 1.45rem);
    font-weight: 700;
    color: #fff;
    line-height: 1.3;
    letter-spacing: -0.015em;
}
.cll-l4-casebrief-meta {
    font-size: 13px;
    color: rgba(255,255,255,0.72);
    font-weight: 500;
}

.cll-l4-ctas {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0 0 8px;
}
.cll-l4-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 11px 18px;
    border-radius: 8px;
    font-weight: 700;
    font-size: 13px;
    text-decoration: none !important;
    min-height: 44px;
    border: none;
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
}
.cll-l4-btn.gold {
    background: #C8952B;
    color: #0D2240 !important;
}
.cll-l4-btn.gold:hover { background: #b8860b; }
.cll-l4-btn.outline-light,
.cll-l4-btn.outline.dark {
    border: 1.5px solid #0D2240;
    color: #0D2240 !important;
    background: #fff;
}
.cll-l4-btn.outline-light:hover,
.cll-l4-btn.outline.dark:hover {
    background: #0D2240;
    color: #fff !important;
}
.cll-l4-btn.ghost {
    border: 1px solid #D0D7E0;
    color: #0D2240 !important;
    background: #fff;
}
.cll-l4-btn.ghost:hover {
    border-color: #C8952B;
    background: #FBF8F1;
}
.cll-l4-bottom-cta .cll-l4-btn.outline,
.cll-l4-bottom-cta .cll-l4-btn.outline-light {
    border-color: rgba(255,255,255,0.55);
    color: #fff !important;
    background: transparent;
}
.cll-l4-bottom-cta .cll-l4-btn.outline:hover,
.cll-l4-bottom-cta .cll-l4-btn.outline-light:hover {
    border-color: #fff;
    background: rgba(255,255,255,0.08);
}

.cll-l4-heroimg {
    margin: 8px 0 0;
    border-radius: 14px;
    overflow: hidden;
    background: #EEF2F6;
    border: 1px solid #E5E9EF;
    box-shadow: 0 8px 24px rgba(13,34,64,0.08);
}
.cll-l4-heroimg img {
    width: 100%;
    max-height: 420px;
    object-fit: cover;
    display: block;
}

/* Layout */
.cll-l4-layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: 32px;
    align-items: start;
}
@media (min-width: 980px) {
    .cll-l4-layout {
        grid-template-columns: minmax(0, 1fr) 300px;
        gap: 40px;
    }
    .cll-l4-side {
        position: sticky;
        top: 88px;
    }
}

/* Body */
.cll-l4-body {
    background: #fff;
    border: 0;
    padding: 0 0 8px;
    font-size: 17.5px;
    line-height: 1.78;
    color: #2C3640;
    max-width: 680px;
}
.cll-l4-lead {
    font-size: 1.2em !important;
    line-height: 1.62 !important;
    color: #0D2240 !important;
    font-weight: 500 !important;
    margin: 0 0 1.1em !important;
    padding-bottom: 0.15em;
}
.cll-l4-lead::first-letter {
    font-weight: 750;
    color: #0D2240;
}
.cll-l4-body h2 {
    color: #0D2240 !important;
    font-size: 1.35rem !important;
    margin: 2em 0 0.7em !important;
    font-weight: 750 !important;
    letter-spacing: -0.015em;
    line-height: 1.28 !important;
    padding-top: 0.35em;
    border-top: 1px solid #E5E9EF;
}
.cll-l4-body h2:first-child {
    border-top: 0;
    padding-top: 0;
}
.cll-l4-body h3 {
    color: #0D2240 !important;
    font-size: 1.12rem !important;
    margin: 1.4em 0 0.5em !important;
    font-weight: 700 !important;
}
.cll-l4-body p { margin: 0 0 1.15em; }
.cll-l4-body ul,
.cll-l4-body ol {
    margin: 0 0 1.15em;
    padding-left: 1.25em;
}
.cll-l4-body li { margin-bottom: 0.4em; }
.cll-l4-body a {
    color: #0D2240;
    font-weight: 600;
    text-decoration: underline;
    text-decoration-color: rgba(200,149,43,0.55);
    text-underline-offset: 2px;
}
.cll-l4-body a:hover { color: #C8952B; }
.cll-l4-body blockquote {
    margin: 1.5em 0;
    padding: 16px 20px;
    border-left: 3px solid #C8952B;
    background: #FBF8F1;
    border-radius: 0 10px 10px 0;
    color: #0D2240;
    font-size: 1.05em;
    font-style: italic;
}

/* Key takeaways */
.cll-l4-takeaways {
    margin: 0 0 1.75em;
    padding: 20px 20px 18px;
    background: linear-gradient(180deg, #FFFCF6 0%, #FBF8F1 100%);
    border: 1px solid rgba(200,149,43,0.35);
    border-radius: 14px;
    box-shadow: 0 4px 16px rgba(200,149,43,0.06);
}
.cll-l4-takeaways-title {
    color: #0D2240 !important;
    font-size: 1.15rem !important;
    margin: 0 0 12px !important;
    font-weight: 750 !important;
    border: 0 !important;
    padding: 0 !important;
}
.cll-l4-takeaways ul {
    margin: 0 !important;
    padding: 0 0 0 1.15em !important;
    list-style: none;
}
.cll-l4-takeaways li {
    position: relative;
    margin: 0 0 10px !important;
    padding-left: 6px;
    font-size: 15px;
    line-height: 1.5;
    color: #2C3640;
}
.cll-l4-takeaways li::before {
    content: "";
    position: absolute;
    left: -1em;
    top: 0.55em;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #C8952B;
}
.cll-l4-takeaways li:last-child { margin-bottom: 0 !important; }

/* Mid CTA */
.cll-l4-midcta {
    margin: 2.25em 0;
    border-radius: 14px;
    background: linear-gradient(135deg, #0D2240 0%, #163A66 100%);
    padding: 1px;
    box-shadow: 0 10px 28px rgba(13,34,64,0.14);
}
.cll-l4-midcta-inner {
    background: linear-gradient(180deg, #0F2748 0%, #0D2240 100%);
    border-radius: 13px;
    padding: 22px 22px 20px;
    border-left: 3px solid #C8952B;
}
.cll-l4-midcta-kicker {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #C8952B;
    margin-bottom: 8px;
}
.cll-l4-midcta p {
    margin: 0 0 14px !important;
    color: rgba(255,255,255,0.92) !important;
    font-size: 16px !important;
    line-height: 1.45 !important;
}
.cll-l4-midcta p strong { color: #fff; }
.cll-l4-midcta-links {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}
.cll-l4-midcta-links a.gold {
    background: #C8952B;
    color: #0D2240 !important;
    padding: 10px 16px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none !important;
}
.cll-l4-midcta-links a.gold:hover { background: #b8860b; }
.cll-l4-midcta-links a.quiet {
    color: rgba(255,255,255,0.85) !important;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none !important;
    border-bottom: 1px solid rgba(200,149,43,0.5);
}
.cll-l4-midcta-links a.quiet:hover { color: #C8952B !important; }

/* Share */
.cll-l4-share {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin: 8px 0 0;
    max-width: 680px;
    padding-top: 18px;
    border-top: 1px solid #E5E9EF;
}
.cll-l4-share-label {
    font-size: 12px;
    font-weight: 700;
    color: #8A949E;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    margin-right: 4px;
}
.cll-l4-share-btn {
    display: inline-flex;
    align-items: center;
    padding: 7px 12px;
    border-radius: 999px;
    border: 1px solid #D5DCE5;
    background: #fff;
    color: #0D2240 !important;
    font-size: 12px;
    font-weight: 600;
    text-decoration: none !important;
    cursor: pointer;
    font-family: inherit;
}
.cll-l4-share-btn:hover {
    border-color: #C8952B;
    background: #FBF8F1;
}

.cll-l4-keywords {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 16px 0 0;
    max-width: 680px;
}
.cll-l4-keywords a {
    display: inline-flex;
    padding: 6px 12px;
    border-radius: 999px;
    border: 1px solid #D5DCE5;
    color: #0D2240 !important;
    font-size: 12px;
    font-weight: 600;
    text-decoration: none !important;
    background: #F7F9FB;
}
.cll-l4-keywords a:hover {
    background: #C8952B;
    border-color: #C8952B;
}

/* Author */
.cll-l4-author {
    display: flex;
    gap: 18px;
    align-items: flex-start;
    background: linear-gradient(180deg, #F8FAFC 0%, #F3F6F9 100%);
    border: 1px solid #E5E9EF;
    border-radius: 14px;
    padding: 24px 22px;
    margin-top: 28px;
}
.cll-l4-author h2 {
    color: #0D2240 !important;
    font-size: 1.25rem !important;
    margin: 0 0 6px !important;
    border: 0 !important;
    padding: 0 !important;
}
.cll-l4-author-bio {
    color: #5A6570;
    font-size: 14px;
    margin: 0 0 14px;
    line-height: 1.5;
}

/* Discussion */
.cll-l4-discussion {
    background: #fff;
    border: 1px solid #E5E9EF;
    border-radius: 14px;
    padding: 24px 22px;
    margin-top: 24px;
}
.cll-l4-discussion h2 {
    color: #0D2240 !important;
    font-size: 1.3rem !important;
    margin: 0 0 8px !important;
}
.cll-l4-disc-lead {
    color: #5A6570;
    font-size: 14px;
    line-height: 1.55;
    margin: 0 0 16px;
    max-width: 40rem;
}

/* Related */
.cll-l4-related {
    margin-top: 36px;
    padding-top: 8px;
}
.cll-l4-related h2 {
    color: #0D2240 !important;
    font-size: 1.3rem !important;
    margin: 0 0 16px !important;
}
.cll-l4-related-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
}
@media (min-width: 640px) {
    .cll-l4-related-grid { grid-template-columns: repeat(3, 1fr); }
}
.cll-l4-related-card {
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid #E5E9EF;
    border-radius: 12px;
    overflow: hidden;
    text-decoration: none !important;
    color: inherit !important;
    height: 100%;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}
.cll-l4-related-card:hover {
    border-color: rgba(200,149,43,0.45);
    box-shadow: 0 12px 28px rgba(13,34,64,0.1);
    transform: translateY(-2px);
}
.cll-l4-related-img {
    display: block;
    aspect-ratio: 16/10;
    background: #EEF2F6;
    overflow: hidden;
}
.cll-l4-related-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.cll-l4-related-img--brand {
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #0D2240 0%, #163A66 100%);
}
.cll-l4-related-img--brand > span {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: 2px solid rgba(200,149,43,0.55);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #C8952B;
    font-weight: 750;
    font-size: 1.15rem;
}
.cll-l4-related-title {
    display: block;
    padding: 14px 14px 6px;
    font-weight: 700;
    font-size: 14px;
    color: #0D2240;
    line-height: 1.35;
}
.cll-l4-related-date {
    display: block;
    padding: 0 14px 14px;
    font-size: 12px;
    color: #8A949E;
    font-weight: 600;
}

/* Sidebar */
.cll-l4-side-card {
    background: #F7F9FB;
    border: 1px solid #E5E9EF;
    border-radius: 12px;
    padding: 18px 16px 16px;
    margin-bottom: 14px;
}
.cll-l4-side-author-row {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
}
.cll-l4-side-author .cll-l4-avatar {
    width: 44px;
    height: 44px;
}
.cll-l4-side-author-btn {
    width: 100%;
}
.cll-l4-toc ol {
    margin: 0;
    padding-left: 1.15rem;
}
.cll-l4-toc li {
    margin: 0 0 9px;
    font-size: 13px;
    line-height: 1.35;
}
.cll-l4-toc a {
    color: #0D2240 !important;
    text-decoration: none !important;
    font-weight: 600;
}
.cll-l4-toc a:hover { color: #C8952B !important; }
.cll-l4-hubs {
    list-style: none;
    margin: 0;
    padding: 0;
}
.cll-l4-hubs li { margin: 0 0 10px; }
.cll-l4-hubs a {
    color: #0D2240 !important;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none !important;
    line-height: 1.35;
}
.cll-l4-hubs a:hover { color: #C8952B !important; }
.cll-l4-hubs a::before {
    content: "→ ";
    color: #C8952B;
    font-weight: 700;
}
.cll-l4-side-cta {
    background: #0D2240;
    border-color: #0D2240;
    color: #fff;
}
.cll-l4-side-cta .cll-l4-kicker { color: #C8952B; }
.cll-l4-side-cta p {
    font-size: 13px;
    color: rgba(255,255,255,0.78);
    margin: 0 0 14px;
    line-height: 1.45;
}
.cll-l4-side-cta .cll-l4-btn {
    width: 100%;
    margin-bottom: 8px;
}
.cll-l4-side-cta .cll-l4-btn.outline-light,
.cll-l4-side-cta .cll-l4-btn.outline.dark {
    border-color: rgba(255,255,255,0.45);
    color: #fff !important;
    background: transparent;
}
.cll-l4-side-cta .cll-l4-btn.outline-light:hover,
.cll-l4-side-cta .cll-l4-btn.outline.dark:hover {
    border-color: #fff;
    background: rgba(255,255,255,0.08);
}

.cll-l4-bottom-cta {
    margin-top: 40px;
    background: linear-gradient(135deg, #0D2240 0%, #163A66 100%);
    border-radius: 16px;
    padding: 36px 32px;
    color: #fff;
    border-top: 3px solid #C8952B;
    box-shadow: 0 12px 32px rgba(13,34,64,0.12);
}
.cll-l4-bottom-cta .cll-l4-kicker { color: #C8952B; }
.cll-l4-bottom-cta h2 {
    color: #fff !important;
    font-size: 1.45rem !important;
    margin: 0 0 8px !important;
}
.cll-l4-bottom-cta p {
    color: rgba(255,255,255,0.78);
    margin: 0 0 18px;
    max-width: 36rem;
}

.cll-l4-disclaimer {
    margin: 20px auto 0;
    max-width: 48rem;
    text-align: center;
    font-size: 12px;
    color: #8A949E;
    line-height: 1.5;
}

/* Sticky mobile */
.cll-l4-sticky { display: none; }
@media (max-width: 979px) {
    .cll-l4-sticky:not([hidden]):not(.is-hidden) {
        display: flex !important;
        gap: 8px;
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 1000;
        padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
        background: rgba(255,255,255,0.98);
        border-top: 1px solid #E5E9EF;
        box-shadow: 0 -8px 24px rgba(13,34,64,0.1);
    }
    .cll-l4-sticky .cll-l4-btn {
        flex: 1;
        font-size: 12px;
        padding: 11px 8px;
    }
    .cll-l4-wrap { padding-bottom: 90px; }
    .cll-l4-byline-actions { width: 100%; margin-left: 0; }
    .cll-l4-byline-actions .cll-l4-btn { flex: 1 1 auto; }
}
.cll-l4-sticky[hidden],
.cll-l4-sticky.is-hidden {
    display: none !important;
}

/* Full-bleed container */
.tm-main .uk-container:has(.cll-l4-wrap),
.uk-container:has(.cll-l4-wrap) {
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Hide stray chrome */
body:has(.cll-l4-wrap) .uk-margin-small > .uk-text-primary,
body:has(.cll-l4-wrap) .blog-keywords-js,
body:has(.cll-l4-wrap) .blog-keywords-module {
    display: none !important;
}
.cll-l4-header > .cll-keywords-inline {
    display: none !important;
}

@media (max-width: 639px) {
    .cll-l4 { padding: 14px 16px 36px; }
    .cll-l4-header { margin-bottom: 24px; }
    .cll-l4-casebrief-inner { padding: 22px 18px; }
    .cll-l4-author { flex-direction: column; align-items: flex-start; }
    .cll-l4-body { font-size: 16.5px; }
    .cll-l4-bottom-cta { padding: 28px 20px; }
}


/* ══════════════════════════════════════════════════
   Practice category redesign (DJCF list) — CLL
   ══════════════════════════════════════════════════ */

#dj-classifieds.cll-prac {
    max-width: none !important;
    padding: 0 !important;
    margin: 0 !important;
    color: #3D4A55;
}

.cll-prac-hero {
    background: linear-gradient(135deg, #0D2240 0%, #1a3558 100%);
    color: #fff;
    border-top: 3px solid #C8952B;
    padding: 36px 20px 40px;
    position: relative;
    overflow: hidden;
}
.cll-prac-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
      radial-gradient(ellipse 60% 80% at 90% 20%, rgba(200,149,43,.18), transparent 55%),
      radial-gradient(ellipse 40% 50% at 10% 90%, rgba(255,255,255,.04), transparent 50%);
    pointer-events: none;
}
.cll-prac-hero-inner {
    max-width: 1120px;
    margin: 0 auto;
    position: relative;
}
.cll-prac-crumbs {
    font-size: 12px;
    color: rgba(255,255,255,.5);
    margin-bottom: 16px;
}
.cll-prac-crumbs a { color: rgba(255,255,255,.55) !important; text-decoration: none !important; }
.cll-prac-crumbs a:hover { color: #C8952B !important; }
.cll-prac-crumbs .sep { margin: 0 4px; opacity: .7; }
.cll-prac-crumbs span { color: rgba(255,255,255,.88); }

.cll-prac-kicker {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.2px;
    color: #C8952B;
    text-transform: uppercase;
    margin: 0 0 10px;
}
.cll-prac-kicker.dark { color: #C8952B; }

.cll-prac-hero h1,
#cll-prac-h1 {
    color: #fff !important;
    font-size: clamp(1.55rem, 3vw, 2.1rem) !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    letter-spacing: -0.02em;
    margin: 0 0 12px !important;
    max-width: 720px;
}
.cll-prac-lead {
    font-size: 16px;
    color: rgba(255,255,255,.72);
    max-width: 620px;
    margin: 0 0 22px;
    line-height: 1.55;
}
.cll-prac-hero-ctas {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
    margin-bottom: 24px;
}
.cll-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 700;
    padding: 11px 18px;
    border-radius: 6px;
    text-decoration: none !important;
    line-height: 1.2;
    transition: background .15s, color .15s, border-color .15s;
}
.cll-btn-gold {
    background: #C8952B !important;
    color: #0D2240 !important;
}
.cll-btn-gold:hover { background: #b8860b !important; color: #0D2240 !important; }
.cll-btn-outline {
    border: 1px solid rgba(255,255,255,.28);
    color: #fff !important;
    background: transparent !important;
}
.cll-btn-outline:hover { border-color: #fff; }
.cll-btn-navy {
    background: #0D2240 !important;
    color: #fff !important;
}
.cll-btn-navy:hover { background: #1a3558 !important; color: #fff !important; }
.cll-btn-outline-dark {
    border: 1px solid #E5E9EF;
    color: #0D2240 !important;
    background: #fff !important;
}
.cll-btn-outline-dark:hover { border-color: #C8952B; }

.cll-prac-trust {
    display: flex;
    flex-wrap: wrap;
    gap: 20px 32px;
    padding-top: 18px;
    border-top: 1px solid rgba(255,255,255,.12);
}
.cll-prac-trust-item { display: flex; align-items: baseline; gap: 8px; }
.cll-prac-trust-item .n { font-size: 20px; font-weight: 700; color: #C8952B; }
.cll-prac-trust-item .l { font-size: 12px; color: rgba(255,255,255,.55); }

.cll-prac-shell {
    max-width: 1120px;
    margin: 0 auto;
    padding: 28px 20px 48px;
    display: grid;
    grid-template-columns: 1fr 300px;
    gap: 28px;
    align-items: start;
}
@media (max-width: 900px) {
    .cll-prac-shell { grid-template-columns: 1fr; }
    .cll-prac-sidebar { order: -1; }
}

.cll-prac-panel {
    background: #fff;
    border: 1px solid #E5E9EF;
    border-radius: 8px;
    padding: 18px 20px;
    margin-bottom: 16px;
    box-shadow: 0 2px 12px rgba(13,34,64,.05);
}
.cll-prac-h2 {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #0D2240 !important;
    margin: 0 0 12px !important;
    letter-spacing: -0.01em;
}
.cll-prac-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.cll-prac-chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 14px;
    border-radius: 999px;
    background: #F7F4EC;
    border: 1px solid #E8D9B0;
    font-size: 13px;
    font-weight: 600;
    color: #0D2240 !important;
    text-decoration: none !important;
    transition: .15s ease;
}
.cll-prac-chip:hover {
    background: #0D2240 !important;
    border-color: #0D2240;
    color: #fff !important;
}
.cll-prac-chip .count {
    font-size: 11px;
    font-weight: 600;
    background: rgba(13,34,64,.08);
    padding: 2px 7px;
    border-radius: 999px;
}
.cll-prac-chip:hover .count { background: rgba(255,255,255,.18); color: #fff; }

.cll-prac-intro-body {
    font-size: 14px;
    line-height: 1.7;
    color: #3D4A55;
}
.cll-prac-intro-body p { margin: 0 0 10px; }
.cll-prac-intro-body p:last-child { margin-bottom: 0; }
.cll-prac-intro-body a { color: #0D2240; font-weight: 600; text-decoration: underline; text-decoration-color: #C8952B; }

.cll-prac-result-meta {
    font-size: 13px;
    color: #5A6570;
    margin: 0 0 14px;
}
.cll-prac-result-meta strong { color: #0D2240; }

/* Lawyer cards — shared chrome */
.cll-lawyer-cards {
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.cll-lawyer-card {
    display: grid;
    grid-template-columns: 88px 1fr auto;
    gap: 18px;
    align-items: start;
    background: #fff;
    border: 1px solid #E5E9EF;
    border-radius: 8px;
    padding: 18px;
    box-shadow: 0 2px 12px rgba(13,34,64,.05);
    transition: box-shadow .2s, border-color .2s, transform .15s;
}
.cll-lawyer-card:hover {
    box-shadow: 0 8px 28px rgba(13,34,64,.1);
    border-color: #d5dce6;
    transform: translateY(-1px);
}
@media (max-width: 640px) {
    .cll-lawyer-card { grid-template-columns: 72px 1fr; }
    .cll-lawyer-cta { grid-column: 1 / -1; display: flex; flex-direction: row; gap: 8px; }
    .cll-lawyer-cta .cll-btn { flex: 1; }
}
.cll-lawyer-avatar {
    display: block;
    width: 88px;
    height: 88px;
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid #E5E9EF;
    background: linear-gradient(145deg, #e8edf3, #cfd8e4);
    flex-shrink: 0;
}
.cll-lawyer-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.cll-lawyer-avatar-ph {
    display: flex;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    font-weight: 700;
    color: #0D2240;
}
.cll-lawyer-name {
    font-size: 17px !important;
    font-weight: 700 !important;
    color: #0D2240 !important;
    margin: 0 0 2px !important;
    letter-spacing: -0.01em;
    line-height: 1.3 !important;
}
.cll-lawyer-name a { color: inherit !important; text-decoration: none !important; }
.cll-lawyer-name a:hover { color: #C8952B !important; }
.cll-lawyer-verified {
    display: inline-block;
    font-size: 11px;
    font-weight: 600;
    color: #2d6a4f;
    background: #e8f5ee;
    padding: 2px 8px;
    border-radius: 999px;
    vertical-align: middle;
    margin-left: 4px;
}
.cll-lawyer-firm {
    font-size: 12px;
    color: #8A949E;
    margin-bottom: 8px;
}
.cll-lawyer-bio {
    font-size: 13.5px;
    color: #3D4A55;
    line-height: 1.55;
    margin: 0 0 10px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.cll-lawyer-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.cll-tag {
    font-size: 11px;
    font-weight: 600;
    padding: 4px 10px;
    border-radius: 999px;
    text-decoration: none !important;
}
.cll-tag-practice {
    background: #F7F4EC;
    color: #7a5a12 !important;
    border: 1px solid #E8D9B0;
}
.cll-tag-city {
    background: #EAF0F7;
    color: #1a3558 !important;
}
.cll-tag-exp {
    background: transparent;
    border: 1px solid #E5E9EF;
    color: #5A6570 !important;
}
.cll-lawyer-cta {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 128px;
}
.cll-lawyer-cta .cll-btn { width: 100%; text-align: center; padding: 10px 14px; font-size: 12px; }

.cll-prac-pagination {
    display: flex;
    justify-content: center;
    margin-top: 22px;
}
.cll-prac-pagination ul {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    list-style: none;
    margin: 0;
    padding: 0;
}
.cll-prac-pagination a,
.cll-prac-pagination span {
    min-width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 600;
    border: 1px solid #E5E9EF;
    background: #fff;
    color: #0D2240 !important;
    text-decoration: none !important;
    padding: 0 10px;
}
.cll-prac-pagination .uk-active a,
.cll-prac-pagination .active a,
.cll-prac-pagination li.active span,
.cll-prac-pagination .uk-active span {
    background: #0D2240 !important;
    color: #fff !important;
    border-color: #0D2240;
}

.cll-prac-sidebar { position: sticky; top: 72px; }
.cll-prac-side-block {
    background: #fff;
    border: 1px solid #E5E9EF;
    border-radius: 8px;
    padding: 18px;
    margin-bottom: 14px;
    box-shadow: 0 2px 12px rgba(13,34,64,.05);
}
.cll-prac-side-block h3 {
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #0D2240 !important;
    margin: 0 0 12px !important;
}
.cll-prac-guide-cta {
    background: linear-gradient(145deg, #0D2240, #1a3558) !important;
    border: 0 !important;
    color: #fff;
}
.cll-prac-guide-cta h3 { color: #fff !important; }
.cll-prac-guide-cta p {
    font-size: 13px;
    color: rgba(255,255,255,.7);
    margin: 0 0 14px;
    line-height: 1.5;
}
.cll-prac-guide-cta .cll-btn-gold { width: 100%; }
.cll-prac-city-list { list-style: none; margin: 0; padding: 0; }
.cll-prac-city-list li {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 0;
    border-bottom: 1px solid #E5E9EF;
    font-size: 13px;
}
.cll-prac-city-list li:last-child { border-bottom: 0; }
.cll-prac-city-list a { font-weight: 500; color: #0D2240 !important; text-decoration: none !important; }
.cll-prac-city-list a:hover { color: #C8952B !important; }
.cll-prac-city-list .n { color: #8A949E; font-size: 12px; }
.cll-prac-why { list-style: none; margin: 0; padding: 0; font-size: 13px; color: #5A6570; }
.cll-prac-why li { padding: 4px 0; }
.cll-prac-why li::before { content: "· "; color: #C8952B; font-weight: 700; }
.cll-prac-side-note { font-size: 13px; color: #5A6570; margin: 0 0 12px; }
.cll-prac-side-block .cll-btn-outline-dark { display: block; width: 100%; text-align: center; }

.cll-prac-faq-item {
    border: 1px solid #E5E9EF;
    border-radius: 6px;
    background: #fff;
    margin-bottom: 8px;
    padding: 0 16px;
}
.cll-prac-faq-item summary {
    cursor: pointer;
    font-weight: 600;
    font-size: 14px;
    color: #0D2240;
    padding: 14px 0;
    list-style: none;
}
.cll-prac-faq-item summary::-webkit-details-marker { display: none; }
.cll-prac-faq-item summary::after {
    content: "+";
    float: right;
    color: #C8952B;
    font-weight: 700;
}
.cll-prac-faq-item[open] summary::after { content: "–"; }
.cll-prac-faq-a {
    font-size: 13.5px;
    color: #3D4A55;
    padding-bottom: 14px;
    line-height: 1.6;
}
.cll-prac-faq-a a { font-weight: 600; color: #0D2240; }

.cll-prac-related { margin-top: 8px; }
.cll-prac-related-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 10px;
}
.cll-prac-related-grid a {
    display: block;
    padding: 14px;
    border: 1px solid #E5E9EF;
    border-radius: 8px;
    background: #fff;
    font-size: 13px;
    font-weight: 600;
    color: #0D2240 !important;
    text-decoration: none !important;
    transition: .15s;
}
.cll-prac-related-grid a:hover {
    border-color: #C8952B;
    background: #F7F4EC;
}

.cll-prac-bottom-cta {
    background: #0D2240;
    color: #fff;
    margin-top: 8px;
}
.cll-prac-bottom-inner {
    max-width: 1120px;
    margin: 0 auto;
    padding: 36px 20px;
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    align-items: center;
    justify-content: space-between;
}
.cll-prac-bottom-cta h2 {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #fff !important;
    margin: 0 0 6px !important;
}
.cll-prac-bottom-cta p {
    font-size: 13px;
    color: rgba(255,255,255,.65);
    margin: 0;
    max-width: 480px;
}
.cll-prac-empty {
    background: #fff;
    border: 1px dashed #E5E9EF;
    border-radius: 8px;
    padding: 28px;
    text-align: center;
    color: #5A6570;
}

/* Hide legacy DJCF noise on CLL practice pages */
.cll-prac .new_icon,
.cll-prac .main_cat_title,
.cll-prac .dj-category,
.cll-prac .label_title { display: none !important; }

/* Suppress broken related loaders at bottom if still injected outside shell */
.cll-prac .mod_djclassifieds_items .mod-loader { min-height: 0; }

/* ══════════════════════════════════════════════════
   About section redesign (cll-about)
   ══════════════════════════════════════════════════ */

.cll-about {
    padding-bottom: 16px;
}

/* Horizontal About subnav */
.cll-about-subnav {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin: 0 0 20px;
    padding: 12px 14px;
    background: #F7F9FB;
    border: 1px solid #E5E9EF;
    border-radius: 10px;
}
.cll-about-subnav-label {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #8A949E;
    margin-right: 6px;
}
.cll-about-subnav a {
    display: inline-flex;
    align-items: center;
    padding: 7px 14px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 600;
    color: #0D2240 !important;
    text-decoration: none !important;
    background: #fff;
    border: 1px solid #E5E9EF;
    transition: 0.15s ease;
}
.cll-about-subnav a:hover {
    border-color: #C8952B;
    color: #0D2240 !important;
}
.cll-about-subnav a.is-active {
    background: #0D2240;
    border-color: #0D2240;
    color: #fff !important;
}

/* Hero CTAs */
.cll-about-hero-ctas {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 18px;
}
.cll-about-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 18px;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none !important;
    transition: 0.15s ease;
    line-height: 1.2;
}
.cll-about-btn.gold {
    background: #C8952B;
    color: #0D2240 !important;
}
.cll-about-btn.gold:hover {
    background: #b8860b;
    color: #0D2240 !important;
}
.cll-about-btn.outline {
    border: 1px solid rgba(255, 255, 255, 0.45);
    color: #fff !important;
    background: transparent;
}
.cll-about-btn.outline:hover {
    border-color: #fff;
    color: #fff !important;
}
.cll-about-btn.navy {
    background: #0D2240;
    color: #fff !important;
}
.cll-about-btn.navy:hover {
    background: #163A66;
    color: #fff !important;
}

/* Prose */
.cll-about-prose {
    max-width: 42rem;
    font-size: 16px;
    line-height: 1.7;
    color: #3D4A55;
}
.cll-about-prose p {
    margin: 0 0 14px;
}
.cll-about-prose h2 {
    color: #0D2240 !important;
    font-size: 1.35rem !important;
    font-weight: 700 !important;
    margin: 0 0 12px !important;
}
.cll-about-callout {
    background: #F7F4EC;
    border-left: 3px solid #C8952B;
    border-radius: 0 8px 8px 0;
    padding: 14px 16px;
    margin: 18px 0 0 !important;
    font-size: 14.5px;
    color: #0D2240;
}

/* Two-audience cards */
.cll-about-audience {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
}
@media (min-width: 768px) {
    .cll-about-audience {
        grid-template-columns: 1fr 1fr;
    }
}
.cll-about-audience-card {
    background: #fff;
    border: 1px solid #E5E9EF;
    border-radius: 12px;
    padding: 24px 22px;
    border-top: 3px solid #C8952B;
}
.cll-about-audience-card h3 {
    color: #0D2240 !important;
    font-size: 1.1rem !important;
    font-weight: 700 !important;
    margin: 0 0 10px !important;
}
.cll-about-audience-card p {
    color: #3D4A55;
    font-size: 14.5px;
    line-height: 1.6;
    margin: 0 0 16px;
}

/* Mission quote */
.cll-about-quote {
    background: linear-gradient(135deg, #0D2240 0%, #163A66 100%);
    border-radius: 12px;
    padding: 28px 30px;
    margin: 0 0 24px;
    position: relative;
}
.cll-about-quote::before {
    content: "";
    position: absolute;
    left: 24px;
    top: 20px;
    width: 28px;
    height: 3px;
    background: #C8952B;
    border-radius: 2px;
}
.cll-about-quote p {
    margin: 12px 0 0;
    color: rgba(255, 255, 255, 0.92);
    font-size: clamp(1.05rem, 2vw, 1.25rem);
    line-height: 1.55;
    font-weight: 500;
    max-width: 40rem;
}

/* Timeline */
.cll-about-timeline {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0;
}
.cll-about-timeline li {
    display: grid;
    grid-template-columns: 56px 1fr;
    gap: 16px;
    padding: 18px 0;
    border-bottom: 1px solid #E5E9EF;
}
.cll-about-timeline li:last-child {
    border-bottom: 0;
}
.cll-about-timeline-step {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: #F7F4EC;
    border: 1px solid rgba(200, 149, 43, 0.45);
    color: #C8952B;
    font-weight: 800;
    font-size: 13px;
}
.cll-about-timeline h3 {
    color: #0D2240 !important;
    font-size: 1.05rem !important;
    margin: 0 0 6px !important;
}
.cll-about-timeline p {
    margin: 0;
    color: #3D4A55;
    font-size: 14.5px;
    line-height: 1.6;
}

/* Process stepper */
.cll-about-stepper {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
}
@media (min-width: 900px) {
    .cll-about-stepper {
        grid-template-columns: repeat(4, 1fr);
        gap: 14px;
    }
}
.cll-about-stepper li {
    background: #fff;
    border: 1px solid #E5E9EF;
    border-radius: 12px;
    padding: 20px 18px;
    position: relative;
}
.cll-about-step-num {
    display: block;
    color: #C8952B;
    font-weight: 800;
    font-size: 13px;
    letter-spacing: 0.06em;
    margin-bottom: 10px;
}
.cll-about-stepper h3 {
    color: #0D2240 !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    margin: 0 0 8px !important;
}
.cll-about-stepper p {
    margin: 0;
    font-size: 13.5px;
    line-height: 1.55;
    color: #3D4A55;
}

.cll-about-mini-steps {
    margin: 0;
    padding-left: 1.15rem;
    color: #3D4A55;
    font-size: 14px;
    line-height: 1.65;
}
.cll-about-mini-steps li {
    margin-bottom: 6px;
}

.cll-about-checklist {
    margin: 0 0 18px;
    padding-left: 1.15rem;
    color: #3D4A55;
    font-size: 15px;
    line-height: 1.7;
}
.cll-about-checklist li {
    margin-bottom: 8px;
}

/* FAQ */
.cll-about-faq {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.cll-about-faq-item {
    background: #fff;
    border: 1px solid #E5E9EF;
    border-radius: 10px;
    padding: 0 16px;
}
.cll-about-faq-item summary {
    cursor: pointer;
    list-style: none;
    padding: 14px 0;
    font-weight: 600;
    font-size: 14.5px;
    color: #0D2240;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
}
.cll-about-faq-item summary::-webkit-details-marker {
    display: none;
}
.cll-about-faq-item summary::after {
    content: "+";
    color: #C8952B;
    font-weight: 700;
    font-size: 18px;
    line-height: 1;
}
.cll-about-faq-item[open] summary::after {
    content: "–";
}
.cll-about-faq-a {
    padding: 0 0 14px;
    font-size: 14px;
    color: #3D4A55;
    line-height: 1.6;
}
.cll-about-faq-a p {
    margin: 0;
}

.cll-about-disclaimer {
    font-size: 12.5px;
    color: #8A949E;
    line-height: 1.5;
    margin: 8px 0 0;
    max-width: 48rem;
}

.cll-about-trust-grid .cll-hub-card h3 {
    font-size: 1rem !important;
}

/* Hide chrome on About pages */
.item-page.cll-about-page .article-info,
.item-page.cll-about-page .commentbox-counter,
.item-page.cll-about-page nav[aria-label="Pagination"],
.item-page.cll-about-page .uk-pagination,
body:has(.cll-about) .cll-discussion,
body:has(.cll-about) #comments,
body:has(.cll-about) [id*="commentbox"],
body:has(.cll-about) .commentbox-counter,
body:has(.cll-about-page) .cll-discussion,
body:has(.cll-about-page) #comments,
body:has(.cll-about-page) [id*="commentbox"],
body:has(.cll-contact-page) .cll-discussion,
body:has(.cll-contact-page) #comments,
body:has(.cll-contact-page) [id*="commentbox"] {
    display: none !important;
}

/* Contact page polish */
.cll-contact-page .contact-name,
.com-contact .contact-name {
    /* name hidden via menu; safety */
}
body.cll-contact-page .page-header h1,
.cll-contact-page h1 {
    color: #0D2240;
}
.cll-contact-intro {
    max-width: 40rem;
    font-size: 15px;
    line-height: 1.65;
    color: #3D4A55;
    margin-bottom: 8px;
}
.cll-contact-intro a {
    color: #C8952B;
    font-weight: 600;
}

@media (max-width: 639px) {
    .cll-about-subnav {
        padding: 10px;
    }
    .cll-about-subnav-label {
        width: 100%;
        margin-bottom: 2px;
    }
    .cll-about-quote {
        padding: 22px 18px;
    }
}

/* About pages: full-width content — hide YOOtheme article side columns */
body.cll-about-page .tm-grid-expand > .js-sticky,
body.cll-about-page .tm-grid-expand > .uk-width-1-5\@m,
body.cll-hub-page .tm-grid-expand > .js-sticky,
body.cll-hub-page .tm-grid-expand > .uk-width-1-5\@m {
    display: none !important;
}
body.cll-about-page .tm-grid-expand > .uk-width-expand\@s,
body.cll-hub-page .tm-grid-expand > .uk-width-expand\@s {
    width: 100% !important;
    max-width: 1120px;
    margin-left: auto;
    margin-right: auto;
    flex: none !important;
}

/* Hide duplicate YOOtheme article H1 (title lives in hero) */
body.cll-about-page article .uk-width-expand\@s > h1.uk-h2,
body.cll-hub-page article .uk-width-expand\@s > h1.uk-h2,
body.cll-about-page .uk-width-expand\@s > h1.uk-h2.uk-margin,
body.cll-hub-page .uk-width-expand\@s > h1.uk-h2.uk-margin {
    display: none !important;
}

/* Discussion: hide on About (class is cll-discussion) */
body.cll-about-page .cll-discussion,
body.cll-hub-page.cll-about-page .cll-discussion,
body.cll-contact-page .cll-discussion {
    display: none !important;
}

/* Contact page: company heading only — hide personal contact name if plugin injects it */
body.cll-contact-page .contact-name,
body.cll-contact-page .com-contact-contact__name,
body.cll-contact-page h2.contact-name {
    display: none !important;
}
body.cll-contact-page .cll-contact-intro {
    margin-bottom: 1.25rem;
}


/* About team placeholders */
.cll-about-team-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
}
@media (min-width: 640px) {
    .cll-about-team-grid { grid-template-columns: 1fr 1fr; }
}
@media (min-width: 960px) {
    .cll-about-team-grid { grid-template-columns: repeat(4, 1fr); }
}
.cll-about-team-card {
    background: #fff;
    border: 1px solid #E5E9EF;
    border-radius: 12px;
    padding: 22px 18px 20px;
    text-align: center;
    transition: 0.15s ease;
}
.cll-about-team-card:hover {
    border-color: rgba(200, 149, 43, 0.55);
    box-shadow: 0 6px 20px rgba(13, 34, 64, 0.06);
}
.cll-about-team-avatar {
    width: 72px;
    height: 72px;
    margin: 0 auto 14px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #0D2240 0%, #163A66 100%);
    color: #C8952B;
    font-weight: 800;
    font-size: 18px;
    letter-spacing: 0.04em;
    border: 2px solid rgba(200, 149, 43, 0.35);
}
.cll-about-team-card h3 {
    color: #0D2240 !important;
    font-size: 0.98rem !important;
    font-weight: 700 !important;
    margin: 0 0 6px !important;
    line-height: 1.3 !important;
}
.cll-about-team-role {
    color: #C8952B;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    margin: 0 0 10px;
}
.cll-about-team-bio {
    color: #3D4A55;
    font-size: 13px;
    line-height: 1.55;
    margin: 0;
}

/* Schema module: no visual footprint */
.cll-schema-mod,
.moduletable.cll-schema-mod {
    margin: 0 !important;
    padding: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
}

/* ══════════════════════════════════════════════════
   CLL site breadcrumbs system
   Single trail via mod_breadcrumbs #152 (position top).
   L4/L5 keep their own trails; module is skipped in PHP.
   Tight stack: nav → crumb → content (no double section tax)
   ══════════════════════════════════════════════════ */

:root {
    --cll-bc-gap-header: 12px;  /* navbar → breadcrumb */
    --cll-bc-gap-title: 6px;    /* breadcrumb → content */
    --cll-bc-font: 12px;
    --cll-bc-muted: #8A949E;
    --cll-bc-link: #5A6570;
    --cll-bc-hover: #C8952B;
    --cll-bc-current: #0D2240;
}

@media (max-width: 639px) {
    :root {
        --cll-bc-gap-header: 10px;
        --cll-bc-gap-title: 4px;
    }
}

/* Slim band under navbar — kill YOOtheme section chrome */
.tm-top:has(#module-152),
.tm-top:has(.uk-breadcrumb) {
    padding-top: var(--cll-bc-gap-header) !important;
    padding-bottom: 0 !important;
    margin: 0 !important;
}

.tm-top:has(#module-152) > .uk-container,
.tm-top:has(.uk-breadcrumb) > .uk-container {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

#module-152.uk-panel,
#module-152 {
    margin: 0 !important;
    padding: 0 !important;
}

/* Override UIkit uk-margin-medium-bottom (40px !important) on breadcrumb nav */
#module-152 nav.cll-bc-nav,
#module-152 nav[aria-label="Breadcrumb"],
#module-152 nav.uk-margin-medium-bottom,
.tm-top nav[aria-label="Breadcrumb"],
.tm-top nav.uk-margin-medium-bottom {
    margin-top: 0 !important;
    margin-bottom: var(--cll-bc-gap-title) !important;
    padding: 0 !important;
}

/* Unified trail typography */
#module-152 .uk-breadcrumb,
.tm-top .uk-breadcrumb {
    font-size: var(--cll-bc-font) !important;
    line-height: 1.35;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0;
    margin: 0 !important;
    padding: 0 !important;
}

#module-152 .uk-breadcrumb > li,
.tm-top .uk-breadcrumb > li {
    font-size: var(--cll-bc-font) !important;
    display: inline-flex;
    align-items: center;
}

#module-152 .uk-breadcrumb > * > *,
.tm-top .uk-breadcrumb > * > * {
    font-size: var(--cll-bc-font) !important;
}

#module-152 .uk-breadcrumb a,
.tm-top .uk-breadcrumb a {
    color: var(--cll-bc-link) !important;
    font-weight: 600;
    text-decoration: none !important;
}

#module-152 .uk-breadcrumb a:hover,
.tm-top .uk-breadcrumb a:hover {
    color: var(--cll-bc-hover) !important;
}

#module-152 .uk-breadcrumb > :last-child > span,
#module-152 .uk-breadcrumb [aria-current="page"],
.tm-top .uk-breadcrumb > :last-child > span,
.tm-top .uk-breadcrumb [aria-current="page"] {
    color: var(--cll-bc-current) !important;
    font-weight: 600;
}

/* Prefer / divider to match L4/L5 */
#module-152 .uk-breadcrumb > :nth-child(n+2):not(.uk-first-column)::before,
.tm-top .uk-breadcrumb > :nth-child(n+2):not(.uk-first-column)::before {
    content: "/" !important;
    margin: 0 8px !important;
    color: var(--cll-bc-muted) !important;
    font-size: var(--cll-bc-font) !important;
}

/* L4 / L5: custom trail only (module already skipped in PHP; belt-and-suspenders) */
body:has(.cll-l4) #module-152,
body:has(.cll-l4-wrap) #module-152,
body:has(.cll-l4) .tm-top:has(#module-152),
body:has(.cll-l4-wrap) .tm-top:has(#module-152),
body:has(.cll-l5) #module-152,
body:has(.cll-l5-wrap) #module-152,
body:has(.cll-l5) .tm-top:has(#module-152),
body:has(.cll-l5-wrap) .tm-top:has(#module-152) {
    display: none !important;
}

/* About subnav sits under global crumb */
body:has(.cll-about-subnav) .tm-top:has(#module-152) nav[aria-label="Breadcrumb"] {
    margin-bottom: 4px !important;
}
.cll-about-subnav {
    margin-top: 0;
}

/*
 * Kill stacked section padding under the crumb band.
 * Default uk-section is 40–70px top — that was the empty gap.
 */
body:has(#module-152) main#tm-main.tm-main.uk-section,
body:has(#module-152) main#tm-main.tm-main.uk-section-small,
body:has(#module-152) main#tm-main.tm-main.uk-section-large,
body:has(#module-152) main#tm-main.tm-main.uk-section-xlarge {
    padding-top: 8px !important;
}

/* Builder / article pages: first section after crumb (may be nested) */
body:has(#module-152) main#tm-main > .uk-section:first-child,
body:has(#module-152) main#tm-main > .uk-section-default:first-child,
body:has(#module-152) main#tm-main > [class*="uk-section"]:first-of-type,
body:has(#module-152) main#tm-main > * > .uk-section:first-child,
body:has(#module-152) main#tm-main > * > article.uk-section:first-of-type,
body:has(#module-152) main#tm-main article.uk-section:first-of-type,
body:has(#module-152) main#tm-main .uk-section:first-of-type {
    padding-top: 8px !important;
}

/* YOOtheme builder often adds large grid margin under crumb */
body:has(#module-152) main#tm-main .uk-grid-margin-large:first-child,
body:has(#module-152) main#tm-main .uk-section:first-of-type > .uk-container > .uk-grid-margin-large:first-child,
body:has(#module-152) main#tm-main article.uk-section:first-of-type .uk-grid-margin-large:first-child {
    margin-top: 0 !important;
}

/* Builder headline margin under crumb */
body:has(#module-152) main#tm-main article.uk-section:first-of-type h1.uk-margin:first-child,
body:has(#module-152) main#tm-main .uk-section:first-of-type h1.uk-margin:first-child {
    margin-top: 0 !important;
}

/* Insights hub hero already has internal padding — keep main tight */
body:has(.cll-insights) main#tm-main.tm-main {
    padding-top: 4px !important;
}

/* Practice hero pages: same tight top */
body:has(.cll-prac) main#tm-main.tm-main {
    padding-top: 0 !important;
}

/* Contact / standard content: small air only */
body:has(#module-152) main#tm-main .page-header,
body:has(#module-152) main#tm-main h1:first-of-type {
    margin-top: 0;
}

@media (max-width: 639px) {
    body:has(#module-152) main#tm-main.tm-main.uk-section,
    body:has(#module-152) main#tm-main.tm-main.uk-section-small,
    body:has(#module-152) main#tm-main.tm-main.uk-section-large,
    body:has(#module-152) main#tm-main.tm-main.uk-section-xlarge {
        padding-top: 6px !important;
    }
}


/* ══════════════════════════════════════════════════
   Legal Wiki item (cat 201) — knowledge base layout
   ══════════════════════════════════════════════════ */
/* ══ Legal Wiki item (cat 201) — knowledge base layout ══ */
.cll-wiki-wrap {
    max-width: 1180px;
    margin: 0 auto;
    padding: 8px 0 48px;
    color: #3D4A55;
}
.cll-wiki {
    --wiki-accent: #C8952B;
    --wiki-accent-soft: rgba(200, 149, 43, 0.12);
    --wiki-accent-border: rgba(200, 149, 43, 0.28);
    --wiki-navy: #0D2240;
}
.cll-wiki-accent--business { --wiki-accent: #0D2240; --wiki-accent-soft: rgba(13,34,64,.08); --wiki-accent-border: rgba(13,34,64,.16); }
.cll-wiki-accent--ip { --wiki-accent: #6B4C9A; --wiki-accent-soft: rgba(107,76,154,.1); --wiki-accent-border: rgba(107,76,154,.22); }
.cll-wiki-accent--employment { --wiki-accent: #1A6B5A; --wiki-accent-soft: rgba(26,107,90,.1); --wiki-accent-border: rgba(26,107,90,.22); }
.cll-wiki-accent--courts { --wiki-accent: #8B3A3A; --wiki-accent-soft: rgba(139,58,58,.1); --wiki-accent-border: rgba(139,58,58,.22); }
.cll-wiki-accent--trade { --wiki-accent: #B06A12; --wiki-accent-soft: rgba(176,106,18,.1); --wiki-accent-border: rgba(176,106,18,.24); }

/* Breadcrumb */
.cll-wiki-bc {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 8px;
    font-size: 12px;
    font-weight: 600;
    color: #8A949E;
    margin: 0 0 18px;
}
.cll-wiki-bc a {
    color: #5A6570 !important;
    text-decoration: none !important;
}
.cll-wiki-bc a:hover { color: var(--wiki-navy) !important; }
.cll-wiki-bc span[aria-hidden] { opacity: 0.5; }
.cll-wiki-bc [aria-current="page"] { color: var(--wiki-navy); }

/* Hero */
.cll-wiki-hero {
    background: linear-gradient(135deg, #0D2240 0%, #163A66 58%, #1a4068 100%);
    border-radius: 14px;
    padding: 28px 32px 26px;
    margin: 0 0 22px;
    color: #fff;
    position: relative;
    overflow: hidden;
}
.cll-wiki-hero::after {
    content: "";
    position: absolute;
    right: -36px;
    top: -36px;
    width: 160px;
    height: 160px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(200,149,43,.3) 0%, transparent 70%);
    pointer-events: none;
}
.cll-wiki-hero-top {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin-bottom: 14px;
    position: relative;
    z-index: 1;
}
.cll-wiki-kicker {
    color: #C8952B !important;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    text-decoration: none !important;
}
.cll-wiki-topic-chip {
    display: inline-flex;
    align-items: center;
    padding: 4px 12px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-decoration: none !important;
    color: #fff !important;
    background: rgba(255,255,255,0.1);
    border: 1px solid rgba(200,149,43,0.45);
}
.cll-wiki-topic-chip:hover {
    background: rgba(200,149,43,0.22);
}
.cll-wiki-title {
    color: #fff !important;
    font-size: clamp(1.55rem, 2.6vw, 2.15rem) !important;
    font-weight: 700 !important;
    line-height: 1.22 !important;
    margin: 0 0 12px !important;
    max-width: 40rem;
    position: relative;
    z-index: 1;
}
.cll-wiki-lead {
    color: rgba(255,255,255,0.86);
    font-size: 16px;
    line-height: 1.55;
    margin: 0 0 16px;
    max-width: 42rem;
    position: relative;
    z-index: 1;
}
.cll-wiki-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 10px;
    list-style: none;
    margin: 0;
    padding: 0;
    position: relative;
    z-index: 1;
}
.cll-wiki-meta li {
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(200,149,43,0.25);
    border-radius: 999px;
    padding: 5px 12px;
    font-size: 12px;
    font-weight: 600;
    color: rgba(255,255,255,0.9);
}
.cll-wiki-meta-k {
    color: #C8952B;
    margin-right: 4px;
    font-weight: 800;
}

/* Definition callout */
.cll-wiki-def {
    margin: 0 0 20px;
    padding: 18px 20px;
    border-radius: 12px;
    background: linear-gradient(180deg, #FFFCF5 0%, #FFFFFF 100%);
    border: 1px solid var(--wiki-accent-border, rgba(200,149,43,.28));
    border-left: 4px solid var(--wiki-accent, #C8952B);
    box-shadow: 0 4px 16px rgba(13,34,64,0.05);
}
.cll-wiki-def-label {
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--wiki-accent, #C8952B);
    margin-bottom: 8px;
}
.cll-wiki-def-body {
    color: var(--wiki-navy);
    font-size: 16px;
    line-height: 1.6;
    font-weight: 500;
}
.cll-wiki-def-body p { margin: 0 0 0.6em; }
.cll-wiki-def-body p:last-child { margin-bottom: 0; }

/* At a glance snapshot */
.cll-wiki-snapshot {
    margin: 0 0 28px;
    padding: 18px 18px 16px;
    border-radius: 12px;
    background: #F7F9FB;
    border: 1px solid #E5E9EF;
}
.cll-wiki-snapshot-title {
    color: var(--wiki-navy) !important;
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    margin: 0 0 12px !important;
}
.cll-wiki-snapshot-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}
@media (min-width: 640px) {
    .cll-wiki-snapshot-grid { grid-template-columns: repeat(2, 1fr); }
}
.cll-wiki-snapshot-grid li {
    position: relative;
    padding: 10px 12px 10px 32px;
    background: #fff;
    border: 1px solid #E8ECF1;
    border-radius: 8px;
    font-size: 13px;
    line-height: 1.45;
    color: #3D4A55;
    font-weight: 500;
}
.cll-wiki-snapshot-grid li::before {
    content: "";
    position: absolute;
    left: 12px;
    top: 14px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--wiki-accent, #C8952B);
    box-shadow: 0 0 0 3px var(--wiki-accent-soft, rgba(200,149,43,.12));
}

/* Layout */
.cll-wiki-layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: 28px;
    align-items: start;
}
@media (min-width: 960px) {
    .cll-wiki-layout {
        grid-template-columns: minmax(0, 1fr) 280px;
        gap: 32px;
    }
}

/* Main body */
.cll-wiki-main { min-width: 0; }
.cll-wiki-body {
    font-size: 16.5px;
    line-height: 1.72;
    color: #3D4A55;
    max-width: 46rem;
}
.cll-wiki-body h2 {
    color: var(--wiki-navy) !important;
    font-size: 1.25rem !important;
    font-weight: 700 !important;
    margin: 1.75em 0 0.65em !important;
    padding-bottom: 8px;
    border-bottom: 2px solid #E5E9EF;
    position: relative;
}
.cll-wiki-body h2::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -2px;
    width: 52px;
    height: 2px;
    background: var(--wiki-accent, #C8952B);
}
.cll-wiki-body h3 {
    color: var(--wiki-navy) !important;
    font-size: 1.05rem !important;
    font-weight: 700 !important;
    margin: 1.35em 0 0.5em !important;
}
.cll-wiki-body p { margin: 0 0 1em; }
.cll-wiki-body ul,
.cll-wiki-body ol {
    margin: 0 0 1.15em;
    padding-left: 1.25em;
}
.cll-wiki-body li { margin: 0.35em 0; }
.cll-wiki-body a {
    color: #0D2240 !important;
    font-weight: 600;
    text-decoration: underline;
    text-decoration-color: rgba(200,149,43,0.55);
    text-underline-offset: 2px;
}
.cll-wiki-body a:hover {
    color: #C8952B !important;
    text-decoration-color: #C8952B;
}
.cll-wiki-body strong { color: var(--wiki-navy); }

/* Numbered process steps */
.cll-wiki-steps {
    margin: 0 0 1.4em;
}
.cll-wiki-steps ol {
    list-style: none;
    margin: 0;
    padding: 0;
    counter-reset: wiki-step;
    display: grid;
    gap: 10px;
}
.cll-wiki-steps li {
    counter-increment: wiki-step;
    position: relative;
    margin: 0;
    padding: 14px 16px 14px 52px;
    background: #fff;
    border: 1px solid #E5E9EF;
    border-radius: 10px;
    box-shadow: 0 1px 2px rgba(13,34,64,0.04);
    font-weight: 500;
}
.cll-wiki-steps li::before {
    content: counter(wiki-step);
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    width: 28px;
    height: 28px;
    border-radius: 8px;
    background: var(--wiki-accent-soft, rgba(200,149,43,.12));
    color: var(--wiki-accent, #C8952B);
    border: 1px solid var(--wiki-accent-border, rgba(200,149,43,.28));
    font-size: 12px;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Side rail */
.cll-wiki-side {
    display: flex;
    flex-direction: column;
    gap: 14px;
}
@media (min-width: 960px) {
    .cll-wiki-side {
        position: sticky;
        top: 88px;
    }
}
.cll-wiki-side-card {
    background: #fff;
    border: 1px solid #E5E9EF;
    border-radius: 12px;
    padding: 16px 16px 14px;
    box-shadow: 0 1px 3px rgba(13,34,64,0.04);
}
.cll-wiki-rail-kicker {
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #8A949E;
    margin: 0 0 10px;
}
.cll-wiki-toc ol {
    list-style: none;
    margin: 0;
    padding: 0;
    counter-reset: wiki-toc;
}
.cll-wiki-toc li {
    counter-increment: wiki-toc;
    margin: 0;
    border-bottom: 1px solid #F0F3F6;
}
.cll-wiki-toc li:last-child { border-bottom: 0; }
.cll-wiki-toc a {
    display: block;
    padding: 8px 0 8px 22px;
    position: relative;
    color: var(--wiki-navy) !important;
    text-decoration: none !important;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.35;
}
.cll-wiki-toc a::before {
    content: counter(wiki-toc);
    position: absolute;
    left: 0;
    top: 9px;
    font-size: 10px;
    font-weight: 800;
    color: var(--wiki-accent, #C8952B);
}
.cll-wiki-toc a:hover { color: #C8952B !important; }

.cll-wiki-side-topic {
    display: block;
    padding: 12px 14px;
    border-radius: 10px;
    background: var(--wiki-accent-soft, rgba(200,149,43,.12));
    border: 1px solid var(--wiki-accent-border, rgba(200,149,43,.28));
    text-decoration: none !important;
    margin-bottom: 10px;
}
.cll-wiki-side-topic-label {
    display: block;
    font-size: 14px;
    font-weight: 700;
    color: var(--wiki-navy) !important;
    margin-bottom: 2px;
}
.cll-wiki-side-topic-cta {
    font-size: 12px;
    font-weight: 700;
    color: var(--wiki-accent, #C8952B);
}
.cll-wiki-side-list {
    list-style: none;
    margin: 0;
    padding: 0;
}
.cll-wiki-side-list li {
    border-bottom: 1px solid #F0F3F6;
}
.cll-wiki-side-list li:last-child { border-bottom: 0; }
.cll-wiki-side-list a {
    display: block;
    padding: 8px 0;
    color: var(--wiki-navy) !important;
    text-decoration: none !important;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.35;
}
.cll-wiki-side-list a:hover { color: #C8952B !important; }
.cll-wiki-side-list--links a::after {
    content: " →";
    color: #C8952B;
    font-weight: 700;
    opacity: 0.7;
}

.cll-wiki-side-cta p {
    font-size: 13px;
    line-height: 1.45;
    color: #5A6570;
    margin: 0 0 12px;
}
.cll-wiki-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 9px 14px;
    border-radius: 7px;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none !important;
    margin: 0 8px 8px 0;
}
.cll-wiki-btn.gold {
    background: #C8952B;
    color: #0D2240 !important;
}
.cll-wiki-btn.gold:hover { background: #b8860b; }
.cll-wiki-btn.outline {
    border: 1px solid rgba(13,34,64,0.25);
    color: var(--wiki-navy) !important;
    background: #fff;
}
.cll-wiki-btn.outline:hover {
    border-color: #C8952B;
    background: #FBF8F1;
}
.cll-wiki-side-cta .cll-wiki-btn {
    display: flex;
    width: 100%;
    margin: 0 0 8px;
}

/* Go deeper cards */
.cll-wiki-deeper {
    margin: 36px 0 0;
    padding-top: 28px;
    border-top: 1px solid #E5E9EF;
}
.cll-wiki-deeper h2,
.cll-wiki-related h2 {
    color: var(--wiki-navy) !important;
    font-size: 1.2rem !important;
    font-weight: 700 !important;
    margin: 0 0 8px !important;
}
.cll-wiki-deeper-lead {
    color: #5A6570;
    font-size: 14px;
    margin: 0 0 16px;
    max-width: 36rem;
}
.cll-wiki-deeper-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
}
@media (min-width: 640px) {
    .cll-wiki-deeper-grid { grid-template-columns: repeat(2, 1fr); }
}
.cll-wiki-deeper-card {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 16px;
    border-radius: 10px;
    border: 1px solid #E5E9EF;
    background: #fff;
    text-decoration: none !important;
    color: inherit !important;
    transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.cll-wiki-deeper-card:hover {
    transform: translateY(-2px);
    border-color: rgba(200,149,43,0.45);
    box-shadow: 0 10px 24px rgba(13,34,64,0.08);
}
.cll-wiki-deeper-card--cta {
    background: linear-gradient(135deg, #0D2240 0%, #163A66 100%);
    border-color: transparent;
    color: #fff !important;
}
.cll-wiki-deeper-card--cta strong { color: #fff !important; }
.cll-wiki-deeper-card--cta .cll-wiki-deeper-tag {
    color: #C8952B;
    background: rgba(200,149,43,0.15);
}
.cll-wiki-deeper-card--cta .cll-wiki-deeper-cta { color: #C8952B; }
.cll-wiki-deeper-tag {
    align-self: flex-start;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--wiki-accent, #C8952B);
    background: var(--wiki-accent-soft, rgba(200,149,43,.12));
    border-radius: 4px;
    padding: 3px 8px;
}
.cll-wiki-deeper-card strong {
    color: var(--wiki-navy) !important;
    font-size: 15px;
    line-height: 1.3;
}
.cll-wiki-deeper-cta {
    font-size: 12px;
    font-weight: 700;
    color: #C8952B;
    margin-top: auto;
}

/* Related explainers */
.cll-wiki-related {
    margin: 36px 0 0;
    padding-top: 28px;
    border-top: 1px solid #E5E9EF;
}
.cll-wiki-related-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    margin-top: 14px;
}
@media (min-width: 640px) {
    .cll-wiki-related-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 900px) {
    .cll-wiki-related-grid { grid-template-columns: repeat(3, 1fr); }
}
.cll-wiki-related-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 16px;
    border-radius: 10px;
    border: 1px solid #E5E9EF;
    background: linear-gradient(180deg, #FFFFFF 0%, #F8FAFC 100%);
    text-decoration: none !important;
    color: inherit !important;
    transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.cll-wiki-related-card:hover {
    transform: translateY(-2px);
    border-color: rgba(200,149,43,0.4);
    box-shadow: 0 10px 22px rgba(13,34,64,0.08);
}
.cll-wiki-related-card h3 {
    color: var(--wiki-navy) !important;
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    margin: 0 0 8px !important;
}
.cll-wiki-related-card p {
    color: #5A6570;
    font-size: 13px;
    line-height: 1.45;
    margin: 0 0 12px;
    flex: 1;
}
.cll-wiki-related-cta {
    font-size: 12px;
    font-weight: 700;
    color: #C8952B;
}
.cll-wiki-related-card:hover .cll-wiki-related-cta { color: var(--wiki-navy); }
.cll-wiki-related-cta::after { content: " →"; }

.cll-wiki-disclaimer {
    margin: 28px 0 0;
    padding-top: 16px;
    border-top: 1px solid #E5E9EF;
    font-size: 12px;
    line-height: 1.5;
    color: #8A949E;
}

/* Bottom band */
.cll-wiki-bottom {
    margin-top: 40px;
    border-radius: 14px;
    background: linear-gradient(135deg, #0D2240 0%, #163A66 100%);
    color: rgba(255,255,255,0.88);
    overflow: hidden;
}
.cll-wiki-bottom-inner {
    padding: 28px 28px 26px;
    position: relative;
}
.cll-wiki-bottom .cll-wiki-rail-kicker { color: #C8952B; }
.cll-wiki-bottom h2 {
    color: #fff !important;
    font-size: 1.25rem !important;
    margin: 0 0 8px !important;
}
.cll-wiki-bottom p {
    color: rgba(255,255,255,0.75);
    font-size: 14px;
    margin: 0 0 16px;
    max-width: 36rem;
}
.cll-wiki-bottom-actions { display: flex; flex-wrap: wrap; gap: 4px; }
.cll-wiki-bottom .cll-wiki-btn.outline {
    border-color: rgba(255,255,255,0.4);
    color: #fff !important;
    background: transparent;
}
.cll-wiki-bottom .cll-wiki-btn.outline:hover {
    border-color: #fff;
    background: rgba(255,255,255,0.08);
}

/* Hide default blog chrome if any leaks */
.cll-wiki-wrap .article-info,
.cll-wiki-wrap .commentbox-counter,
.cll-wiki-wrap nav[aria-label="Pagination"] {
    display: none !important;
}

@media (max-width: 639px) {
    .cll-wiki-hero {
        padding: 22px 18px 20px;
        border-radius: 12px;
    }
    .cll-wiki-def,
    .cll-wiki-snapshot {
        padding: 14px;
    }
    .cll-wiki-bottom-inner {
        padding: 22px 18px;
    }
}

/* ==========================================================================
   Utility pages: Contact + Register redesign (2026-07-31)
   Brand: navy #0D2240 · gold #C8952B
   ========================================================================== */

/* Hide YOOtheme sidebar on register (guest User Menu is noise) */
body.cll-register-page #tm-sidebar,
body:has(.cll-register-layout) #tm-sidebar {
    display: none !important;
}
body.cll-register-page .uk-grid > .uk-width-expand\@m,
body:has(.cll-register-layout) .uk-grid > .uk-width-expand\@m {
    width: 100% !important;
    max-width: 1120px;
    margin-left: auto;
    margin-right: auto;
    flex: none !important;
}

/* Contact: full-width content column when nested in default grids */
body.cll-contact-page .uk-grid > .uk-width-expand\@m,
body:has(.cll-contact-layout) main .uk-container > .uk-grid > .uk-width-expand\@m {
    width: 100% !important;
    max-width: 1120px;
    margin-left: auto;
    margin-right: auto;
}

/* Shared hero */
.cll-util-hero {
    background: linear-gradient(135deg, #0D2240 0%, #132a4a 55%, #1a3558 100%);
    color: #fff;
    border-radius: 14px;
    padding: 28px 28px 30px;
    margin: 0 0 28px;
    position: relative;
    overflow: hidden;
}
.cll-util-hero::after {
    content: "";
    position: absolute;
    right: -40px;
    top: -40px;
    width: 180px;
    height: 180px;
    border-radius: 50%;
    background: rgba(200, 149, 43, 0.12);
    pointer-events: none;
}
.cll-util-hero-inner {
    position: relative;
    z-index: 1;
    max-width: 40rem;
}
.cll-util-kicker {
    margin: 0 0 8px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(200, 149, 43, 0.95);
}
.cll-util-title {
    margin: 0 0 10px !important;
    font-size: clamp(1.55rem, 2.4vw, 2rem);
    font-weight: 700;
    line-height: 1.25;
    color: #fff !important;
}
.cll-util-lead {
    margin: 0 0 14px;
    font-size: 15.5px;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.88);
}
.cll-util-badge {
    display: inline-block;
    font-size: 12.5px;
    font-weight: 600;
    color: #0D2240;
    background: #C8952B;
    border-radius: 999px;
    padding: 5px 12px;
    line-height: 1.3;
}
.cll-util-hero-meta {
    margin: 12px 0 0;
    font-size: 14px;
    color: rgba(255, 255, 255, 0.8);
}
.cll-util-hero-link {
    color: #C8952B !important;
    font-weight: 700;
    text-decoration: none;
}
.cll-util-hero-link:hover {
    color: #e0b24a !important;
    text-decoration: underline;
}

/* Cards */
.cll-util-card {
    background: #fff;
    border: 1px solid #E5E9EF;
    border-radius: 12px;
    padding: 24px 22px 22px;
    margin-bottom: 16px;
    box-shadow: 0 1px 2px rgba(13, 34, 64, 0.03);
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.cll-util-card:hover {
    border-color: rgba(200, 149, 43, 0.35);
    box-shadow: 0 6px 20px rgba(13, 34, 64, 0.06);
}
.cll-util-card-title {
    margin: 0 0 10px !important;
    font-size: 1.125rem;
    font-weight: 700;
    color: #0D2240 !important;
    line-height: 1.3;
}
.cll-util-card-title--light {
    color: #fff !important;
}
.cll-util-card-desc {
    margin: 0 0 18px;
    font-size: 14.5px;
    line-height: 1.6;
    color: #3D4A55;
}
.cll-util-card-desc a {
    color: #C8952B;
    font-weight: 600;
}

/* Buttons */
.cll-util-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 44px;
    padding: 10px 18px;
    border-radius: 8px;
    font-size: 15px;
    font-weight: 700;
    text-decoration: none !important;
    border: none;
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease, transform 0.1s ease;
}
.cll-util-btn--gold,
.cll-util-btn.cll-util-btn--gold,
button.cll-util-btn--gold {
    background: #C8952B !important;
    color: #0D2240 !important;
    border: none !important;
}
.cll-util-btn--gold:hover,
button.cll-util-btn--gold:hover {
    background: #b8860b !important;
    color: #0D2240 !important;
}
.cll-util-btn--block {
    width: 100%;
}
.cll-util-btn--outline-light {
    background: transparent !important;
    color: #fff !important;
    border: 1.5px solid rgba(255, 255, 255, 0.55) !important;
}
.cll-util-btn--outline-light:hover {
    border-color: #C8952B !important;
    color: #C8952B !important;
}

/* Forms */
.cll-util-form .control-group,
.cll-util-form .form-group {
    margin-bottom: 1rem;
}
.cll-util-form label,
.cll-util-form .control-label label {
    font-size: 13.5px;
    font-weight: 600;
    color: #0D2240;
    margin-bottom: 6px;
}
.cll-util-form .form-control,
.cll-util-form .form-select,
.cll-util-form input[type="text"],
.cll-util-form input[type="email"],
.cll-util-form input[type="password"],
.cll-util-form select,
.cll-util-form textarea {
    border: 1px solid #D5DCE5 !important;
    border-radius: 8px !important;
    min-height: 44px;
    padding: 10px 12px !important;
    font-size: 15px;
    color: #0D2240;
    background: #fff;
    width: 100%;
    max-width: 100%;
    box-shadow: none !important;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.cll-util-form textarea {
    min-height: 140px;
    resize: vertical;
}
.cll-util-form .form-control:focus,
.cll-util-form .form-select:focus,
.cll-util-form input:focus,
.cll-util-form select:focus,
.cll-util-form textarea:focus {
    border-color: #C8952B !important;
    box-shadow: 0 0 0 3px rgba(200, 149, 43, 0.2) !important;
    outline: none;
}
.cll-util-form .star,
.cll-util-form .required .star,
.cll-req {
    color: #C8952B;
}
.cll-util-form fieldset,
.cll-util-fieldset {
    border: 0;
    margin: 0;
    padding: 0;
    min-width: 0;
}
.cll-util-form legend {
    display: none;
}
.cll-util-form .form-text,
.cll-util-form .form-text.cll-contact-topic-hint {
    font-size: 13px !important;
    color: #5A6570 !important;
    margin-top: 6px !important;
}
.cll-util-form .form-text a,
.cll-contact-topic-hint a {
    color: #C8952B;
    font-weight: 600;
}
.cll-util-submit {
    margin-top: 8px;
}
.cll-util-form .controls {
    margin: 0;
}
/* Stack form-horizontal to vertical on utility pages */
.cll-contact-layout .form-horizontal .control-label,
.cll-register-layout .form-horizontal .control-label,
.cll-contact-layout .form-horizontal .controls,
.cll-register-layout .form-horizontal .controls {
    float: none;
    width: 100%;
    text-align: left;
    display: block;
    padding: 0;
    margin: 0;
}
.cll-contact-layout .form-horizontal .control-group::after,
.cll-register-layout .form-horizontal .control-group::after {
    display: none;
}

/* Name + email side-by-side when structure allows (contact) */
@media (min-width: 640px) {
    .cll-contact-form fieldset.cll-util-fieldset {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 0 14px;
    }
    .cll-contact-form fieldset.cll-util-fieldset > .control-group:nth-child(n+3),
    .cll-contact-form fieldset.cll-util-fieldset > div:nth-child(n+3) {
        grid-column: 1 / -1;
    }
}

/* ---------- Contact grid ---------- */
.cll-contact-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
    align-items: start;
    margin-bottom: 24px;
}
@media (min-width: 960px) {
    .cll-contact-grid {
        grid-template-columns: minmax(0, 1.55fr) minmax(280px, 1fr);
        gap: 24px;
    }
    .cll-contact-aside {
        position: sticky;
        top: 88px;
    }
}
.cll-contact-form-card {
    padding: 28px 24px 24px;
}
.cll-contact-cta-card,
.cll-register-lawyer-card {
    background: linear-gradient(135deg, #0D2240 0%, #1a3558 100%);
    border-color: transparent;
    color: #fff;
}
.cll-contact-cta-card:hover,
.cll-register-lawyer-card:hover {
    border-color: transparent;
    box-shadow: 0 8px 24px rgba(13, 34, 64, 0.18);
}
.cll-contact-cta-text {
    margin: 0 0 16px;
    font-size: 14.5px;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.88);
}
.cll-contact-position {
    margin: -4px 0 14px;
    font-size: 13px;
    color: #5A6570;
}
.cll-contact-list {
    list-style: none;
    margin: 0;
    padding: 0;
}
.cll-contact-list li {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    padding: 12px 0;
    border-top: 1px solid #EEF1F5;
}
.cll-contact-list li:first-child {
    border-top: 0;
    padding-top: 0;
}
.cll-contact-icon {
    flex: 0 0 32px;
    width: 32px;
    height: 32px;
    border-radius: 8px;
    background: rgba(200, 149, 43, 0.12);
    color: #C8952B;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.cll-contact-label {
    display: block;
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #7A8694;
    margin-bottom: 2px;
}
.cll-contact-list a {
    color: #0D2240;
    font-weight: 600;
    text-decoration: none;
    word-break: break-word;
}
.cll-contact-list a:hover {
    color: #C8952B;
}
.cll-contact-address {
    font-size: 14.5px;
    line-height: 1.5;
    color: #3D4A55;
}
.cll-contact-help {
    list-style: none;
    margin: 0;
    padding: 0;
}
.cll-contact-help li {
    position: relative;
    padding: 7px 0 7px 18px;
    font-size: 14px;
    line-height: 1.45;
    color: #3D4A55;
    border-top: 1px solid #EEF1F5;
}
.cll-contact-help li:first-child {
    border-top: 0;
    padding-top: 0;
}
.cll-contact-help li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 7px;
    height: 7px;
    margin-top: -3px;
    border-radius: 50%;
    background: #C8952B;
}
.cll-contact-disclaimer {
    margin: 8px 4px 0;
    font-size: 12.5px;
    line-height: 1.55;
    color: #7A8694;
}

/* Hide leftover default contact chrome */
.cll-contact-layout .contact-name,
.cll-contact-layout .com-contact__container,
.cll-contact-layout .com-contact__miscinfo,
.cll-contact-layout h2.contact-name {
    display: none !important;
}

/* ---------- Register grid ---------- */
.cll-register-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
    align-items: start;
    margin-bottom: 32px;
}
@media (min-width: 960px) {
    .cll-register-grid {
        grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.9fr);
        gap: 24px;
    }
    .cll-register-aside {
        position: sticky;
        top: 88px;
    }
}
.cll-register-form-card {
    padding: 28px 24px 24px;
    max-width: 560px;
}
@media (min-width: 960px) {
    .cll-register-form-card {
        max-width: none;
    }
}
.cll-register-benefits {
    list-style: none;
    margin: 0;
    padding: 0;
}
.cll-register-benefits li {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    padding: 10px 0;
    border-top: 1px solid #EEF1F5;
    font-size: 14.5px;
    line-height: 1.45;
    color: #3D4A55;
}
.cll-register-benefits li:first-child {
    border-top: 0;
    padding-top: 0;
}
.cll-register-check {
    flex: 0 0 22px;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: rgba(200, 149, 43, 0.15);
    color: #C8952B;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 1px;
}
.cll-register-steps-list {
    margin: 0;
    padding: 0 0 0 1.15rem;
    color: #3D4A55;
    font-size: 14.5px;
    line-height: 1.55;
}
.cll-register-steps-list li {
    padding: 4px 0;
}
.cll-register-steps-list strong {
    color: #0D2240;
}
.cll-register-terms {
    margin: 12px 0 0;
    font-size: 12.5px;
    line-height: 1.5;
    color: #7A8694;
    text-align: center;
}
.cll-register-terms a {
    color: #C8952B;
    font-weight: 600;
}
.cll-register-login-foot {
    margin: 4px 4px 0;
    font-size: 13.5px;
    color: #5A6570;
}
.cll-register-login-foot a {
    color: #C8952B;
    font-weight: 700;
}

/* Password rules block polish */
.cll-register-layout .password-group,
.cll-register-layout #jform_password1-desc,
.cll-register-layout .form-text {
    font-size: 13px;
    color: #5A6570;
}

/* Suppress duplicate page heading when component also prints H1 outside override (rare) */
body.cll-register-page .page-header:not(.cll-util-hero) > h1,
body.cll-contact-page > h1:first-child {
    /* hero owns the title inside override */
}

/* Mobile spacing */
@media (max-width: 639px) {
    .cll-util-hero {
        border-radius: 12px;
        padding: 22px 18px 24px;
        margin-bottom: 18px;
    }
    .cll-util-card {
        padding: 20px 16px 18px;
    }
    .cll-contact-form-card,
    .cll-register-form-card {
        padding: 22px 16px 18px;
    }
    /* Lawyer CTA first on mobile for contact: reverse via order */
    .cll-contact-grid {
        display: flex;
        flex-direction: column;
    }
    .cll-contact-aside .cll-contact-cta-card {
        order: -1;
    }
    .cll-contact-aside {
        display: contents;
    }
    .cll-contact-main {
        order: 0;
    }
    /* with display:contents, children join parent flex — re-order cards */
    .cll-contact-grid > .cll-contact-aside > .cll-contact-cta-card {
        order: -1;
    }
}

/* Captcha breathing room */
.cll-util-form altcha-widget,
.cll-util-form .control-group:has(altcha-widget) {
    margin-top: 4px;
}

/* Register: hide redundant "Required field" spacer legend noise */
.cll-register-layout .com-users-registration__form > fieldset:first-of-type > legend,
.cll-register-layout fieldset legend {
    display: none !important;
}
/* Joomla often renders required note as first control-group with only a label */
.cll-register-layout .control-group:has(> .controls:empty),
.cll-register-layout .control-group:has(.spacer) {
    display: none;
}

/* ══════════════════════════════════════════════════
   Find Lawyers by City hub (/find-lawyers-region)
   ══════════════════════════════════════════════════ */

.cll-region-hub .cll-find-hero h1 {
    max-width: 22ch;
}

.cll-region-crumbs {
    font-size: 12px;
    color: rgba(255, 255, 255, 0.5);
    margin: 0 0 16px;
    display: flex;
    flex-wrap: wrap;
    gap: 6px 8px;
    align-items: center;
}
.cll-region-crumbs a {
    color: rgba(255, 255, 255, 0.55) !important;
    text-decoration: none !important;
}
.cll-region-crumbs a:hover { color: #C8952B !important; }
.cll-region-crumbs span:last-child { color: rgba(255, 255, 255, 0.88); }

.cll-region-trust {
    display: flex;
    flex-wrap: wrap;
    gap: 18px 28px;
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
}
.cll-region-trust-item {
    display: flex;
    align-items: baseline;
    gap: 8px;
}
.cll-region-trust-item .n {
    font-size: 18px;
    font-weight: 700;
    color: #C8952B;
}
.cll-region-trust-item .l {
    font-size: 12px;
    color: rgba(255, 255, 255, 0.55);
}

.cll-region-featured-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
}
@media (min-width: 640px) {
    .cll-region-featured-grid { grid-template-columns: repeat(2, 1fr); }
}

.cll-region-secondary-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
}
@media (min-width: 640px) {
    .cll-region-secondary-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 960px) {
    .cll-region-secondary-grid { grid-template-columns: repeat(3, 1fr); }
}

.cll-region-card {
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid #E5E9EF;
    border-radius: 10px;
    padding: 18px 18px 16px;
    box-shadow: 0 2px 10px rgba(13, 34, 64, 0.04);
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
    position: relative;
    overflow: hidden;
    height: 100%;
}
.cll-region-card::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 3px;
    background: #C8952B;
    opacity: 0;
    transition: opacity 0.18s ease;
}
.cll-region-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 14px 32px rgba(13, 34, 64, 0.1);
    border-color: rgba(200, 149, 43, 0.45);
}
.cll-region-card:hover::before { opacity: 1; }
.cll-region-card--featured {
    background: linear-gradient(180deg, #fff 0%, #FBF8F1 100%);
    border-color: rgba(200, 149, 43, 0.28);
}

.cll-region-card-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 12px;
}
.cll-region-ico {
    width: 42px;
    height: 42px;
    border-radius: 10px;
    background: #F7F4EC;
    border: 1px solid #E8D9B0;
    color: #0D2240;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.02em;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.cll-region-ico--sm {
    width: 36px;
    height: 36px;
    font-size: 11px;
}
.cll-region-badge {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #C8952B;
    background: rgba(200, 149, 43, 0.1);
    border-radius: 4px;
    padding: 4px 8px;
    white-space: nowrap;
}
.cll-region-badge.muted {
    color: #5A6570;
    background: #F4F6F8;
    text-transform: none;
    letter-spacing: 0;
}

.cll-region-card h3 {
    color: #0D2240 !important;
    font-size: 1.12rem !important;
    font-weight: 700 !important;
    margin: 0 0 8px !important;
    line-height: 1.3 !important;
}
.cll-region-card h3 a {
    color: inherit !important;
    text-decoration: none !important;
}
.cll-region-card h3 a:hover { color: #C8952B !important; }
.cll-region-card p {
    color: #5A6570;
    font-size: 13px;
    line-height: 1.5;
    margin: 0 0 12px;
    flex: 1;
}
.cll-region-meta {
    color: #8A949E !important;
    font-size: 12.5px !important;
    margin-bottom: 14px !important;
}

.cll-region-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 0 0 14px;
}
.cll-region-tags span {
    font-size: 11px;
    font-weight: 600;
    color: #5A6570;
    background: #F4F6F8;
    border-radius: 4px;
    padding: 3px 8px;
}

.cll-region-card-links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: auto;
}
.cll-region-card-links a {
    font-size: 12px;
    font-weight: 700;
    text-decoration: none !important;
    color: #0D2240 !important;
    border: 1px solid #E5E9EF;
    border-radius: 999px;
    padding: 7px 14px;
}
.cll-region-card-links a.gold {
    background: #C8952B;
    border-color: #C8952B;
    color: #0D2240 !important;
}
.cll-region-card-links a:hover {
    border-color: #C8952B;
}

/* A–Z city list */
.cll-region-az-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
}
@media (min-width: 640px) {
    .cll-region-az-list { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 960px) {
    .cll-region-az-list { grid-template-columns: repeat(3, 1fr); }
}
.cll-region-az-list a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 12px 14px;
    background: #fff;
    border: 1px solid #E5E9EF;
    border-radius: 8px;
    text-decoration: none !important;
    color: #0D2240 !important;
    font-weight: 600;
    font-size: 14px;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}
.cll-region-az-list a:hover {
    border-color: rgba(200, 149, 43, 0.5);
    box-shadow: 0 6px 16px rgba(13, 34, 64, 0.07);
    transform: translateY(-1px);
}
.cll-region-az-list .cnt {
    font-size: 12px;
    font-weight: 700;
    color: #8A949E;
    background: #F4F6F8;
    border-radius: 999px;
    padding: 2px 8px;
    min-width: 1.75rem;
    text-align: center;
}
.cll-region-az-list .arrow {
    color: #C8952B;
    font-weight: 700;
}

/* Provinces */
.cll-region-prov-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
}
@media (min-width: 640px) {
    .cll-region-prov-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 960px) {
    .cll-region-prov-grid { grid-template-columns: repeat(3, 1fr); }
}
.cll-region-prov {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 16px 16px 14px;
    background: #fff;
    border: 1px solid #E5E9EF;
    border-radius: 10px;
    text-decoration: none !important;
    color: inherit !important;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}
.cll-region-prov:hover {
    border-color: rgba(200, 149, 43, 0.5);
    box-shadow: 0 8px 20px rgba(13, 34, 64, 0.08);
    transform: translateY(-2px);
}
.cll-region-prov strong {
    color: #0D2240;
    font-size: 1rem;
}
.cll-region-prov span {
    color: #8A949E;
    font-size: 12.5px;
    line-height: 1.4;
}
.cll-region-prov em {
    font-style: normal;
    font-size: 12px;
    font-weight: 700;
    color: #C8952B;
    margin-top: 4px;
}

/* SEO / how-it-works block */
.cll-region-seo-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
    align-items: start;
}
@media (min-width: 900px) {
    .cll-region-seo-grid {
        grid-template-columns: 1.4fr 0.8fr;
        gap: 32px;
    }
}
.cll-region-seo-copy p {
    color: #3D4A55;
    font-size: 15px;
    line-height: 1.65;
    margin: 0 0 14px;
    max-width: 42rem;
}
.cll-region-seo-copy a {
    color: #0D2240 !important;
    text-decoration: underline;
    text-decoration-color: rgba(200, 149, 43, 0.55);
    text-underline-offset: 2px;
}
.cll-region-seo-copy a:hover { color: #C8952B !important; }
.cll-region-seo-aside {
    background: #F7F9FB;
    border: 1px solid #E5E9EF;
    border-radius: 10px;
    padding: 20px 18px;
}
.cll-region-seo-aside h3 {
    color: #0D2240 !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    margin: 0 0 12px !important;
}
.cll-region-seo-aside ul {
    margin: 0 0 16px;
    padding: 0 0 0 18px;
    color: #5A6570;
    font-size: 13.5px;
    line-height: 1.55;
}
.cll-region-seo-aside li { margin-bottom: 6px; }

/* Guides row (shared with practice hub if missing) */
.cll-find-guides {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
}
@media (min-width: 640px) {
    .cll-find-guides { grid-template-columns: repeat(3, 1fr); }
}
.cll-find-guides a {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 18px 16px;
    background: #fff;
    border: 1px solid #E5E9EF;
    border-radius: 10px;
    text-decoration: none !important;
    color: inherit !important;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}
.cll-find-guides a:hover {
    border-color: rgba(200, 149, 43, 0.5);
    box-shadow: 0 8px 20px rgba(13, 34, 64, 0.08);
    transform: translateY(-2px);
}
.cll-find-guides strong {
    color: #0D2240;
    font-size: 0.98rem;
}
.cll-find-guides span {
    color: #8A949E;
    font-size: 13px;
    line-height: 1.4;
}

/* Bottom CTA (shared) */
.cll-find-cta {
    background: linear-gradient(135deg, #0D2240 0%, #163A66 100%);
    color: #fff;
    padding: 48px 0;
    border-top: 3px solid #C8952B;
    text-align: center;
}
.cll-find-cta h2 {
    color: #fff !important;
    font-size: 1.45rem !important;
    margin: 0 0 10px !important;
}
.cll-find-cta p {
    color: rgba(255, 255, 255, 0.75);
    margin: 0 auto 18px;
    max-width: 32rem;
    font-size: 15px;
}
.cll-find-cta .cll-find-hero-ctas {
    justify-content: center;
}

/* Full-bleed when hub is active */
body:has(.cll-region-hub) .tm-main .uk-container:has(.cll-region-hub),
body:has(.cll-region-hub) .uk-container:has(#dj-classifieds.cll-region-hub) {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
}

@media (max-width: 639px) {
    .cll-region-trust { gap: 12px 20px; }
    .cll-region-card { padding: 16px; }
}
