/* Bololo 1.3.2 — editorial rhythm, useful information and deliberate interaction. */
:root { --bololo-glass-line: rgba(171,235,247,.28); --bololo-motion: cubic-bezier(.22,1,.36,1); }
.bololo-header-v130 { background: rgba(5,14,20,.94); border-bottom-color: var(--bololo-glass-line); }
.bololo-header-v130 .bololo-mega-panel { background: linear-gradient(135deg,rgba(24,47,59,.98),rgba(5,14,21,.97)); border-color: var(--bololo-glass-line); box-shadow: inset 0 1px rgba(255,255,255,.16),0 28px 80px #0008; }
@supports (backdrop-filter:blur(16px)) {
 .bololo-header-v130 { background: rgba(5,14,20,.83); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); }
 .bololo-header-v130 .bololo-mega-panel { backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px); }
}
.bololo-home-v130 .bololo-revamp-primary,.bololo-header-v130 .bololo-header-register { background: linear-gradient(135deg,#b91571,#9c125e); color:#fff; border:1px solid #f28ac4; box-shadow:inset 0 1px #ffffff66,0 8px 28px #cf277d40; }
.bololo-home-v130 .bololo-revamp-secondary { background:linear-gradient(135deg,#ffffff18,#ffffff08); color:#fff; border:1px solid #ffffff70; box-shadow:inset 0 1px #ffffff30; }
.bololo-home-v130 .bololo-revamp-secondary:is(:hover,:focus-visible) { background:#133643; color:#fff; border-color:#7de6f2; }
.bololo-home-v130 .bololo-revamp-primary:is(:hover,:focus-visible),.bololo-header-v130 .bololo-header-register:is(:hover,:focus-visible) { background:linear-gradient(135deg,#a50e61,#7c0b49); color:#fff; }
.bololo-home-v130 :is(.bololo-revamp-primary,.bololo-revamp-secondary),.bololo-header-v130 :is(.bololo-header-register,.bololo-nav-portal),.bololo-footer-race-action { position:relative; overflow:hidden; isolation:isolate; transition:transform 240ms var(--bololo-motion); }
.bololo-home-v130 :is(.bololo-revamp-primary,.bololo-revamp-secondary)::before,.bololo-footer-race-action::before,.bololo-header-register::before { content:""; position:absolute; inset:0; background:linear-gradient(115deg,transparent 20%,#ffffff3b 45%,transparent 70%); transform:translateX(-110%); pointer-events:none; transition:transform 450ms var(--bololo-motion); }
.bololo-home-v130 :is(.bololo-revamp-primary,.bololo-revamp-secondary):is(:hover,:focus-visible),.bololo-footer-race-action:is(:hover,:focus-visible),.bololo-header-v130 :is(.bololo-header-register,.bololo-nav-portal):is(:hover,:focus-visible) { transform:translateY(-3px); box-shadow:inset 0 1px #ffffff60,0 12px 32px #11c7e633; }
.bololo-home-v130 :is(.bololo-revamp-primary,.bololo-revamp-secondary):is(:hover,:focus-visible)::before,.bololo-footer-race-action:is(:hover,:focus-visible)::before,.bololo-header-register:is(:hover,:focus-visible)::before { transform:translateX(110%); }
.bololo-home-v130 a:active,.bololo-header-v130 button:active,.bololo-footer-race-action:active { transform:translateY(1px) scale(.98); }
:is(.bololo-home-v130,.bololo-header-v130,.bololo-footer-v130) :is(a,button):focus-visible { outline:3px solid #17cde6; outline-offset:5px; }
.bololo-home-v130 a svg,.bololo-header-v130 a svg,.bololo-footer-v130 a svg { transition:transform 240ms var(--bololo-motion); }
.bololo-home-v130 a:is(:hover,:focus-visible) svg:last-child,.bololo-footer-v130 a:is(:hover,:focus-visible) svg:last-child { transform:translateX(4px); }
.bololo-header-v130 .bololo-mega-link:is(:hover,:focus-visible) { background:#21c9df17; border-color:#62ddec66; transform:translateX(3px); }
.bololo-header-v130 .bololo-mega-link { transition:transform 200ms var(--bololo-motion); }
.bololo-header-v130 .bololo-mega-copy > span { color:#b7c6ce; }
.bololo-home-v130 .bololo-revamp-kicker { color:#087287; }
.bololo-home-v130 :is(.bololo-hero-v130,.bololo-route-v130,.bololo-revamp-media,.bololo-final-v130) .bololo-revamp-kicker { color:#62e4f4; }
.bololo-experience-v130 { background:radial-gradient(ellipse at 0 10%,#93e7ef55,transparent 60%),linear-gradient(150deg,#e9f4f4,#f6f2f4); }
.bololo-experience-card { background:linear-gradient(135deg,#ffffffed,#ffffff8c); border-color:#fff; box-shadow:inset 0 1px #fff,0 12px 35px #0d354c0a; position:relative; overflow:hidden; transition:transform 250ms var(--bololo-motion); }
.bololo-experience-card::after { content:""; position:absolute; inset:0; border-radius:inherit; box-shadow:inset 0 0 0 2px #0b8ba8; opacity:0; pointer-events:none; transition:opacity 250ms; }
.bololo-experience-card:is(:hover,:focus-within)::after { opacity:1; }
.bololo-experience-card:is(:hover,:focus-within) { transform:translateY(-7px); box-shadow:0 22px 48px #063c5520; }
.bololo-experience-icon,.bololo-community-symbol,.bololo-footer-race-copy > span { background:linear-gradient(145deg,#204556,#081921); border:1px solid #65c6db66; box-shadow:inset 0 1px #ffffff45,0 6px 14px #06243322; color:#6de8f7; flex-shrink:0; transition:transform 250ms var(--bololo-motion); }
.bololo-experience-card:hover .bololo-experience-icon { transform:rotate(-7deg) scale(1.08); }
.bololo-experience-index { color:#66777d; }
.bololo-route-v130 { background:radial-gradient(ellipse at 90% 15%,#07506466,transparent 60%),#050d13; }
.bololo-route-v130 li small { color:#b3c4cd; }
.bololo-route-v130 figure,.bololo-community-v130 figure { position:relative; }
.bololo-route-v130 figure::after { content:""; position:absolute; inset:0; border:1px solid #c0f4ff66; border-radius:inherit; box-shadow:inset 0 0 45px #1bc7e51c; pointer-events:none; }
.bololo-final-v130 { position:relative; isolation:isolate; }
.bololo-final-v130::before { content:""; position:absolute; inset:0; z-index:-1; background:radial-gradient(ellipse at 18% 35%,#08b6d02b,transparent 55%),radial-gradient(ellipse at 85% 75%,#ec239a22,transparent 55%); pointer-events:none; }
.bololo-final-v130 .bololo-revamp-shell h2 { max-width:16ch; line-height:.98; }
.bololo-final-icon { box-shadow:inset 0 1px #ffffff42,0 0 0 10px #1dc7e608,0 0 0 11px #1dc7e622; color:#79edfa; }
.bololo-footer-race-card { box-shadow:inset 0 1px #ffffffb3,0 20px 60px #0005; border:1px solid #a3f0f9; }
.bololo-footer-v130 .bololo-footer-nav a { min-height:44px; transition:transform 200ms var(--bololo-motion); }
.bololo-footer-v130 :is(.bololo-footer-nav a,.bololo-footer-socials a):is(:hover,:focus-visible) { color:#74e8f6; transform:translateX(4px); }
.bololo-scroll-progress { position:fixed; top:0; inset-inline:0; height:3px; background:linear-gradient(90deg,#6ce9f4,#ee54b0); transform:scaleX(0); transform-origin:left; z-index:160; pointer-events:none; }
@media (prefers-reduced-motion:no-preference) {
 .bololo-reveal.is-entering { animation:bololo-enter 650ms var(--bololo-motion) both; }
 @keyframes bololo-enter { from { opacity:0; transform:translateY(22px); } to { opacity:1; transform:translateY(0); } }
}
@media (max-width:1180px) {
 .bololo-header-v130 .bololo-nav { justify-content:flex-start; border-radius:20px; background:#08131cf5; }
 .bololo-header-v130 .bololo-mega-panel { backdrop-filter:none; -webkit-backdrop-filter:none; }
 .bololo-header-v130 .bololo-nav-group:not(.is-open) .bololo-mega-panel { display:none; }
}
@media (prefers-reduced-motion:reduce) {
 :is(.bololo-home-v130,.bololo-header-v130,.bololo-footer-v130) *, :is(.bololo-home-v130,.bololo-header-v130,.bololo-footer-v130) *::before { animation:none!important; transition:none!important; }
 .bololo-experience-card:hover,.bololo-experience-card:hover .bololo-experience-icon { transform:none; }
.bololo-scroll-progress { display:none; }
}

/* Editorial layer: route-inspired numbering, a race pass and a useful close. */
.bololo-home-v130 { --race-paper:#f2f4ef; --race-ink:#10242b; --race-muted:#50616a; --race-line:#ccd6d6; }
.bololo-hero-v130 .bololo-revamp-hero-content { padding-block:4rem 3rem; min-height:0; }
.bololo-hero-v130 { min-height:0; }
.bololo-hero-v130 .bololo-revamp-hero-content h1 { font-size:clamp(3.3rem,7.2vw,7rem); }
.bololo-race-brief,.bololo-rider-faq { background:var(--race-paper); color:var(--race-ink); padding-block:clamp(3rem,7vw,6rem); }
.bololo-home-v130 section[id] { scroll-margin-top:130px; }
.bololo-brief-grid,.bololo-guide-layout { display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(2rem,6vw,6rem); align-items:start; }
.bololo-home-v130 :is(.bololo-race-brief,.bololo-rider-faq) h2 { font-family:var(--bololo-font-display); font-size:clamp(2.8rem,5vw,4.5rem); line-height:1; text-transform:uppercase; margin:1rem 0 1.4rem; }
.bololo-brief-intro > p:not(.bololo-revamp-kicker),.bololo-guide-layout > div > p:not(.bololo-revamp-kicker) { color:var(--race-muted); font-size:1rem; line-height:1.7; max-width:38ch; }
.bololo-race-pass { background:#fff; border:1px solid var(--race-line); border-radius:4px 24px 24px 4px; border-left:6px solid var(--bololo-cyan); box-shadow:0 16px 40px #10242b0b; }
.bololo-pass-heading { display:flex; justify-content:space-between; gap:1rem; font-size:.7rem; font-weight:800; letter-spacing:.1em; padding:1.3rem 1.5rem; border-bottom:1px dashed var(--race-line); }
.bololo-race-pass dl { display:grid; grid-template-columns:1fr 1fr; margin:0; padding:.5rem 1.5rem; }
.bololo-race-pass dl > div { padding:1.25rem 0; border-bottom:1px solid var(--race-line); }
.bololo-race-pass dt { color:var(--race-muted); font-size:.75rem; margin-bottom:.5rem; }
.bololo-race-pass dd { margin:0; font-weight:800; font-size:1.2rem; line-height:1.4; }
.bololo-race-pass small { display:block; font-size:.75rem; font-weight:500; color:var(--race-muted); margin-top:.3rem; }
.bololo-race-pass .bololo-pending { color:#85501b; font-size:1rem; }
.bololo-pass-note { color:var(--race-muted); font-size:.8rem; line-height:1.6; padding:0 1.5rem 1rem; }
.bololo-home-v130 .bololo-experience-card { min-height:0; padding:1.5rem; }
.bololo-home-v130 .bololo-experience-grid { gap:1rem; }
.bololo-home-v130 .bololo-experience-card h3 { font-size:1.65rem; }
.bololo-home-v130 .bololo-journey-v130 li { min-height:0; border-radius:0; border:0; border-top:2px solid var(--race-line); padding:1.5rem 1.5rem 0 0; background:transparent; }
.bololo-home-v130 .bololo-journey-v130 ol { gap:2rem; }
.bololo-home-v130 .bololo-journey-v130 li > svg { display:none; }
.bololo-archive-note { color:#b9c6cd; max-width:65ch; font-size:1rem; line-height:1.7; margin:0 0 2rem; }
.bololo-home-v130 .bololo-revamp-gallery { grid-template-columns:1.4fr 1fr 1fr; align-items:start; }
.bololo-home-v130 .bololo-revamp-gallery figure:first-child { margin-top:0; }
.bololo-home-v130 .bololo-revamp-gallery figure:nth-child(2) { margin-top:3rem; }
.bololo-home-v130 .bololo-revamp-gallery figure:nth-child(3) { margin-top:6rem; }
.bololo-faq-list details { border-bottom:1px solid var(--race-line); }
.bololo-faq-list details:first-child { border-top:1px solid var(--race-line); }
.bololo-faq-list summary { cursor:pointer; padding:1.4rem 2rem 1.4rem 0; font-weight:800; font-size:1rem; position:relative; list-style:none; }
.bololo-faq-list summary::-webkit-details-marker { display:none; }
.bololo-faq-list summary::after { content:"+"; position:absolute; right:0; top:1.2rem; color:#087287; font-size:1.5rem; }
.bololo-faq-list details[open] summary::after { content:"−"; }
.bololo-faq-list details[open] summary { color:#087287; }
.bololo-faq-list summary:focus-visible { outline:3px solid #087287; outline-offset:4px; }
.bololo-faq-list p { margin:0; padding:0 1rem 1.5rem 0; color:var(--race-muted); line-height:1.7; }
.bololo-faq-list a { color:#08667a; text-decoration:underline; text-underline-offset:3px; }
.bololo-home-v130 .bololo-final-v130 { padding-block:4rem; background:#081921; }
.bololo-footer-v130 .bololo-footer-race-card { display:none; }
.bololo-footer-v130 .bololo-footer-inner { padding-block:3rem; gap:2rem; }
.bololo-footer-v130 .bololo-footer-contact { display:block; }
.bololo-footer-v130 .bololo-footer-statement { font-size:1.8rem; max-width:22ch; }
.bololo-footer-v130 .bololo-footer-socials { gap:.25rem; }
.bololo-footer-v130 .bololo-footer-email { display:inline-flex; margin-top:1rem; overflow-wrap:anywhere; }
@media(max-width:820px) {
 .bololo-hero-v130 .bololo-revamp-hero-content { padding-block:2.5rem 2rem; min-height:0; }
 .bololo-hero-v130 .bololo-revamp-hero-shade { background:linear-gradient(90deg,#020609ec,#02060985); }
 .bololo-hero-v130 .bololo-revamp-hero-media { object-position:60% center; }
 .bololo-hero-v130 .bololo-revamp-hero-content h1 { font-size:clamp(3rem,9vw,4.5rem); }
 .bololo-hero-v130 .bololo-hero-edition { display:none; }
 .bololo-brief-grid,.bololo-guide-layout { grid-template-columns:1fr; gap:2rem; }
 .bololo-home-v130 .bololo-revamp-gallery { grid-template-columns:1fr 1fr; gap:1rem; }
 .bololo-home-v130 .bololo-revamp-gallery figure:first-child { grid-column:1 / -1; }
 .bololo-home-v130 .bololo-revamp-gallery figure:nth-child(n) { margin-top:0; }
 .bololo-home-v130 .bololo-revamp-gallery figure img { height:20rem; }
 .bololo-home-v130 .bololo-revamp-gallery figure:first-child img { height:26rem; }
}
@media(max-width:480px) {
 .bololo-hero-v130 .bololo-revamp-hero-content > p:not(.bololo-revamp-kicker) { font-size:.9rem; line-height:1.6; }
 .bololo-hero-v130 .bololo-revamp-actions { gap:.7rem; margin-top:1.4rem; }
 .bololo-hero-v130 .bololo-hero-trust { margin-top:1rem; }
 .bololo-pass-heading { font-size:.6rem; padding:1rem; }
 .bololo-race-pass dl { padding:0 1rem; gap:0 1rem; }
 .bololo-race-pass dd { font-size:1rem; }
 .bololo-pass-note { padding-inline:1rem; }
 .bololo-home-v130 .bololo-revamp-gallery { grid-template-columns:1fr; }
.bololo-home-v130 .bololo-revamp-gallery figure:first-child img { height:23rem; }
}
@media(max-width:360px) {
 .bololo-race-pass dl { grid-template-columns:1fr; }
}
