/* ============================================================
   Home Design System (Clinical Luxury)
   - Lightweight "system layer" intended to keep homepage UI consistent.
   - Included before `home.css`; later rules in `home.css` can override specifics.
   ============================================================ */

:root {
    /* Radius & shadows for panels */
    --home-radius-sm: var(--radius-sm);
    --home-radius-md: var(--radius-md);
    --home-shadow-sm: 0 10px 30px rgba(17, 41, 89, 0.12);

    /* Typography rhythm */
    --home-kicker-size: 0.72rem;
    --home-body-leading: 1.7;
    --home-lead-max: 62ch;
}

/* Section label (kicker) */
:where(.section-kicker),
:where(.hs-kicker) {
    font-family: var(--font-body);
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
}

:where(.section-kicker) {
    font-size: var(--home-kicker-size);
    color: rgba(17, 41, 89, 0.42);
}

/* Section header layout */
:where(.section-header) {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 3rem;
    border-bottom: 1px solid var(--clr-border);
}

:where(.section-header h2),
:where(.section-header-left h2) {
    font-size: clamp(2.05rem, 3.2vw, 2.9rem);
    font-weight: 600;
    letter-spacing: -0.9px;
    line-height: 1.06;
    color: var(--clr-primary);
}

:where(.section-header-note) {
    font-size: 0.92rem;
    line-height: 1.7;
    opacity: 0.7;
    max-width: 44ch;
}

/* Lead paragraphs in split layouts / infra blocks */
:where(.content-side p),
:where(.infra-text > p),
:where(.header-content p) {
    line-height: 1.75;
    max-width: var(--home-lead-max);
}

/* Buttons (premium, minimal interaction) */
:where(.hs-btn),
:where(.btn-outline-dark),
:where(.btn-outline-light) {
    font-family: var(--font-body);
    text-transform: uppercase;
    letter-spacing: 1.5px;
    font-weight: 600;
    border-radius: 0;
}

:where(.btn-outline-dark) {
    border: 1px solid var(--clr-primary);
    color: var(--clr-primary);
    background: transparent;
}

:where(.btn-outline-light) {
    border: 1px solid rgba(255, 255, 255, 0.5);
    color: #fff;
    background: transparent;
}

/* Card / panel defaults */
:where(.editorial-figure),
:where(.news-card),
:where(.leader-card),
:where(.bento-cell) {
    border-radius: 0;
}

/* Grid spacing defaults */
:where(.bento-grid) {
    gap: 1px;
}

:where(.editorial-grid),
:where(.news-grid),
:where(.leadership-grid) {
    gap: 0;
}

/* Trust strip should look like a compact compliance capsule */
:where(.trust-strip) {
    border-radius: var(--home-radius-md);
    box-shadow: none;
}

