/* ==========================================================================
   KSL MEDIATION — INTERIOR PAGE SYSTEM
   Shared design system for non-homepage editorial/service pages.
   ========================================================================== */

.kslm-page {
    --kslm-oxblood: #3D0C02;
    --kslm-oxblood-950: #470C14;
    --kslm-oxblood-800: #7A1825;
    --kslm-gold: #C39A36;
    --kslm-deep-gold: #A77D1F;
    --kslm-soft-gold: #EEE3C5;
    --kslm-warm: #F7F5EF;
    --kslm-stone: #E7E2D8;
    --kslm-white: #FFFFFF;
    --kslm-charcoal: #2B2F33;
    --kslm-muted: #67615C;

    color: var(--kslm-charcoal);
}

/* Rails */

.kslm-page__shell {
    box-sizing: border-box;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.kslm-page__shell--editorial {
    max-width: 1040px;
}

.kslm-page__shell--reading {
    max-width: 980px;
}

/* Typography */

.kslm-page__eyebrow {
    margin: 0;
    color: var(--kslm-gold);
    font-size: 11px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.kslm-page__section-title {
    max-width: 760px;
    margin: 10px 0 20px;
    font-size: clamp(34px,4vw,48px);
    font-weight: 500;
    line-height: 1.08;
    letter-spacing: -.03em;
}

/* Buttons */

.kslm-page__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 0 21px;
    border: 1px solid var(--kslm-gold);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .09em;
    text-decoration: none;
    text-transform: uppercase;
}

.kslm-page__button--gold {
    background: var(--kslm-gold);
    color: var(--kslm-oxblood);
}

.kslm-page__button--outline {
    background: transparent;
    color: var(--kslm-gold);
}

/* Hero */

.kslm-page__hero {
    padding: 40px 0 64px;
    background: var(--kslm-oxblood);
    color: rgba(255,255,255,.80);
}

.kslm-page__breadcrumbs {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-bottom: 42px;
    color: rgba(255,255,255,.52);
    font-size: 11px;
}

.kslm-page__breadcrumbs a {
    color: inherit;
    text-decoration: none;
}

.kslm-page__hero-grid {
    display: grid;
    grid-template-columns: minmax(0,1fr) 330px;
    gap: 82px;
    align-items: center;
}

.kslm-page__hero-copy {
    max-width: 730px;
}

.kslm-page__hero .kslm-page__eyebrow {
    margin-bottom: 19px;
}

.kslm-page__hero h1 {
    max-width: 740px;
    margin: 0 0 23px;
    color: #fff;
    font-size: clamp(44px,4.8vw,64px);
    font-weight: 500;
    line-height: 1.02;
    letter-spacing: -.038em;
}

.kslm-page__lede {
    max-width: 660px;
    margin: 0 0 30px;
    color: rgba(255,255,255,.78);
    font-size: 18px;
    line-height: 1.63;
}

.kslm-page__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

/* Hero rail */

.kslm-page__hero-rail {
    box-sizing: border-box;
    width: 330px;
    padding-left: 30px;
    border-left: 1px solid rgba(195,154,54,.60);
}

.kslm-page__rail-label {
    margin: 0 0 18px;
    color: var(--kslm-gold);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.kslm-page__rail-item {
    display: grid;
    grid-template-columns: 32px minmax(0,1fr);
    gap: 12px;
    align-items: center;
    min-height: 64px;
    padding: 13px 0;
    border-top: 1px solid rgba(195,154,54,.28);
    color: rgba(255,255,255,.92);
    text-decoration: none;
}

.kslm-page__rail-item > span {
    color: var(--kslm-gold);
    font-size: 10px;
    font-weight: 700;
}

.kslm-page__rail-item strong {
    font-size: 14px;
    font-weight: 500;
}

/* Sections */

.kslm-page__section {
    padding: 86px 0 92px;
    background: #fff;
}

.kslm-page__section--warm {
    background: var(--kslm-warm);
}

.kslm-page__section--gold {
    background: var(--kslm-soft-gold);
}

.kslm-page__section--dark {
    background: var(--kslm-oxblood-950);
    color: rgba(255,255,255,.74);
}

.kslm-page__section--dark h2,
.kslm-page__section--dark h3 {
    color: #fff;
}

/* Split */

.kslm-page__split {
    display: grid;
    grid-template-columns: minmax(260px,.8fr) minmax(0,1.2fr);
    gap: 82px;
    align-items: start;
}

.kslm-page__split-copy p {
    margin: 0 0 18px;
    color: var(--kslm-muted);
    font-size: 16px;
    line-height: 1.74;
}

/* Grids */

.kslm-page__grid {
    display: grid;
    gap: 20px;
}

.kslm-page__grid--2 {
    grid-template-columns: repeat(2,minmax(0,1fr));
}

.kslm-page__grid--3 {
    grid-template-columns: repeat(3,minmax(0,1fr));
}

.kslm-page__grid > p:empty {
    display: none !important;
}

.kslm-page__card {
    box-sizing: border-box;
    padding: 29px;
    border: 1px solid #D8D4CC;
    background: #fff;
}

.kslm-page__card--dark {
    border-color: rgba(195,154,54,.28);
    background: rgba(255,255,255,.035);
}

.kslm-page__card-label {
    margin: 0 0 10px;
    color: var(--kslm-deep-gold);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.kslm-page__card--dark .kslm-page__card-label {
    color: var(--kslm-gold);
}

.kslm-page__card h3 {
    margin: 0 0 12px;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.3;
}

.kslm-page__card p:not(.kslm-page__card-label) {
    margin: 0;
    color: var(--kslm-muted);
    font-size: 14px;
    line-height: 1.68;
}

.kslm-page__card--dark p:not(.kslm-page__card-label) {
    color: rgba(255,255,255,.67);
}

/* Service index */

.kslm-page__index {
    border-top: 1px solid rgba(61,12,2,.18);
}

.kslm-page__index-row {
    display: grid;
    grid-template-columns: minmax(230px,.8fr) minmax(0,1.4fr) 28px;
    gap: 34px;
    align-items: center;
    padding: 20px 0;
    border-bottom: 1px solid rgba(61,12,2,.18);
    color: var(--kslm-charcoal);
    text-decoration: none;
}

.kslm-page__index-title {
    font-size: 16px;
    font-weight: 600;
}

.kslm-page__index-copy {
    color: var(--kslm-muted);
    font-size: 13px;
    line-height: 1.5;
}

.kslm-page__index-arrow {
    color: var(--kslm-gold);
}

/* Steps */

.kslm-page__steps {
    border-top: 1px solid #DDD7CE;
}

.kslm-page__step {
    display: grid !important;
    grid-template-columns: 48px minmax(0,1fr) !important;
    gap: 28px;
    padding: 27px 0;
    border-bottom: 1px solid #DDD7CE;
}

.kslm-page__step > p:empty {
    display: none !important;
}

.kslm-page__step-number {
    grid-column: 1 !important;
    grid-row: 1 !important;
    color: var(--kslm-gold);
    font-size: 10px;
    font-weight: 700;
}

.kslm-page__step-copy {
    grid-column: 2 !important;
    grid-row: 1 !important;
    min-width: 0;
}

.kslm-page__step h3 {
    margin: 0 0 8px;
    font-size: 20px;
    font-weight: 600;
}

.kslm-page__step p {
    max-width: 680px;
    margin: 0;
    color: var(--kslm-muted);
    font-size: 15px;
    line-height: 1.68;
}

/* Related */

.kslm-page__related {
    display: grid;
    grid-template-columns: minmax(220px,.55fr) minmax(0,1.45fr);
    gap: 72px;
}

.kslm-page__related-links {
    border-top: 1px solid #DDD7CE;
}

.kslm-page__related-links a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 24px;
    padding: 17px 0;
    border-bottom: 1px solid #DDD7CE;
    color: var(--kslm-charcoal);
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
}

.kslm-page__related-links a span:last-child {
    color: var(--kslm-gold);
}

/* Closing */

.kslm-page__closing {
    padding: 54px 0;
    background: var(--kslm-oxblood-800);
}

.kslm-page__closing-grid {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 40px;
}

.kslm-page__closing h2 {
    margin: 8px 0 0;
    color: #fff;
    font-size: clamp(28px,3vw,39px);
    font-weight: 500;
}

/* Neve ownership */

body.kslm-interior-page .nv-page-title-wrap,
body.kslm-interior-page .nv-title-meta-wrap,
body.kslm-interior-page .nv-breadcrumbs-wrapper,
body.kslm-interior-page .page_header,
body.kslm-interior-page .entry-header {
    display: none !important;
}

body.kslm-interior-page .single-page-container,
body.kslm-interior-page .nv-single-page-wrap,
body.kslm-interior-page .nv-content-wrap,
body.kslm-interior-page .container.single-page-container {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.kslm-interior-page .wrapper {
    overflow: visible !important;
}

@media (min-width:960px) {
    body.kslm-interior-page header.header {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        z-index: 9999999 !important;
        background: #fff !important;
    }

    body.kslm-interior-page #header-grid.site-header {
        position: relative !important;
        top: auto !important;
        left: auto !important;
        right: auto !important;
    }

    body.kslm-interior-page .kslm-page {
        margin-top: 100px !important;
    }
}

/* Responsive */

@media (max-width:959px) {
    .kslm-page__hero-grid,
    .kslm-page__split,
    .kslm-page__related {
        grid-template-columns: 1fr;
        gap: 38px;
    }

    .kslm-page__hero-rail {
        width: 100%;
        max-width: 620px;
    }

    .kslm-page__grid--3 {
        grid-template-columns: 1fr;
    }
}

@media (max-width:767px) {
    .kslm-page__shell {
        padding-inline: 18px;
    }

    .kslm-page__grid--2 {
        grid-template-columns: 1fr;
    }

    .kslm-page__index-row {
        grid-template-columns: minmax(0,1fr) 20px;
        gap: 14px;
    }

    .kslm-page__index-copy {
        display: none;
    }

    .kslm-page__closing-grid {
        display: grid;
    }
}


/* ==========================================================================
   KSL MEDIATION — INTERIOR SYSTEM V2
   Editorial refinement: tighter rhythm, lighter components, better density.
   ========================================================================== */


/* --------------------------------------------------------------------------
   SECTION RHYTHM
   -------------------------------------------------------------------------- */

.kslm-page__section {
    padding-top: 72px !important;
    padding-bottom: 76px !important;
}

.kslm-page__section--warm {
    padding-top: 70px !important;
    padding-bottom: 76px !important;
}

.kslm-page__section--dark {
    padding-top: 72px !important;
    padding-bottom: 78px !important;
}

.kslm-page__section--gold {
    padding-top: 68px !important;
    padding-bottom: 72px !important;
}


/* --------------------------------------------------------------------------
   EDITORIAL SPLIT
   Give the headline more width so it does not become a chunky text block.
   -------------------------------------------------------------------------- */

.kslm-page__split {
    grid-template-columns:
        minmax(320px,.95fr)
        minmax(0,1.05fr) !important;

    gap: 72px !important;
}

.kslm-page__split .kslm-page__section-title {
    max-width: 390px !important;
}


/* --------------------------------------------------------------------------
   SECTION HEADINGS
   -------------------------------------------------------------------------- */

.kslm-page__section-title {
    margin-top: 9px !important;
    margin-bottom: 28px !important;

    font-size: clamp(31px,3.5vw,43px) !important;
    line-height: 1.07 !important;
}


/* --------------------------------------------------------------------------
   SERVICE INDEX
   More editorial list, less giant menu.
   -------------------------------------------------------------------------- */

.kslm-page__index-row {
    grid-template-columns:
        minmax(245px,.85fr)
        minmax(0,1.35fr)
        18px !important;

    gap: 30px !important;

    min-height: 0 !important;

    padding-top: 15px !important;
    padding-bottom: 15px !important;
}

.kslm-page__index-title {
    font-size: 15px !important;
    line-height: 1.35 !important;
}

.kslm-page__index-copy {
    max-width: 560px !important;

    font-size: 12.5px !important;
    line-height: 1.48 !important;
}

.kslm-page__index-arrow {
    font-size: 14px !important;
}


/* --------------------------------------------------------------------------
   DARK CARDS
   Reduce visual mass.
   -------------------------------------------------------------------------- */

.kslm-page__grid {
    gap: 14px !important;
}

.kslm-page__card {
    min-height: 0 !important;

    padding: 23px 24px !important;
}

.kslm-page__card-label {
    margin-bottom: 8px !important;
}

.kslm-page__card h3 {
    margin-bottom: 8px !important;

    font-size: 18px !important;
    line-height: 1.27 !important;
}

.kslm-page__card p:not(.kslm-page__card-label) {
    font-size: 13px !important;
    line-height: 1.58 !important;
}


/* --------------------------------------------------------------------------
   PROCESS / NUMBERED ROWS
   -------------------------------------------------------------------------- */

.kslm-page__step {
    grid-template-columns:
        38px
        minmax(0,1fr) !important;

    gap: 22px !important;

    padding-top: 21px !important;
    padding-bottom: 21px !important;
}

.kslm-page__step h3 {
    margin-bottom: 5px !important;

    font-size: 18px !important;
}

.kslm-page__step p {
    font-size: 14px !important;
    line-height: 1.6 !important;
}


/* --------------------------------------------------------------------------
   RELATED LINKS
   -------------------------------------------------------------------------- */

.kslm-page__related {
    grid-template-columns:
        minmax(270px,.7fr)
        minmax(0,1.3fr) !important;

    gap: 64px !important;
}

.kslm-page__related-links a {
    padding-top: 14px !important;
    padding-bottom: 14px !important;

    font-size: 14px !important;
}


/* --------------------------------------------------------------------------
   CLOSING CTA
   -------------------------------------------------------------------------- */

.kslm-page__closing {
    padding-top: 44px !important;
    padding-bottom: 44px !important;
}

.kslm-page__closing h2 {
    font-size: clamp(27px,2.7vw,36px) !important;
}


/* --------------------------------------------------------------------------
   HERO — retain presence but remove unnecessary bulk
   -------------------------------------------------------------------------- */

.kslm-page__hero {
    padding-top: 36px !important;
    padding-bottom: 56px !important;
}

.kslm-page__breadcrumbs {
    margin-bottom: 34px !important;
}

.kslm-page__hero-grid {
    gap: 70px !important;
}

.kslm-page__hero h1 {
    margin-bottom: 18px !important;

    font-size: clamp(43px,4.5vw,60px) !important;
}

.kslm-page__lede {
    margin-bottom: 24px !important;

    font-size: 17px !important;
    line-height: 1.58 !important;
}


/* --------------------------------------------------------------------------
   HERO RAIL — lighter and tighter
   -------------------------------------------------------------------------- */

.kslm-page__hero-rail {
    padding-left: 27px !important;
}

.kslm-page__rail-label {
    margin-bottom: 12px !important;
}

.kslm-page__rail-item {
    min-height: 53px !important;

    padding-top: 10px !important;
    padding-bottom: 10px !important;
}


/* --------------------------------------------------------------------------
   TABLET / MOBILE
   -------------------------------------------------------------------------- */

@media (max-width:959px) {

    .kslm-page__section,
    .kslm-page__section--warm,
    .kslm-page__section--dark,
    .kslm-page__section--gold {
        padding-top: 58px !important;
        padding-bottom: 62px !important;
    }

    .kslm-page__split {
        grid-template-columns: 1fr !important;
        gap: 28px !important;
    }

    .kslm-page__split .kslm-page__section-title {
        max-width: 600px !important;
    }
}

@media (max-width:767px) {

    .kslm-page__index-row {
        padding-top: 14px !important;
        padding-bottom: 14px !important;
    }

    .kslm-page__card {
        padding: 21px !important;
    }
}


/* ==========================================================================
   KSL MEDIATION — INTERIOR SYSTEM V2
   Editorial refinement: tighter rhythm, lighter components, better density.
   ========================================================================== */


/* --------------------------------------------------------------------------
   SECTION RHYTHM
   -------------------------------------------------------------------------- */

.kslm-page__section {
    padding-top: 72px !important;
    padding-bottom: 76px !important;
}

.kslm-page__section--warm {
    padding-top: 70px !important;
    padding-bottom: 76px !important;
}

.kslm-page__section--dark {
    padding-top: 72px !important;
    padding-bottom: 78px !important;
}

.kslm-page__section--gold {
    padding-top: 68px !important;
    padding-bottom: 72px !important;
}


/* --------------------------------------------------------------------------
   EDITORIAL SPLIT
   Give the headline more width so it does not become a chunky text block.
   -------------------------------------------------------------------------- */

.kslm-page__split {
    grid-template-columns:
        minmax(320px,.95fr)
        minmax(0,1.05fr) !important;

    gap: 72px !important;
}

.kslm-page__split .kslm-page__section-title {
    max-width: 390px !important;
}


/* --------------------------------------------------------------------------
   SECTION HEADINGS
   -------------------------------------------------------------------------- */

.kslm-page__section-title {
    margin-top: 9px !important;
    margin-bottom: 28px !important;

    font-size: clamp(31px,3.5vw,43px) !important;
    line-height: 1.07 !important;
}


/* --------------------------------------------------------------------------
   SERVICE INDEX
   More editorial list, less giant menu.
   -------------------------------------------------------------------------- */

.kslm-page__index-row {
    grid-template-columns:
        minmax(245px,.85fr)
        minmax(0,1.35fr)
        18px !important;

    gap: 30px !important;

    min-height: 0 !important;

    padding-top: 15px !important;
    padding-bottom: 15px !important;
}

.kslm-page__index-title {
    font-size: 15px !important;
    line-height: 1.35 !important;
}

.kslm-page__index-copy {
    max-width: 560px !important;

    font-size: 12.5px !important;
    line-height: 1.48 !important;
}

.kslm-page__index-arrow {
    font-size: 14px !important;
}


/* --------------------------------------------------------------------------
   DARK CARDS
   Reduce visual mass.
   -------------------------------------------------------------------------- */

.kslm-page__grid {
    gap: 14px !important;
}

.kslm-page__card {
    min-height: 0 !important;

    padding: 23px 24px !important;
}

.kslm-page__card-label {
    margin-bottom: 8px !important;
}

.kslm-page__card h3 {
    margin-bottom: 8px !important;

    font-size: 18px !important;
    line-height: 1.27 !important;
}

.kslm-page__card p:not(.kslm-page__card-label) {
    font-size: 13px !important;
    line-height: 1.58 !important;
}


/* --------------------------------------------------------------------------
   PROCESS / NUMBERED ROWS
   -------------------------------------------------------------------------- */

.kslm-page__step {
    grid-template-columns:
        38px
        minmax(0,1fr) !important;

    gap: 22px !important;

    padding-top: 21px !important;
    padding-bottom: 21px !important;
}

.kslm-page__step h3 {
    margin-bottom: 5px !important;

    font-size: 18px !important;
}

.kslm-page__step p {
    font-size: 14px !important;
    line-height: 1.6 !important;
}


/* --------------------------------------------------------------------------
   RELATED LINKS
   -------------------------------------------------------------------------- */

.kslm-page__related {
    grid-template-columns:
        minmax(270px,.7fr)
        minmax(0,1.3fr) !important;

    gap: 64px !important;
}

.kslm-page__related-links a {
    padding-top: 14px !important;
    padding-bottom: 14px !important;

    font-size: 14px !important;
}


/* --------------------------------------------------------------------------
   CLOSING CTA
   -------------------------------------------------------------------------- */

.kslm-page__closing {
    padding-top: 44px !important;
    padding-bottom: 44px !important;
}

.kslm-page__closing h2 {
    font-size: clamp(27px,2.7vw,36px) !important;
}


/* --------------------------------------------------------------------------
   HERO — retain presence but remove unnecessary bulk
   -------------------------------------------------------------------------- */

.kslm-page__hero {
    padding-top: 36px !important;
    padding-bottom: 56px !important;
}

.kslm-page__breadcrumbs {
    margin-bottom: 34px !important;
}

.kslm-page__hero-grid {
    gap: 70px !important;
}

.kslm-page__hero h1 {
    margin-bottom: 18px !important;

    font-size: clamp(43px,4.5vw,60px) !important;
}

.kslm-page__lede {
    margin-bottom: 24px !important;

    font-size: 17px !important;
    line-height: 1.58 !important;
}


/* --------------------------------------------------------------------------
   HERO RAIL — lighter and tighter
   -------------------------------------------------------------------------- */

.kslm-page__hero-rail {
    padding-left: 27px !important;
}

.kslm-page__rail-label {
    margin-bottom: 12px !important;
}

.kslm-page__rail-item {
    min-height: 53px !important;

    padding-top: 10px !important;
    padding-bottom: 10px !important;
}


/* --------------------------------------------------------------------------
   TABLET / MOBILE
   -------------------------------------------------------------------------- */

@media (max-width:959px) {

    .kslm-page__section,
    .kslm-page__section--warm,
    .kslm-page__section--dark,
    .kslm-page__section--gold {
        padding-top: 58px !important;
        padding-bottom: 62px !important;
    }

    .kslm-page__split {
        grid-template-columns: 1fr !important;
        gap: 28px !important;
    }

    .kslm-page__split .kslm-page__section-title {
        max-width: 600px !important;
    }
}

@media (max-width:767px) {

    .kslm-page__index-row {
        padding-top: 14px !important;
        padding-bottom: 14px !important;
    }

    .kslm-page__card {
        padding: 21px !important;
    }
}


/* ==========================================================================
   KSLM INTERIOR — GENERIC CONTENT TEMPLATE
   Used by interior pages that have not received bespoke layout treatment.
   Keeps original WordPress content intact inside the shared design system.
   ========================================================================== */

.kslm-page--generic .kslm-page__hero {
    padding-bottom: 52px !important;
}

.kslm-page--generic .kslm-page__hero-grid {
    grid-template-columns: minmax(0,760px) !important;
}

.kslm-page--generic .kslm-page__hero h1 {
    max-width: 820px !important;
}

.kslm-page__prose {
    max-width: 820px;
    margin: 0 auto;
}

.kslm-page__prose > *:first-child {
    margin-top: 0 !important;
}

.kslm-page__prose > *:last-child {
    margin-bottom: 0 !important;
}

.kslm-page__prose h1 {
    display: none !important;
}

.kslm-page__prose h2 {
    margin: 48px 0 16px;

    color: var(--kslm-charcoal);

    font-size: clamp(27px,3vw,36px);
    font-weight: 500;
    line-height: 1.12;
    letter-spacing: -.025em;
}

.kslm-page__prose h3 {
    margin: 34px 0 12px;

    color: var(--kslm-charcoal);

    font-size: 21px;
    font-weight: 600;
    line-height: 1.25;
}

.kslm-page__prose p {
    margin: 0 0 18px;

    color: var(--kslm-muted);

    font-size: 16px;
    line-height: 1.74;
}

.kslm-page__prose ul,
.kslm-page__prose ol {
    margin: 18px 0 24px;
    padding-left: 24px;

    color: var(--kslm-muted);

    font-size: 15px;
    line-height: 1.7;
}

.kslm-page__prose li + li {
    margin-top: 8px;
}

.kslm-page__prose strong {
    color: var(--kslm-charcoal);
}

.kslm-page__prose a {
    color: var(--kslm-oxblood-800);

    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

.kslm-page__prose blockquote {
    margin: 34px 0;

    padding: 24px 28px;

    border-left: 2px solid var(--kslm-gold);

    background: var(--kslm-warm);
}

.kslm-page__prose hr {
    margin: 38px 0;

    border: 0;
    border-top: 1px solid #DDD7CE;
}

.kslm-page__prose table {
    width: 100%;

    margin: 28px 0;

    border-collapse: collapse;
}

.kslm-page__prose th,
.kslm-page__prose td {
    padding: 12px 14px;

    border-bottom: 1px solid #DDD7CE;

    text-align: left;
    vertical-align: top;
}


/* Generic service-page related routing */

.kslm-page__generic-related {
    margin-top: 58px;
}

.kslm-page__generic-related-label {
    margin: 0 0 16px;

    color: var(--kslm-gold);

    font-size: 10px;
    font-weight: 700;
    letter-spacing: .14em;

    text-transform: uppercase;
}

@media (max-width:767px) {

    .kslm-page__prose p {
        font-size: 15px;
    }

    .kslm-page__prose h2 {
        margin-top: 38px;
    }
}


/* ==========================================================================
   KSL MEDIATION — INTERIOR SYSTEM V3
   Service-index alignment + adjacent-section contrast rule
   ========================================================================== */


/* --------------------------------------------------------------------------
   SERVICE INDEX
   Left-align content and reduce vertical mass.
   -------------------------------------------------------------------------- */

.kslm-page__index-row {
    grid-template-columns:
        minmax(260px,.9fr)
        minmax(0,1.3fr)
        20px !important;

    gap: 26px !important;

    min-height: 0 !important;

    padding-top: 12px !important;
    padding-bottom: 12px !important;

    text-align: left !important;
}

.kslm-page__index-title,
.kslm-page__index-copy,
.kslm-page__index-arrow {
    text-align: left !important;
}

.kslm-page__index-title {
    justify-self: start !important;

    font-size: 14px !important;
    line-height: 1.3 !important;
}

.kslm-page__index-copy {
    justify-self: start !important;

    max-width: 560px !important;

    font-size: 12px !important;
    line-height: 1.42 !important;
}

.kslm-page__index-arrow {
    justify-self: end !important;

    font-size: 13px !important;
}


/* --------------------------------------------------------------------------
   RELATED-LINK INDEXES
   Same alignment principle.
   -------------------------------------------------------------------------- */

.kslm-page__related-links a {
    min-height: 0 !important;

    padding-top: 12px !important;
    padding-bottom: 12px !important;

    text-align: left !important;
}

.kslm-page__related-links a span:first-child {
    text-align: left !important;
}

.kslm-page__related-links a span:last-child {
    margin-left: auto !important;
}


/* --------------------------------------------------------------------------
   ADJACENT BACKGROUND RULE
   Interior sections should not visually merge when they share the same tone.
   -------------------------------------------------------------------------- */

/* Warm followed by warm */
.kslm-page__section--warm + .kslm-page__section--warm {
    border-top: 1px solid rgba(61,12,2,.16) !important;
}

/* Gold followed by gold */
.kslm-page__section--gold + .kslm-page__section--gold {
    border-top: 1px solid rgba(61,12,2,.18) !important;
}

/* White followed by white */
.kslm-page__section:not(.kslm-page__section--warm):not(.kslm-page__section--gold):not(.kslm-page__section--dark)
+
.kslm-page__section:not(.kslm-page__section--warm):not(.kslm-page__section--gold):not(.kslm-page__section--dark) {
    border-top: 1px solid #E7E2D8 !important;
}


/* --------------------------------------------------------------------------
   STRONGER RULE FOR LARGE SAME-TONE BLOCKS
   Gives the next section a clear visual start.
   -------------------------------------------------------------------------- */

.kslm-page__section--warm + .kslm-page__section--warm,
.kslm-page__section--gold + .kslm-page__section--gold {
    box-shadow: inset 0 1px 0 rgba(255,255,255,.35);
}


/* --------------------------------------------------------------------------
   MOBILE
   -------------------------------------------------------------------------- */

@media (max-width:767px) {

    .kslm-page__index-row {
        grid-template-columns:
            minmax(0,1fr)
            18px !important;

        gap: 12px !important;

        padding-top: 11px !important;
        padding-bottom: 11px !important;
    }

    .kslm-page__index-copy {
        display: none !important;
    }
}


/* ==========================================================================
   KSLM INTERIOR V4
   Compact left-aligned routing/index rows
   ========================================================================== */


/* WordPress wpautop inserts BRs around spans inside these anchors.
   Remove them so they do not become flex/grid children. */

.kslm-page__related-links > a > br,
.kslm-page__index-row > br {
    display: none !important;
}


/* --------------------------------------------------------------------------
   RELATED / ROUTING ROWS
   -------------------------------------------------------------------------- */

.kslm-page__related-links {
    width: 100% !important;

    border-top: 1px solid #D8D1C3 !important;
}

.kslm-page__related-links > a {
    display: flex !important;

    align-items: center !important;
    justify-content: flex-start !important;

    width: 100% !important;
    min-height: 0 !important;

    gap: 18px !important;

    padding: 9px 0 !important;

    border-bottom: 1px solid #D8D1C3 !important;

    text-align: left !important;

    line-height: 1.2 !important;
}

.kslm-page__related-links > a > span:first-of-type {
    display: block !important;

    flex: 1 1 auto !important;

    margin: 0 !important;
    padding: 0 !important;

    text-align: left !important;

    font-size: 14px !important;
    line-height: 1.25 !important;
}

.kslm-page__related-links > a > span:last-of-type {
    display: block !important;

    flex: 0 0 auto !important;

    margin: 0 10px 0 0 !important;
    padding: 0 !important;

    text-align: right !important;

    line-height: 1 !important;
}


/* --------------------------------------------------------------------------
   SERVICE INDEX ROWS
   Same compact left-anchored rule.
   -------------------------------------------------------------------------- */

.kslm-page__index-row {
    align-items: center !important;

    min-height: 0 !important;

    padding-top: 9px !important;
    padding-bottom: 9px !important;

    text-align: left !important;
}

.kslm-page__index-title {
    justify-self: start !important;

    margin: 0 !important;

    text-align: left !important;

    font-size: 14px !important;
    line-height: 1.25 !important;
}

.kslm-page__index-copy {
    justify-self: start !important;

    margin: 0 !important;

    text-align: left !important;

    font-size: 12px !important;
    line-height: 1.4 !important;
}

.kslm-page__index-arrow {
    justify-self: end !important;

    margin: 0 !important;

    line-height: 1 !important;
}


/* --------------------------------------------------------------------------
   SAME-BACKGROUND SECTIONS DO NOT TOUCH
   If two warm/gold sections become adjacent, force contrast rather than
   allowing them to visually merge into one oversized block.
   -------------------------------------------------------------------------- */

.kslm-page__section--gold + .kslm-page__section--gold {
    background: #FFFFFF !important;
}

.kslm-page__section--warm + .kslm-page__section--warm {
    background: #FFFFFF !important;
}


/* Mobile remains compact */

@media (max-width:767px) {

    .kslm-page__related-links > a,
    .kslm-page__index-row {
        padding-top: 10px !important;
        padding-bottom: 10px !important;
    }

    .kslm-page__related-links > a > span:first-of-type {
        font-size: 13px !important;
    }
}


/* ==========================================================================
   KSLM INTERIOR V5 — WPAUTOP RELATED-LINK ROW FIX
   WordPress wraps each routing anchor in P and injects BR children.
   P is therefore the actual row owner.
   ========================================================================== */


/* The P is the real row. Remove WordPress paragraph rhythm completely. */

.kslm-page__related-links > p {
    display: block !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;

    line-height: 1 !important;
}


/* The anchor owns the visible row geometry. */

.kslm-page__related-links > p > a {
    display: flex !important;

    width: 100% !important;
    min-height: 0 !important;

    box-sizing: border-box !important;

    align-items: center !important;
    justify-content: flex-start !important;

    gap: 16px !important;

    margin: 0 !important;

    padding: 10px 8px 10px 0 !important;

    border-bottom: 1px solid #D8D1C3 !important;

    color: var(--kslm-charcoal) !important;

    text-align: left !important;
    text-decoration: none !important;

    line-height: 1.2 !important;
}


/* First row gets the top rule. */

.kslm-page__related-links > p:first-child > a {
    border-top: 1px solid #D8D1C3 !important;
}


/* WPAUTOP BR elements must not participate in layout. */

.kslm-page__related-links > p > a > br {
    display: none !important;
}


/* Service name: hard-left edge of the row. */

.kslm-page__related-links > p > a > span:first-of-type {
    display: block !important;

    flex: 1 1 auto !important;

    margin: 0 !important;
    padding: 0 !important;

    color: var(--kslm-charcoal) !important;

    text-align: left !important;

    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
}


/* Arrow stays on far right. */

.kslm-page__related-links > p > a > span:last-of-type {
    display: block !important;

    flex: 0 0 auto !important;

    margin: 0 !important;
    padding: 0 !important;

    color: var(--kslm-gold) !important;

    text-align: right !important;

    font-size: 13px !important;
    line-height: 1 !important;
}


/* Kill any inherited paragraph spacing from entry-content. */

.entry-content .kslm-page__related-links > p {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}


/* Keep the container itself clean. */

.kslm-page__related-links {
    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;
}


/* Mobile remains compact. */

@media (max-width:767px) {

    .kslm-page__related-links > p > a {
        padding-top: 10px !important;
        padding-bottom: 10px !important;
    }

    .kslm-page__related-links > p > a > span:first-of-type {
        font-size: 13px !important;
    }
}
