:root { --ink:#180d07; --paper:#ede4cf; --gold:#bd7a23; --orange:#d35c17; --plum:#51315d; --line:#2c1b10; }
* { box-sizing:border-box; } html { scroll-behavior:smooth; } body { margin:0; background:var(--paper); color:var(--ink); font-family:"DM Mono", monospace; font-size:14px; } .grain { position:fixed; inset:0; opacity:.16; pointer-events:none; z-index:10; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.3'/%3E%3C/svg%3E"); } a { color:inherit; } .site-header { height:78px; padding:0 5.5vw; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid rgba(24,13,7,.35); text-transform:uppercase; letter-spacing:.08em; position:relative; z-index:2; } .brand,.footer-mark { display:block; text-decoration:none; } .brand img { display:block; width:126px; height:auto; } nav { display:flex; gap:30px; } nav a,.header-link { text-decoration:none; font-size:11px; } .header-link { border-bottom:1px solid; padding-bottom:3px; }
.hero { min-height:690px; position:relative; overflow:hidden; padding:90px 8vw 46px; background:var(--plum); color:var(--paper); } .hero:before { content:""; position:absolute; inset:0; opacity:.35; background:radial-gradient(circle at 76% 26%,#835292 0 1px,transparent 1.5px) 0 0/33px 33px; } .hero-copy { position:relative; z-index:1; max-width:600px; } .eyebrow { text-transform:uppercase; letter-spacing:.12em; font-size:11px; margin:0 0 24px; } .eyebrow span { display:inline-block; height:4px; width:4px; margin:0 9px 2px; border-radius:50%; background:var(--gold); } h1,h2 { font-family:Rye, serif; font-weight:400; text-transform:uppercase; line-height:.82; letter-spacing:-.055em; margin:0; } h1 { font-size:clamp(73px,10.8vw,154px); } h1 span,h1 strong,h1 em { display:block; font-weight:400; } h1 strong { color:var(--gold); } h1 em,h2 i { font-family:Creepster, cursive; font-style:normal; color:var(--orange); font-weight:400; letter-spacing:.01em; } h1 em { font-size:.82em; margin-left:9vw; } .hero-intro { max-width:350px; line-height:1.65; margin:26px 0; } .hero-actions { display:flex; align-items:center; gap:28px; }.button { display:inline-flex; align-items:center; gap:32px; padding:15px 18px 14px; text-transform:uppercase; text-decoration:none; font-size:11px; letter-spacing:.08em; font-weight:500; } .button b { font-size:18px; line-height:0; }.button-primary { background:var(--gold); color:var(--ink); }.text-link { text-transform:uppercase; font-size:11px; letter-spacing:.08em; text-decoration:none; border-bottom:1px solid rgba(237,228,207,.7); padding-bottom:4px; }.text-link b { color:var(--gold); margin-left:5px; font-size:16px; }.hero-details { position:absolute; bottom:43px; left:8vw; right:8vw; z-index:2; display:flex; gap:7vw; }.hero-details div { border-left:1px solid rgba(237,228,207,.45); padding-left:14px; }.hero-details span,.facts span,.route-note span { display:block; color:var(--gold); font-size:10px; text-transform:uppercase; letter-spacing:.1em; margin-bottom:6px; }.hero-details b { font-family:Rye,serif; font-weight:400; line-height:1.25; font-size:15px; }.hero-art { position:absolute; right:2vw; top:42px; width:min(51vw,680px); height:570px; overflow:hidden; }.moon { position:absolute; background:#d9a84d; border-radius:50%; width:290px; height:290px; right:16%; top:36px; box-shadow:0 0 0 10px rgba(216,168,77,.05); }.moon:after { content:""; position:absolute; width:62px;height:33px;border-radius:50%;background:#b17932;opacity:.45;top:55px;left:48px;box-shadow:130px 93px 0 -4px #b17932,168px 38px 0 -10px #b17932; }.bat { position:absolute; color:var(--ink); font-size:43px; z-index:1; transform:rotate(10deg); }.bat-one { top:85px;right:48%; }.bat-two { top:172px;right:8%; transform:scale(.6) rotate(-10deg); }.bat-three { top:238px;right:42%; transform:scale(.45); }.house { position:absolute; width:320px; height:240px; right:11%; top:247px; background:var(--ink); z-index:2; clip-path:polygon(0 36%,36% 36%,36% 16%,54% 0,72% 16%,72% 36%,100% 36%,100% 100%,0 100%); }.main-house { position:absolute; left:8%;right:8%;bottom:0;height:58%;border-top:7px solid var(--gold); }.main-house i,.tower i { position:absolute; width:15px;height:28px;background:var(--gold);top:16px;box-shadow:60px 0 var(--gold),120px 0 var(--gold),180px 0 var(--gold); }.tower i { top:30px;left:47%;box-shadow:none; }.tower i+ i { left:59%; }.porch { position:absolute; bottom:0; left:31%; width:43%; height:38%; border:6px solid var(--gold); border-bottom:0; }.porch i { display:inline-block; height:100%; border-left:4px solid var(--gold); margin-left:24%; }.hill { position:absolute; height:175px; border-radius:50% 50% 0 0; bottom:-78px; background:var(--ink); }.hill-back { width:115%;left:-13%;z-index:1; }.hill-front { width:84%;right:-11%;bottom:-110px;background:#26132b;z-index:3; }.tree { position:absolute; z-index:4; width:8px;height:192px;background:var(--ink); bottom:53px; transform:rotate(-4deg); }.tree:before,.tree:after,.tree i { content:""; position:absolute; display:block; height:5px; width:95px; background:var(--ink); transform-origin:left center; }.tree:before{top:50px;transform:rotate(-42deg)}.tree:after{top:80px;transform:rotate(38deg)}.tree i{top:12px;transform:rotate(49deg)}.tree i+i{top:114px;transform:rotate(-59deg)}.tree-left{left:9%;}.tree-right{right:7%;transform:scaleX(-1) rotate(-4deg);}.hero-art>p { position:absolute;z-index:5;bottom:26px;right:26%;font-family:Rye,serif;font-size:42px;margin:0;color:var(--gold);}.hero-art>p span{font-family:"DM Mono";font-size:11px;letter-spacing:.1em;}
.section-wrap { padding:116px 8vw; }.section-label { color:var(--orange); font-size:10px; letter-spacing:.13em; text-transform:uppercase; margin-bottom:44px; }.about-content { display:grid; grid-template-columns:1.1fr .9fr; gap:9vw; align-items:end; }.about h2,.route h2,.faq h2,.final-callout h2 { font-size:clamp(48px,7vw,94px); }.about-content p { font-size:15px;line-height:1.8;margin:0 0 16px;max-width:455px; }.facts { margin-top:82px;padding-top:23px;border-top:1px solid rgba(24,13,7,.35);display:grid;grid-template-columns:repeat(3,1fr);position:relative; }.facts div { border-left:1px solid rgba(24,13,7,.35);padding-left:15px; }.facts b { font-family:Rye,serif;font-weight:400;font-size:18px;line-height:1.25; }.facts small { position:absolute;right:0;bottom:-23px;font-size:9px; }.route { background:var(--ink);color:var(--paper); }.route-heading { display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:50px; }.route-heading p { max-width:350px;line-height:1.7;margin:0; }.map-card { background:#2a1a12;border:1px solid rgba(237,228,207,.25);padding:18px; }.map-card svg { display:block;width:100%;color:#8c6c4d; }.water { fill:#39213e; }.street { fill:none;stroke:#9c7d5d;stroke-width:4;opacity:.35; }.route-line { fill:none;stroke:var(--orange);stroke-width:10;stroke-linejoin:round;stroke-linecap:round; }.route-point.start { fill:var(--gold);stroke:var(--ink);stroke-width:4;}.route-point.finish{fill:var(--paper);stroke:var(--ink);stroke-width:4}.marker-text { font:12px "DM Mono";fill:var(--paper);letter-spacing:1px}.map-name{font:35px Rye;fill:#e0b467;opacity:.28;text-anchor:middle}.map-note{font:12px "DM Mono";fill:#e0b467;opacity:.4;text-anchor:middle;letter-spacing:4px}.map-key { display:flex;justify-content:space-between;padding:10px 2px 0;color:#d0b893;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.map-key i{display:inline-block;background:var(--orange);width:16px;height:4px;vertical-align:middle;margin-right:6px}.map-key b{display:inline-block;background:var(--gold);width:8px;height:8px;border-radius:50%;vertical-align:middle;margin-right:6px}.route-note { display:grid;grid-template-columns:1fr 2fr;gap:40px;border-bottom:1px solid rgba(237,228,207,.3);padding:23px 0; }.route-note p { margin:0;line-height:1.65; }.faq { padding-bottom:130px; }.faq h2 { margin-bottom:62px; }.faq-list { border-top:1px solid rgba(24,13,7,.4); }.faq details { border-bottom:1px solid rgba(24,13,7,.4);padding:0 0 0 20%; }.faq summary { list-style:none;padding:23px 0;cursor:pointer;font-family:Rye,serif;font-size:23px; }.faq summary::-webkit-details-marker {display:none}.faq summary span { float:right;font-family:"DM Mono";font-weight:400;color:var(--orange); }.faq details[open] summary span { transform:rotate(45deg); }.faq details p { max-width:600px;margin:0 0 25px;line-height:1.7; }.final-callout { background:var(--orange);color:var(--ink);text-align:center;padding:94px 20px 82px;position:relative;overflow:hidden; }.final-callout h2 { font-size:clamp(64px,9vw,122px);margin-bottom:37px; }.final-callout h2 i { color:var(--paper); }.button-light { background:var(--paper); }.signup-note { margin:23px auto 0;max-width:420px;font-size:10px;line-height:1.6; }.spider { position:absolute;top:-46px;left:10%;font-size:90px;color:var(--ink);transform:rotate(19deg);opacity:.65; }footer { min-height:170px;padding:35px 5.5vw;display:flex;justify-content:space-between;align-items:center;background:var(--ink);color:var(--paper); }footer p { color:#b39473;font-size:10px;text-transform:uppercase;letter-spacing:.08em; }footer div { display:flex;flex-direction:column;gap:8px;text-align:right; }footer a { font-size:10px;text-decoration:none;color:#d6bd98; }
footer .footer-mark img { display:block;width:132px;height:auto; } @media (max-width:760px) { .site-header { height:64px;padding:0 22px; }.brand img { width:102px; }.site-header nav { display:none; }.hero { min-height:760px;padding:68px 25px 33px; }.hero-art { width:100%;right:-14%;top:266px;height:420px;opacity:.92; }.moon { width:220px;height:220px;right:20%; }.house { transform:scale(.75);transform-origin:bottom right;right:11%;top:194px; }.tree-left { left:11%; }.tree-right { right:17%; }.hero-art>p { bottom:23px;right:36%; }.hero-details { left:25px;right:25px;bottom:25px;gap:0;justify-content:space-between; }.hero-details div { font-size:10px;padding-left:8px; }.hero-details b { font-size:11px; }.hero-details span { font-size:8px; }.hero-intro { font-size:12px;max-width:270px; }.hero-actions { gap:17px; }.text-link { font-size:9px; }.section-wrap { padding:76px 25px; }.section-label { margin-bottom:30px; }.about-content { display:block; }.about h2,.route h2,.faq h2 { margin-bottom:29px; }.about-content p { font-size:12px; }.facts { margin-top:46px;grid-template-columns:1fr 1fr;gap:25px 0;padding-bottom:35px; }.facts div:nth-child(3) { grid-column:span 2; }.facts b { font-size:15px; }.facts small { left:0;right:auto; }.route-heading { display:block;margin-bottom:31px; }.route-heading p { font-size:12px; }.map-card { padding:8px; }.map-card svg { height:250px; }.map-key { font-size:8px; }.route-note { display:block;font-size:12px; }.faq { padding-bottom:80px; }.faq h2 { margin-bottom:35px; }.faq details { padding-left:0; }.faq summary { font-size:17px; }.faq details p { font-size:12px; }.final-callout { padding:76px 20px 62px; }footer { min-height:190px;padding:31px 25px;display:block; }.footer-mark { display:block;margin-bottom:30px; }footer div { text-align:left;margin-top:20px; }.button { font-size:9px;padding:13px 14px 12px;gap:18px; } }

/* A darker night-market palette gives the event artwork room to lead. */
:root { --ink:#141313; --paper:#e5d8c2; --gold:#b78542; --orange:#e05a1b; --plum:#292726; }
body { background:#292726; color:var(--paper); }
.grain { opacity:.2; }
.site-header { background:#201f1e; border-bottom-color:rgba(229,216,194,.2); }
nav { gap:34px; }
nav a,.header-link { font-size:13px; }
.header-link { padding-bottom:4px; }
.hero { background:#242221; }
.hero:before { opacity:.42; background:radial-gradient(circle at 76% 26%,#69453a 0 1px,transparent 1.5px) 0 0/33px 33px; }
h1 { font-size:clamp(56px,7.8vw,112px); }
h1 em { margin-left:7vw; }
.hero-details div { padding-left:17px; }
.hero-details span { font-size:11px; margin-bottom:8px; }
.hero-details b { font-size:19px; line-height:1.28; }
.about,.faq { background:#302e2c; }
.facts,.facts div,.faq-list,.faq details { border-color:rgba(229,216,194,.25); }
.map-card { background:#201e1c; border-color:rgba(229,216,194,.22); }
.water { fill:#313b3d; }
.street { stroke:#b49873; }
.route { background:#191817; }
.final-callout { background:#b84918; }
footer { background:#161515; }
.facts b { font-size:20px; }

@media (max-width:760px) { h1 { font-size:clamp(48px,15vw,72px); } .hero-details b { font-size:13px; } .hero-details span { font-size:8px; margin-bottom:6px; } nav a,.header-link { font-size:12px; } }

/* The detailed logo needs room to remain legible at navigation scale. */
.site-header { height:104px; }
.brand img { width:200px; }
footer .footer-mark img { width:180px; }

@media (max-width:760px) { .site-header { height:80px; } .brand img { width:142px; } }

/* Event photography replaces the original decorative hero illustration. */
.hero-photo { position:absolute; z-index:1; top:76px; right:7vw; width:min(41vw,580px); height:440px; margin:0; padding:10px; background:var(--gold); box-shadow:16px 18px 0 rgba(10,8,7,.42); transform:rotate(1.5deg); }
.hero-photo::before { content:""; position:absolute; inset:16px; border:1px solid rgba(229,216,194,.65); pointer-events:none; z-index:1; }
.hero-photo img { width:100%; height:100%; display:block; object-fit:cover; object-position:72% center; filter:saturate(.72) contrast(1.13) sepia(.12) brightness(.8); }
.hero-photo figcaption { position:absolute; z-index:2; bottom:25px; left:25px; right:25px; color:var(--paper); font-family:Rye,serif; font-size:20px; text-transform:uppercase; text-shadow:0 2px 8px #000; }
.hero-photo figcaption span { display:block; margin-top:5px; color:var(--orange); font-family:"DM Mono",monospace; font-size:15px; font-weight:500; letter-spacing:.14em; }

@media (max-width:760px) { .hero { min-height:830px; } .hero-photo { top:300px; right:25px; width:calc(100% - 50px); height:355px; padding:7px; transform:rotate(.8deg); } .hero-photo::before { inset:12px; } .hero-photo figcaption { bottom:18px; left:18px; font-size:16px; } .hero-photo figcaption span { font-size:12px; } }

/* Alternate lockup treatment: artwork leads the hero while the header stays readable. */
.brand-text { color:var(--paper); font-family:Rye,serif; font-size:24px; letter-spacing:-.05em; text-transform:uppercase; white-space:nowrap; }
.hero-run-logo { display:block; width:min(34vw,470px); height:auto; margin:-12px 0 4px -14px; filter:drop-shadow(0 10px 14px rgba(0,0,0,.3)); }

/* Interactive course map */
#course-map { height:490px; background:#262321; }
#course-map .leaflet-tile-pane { filter:grayscale(1) brightness(.48) contrast(1.22) sepia(.15) hue-rotate(340deg); }
#course-map .leaflet-control-zoom a { background:#201e1c; color:var(--paper); border-color:rgba(229,216,194,.28); }
#course-map .leaflet-control-zoom a:hover { background:var(--orange); color:var(--ink); }
#course-map .leaflet-control-attribution { background:rgba(20,19,19,.75); color:#b9aa95; font:9px "DM Mono",monospace; }
#course-map .leaflet-control-attribution a { color:var(--paper); }
.course-marker { background:transparent; border:0; }
.course-marker span { display:block; width:max-content; min-width:62px; padding:6px 8px 5px; border:1px solid var(--paper); background:#201e1c; color:var(--paper); font:10px "DM Mono",monospace; letter-spacing:.08em; text-align:center; box-shadow:0 2px 8px rgba(0,0,0,.55); }
.course-marker span::after { content:""; display:block; position:absolute; left:50%; bottom:-7px; width:9px; height:9px; background:inherit; border-right:1px solid var(--paper); border-bottom:1px solid var(--paper); transform:translateX(-50%) rotate(45deg); }
.start-marker span { border-color:var(--orange); color:var(--orange); }
.finish-marker span { border-color:var(--gold); color:var(--gold); transform:translateY(28px); }
.finish-marker span::after { top:-7px; bottom:auto; transform:translateX(-50%) rotate(225deg); }

@media (max-width:760px) { #course-map { height:360px; } }

/* Prevent the retired decorative-map rule from resizing Leaflet's route SVG. */
#course-map .leaflet-overlay-pane svg { width:auto; height:auto; }

.gpx-download { display:inline-flex; align-items:center; gap:12px; margin:18px 2px 2px; color:var(--paper); font-size:13px; font-weight:500; letter-spacing:.07em; text-decoration:none; text-transform:uppercase; }
.gpx-download b { color:var(--orange); font-size:19px; line-height:0; }
.gpx-download:hover { color:var(--orange); }

@media (max-width:760px) { .brand-text { font-size:19px; } .hero-run-logo { width:250px; margin:-5px 0 8px -8px; } }

/* Stronger event hierarchy */
.section-label { font-size:13px; }
.about h2,.route h2 { font-size:clamp(42px,5.6vw,72px); }
.button { gap:40px; padding:19px 23px 18px; font-size:14px; }
.button b { font-size:22px; }
.final-callout .eyebrow { font-size:14px; font-weight:500; }

@media (max-width:760px) { .section-label { font-size:11px; } .about h2,.route h2 { font-size:clamp(39px,12vw,57px); } .button { gap:25px; padding:17px 20px 16px; font-size:12px; } .final-callout .eyebrow { font-size:12px; } }

/* Keep the enlarged registration action clear of the event-detail row. */
.hero { min-height:790px; }
.hero-details { bottom:52px; }

@media (max-width:760px) { .hero { min-height:910px; } .hero-details { bottom:32px; } }

/* Hero information panel and framed event lockup. */
.hero { min-height:710px; }
.hero-copy { max-width:460px; }
.hero-run-note { margin:0 0 27px; font:58px/.83 Rye,serif; text-transform:uppercase; letter-spacing:-.06em; }
.hero-run-note i { color:var(--orange); font-family:Creepster,cursive; font-style:normal; letter-spacing:0; }
.hero-info { display:grid; grid-template-columns:repeat(3,1fr); margin:0 0 30px; border-top:1px solid rgba(229,216,194,.35); border-bottom:1px solid rgba(229,216,194,.35); padding:17px 0; }
.hero-info div { min-height:68px; padding:0 13px; border-left:1px solid rgba(229,216,194,.35); }
.hero-info div:first-child { padding-left:0; border-left:0; }
.hero-info span { display:block; margin-bottom:8px; color:var(--gold); font-size:10px; text-transform:uppercase; letter-spacing:.1em; }
.hero-info b { font:14px/1.25 Rye,serif; font-weight:400; }
.hero-logo-frame { position:absolute; z-index:1; top:72px; right:7vw; width:min(43vw,590px); height:480px; margin:0; padding:10px; border:1px solid var(--gold); background:#1a1817; box-shadow:16px 18px 0 rgba(10,8,7,.42); transform:rotate(1.2deg); }
.hero-logo-frame img { display:block; width:100%; height:100%; object-fit:contain; }
.about-photo { position:relative; width:100%; height:360px; margin:0; padding:9px; overflow:hidden; background:var(--gold); box-shadow:12px 14px 0 rgba(10,8,7,.22); transform:rotate(-1deg); }
.about-photo::before { content:""; position:absolute; z-index:1; inset:15px; border:1px solid rgba(229,216,194,.65); pointer-events:none; }
.about-photo img { display:block; width:100%; height:100%; object-fit:cover; object-position:72% center; filter:saturate(.72) contrast(1.13) sepia(.12) brightness(.8); }
.about-photo figcaption { position:absolute; z-index:2; bottom:23px; left:23px; color:var(--paper); font:20px Rye,serif; text-transform:uppercase; text-shadow:0 2px 8px #000; }
.about-photo figcaption span { display:block; margin-top:5px; color:var(--orange); font:15px "DM Mono",monospace; font-weight:500; letter-spacing:.14em; }

@media (max-width:760px) { .hero { min-height:0; padding-bottom:60px; } .hero-run-note { font-size:46px; } .hero-info { margin-bottom:25px; } .hero-info div { min-height:58px; padding:0 8px; } .hero-info b { font-size:11px; } .hero-info span { font-size:8px; } .hero-logo-frame { position:relative; top:auto; right:auto; width:100%; height:245px; margin:35px 0 0; padding:7px; transform:rotate(.6deg); } .about-photo { height:285px; padding:7px; } .about-photo::before { inset:12px; } .about-photo figcaption { bottom:18px; left:18px; font-size:16px; } .about-photo figcaption span { font-size:12px; } }

/* Tighter transitions between the main content sections. */
.section-wrap { padding-top:84px; padding-bottom:84px; }

@media (max-width:760px) { .section-wrap { padding-top:60px; padding-bottom:60px; } }

@media (max-width:760px) { .about-photo { margin-bottom:38px; } }

.course-steps { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 25px; margin:0; padding:0; list-style:none; counter-reset:course-step; }
.course-steps li { position:relative; min-height:52px; padding-left:35px; font-size:13px; line-height:1.55; }
.course-steps li::before { counter-increment:course-step; content:"0" counter(course-step); position:absolute; top:0; left:0; color:var(--orange); font-size:12px; font-weight:500; }

@media (max-width:760px) { .course-steps { grid-template-columns:1fr; gap:15px; } .course-steps li { font-size:12px; } }

/* Medal preview */
.medal-trigger { display:block; width:100%; padding:0 0 0 15px; color:inherit; font:inherit; text-align:left; background:none; border:0; border-left:1px solid rgba(229,216,194,.25); cursor:pointer; }
.medal-trigger small { display:block; margin-top:10px; color:var(--orange); font:11px "DM Mono",monospace; letter-spacing:.08em; text-transform:uppercase; }
.medal-trigger:hover b,.medal-trigger:focus-visible b { color:var(--orange); }
.medal-text-trigger { padding:0; color:var(--orange); font:inherit; font-size:12px; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:3px; background:none; border:0; cursor:pointer; }
.medal-modal { width:min(90vw,570px); max-height:90vh; margin:auto; padding:16px; color:var(--paper); background:#191817; border:1px solid var(--gold); box-shadow:0 22px 70px rgba(0,0,0,.8); }
.medal-modal::backdrop { background:rgba(0,0,0,.8); backdrop-filter:blur(4px); }
.medal-modal img { display:block; width:100%; max-height:72vh; object-fit:contain; }
.medal-modal p { margin:12px 2px 0; color:var(--gold); font-size:12px; letter-spacing:.1em; text-transform:uppercase; }
.medal-close { position:absolute; top:7px; right:10px; z-index:1; width:33px; height:33px; padding:0; color:var(--paper); background:#191817; border:1px solid var(--gold); border-radius:50%; font-size:23px; line-height:28px; cursor:pointer; }

@media (max-width:760px) { .medal-trigger { margin-top:0; padding-left:15px; } .medal-modal { padding:10px; } }

/* Keep the event details readable when the hero artwork approaches them. */
.hero-copy { z-index:2; }
.hero-logo-frame { z-index:1; }

/* More generous supporting type throughout the site. */
body { font-size:15px; }
.eyebrow { font-size:13px; }
.hero-info span,.facts span,.route-note span { font-size:12px; }
.hero-info b { font-size:16px; }
.map-key { font-size:12px; }
.section-label { font-size:14px; }
footer p { font-size:12px; }
footer a { font-size:14px; }
footer .brand-text { font-size:24px; }

@media (max-width:760px) { .eyebrow { font-size:11px; } .hero-info span,.facts span,.route-note span { font-size:10px; } .hero-info b { font-size:12px; } .map-key { font-size:10px; } .section-label { font-size:12px; } footer p { font-size:11px; } footer a { font-size:13px; } footer .brand-text { font-size:20px; } }

.route-links { display:flex; flex-wrap:wrap; gap:8px 28px; margin:18px 2px 2px; }
.route-links .gpx-download { margin:0; }

.site-header nav a { padding:8px 1px 6px; color:var(--paper); font-size:15px; font-weight:500; border-bottom:2px solid transparent; transition:border-color .18s ease,color .18s ease; }
.site-header nav a:hover,.site-header nav a:focus-visible { color:var(--orange); border-bottom-color:var(--orange); }
.site-header .header-link { font-size:15px; font-weight:500; }

@media (max-width:760px) { .site-header .header-link { font-size:13px; } }
