/* team.css — leadership listing + individual profile pages (mobile-first) */
:root{--tm-navy:var(--navy,#152145);--tm-gold:var(--gold,#be9a31);--tm-line:#dcdcdc;--tm-mute:#5a5f6b;--tm-wash:#f4f4f4}

/* ---------- listing ---------- */
.tm-hero{padding:clamp(40px,7vw,104px) 0 clamp(36px,5vw,72px);background:#fff;border-bottom:1px solid var(--tm-line)}
.tm-hero h1{margin:0;font:600 clamp(34px,6vw,44px)/1.04 Inter,sans-serif;letter-spacing:-.025em;color:var(--tm-navy);}
.tm-hero p{margin:clamp(18px,2.4vw,30px) 0 0;max-width:58ch;font-size:clamp(17px,1.5vw,21px);line-height:1.6;color:var(--tm-mute)}

.tm-sec{padding:clamp(40px,6vw,96px) 0 clamp(56px,8vw,120px)}
.tm-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:clamp(32px,4vw,56px) clamp(20px,2.6vw,40px)}
@media (min-width:640px){.tm-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1000px){.tm-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}

.tm-card{display:block;color:inherit;text-decoration:none}
.tm-ph{position:relative;aspect-ratio:3/3;overflow:hidden;background:#e6e8ee}
.tm-ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 12%;filter:grayscale(1) contrast(1.04);transition:transform .5s ease}
.tm-ph::after{content:"";position:absolute;left:0;bottom:0;width:34%;height:5px;background:var(--tm-gold);transition:width .3s ease}
.tm-mono{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(160deg,#e9ebf1,#d5d9e4);color:var(--tm-navy);font:300 clamp(64px,9vw,112px)/1 Inter,sans-serif;letter-spacing:-.04em}
.tm-card:hover .tm-ph img{transform:scale(1.03)}
.tm-card:hover .tm-ph::after,.tm-card:focus-visible .tm-ph::after{width:100%}
.tm-card:focus-visible{outline:2px solid var(--tm-navy);outline-offset:6px}
.tm-card h2{margin:18px 0 4px;font:600 clamp(22px,2vw,27px)/1.15 Inter,sans-serif;letter-spacing:-.015em;color:var(--tm-navy)}
.tm-role{margin:0;font-size:15.5px;line-height:1.4;color:var(--tm-mute)}
.tm-blurb{margin:12px 0 0;font-size:16px;line-height:1.6;color:#2b3350;max-width:44ch}
.tm-more{display:inline-block;margin-top:14px;font-weight:600;font-size:15px;color:var(--tm-navy);border-bottom:1.5px solid var(--tm-gold);padding-bottom:2px}


/* leadership listing only: smaller photos (client feedback). Profile pages unchanged. */
.tm-grid .tm-ph{width:100%;max-width:240px}
.tm-grid .tm-mono{font-size:clamp(48px,5vw,72px)}

/* ---------- profile ---------- */
.tm-crumb{padding:16px 0 0}
.tm-crumb a{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:15px;font-weight:500;color:var(--tm-mute);text-decoration:none}
.tm-crumb a:hover{color:var(--tm-navy);text-decoration:underline;text-underline-offset:4px}

.tm-prof{padding:clamp(12px,2vw,24px) 0 clamp(56px,8vw,112px)}
.tm-prof__g{display:grid;grid-template-columns:1fr;gap:clamp(28px,5vw,96px);align-items:start}
@media (min-width:900px){.tm-prof__g{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}.tm-side{position:sticky;top:calc(var(--head,68px) + 28px)}}
.tm-side .tm-ph{max-width:300px}
@media (max-width:899px){.tm-side{display:grid;grid-template-columns:minmax(0,150px) 1fr;gap:20px;align-items:end}}
@media (max-width:520px){.tm-side{grid-template-columns:1fr}.tm-side .tm-ph{max-width:220px}}
.tm-id h1{margin:0 0 6px;font:600 clamp(30px,4.2vw,52px)/1.08 Inter,sans-serif;letter-spacing:-.02em;color:var(--tm-navy)}
.tm-id .tm-role{font-size:17px}
@media (min-width:900px){.tm-id{margin-top:22px}}

.tm-quote{margin:0 0 clamp(24px,3vw,40px);max-width:26ch;font:500 clamp(24px,3vw,42px)/1.2 Inter,sans-serif;letter-spacing:-.02em;color:var(--tm-navy)}
.tm-bio p{margin:0 0 20px;max-width:62ch;font-size:clamp(16.5px,1.3vw,18px);line-height:1.75;color:#2b3350}
.tm-facts{margin:clamp(28px,4vw,48px) 0 0;border-top:1px solid var(--tm-navy)}
.tm-facts div{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:8px 24px;padding:18px 0;border-bottom:1px solid var(--tm-line)}
.tm-facts dt{font:600 12.5px/1.4 Inter,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#8c6d17}
.tm-facts dd{margin:0;font-size:16.5px;line-height:1.55;color:var(--tm-navy)}
.tm-facts a{color:inherit;text-decoration:underline;text-underline-offset:3px}
@media (max-width:560px){.tm-facts div{grid-template-columns:1fr}}
.tm-tags{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.tm-tags li{padding:8px 14px;border:1px solid var(--tm-line);font-size:14.5px;color:var(--tm-navy);background:#fff}
.tm-h3{margin:clamp(28px,4vw,44px) 0 0;font:600 18px/1.3 Inter,sans-serif;color:var(--tm-navy)}

.tm-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:clamp(28px,4vw,48px) 0 0;border-top:1px solid var(--tm-navy)}
.tm-stats div{padding:20px 16px 0 0}
.tm-stats div+div{padding-left:16px;border-left:1px solid var(--tm-line)}
.tm-stats b{display:block;font:300 clamp(34px,5vw,64px)/1 Inter,sans-serif;letter-spacing:-.03em;color:var(--tm-navy)}
.tm-stats span{display:block;margin-top:8px;font-size:14px;line-height:1.45;color:var(--tm-mute)}
@media (max-width:560px){.tm-stats{grid-template-columns:1fr}.tm-stats div+div{padding-left:0;border-left:0;border-top:1px solid var(--tm-line);margin-top:20px;padding-top:20px}}

/* prev / next */
.tm-pn{border-top:1px solid var(--tm-line);background:var(--tm-wash)}
.tm-pn .wrap{display:grid;grid-template-columns:1fr 1fr}
.tm-pn a{display:block;padding:clamp(22px,3vw,40px) 0;color:var(--tm-navy);text-decoration:none;min-height:44px}
.tm-pn a+a{text-align:right}
.tm-pn small{display:block;font-size:13px;color:var(--tm-mute);margin-bottom:4px}
.tm-pn b{font:600 clamp(16px,2vw,22px)/1.25 Inter,sans-serif}
.tm-pn a:hover b{text-decoration:underline;text-underline-offset:4px}

/* CTA band */
.tm-cta{background:var(--tm-navy);color:#fff;padding:clamp(56px,8vw,112px) 0}
.tm-cta h2{margin:0 0 28px;max-width:20ch;font:600 clamp(28px,4.6vw,64px)/1.08 Inter,sans-serif;letter-spacing:-.02em;color:#fff}
.tm-cta .btn{background:#fff;color:var(--tm-navy)}
.tm-cta small{display:block;margin-top:18px;font-size:15px;color:rgba(255,255,255,.8)}
.tm-cta small a{color:#fff;text-decoration:underline;text-underline-offset:3px}

@media (prefers-reduced-motion:reduce){.tm-ph img,.tm-ph::after{transition:none}}
