/* Volunteer layout; scoped to this page. */
.volunteer-page .volunteer-hero{padding:48px 0 40px}
.volunteer-page .volunteer-hero-grid{display:grid;grid-template-columns:minmax(0,.98fr) minmax(0,1.02fr);gap:48px;align-items:center}
.volunteer-page .volunteer-hero-copy{min-width:0}
.volunteer-page .volunteer-hero h1{font-size:clamp(40px,4.3vw,60px);line-height:1.03;margin-bottom:18px;max-width:15ch}
.volunteer-page .volunteer-hero .lead{font-size:clamp(21px,2.1vw,27px);line-height:1.35;max-width:25ch;margin-bottom:16px}
.volunteer-page .volunteer-intro{font-size:17px;line-height:1.6;max-width:45ch;margin:0}
.volunteer-page .volunteer-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px;margin-top:26px}
.volunteer-page .volunteer-browse{display:inline-flex;align-items:center;gap:12px;min-height:46px;font-weight:700;text-decoration:underline;text-underline-offset:5px}
.volunteer-page .volunteer-photo{margin:0;min-width:0}
.volunteer-page .volunteer-photo img{width:100%;height:auto;aspect-ratio:auto 4/3;border-radius:4px}
.volunteer-page .volunteer-photo figcaption{font-size:12px;line-height:1.5;margin-top:10px;color:var(--white)}
.volunteer-page .section{padding:48px 0}
.volunteer-page .section h2{font-size:clamp(28px,3vw,38px);line-height:1.15;max-width:30ch;margin-bottom:12px}
.volunteer-page .volunteer-open{font-weight:700;margin:0}
.volunteer-page .volunteer-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;padding:0;list-style:none;margin:30px 0 24px}
.volunteer-page .volunteer-steps li{display:flex;align-items:flex-start;gap:16px;min-width:0;margin:0}
.volunteer-page .volunteer-step-number{display:grid;place-items:center;flex:none;width:42px;height:42px;background:var(--gold);font-size:20px;font-weight:900;border-radius:50%}
.volunteer-page .volunteer-steps h3{font-size:21px;line-height:1.25;margin:0 0 10px}
.volunteer-page .volunteer-steps p{font-size:16px;line-height:1.55;margin:0}
.volunteer-page .volunteer-reminder{border-inline-start:3px solid var(--gold);padding:10px 18px;margin:0;font-size:15px;line-height:1.6;max-width:none!important}
.volunteer-page .volunteer-opportunities{border-top:1px solid var(--grey);border-bottom:1px solid var(--grey)}
.volunteer-page .volunteer-roles-intro{margin:0;max-width:70ch!important}
.volunteer-page .volunteer-role-groups{margin-top:28px;border-top:1px solid var(--grey)}
.volunteer-page .volunteer-role-group{border-bottom:1px solid var(--grey)}
.volunteer-page .volunteer-role-group summary{display:flex;align-items:center;justify-content:space-between;gap:24px;list-style:none;cursor:pointer;padding:24px 0}
.volunteer-page .volunteer-role-group summary::-webkit-details-marker{display:none}
.volunteer-page .volunteer-group-copy{min-width:0}
.volunteer-page .volunteer-group-title{display:block;font-size:25px;font-weight:800;line-height:1.25;margin-bottom:6px}
.volunteer-page .volunteer-group-description{display:block;font-size:16px;line-height:1.5}
.volunteer-page .volunteer-expand{position:relative;flex:none;width:36px;height:36px;border:1px solid var(--grey);border-radius:50%}
.volunteer-page .volunteer-expand:before,.volunteer-page .volunteer-expand:after{content:"";position:absolute;background:var(--black);inset:16px 10px;height:2px}
.volunteer-page .volunteer-expand:after{transform:rotate(90deg)}
.volunteer-page details[open] .volunteer-expand{background:var(--gold);border-color:var(--gold)}
.volunteer-page details[open] .volunteer-expand:after{display:none}
.volunteer-page summary:hover .volunteer-group-title{text-decoration:underline;text-underline-offset:4px}
.volunteer-page .volunteer-role-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 40px;padding:0 0 30px}
.volunteer-page .volunteer-role{border-inline-start:3px solid var(--gold);padding-inline-start:18px;min-width:0}
.volunteer-page .volunteer-role h4{font-size:20px;line-height:1.25;margin:0 0 8px}
.volunteer-page .volunteer-role p{font-size:16px;margin:0}
.volunteer-page .volunteer-year-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px;margin-top:28px}
.volunteer-page .volunteer-year-grid article{border-inline-start:3px solid var(--gold);padding-inline-start:22px;min-width:0}
.volunteer-page .volunteer-year-grid h3,.volunteer-page .volunteer-closing h3{font-size:24px;line-height:1.25;margin:0 0 10px}
.volunteer-page .volunteer-year-grid p{margin:0}
.volunteer-page .volunteer-closing{display:flex;align-items:center;gap:40px;justify-content:space-between;border-top:1px solid var(--grey);padding-top:28px;margin-top:40px}
.volunteer-page .volunteer-closing p{margin:0;max-width:70ch}
.volunteer-page .volunteer-closing .btn{flex:none}
.volunteer-page main a:focus-visible,.volunteer-page main summary:focus-visible{outline:3px solid var(--red);outline-offset:5px}
.volunteer-page .volunteer-hero a:focus-visible{outline-color:var(--white)}
@media(max-width:1000px){
 .volunteer-page .volunteer-hero-grid{gap:28px}
 .volunteer-page .volunteer-steps{gap:22px}
 .volunteer-page .volunteer-steps li{display:block}
 .volunteer-page .volunteer-step-number{margin-bottom:14px}
}
@media(max-width:760px){
 .volunteer-page .volunteer-hero{padding:28px 0 26px}
 .volunteer-page .volunteer-hero-grid{grid-template-columns:1fr;gap:24px}
 .volunteer-page .volunteer-hero h1{font-size:38px;max-width:17ch;margin-bottom:16px}
 .volunteer-page .volunteer-hero .lead{font-size:22px;max-width:30ch;margin-bottom:12px}
 .volunteer-page .volunteer-intro{font-size:16px;max-width:46ch}
 .volunteer-page .volunteer-hero-actions{margin-top:20px;gap:8px}
 .volunteer-page .volunteer-hero-actions .btn{width:100%}
 .volunteer-page .volunteer-browse{margin-inline:auto}
 .volunteer-page .volunteer-photo{max-width:540px;width:100%;margin-inline:auto}
 .volunteer-page .section{padding:32px 0}
 .volunteer-page .volunteer-steps{grid-template-columns:1fr;gap:24px;margin:24px 0}
 .volunteer-page .volunteer-steps li{display:flex;gap:16px}
 .volunteer-page .volunteer-step-number{margin:0;width:38px;height:38px;font-size:18px}
 .volunteer-page .volunteer-steps h3{font-size:21px;margin-bottom:6px}
 .volunteer-page .volunteer-reminder{padding:8px 14px}
 .volunteer-page .volunteer-role-groups{margin-top:22px}
 .volunteer-page .volunteer-role-group summary{padding:22px 0;gap:16px}
 .volunteer-page .volunteer-group-title{font-size:23px}
 .volunteer-page .volunteer-group-description{font-size:15px}
 .volunteer-page .volunteer-expand{width:32px;height:32px}
 .volunteer-page .volunteer-expand:before,.volunteer-page .volunteer-expand:after{inset:14px 8px}
 .volunteer-page .volunteer-role-grid{grid-template-columns:1fr;gap:22px;padding-bottom:26px}
 .volunteer-page .volunteer-year-grid{grid-template-columns:1fr;gap:28px;margin-top:24px}
 .volunteer-page .volunteer-year-grid article{padding-inline-start:18px}
 .volunteer-page .volunteer-closing{display:block;padding-top:24px;margin-top:30px}
 .volunteer-page .volunteer-closing .btn{margin-top:20px;width:100%}
}
