/* Chronological milestones, supplied certificates and community calls. */
.events-section .section-intro { max-width:430px; }
.events-community { display:grid; grid-template-columns:1.3fr 1fr; gap:40px; align-items:center; margin:14px 0 65px; padding:clamp(24px,4vw,48px); border:1px solid #80aec4; border-radius:24px; background:linear-gradient(135deg,#c3e4f8,#d4eee1); }
.events-community h3 { font-size:clamp(25px,2.6vw,36px); letter-spacing:-.04em; line-height:1.2; margin:12px 0 20px; }
.events-community p { font-size:15px; line-height:1.8; color:#234567; }
.events-community .kicker { font-size:10px; }
.events-community-actions { display:flex; flex-direction:column; align-items:flex-start; gap:18px; }
.events-community-actions > p { font-size:12px; margin:0; overflow-wrap:anywhere; }
.event-action,.event-card-action a,.event-recap-open { display:inline-flex; gap:16px; align-items:center; justify-content:center; min-height:46px; padding:12px 18px; border:1px solid #497a91; border-radius:11px; background:#e3f1f9; color:#082a5a; font:600 12px/1.4 OpenSans,Arial,sans-serif; text-decoration:none; cursor:pointer; transition:background 180ms ease,color 180ms ease; }
.event-action-primary,.event-action:hover,.event-card-action a:hover,.event-recap-open:hover { background:var(--chrome-green-surface); color:#fff; border-color:#20553f; }
.event-action:focus-visible,.event-card-action a:focus-visible,.event-recap-open:focus-visible,.events-values > summary:focus-visible { outline:3px solid #075f96; outline-offset:4px; }
.event-timeline { list-style:none; margin:0; padding:0 0 0 48px; position:relative; }
.event-timeline::before { content:""; position:absolute; top:23px; bottom:23px; left:14px; width:2px; background:linear-gradient(#1989bf,#286a53); }
.event-item { position:relative; margin:0 0 30px; }
.event-marker { position:absolute; left:-48px; top:28px; width:30px; height:30px; display:grid; place-items:center; border:1px solid #286a53; border-radius:50%; background:#d9ecee; color:#20553f; font:700 10px OpenSans,Arial,sans-serif; }
.event-card { position:relative; border:1px solid #8aafc6; border-radius:22px; overflow:hidden; background:linear-gradient(125deg,#e7f3ffed,#d8eaf2ed); box-shadow:0 10px 30px #082a5a08; }
.event-card-with-media { display:grid; grid-template-columns:minmax(200px,.8fr) minmax(0,1.4fr); }
.event-card-media { margin:0; display:grid; place-items:center; padding:22px; background:#f6faff; }
.event-card-media img { display:block; width:100%; height:auto; max-height:280px; object-fit:contain; }
.event-card-copy { padding:clamp(24px,3vw,40px); }
.event-card-date { font:600 12px/1.7 OpenSans,Arial,sans-serif; color:#24516e; letter-spacing:.01em; margin:0 0 20px; }
.event-card-tag { font-size:9px; letter-spacing:.13em; text-transform:uppercase; color:#286a53; font-weight:700; margin:0 0 12px; }
.event-card h3 { font-size:clamp(22px,2.25vw,32px); line-height:1.25; letter-spacing:-.035em; color:#082a5a; margin:0 0 15px; }
.event-card-description { color:#264b68; font-size:14px; line-height:1.8; margin:0 0 25px; }
.event-item-future .event-card { border-color:#2c765d; background:linear-gradient(120deg,#d3e8f7,#c9e5d6); }
.event-item-future .event-card-tag { display:inline-block; padding:7px 10px; border-radius:20px; background:#286a53; color:#fff; }
.events-values { margin-top:58px; border-top:1px solid #739ab4; padding-top:26px; }
.events-values > summary { list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:15px 0; color:#082a5a; font-size:26px; font-weight:600; }
.events-values > summary::-webkit-details-marker { display:none; }
.events-values[open] > summary span { transform:rotate(45deg); }
.events-values .events-purpose { padding-top:30px; }
.event-recap-dialog { width:min(700px,calc(100vw - 32px)); max-height:calc(100dvh - 48px); padding:clamp(24px,4vw,42px); overflow:auto; border:1px solid #8bb5cc; border-radius:23px; background:linear-gradient(125deg,#dceefb,#d6ede5); color:#082a5a; box-shadow:0 30px 100px #041b3a66; overscroll-behavior:contain; }
.event-recap-dialog::backdrop { background:#061b3cbf; backdrop-filter:blur(5px); }
.event-recap-top { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:20px; }
.event-recap-top .event-card-date { margin:0; }
.event-recap-close { width:44px; height:44px; flex-shrink:0; border:1px solid #497a91; border-radius:50%; background:#d2e7ee; color:#082a5a; font-size:18px; cursor:pointer; }
.event-recap-close:hover { background:#286a53; color:#fff; }
.event-recap-close:focus-visible { outline:3px solid #075f96; outline-offset:3px; }
.event-recap-dialog h3 { font-size:clamp(24px,3vw,34px); line-height:1.25; margin:0 0 24px; letter-spacing:-.035em; }
.event-recap-body p { font-size:15px; line-height:1.9; color:#234567; margin:0 0 20px; }
.event-recap-body a { color:#075b8c; text-decoration:underline; text-underline-offset:4px; overflow-wrap:anywhere; }
.event-recap-body .event-card-media { border-radius:12px; margin-top:28px; }
.event-recap-body .event-card-media img { max-height:none; }
@media(max-width:700px) {
 .events-community { grid-template-columns:1fr; gap:26px; margin-bottom:40px; padding:25px; }
 .events-community-actions { gap:15px; }
 .event-timeline { padding-left:31px; }
 .event-timeline::before { left:8px; }
 .event-marker { left:-31px; width:19px; height:19px; top:28px; font-size:8px; }
 .event-card-with-media { grid-template-columns:1fr; }
 .event-card-copy { padding:25px 22px; }
 .event-card h3 { font-size:23px; }
 .event-card-media { padding:18px; }
 .event-card-media img { max-height:230px; }
 .event-recap-dialog { max-height:calc(100dvh - 24px); width:calc(100vw - 24px); padding:24px; border-radius:18px; }
 .event-recap-body p { font-size:14px; }
}
@media(prefers-reduced-motion:reduce) { .event-action,.event-card-action a,.event-recap-open { transition:none; } }
@media(forced-colors:active) { .event-card,.events-community,.event-recap-dialog { background:Canvas; color:CanvasText; border-color:CanvasText; } .event-timeline::before { background:CanvasText; } .event-marker { background:Canvas; color:CanvasText; } }
