
:root{
  --gh-shell:#FDF5E9;
  --gh-deep:#2B3A12;
  --gh-olive:#436300;
  --gh-orange:#D26C0F;
  --gh-sand:#F7DCA8;
  --gh-coral:#E0674A;
  --gh-lagoon:#439B82;
  --gh-rule:rgba(43,58,18,.15);
}

.gh-page{background:var(--gh-shell);color:var(--gh-deep)}
.gh-page .eyebrow{color:var(--gh-orange)}
.gh-hero{
  display:grid;grid-template-columns:minmax(0,1.45fr) minmax(310px,.55fr);
  gap:7vw;align-items:end;padding:96px max(24px,7vw) 82px;border-bottom:1px solid var(--gh-rule)
}
.gh-hero h1{max-width:1050px;margin:10px 0 27px;font:400 clamp(60px,7vw,112px)/.88 var(--serif);letter-spacing:-.052em}
.gh-lede{max-width:830px;margin:0;font:400 clamp(18px,1.8vw,25px)/1.6 var(--body);color:rgba(43,58,18,.69)}
.gh-rule{border-top:1px solid var(--gh-deep);padding-top:18px}
.gh-rule-mark{display:block;margin-bottom:30px;font:600 9px var(--sans);color:var(--gh-orange)}
.gh-rule p{margin:0;font:400 17px/1.58 var(--body)}
.gh-rule strong{font-weight:500}

.gh-orientation,.gh-flight-step,.gh-picker-section,.gh-naming,.gh-matrix,.gh-last-mile,.gh-practical{
  padding:94px max(24px,7vw);border-bottom:1px solid var(--gh-rule)
}
.gh-flight-step,.gh-naming,.gh-last-mile{background:#EFEBDF}
.gh-section-head{display:grid;grid-template-columns:1fr .72fr;gap:8vw;align-items:end;margin-bottom:48px}
.gh-section-head.compact{margin-bottom:38px}
.gh-section-head h2{margin:9px 0 0;max-width:900px;font:400 clamp(48px,5.3vw,82px)/.91 var(--serif);letter-spacing:-.045em}
.gh-section-head>p{max-width:610px;margin:0;font:400 16px/1.67 var(--body);color:rgba(43,58,18,.64)}

.locator-sequence{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--gh-rule);border-bottom:1px solid var(--gh-rule)}
.locator-card{margin:0;padding:28px 26px 30px;border-right:1px solid var(--gh-rule)}
.locator-card:last-child{border-right:0}
.locator-card svg{display:block;width:100%;height:auto;background:var(--gh-sand)}
.locator-label{font:600 8px 'Quicksand',sans-serif;letter-spacing:.03em;fill:#2B3A12}
.locator-card figcaption{display:flex;flex-direction:column;gap:8px;padding-top:20px}
.locator-card figcaption strong{font:400 24px/1 var(--serif)}
.locator-card figcaption span{font:400 13px/1.55 var(--body);color:rgba(43,58,18,.62)}

.arrival-options{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--gh-rule);border-bottom:1px solid var(--gh-rule)}
.arrival-options article{padding:32px 34px 34px 0}
.arrival-options article+article{padding-left:34px;border-left:1px solid var(--gh-rule)}
.arrival-tag{display:inline-block;margin-bottom:58px;padding:7px 10px;border-radius:999px;background:var(--gh-sand);font:600 8px var(--sans);letter-spacing:.1em;text-transform:uppercase}
.arrival-options h3{margin:0 0 15px;font:400 clamp(31px,3vw,44px)/1 var(--serif)}
.arrival-options>article>p{max-width:650px;margin:0 0 26px;font:400 15px/1.62 var(--body);color:rgba(43,58,18,.63)}
.mini-facts{border-top:1px solid var(--gh-rule)}
.mini-facts div{display:flex;justify-content:space-between;gap:18px;padding:12px 0;border-bottom:1px solid var(--gh-rule)}
.mini-facts strong{font:600 9px var(--sans);text-transform:uppercase;letter-spacing:.08em}
.mini-facts span{font:400 13px var(--body);color:rgba(43,58,18,.62);text-align:right}

