.team-page { --team-navy:#00367c; --team-blue:#086ca9; --team-orange:#f58220; color:#273e52; }
.team-page :is(a,button,[tabindex]):focus-visible { outline:3px solid #086ca9; outline-offset:5px; }
.team-page .team-hero { --portrait-background:#e5f4fc; background:var(--team-navy); padding:28px 0 0; overflow:hidden; }
.team-page .team-hero-grid { position:relative; isolation:isolate; display:grid; grid-template-columns:minmax(0,1fr) calc((100% - 40px)*.575); gap:120px; align-items:center; }
.team-page .team-hero-grid::before { content:''; position:absolute; z-index:-1; top:-28px; bottom:0; left:calc((100% - 40px)*.425 - 80px); right:calc((100% - 100vw)/2); background:linear-gradient(90deg,var(--team-navy) 0px,#174983 32px,#587fa5 72px,#b4cddd 120px,var(--portrait-background) 160px); }
.team-page .team-hero-copy { padding-bottom:28px; }
.team-page .team-hero-copy h1 { max-width:450px; margin:12px 0 18px; font-size:clamp(32px,3.5vw,48px); line-height:1.15; letter-spacing:-1.5px; color:#fff; }
.team-page .team-hero-copy h1 em { display:block; white-space:nowrap; color:var(--team-orange); font-style:normal; }
.team-page .team-hero-copy>p:not(.eyebrow) { color:#fff; font-size:18px; line-height:1.65; margin:0 0 24px; max-width:460px; }
.team-page .team-hero .eyebrow { color:#fff; }
.team-page .team-hero .button:focus-visible { outline:3px solid #fff; outline-offset:5px; }
.team-page .eyebrow { color:var(--team-blue); font-size:14px; margin:0 0 8px; }
.team-page .team-hero-photo { border-radius:18px; overflow:hidden; border-bottom:5px solid var(--team-orange); }
.team-page .team-hero-photo img { width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; object-position:center; }
.team-page .team-hero-photo.team-group-cutout { align-self:end; aspect-ratio:1.45; border:0; border-radius:0; overflow:hidden; }
.team-page .team-hero-photo.team-group-cutout img { display:block; width:100%; height:auto; max-height:none; aspect-ratio:auto; }
.team-page .team-hero-photo.team-group-portrait { align-self:end; aspect-ratio:3/2; border:0; border-radius:0; }
.team-page .team-hero-photo.team-group-portrait img { display:block; width:100%; height:auto; max-height:none; aspect-ratio:3/2; object-fit:contain; mask-image:linear-gradient(90deg,transparent,#000 7%,#000 97%,transparent),linear-gradient(180deg,transparent,#000 4%); mask-composite:intersect; }
.team-page .button { gap:12px; }
.team-page .team-hero .button,.team-page .team-cta .button:not(.button-outline-light) { background:var(--team-orange); color:#002653; }
.team-page .profiles-section { padding:48px 0 56px; scroll-margin-top:110px; background:#fff; }
.team-page .profiles-section .team-section-heading { text-align:center; }
.team-page .team-section-heading { margin:0 0 26px; }
.team-page .team-section-heading h2 { margin:0; color:var(--team-navy); font-size:clamp(28px,3vw,36px); letter-spacing:-1px; line-height:1.25; }
.team-page .team-profile-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-rows:1fr; gap:28px; max-width:1040px; margin:auto; }
.team-page .team-profile { display:flex; flex-direction:column; min-width:0; border:1px solid #dedede; border-radius:18px; overflow:hidden; box-shadow:0 4px 16px #00367c0d; background:#fff; transition:border-color .2s ease,box-shadow .2s ease; }
.team-page .team-profile:hover { border-color:var(--green); box-shadow:0 8px 24px #00367c1a; }
@media(prefers-reduced-motion:reduce) { .team-page .team-profile { transition:none; } }
.team-page .profile-visual { position:relative; isolation:isolate; height:320px; flex:0 0 320px; overflow:hidden; background:radial-gradient(ellipse at 50% 32%,#fff 0%,#ffffffd9 20%,#ffffff00 70%),linear-gradient(145deg,var(--cream),#70c9f24d); }
/* Quiet, embracing curves echo the logo and sit behind the original portraits. */
.team-page .profile-visual::before,.team-page .profile-visual::after { content:''; position:absolute; z-index:0; width:78%; height:115%; border:28px solid #0b71b908; border-radius:50%; pointer-events:none; }
.team-page .profile-visual::before { left:-40%; top:10%; transform:rotate(-28deg); }
.team-page .profile-visual::after { right:-42%; top:38%; transform:rotate(28deg); border-color:#0b71b90a; }
.team-page .profile-photo { position:absolute; z-index:1; height:480px; width:auto; max-width:none; top:-40px; left:50%; transform:translateX(-50%); }
.team-page .portrait-kudrat { height:400px; top:0; }
.team-page .portrait-fiona,.team-page .portrait-natalie { display:block; width:100%; max-width:100%; height:100%; top:0; object-fit:contain; object-position:center bottom; }
.team-page .profile-placeholder { position:relative; z-index:1; height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px; }
.team-page .profile-placeholder span { display:grid; place-items:center; width:140px; height:140px; border:2px solid #fff; border-radius:50%; background:#fff9; font:600 64px 'Manrope',sans-serif; color:var(--team-navy); }
.team-page .profile-placeholder p { margin:0; color:#375a74; font-size:16px; }
.team-page .profile-copy { position:relative; display:flex; flex-direction:column; flex:1; padding:26px 30px 22px; background:var(--deep); color:#fff; }
.team-page .profile-copy::before { content:''; position:absolute; top:0; left:30px; height:4px; width:44px; background:var(--gold); border-radius:0 0 3px 3px; }
.team-page .profile-copy h3 { margin:0 0 3px; color:#fff; font:700 27px/1.25 'Manrope',sans-serif; }
.team-page .profile-position { color:var(--lime); font-size:16px; font-weight:700; margin:0 0 14px; }
.team-page .profile-description { color:#fff; font-size:16px; line-height:1.65; margin:0 0 20px; }
.team-page .profile-view-button { display:flex; align-items:center; justify-content:space-between; gap:20px; width:100%; margin-top:auto; padding:14px 0 0; border:0; border-top:1px solid #ffffff40; background:transparent; color:#fff; font:700 16px/1.5 'DM Sans',sans-serif; cursor:pointer; text-align:left; min-height:44px; }
.team-page .profile-view-button span { color:var(--gold); font-size:23px; }
.team-page .profile-view-button:hover { color:var(--gold); background:transparent; text-decoration:none; }
.team-page .profile-view-button:focus-visible { outline:3px solid var(--gold); outline-offset:5px; border-radius:3px; }
.team-page .team-values { padding:48px 0; background:#f2f7fb; }
.team-page .team-value-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; }
.team-page .team-value-grid span { color:#ae4900; font-weight:700; font-size:16px; }
.team-page .team-value-grid h3 { font:700 19px 'Manrope',sans-serif; color:var(--team-navy); margin:10px 0; }
.team-page .team-value-grid p { font-size:16px; margin:0; }
.team-page .team-cta { padding:44px 0; background:var(--team-navy); color:#fff; }
.team-page .team-cta-inner { display:flex; justify-content:space-between; align-items:center; gap:32px; }
.team-page .team-cta h2 { font-size:28px; line-height:1.25; margin:0 0 12px; letter-spacing:-.6px; }
.team-page .team-cta p { max-width:540px; margin:0; font-size:16px; }
.team-page .team-cta-actions { display:flex; flex-wrap:wrap; gap:12px; flex-shrink:0; }
.team-page .team-cta .button-outline-light { border:1px solid #fff; color:#fff; background:transparent; }
.team-page :is(.team-cta,.footer) :is(a,button):focus-visible { outline-color:#ffbe80; }
.team-page.biography-open { overflow:hidden; }
.team-page .team-dialog { width:min(680px,calc(100% - 32px)); max-height:85vh; max-height:85dvh; padding:0; border:0; border-radius:18px; color:#273e52; background:#fff; box-shadow:0 24px 100px #001b4260; overscroll-behavior:contain; }
.team-page .team-dialog::backdrop { background:#001c42b8; }
.team-page .team-dialog-header { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; position:sticky; top:0; padding:26px 30px 20px; border-bottom:1px solid #dce6ee; border-top:5px solid var(--team-orange); background:#fff; }
.team-page .team-dialog h2 { color:var(--team-navy); font:700 30px/1.25 'Manrope',sans-serif; margin:0 0 5px; }
.team-page #team-dialog-role { color:var(--team-blue); margin:0; font-size:16px; font-weight:700; }
.team-page .team-dialog-close { flex-shrink:0; display:flex; align-items:center; gap:10px; min-height:44px; padding:8px 12px; border:1px solid #c5d7e6; border-radius:7px; background:#edf5fa; color:var(--team-navy); font:700 16px 'DM Sans',sans-serif; cursor:pointer; }
.team-page .team-dialog-close span { font-size:24px; }
.team-page .team-dialog-body { padding:22px 30px 30px; }
.team-page .team-dialog-body p { font-size:17px; line-height:1.75; margin:0 0 18px; }
.team-page .team-dialog-body p:last-child { margin-bottom:0; }
@media(max-width:1000px) { .team-page .team-hero-grid { gap:64px; grid-template-columns:minmax(0,1fr) calc((100% - 26px)*1.15/2.15); } .team-page .team-hero-copy>p:not(.eyebrow) { font-size:16px; } .team-page .team-cta-inner { align-items:flex-start; flex-direction:column; } .team-page .team-value-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:700px) { .team-page .team-hero { padding:24px 0; } .team-page .team-hero-grid { grid-template-columns:1fr; gap:24px; } .team-page .team-hero-copy h1 { font-size:clamp(28px,8.7vw,34px); max-width:360px; } .team-page .team-hero-copy>p:not(.eyebrow) { max-width:none; margin-bottom:18px; } .team-page .team-hero-photo img { aspect-ratio:4/3; } .team-page .profiles-section { padding:32px 0 36px; scroll-margin-top:90px; } .team-page .team-profile-grid { grid-template-columns:1fr; gap:24px; } .team-page .profile-visual { height:300px; flex-basis:300px; } .team-page .profile-copy { padding:24px; } .team-page .profile-copy::before { left:24px; } .team-page .team-values { padding:36px 0; } .team-page .team-value-grid { gap:24px; } .team-page .team-cta { padding:36px 0; } .team-page .team-cta-actions { flex-direction:column; width:100%; } .team-page .team-cta-actions .button { justify-content:center; } .team-page .team-dialog-header { padding:20px 18px 16px; gap:12px; } .team-page .team-dialog-body { padding:20px 18px; } .team-page .team-dialog h2 { font-size:26px; } }
@media(max-width:360px) { .team-page .team-value-grid { grid-template-columns:1fr; } }
@media(prefers-reduced-motion:reduce) { html:has(.team-page) { scroll-behavior:auto; } }

/* Team hierarchy: manager above coordinators/intake, administration below. */
@media(min-width:701px) and (max-width:1000px){
  .team-page .team-hero-grid::before{left:calc((100% - 26px)/2.15 - 38px);background:linear-gradient(90deg,var(--team-navy),#587fa5 48px,#b4cddd 78px,var(--portrait-background) 100px)}
}
@media(max-width:700px){
  .team-page .team-hero{padding:24px 0 0;background:var(--portrait-background)}
  .team-page .team-hero-grid::before{display:none}
  .team-page .team-hero-grid{gap:20px}
  .team-page .team-hero-copy{position:relative;padding-bottom:0}
  .team-page .team-hero-copy::before{content:'';position:absolute;z-index:-1;top:-24px;bottom:-20px;left:calc((100% - 100vw)/2);right:calc((100% - 100vw)/2);background:linear-gradient(180deg,var(--team-navy) calc(100% - 20px),var(--portrait-background))}
}
@media(min-width:701px){
  .team-page .team-profile:first-child,
  .team-page .team-profile:last-child{grid-column:1 / -1;width:calc((100% - 28px) / 2);justify-self:center}
}

.team-page .team-values,.team-page .team-cta { margin-bottom:48px; }
@media(max-width:700px) { .team-page .team-values,.team-page .team-cta { margin-bottom:32px; } }
