.team-page {
    overflow-x: clip;
    background: var(--paper);
    color: var(--navy);
}
.team-page [hidden] { display: none !important; }
.team-page .career-nav { border-bottom: 1px solid #ffffff18; }
.team-page .career-desktop-nav a { padding-inline: 0.65rem; }
.team-page .career-nav-cta { white-space: nowrap; }
.team-page .career-mobile-panel { max-height: calc(100dvh - 110px); overflow-y: auto; }
.team-page .career-header.is-scrolled .career-nav { width: min(1120px, calc(100% - 2rem)); }
.team-page .career-desktop-nav a[aria-current] { background: #f2a51a24; color: #fff; }
.team-page .career-header.is-scrolled a[aria-current] { color: var(--navy); }

/* The homepage's navy gradient, blueprint grid, gold accents, and rounded panels. */
.team-hero {
    position: relative;
    min-height: 100svh;
    display: grid;
    align-items: center;
    padding: 108px 0 28px;
    overflow: hidden;
    background: radial-gradient(circle at 0 0, #f2a51a2e, transparent 28%), linear-gradient(135deg, #07111f 0%, #101722 46%, #182231 100%);
    color: #fff;
}
.team-hero::after { content: ""; position: absolute; width: 500px; height: 500px; right: -160px; top: 10%; border-radius: 50%; background: #f2a51a12; filter: blur(70px); pointer-events: none; }
.team-hero-grid { position: absolute; inset: 0; pointer-events: none; opacity: 0.2; background-image: linear-gradient(#ffffff16 1px, transparent 1px), linear-gradient(90deg, #ffffff16 1px, transparent 1px); background-size: 48px 48px; mask-image: linear-gradient(to right, #000, transparent); }
.team-layout { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 0.85fr) minmax(0, 2fr); align-items: center; gap: clamp(24px, 3.5vw, 48px); }
.team-intro { padding-bottom: 1rem; }
.team-eyebrow { display: inline-flex; align-items: center; gap: 9px; margin: 0 0 24px; border: 1px solid #ffffff20; border-radius: 999px; padding: 9px 13px; background: #ffffff0a; color: #ffffffc7; font-size: 0.875rem; font-weight: 600; }
.team-eyebrow span { width: 8px; height: 8px; border: 2px solid var(--gold); border-radius: 50%; }
.team-intro h1 { margin: 0; font-size: clamp(2.4rem, 3.6vw, 3.3rem); font-weight: 900; line-height: 1.08; letter-spacing: -0.045em; }
.team-intro h1 span { color: var(--gold); }
.team-intro-copy { max-width: 31ch; margin: 22px 0 0; color: #ffffffb8; font-size: 1rem; line-height: 1.8; }
.team-signature { display: flex; align-items: center; gap: 12px; margin-top: 30px; color: #ffffffa8; font-size: 0.875rem; font-weight: 600; }
.team-signature span { width: 32px; height: 2px; background: var(--gold); }

.team-album { min-width: 0; }
.album-frame { padding: 10px 10px 0; overflow: hidden; border: 1px solid #ffffffb3; border-radius: 28px; background: #fff; color: var(--navy); box-shadow: 0 24px 70px #00000030, inset 0 1px 0 #fff; }
.album-window { border-radius: 20px 20px 0 0; outline-offset: -3px; touch-action: pan-y; }
.album-track { display: grid; gap: 16px; }
.album-slide { min-width: 0; margin: 0; }
.album-photo { height: clamp(180px, calc(100svh - 385px), 480px); overflow: hidden; border-radius: 19px; background: #0b1f3a; }
.album-photo img { display: block; width: 100%; height: 100%; object-fit: contain; }
/* Crop away the poster borders and empty space while keeping every person visible.
   Source rectangles in the original 1200px images: sports (172,420,856,460),
   New Year (111,235,1007,610). The fitted crop adapts to each gallery size. */
.album-photo:has(> .album-crop), .album-crop-preview {
    display: grid;
    place-items: center;
    container-type: size;
    overflow: hidden;
}
.album-crop {
    position: relative;
    width: min(100cqw, calc(100cqh * var(--crop-ratio)));
    max-width: 100%;
    aspect-ratio: var(--crop-ratio);
    overflow: hidden;
}
.album-crop--sports {
    --crop-ratio: 1.8608695652;
    --image-width: 140.1869158879%;
    --image-left: -20.0934579439%;
    --image-top: -91.3043478261%;
}
.album-crop--new-year {
    --crop-ratio: 1.6508196721;
    --image-width: 119.1658391261%;
    --image-left: -11.0228401192%;
    --image-top: -38.5245901639%;
}
.album-photo .album-crop img, .album-thumbnail .album-crop img {
    position: absolute;
    top: var(--image-top);
    left: var(--image-left);
    width: var(--image-width);
    max-width: none;
    height: auto;
    border-radius: 0;
}
.album-slide figcaption { padding: 14px 12px 4px; }
.album-slide figcaption > span { color: #986300; font-size: 0.75rem; font-weight: 800; }
.album-slide h2 { margin: 4px 0 0; font-size: clamp(1rem, 1.6vw, 1.25rem); font-weight: 850; line-height: 1.35; }
.is-ready .album-window { overflow: hidden; }
.is-ready .album-track { display: flex; gap: 0; transition: transform 650ms cubic-bezier(0.45, 0, 0.2, 1); }
.is-ready .album-slide { flex: 0 0 100%; }
.album-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 6px 10px 10px; }
.album-count { color: var(--navy); font-size: 0.875rem; font-weight: 850; font-variant-numeric: tabular-nums; }
.album-count > span:last-child { color: var(--steel); font-weight: 500; }
.album-controls { display: flex; align-items: center; gap: 7px; }
.album-controls button { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; gap: 6px; min-width: 44px; min-height: 44px; border: 1px solid var(--line); border-radius: 50%; background: var(--paper); color: var(--navy); cursor: pointer; transition: background 180ms ease, border-color 180ms ease; }
.album-controls button:hover { background: var(--gold); border-color: var(--gold); }
.album-controls svg { width: 21px; height: 21px; }
.album-thumbnails { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; margin-top: 14px; }
.album-thumbnail { position: relative; min-width: 0; padding: 4px; border: 1px solid #ffffff35; border-radius: 14px; background: #ffffff0c; color: #ffffffb8; cursor: pointer; transition: border-color 180ms ease, background 180ms ease, transform 180ms ease; }
.album-thumbnail img, .album-crop-preview { width: 100%; height: clamp(40px, 7.5svh, 74px); object-fit: contain; border-radius: 9px; background: #07111f; }
.album-thumbnail > span { display: block; padding: 6px 2px 3px; font-size: 0.75rem; font-weight: 650; line-height: 1.25; text-align: center; }
.album-thumbnail:hover { background: #ffffff18; transform: translateY(-2px); }
.album-thumbnail.is-active { border-color: var(--gold); box-shadow: 0 0 0 1px var(--gold); background: #f2a51a1a; color: #ffd078; }

.nicat-section {
    position: relative;
    padding: clamp(64px, 8vw, 112px) 0;
    overflow: hidden;
    background: linear-gradient(180deg, #f6f8fb 0%, var(--paper) 100%);
}
.nicat-section::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    width: min(1120px, calc(100% - 2rem));
    height: 1px;
    background: linear-gradient(90deg, transparent, #0b1f3a24 18%, #0b1f3a24 82%, transparent);
    transform: translateX(-50%);
}
.nicat-heading { display: flex; align-items: center; gap: 14px; margin-bottom: clamp(26px, 4vw, 42px); }
.nicat-heading > span { width: 42px; height: 3px; flex: 0 0 auto; border-radius: 999px; background: var(--gold); }
.nicat-heading h2 { margin: 0; color: var(--navy); font-size: clamp(2rem, 4.2vw, 3.5rem); font-weight: 900; line-height: 1.05; letter-spacing: -0.045em; }
.nicat-gallery { display: grid; grid-template-columns: minmax(0, 16fr) minmax(240px, 9fr); align-items: start; gap: clamp(14px, 2vw, 24px); }
.nicat-photo { margin: 0; overflow: hidden; border: 1px solid #0b1f3a18; border-radius: clamp(18px, 2.2vw, 28px); background: #e7ebf0; box-shadow: 0 24px 60px #07111f17; }
.nicat-photo img { display: block; width: 100%; height: auto; }
.nicat-photo--meeting { align-self: start; }
.nicat-photo--presentation { align-self: start; }
.team-page .career-footer { margin: 0; background: var(--navy); border-top: 1px solid #ffffff15; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }

@media (min-width: 1024px) and (max-width: 1150px) {
    .team-page .career-nav { gap: 0.5rem; padding-inline: 0.75rem; }
    .team-page .career-desktop-nav a { padding-inline: 0.5rem; }
    .team-page .career-nav-cta { padding-inline: 0.9rem; }
}
@media (max-width: 900px) {
    .team-hero { align-items: start; padding: 98px 0 24px; }
    .team-layout { grid-template-columns: 1fr; gap: 20px; }
    .team-intro { display: grid; grid-template-columns: 1fr 1fr; column-gap: 24px; align-items: end; padding: 0; }
    .team-eyebrow { grid-column: 1 / -1; justify-self: start; margin-bottom: 12px; padding: 6px 11px; font-size: 0.75rem; }
    .team-intro h1 { font-size: clamp(1.9rem, 4.5vw, 2.5rem); }
    .team-intro-copy { margin: 0; font-size: 1rem; line-height: 1.6; }
    .team-signature { display: none; }
    .album-photo { height: clamp(160px, calc(100svh - 540px), 400px); }
    .album-thumbnails { gap: 8px; margin-top: 12px; }
    .album-thumbnail img, .album-crop-preview { height: clamp(42px, 7.5svh, 72px); }
}
@media (max-width: 560px) {
    .team-page .section-shell { width: calc(100% - 24px); }
    .team-hero { padding: 86px 0 16px; }
    .team-layout { gap: 14px; }
    .team-intro { display: block; }
    .team-eyebrow { margin-bottom: 8px; padding: 5px 10px; }
    .team-intro h1 { font-size: clamp(1.7rem, 6.5vw, 2.2rem); line-height: 1.1; }
    .team-intro h1 br { display: none; }
    .team-intro h1 span::before { content: " "; }
    .team-intro-copy { margin-top: 9px; max-width: none; font-size: 1rem; line-height: 1.45; }
    .album-frame { padding: 6px 6px 0; border-radius: 21px; }
    .album-window, .album-photo { border-radius: 15px; }
    .album-photo { height: clamp(145px, calc(100svh - 465px), 350px); }
    .album-slide figcaption { padding: 10px 8px 0; }
    .album-slide h2 { font-size: 1rem; }
    .album-toolbar { padding: 5px 6px 7px; }
    .album-controls { gap: 5px; }
    .album-thumbnails { gap: 6px; margin-top: 10px; }
    .album-thumbnail { padding: 3px; border-radius: 10px; }
    .album-thumbnail img, .album-crop-preview { height: clamp(42px, 7svh, 62px); border-radius: 6px; }
    .album-thumbnail > span { display: none; }
}
@media (max-width: 760px) {
    .nicat-section { padding-block: 54px; }
    .nicat-heading { gap: 10px; margin-bottom: 24px; }
    .nicat-heading > span { width: 28px; }
    .nicat-gallery { grid-template-columns: 1fr; }
    .nicat-photo--presentation { width: min(100%, 440px); justify-self: center; }
}
@media (max-height: 650px) and (min-width: 901px) {
    .team-hero { padding-top: 94px; padding-bottom: 16px; }
    .album-photo { height: max(130px, calc(100svh - 350px)); }
    .team-intro h1 { font-size: 2.4rem; }
    .team-intro-copy { margin-top: 14px; }
    .album-thumbnail img, .album-crop-preview { height: 42px; }
}
@media (max-height: 650px) and (max-width: 560px) {
    .team-intro-copy { display: none; }
    .album-photo { height: max(130px, calc(100svh - 405px)); }
}
@media (max-height: 500px) and (min-width: 561px) {
    .team-hero { padding-top: 82px; padding-bottom: 10px; }
    .team-layout { grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.8fr); gap: 20px; }
    .team-intro { display: block; }
    .team-intro h1 { font-size: 1.8rem; }
    .team-eyebrow { margin-bottom: 12px; font-size: 0.75rem; }
    .team-intro-copy, .team-signature { display: none; }
    .album-photo { height: max(80px, calc(100svh - 295px)); }
    .album-slide figcaption { padding: 6px 8px 0; }
    .album-slide figcaption > span, .album-thumbnail > span { display: none; }
    .album-slide h2 { margin: 0; font-size: 0.875rem; }
    .album-toolbar { padding-block: 3px 5px; }
    .album-thumbnails { margin-top: 8px; }
    .album-thumbnail img, .album-crop-preview { height: 36px; }
}

@media (prefers-reduced-motion: reduce) {
    .team-page *, .team-page *::before, .team-page *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
