.expedition-lead{padding-bottom:50px;border-bottom:1px solid var(--line)}.expedition-lead h1{font-size:clamp(3.1rem,6.6vw,6.8rem);max-width:1000px;overflow-wrap:break-word}.route-turn{color:var(--red)}.expedition-dates{font-weight:700;margin-top:26px}.expedition-legs{display:grid;grid-template-columns:1fr 1fr;gap:60px}.expedition-legs article{border-top:2px solid var(--red);padding-top:26px}.leg-number{display:block;font-family:var(--display);font-size:3rem;color:var(--red);margin-bottom:16px}.expedition-legs h3{font-family:var(--display);font-size:2.8rem;text-transform:uppercase;line-height:1.1;margin:18px 0}.expedition-legs p{color:var(--muted)}.expedition-overview .route-facts{margin:45px 0 25px}.calendar-note{color:var(--muted);max-width:900px;font-size:14px;border-left:3px solid var(--red);padding-left:20px}.route-filter{display:flex;flex-wrap:wrap;gap:10px 24px;border-bottom:1px solid var(--line);padding-bottom:20px}.route-filter button{background:none;border:0;border-bottom:2px solid transparent;color:var(--muted);padding:10px 0;min-height:44px;font-weight:700;font-size:14px}.route-filter button[aria-pressed=true]{color:var(--red);border-color:var(--red)}.route-count{font-size:14px;color:var(--muted);margin:20px 0}.expedition-day{border-bottom:1px solid var(--line);scroll-margin-top:110px}.expedition-day[hidden]{display:none}.expedition-day summary{display:grid;grid-template-columns:60px minmax(0,1fr) 140px 24px;align-items:center;gap:20px;padding:24px 0;cursor:pointer;list-style:none}.expedition-day summary::-webkit-details-marker{display:none}.day-number{font-family:var(--display);font-size:2.7rem;color:var(--red)}.day-heading time{display:block;color:var(--muted);font-size:13px;margin-bottom:6px}.day-heading strong{display:block;font-size:21px;line-height:1.3;overflow-wrap:anywhere}.day-type{font-size:12px;font-weight:700;text-align:right}.day-status{display:block;color:var(--muted);font-weight:400;margin-top:4px}.day-expand{font-size:24px;color:var(--red);text-align:center}.expedition-day[open] .day-expand{font-size:0}.expedition-day[open] .day-expand:after{content:'−';font-size:24px}.day-content{padding:0 0 30px 80px;max-width:1100px}.day-content>p{max-width:790px}.day-note,.overnight-note{color:var(--muted);font-size:14px}.overnight-note{margin:25px 0 0;border-top:1px solid var(--line);padding-top:18px}.saved-map{margin:25px 0}.saved-map img{width:100%;height:auto;object-fit:contain;background:white}.saved-map figcaption{margin-top:12px;font-size:13px}.expedition-finish{border-top:2px solid var(--red)}.expedition-finish h2{font-family:var(--display);font-size:clamp(2.7rem,6vw,5rem);line-height:1.1;text-transform:uppercase;margin:20px 0}
@media(max-width:720px){.expedition-legs{grid-template-columns:1fr;gap:38px}.expedition-lead h1{font-size:3.3rem}.expedition-legs h3{font-size:2.2rem}.expedition-day summary{grid-template-columns:35px minmax(0,1fr) 18px;gap:12px;padding:22px 0}.day-number{font-size:2rem;grid-row:1 / 3;align-self:start}.day-heading strong{font-size:18px}.day-type{grid-column:2;text-align:left;display:flex;flex-wrap:wrap;gap:8px}.day-status{display:inline;margin:0}.day-expand{grid-column:3;grid-row:1 / 3}.day-content{padding-left:0}.route-filter{gap:6px 18px}.stage-stats{flex-wrap:wrap;gap:12px}.expedition-lead .buttons{gap:20px}.calendar-note{padding-left:14px}.saved-map figcaption a{font-size:13px}.expedition-overview .route-facts{gap:20px}}
@media print{.header,.footer,.route-filter,.buttons,.scroll-progress{display:none}.expedition-day{break-inside:avoid}.expedition-day .day-content{display:block}.wrap{width:100%}.expedition-lead h1{font-size:42px}.page-lead{padding-top:0}.day-content{padding-left:0}.saved-map img{max-height:500px}.expedition-day[hidden]{display:block}}

/* Clickable month calendar for navigating the expedition's dated day cards. */
.itinerary-calendar{max-width:1040px;margin:0 0 38px;padding:24px clamp(16px,3vw,34px) 18px;background:#e9e8dc;border:1px solid var(--line)}
.itinerary-calendar[hidden]{display:none}
.calendar-toolbar{display:grid;grid-template-columns:46px 1fr 46px;align-items:center;gap:12px;margin-bottom:18px}
.calendar-toolbar h3{margin:0;text-align:center;font-family:var(--display);font-size:clamp(22px,3vw,34px);text-transform:uppercase;letter-spacing:.04em}
.calendar-toolbar button{width:42px;height:42px;background:transparent;border:1px solid var(--line);color:var(--ink);font-size:20px;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease}
.calendar-toolbar button:hover:not(:disabled),.calendar-toolbar button:focus-visible{background:var(--red);border-color:var(--red);color:white}
.calendar-toolbar button:disabled{opacity:.3;cursor:default}
.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}
.calendar-weekdays{margin-bottom:7px}
.calendar-weekdays span{text-align:center;color:var(--muted);font:700 11px/1.2 monospace;text-transform:uppercase;letter-spacing:.08em;padding:7px 0}
.calendar-day{position:relative;min-height:76px;padding:10px 10px 8px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;text-align:left;background:#f4f3eb;border:1px solid transparent;color:var(--ink);cursor:pointer;transition:transform .2s ease,background .2s ease,border-color .2s ease,color .2s ease}
.calendar-day:hover,.calendar-day:focus-visible{transform:translateY(-3px);background:#fffdf4;border-color:var(--red);outline:none}
.calendar-day[data-leg="south"]{border-bottom:3px solid #bf6249}
.calendar-day[data-leg="north"]{border-bottom:3px solid #314b48}
.calendar-day[data-kind="rest"]{border-bottom-style:dashed}
.calendar-date{font:800 23px/1 Arial,sans-serif}
.calendar-day small{font:700 9px/1 monospace;letter-spacing:.07em;color:var(--muted)}
.calendar-blank{min-height:76px}
.calendar-hint{margin:15px 0 0;color:var(--muted);font-size:13px}
@media(max-width:620px){.itinerary-calendar{padding:18px 12px 14px;margin-left:-4px;margin-right:-4px}.calendar-weekdays,.calendar-grid{gap:4px}.calendar-weekdays span{font-size:9px;letter-spacing:0}.calendar-day{min-height:60px;padding:7px 5px 6px;align-items:center}.calendar-date{font-size:20px}.calendar-day small{font-size:8px}.calendar-blank{min-height:60px}}
@media(prefers-reduced-motion:reduce){.calendar-toolbar button,.calendar-day{transition:none}}
.calendar-legend{display:flex;flex-wrap:wrap;gap:10px 24px;margin-top:14px;color:var(--muted);font-size:11px}.calendar-legend>span{display:inline-flex;align-items:center;gap:7px}.calendar-legend i{display:inline-block;width:18px;height:3px;background:#bf6249}.calendar-legend .legend-north{background:#314b48}.calendar-legend .legend-rest{height:0;background:none;border-top:2px dashed #bf6249}
@media(max-width:620px){.calendar-legend{gap:9px 14px;font-size:10px}}
