/* Footer and practical route tools. Loaded after the original responsive styles. */
footer.site-footer{padding:0;background:#151715;color:#f3f3ee}
.site-footer .footer-feature{padding:40px 4.5% 46px;background:#d5fc42;color:#151715;position:relative;overflow:hidden}
.site-footer .footer-feature:after{content:"";position:absolute;width:510px;height:510px;border:1px solid #15171525;border-radius:50%;right:-130px;top:-180px;pointer-events:none}
.site-footer .footer-feature>.micro{display:block;border-bottom:1px solid #15171555;padding-bottom:18px;font-weight:700}
.site-footer .footer-feature-row{display:flex;justify-content:space-between;align-items:end;gap:40px;padding-top:22px;position:relative;z-index:1}
.site-footer .footer-feature h2{font-size:clamp(68px,10vw,148px);letter-spacing:-.045em;line-height:.78;margin:18px 0 0}
.site-footer .footer-feature h2 em{font-style:italic;color:#151715}
.site-footer .footer-feature-action{width:260px;flex:none}
.site-footer .footer-feature-action p{color:#2c3220;font-size:14px;line-height:1.55;margin-bottom:22px}
.site-footer .footer-feature-action .button{width:100%;background:#151715;color:#f3f3ee;min-height:54px}
.site-footer .footer-feature-action .button:hover{background:#334018}
.site-footer .footer-main{padding:46px 4.5% 54px;display:flex;justify-content:space-between;gap:50px}
.site-footer .footer-brand .logo{font-size:42px;display:inline-flex;align-items:center;line-height:1}
.site-footer .footer-brand .logo span{color:#151715}
.site-footer .footer-brand p{margin-top:20px;color:#aeb5a4;font-size:13px;line-height:1.6}
.site-footer .footer-links{display:grid;grid-template-columns:repeat(3,minmax(115px,1fr));gap:38px;max-width:650px;width:60%}
.site-footer .footer-links>div{display:flex;flex-direction:column;align-items:flex-start;gap:4px}
.site-footer .footer-links .micro{color:#d5fc42;font-weight:700;margin-bottom:15px;white-space:nowrap}
.site-footer .footer-links a{font-size:13px;color:#d7dbd0;padding:6px 0;line-height:1.25}
.site-footer .footer-links a:hover{color:#d5fc42}
.site-footer .footer-bottom{border-top:1px solid #454b3f;margin:0 4.5%;padding:20px 0 24px;display:flex;align-items:center;gap:20px;justify-content:space-between;color:#9fa99a;font:10px 'Space Mono',monospace;letter-spacing:.03em}
.site-footer .footer-top-button{border:0;background:none;color:#d5fc42;font:inherit;letter-spacing:inherit;white-space:nowrap;padding:4px 0}
.site-footer .footer-top-button:hover{text-decoration:underline;text-underline-offset:4px}

.run-planner{margin:30px 4.5% 0;padding:32px;background:#151715;color:#f3f3ee;border-top:7px solid #d5fc42}
.planner-heading{display:flex;justify-content:space-between;align-items:end;gap:32px;padding-bottom:26px;border-bottom:1px solid #4a5144}
.planner-heading .micro{color:#d5fc42;font-weight:700}
.planner-heading h2{font-size:clamp(46px,5.6vw,82px);line-height:.87;margin-top:12px}
.planner-heading h2 em{font-style:italic;color:#d5fc42}
.planner-heading>p{max-width:265px;color:#bbc3b5;font-size:13px;line-height:1.55}
.planner-body{display:grid;grid-template-columns:1.1fr .9fr;gap:30px;padding:26px 0;border-bottom:1px solid #4a5144}
.planner-inputs{display:flex;gap:16px;align-items:end}
.planner-inputs>label,.pace-controls{display:flex;flex-direction:column;gap:9px;font:700 10px 'Space Mono',monospace;letter-spacing:.06em;color:#d5fc42}
.planner-inputs>label{min-width:0;flex:1}
.planner-inputs select,.pace-controls input{height:48px;background:#f3f3ee;color:#151715;border:0;padding:0 12px;font:700 16px 'DM Sans',sans-serif}
.planner-inputs select{width:100%}
.pace-controls{display:grid;grid-template-columns:70px auto 70px;column-gap:4px;align-items:center}
.pace-controls>span:first-child{grid-column:1/-1}
.pace-controls input{width:100%;text-align:center;padding:0 5px}
.pace-controls>span[aria-hidden]{font-size:19px;text-align:center;color:#f3f3ee}
.planner-result{border-left:1px solid #4a5144;padding-left:30px;display:flex;flex-direction:column;justify-content:center}
.planner-result .micro{color:#aeb5a4}
.planner-result strong{font:800 clamp(48px,5vw,72px)/1 'Barlow Condensed',sans-serif;letter-spacing:-.03em;color:#d5fc42;margin:4px 0}
.planner-result p{font-size:12px;color:#c0c8b9}
.planner-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding-top:24px}
.planner-actions>a,.planner-actions>button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;padding:10px 18px;border:1px solid #737e6a;background:transparent;color:#f3f3ee;font-size:12px;font-weight:700;text-decoration:none}
.planner-actions>a:hover,.planner-actions>button:hover{border-color:#d5fc42;color:#d5fc42}
.planner-actions .planner-strava{background:#fc4c02;color:#fff;border-color:#fc4c02;gap:20px}
.planner-actions .planner-strava:hover{background:#dd4200;color:#fff;border-color:#dd4200}
.planner-fineprint{font-size:11px;color:#aeb5a4;margin-top:18px;line-height:1.5}
.planner-status{font-size:12px;color:#d5fc42;min-height:20px;margin-top:5px}

@media(max-width:800px){.site-footer .footer-feature-row{align-items:start;flex-direction:column;gap:26px}.site-footer .footer-feature-action{width:min(100%,360px)}.site-footer .footer-main{display:block}.site-footer .footer-links{width:100%;max-width:none;margin-top:34px}.planner-heading{align-items:start;flex-direction:column;gap:12px}.planner-heading>p{max-width:480px}.planner-body{grid-template-columns:1fr}.planner-result{border-left:0;border-top:1px solid #4a5144;padding:18px 0 0}}
@media(max-width:650px){footer.site-footer{padding:0 0 76px}.site-footer .footer-feature{padding:27px 16px 30px}.site-footer .footer-feature>.micro{font-size:8px}.site-footer .footer-feature-row{padding-top:14px;gap:20px}.site-footer .footer-feature h2{font-size:clamp(58px,16vw,90px);margin:10px 0 0}.site-footer .footer-feature-action{display:flex;gap:12px;align-items:center;width:100%}.site-footer .footer-feature-action p{font-size:11px;margin:0;flex:1}.site-footer .footer-feature-action .button{width:auto;min-height:44px;padding:9px 12px;gap:9px;font-size:10px;flex:none}.site-footer .footer-feature-action .button span{font-size:16px}.site-footer .footer-main{padding:30px 16px 24px}.site-footer .footer-brand .logo{font-size:32px}.site-footer .footer-brand p{font-size:11px;margin-top:13px}.site-footer .footer-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px;margin-top:28px}.site-footer .footer-links>div:last-child{grid-column:1/-1}.site-footer .footer-links .micro{font-size:9px;margin-bottom:5px}.site-footer .footer-links a{font-size:12px}.site-footer .footer-bottom{margin:0 16px;padding:16px 0 0;display:grid;grid-template-columns:1fr auto;gap:5px 12px;font-size:8px}.site-footer .footer-bottom span:nth-child(2){grid-column:1;grid-row:2}.site-footer .footer-top-button{grid-column:2;grid-row:1/3;align-self:start}.run-planner{margin:16px 16px 0;padding:19px;border-top-width:5px}.planner-heading{padding-bottom:18px}.planner-heading h2{font-size:46px}.planner-heading>p{font-size:12px}.planner-body{padding:18px 0;gap:15px}.planner-inputs{gap:10px}.planner-inputs>label,.pace-controls{font-size:9px}.pace-controls{grid-template-columns:46px auto 46px}.planner-inputs select,.pace-controls input{height:43px;font-size:13px}.planner-result strong{font-size:56px}.planner-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding-top:16px}.planner-actions .planner-strava{grid-column:1/-1}.planner-actions>a,.planner-actions>button{padding:8px;font-size:10px;min-height:42px}.planner-fineprint{font-size:10px}}

/* Put the planner in the map's previously empty description column. */
.place-map-layout{display:grid;grid-template-columns:minmax(0,1.28fr) minmax(370px,.88fr);gap:20px;align-items:stretch}
.place-map-layout .place-map{display:flex;flex-direction:column;align-items:stretch;min-width:0;margin:0;background:#e9ede1;border:1px solid #d6d8cf}
.place-map-layout .place-map img{width:100%;height:100%;flex:1;min-height:0;object-fit:contain}
.place-map-layout .place-map figcaption{font-size:13px;line-height:1.55;padding:18px 24px;max-width:720px}
.place-map-layout .run-planner{margin:0;padding:24px;min-width:0;border-top:6px solid #d5fc42;border-left:0}
.place-map-layout .planner-heading{display:block;padding-bottom:17px}
.place-map-layout .planner-heading h2{font-size:clamp(44px,4.3vw,65px)}
.place-map-layout .planner-heading>p{max-width:none;margin-top:12px;font-size:12px}
.place-map-layout .planner-body{grid-template-columns:1fr;gap:14px;padding:18px 0}
.place-map-layout .planner-inputs{gap:10px}
.place-map-layout .pace-controls{grid-template-columns:51px auto 51px}
.place-map-layout .planner-result{padding:13px 0 0;border-left:0;border-top:1px solid #4a5144}
.place-map-layout .planner-result strong{font-size:55px}
.place-map-layout .planner-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding-top:18px}
.place-map-layout .planner-actions .planner-strava{grid-column:1/-1}
.place-map-layout .planner-actions>a,.place-map-layout .planner-actions>button{padding:8px 10px;min-height:42px;font-size:11px}
.place-map-layout .planner-fineprint{font-size:10px;margin-top:13px}
@media(max-width:1050px){.place-map-layout{grid-template-columns:1fr;gap:16px}.place-map-layout .place-map img{height:auto;flex:none;max-height:360px}.place-map-layout .run-planner{border-top:5px solid #d5fc42}.place-map-layout .planner-heading{display:flex}.place-map-layout .planner-body{grid-template-columns:1.1fr .9fr}.place-map-layout .planner-result{border-top:0;border-left:1px solid #4a5144;padding:0 0 0 20px}.place-map-layout .planner-actions{display:flex}.place-map-layout .planner-actions .planner-strava{grid-column:auto}}
@media(max-width:650px){.place-map-layout{gap:12px}.place-map-layout .place-map img{max-height:190px}.place-map-layout .place-map figcaption{padding:12px;font-size:12px}.place-map-layout .run-planner{padding:19px}.place-map-layout .planner-heading{display:block}.place-map-layout .planner-heading h2{font-size:46px}.place-map-layout .planner-body{grid-template-columns:1fr}.place-map-layout .planner-result{border-left:0;border-top:1px solid #4a5144;padding:13px 0 0}.place-map-layout .planner-actions{display:grid}.place-map-layout .planner-actions .planner-strava{grid-column:1/-1}}

/* Keep the brand mark typographic on Safari, which may render ↗︎ as an emoji. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
.logo span{position:relative;overflow:hidden;font-size:0!important;line-height:0!important;vertical-align:middle;flex:none}
.logo span::before{content:"";position:absolute;top:24%;right:23%;width:38%;height:38%;border-top:2px solid currentColor;border-right:2px solid currentColor}
.logo span::after{content:"";position:absolute;top:52%;left:22%;width:54%;height:2px;background:currentColor;transform:rotate(-45deg);transform-origin:center}

@media(max-width:760px){
  html,body{max-width:100%}
  body{padding-bottom:0}
  header{gap:8px}
  header .logo{white-space:nowrap;flex:none}
  header .saved-nav{white-space:nowrap;min-width:0}
  .section-head>div,.run-card .card-body,.route-compact .card-body{min-width:0}
  .section>.three>.run-card:last-child{display:grid;grid-template-columns:92px minmax(0,1fr)}
  .section>.three>.guide-card:last-child{display:grid}
  .mobile-home-switcher{grid-template-columns:repeat(3,minmax(0,1fr))}
  .mobile-home-switcher button{min-width:0;white-space:nowrap;font-size:12px}
  .site-footer{padding-bottom:calc(74px + env(safe-area-inset-bottom))!important}
  .site-footer .footer-feature{display:none}
  .site-footer .footer-main{padding:28px 16px 22px}
  .site-footer .footer-links{display:block;margin-top:24px}
  .site-footer .footer-links>div:not(:last-child){display:none}
  .site-footer .footer-links>div:last-child{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 16px}
  .site-footer .footer-links>div:last-child .micro{grid-column:1/-1;margin-bottom:3px}
  .site-footer .footer-links>div:last-child a{font-size:12px;padding:8px 0}
  .site-footer .footer-bottom{margin:0 16px;padding-top:14px}
}
@media(max-width:420px){
  header .saved-nav span{display:none}
  .hero h1{font-size:clamp(46px,14vw,60px);letter-spacing:-1.2px}
  body[data-page=index] .section-head{display:block}
  body[data-page=index] .section-head h2{max-width:none;font-size:clamp(25px,8vw,31px)}
  body[data-page=index] .section-head .arrow-link{display:none}
  .site-footer .footer-brand p{margin-top:9px}
  .site-footer .footer-links{margin-top:20px}
}
