
.team-hero{padding:105px 0 86px;background:radial-gradient(ellipse at 75% 20%,rgba(142,65,216,.19),transparent 48%),#090919}
.team-hero .shell,.team-message .shell,.team-close .shell{max-width:1040px}
.team-hero h1{font:900 clamp(54px,8vw,110px)/.97 Outfit,Arial,sans-serif;letter-spacing:-.055em;margin:17px 0 25px;color:#fff}
.team-hero .team-intro{font:850 clamp(23px,3.6vw,37px)/1.25 Outfit,Arial,sans-serif;color:#fff;margin:0 0 20px}
.team-hero p:not(.team-intro),.team-message p,.team-close p{max-width:850px;color:#c8c1d6;font-size:17px;line-height:1.85}
.team-message{background:linear-gradient(135deg,#14102d,#0c0b21);padding:82px 0;border-block:1px solid rgba(255,255,255,.08)}
.team-message h2,.team-values h2,.team-close h2{font:900 clamp(38px,6vw,70px)/1.02 Outfit,Arial,sans-serif;letter-spacing:-.045em;color:#fff;margin:16px 0 28px}
.team-message blockquote{margin:24px 0 30px;padding:28px 30px;border-left:4px solid #bd82f9;background:rgba(178,111,245,.09);border-radius:0 16px 16px 0;color:#f4eafa;font:650 clamp(18px,2.4vw,25px)/1.65 'DM Sans',Arial,sans-serif}
.team-values{padding:86px 0;background:#090919}
.team-value-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px}
.team-value-grid article{padding:29px;border:1px solid rgba(196,153,248,.2);background:linear-gradient(145deg,rgba(82,52,125,.2),rgba(20,19,42,.78));border-radius:18px}
.team-value-grid article>span{font:800 11px Outfit,Arial,sans-serif;letter-spacing:.1em;color:#d9a4ff}
.team-value-grid h3{font:850 24px/1.25 Outfit,Arial,sans-serif;color:#fff;margin:20px 0 13px}
.team-value-grid p{color:#c2b9d2;line-height:1.7;font-size:14px;margin:0}
.team-close{padding:82px 0 105px;background:radial-gradient(ellipse at 10% 10%,rgba(148,80,236,.13),transparent 55%),#101026}
.team-buttons{display:flex;flex-wrap:wrap;gap:14px;margin:30px 0 22px}
.team-close .team-smallprint{font-size:12px;color:#a8a0b9}
@media(max-width:780px){.team-hero{padding:58px 0 62px}.team-message,.team-values,.team-close{padding:58px 0}.team-value-grid{grid-template-columns:1fr}.team-message blockquote{padding:21px}.team-hero p:not(.team-intro),.team-message p,.team-close p{font-size:15px}.team-buttons{flex-direction:column;align-items:flex-start}}

/* Staff portraits: Ryan, Brian, Adam, William */
.team-gallery-page{padding:clamp(55px,7vw,96px) 0 100px;background:radial-gradient(ellipse at 75% 5%,rgba(151,72,218,.16),transparent 50%),#090919;min-height:70vh}
.team-gallery-page h1{font:900 clamp(46px,7vw,88px)/1 Outfit,Arial,sans-serif;letter-spacing:-.055em;color:white;margin:0 0 35px}
.team-photo-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.team-person{margin:0;overflow:hidden;min-width:0;border:1px solid rgba(221,181,249,.25);border-radius:18px;background:#151126}
.team-person img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover}
.team-person figcaption{color:#fff;font:800 20px/1.2 Outfit,Arial,sans-serif;padding:18px 22px}
@media(max-width:650px){.team-gallery-page{padding:50px 0 65px}.team-photo-gallery{grid-template-columns:1fr;gap:20px}.team-gallery-page h1{margin-bottom:25px}.team-person figcaption{font-size:18px}}

/* Team role descriptions */
.team-person figcaption{display:flex;flex-direction:column;align-items:center;gap:9px;padding:18px 18px 24px;text-align:center}
.team-person .team-name{font:800 24px/1.2 Outfit,Arial,sans-serif;color:#fff}
.team-person .team-role{font:800 12px/1.45 Outfit,Arial,sans-serif;letter-spacing:.045em;color:#efa6e9}
.team-person .team-bio{font:500 13.5px/1.7 'DM Sans',Arial,sans-serif;color:#d7d0e5;max-width:480px;margin:2px auto 0}
@media(max-width:600px){.team-person figcaption{padding:16px 14px 22px}.team-person .team-name{font-size:22px}.team-person .team-bio{font-size:13px}}

/* Seven-person roster: four across wide screens, two across tablets, one on phones. */
@media(min-width:1100px){.team-photo-gallery{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.team-person figcaption{padding:16px 13px 22px}.team-person .team-role{font-size:11px}.team-person .team-bio{font-size:12px;line-height:1.65}.team-person .team-name{font-size:22px}}
