.gn-mentor-overview{--gn-lime:#85c227;background:#00162a;color:#fff;padding:48px;font-family:Poppins,var(--grit-font,sans-serif);line-height:1.6}.gn-mentor-overview *{box-sizing:border-box}.gn-mentor-overview-inner{max-width:1440px;margin:auto;display:grid;grid-template-columns:minmax(280px,400px) minmax(0,1fr);gap:32px;align-items:center}.gn-mentor-eyebrow{font-size:13px;letter-spacing:.12em;font-weight:600;color:#85c227;margin:0 0 16px}.gn-mentor-intro h2{color:#fff;font:700 40px/1.2 Outfit,var(--grit-font-heading,sans-serif);margin:0 0 24px}.gn-mentor-intro>p:not(.gn-mentor-eyebrow){font-size:16px;line-height:1.5;margin-bottom:24px}.gn-mentor-links{display:flex;gap:12px;flex-wrap:wrap}.gn-mentor-overview .gn-button,.gn-preview .gn-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 24px;border-radius:8px;border:1px solid #85c227;background:#85c227;color:#00162a;font-weight:600;font-size:15px;text-decoration:none}.gn-mentor-overview .gn-button-white{background:#fff;border-color:#fff}.gn-mentor-list-link{color:#fff;text-underline-offset:4px;padding:10px 0;flex-basis:100%}.gn-mentor-map{position:relative;overflow:hidden;border:1px solid #244257;border-radius:16px;background:#062239;aspect-ratio:975/610}.gn-mentor-map>img{display:block;width:100%;height:100%;object-fit:contain}.gn-overview-markers{position:absolute;inset:0}.gn-overview-pin{position:absolute;transform:translate(-50%,-50%);width:44px;height:44px;display:grid;place-items:center;text-decoration:none;color:#00162a;font-size:13px;font-weight:700;z-index:1}.gn-overview-pin::before{content:'';position:absolute;inset:9px;background:#85c227;border:2px solid white;border-radius:50%;z-index:-1}.gn-overview-pin:focus,.gn-overview-pin:hover{z-index:3}.gn-overview-message{position:absolute;inset:35% 12% auto;background:#00162aee;border-radius:12px;padding:24px;text-align:center;color:#fff;font-size:18px}.gn-overview-message:empty{display:none}.gn-mentor-map-caption{font-size:12px;color:#b6c5d2;margin:12px 0 0}.gn-mentor-list{max-width:1440px;margin:24px auto 0;border-top:1px solid #395265;padding-top:16px}.gn-mentor-list summary{cursor:pointer;min-height:44px;display:list-item}.gn-mentor-list ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.gn-mentor-list li{background:#173145;padding:20px;border-radius:12px;display:flex;flex-direction:column;gap:8px}.gn-mentor-list li>a{font-weight:600;color:#fff}.gn-mentor-list li>span{font-size:13px;color:#d1dee8}.gn-mentor-list-contact{display:flex;gap:8px;flex-wrap:wrap}.gn-mentor-list-contact .gn-button{font-size:13px;padding:10px}.gn-mentor-overview a:focus-visible,.gn-mentor-overview summary:focus-visible{outline:3px solid #fff;outline-offset:4px}.gn-contact-panel{padding:24px;background:#f0f2f6;border-radius:16px;margin:24px 0}.gn-contact-panel h3{font:700 24px/1.3 Outfit,var(--grit-font-heading,sans-serif);margin:0 0 8px;color:#00162a}.gn-contact-panel p{font-size:14px;line-height:1.5;color:#53616d}.gn-contact-panel .gn-profile-actions{margin-top:16px;gap:12px}.gn-contact-panel .gn-button-outline{background:#fff}.gn-profile.gn-mentor-profile{font-family:Poppins,var(--grit-font,sans-serif)}.gn-mentor-profile>.gn-avatar{width:88px;height:88px;max-width:88px;border-radius:50%;background:#00162a}.gn-mentor-profile h2{font-family:Outfit,var(--grit-font-heading,sans-serif)}.gn-preview{background:#f0f2f6;font:16px/1.6 system-ui;color:#00162a;padding:24px}.gn-preview-profile{background:#fff;border-radius:20px;padding:32px;max-width:580px;margin:auto}.gn-preview .gn-button{margin:4px}.gn-preview .gn-button-outline{background:#fff;border-color:#ccd5dc}
@media(max-width:900px){.gn-mentor-overview{padding:32px 24px}.gn-mentor-overview-inner{grid-template-columns:1fr}.gn-mentor-intro h2{font-size:32px;line-height:1.25}.gn-mentor-intro>p{max-width:620px}.gn-mentor-list ul{grid-template-columns:1fr 1fr}}
@media(max-width:540px){.gn-mentor-overview{padding:32px 24px}.gn-mentor-links{flex-direction:column}.gn-mentor-links>a{width:100%}.gn-mentor-list ul{grid-template-columns:1fr}.gn-overview-message{padding:16px;font-size:14px;inset:28% 8% auto}.gn-contact-panel{padding:20px}.gn-contact-panel .gn-profile-actions{flex-direction:column;align-items:stretch}}
@media(prefers-reduced-motion:reduce){.gn-mentor-overview *{scroll-behavior:auto!important;transition:none!important}}

.gn-mentor-identity{background:#00162a;color:#fff;border-radius:16px;padding:24px}.gn-mentor-identity h2{color:#fff;font-size:32px;line-height:1.25;margin-top:16px}.gn-mentor-identity .gn-location,.gn-mentor-identity .gn-affiliation{color:#d3dce4}.gn-mentor-identity .gn-avatar{width:88px;height:88px;max-width:88px;border-radius:50%}.gn-mentor-identity .gn-tags{margin-top:12px}.gn-mentor-profile .gn-profile-bio{font-size:16px;line-height:1.6}
.gn-profile .gn-mentor-identity h2{color:#fff}.gn-profile .gn-mentor-identity .gn-location,.gn-profile .gn-mentor-identity .gn-affiliation{color:#d3dce4}.gn-profile .gn-mentor-identity .gn-tag{background:#eef4e8;color:#193116;border-color:#b7c8a7}.gn-profile .gn-mentor-identity .gn-course{color:#d6e9bb;border-color:#8cab66}
.gn-profile .gn-mentor-identity .gn-course-badge{color:#e7f2d6;border-color:#8cab66;background:#1d382b}.gn-profile .gn-mentor-identity .gn-camp-count{color:#fff;border-color:#7b91a4}

/* Mentor overview and contact controls share the directory's gentle response. */
.gn-mentor-overview{--gn-spring:cubic-bezier(.22,1.3,.5,1)}
.gn-mentor-overview .gn-button{transition:transform .22s var(--gn-spring),background-color .18s ease,box-shadow .22s ease}
.gn-mentor-overview .gn-button:active{transform:translateY(1px) scale(.98)}
.gn-mentor-overview .gn-button:hover{background:#9ad541;border-color:#9ad541;color:#00162a}
.gn-mentor-overview .gn-button-white:hover{background:#edf3e6;border-color:#edf3e6}
.gn-mentor-list summary{padding:10px 0;font-weight:600;list-style-position:inside}
.gn-mentor-list summary::marker{color:#85c227}
.gn-mentor-list[open] summary{margin-bottom:12px}
.gn-mentor-list li{min-width:0;transition:background-color .18s ease,box-shadow .2s ease}
.gn-mentor-list li>a{overflow-wrap:anywhere;text-underline-offset:4px}
.gn-mentor-list li:focus-within{background:#1c3c52;box-shadow:inset 0 0 0 1px #749855}
.gn-mentor-list-contact{margin-top:auto;padding-top:4px}
.gn-overview-pin::before{transition:transform .22s var(--gn-spring),box-shadow .2s ease}
.gn-overview-pin:focus-visible::before{box-shadow:0 0 0 5px #85c22733}
.gn-contact-panel .gn-profile-actions .gn-button{flex:1 1 auto}
.gn-mentor-identity{padding-right:28px}
.gn-mentor-profile .gn-contact-panel p:last-child{margin-bottom:0}
@media(hover:hover) and (pointer:fine){
 .gn-mentor-overview .gn-button:hover{transform:translateY(-2px);box-shadow:0 6px 18px #0003}
 .gn-overview-pin:hover::before{transform:scale(1.16);box-shadow:0 0 0 6px #85c22726}
 .gn-mentor-list li:hover{background:#1c3c52}
}
@media(max-width:540px){
 .gn-mentor-map{border-radius:12px}
 .gn-mentor-list-contact .gn-button{flex:1}
 .gn-mentor-map-caption{line-height:1.6}
 .gn-mentor-identity{padding:22px}
}
@media(prefers-reduced-motion:reduce){
 .gn-mentor-overview *,.gn-mentor-overview *::before,.gn-mentor-overview *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
 .gn-mentor-overview .gn-button:is(:hover,:active),.gn-overview-pin:hover::before{transform:none!important}
}