.arrival-warning{display:grid;grid-template-columns:64px 1fr;gap:28px;margin-top:32px;padding:30px;background:var(--gh-coral);color:#fff}
.warning-icon{display:grid;place-items:center;width:48px;height:48px;border:1px solid rgba(255,255,255,.62);border-radius:50%;font:500 25px var(--serif)}
.arrival-warning .eyebrow{color:#fff;opacity:.72}
.arrival-warning h3{margin:7px 0 10px;font:400 32px/1 var(--serif);color:#fff}
.arrival-warning p:last-child{max-width:970px;margin:0;font:400 15px/1.62 var(--body);color:rgba(255,255,255,.84)}

.destination-picker{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:30px}
.destination-choice{appearance:none;border:1px solid rgba(67,99,0,.25);background:transparent;border-radius:999px;padding:11px 16px;color:rgba(43,58,18,.62);font:600 9px var(--sans);text-transform:uppercase;letter-spacing:.08em;cursor:pointer}
.destination-choice.active{background:var(--gh-olive);color:var(--gh-shell);border-color:var(--gh-olive)}
.picker-layout{display:grid;grid-template-columns:minmax(0,.82fr) minmax(460px,1.18fr);gap:7vw;align-items:start}
.route-answer{position:sticky;top:110px}
.route-panel{padding:34px 0;border-top:1px solid var(--gh-rule);border-bottom:1px solid var(--gh-rule)}
.route-panel h3{margin:8px 0 28px;font:400 clamp(35px,3.8vw,56px)/.98 var(--serif)}
.route-metrics{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--gh-rule);margin-bottom:24px}
.route-metrics>div{padding:18px 18px 17px 0}
.route-metrics>div+div{padding-left:18px;border-left:1px solid var(--gh-rule)}
.route-metrics span,.route-metrics small{display:block;font:600 8px var(--sans);text-transform:uppercase;letter-spacing:.09em;color:rgba(43,58,18,.47)}
.route-metrics strong{display:block;margin:7px 0;font:400 26px/1 var(--serif)}
.route-facts{margin:0 0 26px;border-top:1px solid var(--gh-rule)}
.route-facts div{display:grid;grid-template-columns:105px 1fr;gap:18px;padding:12px 0;border-bottom:1px solid var(--gh-rule)}
.route-facts dt{font:600 8px var(--sans);text-transform:uppercase;letter-spacing:.09em;color:var(--gh-orange)}
.route-facts dd{margin:0;font:400 14px/1.5 var(--body);color:rgba(43,58,18,.68)}

.spine-wrap{min-width:0}
.spine-title{display:flex;justify-content:space-between;gap:16px;padding-bottom:14px;border-bottom:1px solid var(--gh-rule)}
.spine-title>span{font:400 25px var(--serif)}
.spine-title small{font:600 8px var(--sans);text-transform:uppercase;letter-spacing:.08em;color:rgba(43,58,18,.52)}
.legend-solid,.legend-dashed{display:inline-block;width:30px;height:0;border-top:2px solid var(--gh-olive);vertical-align:middle}
.legend-dashed{border-top-style:dashed;border-top-color:var(--gh-orange)}
.travel-spine{position:relative;min-height:850px;padding:38px 0 32px 54px}
.spine-main-line{position:absolute;left:21px;top:52px;bottom:48px;width:3px;background:var(--gh-olive)}
.spine-node{position:relative;min-height:112px;padding-left:18px}
.node-dot{position:absolute;left:-39px;top:4px;width:15px;height:15px;border-radius:50%;background:var(--gh-shell);border:3px solid var(--gh-olive);box-sizing:border-box}
.node-dot.alt{border-color:var(--gh-lagoon)}
.node-dot.border{border-color:var(--gh-deep)}
.node-copy{max-width:420px}
.node-copy strong{display:block;font:400 22px/1 var(--serif)}
.node-copy small{display:block;margin-top:7px;font:500 10px/1.45 var(--sans);letter-spacing:.025em;color:rgba(43,58,18,.54)}
.spine-node.inactive{opacity:.27}
.spine-node.active .node-dot{background:var(--gh-orange);border-color:var(--gh-orange)}
.spine-branch{position:absolute;left:315px;top:3px;display:grid;grid-template-columns:72px minmax(160px,1fr);gap:12px;width:min(360px,calc(100vw - 500px))}
.spine-branch>span{margin-top:8px;border-top:2px solid var(--gh-olive)}
.spine-branch.dashed>span{border-top:2px dashed var(--gh-orange)}
.spine-branch.west{left:auto;right:calc(100% - 16px);grid-template-columns:minmax(150px,230px) 70px;width:300px}
.spine-branch.west>span{grid-column:2;grid-row:1}
.spine-branch.west>div{grid-column:1;grid-row:1;text-align:right}
.spine-branch strong{display:block;font:400 18px/1 var(--serif)}
.spine-branch small{display:block;margin-top:5px;font:500 9px/1.4 var(--sans);color:rgba(43,58,18,.55)}
.spine-branch.inactive{opacity:.18}
.spine-branch.active strong{color:var(--gh-orange)}
.spine-correction{margin:6px 0 0;padding:18px 0;border-top:1px solid var(--gh-rule);font:400 12px/1.55 var(--body);color:rgba(43,58,18,.57)}

.glossary-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--gh-rule);border-bottom:1px solid var(--gh-rule)}
.glossary-grid article{min-height:260px;padding:27px 24px;border-right:1px solid var(--gh-rule)}
.glossary-grid article:last-child{border-right:0}
.glossary-grid span{display:block;margin-bottom:56px;font:600 8px var(--sans);text-transform:uppercase;letter-spacing:.1em;color:var(--gh-orange)}
.glossary-grid h3{margin:0 0 12px;font:400 29px/1 var(--serif)}
.glossary-grid p{margin:0;font:400 14px/1.58 var(--body);color:rgba(43,58,18,.62)}
.glossary-note{margin:22px 0 0;font:400 13px/1.55 var(--body);color:rgba(43,58,18,.59)}

