.team-photographic,.portfolio-gallery { --team-muted:#514658; --team-accent:#6320d6; --team-rule:rgba(22,17,27,.22); }
.team-photographic { color:var(--ink); padding-top:80px; padding-bottom:80px; }
.team-photographic .team-intro { display:grid; grid-template-columns:1.1fr 1fr; gap:48px; align-items:end; margin-bottom:38px; }
.team-photographic .team-intro>p { font:400 16px/1.75 var(--font-body); max-width:48ch; margin:0; color:var(--team-muted); }
.team-photographic .team-intro h2 { font-family:var(--font-display); font-weight:700; margin:0; text-wrap:balance; }
.team-photographic .team-next { display:flex; justify-content:space-between; align-items:center; gap:32px; margin-top:28px; }
.team-photographic .team-next>p { font:400 14px/1.7 var(--font-body); margin:0; color:var(--team-muted); }
.team-page .static-content { max-width:none; grid-template-columns:minmax(0,1fr); }
.team-page .static-content>section,.team-photographic,.team-actions { min-width:0; }
.team-page .static-content>.team-photographic { width:100%; margin:0; padding:0 0 56px; content-visibility:visible; }
.team-page .static-content>section:not(.team-photographic) { max-width:800px; }
.team-photographic :is(h2,h3,p),.portfolio-gallery :is(h3,h4,p,span) { letter-spacing:0; }
.team-photographic .team-intro h2 { font-size:48px; line-height:1.15; max-width:100%; }
.team-portraits { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; }
.team-person { min-width:0; }
.team-person>img { display:block; width:100%; height:auto; aspect-ratio:4/5; object-fit:contain; background:#e6e7e9; border-radius:4px; }
.team-photographic .team-person h3 { font:700 24px/1.25 var(--font-body); margin:22px 0 8px; overflow-wrap:anywhere; }
.team-photographic .team-person p { font:400 15px/1.75 var(--font-body); color:var(--team-muted); margin:12px 0 0; }
.team-photographic .team-person .team-person-role { color:var(--team-accent); font-size:16px; font-weight:700; margin:0; }
.team-actions { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:20px; }
.team-actions>a:not(.button) { font-size:14px; padding:12px 0; text-decoration:underline; text-underline-offset:.25em; }
.portfolio-gallery { margin-top:72px; }
.portfolio-heading { display:flex; align-items:baseline; justify-content:space-between; gap:24px; margin:54px 0 28px; }
.portfolio-heading h3 { font:700 32px/1.2 var(--font-display); margin:0; }
.portfolio-heading p { font:400 15px/1.7 var(--font-body); max-width:44ch; color:var(--team-muted); margin:0; }
.portfolio-sites { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:40px 32px; }
.portfolio-brands { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; }
.portfolio-project { min-width:0; color:var(--ink); text-decoration:none; display:block; }
.portfolio-project img { display:block; width:100%; height:auto; aspect-ratio:50/29; object-fit:contain; border:1px solid var(--team-rule); border-radius:4px; background:#fff; }
.portfolio-project h4 { font:700 24px/1.3 var(--font-body); margin:18px 0 7px; }
.portfolio-project>span { display:block; font:400 14px/1.65 var(--font-body); color:var(--team-muted); }
.portfolio-project .portfolio-link { color:var(--team-accent); text-decoration:underline; text-underline-offset:.25em; margin-top:8px; }
.portfolio-project:hover h4 { text-decoration:underline; text-underline-offset:.2em; }
.portfolio-feature { display:grid; grid-template-columns:1.4fr 1fr; gap:36px; align-items:center; }
.portfolio-feature h4 { font-size:30px; }
.portfolio-feature p { font:400 16px/1.75 var(--font-body); color:var(--team-muted); max-width:40ch; }
:root[data-theme="dark"] :is(.team-photographic,.portfolio-gallery) { --team-muted:#d4c6e2; --team-accent:#c5a3ff; --team-rule:#5e506b; }
@media(max-width:1060px) {
  .team-photographic .team-intro h2 { font-size:40px; }
  .team-portraits { grid-template-columns:repeat(2,minmax(0,1fr)); gap:36px 22px; }
  .team-photographic .team-person h3 { font-size:23px; }
  .portfolio-brands { gap:22px; }
  .portfolio-project h4 { font-size:21px; }
}
@media(max-width:680px) {
  .team-photographic { padding-top:48px; padding-bottom:48px; }
  .team-photographic .team-intro { grid-template-columns:1fr; gap:20px; }
  .team-photographic .team-next { flex-direction:column; align-items:flex-start; gap:20px; }
  .team-photographic .team-intro h2 { font-size:34px; }
  .team-portraits,.portfolio-sites,.portfolio-brands { grid-template-columns:1fr; gap:36px; }
  .portfolio-feature { grid-template-columns:1fr; gap:6px; }
  .team-photographic .team-person h3 { font-size:27px; margin-top:18px; }
  .team-actions { align-items:flex-start; justify-content:flex-start; }
  .portfolio-heading { display:block; margin:40px 0 24px; }
  .portfolio-heading h3 { font-size:28px; margin-bottom:14px; }
  .portfolio-project h4 { font-size:25px; }
  .portfolio-gallery { margin-top:44px; }
}
