.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)}}

/* Daily road dashboard: readable at a glance, with references out of the way. */
.expedition-day>.day-content{padding:0 20px 20px}
.day-content .day-route-actions{position:static;padding:0;margin:0 0 18px;background:none}
.day-map-link{min-height:48px;font-size:14px;border-radius:10px}
.ride-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0}
.ride-stats>div{min-width:0;background:#e7e8dd;border:1px solid #d4d7c8;border-radius:12px;padding:16px}
.ride-stats dt{font:600 11px/1.4 Arial,sans-serif;color:#555d52;margin-bottom:8px}
.ride-stats dd{margin:0;font:700 clamp(19px,2.3vw,29px)/1.15 Arial,sans-serif;letter-spacing:-.5px;color:#294440;overflow-wrap:anywhere}
.day-content .ride-estimate-note{font:12px/1.5 Arial,sans-serif;color:#676a60;margin:10px 0 20px;max-width:none}
.day-brief-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}
.day-brief{min-width:0;border-top:1px solid #d8d8cc;padding:16px 0;margin:0}
.day-brief h3{font:700 12px/1.4 Arial,sans-serif;letter-spacing:.035em;margin:0 0 7px;text-transform:uppercase;color:#34544c}
.day-brief p{font:14px/1.6 Arial,sans-serif;margin:0;max-width:none;color:#373c35;overflow-wrap:anywhere}
.day-brief .road-condition{font-weight:600}
.day-logistics{grid-column:1/-1;background:#e9e8dd;border:0;border-left:3px solid #597067;border-radius:0 10px 10px 0;padding:16px;margin:0 0 16px}
.day-logistics.needs-review{background:#f2e8d8;border-left-color:#a7652c}
.day-logistics.needs-review h3{color:#855023}
.day-reference{border-top:1px solid #d8d8cc;padding-top:2px}
.expedition-day .day-reference>summary{display:block;min-height:44px;box-sizing:border-box;padding:14px 0;font:600 12px/1.5 Arial,sans-serif;color:#62695e;cursor:pointer}
.day-reference>summary:after{content:' +';float:right}.day-reference[open]>summary:after{content:' −'}
.day-reference p.reference-note{font:12px/1.6 Arial,sans-serif;color:#62695e;margin:4px 0 12px}
.day-source-links{margin:8px 0 14px;padding-left:18px;font:12px/1.6 Arial,sans-serif}.day-source-links a{display:inline-block;padding:6px 0;text-underline-offset:3px}
.day-reference .saved-map{margin:12px 0}.day-reference .saved-map img{border-radius:12px;max-height:420px;object-fit:contain}
.day-navigation{border-top:1px solid #d8d8cc;padding-top:14px;margin-top:4px}
.day-map-link:focus-visible,.day-reference>summary:focus-visible{outline:3px solid #b94836;outline-offset:3px}
@media(max-width:760px){.expedition-day>.day-content{padding:0 14px 14px}.ride-stats>div{padding:12px}.ride-stats dd{font-size:22px}.ride-stats dt{font-size:10px}.day-brief-grid{grid-template-columns:1fr}.day-brief{padding:13px 0}.day-logistics{padding:14px;margin-top:3px}.day-content .day-route-actions{margin-bottom:12px}.day-brief p{font-size:14px}.day-content .ride-estimate-note{font-size:11px;margin-bottom:14px}.day-navigation button{padding:10px 8px}.day-navigation a{font-size:11px}}

/* Rest days remain identifiable by both color and their existing label. */
.expedition-day[data-kind="rest"]{background:#e0e8dc;border-color:#a5b59f}
.expedition-day[data-kind="rest"] .day-number,.expedition-day[data-kind="rest"] .day-type,.expedition-day[data-kind="rest"] .day-expand{color:#365342}
.expedition-day[data-kind="rest"][open]{border-color:#52775e}

.day-logistic-tags{display:none}
@media(max-width:800px){
 .expedition-day .day-type{display:flex;flex-wrap:wrap;align-items:center;gap:7px 10px}
 .day-logistic-tags{display:inline-flex;flex-wrap:wrap;gap:5px}
 .day-logistic-tag{display:inline-block;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:500;line-height:1.35;background:#e6e2d5;color:#484a3d;white-space:nowrap}
 .day-logistic-tag.border{background:#eee0cf;color:#70451e}
 .day-logistic-tag.ferry{background:#dce7eb;color:#285269}
 .day-logistic-tag.camp{background:#d9e5d3;color:#355739}
}

.trip-dashboard{padding-block:34px}
.trip-dashboard h2{font:900 clamp(26px,4vw,46px)/1.05 Arial,sans-serif;letter-spacing:-1px;margin:0 0 12px}
.summary-route{font-size:16px;margin:0 0 22px}
.trip-totals{display:grid;grid-template-columns:2fr repeat(4,1fr);gap:10px;margin:0}
.trip-totals>div{display:flex;flex-direction:column-reverse;justify-content:end;background:#f5f3e9;border:1px solid #cfcec0;border-radius:14px;padding:20px}
.trip-totals dt{font-size:12px;color:#66675b;margin-top:8px}
.trip-totals dd{margin:0;font:700 clamp(24px,2.5vw,36px)/1.1 Arial,sans-serif;color:#314b48}
.summary-countries{font-size:14px;margin:18px 0 8px}.summary-note{font-size:12px;color:#66675b;line-height:1.5}
@media(max-width:800px){
 .expedition-lead{display:none}
 .trip-dashboard{padding-top:24px;padding-bottom:20px}
 .trip-totals{grid-template-columns:repeat(2,minmax(0,1fr))}
 .trip-totals>div:first-child{grid-column:1/-1}
 .trip-totals>div{padding:15px}
 #itinerary{display:flex;flex-direction:column;padding-top:0;gap:0}
 #itinerary>.itinerary-calendar{order:-2;position:static;width:100%;margin:0 0 28px}
 #itinerary>.calendar-toggle{display:none}
 #itinerary>.section-head{order:0;margin-bottom:16px}
}

/* One clear sequence on every screen: dashboard, calendar, daily list. */
.expedition-lead{display:none}
#itinerary{display:flex;flex-direction:column;gap:0;padding-top:0}
#itinerary>*{width:100%;box-sizing:border-box}
#itinerary>.itinerary-calendar{order:-2;position:static;width:100%;max-width:640px;align-self:center;margin:0 0 32px}
#itinerary>.calendar-toggle{display:none}
#itinerary>.section-head{order:0;margin-bottom:20px}
#itinerary>.route-filter{order:1}
#itinerary>.route-search{order:2}
#itinerary>.route-count{order:3}
#itinerary>.expedition-days{order:4}
/* Show crossing notes in collapsed day rows on desktop as well as mobile. */
@media(min-width:801px){
 .expedition-day .day-type{display:flex;flex-direction:column;align-items:flex-end;gap:7px}
 .day-logistic-tags{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px}
 .day-logistic-tag{display:inline-block;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:500;line-height:1.35;background:#e6e2d5;color:#484a3d;white-space:nowrap}
 .day-logistic-tag.border{background:#eee0cf;color:#70451e}
 .day-logistic-tag.ferry{background:#dce7eb;color:#285269}
 .day-logistic-tag.camp{background:#d9e5d3;color:#355739}
}
/* Use the middle of desktop day rows for horizontal crossing notes. */
@media(min-width:801px){
 .expedition-day>summary{grid-template-columns:42px minmax(0,1fr) minmax(240px,.75fr) 90px 24px}
 .expedition-day>summary .day-type{display:contents}
 .expedition-day>summary .day-type>[data-en]{grid-column:4;grid-row:1;text-align:right}
 .expedition-day>summary .day-logistic-tags{grid-column:3;grid-row:1;flex-direction:row;justify-content:center;align-items:center;gap:10px}
 .expedition-day>summary .day-expand{grid-column:5;grid-row:1}
}
.trip-totals .distance-miles{display:block;font:400 12px/1.5 Arial,sans-serif;color:var(--muted);margin-top:6px;letter-spacing:0}