.matrix-rule{margin-bottom:22px;padding:18px 22px;background:var(--gh-sand);font:400 16px/1.5 var(--body)}
.access-matrix-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border-top:1px solid var(--gh-rule)}
.access-matrix{width:100%;min-width:1020px;border-collapse:collapse}
.access-matrix th,.access-matrix td{padding:18px 16px;border-bottom:1px solid var(--gh-rule);border-right:1px solid rgba(43,58,18,.09);vertical-align:top;text-align:left}
.access-matrix th:last-child,.access-matrix td:last-child{border-right:0}
.access-matrix thead th{font:600 8px var(--sans);text-transform:uppercase;letter-spacing:.09em;color:rgba(43,58,18,.52)}
.access-matrix tbody th{font:400 21px/1.08 var(--serif);min-width:160px}
.access-matrix tbody td{font:400 13px/1.48 var(--body);color:rgba(43,58,18,.66)}
.matrix-note{margin:18px 0 0;max-width:980px;font:400 12px/1.58 var(--body);color:rgba(43,58,18,.55)}

.map-warning{max-width:1100px;margin-bottom:32px;padding:26px 28px;background:var(--gh-orange);color:#fff}
.map-warning strong{display:block;margin-bottom:9px;font:400 24px/1.1 var(--serif)}
.map-warning p{margin:0;font:400 14px/1.6 var(--body);color:rgba(255,255,255,.85)}
.pickup-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(330px,.8fr);gap:42px}
.pickup-map{min-height:520px;background:#E6EAE2;border:1px solid var(--gh-rule)}
.pickup-map-fallback{display:grid;place-items:center;min-height:520px;padding:40px;text-align:center;font:400 14px/1.6 var(--body);color:rgba(43,58,18,.58)}
.map-downloads{display:flex;gap:20px;flex-wrap:wrap;margin-top:14px}
.map-downloads a{font:600 9px var(--sans);text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--gh-olive)}
.pickup-list{border-top:1px solid var(--gh-rule)}
.pickup-list article{padding:22px 0;border-bottom:1px solid var(--gh-rule)}
.pickup-list span{display:block;margin-bottom:8px;font:600 8px var(--sans);text-transform:uppercase;letter-spacing:.09em;color:var(--gh-orange)}
.pickup-list h3{margin:0 0 8px;font:400 27px/1 var(--serif)}
.pickup-list p{margin:5px 0;font:400 13px/1.55 var(--body);color:rgba(43,58,18,.63)}
.pickup-list p strong{font-family:var(--sans);font-size:11px;letter-spacing:.02em}
.pickup-list .not-pinned{opacity:.72}

