.event-hero{background:var(--pale);padding:32px 0 46px}.back-link{font-size:12px;color:var(--muted);font-weight:600}.event-heading{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-top:36px}.event-heading .eyebrow{margin-bottom:16px}.event-heading h1{font-size:clamp(38px,4.8vw,64px);letter-spacing:-2.5px;margin-bottom:16px}.event-subtitle{font-size:20px;color:var(--muted);margin:0}.event-date-tile{border-left:1px solid #c7ceda;padding-left:50px;display:flex;flex-direction:column;align-items:center}.event-date-tile strong{font-size:85px;line-height:1.1;letter-spacing:-5px}.event-date-tile span{font-size:10px;letter-spacing:1px;font-weight:700}.event-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:54px;padding-top:48px}.event-main{min-width:0}.event-section{padding-bottom:38px;margin-bottom:38px;border-bottom:1px solid var(--line)}.event-section h2{font-size:29px;letter-spacing:-1px}.event-section .eyebrow{font-size:10px;margin-bottom:12px;color:var(--muted)}.event-section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px}.event-section-head .text-link{font-size:11px;white-space:nowrap}#route-map{height:390px;background:#e7eae6;z-index:0;border:1px solid var(--line)}.route-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:18px}.route-footer>span{font-size:11px;color:var(--muted)}.route-footer .button{font-size:12px;padding:10px 16px;min-height:42px}.event-summary{background:var(--pale);border-top:4px solid var(--navy);padding:28px}.event-summary .eyebrow{font-size:10px;letter-spacing:1px;margin-bottom:16px}.event-summary h2{font-size:32px;letter-spacing:-1px}.event-summary dl{margin:26px 0 14px}.event-summary dl div{padding:15px 0;border-bottom:1px solid var(--line)}.event-summary dt{font-size:11px;color:var(--muted);margin-bottom:6px}.event-summary dd{margin:0;font-weight:700;font-size:17px}.pending{display:block;font-size:10px;font-weight:500;color:#6f5b30;margin-top:4px}.location-link{font-size:11px}.time-note{font-size:11px;color:var(--muted);margin:20px 0}.event-join{width:100%;margin-bottom:10px;font-size:12px}.guest-link{display:block;text-align:center;text-decoration:underline;text-underline-offset:4px;font-weight:600;font-size:11px;margin-top:10px}.event-summary .source-note{font-size:10px}.event-partner{display:block;text-align:center;padding:30px 25px;border:1px solid var(--line);margin-top:24px}.event-partner span{font-size:8px;letter-spacing:1.4px;color:var(--muted);font-weight:700}.event-partner img{margin-top:16px}.ride-details{display:grid;grid-template-columns:1.1fr 1fr;gap:36px}.stops{list-style:none;padding:0;margin:24px 0 0}.stops li{display:flex;gap:18px;margin-bottom:24px}.stops li>span{font-size:11px;color:var(--muted);padding-top:5px}.stops h3{font-size:16px;margin-bottom:4px}.stops p{font-size:12px;color:var(--muted);margin:0}.free-section{border-left:1px solid var(--line);padding-left:30px}.free-section h3{font-size:23px;line-height:1.35;letter-spacing:-.6px}.member-gate{background:var(--pale);padding:28px;display:flex;gap:24px;margin-top:24px}.gate-symbol{font-size:32px}.member-gate h3{font-size:18px;margin-bottom:10px}.member-gate p,.comment-intro{font-size:13px;color:var(--muted)}.member-gate .text-link{font-size:12px}.comment-intro{margin-top:20px}.event-pagination{display:flex;justify-content:space-between;gap:20px;font-size:11px;font-weight:600}.event-pagination a:last-child{text-align:right}.event-pagination span{display:block;margin-top:4px;font-weight:400;color:var(--muted)}.event-preview-note{margin-top:50px;font-size:10px;color:var(--muted);padding-top:20px;padding-bottom:20px;border-top:1px solid var(--line)}.event-page .sponsors{border-top:1px solid var(--line)}.event-page dialog label{display:block;margin:15px 0;font-size:12px;font-weight:600}.event-page dialog input{display:block;width:100%;padding:12px;border:1px solid var(--line);margin-top:6px;font:inherit}.event-page dialog h2{font-size:27px}.guest-demo-result{margin-top:18px;font-size:13px;background:var(--pale);padding:16px}.leaflet-container{font-family:Montserrat,Arial,sans-serif}.map-fallback{padding:40px;font-size:13px}
@media(max-width:1000px){.event-layout{gap:30px;grid-template-columns:minmax(0,1fr) 280px}.event-summary{padding:22px}.event-section-head{align-items:start;flex-direction:column}.ride-details{grid-template-columns:1fr}.free-section{border-left:0;border-top:1px solid var(--line);padding:22px 0 0}.event-section h2{font-size:26px}}
@media(max-width:760px){.event-hero{padding:24px 0 30px}.event-heading{margin-top:28px}.event-heading h1{font-size:38px;letter-spacing:-1.5px}.event-heading .eyebrow{font-size:9px}.event-subtitle{font-size:16px}.event-date-tile{display:none}.event-layout{grid-template-columns:1fr;padding-top:28px;gap:30px}.event-sidebar{grid-row:1}.event-summary{padding:24px}.event-summary dl{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:16px}.event-summary dd{font-size:15px}.event-summary h2{font-size:28px}.event-partner{display:none}.event-section-head{flex-direction:row;align-items:end;gap:14px}.event-section h2{font-size:25px}.event-section-head .text-link{font-size:9px}#route-map{height:320px}.route-footer>span{font-size:10px}.ride-details{grid-template-columns:1fr 1fr;gap:20px}.free-section{border-top:0;border-left:1px solid var(--line);padding:0 0 0 20px}.free-section h3{font-size:19px}.event-section{margin-bottom:28px;padding-bottom:28px}.member-gate{padding:22px;gap:16px}.event-preview-note{margin-top:35px}.event-page .sponsors{padding-top:40px}}

.free-strava-link:hover{text-decoration:underline;text-underline-offset:5px}.free-section>.text-link{display:inline-block;margin-top:8px;font-size:12px}

/* Final event layout: the member list is the primary event surface. */
.event-hero{background:#252d45;color:white;padding-bottom:40px}.event-hero .back-link,.event-hero .event-subtitle{color:#cbd3e2}.event-date-tile{border-color:#ffffff30}.event-jump-links{display:flex;gap:24px;flex-wrap:wrap;margin-top:26px}.event-jump-links a{font-size:11px;color:#e1e7f1;text-decoration:underline;text-underline-offset:5px}.event-layout{padding-top:36px;gap:38px}.roster-section{border:1px solid var(--line);padding:0!important;margin-bottom:36px;overflow:hidden}.roster-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:26px 28px}.roster-heading .eyebrow{font-size:9px;letter-spacing:1.4px}.roster-heading h2{font-size:28px}.roster-access{font-size:10px;background:#eef1f6;padding:7px 12px;border-radius:20px;white-space:nowrap;color:#4e5a70}.roster-table{border-collapse:collapse;width:100%;text-align:left;font-size:13px}.roster-table caption{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.roster-table th{background:#f4f6f9;color:var(--muted);font-size:10px;letter-spacing:.4px;font-weight:600;padding:14px 22px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.roster-table td{padding:17px 22px;border-bottom:1px solid #edf0f4}.roster-table th:first-child,.roster-table td:first-child{width:60px}.roster-table th:last-child,.roster-table td:last-child{text-align:right}.roster-table tr:last-child td{border-bottom:0}.roster-table td[colspan]{text-align:center}.roster-locked{padding:18px 12px 24px}.lock-icon{display:block;font-size:38px;color:#8994a9;margin-bottom:6px}.roster-locked h3{font-size:18px;margin-bottom:8px}.roster-locked p{font-size:12px;color:var(--muted);margin-bottom:20px}.roster-locked .button{font-size:11px;min-height:40px;padding:10px 18px}.roster-note{font-size:10px;color:var(--muted);margin:0;padding:15px 22px;border-top:1px solid var(--line);background:#fafbfc}.attendance-yes{background:#edf5ef;color:#386449;font-size:10px;padding:5px 9px;border-radius:16px;white-space:nowrap}.attendance-no{color:#626b7c;font-size:10px}.roster-guest-label{font-size:10px;color:var(--muted);margin-left:7px}.elevation-profile{border:1px solid var(--line);border-top:0;padding:15px 16px 0}.elevation-profile p{font-size:9px;letter-spacing:1.2px;color:var(--muted);margin:0}.elevation-profile svg{display:block;width:100%;height:auto}.event-summary{border-top:0}.event-sidebar .event-summary{position:sticky;top:105px}.event-partner{margin-top:20px}.event-sidebar{align-self:start}.event-section-head h2{font-size:28px}
@media(max-width:760px){.event-jump-links{gap:20px;margin-top:22px}.event-layout{padding-top:24px;gap:24px}.roster-heading{padding:20px}.roster-heading h2{font-size:24px}.roster-access{font-size:9px;padding:6px 9px}.roster-table th,.roster-table td{padding:13px 12px}.roster-table th:first-child,.roster-table td:first-child{width:42px}.roster-note{padding:13px 16px}.event-sidebar .event-summary{position:static}.event-section-head h2{font-size:24px}.roster-locked{padding:14px 0 20px}.event-summary dl{gap:12px}}

.roster-totals{display:flex;gap:28px;padding:0 28px 22px;color:var(--muted);font-size:10px}.roster-totals b{font-size:24px;font-weight:700;color:var(--navy);display:block;line-height:1.4}.roster-table-wrap{max-height:510px;overflow:auto;scrollbar-color:#aab4c5 #f4f6f9;scrollbar-width:thin}.roster-table-wrap:focus-visible{outline:3px solid #2176ff;outline-offset:2px}.roster-table th{position:sticky;top:0;z-index:1}.attendance-maybe{background:#f7f1e3;color:#85621c;font-size:10px;padding:5px 9px;border-radius:16px;white-space:nowrap}.roster-not-attending{color:#7a8290;background:#fafbfc}.roster-table td:nth-child(2){font-weight:500}.roster-table tbody tr:hover{background:#f1f4f8}.roster-table td:first-child{font-size:10px;color:var(--muted)}
@media(max-width:760px){.roster-totals{padding:0 20px 18px;gap:24px}.roster-totals b{font-size:22px}.roster-table{font-size:12px}.roster-table-wrap{max-height:460px}.roster-table td:nth-child(2){overflow-wrap:anywhere}}

.roster-totals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.guest-total{border-left:1px solid var(--line);padding-left:18px}@media(max-width:760px){.roster-totals{gap:10px;padding-left:16px;padding-right:16px;font-size:9px}.guest-total{padding-left:10px}.roster-totals b{font-size:22px}}
