/* Composition only: palette, type, cards, photos and labels come from team.css;
   controls come from buttons.css. No per-professional or per-language styling. */
.team-page { max-width:var(--container-max); margin:0 auto; padding:calc(var(--header-height-desktop) + 2rem) var(--container-padding) 3rem; }
.team-page__breadcrumbs { margin-bottom:2rem; }
.team-page__intro { max-width:660px; margin:0 0 2rem; }
.team-page__support { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; padding:1.5rem 0; margin-top:2rem; }
.team-page__support p { margin:0; }
/* Integration and keyboard-access exceptions, not product decoration. */
.team-page__crm { border:0; }
.team-page__skip { position:fixed; left:1rem; top:-100px; z-index:2100; background:var(--color-white); color:var(--color-black-soft); padding:1rem; }
.team-page__skip:focus { top:1rem; }
.specialist__hero { display:grid; grid-template-columns:1.35fr 1fr; gap:3rem; align-items:center; }
.specialist__lead { margin:0 0 1rem; }
.specialist__portrait { height:380px; }
.specialist__note { margin:.6rem 0; }
.specialist__topics { margin:2rem 0; min-height:0; }
.specialist__body { display:grid; grid-template-columns:1.5fr 1fr; gap:3rem; }
.specialist__contact { min-width:0; align-self:start; scroll-margin-top:calc(var(--header-height-desktop) + 1rem); }
.specialist__contact:hover { transform:none; }
.specialist__contact .btn { display:block; margin:.8rem 0; white-space:normal; }
.specialist__process,.specialist__faq { margin-top:2rem; padding-top:2rem; }
.specialist__process ol { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2rem; }
.specialist__faq details { padding:1rem 0; }
.specialist__faq summary { cursor:pointer; min-height:44px; }
.team-page .btn { white-space:normal; max-width:100%; }
@media(max-width:680px){.team-page { padding:calc(var(--header-height-mobile) + 1.5rem) 1.3rem 2rem; }.specialist__hero,.specialist__body,.specialist__process ol { grid-template-columns:1fr; gap:1.5rem; }.specialist__portrait { height:290px; }.team-page__support { display:block; }.team-page__support .btn { margin-top:1rem; }}

/* Section surfaces come from section.css; darkness is confined to the team grid. */
.content-page { padding-top:var(--header-height-desktop); }
.content-page > .section { display:block; max-width:none; }
.profile-width { max-width:var(--container-max); margin:auto; width:100%; }
.content-page .btn { white-space:normal; max-width:100%; }
.specialist__topics { display:flex; flex-wrap:wrap; gap:1rem; }
@media(max-width:680px){.content-page { padding-top:var(--header-height-mobile); }}

/* Preview composition. Existing team cards, brand tokens, type and buttons are reused. */
.content-page .team-directory-intro { padding:2rem 2rem 1rem; }
.team-directory-intro .team-page__breadcrumbs { margin-bottom:1rem; }
.team-directory-intro .section__title { margin-bottom:1rem; }
.team-directory-intro .team-page__intro { max-width:760px; margin-bottom:0; }
.team-directory-roster { padding:1.5rem 2rem 3rem; --team-bg:var(--color-cream); --team-text:var(--color-black-soft); --team-muted:var(--color-grey-muted); --card-bg:var(--color-beige); --card-hover-bg:var(--color-beige); --card-border:var(--color-grey-border); }
.team-directory-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.team-directory-grid .team-grid__photo { height:260px; }
.team-directory-grid .team-grid__info { padding:1.5rem; }
.team-directory-grid .team-grid__link { margin-top:auto; }
.content-page .team-directory-help { padding:2.5rem 2rem; }
.team-directory-help .team-page__support { margin:0; padding:0; }
@media(max-width:900px){.team-directory-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }}
@media(max-width:540px){.team-directory-grid { grid-template-columns:1fr; }.team-directory-grid .team-grid__photo { height:280px; }.content-page .team-directory-intro { padding:1.5rem 1.3rem 1rem; }.team-directory-roster { padding:1rem 1.3rem 2rem; }.team-directory-help .team-page__support { display:block; }}
