/* Mentorship extends FAMI’s shared editorial system. */
.mentors-page .topic-hero h1 { max-width:13ch; }
.mentor-hero-link { display:flex; width:fit-content; margin-top:1.5rem; }
.mentor-section-heading { margin-bottom:2.5rem; }
.mentor-section-heading h2 + p { max-width:64ch; margin-top:1.25rem; line-height:1.75; font-size:1.125rem; }
.mentor-pillars { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.mentor-pillar { background:white; border-radius:var(--radius-surface); padding:clamp(1.5rem,2.8vw,2.5rem); }
.mentor-pillar-top { display:flex; align-items:center; justify-content:center; margin-bottom:1.5rem; }
.mentor-pillar h3 { margin-bottom:1rem; }
.mentor-pillar p { line-height:1.75; color:#484842; }
.mentor-masterclasses { background:#252624; color:#fff; padding:clamp(3.5rem,7vw,6rem) 0; }
.mentor-class-intro { display:grid; grid-template-columns:1fr 1.1fr; gap:clamp(2rem,5vw,5rem); align-items:center; }
.mentor-class-intro h2 { max-width:17ch; }
.mentor-class-intro p:not(.eyebrow) { color:#deded8; margin:1.5rem 0; line-height:1.75; max-width:44ch; }
.mentor-class-intro img { width:100%; aspect-ratio:3/2; object-fit:cover; border-radius:var(--radius-surface); }
.mentor-masterclasses .text-link { color:white; }
.mentor-masterclasses .text-link:hover { color:#ff858a; }
.mentor-join h2 { max-width:26ch; margin-bottom:2.5rem; }
.mentor-join-grid { display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; }
.mentor-join-card { min-width:0; padding:clamp(1.5rem,4vw,3.5rem); border-radius:var(--radius-surface); background:white; display:flex; flex-direction:column; align-items:flex-start; }
.mentor-join-card--dark { color:white; background:var(--ink,#0a0a0a); }
.mentor-join-card .eyebrow { margin-bottom:1.5rem; }
.mentor-join-card h3 { max-width:18ch; }
.mentor-join-card > p:not(.eyebrow) { line-height:1.75; margin:1.25rem 0 2rem; }
.mentor-join-card .button { margin-top:auto; }
.mentor-application-note { margin-top:1.5rem; color:#51514b; font-size:.875rem; line-height:1.6; }
@media(max-width:1000px) { .mentor-pillars { gap:1rem; } .masterclass-content { padding-left:0; } }
@media(max-width:800px) {
  .mentors-page .topic-hero-photo img { object-position:center 35%; }
  .mentor-section-heading,.mentor-class-intro,.mentor-join-grid,.mentor-pillars { grid-template-columns:1fr; gap:1.5rem; }
  .mentor-section-heading { gap:1rem; }
  .mentor-pillar-top { margin-bottom:1.5rem; }
  .mentor-class-intro { gap:2rem; }
  .mentor-class-intro img { grid-row:1; }
  .mentor-join-card { align-items:center; }
  .mentor-join-card > :not(.button) { align-self:stretch; }
  .mentor-join-card h3 { max-width:none; }
}
@media(prefers-reduced-motion:reduce) { .masterclass-toggle::after { transition:none; } }

/* A four-scene collage keeps the shared hero footprint at every viewport. */
.mentors-page .mentor-hero-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:repeat(2,minmax(0,1fr)); gap:8px; height:clamp(400px,39vw,570px); overflow:hidden; border-radius:var(--radius-surface); }
.mentors-page .mentor-hero-grid img { width:100%; height:100%; min-height:0; object-fit:cover; border-radius:0; }
@media(max-width:800px) {
 .mentors-page .mentor-hero-grid { height:auto; aspect-ratio:16/9; gap:4px; border-radius:0; }
 .mentors-page .mentor-hero-grid img { height:100%; aspect-ratio:auto; object-position:center 40%; }
}

.mentor-pathways { border-top:1px solid var(--line); }

/* Use the Coalition overview's spacing above and below the divider. */
.mentor-pathways { padding-top:3.5rem; }
@media(max-width:800px) { .mentors-page .topic-hero { padding-bottom:3.5rem; } }
@media(max-width:560px) { .mentor-pathways { padding-top:2.5rem; } }

.mentorship-dialog { position:fixed; width:min(1120px,calc(100vw - 2rem)); max-width:none; max-height:calc(100dvh - 2rem); margin:auto; padding:0; border:0; border-radius:var(--radius-surface); background:var(--bone); color:var(--ink); overflow:auto; overscroll-behavior:contain; }
.mentorship-dialog::backdrop { background:rgba(10,10,10,.65); }
.mentorship-close { position:absolute; right:1rem; top:1rem; z-index:2; display:grid; place-items:center; width:44px; height:44px; border:1px solid var(--line); border-radius:50%; background:white; color:var(--ink); }
.mentorship-close:hover { background:var(--ink); color:white; }
.mentorship-close span { position:relative; width:20px; height:20px; }
.mentorship-close span::before,.mentorship-close span::after { content:""; position:absolute; width:20px; height:1.5px; left:0; top:9px; background:currentColor; transform:rotate(45deg); }
.mentorship-close span::after { transform:rotate(-45deg); }
.mentorship-form-layout { display:grid; grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr); }
.mentorship-form-art { position:relative; min-width:0; background:#d9d8d1; }
.mentorship-form-art img { position:absolute; inset:0; display:block; width:100%; height:100%; max-height:none; object-fit:cover; object-position:62% center; border-radius:0; }
.mentorship-form-content { min-width:0; padding:3.5rem 2.5rem 2.5rem; }
.mentorship-form-content h2 { font-size:clamp(1.9rem,3.1vw,2.75rem); line-height:1.15; margin-bottom:1.25rem; }
.mentorship-form-content .topic-eyebrow { padding-right:2rem; }
.mentorship-form-intro { line-height:1.7; margin-bottom:1.75rem; }
.mentorship-required-note { font-size:.8rem; color:#55554e; margin-bottom:1.25rem; }
.mentorship-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 1rem; }
.mentorship-field { margin-bottom:1.25rem; min-width:0; }
.mentorship-field label { display:block; font-size:.875rem; font-weight:600; line-height:1.5; margin-bottom:.5rem; }
.mentorship-field input,.mentorship-field textarea { width:100%; min-height:48px; border:1px solid #81817b; border-radius:var(--radius-control); background:#fff; color:var(--ink); font:inherit; font-size:1rem; padding:.75rem; }
.mentorship-field textarea { resize:vertical; min-height:140px; }
.mentorship-field input:focus-visible,.mentorship-field textarea:focus-visible,.mentorship-nomination input:focus-visible { outline:3px solid var(--focus); outline-offset:2px; }
.mentorship-nomination,.mentorship-nominator { border:0; padding:0; margin:0 0 1.5rem; min-width:0; }
.mentorship-nomination legend,.mentorship-nominator legend { font-weight:700; margin-bottom:.6rem; }
.mentorship-nomination label { display:inline-flex; align-items:center; min-height:44px; gap:.6rem; margin-right:1rem; }
.mentorship-nomination input { width:18px; height:18px; accent-color:var(--coral-action); }
.mentorship-nominator { border-top:1px solid var(--line); padding-top:1.2rem; }
.mentorship-nominator[hidden],.mentorship-nomination[hidden],.mentorship-dialog [hidden] { display:none; }
.mentorship-form-status:not(:empty) { margin:1rem 0; line-height:1.6; }
.mentorship-submit:disabled { opacity:.65; cursor:wait; }
.mentorship-confirmation h3 { margin-bottom:1rem; }
.mentorship-confirmation p { line-height:1.7; margin-bottom:1.5rem; }
.mentorship-trap { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
@media(max-width:800px) {
 .mentorship-dialog { width:calc(100vw - 1rem); max-height:calc(100dvh - 1rem); }
 .mentorship-form-layout { grid-template-columns:minmax(0,1fr); }
 .mentorship-form-art img { position:static; height:190px; width:100%; object-position:center 38%; }
 .mentorship-form-content { padding:1.75rem 1.25rem; }
 .mentorship-fields { grid-template-columns:minmax(0,1fr); }
 .mentorship-form-content .topic-eyebrow { padding-right:0; }
}
