.home-page{min-width:320px}
.home-page h1,.home-page h2,.home-page h3{font-family:var(--dopa-head);font-weight:900;letter-spacing:-.045em;text-transform:uppercase}
.home-page em{font-style:normal;color:var(--dopa-lime)}
.home-hero{position:relative;min-height:min(850px,calc(100svh - 80px));display:flex;flex-direction:column;justify-content:center;isolation:isolate;background:#111816;overflow:hidden}
.home-hero-media{position:absolute;inset:0;z-index:-1}
.home-hero-media:after{content:'';display:block;position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,#080a0bf7 0%,#080a0bdc 27%,#080a0b69 50%,transparent 78%),linear-gradient(0deg,#080a0bd9,transparent 22%,transparent 75%,#080a0b4d)}
.home-hero-image{width:100%;height:100%;object-fit:cover;object-position:center center}
.home-hero-image[hidden]{display:none}
.home-hero-content{padding-block:90px 85px}
.home-hero h1{max-width:870px;margin:22px 0 0;font-size:clamp(76px,9.1vw,160px);line-height:.82}
.home-hero-second{margin:28px 0 0;font:800 clamp(28px,3.2vw,50px)/1 var(--dopa-head);letter-spacing:-.028em;text-transform:uppercase}
.home-hero-copy{max-width:470px;margin:24px 0 0;color:#e3e9e2;font-size:clamp(17px,1.45vw,21px);line-height:1.45}
.home-hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:25px;margin-top:34px}
.home-hero-textlink{border-bottom:1px solid var(--dopa-paper);padding:8px 0;font-size:15px;font-weight:800}
.home-hero-textlink:hover{color:var(--dopa-lime);border-color:var(--dopa-lime)}
.home-hero-bottom{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #eff0ec64;padding-top:12px;padding-bottom:12px}
.home-hero-bottom p{margin:0;color:#d2d9d0;font:500 10px var(--dopa-mono);text-transform:uppercase;letter-spacing:.08em}
.home-sport-switch{display:flex;gap:3px}
.home-sport-switch button{min-width:65px;min-height:38px;border:0;background:transparent;color:#d0d5d0;text-transform:uppercase;font:700 11px var(--dopa-mono);cursor:pointer}
.home-sport-switch button.is-active{background:var(--dopa-lime);color:var(--dopa-ink)}
.home-import{background:#e9ece4;color:var(--dopa-ink);padding-block:clamp(65px,8vw,125px)}
.home-import-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:clamp(35px,6vw,95px);align-items:center}
.home-import .dopa-eyebrow{color:#5b6d43}
.home-import h2{margin:20px 0 22px;font-size:clamp(44px,5.8vw,92px);line-height:.93}
.home-import h2 em{color:#5a7f22}
.home-import-copy>p:not(.dopa-eyebrow){max-width:620px;margin:0;color:#344039;font-size:clamp(17px,1.6vw,21px);line-height:1.5}
.home-import-link{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;margin-top:30px;padding-bottom:7px;border-bottom:2px solid #587a25;font-size:16px;font-weight:800}
.home-import-link:hover{color:#587a25}
.home-import-art{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:365px;padding:35px;background:radial-gradient(circle at 50% 40%,#26372c,#101715 70%);color:var(--dopa-paper);overflow:hidden}
.home-import-from,.home-import-to{position:relative;z-index:1;font:700 11px/1.4 var(--dopa-mono);letter-spacing:.06em;text-align:center}
.home-import-from{color:#b4c1b6}.home-import-from b{color:#f2874d;font-weight:700}
.home-import-archive{position:relative;display:flex;align-items:center;justify-content:center;width:136px;height:148px;margin:18px 0 8px;border:1px solid #bac7b9;background:#e7ece2;color:#17221a;transform:rotate(-5deg);box-shadow:14px 16px 0 #253829}
.home-import-archive::before{content:'';position:absolute;top:0;right:0;border-top:28px solid #bdc8b9;border-left:28px solid transparent}
.home-import-archive span{font:900 64px/1 var(--dopa-head);letter-spacing:-.05em}
.home-import-archive i{position:absolute;left:21px;right:21px;height:1px;background:#8e9c8e}.home-import-archive i:nth-of-type(1){bottom:27px}.home-import-archive i:nth-of-type(2){bottom:20px}.home-import-archive i:nth-of-type(3){bottom:13px}
.home-import-arrow{position:relative;z-index:1;color:var(--dopa-lime);font:900 38px/1 var(--dopa-head);transform:rotate(90deg)}
.home-import-to{margin-top:5px;color:var(--dopa-lime)}
.home-chapters{border-top:1px solid var(--dopa-line)}
.home-chapter{display:grid;grid-template-columns:1fr 1fr;min-height:610px;border-bottom:1px solid var(--dopa-line)}
.home-chapter--ride,.home-chapter--progress{min-height:760px}
.home-chapter-copy{padding:clamp(34px,5.5vw,90px) clamp(24px,5vw,82px);display:flex;flex-direction:column;align-items:flex-start}
.home-chapter-copy .dopa-eyebrow{margin:0}
.home-chapter h2{margin:55px 0 22px;font-size:clamp(48px,6vw,105px);line-height:.92}
.home-chapter-copy>p:not(.dopa-eyebrow):not(.feed-status){max-width:480px;margin:0;color:#c9cfca;font-size:clamp(17px,1.5vw,20px);line-height:1.5}
.home-chapter-link{display:inline-flex;gap:45px;justify-content:space-between;margin-top:36px;border-bottom:2px solid var(--dopa-lime);padding-bottom:8px;color:var(--dopa-paper);font-size:16px;font-weight:800}
.home-chapter-link:hover{color:var(--dopa-lime)}
.home-chapter-visual{position:relative;min-height:550px;margin:0;overflow:hidden;background:#18211f}
.home-chapter-visual--screen{display:flex;justify-content:center;align-items:center;background:radial-gradient(circle at 50% 42%,#34403c,#161c1b 58%,#0e1211)}
.home-chapter-visual--screen img{width:auto;height:min(600px,75vh);max-width:75%;object-fit:contain;filter:drop-shadow(0 24px 30px #0009)}
.home-chapter-visual--map{background:radial-gradient(circle at 48% 47%,#415746 0,#22372b 34%,#0d1511 72%)}
.home-chapter-visual--records{background:radial-gradient(circle at 52% 45%,#50513a 0,#282c20 35%,#10130f 74%)}
.home-chapter-visual--screen img{height:min(690px,82vh);max-width:82%;border:1px solid #707b71;border-radius:28px;box-shadow:0 30px 70px #0008;transform:rotate(2deg)}
.home-chapter-visual--records img{transform:rotate(-2deg)}
.home-chapter-visual--screen figcaption{position:absolute;bottom:25px;left:25px;color:#c4cec6;font:500 10px var(--dopa-mono);text-transform:uppercase}
.home-chapter--progress .home-chapter-copy{order:2}
.home-chapter--progress .home-chapter-visual{order:1}
.home-chapter--progress .home-chapter-visual--screen{background:radial-gradient(circle at 50% 42%,#333a31,#151b18 58%,#0b0e0d)}
.home-final{padding:clamp(90px,11vw,170px) 0;background:var(--dopa-lime);color:var(--dopa-ink)}
.home-final .dopa-eyebrow{color:#283221}
.home-final h2{margin:20px 0 40px;font-size:clamp(62px,8vw,140px);line-height:.86}
.home-final em{color:#3f5c18}
.home-final-actions{display:flex;flex-wrap:wrap;gap:12px}
.home-final .dopa-button--lime{background:var(--dopa-ink);border-color:var(--dopa-ink);color:var(--dopa-paper)!important}
.home-final .dopa-button--lime:hover{background:#303932}
.home-final .dopa-button--outline{border-color:var(--dopa-ink);color:var(--dopa-ink)!important}
.home-final .dopa-button--outline:hover{background:var(--dopa-ink);color:var(--dopa-paper)!important}
/* Live route scene uses only published API coordinates. */
.home-live{grid-template-columns:minmax(0,43%) minmax(0,57%);min-height:730px;background:#101715}
.home-live .home-chapter-copy{z-index:1;background:linear-gradient(90deg,#101715 70%,#101715c9);padding-bottom:22px}
.home-live .home-chapter-copy h2{margin-top:34px}
.home-live-map-stage{position:relative;min-height:570px;background:radial-gradient(circle,#26332a,#111a16 70%);overflow:hidden}
.home-live-map-stage .route-map{position:absolute;inset:0;opacity:0;transition:opacity .3s}
.home-live.has-map .route-map{opacity:1}
.home-live-map-stage .map-note{position:absolute;bottom:30px;left:25px;right:25px;margin:0;color:#c6d0c8;font-size:13px;line-height:1.4}
.home-live.has-map .map-note{display:none}
.home-live-choices{grid-column:1/-1;padding:16px clamp(24px,5vw,82px) 20px;border-top:1px solid var(--dopa-line);background:#0b1110}
.home-live-choices .selection-heading{display:flex;justify-content:space-between;gap:15px;align-items:center;color:var(--dopa-lime);font:700 11px var(--dopa-mono);letter-spacing:.08em}
.home-live-choices .selection-heading a{color:var(--dopa-paper);text-decoration:underline;text-underline-offset:4px;letter-spacing:0}
.home-live-choices .event-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-top:14px}
.home-live-choices .choice{display:flex;flex-direction:column;align-items:flex-start;gap:7px;min-height:115px;width:100%;border:0;border-top:1px solid #5f6b61;padding:13px 0 4px;background:none;color:var(--dopa-paper);text-align:left;cursor:pointer}
.home-live-choices .choice:hover,.home-live-choices .choice.is-active{border-color:var(--dopa-lime)}
.home-live-choices .choice-date{color:var(--dopa-lime);font:700 11px var(--dopa-mono)}
.home-live-choices .choice-title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font:800 25px/1 var(--dopa-head);text-transform:uppercase}
.home-live-choices .choice-meta{margin-top:auto;color:#abb7ae;font:500 10px var(--dopa-mono)}
.home-live-disclaimer{margin:18px 0 0;color:#aeb8af;font:500 10px var(--dopa-mono)}
.home-live-selected{width:100%;margin-top:30px;padding-top:16px;border-top:1px solid #748176}
.home-live-selected .selected-kicker{margin:0;color:var(--dopa-lime);font:700 10px var(--dopa-mono)}
.home-live-selected .selected-when{margin:14px 0 0;color:var(--dopa-lime);font-size:14px;font-weight:800}
.home-live-selected h3{margin:9px 0 0;font-size:clamp(27px,2.7vw,48px);line-height:.98;overflow-wrap:anywhere}
.home-live-selected .selected-facts{display:flex;flex-wrap:wrap;gap:10px 18px;margin:15px 0;color:#d2dbd2;font-size:13px}
.home-live-selected .selected-link{display:inline-flex;align-items:center;gap:25px;margin-top:12px;padding:10px 15px;background:var(--dopa-lime);color:var(--dopa-ink);font-size:14px;font-weight:800}
.home-live .feed-status{max-width:430px;margin:15px 0 0;color:#c6d0c8;font-size:13px}
.home-live .feed-status:empty{display:none}
.home-live .maplibregl-ctrl-attrib{background:#101715c4!important;color:#e4eee4!important;font-size:10px!important}
.home-live .maplibregl-ctrl-attrib a{color:#eff0ec!important;text-decoration:underline!important;text-underline-offset:2px}
@media(max-width:900px){.home-hero{min-height:730px}.home-hero-media:after{background:linear-gradient(90deg,#080a0bed,#080a0b8a 55%,#080a0b24),linear-gradient(0deg,#080a0bd9,transparent 26%)}.home-chapter{min-height:560px}.home-chapter h2{font-size:clamp(48px,6vw,72px)}.home-live{grid-template-columns:1fr}.home-live-map-stage{height:400px;min-height:400px}.home-live .home-chapter-copy{background:#101715}.home-live-choices{grid-column:1}}
@media(max-width:650px){.home-hero{min-height:calc(100svh - 68px);min-height:max(670px,calc(100svh - 68px));justify-content:flex-end}.home-hero-media:after{background:linear-gradient(0deg,#080a0b 0%,#080a0be8 18%,#080a0ba8 43%,#080a0b40 83%)}.home-hero-image{object-position:65% center}.home-hero-content{padding-top:200px;padding-bottom:95px}.home-hero h1{font-size:clamp(65px,15vw,100px)}.home-hero-second{font-size:clamp(29px,7vw,41px)}.home-hero-copy{font-size:17px}.home-hero-actions{align-items:stretch;gap:17px}.home-hero-actions .dopa-button{width:100%}.home-hero-bottom p{display:none}.home-intro{display:block;padding-block:70px}.home-intro>p:last-child{margin-top:24px;font-size:clamp(34px,8vw,55px)}.home-chapter{display:flex;flex-direction:column;min-height:0}.home-chapter-copy{padding:55px 20px 50px}.home-chapter h2{margin-top:35px;font-size:clamp(47px,12vw,70px)}.home-chapter-visual{min-height:450px}.home-chapter--progress .home-chapter-copy,.home-chapter--progress .home-chapter-visual{order:initial}.home-chapter-visual--screen img{height:410px}.home-live-map-stage{height:340px;min-height:340px}.home-live-choices{padding:18px 20px}.home-live-choices .event-choices{grid-template-columns:1fr;gap:0}.home-live-choices .choice{min-height:90px}.home-final h2{font-size:clamp(46px,11vw,72px)}.home-final-actions{display:block}.home-final-actions .dopa-button{width:100%;margin-bottom:10px}}
@media(prefers-reduced-motion:reduce){.home-live-map-stage .route-map{transition:none}}
@media(max-width:650px){.home-import-grid{grid-template-columns:minmax(0,1fr)}.home-import-copy{min-width:0}.home-import-art{min-height:330px}.home-import h2{font-size:clamp(42px,10.5vw,64px)}.home-chapter--ride,.home-chapter--progress{min-height:0}.home-chapter--ride .home-chapter-visual,.home-chapter--progress .home-chapter-visual{min-height:590px}.home-chapter-visual--screen img{height:min(520px,68vh);max-width:76%;border-radius:22px}.home-chapter-visual--screen figcaption{bottom:14px;left:15px;right:15px}}
