
.has-team-nav nav { flex-shrink:0; }
.team-page { min-height:100vh; display:flex; flex-direction:column; }
.team-main { flex:1; padding-bottom:28px; }
.team-intro { display:flex; justify-content:space-between; align-items:center; gap:40px; padding:46px 0 44px; margin-bottom:30px; border-bottom:1px solid #303627; }
.team-intro h1 { margin:17px 0 18px; font-size:clamp(38px,4.7vw,62px); font-weight:650; line-height:1.1; letter-spacing:-2px; color:#f2f1ea; }
.team-intro p { max-width:620px; color:#aeb69f; font-size:15px; line-height:1.85; }
.team-intro-mark { display:grid; place-items:center; flex-shrink:0; width:190px; height:190px; border:1px solid #3a412d; border-radius:38px; background:radial-gradient(ellipse at 50% 55%,#5d4e262b,transparent 70%),#1b2016; transform:rotate(4deg); }
.team-intro-mark img { width:144px; height:144px; object-fit:contain; opacity:.87; transform:rotate(-4deg); }
.team-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.team-card { min-width:0; display:flex; flex-direction:column; align-items:flex-start; padding:24px; border:1px solid #343d29; border-radius:23px; background:linear-gradient(145deg,#232a1b,#191e15 70%); animation:team-reveal .5s both; transition:transform .25s,border-color .25s,box-shadow .25s; }
.team-card:hover { transform:translateY(-4px); border-color:#6c6541; box-shadow:0 12px 28px #0002; }
.team-avatar { display:block; width:112px; height:112px; aspect-ratio:1; margin-bottom:21px; border:1px solid #494c35; border-radius:20px; object-fit:cover; background:#2c3322; }
.team-card h2 { margin:0 0 12px; color:#ecefe3; font-size:21px; line-height:1.35; font-weight:650; letter-spacing:-.5px; overflow-wrap:anywhere; }
.team-roles { display:flex; flex-wrap:wrap; align-content:flex-start; gap:6px; margin:0 0 25px; padding:0; list-style:none; }
.team-roles li { max-width:100%; padding:5px 9px; border:1px solid #4a4930; border-radius:8px; background:#b8943210; color:#cbb784; font-size:11px; line-height:1.6; overflow-wrap:anywhere; }
.team-card .team-portfolio { display:flex; align-items:center; justify-content:space-between; gap:10px; width:100%; min-height:42px; height:auto; margin-top:auto; padding:11px 13px; border:1px solid #4c513a; border-radius:11px; background:#2c3322; color:#e1c686; font-size:12px; line-height:1.4; text-decoration:none; overflow-wrap:anywhere; transition:background .2s,color .2s,border-color .2s; }
.team-card .team-portfolio:hover { border-color:#a78e53; background:#343d29; color:#ffe1a5; }
.team-card .team-portfolio[aria-disabled="true"] { color:#929a84; background:transparent; border-color:#373e2d; cursor:default; }
.team-card .team-portfolio svg { flex-shrink:0; }

.team-actions { display:flex; flex-direction:column; gap:10px; width:100%; min-width:0; margin-top:auto; }
.team-card .team-actions .team-portfolio { margin-top:0; }
.team-demo { width:100%; min-width:0; padding:13px; border:1px solid #615839; border-radius:14px; background:linear-gradient(140deg,#303620,#1c2418); transition:border-color .2s,box-shadow .2s; }
.team-demo.is-playing { border-color:#c2a35c; box-shadow:0 0 22px #cfa64d12; }
.demo-toggle { display:flex; align-items:center; gap:10px; width:100%; min-width:0; padding:0; border:0; border-radius:9px; background:none; color:#f4e6bd; text-align:left; cursor:pointer; font:inherit; }
.demo-play-icon { display:grid; place-items:center; flex:0 0 40px; height:40px; border:1px solid #f4d28b; border-radius:50%; background:linear-gradient(140deg,#f8d98e,#d5b368); color:#292716; box-shadow:0 3px 12px #0002; transition:transform .2s,box-shadow .2s; }
.demo-toggle:not(:disabled):hover .demo-play-icon { transform:scale(1.06); box-shadow:0 0 16px #e1bf6933; }
.demo-copy { display:flex; flex-direction:column; gap:4px; min-width:0; }
.demo-kicker { color:#b5ba9a; font-size:8px; line-height:1.2; letter-spacing:1.2px; }
.demo-state { font-size:12px; line-height:1.4; font-weight:600; overflow-wrap:anywhere; }
.demo-equalizer { display:flex; align-items:center; justify-content:flex-end; gap:3px; flex:0 0 19px; height:20px; margin-left:auto; color:#ceaf68; }
.demo-equalizer i { display:block; width:2px; border-radius:2px; background:currentColor; height:8px; transform-origin:center; }
.demo-equalizer i:nth-child(2) { height:16px; }
.demo-equalizer i:nth-child(3) { height:12px; }
.demo-equalizer i:nth-child(4) { height:19px; }
.is-playing .demo-equalizer i { animation:demo-level .8s ease-in-out infinite alternate; }
.is-playing .demo-equalizer i:nth-child(2) { animation-delay:-.3s; }
.is-playing .demo-equalizer i:nth-child(3) { animation-delay:-.6s; }
.is-playing .demo-equalizer i:nth-child(4) { animation-delay:-.15s; }
.is-loading .demo-play-icon { animation:demo-loading 1s ease-in-out infinite alternate; }
.demo-timeline { margin-top:11px; }
.demo-seek { display:block; width:100%; height:18px; margin:0; padding:0; border:0; border-radius:4px; background:transparent; cursor:pointer; appearance:none; -webkit-appearance:none; --demo-progress:0%; }
.demo-seek::-webkit-slider-runnable-track { height:4px; border-radius:4px; background:linear-gradient(to right,#e5c279 var(--demo-progress),#49513a var(--demo-progress)); }
.demo-seek::-moz-range-track { height:4px; border-radius:4px; background:#49513a; }
.demo-seek::-moz-range-progress { height:4px; border-radius:4px; background:#e5c279; }
.demo-seek::-webkit-slider-thumb { width:12px; height:12px; margin-top:-4px; border:2px solid #edd08b; border-radius:50%; background:#edd08b; appearance:none; -webkit-appearance:none; }
.demo-seek::-moz-range-thumb { width:9px; height:9px; border:2px solid #edd08b; border-radius:50%; background:#edd08b; }
.demo-seek:disabled { cursor:default; opacity:.5; }
.demo-times { display:flex; justify-content:space-between; gap:8px; margin-top:2px; color:#b8bda5; font-size:10px; line-height:1.4; font-variant-numeric:tabular-nums; }
.demo-toggle:focus-visible,.demo-seek:focus-visible { outline:2px solid #f4c568; outline-offset:5px; }
.demo-message { margin:10px 0 0; color:#e5bb9b; font-size:11px; line-height:1.55; }
.team-demo.is-unavailable { border-color:#3d4831; background:#20271b; }
.is-unavailable .demo-toggle { cursor:default; }
.demo-toggle:disabled { opacity:1; }
.is-unavailable .demo-state { color:#a4ad94; font-weight:400; }
.is-unavailable .demo-play-icon { border-color:#4e563c; background:#313b27; color:#9eaa86; box-shadow:none; }
.is-unavailable .demo-equalizer { opacity:.35; }
@keyframes demo-level { from { transform:scaleY(.35); } to { transform:scaleY(1); } }
@keyframes demo-loading { from { opacity:.55; } to { opacity:1; } }
@media(prefers-reduced-motion:reduce) {
  .team-demo,.demo-play-icon { transition:none; }
  .is-playing .demo-equalizer i,.is-loading .demo-play-icon { animation:none; }
  .demo-toggle:not(:disabled):hover .demo-play-icon { transform:none; }
}
.team-empty { padding:48px 20px; border:1px dashed #495039; border-radius:20px; color:#aeb69f; text-align:center; }
.team-contact { display:flex; justify-content:space-between; align-items:center; gap:28px; padding:30px 32px; margin-top:48px; border:1px solid #3b412d; border-radius:23px; background:#1d2318; }
.team-contact h2 { margin:10px 0 8px; font-size:25px; font-weight:600; line-height:1.35; letter-spacing:-.6px; }
.team-contact p { color:#a6b096; font-size:13px; line-height:1.7; }
.team-contact .soft-button { color:#e1c686; }
@keyframes team-reveal { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:translateY(0); } }
@media(max-width:1050px) {
  .team-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .team-card { padding:25px; }
}

@media(max-width:920px) {
  .site-header.has-team-nav { display:grid; grid-template-columns:minmax(0,1fr) auto; height:auto; gap:10px 16px; padding-block:18px 12px; }
  .site-header.has-team-nav nav { display:flex; grid-column:1/-1; grid-row:2; justify-content:center; flex-wrap:wrap; gap:0 24px; }
  .site-header.has-team-nav nav a { white-space:nowrap; padding:8px 0; }
  .team-intro { padding-top:30px; }
  .team-intro-mark { width:140px; height:140px; border-radius:28px; }
  .team-intro-mark img { width:110px; height:110px; }
}
@media(max-width:600px) {
  .team-intro { gap:20px; padding-block:27px 30px; margin-bottom:25px; }
  .team-intro h1 { font-size:38px; letter-spacing:-1.4px; }
  .team-intro .eyebrow { font-size:9px; letter-spacing:1.5px; }
  .team-intro p { font-size:13px; }
  .team-intro-mark { display:none; }
  .team-grid { gap:14px; }
  .team-card { padding:18px; border-radius:18px; }
  .team-avatar { width:88px; height:88px; border-radius:16px; margin-bottom:17px; }
  .team-card h2 { font-size:18px; }
  .team-roles li { font-size:10px; padding:4px 7px; }
  .team-contact { flex-direction:column; align-items:flex-start; gap:20px; padding:25px; margin-top:30px; }
  .team-contact h2 { font-size:23px; }
  .team-contact .eyebrow { font-size:8px; }
}
@media(max-width:480px) {
  .site-header.has-team-nav nav { gap:0 15px; font-size:11px; }
  .team-grid { grid-template-columns:1fr; }
  .team-card { padding:23px; }
  .team-avatar { width:104px; height:104px; }
  .team-card h2 { font-size:21px; }
  .team-roles li { font-size:11px; }
}
@media(prefers-reduced-motion:reduce) {
  .team-card { animation:none; transition:none; }
  .team-card:hover { transform:none; }
  .team-portfolio { transition:none; }
}
