.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}}

.expedition-legs{grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.expedition-legs article{padding-top:18px}.expedition-legs h3{font-size:clamp(24px,2.4vw,34px)}.leg-number{font-size:2rem;margin-bottom:12px}.leg-picker{display:grid;gap:8px;flex:1 1 100%;max-width:580px;margin-top:8px;font-size:12px;font-weight:700;color:var(--muted)}.leg-picker select{width:100%;min-height:48px;border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:12px;padding:12px;font:inherit;font-size:14px}.leg-picker select:focus-visible{outline:2px solid var(--red);outline-offset:2px}@media(max-width:800px){.expedition-legs{grid-template-columns:1fr;gap:22px}.expedition-legs h3{font-size:28px}.expedition-legs article{display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px}.expedition-legs article .leg-number{grid-row:1/5}.expedition-legs article h3,.expedition-legs article p{margin:0}.expedition-legs article .text-link{grid-column:2}}

/* A compact route index and a working day-by-day planner. */
.expedition-lead{padding-block:55px 40px}.expedition-lead h1{font-size:clamp(42px,5.5vw,82px);line-height:.96;margin-block:20px}
.expedition-overview{padding-block:40px}.expedition-overview .section-head{margin-bottom:24px}
.expedition-legs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.expedition-legs article{position:relative;border:1px solid var(--line);border-radius:14px;padding:20px;background:#f3f1e7;display:grid;grid-template-columns:28px 1fr;gap:8px 12px}
.expedition-legs .leg-number{grid-row:1/5;font:16px monospace;margin:0;color:var(--red)}
.expedition-legs article>.eyebrow{font-size:10px;letter-spacing:0}.expedition-legs h3{font:700 clamp(18px,1.6vw,25px)/1.15 Arial,sans-serif;text-transform:none;margin:0}
.expedition-legs p{font-size:13px;line-height:1.4;margin:0}.expedition-legs .text-link{grid-column:2;font-size:12px;margin-top:8px;justify-self:start}
#itinerary{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);column-gap:36px;align-items:start;scroll-margin-top:160px}
#itinerary>.section-head{grid-column:1/-1}.itinerary-calendar{grid-column:1;grid-row:2/7;position:sticky;top:160px;margin:0;padding:18px 12px;border-radius:16px}
.calendar-toolbar h3{font:700 19px Arial,sans-serif;letter-spacing:0}.calendar-day,.calendar-blank{min-height:44px}.calendar-day{padding:6px;border-radius:7px}.calendar-date{font-size:16px}.calendar-weekdays,.calendar-grid{gap:4px}.calendar-legend{gap:8px;font-size:10px}.calendar-hint{font-size:12px}
.calendar-day[aria-current=date]{background:var(--red);color:white;border-color:var(--red)}.calendar-day[aria-current=date] small{color:white}
#itinerary>.route-filter,#itinerary>.route-search,#itinerary>.route-count,#itinerary>.expedition-days{grid-column:2;min-width:0}
.route-filter{gap:10px 18px;padding-bottom:16px}.leg-picker{margin:0;max-width:none}.route-search{margin-top:18px}.route-search label{display:block;font-size:12px;font-weight:700;margin-bottom:8px}.route-search>div{display:flex;gap:8px}.route-search input{min-width:0;flex:1;border:1px solid var(--line);border-radius:10px;background:#f7f5ed;padding:12px;font:16px Arial}.route-search button,.day-navigation button{border:1px solid var(--line);border-radius:10px;background:transparent;padding:10px 15px;min-height:44px;color:var(--ink);cursor:pointer}.route-search button:hover,.day-navigation button:hover:not(:disabled){background:var(--ink);color:var(--paper)}
.route-count{margin:12px 0;font-size:12px}.expedition-day{border:1px solid var(--line);border-radius:12px;margin-bottom:10px;background:#f5f3e9;overflow:hidden;scroll-margin-top:160px}.expedition-day[open]{border-color:var(--red);box-shadow:0 7px 20px #292a2610}
.expedition-day summary{padding:18px;grid-template-columns:38px minmax(0,1fr) 90px 18px;gap:14px}.day-number{font:22px monospace}.day-heading strong{font-size:18px}.day-heading time{font-size:12px}.day-type{font-size:10px}.day-metrics{display:block;margin-top:7px;font:12px monospace;color:var(--muted)}.day-content{padding:0 20px 20px;max-width:none}.day-content .stage-stats{font-size:12px}.day-navigation{display:flex;justify-content:space-between;gap:12px;margin-top:24px}.day-navigation button{font-size:12px}.day-navigation button:disabled{opacity:.35;cursor:default}.route-empty{padding:24px;border:1px dashed var(--line);border-radius:12px}
@media(max-width:1000px){.expedition-legs{grid-template-columns:repeat(2,minmax(0,1fr))}#itinerary{grid-template-columns:minmax(250px,300px) minmax(0,1fr);gap:22px}.expedition-day summary{grid-template-columns:30px minmax(0,1fr) 18px}.day-type{grid-column:2;text-align:left;display:flex;gap:8px}.day-expand{grid-column:3;grid-row:1/3}.day-number{grid-row:1/3}.day-status{margin:0}}
@media(max-width:760px){.expedition-legs{grid-template-columns:1fr}.expedition-lead{padding-block:30px}.expedition-overview{padding-block:25px}#itinerary{display:block}.itinerary-calendar{position:static;margin:0 0 24px}.calendar-day,.calendar-blank{min-height:44px}.calendar-toolbar h3{font-size:22px}.route-filter{gap:8px 18px}.expedition-day summary{padding:16px 12px}.day-heading strong{font-size:17px}.day-content{padding-inline:14px}}
@media print{#itinerary{display:block}.itinerary-calendar,.route-search,.day-navigation{display:none}.expedition-day{box-shadow:none}}

.calendar-toggle{display:none}.calendar-blank{display:grid;place-items:center;font:14px Arial;color:#95958a}.calendar-day small{font-size:8px;letter-spacing:0;white-space:nowrap}
.day-navigation a{display:grid;place-items:center;min-height:44px;font-size:12px;text-decoration:underline;text-underline-offset:4px}
@media(max-width:760px){#itinerary{display:flex;flex-direction:column;gap:0}#itinerary>*{width:100%;box-sizing:border-box}#itinerary>.section-head{order:0}#itinerary>.route-filter{order:1}#itinerary>.route-search{order:2}.calendar-toggle{order:3;display:block;min-height:48px;margin:14px 0 8px;padding:12px;border:1px solid var(--line);border-radius:10px;background:#e2e0d1;color:var(--ink);font-size:14px;font-weight:700;text-align:left}.calendar-toggle:after{content:'+';float:right}.calendar-toggle[aria-expanded=true]:after{content:'−'}.itinerary-calendar{order:4}#itinerary>.route-count{order:5}#itinerary>.expedition-days{order:6}.route-filter button,.day-navigation button{min-height:48px}.day-navigation{gap:6px}.day-navigation button{padding:10px;font-size:12px}.saved-map img{border-radius:12px}}

.day-route-actions{position:sticky;top:148px;z-index:3;background:#f5f3e9;padding:12px 0}.day-map-link{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 20px;border-radius:12px;background:#314b48;color:white;font:700 15px Arial,sans-serif;text-decoration:none;box-sizing:border-box}.day-map-link:hover{background:#203a37}.day-route-stops{font-size:13px;line-height:1.6;color:var(--muted);overflow-wrap:anywhere;margin:4px 0 20px}.route-discrepancy{border-left:3px solid var(--red);padding-left:12px;font-size:13px}.calendar-day[data-kind="ride"]{border-bottom:3px solid #314b48}.calendar-day[data-kind="rest"],.calendar-day[data-kind="experience"]{border-bottom:3px dashed #bf6249}.calendar-legend .legend-ride{background:#314b48}.calendar-legend .legend-rest{border-color:#bf6249}
@media(max-width:760px){.day-map-link{width:100%;min-height:50px}.day-route-actions{top:calc(var(--site-header-height,72px) + 54px)}}
