/* Public site: quiet typography, an overview map, and room for the routes. */
:root{--bg:#FCFBF8;--bg2:#F3F1EA;--card:#FFFFFF;--border:#E6E3DA;--text:#263238;--text-mid:#525B5A;--text-dim:#65706B}
body{letter-spacing:0}
p,.sub,.heroSub,.ld,.fv,.tips li,.rc-summary,.how p{text-align:start;hyphens:none}
.brandwrap{gap:9px;align-items:center}
.logo-horizon{width:54px;height:28px}
.logo-wordmark{width:142px;height:32px}
.logo-text{letter-spacing:0;line-height:1}
.logo-sub{display:none}
.topbar{margin-bottom:28px}
.toplink{font-size:13px;letter-spacing:0;text-transform:none}
h1{font-size:44px;letter-spacing:0;line-height:1.12}
.section-h,.how-h,.h-t,.rc-label,.fl,.dlh{letter-spacing:0;text-transform:none}
.leaflet-container{background:#F5F1E9}
.leaflet-tile-pane{filter:brightness(var(--map-brightness,1.11)) sepia(.16) saturate(.85) contrast(.96)}
.leaflet-map-labels-pane{filter:brightness(.7) sepia(.12)}
.leaflet-bar{border:1px solid var(--border)!important;box-shadow:none!important;border-radius:4px!important}
.leaflet-control-attribution{background:rgba(252,251,248,.88)!important;color:#626B63}
.leaflet-control-attribution a{color:#526B68}
.leaflet-tooltip{border:1px solid var(--border);box-shadow:0 2px 6px #26323812;background:#FCFBF8;color:var(--text)}
.split{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);grid-template-areas:"hero map" "rest rest";gap:0 48px}
.heroL{padding:0}
.heroL h1{font-size:42px;max-width:15ch}
.heroLabel{display:none}
.heroSub{font-size:16px;line-height:1.7;max-width:40ch;margin-top:18px}
.ctaBtn{border-radius:4px;letter-spacing:0;padding:11px 20px}
.statrow2{gap:16px 24px;margin-top:28px}
.s2n{font-size:26px}
.s2l{letter-spacing:0}
.mapsticky{position:static;padding-top:0}
#pmap{height:320px;min-height:320px;max-height:none;border-radius:0;border:0}
.map-routes{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;margin-top:12px}
.map-route{display:inline-flex;align-items:center;gap:7px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--text-dim);font:13px var(--sans);padding:5px 0 7px;cursor:pointer}
.map-route[aria-pressed="true"]{color:var(--text);border-bottom-color:var(--terra)}
.map-route:hover{color:var(--accent)}
.map-route:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.maphint{font-size:12px;line-height:1.5;margin-top:10px}
.mapexpand{display:inline-flex;border-radius:4px;padding:6px 12px}
.rstack{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:36px;scroll-margin-top:24px}
.rcard{background:transparent;border:0;border-top:1px solid var(--border);border-radius:0;padding:22px 0 18px;gap:10px;box-shadow:none;min-width:0}
.rcard:hover,.rcard:focus-visible{border-color:var(--terra);box-shadow:none;outline-offset:5px}
.rcard:focus-visible{outline:2px solid var(--accent)}
.rc-label{font-size:12px;letter-spacing:0;text-transform:none}
.rc-title{font-size:29px;line-height:1.15}
.rc-summary{font-size:14px;line-height:1.65}
.rc-foot{margin-top:auto;padding-top:10px;gap:10px}
.rc-stats{letter-spacing:0}
.rc-price{white-space:normal;font-size:24px}
.morelink{padding-top:14px}
.cities{background:transparent;border:0;border-top:1px solid var(--border);border-radius:0;padding:24px 0 0;margin-top:40px}
.cities .h-t,.how .h-t{font-size:15px;text-transform:none;letter-spacing:0;color:var(--text)}
.cities p{font-size:15px;line-height:2.2}
.how-h{font-size:15px;letter-spacing:0;text-transform:none;margin-top:44px}
.how{grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 32px}
.how p{font-size:14px;line-height:1.7}
.mo-close{border-radius:4px}
@media(max-width:920px){
  .split{display:block}
  .heroL{padding-top:0}
  .heroSub{max-width:52ch}
  .mapsticky{margin-top:30px}
  #pmap{height:320px;min-height:320px}
  .rstack{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:38px}
  .how{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  .wrap{padding-left:20px;padding-right:20px}
  .topbar{margin-bottom:24px;row-gap:16px}
  .topright{gap:12px}
  h1,.heroL h1{font-size:34px;max-width:100%}
  .heroSub{font-size:15px}
  .rstack,.how{grid-template-columns:1fr;gap:16px}
  .rcard{padding-top:20px}
  .rc-title{font-size:28px}
  .statrow2{gap:14px 20px}
  .clink{white-space:normal}
}
@media print{
  :root{--bg:#FFFFFF;--text:#000000;--text-mid:#333333;--text-dim:#555555}
  .printbrand .logo-wordmark{width:116px;height:26px}
  .printbrand .logo-horizon{width:38px;height:19px}
}
