/* Volunteering section follows the portfolio colour system in both themes. */
.volunteer-section{padding-top:6px;padding-bottom:94px}
.volunteer-heading{align-items:flex-end}
.volunteer-card{position:relative;overflow:hidden;padding:38px 40px 28px;border:1px solid var(--line);border-radius:22px;background:var(--surface);box-shadow:var(--shadow);transition:border-color .25s ease,transform .25s ease,box-shadow .25s ease}
.volunteer-card::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,#173a94 0%,#7893cf 58%,transparent 100%)}
.volunteer-card-head{display:flex;align-items:center;gap:18px;padding-bottom:29px;border-bottom:1px solid var(--line)}
.volunteer-mark{display:grid;place-items:center;flex:none;width:52px;height:52px;border-radius:15px;background:var(--soft);color:var(--navy)}
.volunteer-mark svg{width:27px;height:27px}
.volunteer-identity{min-width:0}
.volunteer-period{display:block;margin-bottom:5px;color:var(--muted);font:700 10px/1.4 var(--font-site);letter-spacing:1.4px}
.volunteer-identity h3{font-size:21px;line-height:1.3;letter-spacing:-.55px}
.volunteer-identity p{margin-top:4px;color:var(--muted);font-size:12px}
.volunteer-site{display:inline-flex;align-items:center;gap:10px;flex:none;margin-left:auto;padding:10px 14px;border:1px solid var(--line);border-radius:10px;color:var(--navy);font-size:11px;font-weight:700;transition:background .2s ease,border-color .2s ease,transform .2s ease}
.volunteer-site:hover{background:var(--soft);border-color:var(--accent);transform:translateY(-2px)}
.volunteer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding-top:29px}
.volunteer-item{padding:0 25px;min-width:0}
.volunteer-item:first-child{padding-left:0}
.volunteer-item:last-child{padding-right:0}
.volunteer-item+.volunteer-item{border-left:1px solid var(--line)}
.volunteer-index{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;margin-bottom:14px;border:1px solid var(--line);border-radius:50%;color:var(--accent);font:700 10px var(--font-site)}
.volunteer-item h4{margin:0 0 9px;color:var(--navy);font-size:15px;line-height:1.35}
.volunteer-item p{margin:0;color:var(--muted);font-size:12px;line-height:1.75}
.volunteer-footnote{margin-top:29px;padding-top:19px;border-top:1px solid var(--line);color:var(--muted);font:600 10px/1.5 var(--font-site);letter-spacing:.7px;text-transform:uppercase}
@media(hover:hover){.volunteer-card:hover{transform:translateY(-3px);border-color:var(--accent);box-shadow:0 24px 55px -35px #173a9480}}
@media(max-width:900px){.volunteer-card{padding:31px 29px 24px}.volunteer-item{padding-inline:16px}}
@media(max-width:680px){.volunteer-section{padding-bottom:62px}.volunteer-card{padding:26px 22px 22px}.volunteer-card-head{display:grid;grid-template-columns:46px minmax(0,1fr);gap:10px 14px}.volunteer-mark{width:46px;height:46px}.volunteer-identity h3{font-size:18px}.volunteer-site{grid-column:1 / -1;margin:12px 0 0;justify-self:start}.volunteer-grid{grid-template-columns:1fr;padding-top:4px}.volunteer-item,.volunteer-item:first-child,.volunteer-item:last-child{padding:20px 0}.volunteer-item+.volunteer-item{border-left:0;border-top:1px solid var(--line)}.volunteer-index{margin-bottom:9px}.volunteer-footnote{margin-top:4px}}
@media(prefers-reduced-motion:reduce){.volunteer-card,.volunteer-site{transition:none!important}.volunteer-card:hover,.volunteer-site:hover{transform:none!important}}
@media print{.volunteer-card{box-shadow:none;break-inside:avoid}.volunteer-item{break-inside:avoid}}
