:root{
  --parchment:#f7f2e8;--parchment-2:#efe6d4;--soot:#25211b;--soot-2:#5c5447;--grid-line:#cdbfa5;
  --ember:#e8590c;
  --type-sans:"Gill Sans","Gill Sans MT","Trebuchet MS","Lato","Fira Sans","DejaVu Sans",sans-serif;
  --type-mono:ui-monospace,"Cascadia Mono","SF Mono","Roboto Mono","DejaVu Sans Mono","Liberation Mono",Consolas,monospace;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:#f7f2e8;color:var(--soot);font-family:var(--type-sans);font-size:1.04rem;line-height:1.6}
h1,h2{font-family:var(--type-sans);font-weight:600;line-height:1.2}
a{color:#b4500a;text-underline-offset:.2em}
a:focus-visible{outline:2px dashed var(--soot);outline-offset:3px}
.bypass{position:absolute;left:-999px;top:0;padding:.4rem .8rem;background:var(--soot);color:var(--parchment);font-family:var(--type-mono)}
.bypass:focus{left:.5rem}
.trailhead{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 1.5rem;padding:.8rem clamp(1rem,4vw,2.4rem);border-bottom:2px solid var(--soot)}
.trailhead-wordmark{font-family:var(--type-mono);font-weight:700;font-size:1.05rem;letter-spacing:.14em;color:var(--soot);text-decoration:none}
.trailhead-wordmark span{color:var(--ember);padding:0 .15rem}
.trailhead-nav ul{display:flex;flex-wrap:wrap;gap:0 1rem;margin:0;padding:0;list-style:none}
.trailhead-nav a{display:inline-flex;align-items:center;min-height:44px;font-family:var(--type-mono);font-size:.82rem;text-transform:uppercase;letter-spacing:.06em;color:var(--soot-2);text-decoration:none}
.trailhead-nav a:hover,.trailhead-nav a[aria-current]{color:var(--soot);text-decoration:underline;text-decoration-color:var(--ember);text-decoration-thickness:2px}
.route-sheet{max-width:58rem;margin:0 auto;padding:1.6rem clamp(1rem,4vw,2.4rem) 3rem}
.route-sheet-title{font-size:clamp(1.8rem,4.6vw,2.6rem);margin:.6rem 0 1rem}
.route-sheet-lead{max-width:40rem;color:var(--soot-2)}
.basecamp{padding:1rem 0 2rem;border-bottom:1px solid var(--grid-line)}
.basecamp-coords{font-family:var(--type-mono);font-size:.78rem;letter-spacing:.1em;color:var(--ember);margin:0 0 .6rem}
.basecamp h1{font-size:clamp(2rem,5.4vw,3.2rem);margin:0 0 1rem;max-width:16em}
.basecamp p{max-width:40rem}
.hexmap{display:grid;grid-template-columns:repeat(6,3rem);gap:.3rem;margin:1.4rem 0 0;font-family:var(--type-mono)}
.hexmap-cell{display:flex;align-items:center;justify-content:center;height:3rem;background:var(--parchment-2);clip-path:polygon(25% 4%,75% 4%,100% 50%,75% 96%,25% 96%,0 50%);font-weight:700;color:var(--soot-2)}
.hexmap-cell:nth-child(n+7){transform:translateX(1.6rem)}
.hexmap-cell[data-kind="flag"]{background:var(--ember);color:#fff}
.hexmap-cell[data-kind="camp"]{background:#e0d3b8}
.route-legend,.supply-ledger,.compass-points,.signal-post{padding:1.8rem 0;border-bottom:1px solid var(--grid-line)}
.route-legend h2,.supply-ledger h2,.compass-points h2,.signal-post h2{font-family:var(--type-mono);font-size:.95rem;text-transform:uppercase;letter-spacing:.1em;margin:0 0 .9rem}
.route-legend-list{display:grid;grid-template-columns:9rem 1fr;gap:.5rem 1rem;margin:0}
.route-legend-list dt{font-family:var(--type-mono);font-weight:700;color:var(--ember)}
.route-legend-list dd{margin:0}
.supply-ledger-table{width:100%;max-width:44rem;border-collapse:collapse;font-size:.97rem}
.supply-ledger-table th,.supply-ledger-table td{text-align:left;padding:.5rem .6rem .5rem 0;border-bottom:1px solid var(--grid-line);vertical-align:top}
.supply-ledger-table th{font-family:var(--type-mono);font-weight:400;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--soot-2)}
.supply-ledger-table td:nth-child(2){font-family:var(--type-mono);white-space:nowrap}
.compass-points-list{margin:0;padding-left:1.4rem;max-width:44rem}
.compass-points-list li{padding:.35rem 0}
.compass-points-list li::marker{font-family:var(--type-mono);color:var(--ember)}
.trail-games{padding:2rem 0}
.signal-post p{max-width:40rem}
.leg{padding:1rem 0;border-top:1px solid var(--grid-line);max-width:44rem}
.leg h2{font-family:var(--type-mono);font-size:.95rem;letter-spacing:.06em;margin:0 0 .5rem}
.leg--clause h2{font-family:var(--type-sans);font-size:1.25rem;letter-spacing:0}
.leg p{overflow-wrap:anywhere}
.leg-address{font-style:normal;font-family:var(--type-mono);line-height:1.75;margin:.3rem 0 .9rem}
.leg-table{border-collapse:collapse;width:100%}
.leg-table th,.leg-table td{text-align:left;vertical-align:top;padding:.45rem .8rem .45rem 0;border-bottom:1px solid var(--grid-line);overflow-wrap:anywhere}
.leg-table th{font-family:var(--type-mono);font-weight:400;font-size:.8rem;color:var(--soot-2);width:11rem}
.single-file{max-width:44rem}
.single-file-meta{font-family:var(--type-mono);font-size:.8rem;letter-spacing:.06em;color:var(--soot-2);margin:0 0 1.2rem;padding:.4rem 0;border-top:2px solid var(--soot);border-bottom:1px solid var(--grid-line)}
.trail-end{padding:1.3rem clamp(1rem,4vw,2.4rem);border-top:2px solid var(--soot);font-family:var(--type-mono);font-size:.8rem;color:var(--soot-2)}
.trail-end p{margin:.2rem 0}
.trail-end-links a{display:inline-flex;align-items:center;min-height:44px;margin-right:1rem}
@media (max-width:640px){
  .hexmap{grid-template-columns:repeat(6,2.4rem)}
  .hexmap-cell{height:2.4rem}
  .hexmap-cell:nth-child(n+7){transform:translateX(1.2rem)}
  .route-legend-list{grid-template-columns:1fr}
  .route-legend-list dd{margin-bottom:.5rem}
  .leg-table th{width:8rem}
}