.practical-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--gh-rule)}
.practical-list li{display:grid;grid-template-columns:55px minmax(0,1fr);gap:22px;padding:20px 0;border-bottom:1px solid var(--gh-rule)}
.practical-list>li>span{font:600 8px var(--sans);color:var(--gh-orange)}
.practical-list strong{display:block;margin-bottom:5px;font:400 24px/1.05 var(--serif)}
.practical-list p{margin:0;font:400 14px/1.5 var(--body);color:rgba(43,58,18,.59)}

.gh-sources{padding:38px max(24px,7vw) 90px;background:var(--gh-shell)}
.gh-sources details{border-top:1px solid var(--gh-rule);border-bottom:1px solid var(--gh-rule)}
.gh-sources summary{cursor:pointer;padding:18px 0;font:600 9px var(--sans);text-transform:uppercase;letter-spacing:.08em}
.source-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 34px;padding:8px 0 24px}
.source-grid p{margin:0;padding:12px 0;border-top:1px solid rgba(43,58,18,.09);font:400 12px/1.55 var(--body);color:rgba(43,58,18,.56)}
.source-links{display:flex;gap:18px;flex-wrap:wrap;padding:0 0 22px}
.source-links a{font:600 8px var(--sans);text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--gh-olive)}

.maplibregl-popup-content{font:500 11px/1.45 'Quicksand',sans-serif;color:#2B3A12;background:#FDF5E9;border-radius:0;box-shadow:0 4px 20px rgba(43,58,18,.14)}
.pickup-marker{width:18px;height:18px;border-radius:50%;background:#D26C0F;border:3px solid #FDF5E9;box-shadow:0 0 0 1px rgba(43,58,18,.28)}

@media(max-width:1050px){
  .gh-hero{grid-template-columns:1fr}
  .gh-rule{max-width:720px}
  .picker-layout{grid-template-columns:1fr}
  .route-answer{position:static}
  .spine-wrap{margin-top:24px}
  .spine-branch{left:280px;width:min(340px,calc(100vw - 380px))}
  .spine-branch.west{display:none}
  .glossary-grid{grid-template-columns:1fr 1fr}
  .glossary-grid article:nth-child(2){border-right:0}
  .glossary-grid article{border-bottom:1px solid var(--gh-rule)}
}
@media(max-width:780px){
  .gh-orientation,.gh-flight-step,.gh-picker-section,.gh-naming,.gh-matrix,.gh-last-mile,.gh-practical{padding:72px 20px}
  .gh-hero{padding:74px 20px 62px}
  .gh-section-head{grid-template-columns:1fr;gap:18px}
  .locator-sequence,.arrival-options,.pickup-layout{grid-template-columns:1fr}
  .locator-card{border-right:0;border-bottom:1px solid var(--gh-rule)}
  .arrival-options article,.arrival-options article+article{padding:28px 0;border-left:0;border-bottom:1px solid var(--gh-rule)}
  .arrival-warning{grid-template-columns:1fr}
  .warning-icon{width:40px;height:40px}
  .destination-picker{display:grid;grid-template-columns:1fr 1fr}
  .destination-choice{text-align:left}
  .route-metrics{grid-template-columns:1fr}
  .route-metrics>div,.route-metrics>div+div{padding:15px 0;border-left:0;border-bottom:1px solid var(--gh-rule)}
  .travel-spine{padding-left:36px;min-height:auto}
  .spine-main-line{left:9px}
  .node-dot{left:-34px}
  .spine-node{min-height:145px;padding-left:10px;padding-right:0}
  .node-copy{max-width:70%}
  .spine-branch{position:relative;left:auto!important;right:auto!important;top:auto!important;width:auto;grid-template-columns:45px 1fr;margin-top:14px;margin-left:85px}
  .spine-branch.west{display:grid}
  .spine-branch.west>span{grid-column:1;grid-row:1}
  .spine-branch.west>div{grid-column:2;grid-row:1;text-align:left}
  .glossary-grid{grid-template-columns:1fr}
  .glossary-grid article{border-right:0}
  .source-grid{grid-template-columns:1fr}
  .pickup-map,.pickup-map-fallback{min-height:390px}
}
@media(max-width:480px){
  .destination-picker{grid-template-columns:1fr}
  .spine-title{flex-direction:column}
  .node-copy{max-width:100%}
  .spine-branch{margin-left:18px}
  .route-facts div{grid-template-columns:78px 1fr}
  .access-matrix-wrap{margin-left:-20px;margin-right:-20px;padding-left:20px}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}
