/* BCV / Sport editorial v2. Functional controls retain Google Sans. */
@font-face{font-family:Stretch Pro;src:url(assets/StretchPro.otf) format('opentype');font-weight:400;font-display:swap}
:root{--paper:#f4f7f9;--gold:#85bde4;--cyan:#2c77a8}
.sport-heading,.title-line,.fact:not(.fact-place) strong,.distance-pair b,.preview-distance b{font-family:'Stretch Pro','Google Sans',sans-serif;font-weight:400;font-variant-ligatures:none;letter-spacing:-.025em}
.stretch-wide{font-feature-settings:'dlig' 1,'liga' 1;letter-spacing:0}
.site-header{height:94px}.demo-bar{background:#e7eef4}.demo-dot{background:#2c77a8}
.button,.desktop-nav .nav-qr{border-radius:2px}.button{min-height:50px}.desktop-nav>a{font-weight:500}
.hero{min-height:650px;grid-template-columns:1.5fr 1fr;gap:32px;padding-top:60px;padding-bottom:88px;background:#06274a}
.hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#06274a 10%,transparent 90%),url(assets/identidad-86.png) left center/4800px auto;opacity:.16;pointer-events:none}
.hero-copy{position:relative;z-index:2;align-self:center}.hero .eyebrow{font-size:10px;letter-spacing:2.4px;margin-bottom:32px}
.hero h1{font-size:clamp(38px,4.65vw,77px);line-height:1.05;letter-spacing:0;font-weight:400;position:relative}
.title-line{display:block;white-space:nowrap}.title-join{display:inline-block;font:400 .7em/1 'Google Sans',sans-serif;color:#94bddc;margin-left:.22em}.title-line+.title-line{margin-top:.15em}
.title-walk{color:#a4d2f2}.hero-description{font-size:15px;line-height:1.7;max-width:420px;margin-top:28px}
.hero h1 .event-name-line{display:block;font:600 clamp(12px,1.25vw,18px)/1.5 'Google Sans',sans-serif;letter-spacing:2px;color:#bad8ed;margin-top:20px}
.hero-actions{gap:22px;margin-top:28px;flex-wrap:wrap}.hero-text-link{font-size:12px}
.hero-art{position:relative;display:grid;place-items:center;min-height:380px;margin:0;background:none;overflow:visible;align-self:center}
.hero-art .art-pattern{inset:-60px -50px;opacity:.24;mask-image:linear-gradient(90deg,transparent,black)}
.hero-mark{position:relative;right:auto;bottom:auto;width:242px;height:296px;background-size:2100px auto;border-radius:18px;box-shadow:0 0 65px 28px #041e3b;transform:none;border:0}
.art-caption{bottom:-8px;left:0;right:0;justify-content:center;font-size:9px;letter-spacing:2.5px;color:#91b6d7}.hero-bottom{border-top:1px solid #ffffff25;padding-top:16px;bottom:22px;color:#a6c3db}
.event-facts{padding-top:34px;padding-bottom:34px;border-bottom:1px solid #cbd9e4}.fact strong{font-size:47px;margin:10px 0 8px;letter-spacing:-2px}.fact strong>span{font-size:32px}.fact-kicker{color:var(--blue);font-weight:650}
.fact-place strong{font-family:'Google Sans',sans-serif;font-size:23px;letter-spacing:-.5px}.fact p{font-size:11px}
.section-space{margin-top:82px;margin-bottom:82px}.home-route{grid-template-columns:.85fr 1.15fr;gap:55px}.section-index{font:14px 'Stretch Pro',sans-serif;color:#6d94b2;letter-spacing:0}
.section-intro h2.sport-heading{font-size:clamp(23px,2.7vw,40px);line-height:1.25;letter-spacing:-1px;margin:25px 0}.section-intro>p:not(.eyebrow){font-size:14px;line-height:1.75}
.map-preview{height:430px;background:#eaf1f6;border:0;border-radius:0;box-shadow:none}.map-preview img{object-fit:cover;object-position:50% 50%;transition:transform .4s}.map-preview:hover img{transform:scale(1.06)}
.preview-distance{position:absolute;top:22px;right:22px;display:flex;flex-direction:column;text-align:right;background:#edf3f7;padding:10px}.preview-distance b{font-size:28px;line-height:1.1;color:var(--blue)}.preview-distance small{font-size:8px;letter-spacing:1.5px;margin-top:8px}.map-preview-label{border-radius:0;background:var(--blue);color:white;bottom:20px;right:20px;box-shadow:none}
.home-consult{background:var(--navy);color:white;border:0;padding:40px}.home-consult .eyebrow,.home-consult p:not(.eyebrow){color:#b9cee0}.home-consult h2.sport-heading{font-size:clamp(21px,2.3vw,32px);line-height:1.3;margin:18px 0}.home-consult .button{background:white;color:var(--blue);flex-shrink:0}
.page-heading{padding-bottom:30px;border-bottom:1px solid var(--line);margin-bottom:24px;align-items:flex-end}.page-heading h1.sport-heading{font-size:clamp(26px,3vw,46px);line-height:1.3;letter-spacing:-1px;margin:18px 0}.qr-page .page-heading h1.sport-heading{font-size:clamp(23px,2.6vw,39px)}
.distance-pair b{font-size:35px;margin-bottom:6px}.map-tabs{gap:0;border:0;background:#e7eef4;padding:5px;width:max-content;max-width:100%}.map-tabs button{border:0;padding:12px 23px;font-size:12px}.map-tabs button[aria-selected=true]{background:var(--blue);color:white}
.map-layout{gap:26px}.map-panel #map-viewport{height:590px;border:0;border-radius:0;background:#edf3f7}.map-sidebar{border-radius:0;border:0;border-top:4px solid var(--blue)}.sidebar-head{padding-top:20px}.point-row{padding-top:17px;padding-bottom:17px}.point-number{border-radius:4px}.point-row[aria-pressed=true] .point-number{background:var(--blue);color:#fff;border-color:var(--blue)}
.map-marker.selected,.map-marker:hover{background:#071e34;box-shadow:0 0 0 5px #89c5ec66}.map-marker.hydration{background:#306f9f}.map-locale{box-shadow:none;border-radius:0}.map-controls{border-radius:0}.map-help{border-radius:0}
#toggle-map-source{position:absolute;bottom:49px;left:14px;background:white;padding:8px 11px;font-size:10px;color:var(--blue);border:1px solid #cadce9;z-index:4}
#toggle-map-source[aria-pressed=true]{background:var(--blue);color:white}
.search-form,.empty-state,.scanner-card,.qr-demo{border-radius:2px}.search-form{border-top:4px solid var(--blue)}.search-aside{border-left:1px solid var(--line);padding-left:28px}.aside-icon{border-radius:0}.scan-guide i{border-color:#9fd2f2}.scanner-window{border-radius:0;background:#06274a}.scanner-idle h2{font-size:19px}.scanner-aside{padding-top:5px}
.site-footer{padding-top:30px}.site-footer b{font-weight:600}
@media(max-width:1100px){html[data-experience=desktop] .hero-art{margin:0}html[data-experience=desktop] .hero{gap:20px;min-height:580px}html[data-experience=desktop] .hero h1{font-size:4.5vw}html[data-experience=desktop] .hero-art{min-height:340px}html[data-experience=desktop] .hero-mark{width:180px;height:220px;background-size:1560px auto}html[data-experience=desktop] .home-consult{padding:28px}}
html[data-experience=mobile] .site-header{height:80px}
html[data-experience=mobile] .hero{padding:34px 24px 55px;min-height:0;display:block}
html[data-experience=mobile] .hero h1{font-size:clamp(27px,8vw,44px);letter-spacing:0;line-height:1.1}
html[data-experience=mobile] .hero .eyebrow{font-size:8px;margin-bottom:26px;letter-spacing:1.3px}
html[data-experience=mobile] .title-join{font-size:.7em;margin:0 0 0 .22em}
html[data-experience=mobile] .hero-description{font-size:12px;max-width:320px;margin-top:23px}
html[data-experience=mobile] .hero-actions{margin-top:20px}
html[data-experience=mobile] .hero-art{position:relative;inset:auto;display:grid;height:180px;min-height:0;opacity:1;margin:32px 0 22px;pointer-events:none}
html[data-experience=mobile] .hero-art .art-pattern{inset:-20px -24px;opacity:.2;mask-image:none}
html[data-experience=mobile] .hero-mark{display:block;right:auto;bottom:auto;width:145px;height:177px;background-size:1260px auto;box-shadow:0 0 30px 15px #041e3b}
html[data-experience=mobile] .hero-bottom{bottom:18px;left:24px;right:24px;font-size:6.5px;padding-top:12px;letter-spacing:1px}
html[data-experience=mobile] .event-facts{padding:25px 24px;gap:22px 0}
html[data-experience=mobile] .fact strong{font-size:39px;margin:9px 0 7px;letter-spacing:-2px}
html[data-experience=mobile] .fact strong>span{font-size:26px}
html[data-experience=mobile] .fact-people strong{font-size:27px}
html[data-experience=mobile] .fact-place strong{font-size:18px;letter-spacing:-.5px;margin-top:8px}
html[data-experience=mobile] .fact-kicker{font-size:7px;letter-spacing:1px}
html[data-experience=mobile] .mobile-launcher{margin:25px 24px;gap:0;border-top:1px solid var(--line)}
html[data-experience=mobile] .mobile-launcher a{padding:15px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:none}
html[data-experience=mobile] .mobile-launcher a>span:first-child{border-radius:0;background:var(--blue);color:white}
html[data-experience=mobile] .section-space{margin:45px 24px}
html[data-experience=mobile] .section-intro h2.sport-heading{font-size:clamp(22px,5.5vw,32px);line-height:1.35;letter-spacing:-.7px;margin:22px 0}
html[data-experience=mobile] .home-route{gap:20px}.section-index{font-size:12px}
html[data-experience=mobile] .map-preview{height:285px;border:0}
html[data-experience=mobile] .preview-distance{top:10px;right:10px;padding:6px}
html[data-experience=mobile] .preview-distance b{font-size:19px}
html[data-experience=mobile] .preview-distance small{font-size:6px}
html[data-experience=mobile] .map-preview-label{font-size:10px;bottom:12px;right:12px;padding:8px 10px}
html[data-experience=mobile] .page-heading{padding-bottom:22px;margin-bottom:18px}
html[data-experience=mobile] .page-heading h1.sport-heading{font-size:clamp(23px,5.7vw,33px);line-height:1.3;letter-spacing:-.7px;margin:18px 0 12px}
html[data-experience=mobile] .qr-page .page-heading h1.sport-heading{font-size:clamp(18px,4.7vw,28px)}
html[data-experience=mobile] .distance-pair b{font-size:24px;margin:0}
html[data-experience=mobile] .distance-pair span{font-size:9px;gap:8px}
html[data-experience=mobile] .map-tabs{width:100%;gap:0;padding:4px}
html[data-experience=mobile] .map-tabs button{font-size:10px;padding:10px 8px;flex:1}
html[data-experience=mobile] .map-panel #map-viewport{height:450px}
html[data-experience=mobile] #toggle-map-source{left:10px;bottom:44px;font-size:9px}
html[data-experience=mobile] .map-help{font-size:8px}
html[data-experience=mobile] .point-row{padding:15px 17px}
html[data-experience=mobile] .mobile-nav a.active:before{width:42px}
@media(prefers-reduced-motion:reduce){.map-preview img{transition:none}}

/* v3: capsule controls, inverted interaction states and persistent active navigation. */
button,.button,.text-link,.hero-text-link,.download-demo,.map-preview-label,
.desktop-nav>a,.mobile-nav>a,.filter-group label>span{border-radius:999px!important;transition:background-color .18s,color .18s,border-color .18s,scale .18s,box-shadow .18s}
.button:hover{transform:none}
.button-white,.button-outline{background:#fff;color:var(--blue);border-color:var(--blue)}
.hero .button-white{border-color:#fff}
.hero-text-link{padding:12px 17px;border:1px solid #719bbf;color:white}
.text-link{padding:7px 12px;margin-left:-12px}
.demo-bar button{padding:4px 10px;margin:3px 0;text-decoration:none;border:1px solid #bdcfdf;background:white;color:var(--blue)}
.desktop-nav{gap:8px}
.desktop-nav>a,.desktop-nav .nav-qr{height:44px;padding:0 19px;background:#fff;color:var(--blue);border:1px solid transparent}
.desktop-nav>a.active,.desktop-nav .nav-qr.active{background:var(--blue);color:white;border-color:var(--blue)}
.desktop-nav>a.active:after{display:none}
.desktop-nav .nav-qr{border-color:#bed0df}
.map-tabs{border-radius:999px;overflow:visible}
.map-controls{border-radius:26px;overflow:visible;gap:4px;padding:5px;background:#fff}
.map-controls button{border:1px solid transparent}.map-controls output{border:0}
#map-reset{border-color:transparent}
.map-sidebar{padding-bottom:8px}
.point-row{width:calc(100% - 16px);margin:4px 8px;border:1px solid transparent;padding:13px 12px}
.point-row[aria-pressed=true]{background:var(--blue);color:white}
.point-row[aria-pressed=true] .point-text small{color:#d2e4f2}
.point-row[aria-pressed=true] .point-number{border-color:#94b6d0;color:white}
.point-detail .text-link{margin-left:0}
.filter-group label>span{background:white;color:var(--blue)}
.filter-group label{position:relative}
.filter-group input{inset:0;width:100%;height:100%;margin:0;z-index:2;cursor:pointer}
.filter-group input:checked+span{background:var(--blue);color:white}
.examples button{border:1px solid #c2d5e4;padding:7px 14px;background:white;color:var(--blue)}
.participant-table .text-link,.participant-card .text-link{margin-left:0}
.qr-demo .text-link{padding:7px 9px;margin-left:-9px}
.download-demo{padding:4px 8px;margin-left:-8px}
.dialog-close{background:white;border:1px solid #d5e1eb;color:var(--blue)}
html[data-experience=mobile] .desktop-nav{display:none}
html[data-experience=mobile] .mobile-nav{gap:5px;padding-left:10px;padding-right:10px}
html[data-experience=mobile] .mobile-nav a{min-height:52px;color:var(--blue);background:white}
html[data-experience=mobile] .mobile-nav a.active{color:white;background:var(--blue)}
html[data-experience=mobile] .mobile-nav a.active:before{display:none}
html[data-experience=mobile] .map-tabs{overflow:visible}
html[data-experience=mobile] .point-row{padding:13px 12px}
html[data-experience=mobile] .participant-card .text-link{border:1px solid #d5e1eb;padding:10px 15px}
html[data-experience=mobile] .mobile-launcher{gap:10px;border:0}
html[data-experience=mobile] .mobile-launcher a{border:1px solid #cbdce9;background:white;padding:14px 18px;border-radius:999px}
html[data-experience=mobile] .mobile-launcher a>span:first-child{border-radius:50%}
@media(hover:hover) and (pointer:fine){
 button:not(:disabled):hover,.button:hover,.text-link:hover,.hero-text-link:hover,.download-demo:hover,.desktop-nav>a:hover,.mobile-nav>a:hover,.filter-group label:hover>span,.mobile-launcher a:hover{background:var(--blue)!important;color:white!important;border-color:var(--blue)!important;scale:1.035}
 .button.button-blue:hover,.desktop-nav>a.active:hover,.mobile-nav>a.active:hover,.map-tabs button[aria-selected=true]:hover,.point-row[aria-pressed=true]:hover,#toggle-map-source[aria-pressed=true]:hover,button.map-marker:hover,.filter-group label:hover input:checked+span{background:white!important;color:var(--blue)!important;border-color:var(--blue)!important}
 .home-consult .button-blue:hover{background:var(--blue)!important;color:white!important;border-color:white!important}
 .hero-text-link:hover{background:white!important;color:var(--blue)!important;border-color:white!important}
 .hero .button-white:hover{border-color:white!important;box-shadow:0 0 0 1px #ffffff55}
 .point-row:hover .point-text small{color:inherit}
 .point-row:hover .point-number{background:transparent;color:inherit;border-color:currentColor}
 .mobile-launcher a:hover small,.mobile-launcher a:hover>span:last-child{color:inherit!important}
 .map-preview:hover .map-preview-label{background:white;color:var(--blue);scale:1.035}
}
@media(max-width:1100px){html[data-experience=desktop] .desktop-nav{gap:4px}html[data-experience=desktop] .desktop-nav>a{padding:0 13px}}
@media(prefers-reduced-motion:reduce){button,.button,.text-link,.hero-text-link,.download-demo,.desktop-nav>a,.mobile-nav>a,.filter-group label>span{transition:none!important;scale:1!important}}
/* Results: publication notice, with no placeholder rankings or times. */
.results-announcement{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);background:white;border:1px solid var(--line);margin:32px 0 20px}
.results-date{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:55px 32px;background:linear-gradient(145deg,#06274a,#145186);color:white;min-height:380px}
.results-date:after{content:'';position:absolute;width:310px;height:310px;border:1px solid #ffffff18;border-radius:50%;right:-145px;bottom:-140px;pointer-events:none}
.results-date-label{font-size:10px;letter-spacing:2px;color:#bad8ed;font-weight:600}
.results-date time{display:flex;flex-direction:column;align-items:center;margin:24px 0 14px}
.results-date time b{font:400 clamp(66px,8vw,115px)/1 'Stretch Pro',sans-serif;letter-spacing:-4px}
.results-date time span{font-size:18px;letter-spacing:5px;margin-top:12px}
.results-date-year{font-size:12px;letter-spacing:3px;color:#bad8ed}
.results-message{padding:44px clamp(24px,4vw,60px);align-self:center}
.results-symbol{display:inline-flex;color:var(--blue);margin-bottom:22px}
.results-symbol .icon{width:32px;height:32px}
.results-message .eyebrow{font-size:9px;letter-spacing:1.6px}
.results-message h2{font-size:clamp(23px,2.2vw,32px);font-weight:550;line-height:1.3;letter-spacing:-.5px;margin-bottom:18px;max-width:560px}
.results-message>p:not(.eyebrow){font-size:14px;color:var(--muted);line-height:1.7}
.results-message .results-walk-note{border-top:1px solid var(--line);padding-top:15px;margin-top:20px;font-size:12px!important}
.results-message .button{margin-top:25px}
html[data-experience=mobile] .mobile-nav{grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;padding-left:6px;padding-right:6px}
html[data-experience=mobile] .mobile-nav a{min-width:0;font-size:9px}
html[data-experience=mobile] .results-announcement{grid-template-columns:1fr;margin-top:22px}
html[data-experience=mobile] .results-date{min-height:0;padding:28px 24px}
html[data-experience=mobile] .results-date time{margin:16px 0 10px}
html[data-experience=mobile] .results-date time b{font-size:76px}
html[data-experience=mobile] .results-date time span{font-size:15px;margin-top:7px}
html[data-experience=mobile] .results-message{padding:28px 24px}
@media(min-width:761px) and (max-width:1100px){
 html[data-experience=desktop] .site-header{gap:14px;padding-left:24px;padding-right:24px}
 html[data-experience=desktop] .brand>span{display:none}
 html[data-experience=desktop] .desktop-nav{gap:3px}
 html[data-experience=desktop] .desktop-nav>a{padding:0 12px;white-space:nowrap}
}
