@import url("/site-tokens.css");
.upcoming-events{background:var(--surface);color:var(--navy);border-top:1px solid var(--line)}.upcoming-events .section{padding-top:calc(var(--site-space-unit,4px) * 19);padding-bottom:calc(var(--site-space-unit,4px) * 19)}.events-heading{margin-bottom:calc(var(--site-space-unit,4px) * 8.5)}.events-heading>p{font-size:calc(var(--site-type-base,16px) * 0.8125);letter-spacing:.14em;text-transform:uppercase;font-weight:600;margin:0 0 calc(var(--site-space-unit,4px) * 3.5);color:var(--muted)}.events-heading h2{font-size:clamp(calc(var(--site-type-base,16px) * 1.875),3.5vw,calc(var(--site-type-base,16px) * 2.875));line-height:1.12;letter-spacing:-.035em;margin:0}.events-list{list-style:none;padding:0;margin:0;display:grid;gap:calc(var(--site-space-unit,4px) * 6)}.event-item{margin:0;padding:0}.event-item article{display:grid;grid-template-columns:216px minmax(0,1fr) 244px;background:var(--white);border:1px solid var(--line);border-radius:var(--site-radius-panel,8px);overflow:hidden}.event-date{background:var(--navy);color:var(--site-color-white,#ffffff);padding:calc(var(--site-space-unit,4px) * 8.5) calc(var(--site-space-unit,4px) * 7);min-width:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:calc(var(--site-space-unit,4px) * 2.5)}.event-month{font-size:calc(var(--site-type-base,16px) * 0.8125);font-weight:600;letter-spacing:.09em;white-space:nowrap;text-transform:uppercase;color:var(--light-ink)}.event-days{font-variant-numeric:tabular-nums;font-size:var(--site-type-display,48px);font-weight:500;line-height:1.1;letter-spacing:-.02em;white-space:nowrap}.event-format{font-size:calc(var(--site-type-base,16px) * 0.8125);line-height:1.45;color:var(--light-ink);border-top:1px solid var(--dark-rule);padding-top:calc(var(--site-space-unit,4px) * 4);width:100%;margin-top:calc(var(--site-space-unit,4px) * 3)}.event-date-readable{position:absolute;width:1px;height:1px;padding:0;margin:calc(var(--site-space-unit,4px) * -0.25);overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.event-copy{padding:calc(var(--site-space-unit,4px) * 8.5) calc(var(--site-space-unit,4px) * 8);min-width:0}.event-category{font-size:calc(var(--site-type-base,16px) * 0.8125);color:var(--muted);margin:0 0 calc(var(--site-space-unit,4px) * 2.25)}.event-copy h3{font-size:calc(var(--site-type-base,16px) * 2.25);line-height:1.1;letter-spacing:-.03em;margin:0 0 calc(var(--site-space-unit,4px) * 3.5)}.event-title{font-size:calc(var(--site-type-base,16px) * 1.3125);line-height:1.4;margin:0 0 calc(var(--site-space-unit,4px) * 5);max-width:40ch}.event-location{font-size:var(--site-type-base,16px);font-weight:600;margin:0 0 calc(var(--site-space-unit,4px) * 2)}.event-organizer{font-size:calc(var(--site-type-base,16px) * 0.9375);line-height:1.6;color:var(--muted);margin:0;max-width:53ch}.event-actions{padding:calc(var(--site-space-unit,4px) * 8.5) calc(var(--site-space-unit,4px) * 6);min-width:0;border-left:1px solid var(--line);display:flex;flex-direction:column;justify-content:center;gap:calc(var(--site-space-unit,4px) * 5)}.event-link{display:grid;grid-template-columns:1fr 18px;gap:calc(var(--site-space-unit,4px) * 1.25) calc(var(--site-space-unit,4px) * 1.5);align-items:center;font-size:var(--site-type-base,16px);font-weight:600;line-height:1.4;text-decoration:none;color:var(--navy);padding:calc(var(--site-space-unit,4px) * 1.75) 0;border-bottom:1px solid var(--dark-rule);transition:border-color .2s ease,color .2s ease;min-height:48px}.event-link>span:last-child{grid-column:2;grid-row:1/3;justify-self:end;align-self:center}.event-link-type{display:block;grid-column:1;font-size:calc(var(--site-type-base,16px) * 0.8125);font-weight:400;color:var(--muted)}.event-link:hover{border-color:var(--navy);color:var(--navy-hover)}.event-link:focus-visible{outline:3px solid var(--blue,var(--navy-hover));outline-offset:5px}.event-deadline{font-size:calc(var(--site-type-base,16px) * 0.8125);line-height:1.6;color:var(--muted);margin:0;padding-top:var(--site-space-unit,4px);border-top:1px solid var(--line)}.event-deadline time{display:block;color:var(--navy);font-size:var(--site-type-small,14px)}
@media(max-width:1050px){.event-item article{grid-template-columns:200px minmax(0,1fr)}.event-deadline{border-top:0;padding-top:0}.event-actions{grid-column:2;border-left:0;border-top:1px solid var(--line);margin:0 calc(var(--site-space-unit,4px) * 7);padding:calc(var(--site-space-unit,4px) * 5) 0 calc(var(--site-space-unit,4px) * 6.5);display:grid;grid-template-columns:1fr 1fr;gap:calc(var(--site-space-unit,4px) * 5)}.event-date{grid-row:1/3;padding:calc(var(--site-space-unit,4px) * 6.5) calc(var(--site-space-unit,4px) * 5.5)}.event-copy{padding:calc(var(--site-space-unit,4px) * 7)}.event-days{font-size:calc(var(--site-type-base,16px) * 2.75)}.event-deadline{grid-column:1/-1}.event-deadline time{display:inline}.event-copy h3{font-size:var(--site-type-heading,32px)}}
@media(max-width:600px){.upcoming-events .section{padding-top:calc(var(--site-space-unit,4px) * 12);padding-bottom:calc(var(--site-space-unit,4px) * 12)}.events-heading{margin-bottom:calc(var(--site-space-unit,4px) * 6)}.events-heading>p{margin-bottom:calc(var(--site-space-unit,4px) * 3)}.event-item article{display:flex;flex-direction:column}.event-date{display:grid;grid-template-columns:1fr auto;gap:calc(var(--site-space-unit,4px) * 1.5) calc(var(--site-space-unit,4px) * 4);align-items:center;padding:calc(var(--site-space-unit,4px) * 5) calc(var(--site-space-unit,4px) * 5.5)}.event-month{font-size:calc(var(--site-type-base,16px) * 0.9375)}.event-days{grid-column:2;grid-row:1/3;font-size:calc(var(--site-type-base,16px) * 2.375)}.event-format{font-size:calc(var(--site-type-base,16px) * 0.8125);border:0;padding:0;margin:0}.event-copy{padding:calc(var(--site-space-unit,4px) * 6) calc(var(--site-space-unit,4px) * 5.5)}.event-copy h3{font-size:calc(var(--site-type-base,16px) * 1.875)}.event-title{font-size:calc(var(--site-type-base,16px) * 1.1875);line-height:1.45}.event-actions{margin:0 calc(var(--site-space-unit,4px) * 5.5);padding:0 0 calc(var(--site-space-unit,4px) * 6);display:flex;gap:calc(var(--site-space-unit,4px) * 3.5);border-top:0}.event-link{font-size:var(--site-type-base,16px)}.event-deadline{padding-top:calc(var(--site-space-unit,4px) * 0.5)}.event-deadline time{display:inline}}
@media(prefers-reduced-motion:reduce){.event-link{transition:none}}
/* 320px: the two-column date grid cannot fit long day ranges; stack it. */
@media(max-width:360px){
 .event-date{display:flex;flex-direction:column;align-items:flex-start}
 .event-days{white-space:normal;font-size:var(--site-type-heading,32px)}
}
