.team-page {
    background:linear-gradient(180deg, #f5faff, #edf7ff 70%, #fff)
}

.team-page .article-layout {
    width:min(1520px, calc(100% - 40px));
    max-width:none;
    padding:24px 0 32px
}

.team-page .prose {
    display:grid;
    min-width:0;
    max-width:none;
    gap:16px
}

.team-page .team-story {
    display:grid;
    grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);
    align-items:center;
    gap:24px;
    min-width:0;
    margin:0;
    padding:28px;
    border:1px solid #d8e7f5;
    border-radius:8px;
    background:linear-gradient(135deg, #fff, #f6faff 70%, #e8f3ff);
    box-shadow:0 10px 30px rgba(42,84,137,.05);
    overflow:hidden
}

.team-chapter-heading {
    display:flex;
    align-items:flex-start;
    gap:16px;
    margin-bottom:18px
}

.team-page .section-index {
    flex:0 0 34px;
    display:grid;
    place-items:center;
    height:34px;
    margin:0;
    border:1px solid #c8ddff;
    border-radius:5px;
    background:#eaf3ff;
    color:#246fe5;
    font-size:12px;
    font-weight:750;
    letter-spacing:0
}

.team-page .team-story h2 {
    margin:0;
    font-size:clamp(24px, 2vw, 31px);
    line-height:1.2;
    letter-spacing:-.7px;
    color:#102246
}

.team-page .team-copy p,
.team-summary p {
    margin:0 0 16px;
    color:#566d8c;
    font-size:16px;
    line-height:1.65
}

.team-page .team-copy p:last-child {
    margin-bottom:0
}

.team-visual {
    position:relative;
    display:grid;
    align-content:center;
    gap:14px;
    min-width:0;
    margin:0;
    padding:16px;
    border-radius:8px;
    background:radial-gradient(ellipse at center, #d7eaff, #f1f7ff 80%)
}

.team-visual > img {
    display:block;
    width:100%;
    height:auto;
    border-radius:7px
}

.team-visual figcaption {
    color:#687f9e;
    font-size:11px;
    text-align:center
}

.team-panel,
.team-rule {
    min-width:0;
    padding:18px;
    border:1px solid #cce0fb;
    border-radius:7px;
    background:rgba(255,255,255,.97);
    box-shadow:0 12px 26px rgba(39,82,139,.08);
    color:#17355c;
    font-size:13px
}

.team-panel-heading {
    margin-bottom:12px;
    font-size:15px
}

.team-panel-row,
.team-panel-total {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:12px 0;
    border-bottom:1px solid #e8f0fa
}

.team-panel-row strong {
    color:#246fe5;
    font-size:12px;
    text-align:right
}

.team-panel-total {
    border:0;
    color:#1764df
}

.team-note {
    display:block;
    margin-top:12px;
    color:#687f9e;
    font-size:12px;
    line-height:1.5
}

.team-rule-tabs {
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    margin:18px 0
}

.team-rule-tabs span {
    flex:1 1 auto;
    padding:9px 7px;
    border-radius:5px;
    background:#f3f7fe;
    text-align:center;
    font-size:11px
}

.team-rule-tabs .is-selected {
    color:#1764df;
    background:#e8f2ff;
    box-shadow:inset 0 -2px #2875e8
}

.team-rule-types {
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:10px;
    margin:12px 0 20px
}

.team-rule-types > div {
    display:grid;
    gap:10px;
    padding:18px 10px;
    border:1px solid #d8e7ff;
    border-radius:7px;
    background:#f2f7ff;
    text-align:center;
    font-size:12px
}

.team-rule-types b {
    color:#1764df;
    font-size:26px
}

.team-rule-fields {
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:14px;
    color:#687f9e;
    font-size:12px
}

.team-rule-fields strong {
    display:block;
    margin-top:8px;
    padding:11px;
    border:1px solid #c8ddff;
    border-radius:5px;
    color:#17355c
}

.team-notice,
.team-status {
    display:block;
    margin-top:12px;
    padding:10px 12px;
    border-radius:5px;
    background:#e9faf2;
    color:#148554;
    font-size:12px;
    line-height:1.5
}

.team-status {
    display:inline-block;
    margin:0 0 12px
}

.team-metrics {
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:8px
}

.team-metrics > div {
    display:grid;
    gap:8px;
    padding:14px 10px;
    border-radius:6px;
    background:#f1f7ff
}

.team-metrics span {
    color:#687f9e;
    font-size:11px
}

.team-metrics b {
    color:#17355c;
    font-size:18px
}

.team-report {
    display:grid;
    min-width:0;
    gap:14px
}

.team-page .team-screen-link {
    display:block;
    padding:12px;
    border:1px solid #c8ddff;
    border-radius:6px;
    background:#fff;
    color:#1764df;
    font-size:13px;
    line-height:1.5;
    text-align:center;
    cursor:pointer
}

.team-summary {
    display:grid;
    grid-template-columns:minmax(0, 1.3fr) minmax(0, .7fr);
    align-items:center;
    gap:28px;
    width:min(1520px, calc(100% - 40px));
    max-width:none;
    margin-bottom:48px;
    padding:32px;
    border:1px solid #d8e7f5;
    border-radius:8px;
    background:linear-gradient(120deg, #e5f2ff, #f8fbff 65%, #d5eaff)
}

.team-summary h2 {
    margin:0 0 18px;
    font-size:clamp(25px, 2.5vw, 36px);
    line-height:1.2;
    letter-spacing:-.7px
}

.team-summary img {
    width:100%;
    height:auto;
    border-radius:8px
}

.team-intro {
    width:min(1520px, calc(100% - 40px));
    max-width:none;
    padding-top:32px
}

.team-intro h1 {
    margin:0 0 16px;
    font-size:clamp(30px, 3vw, 44px);
    line-height:1.15;
    letter-spacing:-1px
}

.team-intro p {
    max-width:1100px;
    margin:0;
    color:#566d8c;
    font-size:16px;
    line-height:1.65
}

.team-page .team-story-illustrated,
.team-page .team-summary-illustrated {
    --team-padding:36px;
    position:relative;
    isolation:isolate;
    grid-template-columns:minmax(0, 1.05fr) minmax(0, 1fr);
    align-items:stretch;
    gap:0;
    border-color:#d5e2f2;
    background:linear-gradient(135deg, #fff, #fbfdff 68%, #edf5ff);
    box-shadow:0 10px 28px rgba(38, 73, 124, .07);
    overflow:hidden
}

.team-story-illustrated .team-copy,
.team-summary-illustrated > div {
    position:relative;
    z-index:1;
    grid-column:1;
    grid-row:1;
    min-width:0;
    padding-right:30px
}

.team-story-illustrated:nth-of-type(even) .team-copy {
    grid-column:2;
    padding:0 0 0 30px
}

.team-story-illustrated .team-chapter-heading {
    align-items:center;
    gap:18px;
    margin-bottom:22px
}

.team-page .team-story-illustrated .section-index {
    flex-basis:44px;
    height:44px;
    border-color:#cce0fb;
    border-radius:7px;
    color:#1768df;
    font-size:14px;
    font-weight:800
}

.team-page .team-story-illustrated h2,
.team-summary-illustrated h2 {
    color:#10203b;
    font-size:clamp(24px, 2vw, 31px);
    line-height:1.13;
    letter-spacing:0;
    text-wrap:balance
}

.team-page .team-story-illustrated .team-copy p,
.team-summary-illustrated p {
    margin-bottom:12px;
    color:#53647d;
    font-size:14px;
    line-height:1.6
}

.team-page .team-story-illustrated .team-copy p:last-child,
.team-summary-illustrated p:last-child { margin-bottom:0 }

.team-page .team-story-illustrated .team-visual-photo,
.team-summary-illustrated .team-summary-media {
    position:relative;
    display:block;
    grid-column:2;
    grid-row:1;
    align-self:stretch;
    min-width:0;
    min-height:360px;
    margin:calc(-1 * var(--team-padding));
    margin-left:0;
    padding:0;
    border-radius:0;
    overflow:hidden;
    background:#eef6ff;
    -webkit-mask-image:linear-gradient(to right, transparent, #000 16%);
    mask-image:linear-gradient(to right, transparent, #000 16%)
}

.team-page .team-story-illustrated:nth-of-type(even) .team-visual-photo {
    grid-column:1;
    margin:calc(-1 * var(--team-padding));
    margin-right:0;
    -webkit-mask-image:linear-gradient(to left, transparent, #000 16%);
    mask-image:linear-gradient(to left, transparent, #000 16%)
}

.team-page .team-story-illustrated .team-visual-photo > img,
.team-summary-illustrated .team-summary-media > img {
    position:absolute;
    inset:0;
    display:block;
    width:100%;
    height:100%;
    max-height:none;
    border-radius:0;
    object-fit:cover;
    object-position:center;
    transition:transform 900ms cubic-bezier(.2, .65, .3, 1)
}

@media (hover:hover) and (prefers-reduced-motion:no-preference) {
    .team-story-illustrated:hover .team-visual-photo > img,
    .team-summary-illustrated:hover .team-summary-media > img {
        transform:scale(1.035)
    }
}

@media (max-width:1100px) {
    .team-page .team-story-illustrated,
    .team-page .team-summary-illustrated { --team-padding:28px }
}

@media (max-width:800px) {
    .team-page .team-story-illustrated,
    .team-page .team-summary-illustrated {
        grid-template-columns:minmax(0, 1fr);
        gap:24px
    }

    .team-page .team-story-illustrated .team-copy,
    .team-summary-illustrated > div {
        grid-column:auto;
        grid-row:auto;
        padding:0
    }

    .team-page .team-story-illustrated .team-visual-photo,
    .team-page .team-story-illustrated:nth-of-type(even) .team-visual-photo,
    .team-summary-illustrated .team-summary-media {
        grid-column:auto;
        grid-row:auto;
        min-height:0;
        margin:0 calc(-1 * var(--team-padding)) calc(-1 * var(--team-padding));
        -webkit-mask-image:none;
        mask-image:none
    }

    .team-page .team-story-illustrated .team-visual-photo > img,
    .team-summary-illustrated .team-summary-media > img {
        position:static;
        height:auto
    }
}

@media (max-width:600px) {
    .team-page .team-story-illustrated,
    .team-page .team-summary-illustrated { --team-padding:22px }
}

@media (prefers-reduced-motion:reduce) {
    .team-page .team-story-illustrated .team-visual-photo > img,
    .team-summary-illustrated .team-summary-media > img { transition:none }
}

@media (min-width:1201px) {
    .team-page .team-visual-invitation,
    .team-page .team-visual-shift,
    .team-page .team-visual-payments,
    .team-page .team-visual-closing {
        padding:0;
        background:transparent
    }

    .team-visual-invitation .team-panel,
    .team-visual-shift .team-panel,
    .team-visual-payments .team-panel,
    .team-visual-closing .team-panel {
        position:relative;
        width:92%;
        margin:-48px auto 0
    }
}

@media (max-width:1200px) {
    .team-page .toc {
        min-width:0;
        max-width:100%
    }
}

@media (max-width:800px) {
    .team-page .team-story,
    .team-summary {
        grid-template-columns:minmax(0, 1fr);
        gap:22px;
        padding:24px
    }

    .team-visual > img {
        max-height:380px;
        object-fit:cover
    }
}

@media (max-width:600px) {
    .team-page .article-layout,
    .team-summary,
    .team-intro {
        width:calc(100% - 24px)
    }

    .team-page .article-layout {
        padding-top:16px
    }

    .team-page .team-story,
    .team-summary {
        padding:20px 18px
    }

    .team-page .team-story h2 {
        font-size:25px
    }

    .team-chapter-heading {
        gap:12px
    }

    .team-visual {
        padding:10px
    }

    .team-panel,
    .team-rule {
        padding:14px
    }

    .team-rule-fields {
        grid-template-columns:minmax(0, 1fr)
    }

    .team-panel-row {
        flex-wrap:wrap
    }

    .team-summary {
        margin-bottom:24px
    }
}

.team-page .team-story-illustrated,
.team-page .team-summary-illustrated {
    padding:var(--team-padding)
}
