/* Cinematic portrait triptych, using the approved photographs unchanged. */
.team-stage{--sky:#56aaff;--ice:#c9e8ff;position:relative;overflow:hidden;padding:100px 0 64px;background:radial-gradient(ellipse at 80% 45%,#123c6c85,transparent 58%)}
.team-stage-grid{display:grid;grid-template-columns:.95fr 1.25fr;align-items:center;gap:48px;min-height:640px}
.team-statement{position:relative;z-index:2;padding:24px 0}
.team-kicker{color:#8ac5ff;font-size:13px;margin-bottom:28px}
.team-statement :is(h1,h2){font-size:clamp(44px,4.7vw,68px);font-weight:700;line-height:1.08;letter-spacing:-.055em;max-width:none;color:#e8f3ff}
.team-intro{font-size:16px;line-height:1.8;max-width:36ch;margin:28px 0 30px;color:#adbed3}
.team-statement .button{gap:22px;box-shadow:0 8px 32px #248cff30}
.meet-link{display:flex;width:fit-content;align-items:center;gap:20px;padding:14px 0;margin-top:14px;font-size:13px;color:#bdcfe3;text-decoration:none}
.team-poster{position:relative;isolation:isolate;height:590px;display:flex;gap:5px;align-items:center;filter:drop-shadow(0 28px 24px #0008)}
.team-poster::before{content:'';position:absolute;inset:5% -15%;background:radial-gradient(ellipse,#1678d350,transparent 65%);z-index:-1}
.portrait-panel{position:relative;flex:1;min-width:0;height:91%;overflow:hidden;transform:skewY(-8deg);background:#0d284b;border-top:1px solid #9adeff;border-bottom:1px solid #3b83c2;box-shadow:inset 1px 0 #96d7ff88;text-decoration:none;transition:transform .35s ease,filter .35s ease}
.portrait-henrieta{height:100%}.portrait-miro{height:86%}
.portrait-panel img{position:absolute;max-width:none;width:200%;height:108%;left:-50%;top:-4%;object-fit:cover;object-position:50% 15%;transform:skewY(8deg);filter:saturate(.8)}
.portrait-stefan img{width:165%;left:-32.5%;object-position:50% 40%}
.portrait-henrieta img,.portrait-miro img{height:163%;top:0;object-position:center top}
.portrait-panel::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#051426 2%,#051426bb 17%,transparent 55%);pointer-events:none}
.portrait-caption{position:absolute;bottom:38px;left:20px;right:8px;z-index:1;transform:skewY(8deg);display:grid;gap:6px}
.portrait-caption strong{font-size:24px;font-weight:600;letter-spacing:-.04em;color:#f4f9ff}
.portrait-caption>span{font-size:11px;color:#a6d8ff}
.portrait-panel:hover,.portrait-panel:focus-visible{transform:skewY(-8deg) translateY(-8px);filter:brightness(1.12)}
.portrait-panel:focus-visible{outline:3px solid #b5e6ff;outline-offset:-4px}
.poster-signature{position:absolute;bottom:-42px;left:0;right:0;text-align:center;font-size:11px;letter-spacing:.04em;color:#8ea9c7}
.team-section{padding-top:80px}
.team-info h2{scroll-margin-top:110px;font-size:24px}
.team-info{display:flex;flex-direction:column}.team-email{margin-top:auto}
.team-photo img{object-position:50% 18%}
.team-card:first-child .team-photo img{object-position:50% 32%}
@media(min-width:981px){.team-card:not(:first-child) .team-photo img{height:210%;object-position:center top}}
@media(max-width:1000px){.team-stage-grid{gap:24px;grid-template-columns:1fr 1.1fr}.team-statement :is(h1,h2){font-size:46px}.team-poster{height:510px}.portrait-caption{left:12px}.portrait-caption strong{font-size:21px}}
@media(max-width:760px){.team-stage{padding:100px 0 65px}.team-stage-grid{grid-template-columns:1fr;gap:36px}.team-statement{padding:0}.team-statement :is(h1,h2){font-size:clamp(40px,8vw,58px)}.team-intro{max-width:48ch}.team-poster{height:490px;width:min(100%,560px);margin:0 auto}.portrait-panel img{width:180%;left:-40%}.portrait-stefan img{width:165%;left:-32.5%}.team-section{padding-top:48px}.team-card:not(:first-child) .team-photo img{height:210%;object-position:center top}}
@media(max-width:400px){.team-poster{height:390px}.portrait-caption{left:9px;bottom:28px}.portrait-caption strong{font-size:18px}.portrait-caption>span{font-size:10px}.team-statement .button{font-size:13px;padding-inline:18px}}
@media(prefers-reduced-motion:reduce){.portrait-panel{transition:none}.portrait-panel:hover,.portrait-panel:focus-visible{transform:skewY(-8deg)}}
/* Balance a headshot with the two longer portraits. */
@media(min-width:761px){.team-stage{padding-top:54px;padding-bottom:70px}.team-stage-grid{min-height:540px}.team-poster{height:500px}}
.portrait-stefan{background:radial-gradient(ellipse at 50% 30%,#153c65,#071627 75%)}
.portrait-stefan img{width:100%;left:0;height:auto;top:30px;object-fit:contain;mask-image:linear-gradient(#000 65%,transparent 100%)}

.portrait-stefan img{mask-image:linear-gradient(transparent,#000 10%,#000 65%,transparent 100%)}
/* Blue glass frames echo the service panels. */
.team-poster{gap:12px;perspective:1200px}
.portrait-panel{border:1px solid #64b9ee80;border-radius:13px;box-shadow:inset 0 0 0 4px #071423,inset 0 0 0 5px #6bbcf52b,0 16px 35px #0007,0 0 20px #208bff15;transition:transform .4s ease,box-shadow .4s ease,filter .4s ease}
.portrait-panel::before{content:'';position:absolute;inset:7px;border:1px solid #b6e4ff30;border-radius:8px;z-index:3;pointer-events:none;background:linear-gradient(115deg,transparent 15%,#c4eaff10 30%,transparent 45%);background-size:250% 100%;background-position:100% 0;transition:background-position .8s ease}
.portrait-panel:hover::before,.portrait-panel:focus-visible::before{background-position:0 0}
.portrait-panel:hover,.portrait-panel:focus-visible{box-shadow:inset 0 0 0 4px #0b2036,0 18px 40px #0008,0 0 26px #2f9cff40;filter:none;transform:skewY(-8deg) translateY(-6px) rotateY(-3deg)}
.portrait-caption{left:10px;right:10px;bottom:16px;gap:5px;padding:15px 11px;border:1px solid #91cfff45;border-radius:10px;background:linear-gradient(135deg,#1d4465d9,#061326ed);backdrop-filter:blur(16px);box-shadow:inset 0 1px #b7eaff30,0 8px 24px #0005;transition:background .4s}
.portrait-caption strong{font-size:22px}
.portrait-caption .portrait-summary{font-size:12px;line-height:1.65;color:#d1dfef;margin-top:9px}
.portrait-caption .portrait-more{font-size:11px;color:#8cd5ff;margin-top:10px}
.portrait-summary,.portrait-more{display:block}
.team-effects .portrait-summary,.team-effects .portrait-more{max-height:0;opacity:0;overflow:hidden;transform:translateY(12px);margin-top:0;transition:opacity .45s ease var(--reveal-delay,0ms),transform .45s ease var(--reveal-delay,0ms),max-height .45s ease,margin .45s ease}
.team-effects .is-revealed .portrait-summary{max-height:180px;opacity:1;transform:none;margin-top:9px}
.team-effects .is-revealed .portrait-more{max-height:32px;opacity:1;transform:none;margin-top:10px}
.team-card{border-color:#6ba9df55;box-shadow:inset 0 0 0 5px #13253c55,0 20px 55px #0003}
.team-card .team-info{position:relative;margin:-24px 12px 12px;padding:26px 22px;border:1px solid #84c5ff42;border-radius:15px;background:linear-gradient(145deg,#16304aee,#091421f5);backdrop-filter:blur(16px);box-shadow:0 -8px 35px #0003}
.team-effects .team-card .team-info{transform:translateY(24px);opacity:.15;transition:transform .65s ease,opacity .65s ease}
.team-effects .team-card.profile-visible .team-info,.team-effects .team-card:focus-within .team-info{transform:none;opacity:1}
@media(max-width:760px){.team-poster{display:grid;height:auto;gap:28px;width:min(100%,440px);padding:12px 0 45px}.portrait-panel,.portrait-henrieta,.portrait-miro{display:block;height:470px;width:100%;transform:none}.portrait-panel img{transform:none}.portrait-panel:hover,.portrait-panel:focus-visible{transform:translateY(-4px)}.portrait-caption{transform:none;left:16px;right:16px;bottom:16px;padding:18px}.portrait-caption .portrait-summary{font-size:14px;line-height:1.6}.portrait-stefan img{width:100%;left:0;top:0}.portrait-henrieta img,.portrait-miro img{width:100%;left:0;height:165%;top:0;object-fit:cover}.poster-signature{bottom:0;font-size:10px}.portrait-caption strong{font-size:25px}}
@media(prefers-reduced-motion:reduce){.portrait-panel,.portrait-panel::before,.portrait-caption,.team-effects .portrait-summary,.team-effects .portrait-more,.team-effects .team-card .team-info{transition:none}.team-effects .team-card .team-info{opacity:1;transform:none}.portrait-panel:hover,.portrait-panel:focus-visible{transform:skewY(-8deg)}}
@media(max-width:760px) and (prefers-reduced-motion:reduce){.portrait-panel:hover,.portrait-panel:focus-visible{transform:none}}
@media(min-width:1001px){.team-statement :is(h1,h2){font-size:clamp(44px,4.4vw,60px)}}

.team-stage .button{display:inline-flex;align-items:center;min-height:48px;padding:12px 23px;border-radius:999px;text-decoration:none;font-size:14px;font-weight:700;background:#2f8fff;color:#04101f}
