@font-face{font-family:Museo;src:url('assets/fonts/MuseoSansCyrl300.ttf') format('truetype');font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:Museo;src:url('assets/fonts/MuseoSansCyrl500.ttf') format('truetype');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:Museo;src:url('assets/fonts/MuseoSansCyrl700.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:Museo;src:url('assets/fonts/MuseoSansCyrl900.ttf') format('truetype');font-weight:900;font-style:normal;font-display:swap}

:root{--map-navy:#071d3b;--map-navy-2:#0b3154;--map-blue:#70c7eb;--map-green:#39b873;--map-yellow:#f4cf4a;--map-cream:#f7f5ef;--map-paper:#fff;--map-ink:#0a2948;--map-muted:#62758a;--map-line:rgba(10,41,72,.14);--route-orange:#f9a11c;--route-blue:#01aef0;--route-purple:#9b268e;--route-green:#94c83f;--route-red:#ec1e28;--map-max:1180px;--map-radius:24px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--map-cream);color:var(--map-ink);font-family:Museo,Arial,sans-serif;font-weight:300;line-height:1.55;overflow-x:hidden}
a{color:inherit;text-decoration:none}
button{font:inherit}
.map-shell{width:min(calc(100% - 48px),var(--map-max));margin-inline:auto}
.map-skip-link{position:fixed;top:12px;left:12px;z-index:20;padding:10px 15px;background:var(--map-yellow);color:var(--map-navy);font-weight:900;transform:translateY(-150%);transition:transform .2s ease}
.map-skip-link:focus{transform:translateY(0)}
.map-eyebrow{margin:0 0 15px;color:var(--map-yellow);font-size:.73rem;font-weight:900;letter-spacing:.18em;line-height:1.2;text-transform:uppercase}
.map-eyebrow--dark{color:var(--map-navy)}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-weight:900;letter-spacing:-.055em;line-height:.96}
h1{margin-bottom:24px;font-size:clamp(3.7rem,8vw,7.8rem)}
h2{margin-bottom:22px;font-size:clamp(3rem,6vw,5.7rem)}
h3{margin-bottom:0;font-size:clamp(2rem,3vw,3rem)}
h1 em,h2 em{color:var(--map-blue);font-style:normal}

/* Header */
.map-header{position:sticky;top:0;z-index:10;background:var(--map-navy);color:#fff;box-shadow:0 12px 30px rgba(3,22,43,.18)}
.map-header__inner{display:flex;align-items:center;justify-content:space-between;min-height:76px;gap:24px}
.map-brand{display:flex;align-items:center;gap:13px;font-size:.72rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.map-brand img{width:56px;height:48px;object-fit:contain}
.map-brand b{color:var(--map-blue)}
.map-nav{display:flex;align-items:center;gap:25px;font-size:.68rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.map-nav a{color:rgba(255,255,255,.74);transition:color .2s ease,transform .2s ease}
.map-nav a:hover,.map-nav a:focus-visible{color:#fff;transform:translateY(-2px)}
.map-nav__register{padding:12px 17px;border-radius:999px;background:var(--map-green);color:#fff!important}

/* Hero */
.map-hero{position:relative;isolation:isolate;overflow:hidden;background:var(--map-navy);color:#fff}
.map-hero:after{content:"";position:absolute;right:-16%;bottom:-58%;z-index:-1;width:75%;height:130%;border:72px solid rgba(112,199,235,.14);border-radius:50%;transform:rotate(-18deg)}
.map-hero__inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.72fr);align-items:center;min-height:580px;padding:80px 0 95px;gap:60px}
.map-hero__copy{position:relative;z-index:1;max-width:680px}
.map-hero__lede{max-width:535px;margin-bottom:28px;color:rgba(255,255,255,.76);font-size:1.1rem;line-height:1.5}
.map-hero__actions{display:flex;flex-wrap:wrap;gap:12px}
.map-button{display:inline-flex;align-items:center;justify-content:center;gap:13px;min-height:50px;padding:13px 21px;border:1px solid transparent;border-radius:999px;font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:transform .2s ease,background .2s ease,color .2s ease,box-shadow .2s ease}
.map-button:hover,.map-button:focus-visible{transform:translateY(-3px);box-shadow:0 12px 24px rgba(6,29,54,.18)}
.map-button--primary{background:var(--map-green);color:#fff}
.map-button--primary:hover,.map-button--primary:focus-visible{background:#5bd294}
.map-button--ghost{border-color:rgba(255,255,255,.48);color:#fff}
.map-button--ghost:hover,.map-button--ghost:focus-visible{background:#fff;color:var(--map-navy)}
.map-button--dark{background:var(--map-navy);color:#fff}
.map-button--light{background:#fff;color:var(--map-navy)}
.map-hero__art{position:relative;min-height:355px;color:var(--map-yellow);transform:rotate(-11deg)}
.map-hero__ring{position:absolute;display:block;border:30px solid currentColor;border-radius:50%;opacity:.8}
.map-hero__ring--one{top:12%;left:9%;width:330px;height:230px;transform:rotate(27deg)}
.map-hero__ring--two{top:17%;left:35%;width:270px;height:195px;color:var(--map-blue);transform:rotate(-22deg)}
.map-hero__number{position:absolute;top:21%;left:34%;color:#fff;font-size:clamp(12rem,21vw,19rem);font-weight:900;letter-spacing:-.16em;line-height:.7}
.map-hero__art-label{position:absolute;right:2%;bottom:5%;color:var(--map-blue);font-size:.76rem;font-weight:900;letter-spacing:.16em;line-height:1.3;text-transform:uppercase}
.map-hero__art-label b{color:var(--map-yellow)}

/* Atlas */
.route-atlas{padding:116px 0 95px;background:var(--map-cream)}
.route-atlas__intro{display:flex;align-items:flex-end;justify-content:space-between;gap:50px;margin-bottom:58px}
.route-atlas__intro h2{margin-bottom:0}
.route-atlas__aside{display:flex;align-items:flex-end;gap:24px;max-width:490px;color:var(--map-muted);font-size:.95rem}
.route-atlas__aside p{margin-bottom:5px}
.route-atlas__aside strong{color:var(--map-ink);font-weight:900}
.route-atlas__aside .map-button{flex-shrink:0;white-space:nowrap}
.route-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px}
.route-card{--route-color:var(--route-orange);grid-column:span 3;display:flex;flex-direction:column;min-width:0;border-radius:var(--map-radius);background:#fff;box-shadow:0 20px 55px rgba(6,29,54,.1);overflow:hidden}
.route-card--orange{--route-color:var(--route-orange)}
.route-card--blue{--route-color:var(--route-blue)}
.route-card--purple{--route-color:var(--route-purple)}
.route-card--red{--route-color:var(--route-red)}
.route-card--green{--route-color:var(--route-green)}
.route-card--half,.route-card--trail{grid-column:span 6}
.route-card__top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:25px 25px 15px}
.route-card__kicker{margin:0 0 8px;color:var(--route-color);font-size:.65rem;font-weight:900;letter-spacing:.15em;text-transform:uppercase}
.route-card__index{color:var(--route-color);font-size:2.5rem;font-weight:900;letter-spacing:-.1em;line-height:.9;opacity:.55}
.route-card__map{padding:0 12px;background:#fff}
.route-svg{display:block;width:100%;height:auto;overflow:visible}
.route-svg--trail{min-height:260px}
.route-map__source{display:block;width:100%;height:auto;filter:saturate(.16) contrast(1.02)}
.route-map__surface,.route-map__roads,.route-map__landmarks,.route-map__contours{display:none}
.route-map__route{fill:none;stroke:var(--route-color);stroke-width:4;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;color:var(--route-color);filter:drop-shadow(0 1px 1px rgba(255,255,255,.78))}
.route-svg marker path{fill:var(--route-color)}
.route-map__landmark{color:#172536;font-family:Museo,Arial,sans-serif;font-size:8px;font-weight:700;text-anchor:middle}
.route-map__landmark text{paint-order:stroke;stroke:#e7e9e7;stroke-width:2.6px;stroke-linejoin:round}
.route-map__pin{fill:var(--route-color);stroke:#fff;stroke-width:2}
.route-map__flag{fill:var(--route-color);stroke:var(--route-color);stroke-width:1.5;stroke-linejoin:round}
.route-map__landmark--start{text-anchor:start}
.route-map__landmark--start text{text-anchor:start}
.route-map__landmark--museum{font-size:7px}
.route-map__runner{fill:var(--route-color);transform-box:fill-box;transform-origin:center;filter:drop-shadow(0 2px 2px rgba(6,29,54,.22))}
.route-map__runner circle:first-child{stroke:#fff;stroke-width:2}
.route-map__runner-core{fill:#fff}
.route-card__bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-top:auto;padding:16px 25px 22px;border-top:1px solid var(--map-line);color:var(--map-muted);font-size:.74rem;line-height:1.35}
.route-card__bottom p{margin:0}
.route-card__bottom strong{color:var(--map-ink);font-weight:900}
.route-card__bottom button,.route-card__bottom a{flex-shrink:0;padding:0;border:0;border-bottom:1px solid currentColor;background:none;color:var(--route-color);font-size:.64rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.route-card__bottom button:hover,.route-card__bottom button:focus-visible,.route-card__bottom a:hover,.route-card__bottom a:focus-visible{color:var(--map-ink)}
.route-map__contours path{fill:none;stroke:#c5caca;stroke-width:2;stroke-linecap:round;opacity:.75}
.route-map__contours .route-map__mountain{stroke:#d4d8d6;stroke-width:4;opacity:.95}
.route-map__contours .route-map__road{stroke:#fff;stroke-width:8;opacity:1}
.route-map__contours .route-map__lake{fill:#139fd2;stroke:none;opacity:.92}
.route-map__place-label{fill:#536772;font-family:Museo,Arial,sans-serif;font-size:14px;font-style:italic;font-weight:700;letter-spacing:.05em;opacity:.72}
.route-map__landmark--trail-start text{font-size:11px;text-anchor:start}
.route-map__landmark--trail-start text:first-of-type{text-anchor:end}
.route-map__landmark--trail-start .route-map__flag{transform:translateX(0)}
.route-map__landmark--lake{font-size:10px;fill:#fff}
.route-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:18px 25px;margin:45px 0 13px;color:var(--map-muted);font-size:.67rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.route-legend span{display:inline-flex;align-items:center;gap:7px}
.route-legend__swatch{display:block;width:10px;height:10px;border-radius:50%;background:var(--map-blue)}
.route-legend__swatch--orange{background:var(--route-orange)}
.route-legend__swatch--blue{background:var(--route-blue)}
.route-legend__swatch--purple{background:var(--route-purple)}
.route-legend__swatch--red{background:var(--route-red)}
.route-legend__swatch--green{background:var(--route-green)}
.route-disclaimer{margin:0 auto;color:var(--map-muted);font-size:.75rem;text-align:center}

/* Closing call-to-action */
.map-cta{position:relative;isolation:isolate;overflow:hidden;background:var(--map-blue);color:#fff;text-align:center}
.map-cta:before{content:"";position:absolute;left:-13%;bottom:-65%;z-index:-1;width:55%;height:140%;border:60px solid rgba(244,207,74,.58);border-radius:50%;transform:rotate(-20deg)}
.map-cta__inner{display:flex;flex-direction:column;align-items:center;padding:110px 0 120px}
.map-cta h2{margin-bottom:25px;font-size:clamp(3.8rem,8vw,7.5rem)}
.map-cta .map-eyebrow{color:#fff}
.map-footer{background:var(--map-navy);color:#fff}
.map-footer__inner{display:flex;justify-content:space-between;gap:22px;padding:24px 0;color:rgba(255,255,255,.62);font-size:.7rem}
.map-footer a{color:var(--map-blue);font-weight:900}

@media (max-width:1050px){.map-hero__inner{grid-template-columns:minmax(0,1fr) minmax(260px,.65fr);gap:30px}.route-card{grid-column:span 6}.route-card--half,.route-card--trail{grid-column:span 6}.route-card__top{padding-inline:21px}.route-card__bottom{padding-inline:21px}}
@media (max-width:760px){.map-shell{width:min(calc(100% - 34px),var(--map-max))}.map-header__inner{min-height:68px}.map-brand{font-size:.59rem;letter-spacing:.05em}.map-brand img{width:48px;height:42px}.map-nav{gap:12px;font-size:.56rem}.map-nav__register{padding:10px 12px}.map-hero__inner{display:block;min-height:0;padding:75px 0 65px}.map-hero__copy{max-width:580px}.map-hero__art{display:none}.route-atlas{padding:78px 0 70px}.route-atlas__intro{display:block;margin-bottom:38px}.route-atlas__intro h2{margin-bottom:25px}.route-atlas__aside{display:block;max-width:560px}.route-atlas__aside .map-button{margin-top:7px}.route-card,.route-card--half,.route-card--trail{grid-column:span 6}.route-card__top{padding:21px 21px 12px}.route-card__bottom{padding:14px 21px 19px}.route-card__index{font-size:2.15rem}.route-svg--trail{min-height:200px}.route-legend{justify-content:flex-start;margin-top:34px}.map-cta__inner{padding:80px 0 90px}.map-footer__inner{padding:20px 0}}
@media (max-width:530px){.map-shell{width:min(calc(100% - 28px),var(--map-max))}.map-nav>a:first-child{display:none}.map-brand{font-size:.55rem}.map-hero__inner{padding-top:58px}.map-hero__lede{font-size:.98rem}.map-hero__actions{flex-direction:column;align-items:flex-start}.route-card,.route-card--half,.route-card--trail{grid-column:1/-1}.route-card__map{padding-inline:7px}.route-card__bottom{font-size:.69rem}.route-card__bottom button,.route-card__bottom a{font-size:.58rem}.route-svg--trail{min-height:0}.route-disclaimer{text-align:left}.map-footer__inner{display:block}.map-footer__inner a{display:block;margin-top:9px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.map-skip-link,.map-button,.map-nav a{transition:none}.map-hero__ring,.map-hero__number{transform:none}.route-map__runner{display:none}}
