.role-intro{padding:clamp(3rem,7vw,6rem) 0 4rem;background:#f2f5f0;color:#183847;border-bottom:1px solid #b8ccc2}
.role-intro h1{font-size:clamp(2.3rem,5.5vw,4.5rem);line-height:1.04;letter-spacing:-.055em;max-width:16ch;margin:1rem 0 1.25rem;color:#183847}.role-intro>div>p{font-size:1.1rem;line-height:1.65;max-width:45rem;color:#3e5a65}
.role-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:2rem 0}
.role-choice{display:flex;flex-direction:column;min-height:19rem;background:#fff;border:1px solid #a7c1b2;padding:1.5rem;border-radius:.4rem;text-decoration:none;color:#183847;transition:border-color .15s,background .15s}
.role-choice:hover{border-color:#17685b;background:#edf4ec}.role-choice .role-number{font-size:.75rem;letter-spacing:.12em;font-weight:700;color:#17685b}.role-choice h2{font-size:1.8rem;line-height:1.2;letter-spacing:-.025em;margin:1rem 0 .75rem;color:#183847}.role-choice p{font-size:.97rem;line-height:1.65;color:#3e5a65;flex-grow:1;margin:0 0 1.5rem}.role-choice .role-destination{font-size:.9rem;font-weight:700;display:flex;justify-content:space-between;gap:1rem;padding-top:1rem;border-top:1px solid #c5d6ca}
.role-intro-foot{display:flex;gap:1rem;flex-wrap:wrap;align-items:center;color:#3e5a65;font-size:.9rem;line-height:1.6}.role-intro-foot a{color:#175c50;font-weight:700;text-decoration:underline;text-underline-offset:.2rem}.role-return{background:#e0ebe2;padding:.7rem 1rem;border-radius:.3rem;margin-top:1.25rem;display:inline-block;color:#183847;font-weight:650}
.role-gate{color:#183847;background:#f8faf6;border:1px solid #a7c1b2;border-radius:.65rem;width:min(51rem,calc(100% - 2rem));max-height:calc(100dvh - 2rem);overflow-y:auto;padding:clamp(1.25rem,4vw,2rem)}
.role-gate::backdrop{background:#142f3be0}.role-gate .gate-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;font-size:.75rem;letter-spacing:.1em;color:#17685b;font-weight:750}.gate-close{width:2.75rem;height:2.75rem;background:#fff;border:1px solid #a7c1b2;color:#183847;font-size:1.5rem;cursor:pointer;border-radius:.25rem;flex-shrink:0}
.role-gate h2{font-size:clamp(1.6rem,4vw,2.5rem);line-height:1.1;letter-spacing:-.035em;margin:1rem 0}.role-gate p{color:#3e5a65;line-height:1.6}.role-gate .role-choices{gap:.75rem;margin:1.5rem 0}.role-gate .role-choice{min-height:13rem;padding:1rem}.role-gate .role-choice h3{font-size:1.25rem;margin:0 0 .6rem}.role-gate .role-choice p{font-size:.9rem;margin-bottom:1rem}.role-gate .role-destination{font-size:.8rem}.gate-foot{display:flex;gap:1rem;justify-content:space-between;align-items:center;flex-wrap:wrap;font-size:.85rem}.gate-foot button{border:0;padding:.65rem 0;background:none;color:#175c50;cursor:pointer;text-decoration:underline;font:inherit;font-weight:650}.gate-foot a{color:#175c50;text-decoration:underline;font-weight:650}
.role-intro a:focus-visible,.role-gate a:focus-visible,.role-gate button:focus-visible{outline:3px solid #a65b31;outline-offset:4px}
@media(max-width:700px){.role-choices{grid-template-columns:1fr}.role-choice{min-height:0;padding:1.25rem}.role-choice h2{margin:.5rem 0}.role-choice p{margin-bottom:1rem}.role-gate .role-choices{grid-template-columns:1fr;gap:.6rem}.role-gate .role-choice{min-height:0;display:block}.role-gate .role-choice h3{margin:0 0 .25rem}.role-gate .role-choice p{margin:0 0 .65rem}.role-gate .role-destination{padding-top:.65rem}.role-gate .gate-head{font-size:.7rem}.role-intro{padding-top:2.5rem}}
@media(prefers-reduced-motion:reduce){.role-choice{transition:none}}

.role-return[hidden]{display:none!important}
