/* RaceAtlas — Sport Edition visual system */
:root{--ra-navy:#071925;--ra-deep:#0b2430;--ra-lime:#c7ff30;--ra-green:#0d5b44;--ra-text:#101d29;--ra-muted:#647384;--ra-line:#e3eaf0;--ra-bg:#f5f8fa;--ra-white:#fff;--ra-shadow:0 12px 36px rgba(16,34,53,.09)}
html{scroll-behavior:smooth}body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;background:var(--ra-bg)!important;color:var(--ra-text)!important}
a,button{transition:background .18s,border-color .18s,transform .18s,box-shadow .18s}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #73db4e;outline-offset:3px}
header{position:relative;z-index:12;background:#071927!important;border-bottom:1px solid #ffffff19}
.nav{max-width:1380px;min-height:70px;padding:12px 28px}
.brand{font-size:25px;font-weight:950;font-style:italic;letter-spacing:-1.4px;color:#fff;text-decoration:none;display:flex;align-items:center;gap:9px}
.brand b{color:#fff!important}.brand .raLogoMark{width:36px;height:30px;display:inline-flex;align-items:center;justify-content:center;clip-path:polygon(0% 85%,34% 18%,50% 47%,70% 7%,100% 84%,77% 84%,68% 46%,54% 75%,36% 55%,21% 85%);background:var(--ra-lime)}
.navright{gap:12px}.navright button{border-radius:8px;border:0;background:transparent;color:#eaf4f8;padding:11px 16px;font-weight:700;font-size:13px}
.navright button.current{background:transparent;color:#fff;border:0;box-shadow:inset 0 -3px var(--ra-lime);border-radius:0}
.navright .organizerNav{background:var(--ra-lime)!important;color:#10201b!important;border:0!important;border-radius:11px!important;padding:13px 17px!important;font-weight:900!important;box-shadow:0 4px 15px #0002}
.navright .organizerNav:hover{background:#dcff82!important}
.hero{position:relative;isolation:isolate;min-height:316px;background:linear-gradient(90deg,#091d2e 0%,#0a2434 51%,#10272d 100%)!important;overflow:hidden}
.hero::before{content:"";position:absolute;z-index:-1;inset:0 0 0 50%;background:linear-gradient(90deg,#09202d 0%,#10253531 28%,#061b2633 100%),url("https://images.unsplash.com/photo-1552674605-db6ffd4facb5?auto=format&fit=crop&w=1300&q=85") center 38%/cover no-repeat;filter:saturate(.83) contrast(1.1)}
.hero::after{content:"";position:absolute;width:85px;height:150%;right:25%;top:-25%;transform:skew(-29deg);background:linear-gradient(180deg,var(--ra-lime),#9be500);opacity:.9;clip-path:polygon(0 0,24% 0,100% 100%,75% 100%);z-index:-1;filter:drop-shadow(0 0 15px #afe62e55)}
.heroin{max-width:1380px!important;min-height:320px!important;padding:53px 28px 75px!important;display:flex!important;align-items:center;justify-content:space-between;gap:20px}
.hero .eyebrow{text-transform:uppercase;letter-spacing:.19em;color:var(--ra-lime)!important;font-size:12px;font-weight:850;margin-bottom:15px}
.hero h1{font-size:clamp(40px,5vw,68px)!important;letter-spacing:-.064em;max-width:710px!important;font-weight:950;font-style:italic;line-height:1.02;text-transform:none;margin:8px 0 17px}
.hero h1 em{color:var(--ra-lime)!important}
.hero p{max-width:550px!important;font-size:16px!important;line-height:1.6;color:#e4edf0!important}
.heroStats{display:none!important}
.raSportLine{display:flex;flex-wrap:wrap;gap:0;align-items:center;margin-top:23px;color:#ecf5ee;font-size:13px;font-weight:800}
.raSportLine span{padding:4px 18px;border-right:1px solid #7f9a9b77}.raSportLine span:first-child{padding-left:0}.raSportLine span:last-child{border-right:0}
.raSportLine i{font-style:normal;color:var(--ra-lime);margin-right:7px;font-size:17px}
.container{max-width:1380px!important;padding-left:28px!important;padding-right:28px!important}
#explore .toolbar{position:relative;z-index:5;margin:-37px 0 31px!important;border:1px solid #e1e8ef;border-radius:19px!important;background:#fff!important;box-shadow:0 14px 34px #00162620!important;padding:20px 22px 17px!important}
.primaryFilters{display:grid!important;grid-template-columns:minmax(250px,2.1fr) repeat(3,minmax(135px,1fr))!important;gap:14px!important}
.field label{color:#1c2b39!important;text-transform:none!important;font-weight:850!important;letter-spacing:0!important;font-size:12px!important;margin-bottom:7px!important}
.field input,.field select{height:44px!important;border-radius:9px!important;background:#fbfcfe!important;border:1px solid #dbe3eb!important;color:#22323d!important;padding:10px 13px!important;font-size:13px!important;box-shadow:inset 0 1px 2px #0c213609}
.field input::placeholder{color:#7e8996}
.quick{border-top:1px solid #edf0f4;padding-top:13px;margin-top:15px!important;display:flex;flex-wrap:wrap;gap:8px!important}
.quick .pill{background:#fff;border:1px solid #dce4ed;color:#2b394a;border-radius:100px;padding:8px 13px;font-size:12px;font-weight:750;box-shadow:0 1px 3px #11283308}
.quick .pill.on{background:#102637!important;color:#fff!important;border-color:#102637}
.quick .pill:hover{border-color:#8cbe44}
.advancedFilters{margin:12px 0 0!important;background:#f8fafc!important;border-color:#e1e8ef!important}
.advancedFilters summary{font-size:12px!important;color:#354d5f!important}
.advancedGrid{padding-top:4px!important}
.headerlist{margin:35px 0 14px!important}.headerlist h2{font-size:clamp(27px,3vw,38px)!important;color:#0d1d2b!important;letter-spacing:-.055em;font-weight:950}
#results{font-size:13px;color:#617181}
.miniBtn{border:1px solid #d8e4ea!important;border-radius:9px!important;background:white!important;color:#2b4352!important;font-size:12px!important;font-weight:800!important}
.resultTools{margin:0 0 14px;align-items:center}.onlyFuture{color:#44596a!important}
.viewSwitch{background:#fff!important;border:1px solid #dae3eb!important;border-radius:11px}
.viewSwitch button.selected{background:#092434!important;border-radius:8px}
.statsBar{gap:8px;margin-bottom:18px!important}.statsBar span{color:#3d6370!important;background:#edf5f5!important;border-radius:100px!important;padding:7px 12px!important;font-size:12px!important}
.cards{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:19px!important}
.card{display:flex;flex-direction:column;overflow:hidden;border:1px solid #e1e8ed!important;border-radius:17px!important;background:#fff!important;padding:0!important;min-width:0;min-height:385px!important;box-shadow:0 6px 19px rgba(20,38,57,.07)!important;transition:transform .2s,box-shadow .2s}
.card:hover{transform:translateY(-3px);box-shadow:0 17px 35px #172d4422!important}
.raCardVisual{height:152px;min-height:152px;position:relative;display:flex;align-items:flex-start;justify-content:space-between;padding:14px;background-position:center;background-size:cover;background-color:#19334b;isolation:isolate}
.raCardVisual::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#051a2066 0%,#00000009 65%)}
.raCardVisual.running{background-image:url("https://images.unsplash.com/photo-1552674605-db6ffd4facb5?auto=format&fit=crop&w=900&q=80")}
.raCardVisual.biking{background-image:url("https://images.unsplash.com/photo-1517649763962-0c623066013b?auto=format&fit=crop&w=900&q=80")}
.raCardVisual.triathlon{background-image:linear-gradient(0deg,#09253025,#09253025),url("https://images.pexels.com/photos/18457222/pexels-photo-18457222.jpeg?cs=srgb&dl=pexels-runffwpu-18457222.jpg&fm=jpg");background-position:center 53%}
.raDateBadge{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:63px;min-height:61px;background:#fff;color:#122034;border-radius:11px;padding:6px;box-shadow:0 4px 12px #07182745}
.raDateBadge strong{font-weight:950;font-size:25px;line-height:1}.raDateBadge span{font-size:11px;font-weight:850;text-transform:uppercase;margin-top:4px}
.raFeatureBadge{background:var(--ra-lime);color:#17251a;border-radius:9px;padding:7px 10px;font-size:11px;font-weight:850}
.raCardBody{padding:17px 17px 10px;display:flex;flex-direction:column;flex:1;gap:8px;min-width:0}
.raCardBody .eventname{font-weight:950;letter-spacing:-.045em;color:#101c2c!important;font-size:20px!important;line-height:1.17;margin:0!important}
.raCardLocation{font-size:12px;color:#576777;display:flex;align-items:center;gap:6px}
.raCardTags{display:flex;gap:6px;flex-wrap:wrap;margin:2px 0}
.raCardTags span{border-radius:100px;padding:6px 9px;font-weight:750;font-size:11px;line-height:1.1}
.raSportTag{background:#d8f7cb;color:#224b33}.raSportTag.bike{background:#dceefe;color:#14557a}.raSportTag.tri{background:#ecdefb;color:#623995}.raDistanceTag{background:#edf0f4;color:#3c4959}
.raCardInfo{font-size:11px;color:#73828d;line-height:1.5}.raCardInfo.confirmed{color:#247249}.raCardActions{display:flex;gap:7px;flex-wrap:wrap;align-items:center;padding:11px 16px 16px;border-top:1px solid #eef1f5}
.raCardActions button,.raCardActions a{border-radius:8px!important;font-size:11px!important;font-weight:850!important;min-height:34px;padding:8px 10px!important;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.raCardActions .ra-detail-btn{color:#1a3448;background:white;border:1px solid #d4e0e8}
.raCardActions .ra-alert-btn{color:#1a3448;background:white;border:1px solid #d4e0e8}
.raCardActions .save{color:#1b4c40;background:#eef7f0!important;border:1px solid #d2e6d6!important}
.raCardActions .save.selected{background:#dcf8cb!important}
.raCardActions .registerLink{background:var(--ra-lime);color:#14281b;border:1px solid var(--ra-lime);margin-left:auto}
.raCardActions .source{background:#f2f7fa;border:1px solid #e4ecf1;color:#365065}
.raCardActions .registerLink:hover{background:#b2f225}
#more.more{background:white!important;color:#163848!important;border:1px solid #dae6eb!important;border-radius:12px!important;box-shadow:0 3px 12px #152b3310;font-weight:850!important}
.cards.listMode{grid-template-columns:1fr!important}
.cards.listMode .card{display:grid;grid-template-columns:140px minmax(0,1fr);grid-template-rows:auto auto;min-height:0!important;gap:0}
.cards.listMode .raCardVisual{grid-column:1;grid-row:1/3;height:100%;min-height:158px;border-radius:0}
.cards.listMode .raCardBody{grid-column:2;grid-row:1;padding:15px 18px 5px;gap:5px}
.cards.listMode .raCardActions{grid-column:2;grid-row:2;padding:9px 17px 14px;border:0}
.raSeasonPreview{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:37px 0 20px}
.raPreviewPanel{background:white;border:1px solid #e0e7ee;box-shadow:0 5px 20px #1830400c;border-radius:17px;padding:23px}
.raPreviewHeader{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:13px}
.raPreviewHeader h2{font-size:23px;letter-spacing:-.055em;font-weight:950;margin:0}
.raPreviewHeader button{background:transparent;color:#1c658b;border:0;font-size:12px;font-weight:850;cursor:pointer}
.raPreviewList{display:grid;gap:7px}.raPreviewRow{display:flex;align-items:center;gap:12px;padding:9px;border:1px solid #e8ecf1;border-radius:10px;background:#fcfdfe}
.raMiniDate{min-width:47px;padding:6px;border-radius:8px;background:#edf1f5;text-align:center;font-size:11px;font-weight:850}
.raMiniDate strong{display:block;font-size:17px;line-height:1.05}
.raPreviewDetails{min-width:0;flex:1}.raPreviewDetails strong{font-size:13px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.raPreviewDetails span{font-size:11px;color:#627383}
.raEmptyPreview{color:#74818c;font-size:13px;line-height:1.6}
.raOrganizerPromo{background:linear-gradient(100deg,#092d2c 0%,#083a38d4 55%,#071e2855 100%),url("https://images.unsplash.com/photo-1517649763962-0c623066013b?auto=format&fit=crop&w=1100&q=80") 65% center/cover no-repeat;color:white;border-radius:17px;padding:27px 28px;min-height:230px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;box-shadow:0 8px 20px #0b282a21}
.raOrganizerPromo small{font-weight:900;letter-spacing:.12em;font-size:11px;color:var(--ra-lime)}.raOrganizerPromo h2{font-size:clamp(24px,3vw,35px);line-height:1.06;font-style:italic;font-weight:950;margin:10px 0;max-width:380px;letter-spacing:-.04em}
.raOrganizerPromo p{max-width:370px;font-size:12px;color:#e1eeee;line-height:1.6;margin:0 0 17px}
.raOrganizerPromo a{background:var(--ra-lime);color:#143022;text-decoration:none;padding:12px 16px;border-radius:9px;font-size:12px;font-weight:850}
.organizerStrip{display:none!important}
.notice{margin:22px auto!important;border-radius:12px!important;font-size:12px!important;line-height:1.7!important}
.foot{background:#071925!important;color:#b7d0d0!important;padding:27px!important}
@media(max-width:1100px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))!important}.raSeasonPreview{grid-template-columns:1fr 1fr}.hero::before{inset:0 0 0 47%}}
@media(max-width:800px){.nav{padding:12px 16px}.brand{font-size:21px}.brand .raLogoMark{width:27px;height:24px}.navright{gap:5px}.navright button{font-size:12px;padding:9px}.navright .organizerNav{font-size:11px!important;padding:10px!important}.hero::before{inset:0 0 0 38%;opacity:.55}.heroin{padding:40px 20px 63px!important}.container{padding-left:17px!important;padding-right:17px!important}.raSeasonPreview{grid-template-columns:1fr}.primaryFilters{grid-template-columns:repeat(2,minmax(0,1fr))!important}.primaryFilters .searchField{grid-column:span 2}}
@media(max-width:600px){.nav{min-height:62px}.brand{font-size:19px}.navright .organizerNav{display:none}.hero{min-height:0}.hero::before{inset:0 0 0 25%;opacity:.35}.hero::after{right:4%;width:40px;opacity:.5}.heroin{min-height:0!important;padding:30px 17px 65px!important}.hero h1{font-size:39px!important;max-width:460px}.hero p{font-size:13px!important;max-width:90%}.raSportLine{gap:0;font-size:11px}.raSportLine span{padding:4px 11px}.raSportLine i{font-size:13px}.container{padding-left:12px!important;padding-right:12px!important}#explore .toolbar{margin:-31px 0 26px!important;padding:15px!important}.primaryFilters{gap:9px!important;grid-template-columns:1fr 1fr!important}.primaryFilters .searchField{grid-column:span 2}.primaryFilters .field:last-child{grid-column:span 2}.field select,.field input{font-size:12px!important}.quick{gap:6px!important}.quick .pill{padding:8px 10px;font-size:11px}.advancedGrid{grid-template-columns:1fr 1fr}.cards{grid-template-columns:1fr!important}.raCardVisual{height:164px}.card{min-height:0!important}.headerlist{margin:22px 0 10px!important}.headerlist h2{font-size:28px!important}.raSeasonPreview{margin:24px 0 15px}.raPreviewPanel{padding:17px}.raOrganizerPromo{min-height:215px;padding:22px}.raCardActions{padding:12px 14px 14px}.cards.listMode .card{grid-template-columns:102px minmax(0,1fr)}.cards.listMode .raCardVisual{min-height:164px}.cards.listMode .raCardBody .eventname{font-size:16px!important}.cards.listMode .raCardBody{padding:12px 11px 0}.cards.listMode .raCardActions{padding:8px 11px}.cards.listMode .raCardActions .registerLink{margin:0}.cards.listMode .raFeatureBadge{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}a,button,.card{transition:none!important}}


/* Duathlon and run-bike-run: running + cycling, never swimming */
.raCardVisual.duathlon{
 background-image:linear-gradient(108deg,transparent 46%,rgba(5,23,33,.10) 49%,rgba(5,23,33,.18) 51%,transparent 54%),
 linear-gradient(90deg,rgba(7,22,32,.10),rgba(7,22,32,.10)),
 url("https://images.unsplash.com/photo-1552674605-db6ffd4facb5?auto=format&fit=crop&w=900&q=80");
 background-position:center,center,center 50%;
}
.raCardVisual.duathlon::before{
 content:"RUN + BIKE";position:absolute;right:12px;bottom:11px;
 border:1px solid #ffffff88;color:white;background:#071c29c9;
 border-radius:6px;padding:5px 8px;font-size:10px;font-weight:900;letter-spacing:.11em
}
/* Mobile-first ergonomics: readable controls, compact hero, obvious actions */
@media (max-width:700px){
 html,body{max-width:100%;overflow-x:clip}
 .nav{min-height:58px!important;padding:10px 13px!important;gap:5px}
 .brand{font-size:18px!important;letter-spacing:-.9px!important;white-space:nowrap}
 .brand .raLogoMark{width:24px!important;height:22px!important}
 .navright{gap:4px!important}
 .navright button{font-size:12px!important;padding:9px 9px!important;white-space:nowrap}
 .navright button#navSaved{background:#1a3541!important;border-radius:8px!important}
 .navright button#navSaved span{background:var(--ra-lime);color:#132c1d;border-radius:100px;padding:2px 5px;font-size:10px}
 .hero{min-height:0!important}
 .hero::before{inset:0 0 0 30%;opacity:.24}
 .hero::after{width:25px;right:12%;opacity:.48}
 .heroin{padding:25px 16px 61px!important;min-height:0!important}
 .hero .eyebrow{font-size:10px!important;margin:0 0 9px!important;letter-spacing:.11em}
 .hero h1{font-size:clamp(30px,8vw,40px)!important;line-height:1.07!important;margin:8px 0 10px!important;letter-spacing:-.055em!important}
 .hero p{font-size:12px!important;line-height:1.5!important;margin:0!important;max-width:96%!important}
 .raSportLine{margin-top:13px!important;font-size:10px!important;gap:0!important}
 .raSportLine span{padding:3px 8px!important}
 .raSportLine span:first-child{padding-left:0!important}
 .raSportLine i{margin-right:3px!important;font-size:11px!important}
 .container{padding:0 11px!important}
 #explore .toolbar{margin:-32px 0 21px!important;padding:12px!important;border-radius:14px!important;box-shadow:0 11px 25px #0922381c!important}
 .primaryFilters{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
 .primaryFilters .searchField{grid-column:span 2!important}
 .primaryFilters .field:last-child{grid-column:span 2!important}
 .field label{font-size:11px!important;margin-bottom:4px!important}
 .field input,.field select{min-height:44px!important;height:44px!important;font-size:13px!important;padding:9px!important;width:100%!important}
 .advancedFilters{margin:10px 0 0!important}
 .advancedFilters summary{min-height:42px;padding:9px 12px!important;font-size:12px!important}
 .advancedGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important;padding:0 10px 11px!important}
 .quick{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;padding:11px 0 4px!important;margin:9px -2px 0!important;border-top:1px solid #edf0f4;gap:7px!important}
 .quick::-webkit-scrollbar{display:none}
 .quick .pill{flex:0 0 auto!important;min-height:37px;padding:9px 12px!important;white-space:nowrap;scroll-snap-align:start;font-size:11px!important}
 .geoFilter{margin-top:10px!important;padding-top:11px!important}
 .geoHeading{margin-bottom:9px!important}
 .geoHeading strong{font-size:13px!important}
 .geoHeading span{font-size:11px!important}
 .geoControls{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
 .geoControls .geoCity{grid-column:span 2}
 .geoControls button{min-height:44px!important;height:auto!important;white-space:normal!important}
 #geoStatus{font-size:11px!important}
 .headerlist{margin:20px 0 12px!important;gap:7px!important;flex-wrap:wrap}
 .headerlist h2{font-size:27px!important}
 #results{display:block;font-size:11px!important;line-height:1.4}
 .headerlist #reset{min-height:36px;padding:8px 10px!important}
 .resultTools{gap:9px!important;margin-bottom:13px!important}
 .onlyFuture{font-size:11px!important;gap:5px!important}
 .viewSwitch button{font-size:11px!important;padding:8px 9px!important;min-height:36px}
 .statsBar{display:flex;flex-wrap:nowrap!important;overflow-x:auto;gap:6px!important;margin:0 0 14px!important;scrollbar-width:none}
 .statsBar::-webkit-scrollbar{display:none}
 .statsBar span{flex:0 0 auto;font-size:10px!important;padding:6px 9px!important}
 .cards{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}
 .card{min-height:0!important;border-radius:14px!important}
 .raCardVisual{height:135px!important;min-height:135px!important;padding:10px!important}
 .raDateBadge{min-width:56px;min-height:54px;padding:6px!important}
 .raDateBadge strong{font-size:22px!important}
 .raDateBadge span{font-size:10px!important}
 .raFeatureBadge{font-size:10px!important;padding:6px 7px!important}
 .raCardBody{padding:13px 14px 9px!important;gap:7px!important}
 .raCardBody .eventname{font-size:19px!important;line-height:1.18!important;overflow-wrap:anywhere}
 .raCardLocation{font-size:11px!important}
 .raCardTags{gap:5px!important}
 .raCardTags span{font-size:10px!important;padding:5px 8px!important}
 .raCardInfo{font-size:11px!important}
 .raCardActions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;padding:10px 12px 12px!important}
 .raCardActions button,.raCardActions a{width:100%;min-width:0;min-height:39px!important;padding:8px 7px!important;font-size:11px!important;text-align:center}
 .raCardActions .registerLink,.raCardActions .source{margin-left:0!important}
 .raCardActions .source:last-child:nth-child(4),.raCardActions .registerLink:last-child:nth-child(4){grid-column:auto}
 .cards.listMode .card{display:grid!important;grid-template-columns:94px minmax(0,1fr)!important;grid-template-rows:auto auto!important;min-height:0!important}
 .cards.listMode .raCardVisual{grid-column:1!important;grid-row:1/3!important;height:100%!important;min-height:145px!important}
 .cards.listMode .raCardVisual.duathlon::before{font-size:8px;right:3px;bottom:5px}
 .cards.listMode .raCardBody{grid-column:2!important;grid-row:1!important;padding:10px 10px 3px!important}
 .cards.listMode .raCardBody .eventname{font-size:15px!important}
 .cards.listMode .raCardTags .raDistanceTag{display:none}
 .cards.listMode .raCardActions{grid-column:2!important;grid-row:2!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;padding:5px 9px 9px!important;gap:5px!important}
 .cards.listMode .raCardActions button,.cards.listMode .raCardActions a{min-height:34px!important;font-size:10px!important;padding:6px 4px!important}
 .raSeasonPreview{grid-template-columns:1fr!important;margin:22px 0 17px!important;gap:12px!important}
 .raPreviewPanel{padding:15px!important}
 .raPreviewHeader h2{font-size:20px!important}
 .raOrganizerPromo{min-height:200px!important;padding:20px!important}
 #more.more{width:100%;min-height:47px}
}
@media (max-width:360px){
 .brand{font-size:16px!important}
 .navright button{font-size:11px!important;padding:8px 6px!important}
 .raSportLine span{padding:3px 5px!important;font-size:9px!important}
 .raCardActions button,.raCardActions a{font-size:10px!important}
 .cards.listMode .card{grid-template-columns:80px minmax(0,1fr)!important}
 .cards.listMode .raCardActions button,.cards.listMode .raCardActions a{font-size:9px!important}
}

/* Filters and prices: readable without overwhelming the mobile screen */
.advancedGrid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important}.raCardInfo{color:#607280!important}.raCardInfo.price{font-weight:850!important;color:#1a4736!important}.raCardInfo.registration{color:#48647b!important}.raSportTag.duo{background:#f6ecd8!important;color:#6e481c!important}.raCardVisual.triathlon::before{content:'SWIM · BIKE · RUN';position:absolute;bottom:11px;right:12px;z-index:1;background:#071b2cc9;color:white;border:1px solid #ffffff65;border-radius:7px;padding:6px 9px;font-size:10px;font-weight:900;letter-spacing:.08em}@media(max-width:650px){.advancedGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.raCardInfo{line-height:1.4!important}.raCardVisual.triathlon::before{font-size:9px!important;right:8px;bottom:8px;padding:5px 7px}}

/* Transparency and source quality */
.raSourceMissing{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:7px 11px;border:1px dashed #c6d2d9;background:#f7f9fa;color:#70818b;border-radius:8px;font-size:11px;font-weight:750}
.raQualitySummary{margin:20px 0 8px;border:1px solid #d5e7dc;background:#edf7f0;color:#355845;border-radius:11px;padding:13px 17px;font-size:12px;line-height:1.6;font-weight:700}
@media(max-width:700px){.raQualitySummary{font-size:11px;padding:11px 13px}.raSourceMissing{min-width:0;font-size:10px;padding:7px}}

/* RaceAtlas discovery refinements */
.raActiveFilters{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:3px 0 12px}
.raActiveFilters[hidden]{display:none!important}
.raFilterChip{appearance:none;display:inline-flex;align-items:center;min-height:34px;padding:7px 12px;background:#eaf4ec;color:#234c39;border:1px solid #cce0d0;border-radius:100px;font:inherit;font-size:11px;font-weight:750;white-space:nowrap;cursor:pointer}
.raFilterChip:hover{background:#d4eddb;border-color:#88c39a}
.raFilterChip:focus-visible{outline:3px solid #96ce58;outline-offset:2px}
.quick .pill[aria-pressed="true"]{background:#122e3d!important;color:white!important;border-color:#122e3d!important}
.cards .empty{grid-column:1/-1;min-height:190px;padding:30px 20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;border:1px dashed #c8d7dc;background:white;border-radius:16px;color:#4b6270;font-weight:750}
.cards .empty p{display:none}
.cards .empty .miniBtn{background:var(--ra-lime)!important;border-color:var(--ra-lime)!important;color:#11281e!important;min-height:42px;padding:10px 16px!important}
@media(max-width:700px){
 .raActiveFilters{display:flex;flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch;margin:2px 0 9px;padding:4px 0 9px;gap:6px}
 .raActiveFilters::-webkit-scrollbar{display:none}
 .raFilterChip{flex:0 0 auto;min-height:36px;font-size:11px;padding:7px 11px}
 .cards .empty{min-height:175px;padding:24px 15px;font-size:13px}
 .resultTools{justify-content:space-between!important}
 .onlyFuture{flex:1 1 auto;min-width:0}
 .onlyFuture input{flex:0 0 auto}
 .viewSwitch{flex:0 0 auto}
}

/* Thumb-friendly navigation, with safe-area support on iPhone */
.raMobileNav{display:none}
@media(max-width:700px){
 body{padding-bottom:calc(74px + env(safe-area-inset-bottom))}
 .raMobileNav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));position:fixed;left:0;right:0;bottom:0;z-index:70;min-height:65px;padding:7px 10px calc(7px + env(safe-area-inset-bottom));background:#081e2bea;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-top:1px solid #ffffff27;box-shadow:0 -6px 24px #09253229}
 .raMobileNav button{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px;border:0;border-radius:10px;background:transparent;color:#bed4dd;min-height:49px;cursor:pointer}
 .raMobileNav button span{font-size:22px;line-height:1}
 .raMobileNav button strong{font-size:10px;font-weight:850;letter-spacing:.01em}
 .raMobileNav button.selected{color:#caff3e;background:#caff3e14}
 .raMobileNav button:focus-visible{outline:2px solid #caff3e;outline-offset:-2px}
 .ra-detail-overlay,.ra-overlay{z-index:110}
 .ra-detail-dialog,.ra-dialog{max-height:calc(100dvh - 45px - env(safe-area-inset-bottom))}
 #explore{scroll-margin-top:12px}
}

/* Featured race artwork: original per-event illustrations until licensed race photography is supplied. */
.raCardVisual.raUniqueVisual{background-repeat:no-repeat;background-size:cover;background-position:center center}

.raCardVisual.raUniqueVisual .raDateBadge,.raCardVisual.raUniqueVisual .raFeatureBadge{position:relative;z-index:2}
@media(max-width:700px){.raCardVisual.raUniqueVisual{background-position:center}}
