/* Portrait-led leadership, with a steady, calm layout. */
.company-page .team-section{padding-top:90px;padding-bottom:120px;background:#f7f8fa;color:#0f1f3d}
.team-roster-heading{max-width:1500px;margin:0 auto;padding:0 0 26px;display:flex;justify-content:space-between;align-items:baseline;gap:24px;border-bottom:1px solid #cbd2de}
.team-roster-heading .eyebrow{font-size:clamp(26px,3vw,40px);font-weight:400;letter-spacing:-.03em;text-transform:none;color:#0f1f3d;margin:0}
.team-roster-heading>span{font-size:16px;color:#566780;line-height:1.6}
.team-portrait-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(20px,2.5vw,44px);max-width:1500px;margin:66px auto 110px;align-items:start}
.team-portrait-grid:last-child{margin-bottom:0}
.team-roster-card{min-width:0;padding:0;border:0;background:transparent;will-change:auto}
.team-roster-open{display:block;width:100%;padding:0;border:0;border-radius:0;background:transparent;color:inherit;text-align:left;font:inherit;cursor:pointer}
.team-roster-image{margin:0 0 24px;aspect-ratio:4/5;overflow:hidden;background:#e8edf3;display:flex;align-items:flex-end;padding:18px 10px 0}
.team-roster-image img{display:block;width:100%;height:100%;object-fit:contain;object-position:center bottom;transition:transform .65s cubic-bezier(.2,.8,.2,1)}
.company-page .team-roster-card h2{font-size:clamp(20px,1.65vw,27px);font-weight:400;line-height:1.3;letter-spacing:-.025em;margin:0;color:#0f1f3d;text-wrap:pretty}
.team-roster-card .team-role{font-size:15px;line-height:1.6;color:#566780;margin:10px 0 0}
.team-roster-link{display:block;font-size:14px;color:#1754b9;margin-top:22px;padding-top:16px;border-top:1px solid #cbd2de}
.team-roster-open:focus-visible{outline:2px solid #1763e8;outline-offset:8px}
@media(hover:hover){.team-roster-open:hover .team-roster-link{color:#093ce0}}
.team-bio-dialog{position:fixed;inset:0 0 0 auto;margin:0;border:0;padding:0;width:min(680px,90vw);max-width:100%;height:100dvh;max-height:100dvh;background:#f7f8fa;color:#0f1f3d;overflow-y:auto;overscroll-behavior:contain}
.team-bio-dialog::backdrop{background:rgba(8,22,44,.65)}
.team-bio-panel{padding:32px clamp(24px,5vw,64px) 64px;min-height:100%;box-sizing:border-box}
.team-bio-close{display:flex;align-items:center;gap:18px;margin:0 0 28px auto;background:transparent;border:0;padding:12px 0;color:#0f1f3d;font:inherit;font-size:16px;cursor:pointer}
.team-bio-close span{font-size:28px;line-height:1}
.team-bio-close:focus-visible{outline:2px solid #1763e8;outline-offset:5px}
.team-bio-image{display:block;width:100%;height:clamp(260px,42vh,440px);object-fit:contain;object-position:center bottom;background:#e8edf3;padding-top:16px;box-sizing:border-box}
.team-bio-dialog .team-profile-copy{display:block;background:transparent;border:0;padding:30px 0 0}
.team-bio-dialog .team-index{display:block;font-size:13px;color:#64728a;margin-bottom:20px;letter-spacing:.08em;text-transform:uppercase}
.team-bio-dialog h2{font-size:clamp(28px,3vw,40px);font-weight:400;line-height:1.2;letter-spacing:-.03em;margin:0;color:#0f1f3d}
.team-bio-dialog .team-role{font-size:16px;line-height:1.6;color:#1754b9;margin:16px 0}
.team-bio-dialog .team-bio{font-size:17px;line-height:1.85;color:#4d5e77;margin:24px 0 0}
@media(min-width:761px) and (max-width:1100px){.team-portrait-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:64px 32px}.team-roster-card h2{font-size:26px}}
@media(max-width:760px){.company-page .team-section{padding-top:48px;padding-bottom:64px}.team-roster-heading{display:block}.team-roster-heading>span{display:block;margin-top:12px}.team-portrait-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 20px;margin:32px auto 64px}.team-roster-card{transform:none!important;will-change:auto}.team-roster-image{padding:10px 4px 0;margin-bottom:18px}.company-page .team-roster-card h2{font-size:20px}.team-roster-card .team-role{font-size:14px}.team-roster-link{font-size:14px;margin-top:16px}.team-bio-dialog{width:100vw}.team-bio-panel{padding:20px 24px 48px}}
@media(max-width:420px){.team-portrait-grid{grid-template-columns:1fr;gap:40px}.team-roster-image{aspect-ratio:1/1.12}.company-page .team-roster-card h2{font-size:25px}}
@media(prefers-reduced-motion:reduce){.team-roster-card{transform:none!important;will-change:auto}.team-roster-image img{transition:none;transform:none!important}}
.motion-paused .team-roster-card{transform:none!important}.motion-paused .team-roster-image img{transition:none;transform:none!important}

/* Three coherent columns: each portrait and its labels share column motion. */
.team-column-roster{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(28px,4vw,68px);max-width:1500px;margin:20px auto 0;align-items:start}
.team-scroll-column{display:flex;flex-direction:column;gap:62px;min-width:0;will-change:transform}
.company-page .team-column-title{font-size:clamp(24px,2.4vw,34px);font-weight:400;line-height:1.2;letter-spacing:-.03em;margin:0 0 -20px;padding-bottom:22px;border-bottom:1px solid #cbd2de;color:#0f1f3d}
.team-column-roster .team-roster-image{aspect-ratio:4/4.7}
.team-column-roster .team-roster-card{transform:none!important;will-change:auto}
@media(max-width:900px){.team-column-roster{grid-template-columns:1fr;gap:52px;margin-top:0}.team-scroll-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;transform:none!important;will-change:auto}.company-page .team-column-title{grid-column:1/-1;margin:0}.team-scroll-column:nth-child(2) .team-column-title{display:none}}
@media(max-width:480px){.team-scroll-column{grid-template-columns:1fr;gap:40px}.team-column-roster .team-roster-image{aspect-ratio:1/1.12}}
@media(prefers-reduced-motion:reduce){.team-scroll-column{transform:none!important;will-change:auto}}
.motion-paused .team-scroll-column{transform:none!important;will-change:auto}
/* Return the roster to KADE's navy palette, with more restrained portraits. */
.company-page .team-section{background:#08162c;color:#eaf1fa;padding-top:70px;padding-bottom:90px}
.team-column-roster{max-width:1160px;gap:clamp(26px,4vw,60px)}
.team-scroll-column{gap:48px}
.company-page .team-column-title{color:#eaf1fa;border-color:#30425b;font-size:clamp(23px,2vw,30px)}
.team-column-roster .team-roster-image{background:#10233d;aspect-ratio:4/4.4;padding:16px 10px 0;margin-bottom:20px}
.company-page .team-roster-card h2{color:#eaf1fa;font-size:clamp(20px,1.55vw,25px)}
.team-section .team-roster-card .team-role{color:#aebed3;font-size:15px}
.team-roster-link{color:#94b9ef;border-color:#30425b}
@media(hover:hover){.team-roster-open:hover .team-roster-link{color:#c8dcff}}
.team-roster-open:focus-visible{outline-color:#94b9ef}
#sami-zaitoon .team-roster-image img{width:84%;height:84%;margin-inline:auto;object-position:center bottom}
.team-bio-dialog{background:#08162c;color:#eaf1fa}
.team-bio-close,.team-bio-dialog h2{color:#eaf1fa}
.team-bio-image{background:#10233d}
.team-bio-dialog .team-index{color:#aebed3}
.team-bio-dialog .team-role{color:#94b9ef}
.team-bio-dialog .team-bio{color:#c0cde0}
.team-bio-image[src*="sami-zaitoon"]{object-fit:contain;padding:48px 32px 0}
@media(max-width:900px){.company-page .team-section{padding-top:48px;padding-bottom:64px}.team-column-roster{max-width:680px}.team-scroll-column{gap:32px}.team-column-roster .team-roster-image{aspect-ratio:4/4.4}}
@media(max-width:480px){.team-column-roster{max-width:310px}.team-scroll-column{gap:40px}}

/* Layered portrait and identity surfaces, kept within the navy page. */
.team-roster-open{border-radius:18px;background:transparent}
.team-column-roster .team-roster-image{position:relative;z-index:1;background:#e8edf3;border-radius:18px;margin-bottom:0;overflow:hidden}
.team-roster-caption{position:relative;background:#17499a;margin-top:-18px;padding:42px 24px 24px;border-radius:0 0 18px 18px;min-height:180px;box-sizing:border-box}
.company-page .team-roster-caption h2{color:#fff;font-size:clamp(21px,1.65vw,26px);line-height:1.28;font-weight:400;letter-spacing:-.025em}
.team-section .team-roster-caption .team-role{color:#cbdcff;font-size:14px;line-height:1.6;margin-top:12px}
.team-roster-caption .team-roster-link{color:#e1ebff;border-color:#ffffff30;padding-top:15px;margin-top:22px;font-size:14px}
@media(hover:hover){.team-roster-open:hover .team-roster-link{color:#fff;border-color:#ffffff60}}
.team-roster-open:focus-visible{outline:2px solid #b5d0ff;outline-offset:6px}
.team-bio-image{background:#e8edf3;border-radius:14px}
@media(min-width:901px){.team-scroll-column:nth-child(2){padding-top:36px}.team-scroll-column:nth-child(3){padding-top:72px}}
@media(max-width:900px){.team-roster-caption{padding:38px 20px 22px;min-height:0}}

/* Give the source portraits breathing room without cropping or enlarging faces. */
.company-page .team-roster-overview{max-width:1080px;margin:0 auto 44px;padding-bottom:22px;border-bottom:1px solid #30425b;color:#eaf1fa;font-size:clamp(24px,2.4vw,32px);font-weight:400;letter-spacing:-.025em}
.team-column-roster{max-width:1080px}
.team-column-roster .team-roster-image{aspect-ratio:1/1.04;padding:20px 20px 0;box-sizing:border-box;justify-content:center}
.team-column-roster .team-roster-image img{width:90%;height:90%;max-width:100%;min-width:0;flex:none;object-fit:contain;object-position:center bottom;margin-inline:auto;transform:none}
#sami-zaitoon .team-roster-image img{width:80%;height:80%}
.team-roster-caption{padding:38px 22px 23px;min-height:148px;box-shadow:inset 0 -1px 0 #ffffff12;transition:background-color .25s ease}
.company-page .team-roster-caption h2{font-size:clamp(21px,1.6vw,25px);line-height:1.3}
.team-section .team-roster-caption .team-role{margin-top:9px}
@media(hover:hover){.team-roster-open:hover .team-roster-caption{background:#1c53a8}}
.team-bio-image{padding:24px 28px 0;object-fit:contain;object-position:center bottom}
@media(max-width:900px){.team-column-roster,.company-page .team-roster-overview{max-width:680px}.team-roster-caption{min-height:140px}}
@media(max-width:480px){.team-column-roster,.company-page .team-roster-overview{max-width:300px}.team-roster-caption{min-height:0}}
@media(prefers-reduced-motion:reduce){.team-roster-caption{transition:none}}

/* Extended source portraits include the whole shoulder contour within the frame. */
.team-column-roster .team-roster-image{aspect-ratio:1;padding:0}
.team-column-roster .team-roster-image img,
#sami-zaitoon .team-roster-image img{width:100%;height:100%;margin:0;object-fit:contain;object-position:center bottom}
.team-bio-image,.team-bio-image[src*="sami-zaitoon"]{height:auto;max-height:none;aspect-ratio:1;object-fit:contain;padding:0}

/* Match the four wider portraits to Mohamed and Sami's closer framing. */
img[src*="mark-wehbe-shoulders"]{--portrait-zoom:1.10}
img[src*="sheikh-jassim-shoulders"]{--portrait-zoom:1.16}
img[src*="karim-khayat-shoulders"]{--portrait-zoom:1.14}
img[src*="fouad-al-abdulmajeed-shoulders"]{--portrait-zoom:1.12}
.team-column-roster .team-roster-image img{transform:scale(var(--portrait-zoom,1))!important;transform-origin:50% 18%;transition:none}
.team-bio-portrait{aspect-ratio:1;overflow:hidden;border-radius:14px;background:#e8edf3}
.team-bio-portrait .team-bio-image{display:block;width:100%;height:100%;border-radius:0;transform:scale(var(--portrait-zoom,1));transform-origin:50% 18%}
