.photographer-breadcrumb { display:flex; gap:12px; flex-wrap:wrap; align-items:center; margin:0 0 30px; font-size:14px; font-weight:700; }
.photographer-breadcrumb > span:last-child { opacity:.65; }
.photographer-intro { display:grid; grid-template-columns:minmax(0, .85fr) minmax(0, 1.3fr); gap:42px; align-items:center; margin-bottom:56px; }
.photographer-intro--text { grid-template-columns:minmax(0, 760px); }
.photographer-intro h1, .photographer-directory h1 { font-family:'FATRACING Display', 'Arial Black', sans-serif; font-size:clamp(48px, 6.5vw, 96px); line-height:.98; letter-spacing:0; overflow-wrap:anywhere; margin:0 0 22px; }
.photographer-intro__bio { max-width:45ch; font-size:18px; font-weight:650; line-height:1.55; margin:0 0 24px; }
.photographer-links { display:flex; gap:10px; flex-wrap:wrap; }
.photographer-links .button { white-space:normal; text-align:center; }
.photographer-contact-text { overflow-wrap:anywhere; line-height:1.5; font-weight:650; }
.photographer-intro__jump { display:inline-block; margin-top:26px; }
.photographer-hero { margin:0; min-width:0; }
.photographer-hero img { display:block; width:100%; height:auto; border:4px solid #000; border-radius:var(--radius, 16px); box-sizing:border-box; }
.photographer-hero figcaption { margin-top:12px; text-align:right; font-size:13px; font-weight:700; opacity:.7; }
.photographer-works { scroll-margin-top:120px; }
.photographer-page .coach-gallery { margin:0; }
.photographer-page .coach-gallery__heading h2, .photographer-section-heading h2, .photographer-donations h2 { font-size:clamp(24px, 3vw, 40px); margin:0; }
.photographer-page .coach-gallery__grid { columns:3; column-gap:22px; }
.photographer-page .coach-gallery__photo { margin-bottom:22px; border-width:4px; }
.photographer-page .coach-gallery__photo img { aspect-ratio:auto; }
.photographer-page .coach-gallery__photo span { font-size:12px; }
.photographer-credit { font-size:14px; font-weight:650; line-height:1.5; margin:18px 0 0; opacity:.7; }
.photographer-albums { margin-top:56px; }
.photographer-section-heading { display:flex; align-items:baseline; gap:16px; flex-wrap:wrap; justify-content:space-between; margin-bottom:20px; }
.photographer-section-heading > span { font-size:14px; font-weight:700; }
.photographer-album-list { border-top:4px solid #000; }
.photographer-album { display:flex; gap:20px; align-items:center; padding:20px 0; border-bottom:2px solid #000; color:#000; text-decoration:none; font-weight:900; line-height:1.4; }
.photographer-album > img { width:120px; height:90px; object-fit:cover; border-radius:var(--radius, 16px); flex-shrink:0; }
.photographer-album > span { min-width:0; overflow-wrap:anywhere; }
.photographer-album__action { margin-left:auto; font-size:12px; flex-shrink:0; text-transform:uppercase; border-bottom:3px solid #ff4a00; }
.photographer-album:hover, .photographer-row__name:hover { color:#ff4a00; }
.photographer-album:focus-visible, .photographer-row__name:focus-visible { outline:3px solid #ff4a00; outline-offset:4px; }
.photographer-donations { border:4px solid #000; border-radius:var(--radius, 16px); padding:24px; margin-top:40px; max-width:760px; }
.photographer-donations p { font-weight:650; line-height:1.5; }
.photographer-empty { margin:24px 0; }
.photographer-directory__intro { max-width:65ch; font-size:18px; font-weight:650; line-height:1.5; margin:0 0 32px; }
.photographer-directory-list { border-top:4px solid #000; }
.photographer-row { display:grid; grid-template-columns:160px minmax(0,1fr) minmax(240px,.9fr); gap:24px; align-items:center; padding:24px 0; border-bottom:2px solid #000; }
.photographer-row__cover { display:block; border:3px solid #000; border-radius:var(--radius, 16px); overflow:hidden; aspect-ratio:4/3; background:#fff; }
.photographer-row__cover img { width:100%; height:100%; display:block; object-fit:cover; }
.photographer-row__cover--empty { border-style:dashed; display:flex; align-items:center; justify-content:center; font-size:40px; font-family:'FATRACING Display', sans-serif; color:#000; text-decoration:none; }
.photographer-row__name { color:#000; text-decoration:none; font-size:24px; line-height:1.2; font-weight:900; }
.photographer-row__meta { margin:10px 0 14px; font-size:14px; font-weight:650; line-height:1.5; opacity:.7; }
.photographer-row__contacts { min-width:0; }
@media (max-width:1050px) {
  .photographer-intro { gap:26px; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); }
  .photographer-row { grid-template-columns:140px minmax(0,1fr); gap:20px; }
  .photographer-row__contacts { grid-column:2; }
  .photographer-row__cover { grid-row:span 2; }
}
@media (max-width:700px) {
  .photographer-breadcrumb { margin-bottom:24px; }
  .photographer-intro, .photographer-intro--text { grid-template-columns:minmax(0,1fr); gap:28px; margin-bottom:36px; }
  .photographer-intro h1, .photographer-directory h1 { font-size:clamp(42px, 12vw, 72px); }
  .photographer-intro__bio { font-size:16px; }
  .photographer-page .coach-gallery__grid { columns:2; column-gap:10px; }
  .photographer-page .coach-gallery__photo { margin-bottom:10px; border-width:3px; }
  .photographer-album { gap:14px; flex-wrap:wrap; }
  .photographer-album > span:not(.photographer-album__action) { flex:1; }
  .photographer-album__action { margin-left:0; width:fit-content; }
  .photographer-albums { margin-top:36px; }
  .photographer-row { grid-template-columns:100px minmax(0,1fr); gap:14px; padding:20px 0; }
  .photographer-row__name { font-size:20px; }
  .photographer-row__contacts { grid-column:1 / -1; }
  .photographer-row__cover { grid-row:auto; }
  .photographer-row__meta { margin:8px 0 12px; }
}
@media (max-width:420px) { .photographer-page .coach-gallery__grid { columns:1; } }
@media (prefers-reduced-motion:reduce) { .photographer-page *, .photographer-directory * { scroll-behavior:auto; transition:none !important; } }

.photographer-avatar { display:block; width:48px; height:48px; flex-shrink:0; object-fit:cover; border:2px solid #000; border-radius:var(--radius, 16px); box-sizing:border-box; }
.photographer-avatar--profile { width:112px; height:112px; border-width:3px; margin-bottom:24px; }
.photographer-row__identity { display:flex; gap:14px; align-items:center; }
@media (max-width:700px) {
  .photographer-row__identity { display:block; }
  .photographer-row__identity .photographer-avatar { margin-bottom:10px; }
  .photographer-avatar--profile { width:88px; height:88px; margin-bottom:18px; }
}
