/* Team page: this extends the visual language of the home-page hero. */
.team-hero{min-height:660px;cursor:default;}
.team-hero #teamRippleCanvas{position:absolute;inset:0;z-index:3;pointer-events:none;}
.team-hero-inner{display:flex;align-items:center;justify-content:space-between;gap:55px;max-width:1180px;min-height:650px;padding-top:100px;padding-bottom:110px;}
.team-hero-copy{position:relative;z-index:5;max-width:615px;animation:teamIntro .8s cubic-bezier(.2,.8,.2,1) both;}
.team-hero .eyebrow{letter-spacing:.04em;}.team-hero .headline{max-width:590px;}.team-hero .sub{max-width:570px;}
.team-hero-stats{display:flex;gap:21px;margin-top:38px;padding-top:20px;border-top:1px solid rgba(255,255,255,.23);}.team-hero-stats span{display:flex;flex-direction:column;gap:2px;color:rgba(255,255,255,.74);font-size:.76rem;white-space:nowrap;}.team-hero-stats strong{color:#fff;font-size:1.12rem;font-weight:800;}
.team-hero-visual{position:relative;z-index:5;flex:0 0 385px;height:390px;perspective:1000px;animation:teamVisualIn 1s .14s cubic-bezier(.2,.8,.2,1) both;}
.team-visual-ring{position:absolute;border:1px solid rgba(255,255,255,.23);border-radius:50%;transform:rotateX(66deg) rotateZ(-16deg);}.team-visual-ring-one{inset:33px 9px 50px;box-shadow:0 0 55px rgba(79,216,222,.32),inset 0 0 42px rgba(79,216,222,.15);animation:teamRing 8s ease-in-out infinite;}.team-visual-ring-two{inset:73px 57px 91px;border-color:rgba(255,190,92,.45);animation:teamRing 8s -4s ease-in-out infinite reverse;}
.team-visual-card{position:absolute;display:flex;align-items:center;gap:13px;color:#fff;border:1px solid rgba(255,255,255,.42);background:linear-gradient(135deg,rgba(255,255,255,.26),rgba(255,255,255,.07));box-shadow:0 24px 55px rgba(1,15,49,.31),inset 0 1px rgba(255,255,255,.32);backdrop-filter:blur(13px);}.team-visual-card-main{right:45px;top:104px;width:285px;padding:23px;border-radius:23px;transform:rotateY(-16deg) rotateX(9deg) translateZ(30px);animation:teamMainCard 5.5s ease-in-out infinite;}.team-visual-icon{display:grid;place-items:center;width:61px;height:61px;flex:0 0 61px;border-radius:19px;background:linear-gradient(135deg,#4fd8de,#765cff);font-size:1.8rem;box-shadow:0 12px 23px rgba(0,0,0,.2);}.team-visual-card small{display:block;color:#bceff4;font-size:.72rem;margin-bottom:3px;}.team-visual-card strong{font-size:1rem;}.team-visual-card-small{left:0;bottom:52px;padding:14px 16px;border-radius:16px;font-size:.73rem;transform:rotateY(17deg) rotateX(8deg);animation:teamSmallCard 5.5s .6s ease-in-out infinite;}.team-visual-card-small span{color:#ffcf80;font-size:1.15rem;}.team-visual-drop{position:absolute;top:27px;left:63px;width:42px;height:52px;background:linear-gradient(140deg,#99f3fb,#4fd8de);border-radius:60% 40% 60% 40%;transform:rotate(45deg);filter:drop-shadow(0 11px 13px rgba(15,184,207,.38));animation:teamDrop 3.3s ease-in-out infinite;}
.team-section{position:relative;padding:70px 0 105px;background:#f2f8ff;overflow:hidden;}.team-section::before{content:"";position:absolute;width:480px;height:480px;top:-260px;left:-180px;border-radius:50%;background:radial-gradient(circle,rgba(201,191,255,.42),transparent 68%);pointer-events:none;}.team-heading{position:relative;display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:38px;}.team-kicker{font-size:.78rem;font-weight:700;letter-spacing:.12em;color:#5b3fd1;}.team-heading h2{margin-top:6px;font-size:clamp(1.65rem,3vw,2.35rem);line-height:1.45;color:#0a1e33;}.team-heading>p{max-width:330px;color:#54698a;font-size:.94rem;}
.team-grid{position:relative;display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:27px;perspective:1200px;}.team-card{--rotate-x:0deg;--rotate-y:0deg;min-height:390px;outline:none;transform-style:preserve-3d;}.team-card-inner{height:100%;overflow:hidden;border:1px solid rgba(201,191,255,.7);border-radius:25px;background:#fff;box-shadow:0 22px 40px -25px rgba(18,38,99,.45);transform:rotateX(var(--rotate-x)) rotateY(var(--rotate-y));transition:transform .18s ease,box-shadow .25s;}.team-card:hover .team-card-inner,.team-card:focus .team-card-inner{box-shadow:0 33px 50px -23px rgba(53,38,140,.55);}.team-photo-wrap{position:relative;height:210px;overflow:hidden;background:linear-gradient(145deg,#765cf0,#21bdd0);transform:translateZ(20px);}.team-photo{width:100%;height:100%;object-fit:cover;transition:transform .45s ease;}.team-card:hover .team-photo{transform:scale(1.06);}.team-photo-placeholder{display:grid;place-items:center;color:#fff;font-size:4rem;font-weight:800;}.team-ripple{position:absolute;bottom:-75px;left:-14%;width:128%;height:130px;border:2px solid rgba(255,255,255,.42);border-radius:50%;box-shadow:0 -18px 0 -1px rgba(255,255,255,.22),0 -36px 0 -2px rgba(255,255,255,.12);transform:rotate(-7deg);}.team-card-content{padding:21px 23px 25px;transform:translateZ(34px);}.team-class{display:inline-block;padding:3px 10px;border-radius:99px;background:#eaf1ff;color:#5b3fd1;font-size:.76rem;font-weight:700;}.team-card h3{margin:10px 0 1px;font-size:1.35rem;color:#0a1e33;}.team-role{color:#17a6bc;font-size:.9rem;font-weight:600;}.team-bio{margin-top:10px;color:#54698a;font-size:.86rem;line-height:1.9;}.team-empty{grid-column:1/-1;padding:50px;text-align:center;border:1px dashed #c9bfff;border-radius:24px;background:#fff;color:#54698a;}.team-empty span{display:block;font-size:2.5rem;margin-bottom:9px;}.team-empty h3{color:#0a1e33;}
[data-team-reveal]{opacity:0;transform:translateY(28px);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.8,.2,1);transition-delay:calc(var(--card-delay, 0) * 85ms);}[data-team-reveal].is-visible{opacity:1;transform:none;}
@keyframes teamIntro{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}@keyframes teamVisualIn{from{opacity:0;transform:translateX(-42px) scale(.88)}to{opacity:1;transform:none}}@keyframes teamRing{50%{transform:rotateX(66deg) rotateZ(10deg) scale(1.08)}}@keyframes teamMainCard{50%{transform:rotateY(-11deg) rotateX(4deg) translate3d(-4px,-16px,42px)}}@keyframes teamSmallCard{50%{transform:rotateY(10deg) rotateX(3deg) translate3d(8px,10px,25px)}}@keyframes teamDrop{50%{transform:rotate(45deg) translate(-7px,-14px) scale(1.1)}}
@media (max-width:900px){.team-hero{min-height:auto;}.team-hero-inner{min-height:0;padding-top:92px;flex-direction:column;text-align:center;gap:8px;}.team-hero-copy{text-align:center;}.team-hero .sub{margin-inline:auto;}.team-hero .cta-row{justify-content:center;}.team-hero-stats{justify-content:center;text-align:right;}.team-hero-visual{height:315px;transform:scale(.86);margin:-22px 0 -48px;}.team-heading{display:block;margin-bottom:28px;}.team-heading>p{margin-top:10px;}}
@media (max-width:700px){.team-hero-inner{padding:76px 27px 98px;}.team-hero-stats{gap:11px;justify-content:space-between;}.team-hero-stats span{white-space:normal;font-size:.65rem;}.team-hero-stats strong{font-size:.94rem;}.team-hero-visual{transform:scale(.7);margin:-50px 0 -83px;}.team-grid{grid-template-columns:1fr;max-width:390px;margin:auto;}.team-card{min-height:0;}.team-card-inner{min-height:370px;}.team-section{padding-top:43px;}}
@media (prefers-reduced-motion:reduce){.team-hero *,[data-team-reveal]{animation:none !important;transition:none !important;}.team-card,.team-heading{opacity:1;transform:none;}}

/* Wide tablets: keep both parts of the hero inside the viewport. */
@media (min-width:1025px) and (max-width:1199px){
  .team-hero-inner{gap:30px;padding-inline:36px;min-height:610px;}
  .team-hero-copy{max-width:535px;}
  .team-hero .headline{font-size:clamp(2.45rem,4.6vw,3.35rem);}
  .team-hero-visual{flex-basis:335px;transform:scale(.87);transform-origin:center;}
}

/* Tablet portrait and landscape: use a deliberate vertical composition. */
@media (max-width:1024px){
  .team-hero{min-height:auto;}
  .team-hero-inner{min-height:0;padding:88px 42px 104px;flex-direction:column;gap:5px;text-align:center;}
  .team-hero-copy{max-width:650px;text-align:center;}
  .team-hero .sub{margin-inline:auto;}
  .team-hero .cta-row{justify-content:center;}
  .team-hero-stats{justify-content:center;text-align:right;}
  .team-hero-visual{flex-basis:auto;width:385px;max-width:100%;height:322px;margin:-20px 0 -42px;transform:scale(.88);}
  .team-heading{align-items:flex-start;}
  .team-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}

/* Phones: do not rely on transform scaling for layout; resize the 3D scene itself. */
@media (max-width:640px){
  .team-hero-inner{padding:70px 20px 90px;}
  .team-hero .headline{font-size:clamp(2rem,10vw,2.35rem);line-height:1.38;}
  .team-hero .sub{margin-top:19px;font-size:.94rem;line-height:1.95;}
  .team-hero .cta-row{margin-top:27px;gap:10px;}
  .team-hero .cta-primary,.team-hero .cta-secondary{padding:13px 17px;font-size:.87rem;}
  .team-hero-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:28px;padding-top:15px;text-align:center;}
  .team-hero-stats span{white-space:normal;font-size:.64rem;line-height:1.55;}
  .team-hero-stats strong{font-size:1rem;}
  .team-hero-visual{width:320px;height:255px;margin:-8px 0 -38px;transform:none;}
  .team-visual-ring-one{inset:30px 12px 35px;}.team-visual-ring-two{inset:57px 48px 65px;}
  .team-visual-card-main{top:66px;right:15px;width:248px;padding:17px;border-radius:19px;}.team-visual-icon{width:51px;height:51px;flex-basis:51px;border-radius:15px;font-size:1.5rem;}.team-visual-card strong{font-size:.88rem;}.team-visual-card-small{bottom:22px;left:0;padding:11px 12px;font-size:.64rem;}.team-visual-drop{top:10px;left:38px;width:34px;height:42px;}
  .team-section{padding:45px 0 72px;}.team-heading{margin-bottom:24px;}.team-heading h2{font-size:1.55rem;}.team-heading>p{font-size:.86rem;}
  .team-grid{grid-template-columns:1fr;gap:21px;max-width:390px;margin:auto;}.team-card-inner{min-height:0;}.team-photo-wrap{height:200px;}.team-card-content{padding:18px 19px 22px;}.team-empty{padding:34px 18px;}
}

@media (max-width:380px){
  .team-hero-inner{padding-inline:16px;}
  .team-hero .cta-row{flex-direction:column;align-items:stretch;}.team-hero .cta-primary,.team-hero .cta-secondary{text-align:center;}
  .team-hero-visual{width:278px;height:227px;margin-top:-1px;}
  .team-visual-ring-one{inset:28px 8px 31px;}.team-visual-ring-two{inset:50px 38px 56px;}
  .team-visual-card-main{top:56px;right:0;width:222px;padding:15px;}.team-visual-card-small{bottom:15px;font-size:.58rem;}.team-visual-drop{left:28px;}
  .team-hero-stats span{font-size:.59rem;}.team-hero-stats strong{font-size:.9rem;}
  .team-photo-wrap{height:184px;}
}
