.team-page {
    min-width: 320px;
    overflow-x: clip;
    background: var(--surface-page, #f9f7f3);
    color: var(--text-primary, #00003f);
}

.team-main { overflow: clip; }
.team-container { width: min(100% - (2 * var(--container-pad)), 1240px); margin-inline: auto; }
.team-eyebrow { margin: 0; color: var(--accent-primary, #0547cc); font: var(--text-eyebrow); font-weight: 650; letter-spacing: var(--tracking-eyebrow); text-transform: uppercase; }

.team-hero {
    position: relative;
    display: grid;
    min-height: 100svh;
    align-items: center;
    padding: clamp(8rem, 14vw, 11rem) 0 clamp(5rem, 8vw, 8rem);
}

.team-hero::before,
.team-hero::after {
    position: absolute;
    z-index: -1;
    width: 30rem;
    height: 30rem;
    border-radius: 50%;
    background: rgb(22 121 239 / 8%);
    filter: blur(7rem);
    content: "";
}

.team-hero::before { top: -14rem; right: -8rem; }
.team-hero::after { bottom: -12rem; left: -18rem; opacity: .7; }
.team-hero__inner { display: grid; grid-template-columns: minmax(0, 1.06fr) minmax(24rem, .94fr); align-items: center; gap: clamp(3rem, 7vw, 7rem); }
.team-hero__copy { max-width: 47rem; }
.team-hero h1 { max-width: 9ch; margin: 1rem 0 1.5rem; font-size: clamp(4rem, 8vw, 7.5rem); font-weight: 430; letter-spacing: -.065em; line-height: .89; text-wrap: balance; }
.team-hero h1 span { color: var(--accent-primary, #0547cc); }
.team-hero__lead { max-width: 42rem; margin: 0; color: var(--text-secondary, #3a3a58); font-size: clamp(1.05rem, 1.5vw, 1.3rem); line-height: 1.65; text-wrap: pretty; }
.team-hero__stats { display: flex; gap: clamp(2rem, 5vw, 4rem); margin-top: 2.5rem; }
.team-hero__stats div { display: grid; gap: .35rem; }
.team-hero__stats strong { font-size: clamp(2rem, 4vw, 3.4rem); font-weight: 520; letter-spacing: -.05em; line-height: 1; font-variant-numeric: tabular-nums; }
.team-hero__stats span { color: var(--text-secondary); font-size: .85rem; }

.team-hero__portrait { min-height: clamp(28rem, 44vw, 36rem); border-radius: var(--squircle-wide); }
.team-hero__portrait::after { background: radial-gradient(420px circle at var(--spot-x) var(--spot-y), rgb(22 121 239 / var(--cursor-alpha)), transparent 65%), rgb(255 255 255 / 67%); backdrop-filter: blur(18px) saturate(125%); }
.team-hero__photo { position: absolute; z-index: 2; overflow: hidden; margin: 0; border: 5px solid rgb(255 255 255 / 85%); background: #080b16; box-shadow: 0 1.4rem 3rem rgb(0 0 63 / 16%); }
.team-hero__photo img { width: 100%; height: 100%; object-fit: cover; }
.team-hero__photo--one { top: 9%; left: 8%; width: 46%; aspect-ratio: .9; border-radius: 38% 38% 32% 32%; transform: rotate(-5deg); }
.team-hero__photo--one img { object-fit: contain; transform: translateY(20%) scale(1.52); }
.team-hero__photo--two { top: 14%; right: 8%; width: 39%; aspect-ratio: .82; border-radius: 36% 36% 30% 30%; transform: rotate(5deg); }
.team-hero__photo--two img { object-fit: contain; transform: translateY(18%) scale(1.48); }
.team-hero__photo--three { right: 18%; bottom: 9%; width: 48%; aspect-ratio: 1.2; border-radius: 32%; transform: rotate(-2deg); }
.team-hero__photo--three img { transform: scale(1.18); }
.team-hero__badge { position: absolute; z-index: 3; bottom: 7%; left: 7%; max-width: 13rem; padding: .8rem 1rem; border: 1px solid rgb(5 71 204 / 14%); border-radius: var(--squircle-control); background: rgb(255 255 255 / 90%); box-shadow: 0 .8rem 2rem rgb(0 0 63 / 9%); color: var(--text-primary); font-size: .82rem; font-weight: 620; line-height: 1.35; }

.team-roster { padding: clamp(6rem, 11vw, 10rem) 0; }
.team-section-head { display: grid; max-width: 52rem; gap: 1rem; margin-bottom: clamp(5rem, 9vw, 8rem); }
.team-section-head h2 { max-width: 14ch; margin: 0; font-size: clamp(2.8rem, 6vw, 5.6rem); font-weight: 430; letter-spacing: -.055em; line-height: .98; text-wrap: balance; }
.team-section-head > p:last-child { max-width: 39rem; margin: 0; color: var(--text-secondary); font-size: 1.05rem; line-height: 1.65; }
.team-group + .team-group { margin-top: clamp(5rem, 9vw, 8rem); }
.team-group__head { display: grid; grid-template-columns: 3rem 1fr; align-items: center; gap: 1rem; margin-bottom: 1.5rem; }
.team-group__head span { display: grid; width: 3rem; height: 3rem; place-items: center; border: 1px solid rgb(5 71 204 / 18%); border-radius: var(--squircle-control); background: rgb(255 255 255 / 72%); color: var(--accent-primary); font-size: .75rem; font-weight: 700; font-variant-numeric: tabular-nums; }
.team-group__head h3 { margin: 0; font-size: clamp(1.6rem, 3vw, 2.5rem); font-weight: 480; letter-spacing: -.035em; }
.team-grid { display: grid; gap: clamp(1.25rem, 2.5vw, 2rem); }
.team-grid--leadership, .team-grid--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.team-grid--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.team-grid--single { grid-template-columns: minmax(0, 48rem); }

.team-card { min-width: 0; min-height: 100%; border-radius: var(--squircle-wide); color: var(--text-primary); text-decoration: none; }
.team-card:focus-visible { outline: 3px solid color-mix(in srgb, var(--focus-ring) 72%, transparent); outline-offset: 5px; }
.team-card__photo { overflow: hidden; aspect-ratio: 4 / 5; min-height: 15.5rem; margin: 1px 1px 0; border-radius: calc(var(--squircle-wide) - 1px) calc(var(--squircle-wide) - 1px) 1.5rem 1.5rem; background: #e6eaf1; }
.team-card__photo img { display: block; width: 100%; height: 100%; min-height: inherit; object-fit: cover; object-position: center top; transition: transform .55s var(--ease-standard); }
.team-card__content { display: flex; min-height: 22rem; flex-direction: column; align-items: flex-start; padding: clamp(1.5rem, 3vw, 2.25rem); }
.team-card__role { margin: 0 0 .7rem; color: var(--accent-primary); font-size: .72rem !important; font-weight: 700; letter-spacing: .11em; line-height: 1.45 !important; text-transform: uppercase; }
.team-card h4 { margin: 0 0 1rem; font-size: clamp(1.5rem, 2.5vw, 2.15rem); font-weight: 500; letter-spacing: -.035em; line-height: 1.05; }
.team-card__content > p:not(.team-card__role) { margin: 0; color: var(--text-secondary); font-size: .94rem; line-height: 1.65; text-wrap: pretty; }
.team-card ul { display: flex; flex-wrap: wrap; gap: .45rem; margin: 1.4rem 0 1.6rem; padding: 0; list-style: none; }
.team-card li { padding: .4rem .65rem; border: 1px solid rgb(5 71 204 / 14%); border-radius: var(--squircle-control); background: rgb(22 121 239 / 6%); color: var(--text-secondary); font-size: .72rem; font-weight: 600; }
.team-card__link { display: inline-flex; align-items: center; gap: .4rem; margin-top: auto; color: var(--accent-primary); font-size: .84rem; font-weight: 650; }
.team-card__link span { transition: transform .2s ease; }
.team-card--navy { color: #fff; }
.team-card--navy .team-card__role, .team-card--navy .team-card__link { color: #9ac8ff; }
.team-card--navy .team-card__content > p:not(.team-card__role) { color: rgb(255 255 255 / 72%); }
.team-card--navy li { border-color: rgb(255 255 255 / 13%); background: rgb(255 255 255 / 8%); color: rgb(255 255 255 / 78%); }
.team-card--horizontal { display: grid; grid-template-columns: minmax(17rem, .8fr) minmax(0, 1.2fr); }
.team-card--horizontal .team-card__photo { aspect-ratio: auto; min-height: 100%; border-radius: calc(var(--squircle-wide) - 1px) 1.5rem 1.5rem calc(var(--squircle-wide) - 1px); }

.team-culture { padding: clamp(2rem, 5vw, 4rem) 0 clamp(7rem, 11vw, 11rem); }
.team-culture__panel { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(3rem, 7vw, 7rem); padding: clamp(2rem, 6vw, 5rem); border-radius: var(--squircle-wide); color: #fff; }
.team-culture__copy h2 { max-width: 11ch; margin: 1rem 0 1.3rem; font-size: clamp(2.7rem, 5vw, 5rem); font-weight: 430; letter-spacing: -.055em; line-height: .95; }
.team-culture__copy > p:last-child { max-width: 34rem; margin: 0; color: rgb(255 255 255 / 72%); font-size: 1.05rem; line-height: 1.65; }
.team-culture .team-eyebrow { color: #9ac8ff; }
.team-culture__principles { display: grid; align-content: center; gap: .7rem; margin: 0; padding: 0; list-style: none; }
.team-culture__principles li { display: grid; grid-template-columns: 3rem 1fr; align-items: center; gap: 1rem; min-height: 5rem; padding: 1rem 1.25rem; border: 1px solid rgb(255 255 255 / 11%); border-radius: var(--squircle-control); background: rgb(255 255 255 / 7%); color: rgb(255 255 255 / 84%); line-height: 1.45; }
.team-culture__principles span { color: #9ac8ff; font-size: .75rem; font-weight: 700; }
.team-culture__signature { grid-column: 1 / -1; margin: 0; color: rgb(255 255 255 / 48%); font-size: .75rem; font-weight: 650; letter-spacing: .2em; text-transform: uppercase; }
.team-culture__signature i { padding-inline: .65rem; color: #9ac8ff; font-style: normal; }

.team-final-cta { padding: 0 0 clamp(7rem, 12vw, 11rem); }
.team-final-cta__inner { display: grid; justify-items: start; padding: clamp(2.5rem, 7vw, 6rem); border: 1px solid rgb(5 71 204 / 12%); border-radius: var(--squircle-wide); background: radial-gradient(circle at 88% 12%, rgb(22 121 239 / 13%), transparent 33%), rgb(255 255 255 / 64%); box-shadow: 0 2rem 5rem rgb(0 0 63 / 8%); }
.team-final-cta h2 { max-width: 12ch; margin: 1rem 0 1.25rem; font-size: clamp(3rem, 6vw, 5.6rem); font-weight: 430; letter-spacing: -.055em; line-height: .95; }
.team-final-cta p:not(.team-eyebrow) { max-width: 41rem; margin: 0 0 2rem; color: var(--text-secondary); font-size: 1.05rem; line-height: 1.65; }
.team-page .whatsapp-fab { transition: opacity var(--duration-base) var(--ease-standard), visibility var(--duration-base) var(--ease-standard), transform var(--duration-base) var(--ease-standard); }
.team-page .whatsapp-fab.is-context-hidden { visibility: hidden; opacity: 0; pointer-events: none; transform: translateY(12px) scale(.9); }

.has-team-motion [data-reveal] { opacity: 0; transform: translateY(1.6rem); transition: opacity .7s var(--ease-standard), transform .7s var(--ease-standard); }
.has-team-motion [data-reveal].is-visible { opacity: 1; transform: translateY(0); }

@media (hover: hover) and (pointer: fine) {
    .team-card:hover { transform: translateY(-4px); }
    .team-card:hover .team-card__photo img { transform: scale(1.045); }
    .team-card:hover .team-card__link span { transform: translate(2px, -2px); }
}

@media (max-width: 980px) {
    .team-hero__inner { grid-template-columns: 1fr; }
    .team-hero__copy { max-width: 55rem; }
    .team-hero h1 { max-width: 10ch; }
    .team-hero__portrait { width: min(100%, 42rem); min-height: 32rem; }
    .team-grid--three { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .team-grid--three .team-card:last-child { grid-column: 1 / -1; width: calc(50% - .75rem); }
    .team-culture__panel { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
    .team-container { width: min(100% - 2rem, 1240px); }
    .team-hero { padding-top: 7.5rem; }
    .team-hero h1 { font-size: clamp(3.5rem, 18vw, 5.2rem); }
    .team-hero__stats { gap: 1.5rem; }
    .team-hero__portrait { min-height: 25rem; }
    .team-hero__badge { bottom: 4%; left: 4%; }
    .team-grid--leadership, .team-grid--two, .team-grid--three { grid-template-columns: 1fr; }
    .team-grid--three .team-card:last-child { grid-column: auto; width: auto; }
    .team-card--horizontal { grid-template-columns: 1fr; }
    .team-card--horizontal .team-card__photo { min-height: 16rem; border-radius: calc(var(--squircle-wide) - 1px) calc(var(--squircle-wide) - 1px) 1.5rem 1.5rem; }
    .team-card__content { min-height: auto; }
    .team-card__link { margin-top: 1rem; }
    .team-culture__panel { padding: 2rem 1.35rem; }
    .team-culture__principles li { grid-template-columns: 2.2rem 1fr; }
    .team-culture__signature { letter-spacing: .1em; }
}

@media (prefers-reduced-motion: reduce) {
    .has-team-motion [data-reveal] { opacity: 1; transform: none; transition: none; }
    .team-card, .team-card__photo img, .team-card__link span { transition: none; }
}
