.fto-performance {
    width: min(1196px, calc(100% - 2rem));
    margin: clamp(3rem, 8vw, 7rem) auto 0;
    padding-top: clamp(2rem, 4vw, 3.5rem);
    border-top: 1px solid #001a62;
    color: #001a62;
}

#fto-performance-host { width: 100%; }

.fto-performance__heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1.5rem;
    margin-bottom: 1.5rem;
}

.fto-performance__eyebrow {
    margin: 0 0 .7rem;
    font: 700 .72rem/1.2 ui-monospace, SFMono-Regular, Menlo, monospace;
    letter-spacing: .08em;
}

.fto-performance h2 {
    margin: 0;
    font-size: clamp(2.3rem, 6vw, 5.2rem);
    line-height: .9;
    letter-spacing: -.055em;
}

.fto-performance__periods {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
}

.fto-performance__periods a {
    padding: .7rem .85rem;
    border: 1px solid #2f55ff;
    color: #001a62;
    text-decoration: none;
    font-size: .82rem;
}

.fto-performance__periods a.is-active {
    border-color: #8fc92a;
    background: #b3ef3f;
    color: #001a62;
    font-weight: 700;
}

.fto-performance__periods a:hover,
.fto-performance__periods a:focus-visible {
    border-color: #8fc92a;
    background: #dff4c0;
    color: #001a62;
}

.fto-performance__periods a.is-active:hover,
.fto-performance__periods a.is-active:focus-visible {
    background: #b3ef3f;
}

.fto-performance__cards {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    border: 1px solid #2f55ff;
    background: #fff;
}

.fto-performance__card {
    min-width: 0;
    padding: 1.1rem;
    border-right: 1px solid #2f55ff;
}

.fto-performance__card:last-child { border-right: 0; }
.fto-performance__card span { display: block; min-height: 2.2em; font-size: .78rem; }
.fto-performance__card strong { display: block; margin-top: .8rem; font-size: clamp(1.6rem, 3vw, 2.6rem); line-height: 1; }

.fto-performance__table-wrap {
    overflow-x: auto;
    border: 1px solid #001a62;
    border-top: 0;
    background: #fff;
}

.fto-performance__table {
    width: 100%;
    min-width: 800px;
    border-collapse: collapse;
    font-size: .88rem;
}

.fto-performance__table th,
.fto-performance__table td {
    padding: 1rem;
    border-bottom: 1px solid #b8c6ff;
    text-align: left;
}

.fto-performance__table thead th {
    background: #001a62;
    color: #fff;
    font: 700 .67rem/1.2 ui-monospace, SFMono-Regular, Menlo, monospace;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.fto-performance__sort {
    display: inline-flex;
    align-items: center;
    gap: .38rem;
    color: inherit;
    text-decoration: none;
    white-space: nowrap;
}

.fto-performance__sort-arrow {
    min-width: .8rem;
    color: #b3ef3f;
    font-size: .88rem;
    line-height: 1;
    text-align: center;
}

.fto-performance__sort:hover,
.fto-performance__sort:focus-visible,
.fto-performance__sort.is-active { color: #b3ef3f; }

.fto-performance__table tbody tr:last-child > * { border-bottom: 0; }
.fto-performance__table a { color: #001a62; font-weight: 700; }
.fto-performance__table thead .fto-performance__sort { color: #fff; }
.fto-performance__table thead .fto-performance__sort:hover,
.fto-performance__table thead .fto-performance__sort:focus-visible,
.fto-performance__table thead .fto-performance__sort.is-active { color: #b3ef3f; }
.fto-performance__pagination { display: flex; justify-content: flex-start; gap: 7px; margin-top: 35px; }
.fto-performance__pagination .page-numbers { width: 38px; height: 38px; display: inline-grid; place-items: center; border: 1px solid #2f55ff; border-radius: 50%; background: transparent; color: #001a62; font: 700 10px/1 ui-monospace, SFMono-Regular, Menlo, monospace; text-decoration: none; }
.fto-performance__pagination a.page-numbers:hover,
.fto-performance__pagination a.page-numbers:focus-visible,
.fto-performance__pagination .current { border-color: #2f55ff; background: #2f55ff; color: #fff; }
.fto-performance__note { max-width: 70rem; margin: 1rem 0 0; font-size: .78rem; line-height: 1.55; }

@media (max-width: 900px) {
    .fto-performance__heading { align-items: flex-start; flex-direction: column; }
    .fto-performance__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .fto-performance__card { border-bottom: 1px solid #2f55ff; }
    .fto-performance__card:nth-child(2n) { border-right: 0; }
    .fto-performance__card:last-child { border-bottom: 0; }
}

@media (max-width: 560px) {
    .fto-performance__cards { grid-template-columns: 1fr; }
    .fto-performance__card { border-right: 0; }
}
