/* Geographic discovery: a quiet route atlas inside GetMeCab's existing system. */
.geo-directory__hero{position:relative;overflow:hidden;background:var(--brand-green);color:#fff;padding:78px 0 86px}
.geo-directory__hero .wrap{position:relative;z-index:1}
.geo-directory__hero::after{content:"";position:absolute;width:530px;height:530px;right:-125px;top:-235px;border:1px solid rgba(239,196,14,.6);border-radius:50%;box-shadow:0 0 0 65px rgba(239,196,14,.07),0 0 0 130px rgba(239,196,14,.04)}
.geo-directory__lead{color:var(--yellow);font-weight:800;font-size:14px;margin-bottom:18px}
.geo-directory__hero h1{font-size:clamp(42px,6vw,72px);letter-spacing:-.055em;max-width:780px;line-height:1.02}
.geo-directory__hero h1 em{color:var(--yellow);font-style:normal}
.geo-directory__hero p:last-child{font-size:17px;line-height:1.65;max-width:560px;margin-top:24px;color:#d4e6dd}
.geo-directory__line{position:absolute;right:13%;top:32%;width:25%;height:125px;border-top:2px dashed rgba(239,196,14,.55);border-right:2px dashed rgba(239,196,14,.55);border-radius:0 95px 0 0;transform:rotate(-14deg)}
.geo-directory__line span{position:absolute;width:13px;height:13px;background:var(--yellow);border:3px solid var(--brand-green);border-radius:50%}
.geo-directory__line span:first-child{left:-5px;top:-7px}.geo-directory__line span:last-child{right:-7px;bottom:-5px}
.geo-directory__featured{background:#ecf3ee;padding:52px 0}
.geo-directory__section-head{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:22px}
.geo-directory__section-head h2{font-size:clamp(25px,3vw,34px)}
.geo-directory__section-head p{font-size:14px;color:var(--ink-600)}
.geo-directory__market-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:#c8dbd0;border:1px solid #c8dbd0}
.geo-directory__market-list a{min-width:0;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:5px;padding:20px;background:#fff;min-height:92px}
.geo-directory__market-list strong{font:800 19px var(--f-head)}
.geo-directory__market-list span{grid-column:1;color:var(--ink-400);font-size:13px}
.geo-directory__market-list i{grid-column:2;grid-row:1/3;align-self:center;font-size:22px;font-style:normal;color:var(--green)}
.geo-directory__market-list a:hover,.geo-directory__market-list a:focus-visible{background:#fff8d8;outline:2px solid var(--yellow-deep);outline-offset:-2px}
.geo-directory__states,.geo-directory__cities{padding:64px 0 80px}
.geo-directory__state-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:34px}
.geo-directory__state-list a{display:flex;align-items:baseline;gap:12px;min-width:0;padding:15px 0;border-bottom:1px solid var(--line);font-weight:750}
.geo-directory__state-list a span{min-width:0;overflow-wrap:anywhere}.geo-directory__state-list small{color:var(--ink-400);font-size:12px;font-weight:600;white-space:nowrap;margin-left:auto}
.geo-directory__state-list i{color:var(--green);font-style:normal}.geo-directory__state-list a:hover{color:var(--green)}
.geo-directory__state-list a:focus-visible,.geo-directory__cities a:focus-visible,.geo-city-links a:focus-visible,.home-city-atlas a:focus-visible{outline:3px solid var(--yellow-deep);outline-offset:3px}
.geo-directory__alphabet{display:flex;flex-wrap:wrap;gap:7px;margin:4px 0 28px}
.geo-directory__alphabet a{display:grid;place-items:center;min-width:38px;height:38px;padding:0 6px;border:1px solid var(--line);border-radius:9px;font-weight:800;color:var(--green)}
.geo-directory__alphabet a:hover{background:var(--soft-yellow);border-color:var(--yellow-deep)}
.geo-directory__letter-group{display:grid;grid-template-columns:60px 1fr;gap:20px;padding:24px 0;border-top:1px solid var(--line);scroll-margin-top:90px}
.geo-directory__letter-group h3{font-size:29px;color:var(--green)}
.geo-directory__letter-group ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 18px;list-style:none}
.geo-directory__letter-group li a{display:flex;justify-content:space-between;gap:8px;padding:9px 0;font-size:14px;font-weight:650}
.geo-directory__letter-group li a:hover{color:var(--green)}.geo-directory__letter-group li span{color:var(--green)}
.geo-city-links{background:#eaf2ed;padding:48px 0 58px}
.geo-city-links__intro{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px}
.geo-city-links__intro h2{font-size:clamp(24px,3vw,32px);margin-bottom:8px}
.geo-city-links__intro p{color:var(--ink-600);font-size:14px}
.geo-city-links__parent{flex:none;font-weight:800;font-size:13px;color:var(--green);text-decoration:underline;text-underline-offset:4px}
.geo-city-links__list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:#c4d8cc;border:1px solid #c4d8cc;list-style:none}
.geo-city-links__list a{display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 8px;min-height:73px;padding:14px 17px;background:#fff}
.geo-city-links__list strong{font:750 16px var(--f-head);overflow-wrap:anywhere}
.geo-city-links__list small{grid-column:1;color:var(--ink-400);font-size:11px}.geo-city-links__list span{grid-column:2;grid-row:1/3;color:var(--green);font-size:18px}
.geo-city-links__list a:hover{background:#fff8d8}
.home-city-atlas{background:#eaf2ed;padding:56px 0}
.home-city-atlas__head{display:flex;justify-content:space-between;align-items:end;gap:22px;margin-bottom:24px}
.home-city-atlas__head h2{font-size:clamp(26px,3vw,34px)}.home-city-atlas__head p{font-size:14px;color:var(--ink-600);margin-top:6px}
.home-city-atlas__all{font-weight:800;color:var(--green);text-decoration:underline;text-underline-offset:4px;white-space:nowrap}
.home-city-atlas__cities{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:#c4d8cc;border:1px solid #c4d8cc}
.home-city-atlas__cities a{display:flex;align-items:center;justify-content:space-between;gap:8px;background:#fff;padding:16px 18px;font-weight:750}
.home-city-atlas__cities a:hover{background:#fff8d8}.home-city-atlas__cities span{color:var(--green)}
@media(max-width:850px){.geo-directory__market-list,.geo-city-links__list,.home-city-atlas__cities{grid-template-columns:repeat(2,minmax(0,1fr))}.geo-directory__state-list{grid-template-columns:repeat(2,minmax(0,1fr))}.geo-directory__letter-group ul{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.geo-directory__hero{padding:54px 0 60px}.geo-directory__line{opacity:.3;right:-5%;top:57%}.geo-directory__section-head,.geo-city-links__intro,.home-city-atlas__head{display:block}.geo-directory__section-head p,.geo-city-links__parent,.home-city-atlas__all{display:inline-block;margin-top:10px}.geo-directory__market-list,.geo-directory__state-list,.geo-directory__letter-group ul,.geo-city-links__list,.home-city-atlas__cities{grid-template-columns:1fr}.geo-directory__letter-group{grid-template-columns:38px 1fr;gap:12px}.geo-directory__states,.geo-directory__cities{padding:46px 0 58px}.geo-directory__state-list{gap:0}.geo-directory__state-list a{min-height:48px}.geo-city-links{padding:42px 0 50px}}
@media(prefers-reduced-motion:reduce){.geo-directory__hero::after,.geo-directory__line{scroll-behavior:auto}}

/* Destination discovery uses the same calm green and warm yellow across city and route pages. */
.hyd-routes{background:#edf4ee}
.hyd-routes .hyd-section-head h2,.hyd-routes .hyd-finder-head h3{color:var(--brand-green)}
.hyd-routes .hyd-section-head>a,.hyd-routes .hyd-finder-actions>a{color:var(--green)}
.hyd-featured-routes article{position:relative;min-height:145px;gap:9px;border-color:#c8d9cc;border-radius:14px;padding:20px 21px;box-shadow:0 6px 18px rgba(9,50,33,.04)}
.hyd-featured-routes article:hover{border-color:var(--green);box-shadow:0 10px 24px rgba(9,50,33,.09)}
.hyd-featured-routes__eyebrow{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--green)}
.hyd-featured-routes h3{font:800 clamp(19px,2vw,23px)/1.1 var(--f-head);color:var(--brand-green)}
.hyd-featured-routes article>div{gap:8px 15px}
.hyd-featured-routes a{display:inline-flex;align-items:center;gap:4px;color:var(--green);font-size:13px}
.hyd-featured-routes a:hover,.hyd-featured-routes a:focus-visible{color:#16422d;text-decoration:underline;text-decoration-thickness:2px}
.hyd-routes .hyd-finder{background:#fff;border-color:#c8d9cc;border-radius:16px}
.hyd-routes .hyd-finder-head strong{color:var(--brand-green)}
.hyd-routes .hyd-destination-results strong{color:var(--brand-green)}
.hyd-routes .hyd-destination-results a,.hyd-routes .hyd-route-list a{color:var(--green)}
.hyd-routes .hyd-destination-results article{border-color:#d5e2d8;border-radius:9px}
.hyd-routes .hyd-finder-actions button{background:var(--brand-green)}
.hyd-routes a:focus-visible,.route-discovery a:focus-visible{outline:3px solid var(--yellow-deep);outline-offset:3px}

.route-directory__hero{padding:48px 0 30px}
.route-directory__hero h1{color:var(--brand-green)}
.route-directory__content{padding:28px 0 68px}
.route-directory__content .placecard{border-radius:13px}
.route-directory__content .placecard:focus-visible,.route-directory__content a:focus-visible{outline:3px solid var(--yellow-deep);outline-offset:3px}

.route-discovery{background:#edf4ee;padding:58px 0}
.route-discovery .sec-head{margin-bottom:22px}
.route-discovery .sec-head h2{font-size:clamp(26px,3vw,36px);color:var(--brand-green)}
.route-discovery .sec-head p{color:var(--ink-600);font-size:14px}
.route-discovery__parents{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.route-discovery__parents a{display:grid;grid-template-columns:1fr auto;gap:5px;padding:20px 22px;background:#fff;border:1px solid #c8d9cc;border-radius:12px}
.route-discovery__parents a:hover,.route-discovery__related a:hover{background:#fff9dc;border-color:var(--yellow-deep)}
.route-discovery__parents span{grid-column:1;font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:800;color:var(--green)}
.route-discovery__parents strong{grid-column:1;font:800 18px/1.2 var(--f-head);color:var(--brand-green)}
.route-discovery__parents i{grid-column:2;grid-row:1/3;align-self:center;font-style:normal;font-size:21px;color:var(--green)}
.route-discovery__related{margin-top:24px}
.route-discovery__related h3{margin-bottom:12px;font:800 19px var(--f-head);color:var(--brand-green)}
.route-discovery__related>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.route-discovery__related a{display:flex;align-items:center;justify-content:space-between;gap:9px;padding:12px 14px;background:#fff;border:1px solid #d5e2d8;border-radius:9px;font-size:13px;font-weight:750;color:var(--brand-green)}
.route-discovery__related a span{color:var(--green)}
@media(max-width:720px){.route-discovery__related>div{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.route-discovery{padding:44px 0}.route-discovery__parents,.route-discovery__related>div{grid-template-columns:1fr}.hyd-featured-routes article{min-height:0}.hyd-routes .hyd-finder-head{flex-direction:column}.hyd-routes .hyd-finder-head strong{font-size:22px}.hyd-routes .hyd-finder-head strong small{display:inline;margin-left:6px;font-size:11px}}
