@font-face{font-family:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/montserrat-400.ttf') format('truetype')}
@font-face{font-family:Montserrat;font-style:normal;font-weight:500;font-display:swap;src:url('assets/fonts/montserrat-500.ttf') format('truetype')}
@font-face{font-family:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url('assets/fonts/montserrat-600.ttf') format('truetype')}
@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url('assets/fonts/montserrat-700.ttf') format('truetype')}
@font-face{font-family:Montserrat;font-style:normal;font-weight:800;font-display:swap;src:url('assets/fonts/montserrat-800.ttf') format('truetype')}
:root{--navy:#252d45;--ink:#202739;--muted:#626b7c;--red:#252d45;--line:#dce0e7;--pale:#f4f6f9;--white:#fff;--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;font-family:Montserrat,Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6;color:var(--ink);background:white}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid #2176ff;outline-offset:5px}img{max-width:100%;display:block}.wrap{max-width:var(--max);margin:auto;padding:0 40px}.skip{position:fixed;top:-90px;left:15px;background:white;padding:12px;z-index:30}.skip:focus{top:12px}header{background:var(--navy);color:white;position:sticky;top:0;z-index:20;border-bottom:1px solid #ffffff1e}.nav-wrap{max-width:1400px;margin:auto;padding:18px 40px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{width:175px;flex-shrink:0}.brand img{width:175px;height:50px;object-fit:cover}.brand span{display:block;font-size:10px;letter-spacing:1.7px;text-align:center;margin-top:-3px}nav{display:flex;align-items:center;gap:28px;font-size:14px;font-weight:600}nav a:hover{color:#dce5fa}.member{padding:10px 18px;border:1px solid #ffffff65;border-radius:3px}.menu{display:none}.intro{display:grid;grid-template-columns:1.5fr 1fr;gap:80px;padding-top:64px;padding-bottom:64px;align-items:center}.eyebrow{font-size:12px;letter-spacing:1.8px;font-weight:700;margin:0 0 20px}.eyebrow>span{display:inline-block;width:17px;height:3px;background:var(--red);vertical-align:middle;margin-right:8px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(48px,5.3vw,76px);line-height:1.04;letter-spacing:-3px;margin-bottom:24px;font-weight:800}h1 em{font-style:normal;color:var(--red)}.intro-copy{max-width:465px;color:var(--muted);font-size:18px;line-height:1.6;margin-bottom:26px}.actions,.club-links{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.button{display:inline-flex;justify-content:center;align-items:center;padding:13px 20px;border-radius:3px;font-size:14px;font-weight:700;min-height:48px;border:1px solid transparent;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.red{background:var(--red);color:white}.red:hover{background:#384463}.dark{background:var(--navy);color:white}.white{background:white;color:var(--navy)}.outline{border-color:var(--navy);background:transparent;color:var(--navy)}.outline:hover{background:var(--navy);color:white}.text-link{font-size:14px;font-weight:700;text-decoration:underline;text-underline-offset:5px}.text-link:hover{color:var(--red)}.next{background:var(--pale);border-top:4px solid var(--red);padding:28px 30px}.next-top{display:flex;align-items:center;justify-content:space-between;font-size:12px;letter-spacing:1.2px;font-weight:700}.tag{background:#e6e9ef;padding:4px 8px;font-size:10px}.date{display:flex;align-items:center;gap:17px;margin:14px 0 16px}.date b{font-size:80px;letter-spacing:-4px;line-height:1}.date div{font-size:14px;font-weight:700;line-height:1.5}.date span{font-weight:400;color:var(--muted)}.next h2{font-size:25px;letter-spacing:-.8px;margin-bottom:12px}.ride-meta{display:flex;gap:18px;font-size:14px;font-weight:600;flex-wrap:wrap}.ride-meta a{text-decoration:underline;text-underline-offset:3px}.next p{color:var(--muted);font-size:14px;margin-top:14px;margin-bottom:20px}.next .button{width:100%}.club-photo{margin:0;position:relative;background:var(--navy)}.club-photo img{width:100%;max-height:550px;object-fit:cover;object-position:center}.club-photo figcaption{background:var(--navy);color:white;display:flex;justify-content:space-between;gap:20px;padding:18px max(40px,calc((100vw - 1160px)/2));font-size:11px;letter-spacing:2px;font-weight:700}.section{padding-top:84px;padding-bottom:84px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:36px}.section-heading .eyebrow{color:var(--muted);margin-bottom:14px}h2{font-size:clamp(30px,3.5vw,44px);line-height:1.13;letter-spacing:-1.6px;margin-bottom:0}h3{line-height:1.25}.agenda-layout{display:grid;grid-template-columns:1.25fr 1fr;gap:60px}.event{border-top:1px solid var(--line);padding:25px 0;display:grid;grid-template-columns:65px 1fr 40px;gap:18px;align-items:center}.event-date{text-align:center}.event-date b{font-size:38px;line-height:1.1;display:block;letter-spacing:-1px}.event-date span{font-size:12px;font-weight:700;color:var(--muted)}.small-label{font-size:11px;letter-spacing:1px;font-weight:700;color:var(--muted)}.event h3{font-size:22px;letter-spacing:-.5px;margin:6px 0}.event p{font-size:14px;color:var(--muted);margin:0}.round{width:36px;height:36px;border:1px solid var(--line);border-radius:50%;background:white;color:var(--ink);font-size:24px;line-height:1}.round:hover{background:var(--navy);color:white}.source-note{font-size:12px;color:var(--muted);line-height:1.6;margin:18px 0 0}.calendar-panel{background:var(--pale);padding:28px}.calendar-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:23px}.calendar-head h3{font-size:19px;margin:0}.calendar-head>span{font-size:10px;letter-spacing:1px;color:var(--muted)}.weekdays,.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;text-align:center}.weekdays{font-size:12px;color:var(--muted);font-weight:600;margin-bottom:10px}.calendar>span,.calendar>button{height:39px;display:flex;align-items:center;justify-content:center;font-size:14px;border:0;background:transparent;color:var(--ink);border-radius:3px}.calendar>span.empty{color:transparent}.calendar>button.official{background:var(--navy);color:white}.calendar>button.special{background:var(--red);color:white}.calendar>button.selected{outline:3px solid #ecb252;outline-offset:1px}.legend{display:flex;gap:18px;flex-wrap:wrap;font-size:12px;margin-top:20px}.legend i{display:inline-block;width:8px;height:8px;margin-right:6px;border-radius:2px}.legend .official{background:var(--navy)}.legend .special{background:var(--red)}.calendar-detail{font-size:13px;color:var(--muted);margin:18px 0 0;min-height:42px}.brevets{background:var(--navy);color:white}.brevets .eyebrow,.brevets .section-heading .eyebrow{color:#bac2d5}.section-copy{color:var(--muted);margin:16px 0 0;max-width:530px}.brevets .section-copy{color:#c8cfdd}.brevet-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}.filters{display:flex;gap:8px;flex-wrap:wrap}.filters button{border:1px solid #687086;background:transparent;color:#e0e5ee;font-size:14px;border-radius:3px;padding:8px 13px}.filters button.active{background:white;color:var(--navy);border-color:white}.brevet-toolbar>span{font-size:12px;color:#c8cfdd;white-space:nowrap}.brevet-row{display:grid;grid-template-columns:100px 1fr 150px 205px;gap:20px;padding:21px 0;border-top:1px solid #ffffff26;align-items:center}.brevet-distance{font-size:30px;font-weight:700;letter-spacing:-1px;white-space:nowrap}.brevet-distance small{font-size:12px;font-weight:400;letter-spacing:0;color:#c8cfdd}.brevet-row h3{font-size:17px;margin:0 0 3px}.brevet-row .status{font-size:12px;color:#b9c2d4}.brevet-date{font-size:14px;color:#d7dce7}.track-links{display:flex;gap:18px;justify-content:flex-end;flex-wrap:wrap}.track-links a{font-size:13px;text-decoration:underline;text-underline-offset:5px}.track-links a:hover{color:#cad6f3}.permanent{margin-top:23px;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px;background:#ffffff09;border-left:3px solid var(--red)}.permanent h3{font-size:20px;margin:6px 0 0}.permanent .small-label{color:#c8cfdd}.brevets .source-note{color:#b9c2d4;max-width:900px;margin-bottom:22px}.light:hover{color:#cad6f3}.club{display:grid;grid-template-columns:1fr 1.2fr;gap:80px}.club h2{font-size:clamp(36px,4vw,54px)}.club-copy p{color:var(--muted)}.club-copy .large-copy{font-size:25px;line-height:1.4;color:var(--ink);margin-bottom:22px}.club-links{margin-top:30px}.news-section{background:var(--pale)}.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px}.news-grid article{border-top:3px solid var(--navy);padding-top:24px}.news-date{font-size:11px;letter-spacing:1px;color:var(--muted);font-weight:600}.news-grid h3{font-size:25px;letter-spacing:-.8px;margin:16px 0}.news-grid article>p:not(.news-date){color:var(--muted);font-size:15px;margin-bottom:24px}.sponsors{text-align:center;padding-top:64px;padding-bottom:64px}.sponsors h2{font-size:26px}.sponsors .eyebrow{color:var(--muted);margin-bottom:12px}.sponsor-list{display:flex;align-items:center;justify-content:center;gap:80px;flex-wrap:wrap;margin:35px 0 28px}.sponsor-list a{font-weight:800;font-size:27px;letter-spacing:-.6px;color:#4e5669}.sponsor-list a:last-child{font-weight:500}.contact{background:var(--red);color:white;padding:66px 0}.contact-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}.contact h2{font-size:clamp(34px,4vw,50px)}.contact p:last-child{margin:18px 0 0;color:#fff}.contact-actions{display:flex;flex-direction:column;gap:20px;align-items:center}.contact-actions>a:last-child{font-size:14px;text-decoration:underline;text-underline-offset:5px}footer{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-top:38px!important;padding-bottom:38px!important;font-size:12px;color:var(--muted)}.footer-brand{font-size:27px;letter-spacing:4px;font-weight:700;color:var(--navy);line-height:1.1}.footer-brand span{display:block;font-size:9px;letter-spacing:1.1px;margin-top:9px}footer>div{display:flex;gap:20px}dialog{border:0;border-top:5px solid var(--red);border-radius:3px;max-width:560px;width:calc(100% - 36px);padding:40px;color:var(--ink);max-height:85vh;overflow:auto}dialog::backdrop{background:#111829ba}dialog .eyebrow{margin-top:8px;color:var(--muted)}dialog h2{font-size:32px;margin-bottom:20px}dialog p{color:var(--muted)}dialog .close{position:absolute;right:15px;top:10px;font-size:28px;border:0;background:none;color:var(--ink)}dialog .actions{gap:12px;margin-top:24px}dialog ul{padding-left:20px;font-size:15px}dialog li{margin-bottom:8px}
@media(min-width:1500px){.club-photo img{max-height:620px}}@media(max-width:1050px){nav{gap:17px}.intro{gap:40px}.wrap{padding-left:28px;padding-right:28px}.nav-wrap{padding-left:28px;padding-right:28px}.agenda-layout{gap:30px}.brevet-row{grid-template-columns:90px 1fr 115px 175px;gap:12px}.club{gap:40px}.track-links{gap:12px}}@media(max-width:800px){html{scroll-padding-top:90px}.nav-wrap{padding:12px 20px}.brand{width:145px}.brand img{width:145px;height:42px}.brand span{font-size:8px}.menu{display:block;background:transparent;border:1px solid #ffffff65;color:white;padding:7px 13px;border-radius:3px;font-size:14px}nav{display:none;position:absolute;top:100%;left:0;width:100%;background:var(--navy);padding:20px;flex-direction:column;align-items:stretch;gap:0;border-top:1px solid #ffffff25}nav.open{display:flex}nav a{padding:12px}.member{margin-top:10px}.wrap{padding-left:22px;padding-right:22px}.intro{grid-template-columns:1fr;gap:34px;padding-top:38px;padding-bottom:36px}h1{font-size:58px;letter-spacing:-2.5px}.intro-copy{font-size:17px}.intro .eyebrow{font-size:10px;letter-spacing:1.3px}.next{padding:22px}.next .date b{font-size:68px}.next .date{margin-top:12px}.club-photo img{min-height:220px;object-fit:cover}.club-photo figcaption{font-size:9px;letter-spacing:1px;padding:15px 22px}.section{padding-top:52px;padding-bottom:52px}.section-heading{align-items:start;flex-direction:column;gap:20px}.section-heading .eyebrow{font-size:11px}.agenda-layout{grid-template-columns:1fr;gap:26px}.event{grid-template-columns:52px 1fr 36px;gap:13px}.event h3{font-size:20px}.calendar-panel{padding:24px}.brevet-toolbar{align-items:start;flex-direction:column;gap:12px}.filters{gap:7px}.filters button{padding:7px 10px}.brevet-row{grid-template-columns:75px 1fr;gap:8px 15px}.brevet-distance{font-size:27px;grid-row:span 2;align-self:start}.brevet-row h3{font-size:16px}.brevet-date{grid-column:2;font-size:13px}.brevet-row .track-links{grid-column:2;justify-content:start;padding-top:8px}.permanent{flex-direction:column;align-items:start;padding:20px}.permanent .track-links{justify-content:start}.club{grid-template-columns:1fr;gap:26px}.club-copy .large-copy{font-size:23px}.news-grid{grid-template-columns:1fr;gap:34px}.news-grid article{padding-top:20px}.news-grid h3{font-size:24px}.sponsor-list{gap:25px}.sponsor-list a{font-size:22px}.contact{padding:48px 0}.contact-inner{flex-direction:column;align-items:start;gap:30px}.contact-actions{align-items:start}footer{flex-direction:column;align-items:start;padding-top:30px!important;padding-bottom:30px!important;gap:20px}dialog{padding:30px 24px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}.button:hover{transform:none}}

/* Geometric identity based on the current Alibike wordmark. */
h1{font-size:clamp(44px,5vw,70px);font-weight:600;letter-spacing:-1.8px;line-height:1.12}
h2{font-weight:600;letter-spacing:-1px}h3{font-weight:600;letter-spacing:-.3px}
.brand{width:188px}.brand img{width:188px;height:54px}.brand span{font-size:10px;letter-spacing:1.2px}
nav{gap:22px}.next{border-top:3px solid var(--navy)}
.next .signup{margin-top:0}.details-link{display:block;margin:14px auto 0;padding:5px;border:0;background:none;color:var(--navy);text-decoration:underline;text-underline-offset:4px;font-size:14px;font-weight:500;min-height:36px}
.event{grid-template-columns:65px 1fr auto}.event-controls{display:flex;gap:12px;align-items:center}.event-signup{font-size:13px;font-weight:600;border-bottom:1px solid var(--navy);padding:5px 0}.event-signup:hover{color:#465b85}
.calendar>button.special{background:#63718d}.legend .special{background:#63718d}.calendar>button.selected{outline-color:#8eaccf}
.contact{background:var(--navy)}.permanent{border-left-color:#a0b0cc}.footer-brand img{width:165px;height:47px;object-fit:cover;border-radius:2px}.footer-brand span{letter-spacing:.8px;text-align:center}
@media(max-width:1050px){nav{gap:15px;font-size:13px}.brand{width:165px}.brand img{width:165px;height:47px}.brand span{font-size:9px}.agenda-layout{grid-template-columns:1.2fr 1fr}.event{grid-template-columns:52px 1fr auto;gap:12px}.event-controls{flex-direction:column;gap:10px}}
@media(max-width:800px){h1{font-size:clamp(42px,9vw,58px);letter-spacing:-1.3px}.brand{width:145px}.brand img{width:145px;height:42px}.brand span{font-size:8px}.agenda-layout{grid-template-columns:1fr}.event{grid-template-columns:48px 1fr auto}.event-controls{gap:8px}.event-signup{font-size:12px}.event h3{font-size:18px}.round{width:32px;height:32px}.next h2{font-size:23px}}

.archive-title{font-size:clamp(36px,5vw,64px);margin:0}nav a[aria-current="page"]{text-decoration:underline;text-underline-offset:6px}

.guest-form{margin-top:24px;padding:22px;background:var(--pale)}.guest-form[hidden]{display:none}.guest-form h3{margin-bottom:12px}.guest-form label{display:block;font-size:14px;font-weight:600;margin:16px 0}.guest-form input{display:block;width:100%;padding:12px;border:1px solid #a2abbd;border-radius:3px;font:inherit;margin-top:6px;background:#fff;color:var(--ink)}.guest-form input:focus-visible{outline:3px solid #2176ff;outline-offset:2px}.guest-example-row{padding:14px;background:var(--pale);color:var(--ink)}

/* Original club sponsor logos, with a distinct principal tier. */
.sponsors{padding-top:76px;padding-bottom:76px}.sponsors h2{font-size:34px}
.sponsor-primary{max-width:760px;margin:38px auto 36px;padding:28px 32px 34px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.sponsor-tier{font-size:10px;letter-spacing:2px;font-weight:700;color:var(--muted);margin:0 0 20px}
.sponsor-primary a{display:block;max-width:440px;margin:auto}.sponsor-primary img{width:100%;height:auto}
.sponsor-secondary-title{margin-bottom:26px}.sponsor-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:24px;align-items:start}
.sponsor-brand{min-width:0;display:flex;flex-direction:column;align-items:center;gap:16px}.sponsor-logo{height:100px;width:100%;display:flex;align-items:center;justify-content:center;overflow:hidden}.sponsor-logo img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.sponsor-tubocin .sponsor-logo img{width:100%;height:auto;max-width:none;max-height:none;flex-shrink:0}.sponsor-name{font-size:11px;font-weight:600;letter-spacing:.3px;color:var(--muted)}
a.sponsor-brand:hover .sponsor-name{text-decoration:underline;text-underline-offset:4px}
@media(max-width:1050px){.sponsor-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 28px}.sponsor-logo{max-width:180px}}
@media(max-width:550px){.sponsors{padding-top:52px;padding-bottom:52px}.sponsors h2{font-size:28px}.sponsor-primary{margin-top:28px;padding:24px 10px 28px}.sponsor-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 22px}.sponsor-logo{height:86px;max-width:150px}.sponsor-tubocin .sponsor-logo img{width:100%;height:auto}.sponsor-name{font-size:10px}.sponsor-tier{font-size:9px;letter-spacing:1.6px}}

/* 0.7.6: larger header wordmark, with room for navigation. */
:is(.nav-wrap > .brand, .footer-brand){width:260px}
:is(.nav-wrap > .brand, .footer-brand) img{display:block;width:260px;height:75px}
@media(max-width:1150px) and (min-width:801px){
 :is(.nav-wrap > .brand, .footer-brand){width:210px}
 :is(.nav-wrap > .brand, .footer-brand) img{width:210px;height:60px}
 .nav-wrap{gap:18px}
 .nav-wrap nav{gap:12px;font-size:12px}
}
@media(max-width:800px){
 :is(.nav-wrap > .brand, .footer-brand){width:200px}
 :is(.nav-wrap > .brand, .footer-brand) img{width:200px;height:57px}
 :is(.nav-wrap > .brand, .footer-brand) span{font-size:9px}
 .nav-wrap{gap:12px}
}
@media(max-width:360px){
 :is(.nav-wrap > .brand, .footer-brand){width:180px}
 :is(.nav-wrap > .brand, .footer-brand) img{width:180px;height:52px}
}

@media(min-width:801px) and (max-width:1200px){
 .nav-wrap .menu{display:block;background:transparent;border:1px solid #ffffff65;color:white;padding:7px 13px;border-radius:3px;font-size:14px}
 .nav-wrap nav{display:none;position:absolute;top:100%;left:0;width:100%;background:var(--navy);padding:20px;flex-direction:column;align-items:stretch;gap:0;border-top:1px solid #ffffff25}
 .nav-wrap nav.open{display:flex}.nav-wrap nav a{padding:12px}.nav-wrap nav .member{margin-top:10px}
}

/* 0.7.8: frame the lettering rather than the blank image margins. */
:is(.nav-wrap > .brand, .footer-brand){width:260px}
:is(.nav-wrap > .brand, .footer-brand) .brand-wordmark{position:relative;display:block;width:100%;height:46px;margin:0 0 10px;overflow:hidden}
:is(.nav-wrap > .brand, .footer-brand) .brand-wordmark img{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:430px;max-width:none;height:123px;object-fit:contain}
@media(max-width:1200px){:is(.nav-wrap > .brand, .footer-brand){width:220px}:is(.nav-wrap > .brand, .footer-brand) .brand-wordmark{height:40px}:is(.nav-wrap > .brand, .footer-brand) .brand-wordmark img{width:365px;height:104px}}
@media(max-width:600px){:is(.nav-wrap > .brand, .footer-brand){width:200px}:is(.nav-wrap > .brand, .footer-brand) .brand-wordmark{height:36px}:is(.nav-wrap > .brand, .footer-brand) .brand-wordmark img{width:330px;height:94px}}
@media(max-width:360px){:is(.nav-wrap > .brand, .footer-brand){width:180px}:is(.nav-wrap > .brand, .footer-brand) .brand-wordmark{height:33px}:is(.nav-wrap > .brand, .footer-brand) .brand-wordmark img{width:298px;height:85px}}

/* 0.7.11: compact header and full group photo. */
:is(.nav-wrap > .brand, .footer-brand){width:230px}
:is(.nav-wrap > .brand, .footer-brand) .brand-wordmark{height:41px;margin-bottom:8px}
:is(.nav-wrap > .brand, .footer-brand) .brand-wordmark img{width:380px;height:109px}
.club-photo > img{width:auto;height:auto;min-height:0;max-height:440px;max-width:100%;margin-inline:auto;object-fit:contain}
@media(max-width:1200px){:is(.nav-wrap > .brand, .footer-brand){width:200px}:is(.nav-wrap > .brand, .footer-brand) .brand-wordmark{height:36px}:is(.nav-wrap > .brand, .footer-brand) .brand-wordmark img{width:330px;height:94px}}
@media(max-width:600px){:is(.nav-wrap > .brand, .footer-brand){width:180px}:is(.nav-wrap > .brand, .footer-brand) .brand-wordmark{height:33px}:is(.nav-wrap > .brand, .footer-brand) .brand-wordmark img{width:298px;height:85px}.club-photo > img{max-height:280px}}
@media(max-width:360px){:is(.nav-wrap > .brand, .footer-brand){width:165px}:is(.nav-wrap > .brand, .footer-brand) .brand-wordmark{height:30px}:is(.nav-wrap > .brand, .footer-brand) .brand-wordmark img{width:273px;height:78px}}

/* 0.7.12: panoramic group photo, no side bands. */
.club-photo > img{width:100%;height:clamp(240px,30vw,480px);min-height:0;max-height:none;object-fit:cover;object-position:50% 45%;margin:0}
@media(max-width:800px){.club-photo > img{height:40vw;min-height:0;max-height:none;object-position:50% 45%}}
