/* ==========================================================
   BILITON PUBLIC DESIGN SYSTEM
   CORE LAYOUT V21.2.86

   Shared structural classes for migrated public pages.
   Legacy page selectors are intentionally untouched.
   ========================================================== */


/* ----------------------------------------------------------
   CONTAINERS
   ---------------------------------------------------------- */

.blt-shell {
    width: var(--blt-ds-shell);
    max-width: var(--blt-ds-shell-max);
    margin-inline: auto;
}

.blt-container {
    width: var(--blt-ds-container);
    max-width: var(--blt-ds-content-max);
    margin-inline: auto;
}

.blt-copy {
    width: 100%;
    max-width: var(--blt-ds-copy-max);
}


/* ----------------------------------------------------------
   SECTIONS
   ---------------------------------------------------------- */

.blt-section {
    padding-block: var(--blt-ds-section-y);
}

.blt-section--compact {
    padding-block: var(--blt-ds-section-y-compact);
}

.blt-section--soft {
    background: var(--blt-ds-soft);
}

.blt-section--dark {
    background: var(--blt-ds-navy-950);
    color: var(--blt-ds-white);
}


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

.blt-heading {
    margin: 0 0 var(--blt-ds-heading-content-gap);
}

.blt-heading--split {
    display: grid;
    grid-template-columns:
        minmax(0, .9fr)
        minmax(320px, 1.1fr);
    gap: var(--blt-ds-space-8);
    align-items: end;
}

.blt-heading--center {
    max-width: 820px;
    margin-inline: auto;
    text-align: center;
}

.blt-kicker {
    display: block;
    margin: 0 0 var(--blt-ds-heading-kicker-gap);
    color: var(--blt-ds-orange-600);
    font-size: var(--blt-ds-text-xs);
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.blt-heading h2 {
    margin: 0;
    color: var(--blt-ds-navy-900);
    font-size: var(--blt-ds-h2);
    line-height: var(--blt-ds-line-heading);
    letter-spacing: -.025em;
}

.blt-section--dark .blt-heading h2 {
    color: var(--blt-ds-white);
}

.blt-heading > p,
.blt-heading--split > p {
    margin:
        var(--blt-ds-heading-copy-gap)
        0
        0;
    color: var(--blt-ds-muted);
    font-size: var(--blt-ds-text-md);
    line-height: var(--blt-ds-line-body);
}

.blt-heading--split > p {
    margin-top: 0;
}

.blt-section--dark .blt-heading > p,
.blt-section--dark .blt-heading--split > p {
    color: rgba(255,255,255,.78);
}


/* ----------------------------------------------------------
   BODY COPY
   ---------------------------------------------------------- */

.blt-prose {
    color: var(--blt-ds-muted);
    font-size: var(--blt-ds-text-md);
    line-height: var(--blt-ds-line-body);
}

.blt-prose > :first-child {
    margin-top: 0;
}

.blt-prose > :last-child {
    margin-bottom: 0;
}

.blt-prose p {
    margin: 0;
}

.blt-prose p + p {
    margin-top: var(--blt-ds-space-4);
}


/* ----------------------------------------------------------
   STANDARD GRIDS
   ---------------------------------------------------------- */

.blt-grid {
    display: grid;
    gap: var(--blt-ds-space-5);
}

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

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

.blt-grid--4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.blt-grid--5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}


/* ----------------------------------------------------------
   TWO-COLUMN CONTENT LAYOUT
   ---------------------------------------------------------- */

.blt-split {
    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        minmax(360px, 1fr);
    gap: var(--blt-ds-space-9);
    align-items: start;
}


/* ----------------------------------------------------------
   FLOW SPACING
   ---------------------------------------------------------- */

.blt-flow > * {
    margin-top: 0;
    margin-bottom: 0;
}

.blt-flow > * + * {
    margin-top: var(--blt-ds-space-4);
}

.blt-flow--tight > * + * {
    margin-top: var(--blt-ds-space-3);
}

.blt-flow--loose > * + * {
    margin-top: var(--blt-ds-space-5);
}


/* ----------------------------------------------------------
   RESPONSIVE
   ---------------------------------------------------------- */

@media (max-width: 900px) {

    .blt-heading--split,
    .blt-split {
        grid-template-columns: 1fr;
        gap: var(--blt-ds-space-6);
    }

    .blt-grid--4,
    .blt-grid--5 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}


@media (max-width: 700px) {

    .blt-section,
    .blt-section--compact {
        padding-block: var(--blt-ds-section-y-mobile);
    }

    .blt-heading {
        margin-bottom: var(--blt-ds-space-6);
    }

    .blt-grid--2,
    .blt-grid--3,
    .blt-grid--4,
    .blt-grid--5 {
        grid-template-columns: 1fr;
    }

}


/* BILITON_DESIGN_SYSTEM_CORE_LAYOUT_V21_2_86 */
