/* Page-owned editorial team composition. */
.team-page { width:100%; padding:0; }
.team-page, .team-page * { box-sizing:border-box; }
.team-page .team-inner { width:min(1200px,calc(100% - 40px)); margin-inline:auto; min-width:0; }
.team-page .team-intro { padding:80px 0 72px; border-bottom:1px solid #82947a; }
.team-page .team-eyebrow { margin:0 0 20px; font-size:14px; line-height:1.5; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:#f2c7d5; }
.team-page h1 { max-width:900px; margin:0 0 28px; font-size:clamp(38px,4.5vw,72px); line-height:1.08; letter-spacing:-.025em; }
.team-page .team-lead { max-width:880px; margin:0 0 24px; font-size:clamp(22px,2vw,28px); line-height:1.5; }
.team-page .team-intro-note { max-width:800px; margin:0 0 32px; font-size:18px; line-height:1.65; }
.team-page .team-jump { display:inline-flex; align-items:center; gap:20px; padding:12px 0; min-height:44px; text-decoration:none; border-bottom:2px solid #f2c7d5; font-weight:700; }
.team-page .team-section { padding:72px 0; }
.team-page h2 { margin:0 0 24px; max-width:1000px; font-size:clamp(30px,3vw,44px); line-height:1.18; letter-spacing:-.015em; }
.team-page .team-section-intro { max-width:850px; margin:0 0 36px; font-size:20px; line-height:1.65; }
.team-page .team-profiles { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr)); gap:24px; }
.team-page .team-profile { min-width:0; padding:32px; border-radius:24px; background:#f4efd8; color:#30452f; }
.team-page .team-initials { display:inline-flex; align-items:center; justify-content:center; width:64px; height:64px; border-radius:50%; background:#f2c7d5; color:#30452f; font-size:22px; font-weight:700; margin-bottom:28px; }
.team-page .team-profile h3 { margin:0 0 6px; font-size:28px; line-height:1.2; color:#30452f; }
.team-page .team-role { margin:0 0 24px; font-size:16px; line-height:1.5; font-weight:700; }
.team-page .team-profile p:not(.team-role) { margin:0 0 20px; font-size:18px; line-height:1.65; }
.team-page .team-profile p:last-child { margin-bottom:0; }
.team-page .team-work { background:#354b34; border-block:1px solid #82947a; }
.team-page .team-work-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr)); gap:32px 56px; }
.team-page .team-work-copy { min-width:0; }
.team-page .team-work-copy p { max-width:min(100%,1100px); margin:0 0 24px; font-size:20px; line-height:1.65; }
.team-page .team-work-copy p:last-child { margin-bottom:0; }
.team-page .team-contact { display:flex; flex-wrap:wrap; gap:40px 64px; align-items:flex-start; }
.team-page .team-contact-copy { flex:2 1 500px; min-width:0; }
.team-page .team-contact-copy p:not(.team-eyebrow) { margin:0 0 24px; max-width:min(100%,1100px); font-size:20px; line-height:1.65; }
.team-page .team-contact-button { display:inline-flex; align-items:center; justify-content:space-between; gap:24px; max-width:100%; min-height:48px; border-radius:100px; padding:14px 26px; background:#f2c7d5; color:#243a23; font-size:18px; font-weight:700; text-decoration:none; }
.team-page .team-contact-details { flex:1 1 320px; min-width:0; padding:32px; margin:0; background:#f4efd8; color:#30452f; border-radius:24px; }
.team-page .team-contact-details div + div { margin-top:24px; padding-top:24px; border-top:1px solid #aab29b; }
.team-page .team-contact-details dt { font-size:14px; font-weight:700; text-transform:uppercase; letter-spacing:.07em; }
.team-page .team-contact-details dd { margin:8px 0 0; font-size:18px; line-height:1.65; overflow-wrap:anywhere; }
.team-page a:focus-visible { outline:3px solid #f2c7d5; outline-offset:6px; }
.team-page .team-contact-button:focus-visible { outline-color:#fffdf5; }
.team-page a:hover { text-decoration:underline; }
@media (max-width:600px) {
 .team-page .team-inner { width:calc(100% - 32px); }
 .team-page .team-intro { padding-block:48px; }
 .team-page .team-section { padding-block:48px; }
 .team-page .team-profile { padding:24px; }
 .team-page .team-contact-details { padding:24px; }
 .team-page .team-contact { gap:32px; }
}
