/* Winter Run shares the festival shell and typography. */
.run-page{--run-gap:clamp(22px,3vw,52px)}
.run-page main.run-layout{overflow:visible;display:grid;grid-template-columns:190px minmax(0,1fr);gap:var(--run-gap);padding:28px var(--pad) 0;max-width:1900px;margin:auto}
.run-sidebar{position:sticky;top:124px;align-self:start;padding:12px 0 24px;min-width:0}
.run-mark{display:block;color:var(--blue);font-family:Anton,Oswald,sans-serif;font-size:54px;line-height:.98;letter-spacing:-1.5px;text-decoration:none;width:max-content}
.run-mark>span{display:block;font:600 12px/1.6 Manrope,sans-serif;letter-spacing:2px;margin-bottom:8px}
.run-sidebar nav{display:grid;margin-top:40px}
.run-sidebar nav>a{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:51px;padding:12px 13px;color:var(--navy);border-bottom:1px solid var(--line);font-size:14px;font-weight:700;text-decoration:none;transition:background .2s,color .2s,padding .2s}
.run-sidebar nav>a>span:last-child{opacity:0;transition:opacity .2s}
.run-sidebar nav>a:hover{background:var(--ice);padding-left:18px}
.run-sidebar nav>a[aria-current]{color:var(--paper);background:var(--blue)}
.run-sidebar nav>a[aria-current]>span:last-child,.run-sidebar nav>a:hover>span:last-child{opacity:1}
.run-side-bottom{margin-top:44px;display:grid;gap:9px;font-size:12px;font-weight:700;color:var(--muted)}
.run-side-bottom>a{color:var(--blue);text-decoration:none}
.run-menu-toggle{display:none}
.run-content{min-width:0}
.run-hero{position:relative;min-height:490px;height:min(610px,calc(100svh - 200px));isolation:isolate;background:var(--navy);overflow:hidden;color:var(--paper)}
.run-hero picture{position:absolute;inset:0;z-index:-2}
.run-hero picture img{height:100%;width:100%;object-fit:cover;object-position:center;animation:run-photo-enter 1s var(--ease) both}
.run-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,28,49,.65),rgba(8,28,49,.04) 90%);z-index:-1}
.run-hero-copy{padding:clamp(26px,4vw,60px);height:100%;display:flex;align-items:flex-start;flex-direction:column;justify-content:center}
.run-hero-copy p{font-size:15px;font-weight:700;margin:0 0 14px;line-height:1.6}
.run-page .run-hero h1{font-family:Anton,Oswald,sans-serif;font-size:clamp(64px,7.1vw,128px);line-height:.99;letter-spacing:-.025em;margin:0 0 24px;color:#edf7ff;max-width:none}
.run-hero h1>span{display:block;font:600 15px/1.5 Manrope,sans-serif;letter-spacing:.13em;margin:0 0 14px}
.run-cta{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;min-height:52px;background:var(--blue);color:white;padding:14px 21px;font-weight:750;text-decoration:none;transition:background .2s,transform .2s;white-space:nowrap}
.run-cta:hover{background:#102ba3;transform:translateY(-2px)}
.run-cta>span{font-size:24px;line-height:1;transition:transform .2s}
.run-cta:hover>span{transform:translate(2px,-2px)}
.run-hero-copy .run-cta{margin-top:12px}
.run-hero-price{position:absolute;right:0;bottom:0;background:var(--paper);color:var(--navy);padding:20px 28px 16px;min-width:160px;display:grid;text-decoration:none;clip-path:polygon(0 0,calc(100% - 22px) 0,100% 22px,100% 100%,0 100%)}
.run-hero-price>span{font-size:12px;font-weight:750}
.run-hero-price strong{font-family:Oswald,sans-serif;font-size:48px;line-height:1.15}
.run-hero-price small{font-size:10px;margin-top:6px}
.run-distances{display:grid;grid-template-columns:repeat(3,1fr);background:var(--blue);color:var(--paper)}
.run-distance{padding:18px 25px 15px;color:inherit;text-decoration:none;display:grid;gap:2px;border-right:1px solid #ffffff45;position:relative;transition:background .2s}
.run-distance:last-child{border:0}.run-distance:hover{background:#102ba3}
.run-distance-name{font-size:12px;font-weight:700}
.run-distance strong{font:400 56px/1.2 Anton,Oswald,sans-serif;letter-spacing:-1px}
.run-distance strong small{font:600 16px/1.4 Manrope,sans-serif;margin-left:8px;letter-spacing:0}
.run-distance>span:last-child{display:flex;justify-content:space-between;font-size:12px}
.run-distance i{font-style:normal;font-size:21px;transition:transform .2s}
.run-distance:hover i{transform:translate(3px,-3px)}
.run-after{display:grid;grid-template-columns:175px 1fr;gap:20px;padding:35px 0 25px}
.run-page .run-after h2{font:700 25px/1.3 Oswald,sans-serif;margin:5px 0}
.run-benefit{border:0;border-bottom:1px solid var(--line)}
.run-page .run-benefit summary{display:flex;align-items:center;gap:12px;padding:15px 0;border:0;font-size:16px;font-weight:750;cursor:pointer;list-style:none}
.run-benefit summary::after,.run-info-item summary::after{display:none!important}
.run-benefit summary::-webkit-details-marker,.run-info-item summary::-webkit-details-marker{display:none}
.run-benefit-icon{font-size:27px;color:var(--blue);width:28px;text-align:center}
.run-plus{margin-left:auto;color:var(--blue);font-size:24px;font-weight:400;transition:transform .2s}
.run-benefit[open] .run-plus{transform:rotate(45deg)}
.run-page .run-benefit p{font-size:14px;margin:0 35px 18px 40px;color:var(--muted)}
.run-footer{border-top:1px solid var(--line);padding:24px 0 28px;display:flex;align-items:center;gap:24px;font-size:12px}
.run-footer img{display:block;width:120px;height:auto}
.run-footer a{color:var(--muted);text-decoration:none}
.run-footer a:last-child{margin-left:auto}
.run-page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:12px 0 28px;border-bottom:1px solid var(--line)}
.run-kicker{font-size:11px;font-weight:800;letter-spacing:.07em;color:var(--blue);margin:0 0 12px}
.run-page .run-page-heading h1{font-family:Oswald,sans-serif;font-size:clamp(36px,4.3vw,68px);line-height:1.1;margin:0;letter-spacing:-1.5px}
.run-timeline{list-style:none;padding:0;margin:0}
.run-timeline li{display:grid;grid-template-columns:165px 1fr;gap:26px;padding:22px 0;border-bottom:1px solid var(--line);position:relative;transition:padding .2s,background .2s}
.run-timeline li:hover{background:var(--ice);padding-left:15px}
.run-timeline time{font:700 25px/1.3 Oswald,sans-serif;color:var(--blue)}
.run-page .run-timeline h2{font:750 18px/1.4 Manrope,sans-serif;margin:0 0 6px}
.run-page .run-timeline p{font-size:14px;color:var(--muted);margin:0}
.run-bottom-note{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:24px 0;font-size:13px;color:var(--muted)}
.run-bottom-note p{margin:0;max-width:48ch}
.run-text-link{color:var(--blue);font:750 13px/1.5 Manrope,sans-serif;text-decoration:none;background:none;border:0;padding:0;cursor:pointer;text-underline-offset:4px}
.run-text-link:hover{text-decoration:underline}
.run-route-layout{display:grid;grid-template-columns:minmax(260px,.95fr) 1fr;gap:30px;padding:26px 0}
.run-map-panel{min-width:0;background:var(--ice)}
.run-map-open{border:0;background:none;display:block;width:100%;height:100%;position:relative;padding:0;cursor:zoom-in}
.run-map-open img{display:block;width:100%;height:min(610px,67svh);min-height:390px;object-fit:contain}
.run-map-open>span{position:absolute;bottom:10px;left:10px;right:10px;padding:10px;background:var(--paper);font:750 13px/1.5 Manrope,sans-serif;color:var(--blue);box-shadow:0 2px 15px #102a4c20}
.run-page .run-lead{font-size:18px;line-height:1.6;margin:24px 0}
.run-route-info .run-lead{margin-top:0}
.run-course-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0 18px}
.run-course-tabs button{font:750 14px/1.4 Manrope,sans-serif;padding:11px 15px;background:transparent;border:1px solid var(--line);color:var(--navy);cursor:pointer;transition:background .2s,color .2s}
.run-course-tabs button[aria-pressed=true]{background:var(--blue);color:white;border-color:var(--blue)}
.run-course-description{min-height:100px;font-weight:650;font-size:16px}
.run-map-note{font-size:12px;color:var(--muted);border-top:1px solid var(--line);padding-top:22px;margin-top:24px}
.run-map-dialog{position:fixed;inset:0;width:calc(100% - 40px);height:calc(100% - 40px);max-width:1500px;max-height:none;padding:0;border:0;background:var(--paper);color:var(--navy);margin:auto}
.run-map-dialog::backdrop{background:#071b39da;backdrop-filter:blur(5px)}
.run-map-tools{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;border-bottom:1px solid var(--line);gap:12px;height:64px}
.run-map-tools div{display:flex;gap:5px}
.run-map-tools button{min-height:40px;min-width:40px;background:var(--ice);border:0;color:var(--navy);font:700 13px Manrope,sans-serif;padding:7px 12px;cursor:pointer}
.run-map-scroll{overflow:auto;height:calc(100% - 64px);padding:12px;text-align:center;overscroll-behavior:contain}
.run-map-scroll img{height:100%;width:auto;max-width:none;display:inline-block;vertical-align:top}
.run-fees{background:var(--ice);display:grid;grid-template-columns:1fr 1fr;margin:24px 0}
.run-fees>div{padding:20px 24px 12px;display:flex;justify-content:space-between;align-items:center;gap:12px}
.run-fees>div:first-child{border-right:1px solid var(--line)}
.run-fees>div>span{font-weight:750;font-size:14px}
.run-fees strong{font:700 34px/1.4 Oswald,sans-serif;white-space:nowrap}
.run-fees p{grid-column:1/-1;font-size:12px;color:var(--muted);padding:0 24px 20px;margin:0;max-width:none!important}
.run-info-item{border:0;border-bottom:1px solid var(--line)}
.run-page .run-info-item summary{display:flex;align-items:center;justify-content:space-between;gap:20px;list-style:none;padding:20px 0;font:750 17px/1.5 Manrope,sans-serif;border:0;cursor:pointer}
.run-info-item summary>span:last-child{font-size:24px;color:var(--blue);font-weight:400;flex-shrink:0}
.run-info-item[open] summary>span:last-child{transform:rotate(45deg)}
.run-page .run-info-item p{margin:0 30px 23px 0;color:var(--muted);font-size:15px;max-width:78ch}
.run-rules-tools{display:flex;justify-content:space-between;gap:18px;align-items:center;margin:20px 0;font-size:13px;color:var(--muted)}
.run-rules{margin-bottom:32px}
.run-page :focus-visible{outline:3px solid #7898ff;outline-offset:4px}
@keyframes run-photo-enter{from{transform:scale(1.025)}to{transform:scale(1)}}
@media(min-width:1600px){.run-page main.run-layout{grid-template-columns:220px minmax(0,1fr)}.run-mark{font-size:63px}}
@media(max-width:1100px){.run-page main.run-layout{grid-template-columns:158px minmax(0,1fr);gap:24px}.run-mark{font-size:45px}.run-sidebar nav>a{font-size:12px;padding:12px 9px}.run-hero{min-height:440px}.run-page .run-hero h1{font-size:70px}.run-hero-copy{padding:30px}.run-hero-price{padding:15px 20px;min-width:130px}.run-after{grid-template-columns:1fr;gap:5px}.run-route-layout{gap:22px}.run-page-heading .run-cta{font-size:13px;padding:12px 15px;gap:15px}.run-timeline li{grid-template-columns:145px 1fr}}
@media(max-width:800px){.run-page main.run-layout{display:block;padding:16px 20px 0}.run-sidebar{position:relative;top:auto;display:flex;align-items:center;justify-content:space-between;padding:0 0 14px;gap:16px;z-index:5}.run-mark{font-size:24px;line-height:1}.run-mark br{display:none}.run-mark>span{font-size:8px;letter-spacing:1px;margin:0 0 4px}.run-menu-toggle{display:flex;align-items:center;justify-content:space-between;gap:15px;background:var(--paper);color:var(--blue);border:1px solid var(--line);padding:10px 13px;min-height:44px;font:750 12px/1.4 Manrope,sans-serif;cursor:pointer}.run-menu-toggle>span{font-size:20px;font-weight:400}.run-sidebar nav{display:none;position:absolute;top:calc(100% - 6px);left:0;right:0;background:var(--paper);box-shadow:0 18px 35px #102a4c30;margin:0;border:1px solid var(--line)}.run-sidebar.is-open nav{display:grid}.run-sidebar nav>a{font-size:15px;min-height:52px;padding:15px}.run-side-bottom{display:none}.run-page-heading{padding-top:14px}.run-page .run-page-heading h1{font-size:42px}.run-route-layout{grid-template-columns:1fr 1fr}.run-map-open img{min-height:340px}.run-timeline li{padding:19px 0}.run-hero{min-height:480px}.run-page .run-hero h1{font-size:78px}.run-distances strong{font-size:48px}.run-distance{padding:17px 20px}.run-after{padding-top:25px}}
@media(max-width:600px){.run-page main.run-layout{padding:12px 16px 0}.run-sidebar{padding-bottom:12px}.run-hero{min-height:0;height:auto;background:var(--paper);color:var(--navy);display:flex;flex-direction:column;overflow:visible}.run-hero picture{position:relative;inset:auto;display:block;width:100%;height:300px;z-index:0;order:2;overflow:hidden}.run-hero picture img{object-position:center 52%;animation:none}.run-hero::after{display:none}.run-hero-copy{padding:8px 0 20px;display:block;height:auto}.run-hero-copy p{font-size:12px;margin:0 0 8px}.run-page .run-hero h1{font-size:clamp(52px,12.8vw,78px);color:var(--blue);margin:7px 0 12px;white-space:nowrap;letter-spacing:-1.5px}.run-hero h1>span{display:none}.run-hero-copy .run-cta{margin-top:8px;font-size:14px;min-height:48px;padding:12px 17px}.run-hero-price{bottom:0;z-index:1;min-width:105px;padding:12px 15px;max-width:145px}.run-hero-price strong{font-size:34px}.run-hero-price>span{font-size:10px}.run-hero-price small{font-size:9px}.run-distance{padding:13px 11px 11px;gap:5px}.run-distance-name{font-size:9px;min-height:14px}.run-distance strong{font-size:38px}.run-distance strong small{font-size:11px;margin-left:4px}.run-distance>span:last-child{font-size:10px}.run-distance i{font-size:15px}.run-page .run-after h2{font-size:25px}.run-page .run-benefit summary{font-size:14px;padding:14px 0}.run-page .run-benefit p{font-size:13px;margin-right:10px}.run-footer{flex-wrap:wrap;gap:16px;font-size:11px;padding:22px 0}.run-footer img{width:105px}.run-footer a:last-child{margin-left:0}.run-page-heading{align-items:flex-start;gap:14px;flex-wrap:wrap;padding:14px 0 22px}.run-page .run-page-heading h1{font-size:38px;letter-spacing:-1px}.run-kicker{font-size:10px;margin-bottom:8px}.run-page-heading .run-cta{font-size:12px;min-height:43px;margin-top:2px}.run-timeline li{grid-template-columns:100px 1fr;gap:14px;padding:19px 0}.run-timeline time{font-size:21px}.run-page .run-timeline h2{font-size:15px}.run-page .run-timeline p{font-size:12px}.run-bottom-note{display:block;padding:20px 0;font-size:12px}.run-bottom-note .run-text-link{display:inline-block;margin-top:14px;margin-right:18px}.run-route-layout{display:flex;flex-direction:column-reverse;gap:20px;padding-top:18px}.run-page .run-lead{font-size:16px;margin:18px 0}.run-route-info .run-lead{margin:0 0 18px}.run-course-tabs{margin:18px 0 12px;gap:6px}.run-course-tabs button{font-size:12px;padding:10px 12px}.run-course-description{min-height:52px;font-size:14px;margin:0 0 15px}.run-map-note{padding-top:14px;margin:14px 0;font-size:11px}.run-map-open img{height:auto;max-height:none;min-height:0;width:100%}.run-map-dialog{width:100%;height:100%;max-height:100%;margin:0}.run-map-tools{padding:8px;gap:4px}.run-map-tools button{padding:7px 8px;font-size:11px}.run-map-scroll img{max-width:none}.run-fees{margin:18px 0}.run-fees>div{padding:15px;display:block}.run-fees>div>span{font-size:12px;display:block}.run-fees strong{font-size:32px}.run-fees p{padding:0 15px 15px;font-size:11px}.run-page .run-info-item summary{font-size:15px;padding:17px 0;gap:10px}.run-page .run-info-item p{font-size:14px;margin-right:12px}.run-rules-tools{font-size:11px;align-items:flex-start}.run-rules-tools p{margin:0}.run-rules-tools button{font-size:11px;white-space:nowrap}}
@media(prefers-reduced-motion:reduce){.run-page *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{.header,.run-sidebar,.run-footer,.run-cta,.run-rules-tools button,.skip{display:none!important}.run-page main.run-layout{display:block;padding:0}.run-page-heading{padding:0 0 15px}.run-rules details{break-inside:avoid}.run-info-item>p{display:block!important}.run-info-item summary>span:last-child{display:none}.run-page .run-info-item summary{padding:12px 0 5px}.run-page .run-info-item p{font-size:11pt;color:#000}.run-page .run-page-heading h1{font-size:26pt}.run-page{background:#fff}}

/* Keep display lettering at its native weight and arrows visible on blue. */
.run-page .run-hero h1,.run-mark{font-weight:400}
.run-cta .brand-arrow,.run-distances .brand-arrow,.run-sidebar nav>a[aria-current] .brand-arrow{background:var(--paper)}
.run-sidebar nav>a .brand-arrow{width:18px!important;height:15px!important;min-width:18px}
.run-distance .brand-arrow{width:20px!important;height:15px!important;min-width:20px}
@media(max-width:600px){.run-distance .brand-arrow{width:14px!important;height:12px!important;min-width:14px}}
