/* Team page (Stage 1 card + profile experience, restyled with the Concept D system). Loads after site.css, home.css, inner.css. */

.team-section{padding-top:clamp(56px,7vw,100px);padding-bottom:clamp(56px,7vw,96px)}
.team-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}
@media (max-width:1100px){.team-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}}
@media (max-width:620px){.team-grid{grid-template-columns:1fr}}

/* reveal on scroll (only when JavaScript is running) */
.js .team-item{opacity:0;transform:translateY(26px);transition:opacity .6s ease,transform .6s ease;transition-delay:calc(var(--i,0)*90ms)}
.js .team-item.in{opacity:1;transform:none}

.team-card{height:100%;display:flex;flex-direction:column;background:#fff;border:1px solid var(--rule);overflow:hidden;transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease;--focus:var(--gd)}
.team-card:hover,.team-card:focus-within{transform:translateY(-6px);box-shadow:0 18px 40px rgba(7,43,27,.16);border-color:var(--green)}
.team-photo{position:relative;aspect-ratio:4/5;overflow:hidden;background:radial-gradient(circle at 85% 12%,rgba(0,194,74,.22),transparent 55%),linear-gradient(160deg,#1f3a2c,#0c0f10);display:flex;align-items:center;justify-content:center}
.team-photo::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:var(--green);transform:scaleX(0);transform-origin:left;transition:transform .45s ease}
.team-card:hover .team-photo::after,.team-card:focus-within .team-photo::after{transform:scaleX(1)}
.team-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 12%;transition:transform .7s ease}
.team-card:hover .team-photo img{transform:scale(1.04)}
.team-card-body{padding:22px 22px 26px;display:flex;flex-direction:column;flex:1;text-align:left}
.team-name{font-family:var(--font-display);font-stretch:75%;font-weight:800;text-transform:uppercase;font-size:clamp(28px,2.3vw,34px);line-height:.98;margin:0 0 8px}
.team-title{font-size:12.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gd);line-height:1.45;margin:0 0 14px}
.team-intro{font-size:15.5px;line-height:1.6;color:#3b3f3d;margin:0 0 20px;flex:1}
.team-link{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);padding-bottom:5px;border-bottom:2px solid var(--green);transition:color .2s ease,gap .25s ease}
.team-link:hover{color:var(--gd);gap:14px}
.team-link:focus-visible,.team-dialog button:focus-visible{outline:3px solid var(--gd);outline-offset:4px}

/* group photo band */
.photo-band .tgroup{margin-top:0}
.tgroup{overflow:hidden}
.tgroup img{width:100%;height:auto;aspect-ratio:2464/1027;object-fit:cover;object-position:50% 50%}

/* slogan band */
.team-slogan{background:var(--green);color:#07180f;text-align:center;padding-block:clamp(56px,7vw,96px);margin-top:clamp(56px,7vw,100px)}
.team-slogan .lab{color:#07180f;opacity:.8}
.team-slogan .lab b{color:#07180f}
.team-slogan h2{font-family:var(--font-display);font-stretch:75%;font-weight:800;text-transform:uppercase;font-size:clamp(34px,5.6vw,84px);line-height:.96;margin-top:16px}
.team-slogan h2 span{display:block}

/* profile dialog */
.team-dialog{border:0;padding:0;width:min(980px,calc(100% - 32px));max-width:none;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow:auto;background:#fff;color:var(--ink);box-shadow:0 30px 80px rgba(0,0,0,.45);margin:auto;overscroll-behavior:contain}
.team-dialog::backdrop{background:rgba(5,20,14,.8);backdrop-filter:blur(3px)}
.team-dialog[open]{animation:teamPop .35s ease}
@keyframes teamPop{from{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:none}}
html.dlg-open{overflow:hidden}
.team-dialog-grid{display:grid;grid-template-columns:minmax(280px,400px) 1fr}
.team-dialog-photo{padding:44px 0 44px 44px}
.team-dialog-photo .team-photo{position:sticky;top:44px;aspect-ratio:4/5}
.team-dialog-photo .team-photo::after{transform:scaleX(1)}
.team-dialog-body{padding:52px 52px 44px}
.team-dialog-body h2{font-size:clamp(40px,4.6vw,68px);margin:0 0 8px}
.team-dialog-body .team-title{margin-bottom:26px;padding-bottom:22px;border-bottom:1px solid var(--rule)}
.team-bio p{font-size:17px;line-height:1.75;margin:0 0 1.1em}
.team-bio p:first-child{font-size:19px}
.team-beyond{margin-top:34px;padding:26px 26px 10px;background:#e8f4ec;border-left:4px solid var(--green)}
.team-beyond[hidden]{display:none}
.team-beyond h3{font-weight:600;font-size:12.5px;letter-spacing:.22em;text-transform:uppercase;margin:0 0 14px}
.team-beyond ul{margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:6px}
.team-beyond li{margin:0 0 16px}
.team-beyond strong{display:block;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--gd);margin-bottom:4px}
.team-beyond span{font-size:16px;line-height:1.55}
.team-dialog-actions{margin-top:30px}
.team-dialog .btn{cursor:pointer;font-family:inherit;background:var(--ink);border-color:var(--ink);color:#f6f5f1}
.team-dialog .btn:hover{background:var(--deep);border-color:var(--deep)}
.team-dialog-close{position:absolute;top:14px;right:14px;z-index:2;width:42px;height:42px;border-radius:50%;border:0;background:var(--ink);color:#fff;font-size:24px;line-height:1;cursor:pointer;transition:background .2s ease,transform .2s ease}
.team-dialog-close:hover{background:var(--gd);transform:rotate(90deg)}
@media (max-width:760px){
  .team-dialog{width:100%;height:100vh;height:100dvh;max-height:none;margin:0}
  .team-dialog-grid{grid-template-columns:1fr}
  .team-dialog-photo{padding:0}
  .team-dialog-photo .team-photo{position:relative;top:0;aspect-ratio:1/1}
  .team-dialog-photo .team-photo img{object-position:center 10%}
  .team-dialog-body{padding:30px 22px 36px}
  .team-dialog-actions .btn{width:100%}
}
@media (prefers-reduced-motion:reduce){
  .js .team-item{opacity:1;transform:none;transition:none}
  .team-card,.team-photo img,.team-link,.team-dialog-close,.team-photo::after{transition:none}
  .team-dialog[open]{animation:none}
}

/* no-JavaScript fallback: biographies listed under the cards */
.tbios{padding-top:clamp(40px,5vw,72px)}
.tbio{padding:28px 0;border-top:1px solid var(--ink);scroll-margin-top:90px}
.tbio h3{font-family:var(--font-display);font-stretch:75%;font-weight:800;text-transform:uppercase;font-size:clamp(34px,4vw,56px);line-height:.98}
.tbio .t{margin-top:8px;font-weight:600;color:var(--gd)}
.tbio__body{margin-top:18px;max-width:680px}
.tbio__body p+p{margin-top:1.1em}
.tbio ul{margin-top:14px;display:grid;gap:8px}
