/* finesse · palette=autumn-paper+maple-red · type=serif-display/sans-reading · layout=photographic-chapters · engine=feedback-only · material=travel-publication */
@font-face{font-family:Roadbook Serif;src:url('assets/fonts/roadbook-serif.ttf') format('truetype');font-weight:600;font-display:swap}
@media screen{
:root{--ink:#26332c;--muted:#5d665e;--navy:#273f34;--blue:#9b3927;--green:#9b3927;--orange:#9b3927;--paper:#fffcf6;--canvas:#eeeae0;--soft:#f1ede3;--line:#d8d7c9;--shadow:none;--display:"Roadbook Serif","Songti SC",Georgia,serif;--reading:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;--radius:12px;--nav-h:68px}
html,body{overflow-x:clip}html{scroll-behavior:auto;scroll-padding-top:0}body{background:var(--canvas);color:var(--ink);font:16px/1.8 var(--reading);margin:0}::selection{background:var(--navy);color:var(--paper)}
h1,h2,h3,h4{min-width:0;overflow-wrap:anywhere;text-wrap:balance}a,button,summary{touch-action:manipulation;-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--orange);outline-offset:4px}button{font-family:var(--reading)}
.skip-link{position:fixed;top:-100px;left:16px;z-index:50;background:var(--paper);padding:12px 18px;color:var(--navy)}.skip-link:focus{top:12px}
.jump-nav{height:var(--nav-h);padding:0 max(24px,calc((100vw - 1160px)/2));background:var(--paper);border-bottom:1px solid var(--line);backdrop-filter:none;box-shadow:none;gap:24px;color:var(--navy)}.jump-nav .brand{font-size:19px;font-family:var(--display);font-weight:600;letter-spacing:0;color:var(--navy)}.jump-nav>div{gap:6px;min-width:0;overflow-x:auto}.jump-nav>div a{width:auto;min-width:48px;height:44px;padding:0 12px;border-radius:6px;background:transparent;color:var(--muted);font-size:15px;white-space:nowrap;font-weight:650}.jump-nav>div a:hover{background:var(--soft);color:var(--orange)}.jump-nav>div a.is-today{box-shadow:inset 0 -2px var(--orange);color:var(--orange)}.jump-nav>div a.is-selected{background:var(--orange);color:var(--paper);box-shadow:none}
.cover,.overview,.day-section,.reference-section,.full-trip-section,.trip-reference{max-width:1160px;box-shadow:none}
.cover{height:560px;margin:32px auto 52px;border-radius:0}.cover:after{background:linear-gradient(90deg,#13251dbf,transparent 88%),linear-gradient(0deg,#13251d70,transparent 50%)}.cover-overlay{left:56px;right:56px;bottom:48px;max-width:900px;color:var(--paper)}.cover-date{background:none;border:0;padding:0;font-size:16px;font-weight:500;letter-spacing:0}.cover h1{font-family:var(--display);font-size:72px;font-weight:600;letter-spacing:-.025em;line-height:1.25;margin:18px 0 22px}.cover-overlay>p:not(.cover-date){font-size:17px}.cover-start{background:var(--paper);color:var(--navy);border-radius:6px;padding:12px 22px;font-size:16px;min-height:50px;font-weight:650;white-space:nowrap}
.overview{margin:0 auto 64px;background:none;padding:0;border-radius:0;overflow:visible}.section-heading{display:flex;flex-direction:column}.section-heading h2{order:-1;font:600 36px/1.5 var(--display);color:var(--navy);letter-spacing:-.02em;margin:0 0 10px}.section-heading span{font-size:15px;letter-spacing:0;font-weight:500;color:var(--muted);margin:0 0 24px}.section-heading>p{font-size:16px;color:var(--muted)}.itinerary-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 24px}.itinerary-row{display:grid;grid-template-columns:1fr;gap:0;background:none;border:0;border-radius:0;padding:0;box-shadow:none;color:var(--navy);align-content:start}.itinerary-row>img{width:100%;height:180px;object-fit:cover;border-radius:2px;margin:0 0 12px}.itinerary-row>b{font-size:15px;color:var(--orange);padding:0;margin-bottom:4px}.itinerary-row>div{padding:0}.itinerary-row h3{font:600 20px/1.6 var(--display);margin:0}.itinerary-row p{font-size:14px;color:var(--muted);margin:6px 0 0;line-height:1.65}.itinerary-row>span{display:none}.route-policy{padding:20px 0 0;margin:24px 0 0;background:none;border:0;border-radius:0;color:var(--orange);font-size:15px;font-weight:650}.overview-note{font-size:14px;color:var(--muted);margin:6px 0 0}
.day-section{margin:64px auto;background:var(--paper);border:0;border-radius:0;overflow:hidden;scroll-margin-top:84px}.day-hero{height:auto;min-height:420px;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);padding:0;background:var(--paper)!important;color:var(--navy);position:relative}.day-hero:before{display:none}.day-art{min-width:0;align-self:stretch}.day-art img{display:block;width:100%;height:100%;min-height:420px;object-fit:cover}.hero-copy{position:relative;inset:auto;max-width:none;padding:38px 40px;display:flex;flex-direction:column;justify-content:space-between;gap:28px;background:var(--paper);color:var(--navy)}.journey-date{font-family:var(--reading);color:var(--orange);display:flex;flex-direction:column;gap:8px}.journey-date>small{font-size:15px;font-weight:600;line-height:1.5;letter-spacing:.04em}.journey-date>b{font-family:Georgia,serif;font-size:100px;font-weight:400;line-height:.95;letter-spacing:-.055em;font-variant-numeric:lining-nums}.journey-date>b>span{font-size:16px;font-family:var(--reading);letter-spacing:0;margin-left:8px}.journey-date>div{display:flex;align-items:center;gap:10px;line-height:1.5}.journey-date small{font-size:14px;font-weight:500}.day-status:not(:empty){font:600 12px/1.6 var(--reading);background:var(--orange);color:var(--paper);padding:2px 8px;border-radius:3px;margin:0}.day-heading-copy h2,.day-section .hero-copy h2{font:600 30px/1.65 var(--display);letter-spacing:-.02em;color:var(--navy);margin:0;text-shadow:none}.day-accordion>summary:after{inset:16px 16px auto auto;content:'−';width:40px;height:40px;border-radius:6px;background:var(--paper);color:var(--navy);font:500 24px/1 var(--reading);display:grid;place-items:center;box-shadow:none;z-index:2}.day-accordion:not([open])>summary:after{content:'+'}.day-accordion:not([open])>.day-hero{min-height:140px;grid-template-columns:minmax(0,1fr) 220px}.day-accordion:not([open]) .hero-copy{padding:24px 32px;display:grid;grid-template-columns:150px minmax(0,1fr);gap:28px;align-items:center}.day-accordion:not([open]) .journey-date>b{font-size:58px}.day-accordion:not([open]) .journey-date>small{font-size:12px}.day-accordion:not([open]) .day-art img{min-height:140px;height:100%;max-height:160px}.day-accordion:not([open]) .hero-copy h2{font-size:24px}
.day-facts{background:var(--soft);grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);border:0}.day-facts>div{padding:24px 40px;gap:7px}.day-facts>div+div{border-left:1px solid var(--line)}.day-facts b{font-size:13px;color:var(--muted);font-weight:500}.day-facts span{font-size:17px;line-height:1.7;font-weight:650;color:var(--navy)}.day-focus{margin:0;padding:22px 40px 0;background:none;border:0;font-size:17px;font-weight:700;color:var(--orange)}.weather-mini-row{margin:12px 40px 22px;gap:8px 16px}.weather-mini-place>small{font-size:14px;color:var(--muted)}.weather-badge{font-size:14px;padding:3px 7px;border:0;background:var(--soft);color:var(--navy)}.weather-mini-row .weather-refresh{width:44px;min-height:44px;color:var(--navy)}.weather-refresh-status{font-size:13px;color:var(--muted)}.stop-weather{border:0;padding:0;background:none;margin:8px 0 12px}
.day-agenda{margin:0 40px 36px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 24px;border-top:1px solid var(--line)}.day-agenda a{display:flex;flex-direction:column;justify-content:center;gap:5px;padding:14px 0;min-height:82px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--navy)}.day-agenda a>span{font-size:14px;font-weight:650;color:var(--orange);line-height:1.4}.day-agenda strong{font-size:15px;line-height:1.6;font-weight:600}.day-agenda a:hover{color:var(--orange)}
.day-layout{display:block;padding:0 40px 40px}.day-main{max-width:none;margin:0}.day-entry-actions{margin:0 0 24px}.chapter-heading{padding:0 0 18px;margin:0 0 30px;border-bottom:1px solid var(--line)}.chapter-heading span{font:600 27px/1.5 var(--display);color:var(--navy);letter-spacing:0}.timeline{padding:0}.timeline:before,.stop-dot{display:none}.stop-card{margin:0 0 48px;padding:0 0 44px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:none;box-shadow:none;overflow:visible;scroll-margin-top:84px}.stop-header{margin:0 0 22px}.stop-heading{display:grid;grid-template-columns:110px minmax(0,1fr);gap:22px;align-items:baseline}.stop-time{position:static;padding:0;background:none;color:var(--orange);width:auto;display:block;font-family:Georgia,serif;font-weight:400;font-size:32px;line-height:1.25;text-align:left}.stop-heading h3,.stop-card h3{font:600 28px/1.65 var(--display);color:var(--navy);letter-spacing:-.02em;margin:0}.stop-meta-line{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:8px 0 0 132px}.stop-duration{padding:0;background:none;margin:0;border-radius:0;color:var(--muted);font-size:15px;line-height:1.6}.stop-meta-line .recommendation{margin:0}.recommendation-stars{color:var(--orange);font-size:18px;letter-spacing:3px;line-height:1.6}.stop-experience{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:36px;align-items:start}.stop-visual,.stop-copy{min-width:0}.stop-visual>img{display:block;width:100%;aspect-ratio:3/2;height:auto;object-fit:cover;border-radius:2px}.stop-photo-frame{border-radius:2px}.stop-copy{padding:0}.stop-copy>.scene-intro{margin:0 0 18px;color:var(--ink);font-size:18px;line-height:1.95;max-width:70ch}.stop-copy>.visit-advice,.stop-copy>.choice{font-size:15px;line-height:1.85;color:var(--muted);background:none;border:0;border-radius:0;padding:0;margin:0 0 12px}.visit-advice>b{font-weight:600;color:var(--muted)}.photo-credit{display:block;font-size:12px;line-height:1.65;color:var(--muted);padding:8px 0;background:none;text-decoration:none}.extra-scene{max-width:560px;margin:24px 0 0}.extra-scene img{display:block;width:100%;height:auto;border-radius:2px}.extra-scene figcaption{font-size:14px;line-height:1.6;color:var(--muted);padding-top:8px}
.ticket-info{background:var(--soft);border:0;border-radius:6px;padding:16px;margin:18px 0 0}.ticket-info>strong{font-size:16px;color:var(--orange)}.ticket-info .ticket-body{padding:6px 0 0}.ticket-info .ticket-body p{font-size:15px;line-height:1.8;color:var(--ink);margin:0 0 10px}
.actions{display:flex;flex-wrap:wrap;gap:10px}.actions.compact{display:flex}.action,.actions.compact .action,.parking-info .actions .action,.ticket-info .actions .action,.hotel-timeline .action{display:inline-flex;align-items:center;justify-content:center;background:var(--orange);color:var(--paper);border:1px solid var(--orange);border-radius:6px;padding:12px 18px;min-height:50px;font-size:16px;font-weight:650;line-height:1.5;text-decoration:none;text-align:center;transition:background-color 160ms ease;white-space:nowrap}.action.secondary,.parking-info .action.secondary,.hotel-timeline .action.secondary{background:var(--orange);color:var(--paper)}.action.warm,.ticket-info .action.warm{background:var(--paper);color:var(--orange);border-color:var(--orange)}.action:hover{background:var(--navy);color:var(--paper);border-color:var(--navy);filter:none}.action:active{transform:translateY(1px)}
.parking-info{padding:26px 0 0;margin:24px 0 0;border:0;border-radius:0;background:none}.parking-info-body{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:36px;padding:0}.parking-copy,.parking-route{min-width:0}.parking-copy{padding-top:16px;border-top:1px solid var(--line)}.parking-info h4{font-size:19px;line-height:1.65;color:var(--navy);margin:0 0 8px}.parking-info p,.parking-info .parking-address{font-size:16px;line-height:1.8;color:var(--ink);margin:7px 0;overflow-wrap:anywhere}.parking-info .parking-check{font-size:13px;color:var(--muted);margin-top:14px}.parking-info .actions{margin-top:12px}.parking-source{font-size:14px;line-height:24px;min-height:44px;color:var(--navy);text-underline-offset:4px;padding:10px 0}.route-preview{background:none;border:0;border-radius:0;margin:0 0 12px;overflow:hidden;scroll-margin-top:84px}.route-preview-heading{padding:0 0 12px;background:none}.route-preview-heading strong{font-size:18px;line-height:1.7;color:var(--navy)}.route-preview-heading p{font-size:15px;line-height:1.8;color:var(--muted);margin:4px 0 0;overflow-wrap:anywhere}.toll-free-badge{display:inline-block;font-size:12px;line-height:1.7;margin-left:7px;padding:2px 6px;background:var(--soft);color:var(--navy);border:0;border-radius:3px}.route-preview small{display:block;padding:8px 0 0;font-size:12px;line-height:1.8;color:var(--muted)}.route-preview iframe{width:100%;height:290px;border:0;border-radius:6px}.route-map-viewport{max-height:none;border-radius:6px}.route-map-viewport .route-map-image{width:109%!important}
.day-layout .hotel-timeline{margin:0 0 40px;padding:32px;background:var(--soft);border:0;border-radius:var(--radius);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:20px 36px;scroll-margin-top:84px}.hotel-timeline .lodging-copy{grid-row:1/3}.hotel-timeline .hotel-step{font-size:21px;font-weight:650;color:var(--orange)}.hotel-timeline .lodging-copy>span:not(.hotel-step){font-size:14px;color:var(--muted)}.hotel-timeline .lodging-copy h3{font:600 26px/1.65 var(--display);color:var(--navy);margin:10px 0}.hotel-timeline .lodging-copy p,.hotel-timeline .lodging-notes{font-size:16px;line-height:1.8;color:var(--ink);overflow-wrap:anywhere}.hotel-timeline .route-preview,.hotel-timeline .actions{margin:0}.rental-panel,.day-main>.rental-panel,.travel-transfer-card{margin:32px 0;padding:32px;background:var(--soft);border:0;border-radius:var(--radius);scroll-margin-top:84px}.rental-panel h3,.travel-transfer-card h3{font:600 26px/1.6 var(--display);color:var(--navy)}.rental-panel .rental-details p,.rental-panel .rental-location,.rental-panel .rental-location span,.rental-panel .rental-note,.travel-transfer-card p{font-size:16px;line-height:1.8;color:var(--ink)}
.day-plan,.alternative-stops,.roadside-parks{border:0;border-top:1px solid var(--line);padding:0;margin:0;background:none;border-radius:0;overflow:visible}.day-plan>summary,.alternative-stops>summary,.roadside-parks>summary{font-size:17px;font-weight:650;min-height:56px;padding:18px 0;color:var(--navy)}.day-plan>ul{padding:0 24px 20px}.side-card li,.alternative-guidance,.roadside-parks article p{font-size:16px;line-height:1.85;color:var(--muted)}.alternative-stops .timeline{padding:16px 0}.alternative-guidance{padding:0;margin:0 0 20px}.roadside-parks article{padding:24px 0;border:0;border-top:1px solid var(--line);border-radius:0;background:none}.roadside-parks h3{font:600 23px/1.6 var(--display);color:var(--navy)}.roadside-parks b{font-size:16px}.parking-circles{padding:0 24px 20px;background:none;border:0;border-radius:0;margin:0}.parking-circles>b{font-size:17px;color:var(--navy)}.parking-circles a,.parking-circles strong{font-size:16px;font-weight:650;color:var(--navy)}.parking-circles p{font-size:15px;color:var(--muted);line-height:1.8;margin:5px 0 16px}
.reference-section,.full-trip-section{padding:40px;background:var(--paper);border:0;border-radius:0}.hotel-card{padding:24px 0;gap:24px;border-color:var(--line)}.hotel-card h4{font:600 24px/1.6 var(--display);color:var(--navy)}.hotel-card p{font-size:16px;color:var(--ink)}.hotel-card small{font-size:15px;color:var(--muted)}.trip-reference{margin:40px auto;background:var(--paper);border:0;border-radius:0}.trip-reference>summary{padding:26px 40px;font-size:20px;font-weight:600;font-family:var(--display);color:var(--navy);min-height:64px}.trip-reference .reference-section,.trip-reference .sources{margin:0;border:0;box-shadow:none}.food-grid,.rules-grid{gap:28px}.food-grid article,.rules-grid article{padding:20px 0;border:0;border-top:1px solid var(--line);background:none;border-radius:0}.food-grid h3,.rules-grid h3{font:600 23px/1.6 var(--display);color:var(--navy)}.rules-grid p,.sources p{font-size:16px!important;line-height:1.8;color:var(--muted)}.full-trip-section{margin:48px auto;scroll-margin-top:84px}.full-map-nodes{gap:0 24px}.full-map-nodes button{background:none;border:0;border-bottom:1px solid var(--line);border-radius:0;min-height:72px;gap:12px;padding:18px 0}.full-map-nodes strong{font-size:16px;color:var(--navy)}.full-map-nodes small{font-size:14px;color:var(--muted)}.full-map-nodes b{background:var(--soft);color:var(--orange);font-size:14px}.full-map-legend{font-size:15px;color:var(--muted)}.map-expand,.map-close{background:var(--orange);color:var(--paper);font-size:16px;min-height:48px;border-radius:6px}.review-days{padding:0 20px 16px}.review-days .day-section{margin:0 0 24px}
.mobile-dock{display:none}.dock-sheet{width:min(580px,calc(100% - 24px));max-height:80dvh;margin:auto auto 0;padding:0;border:0;border-radius:16px 16px 0 0;background:var(--paper);color:var(--ink);overflow:auto;overscroll-behavior:contain}.dock-sheet::backdrop{background:#142b246b}.dock-sheet>header{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px;background:var(--paper);border-bottom:1px solid var(--line)}.dock-sheet h2{font:600 22px/1.5 var(--display);margin:0;color:var(--navy)}.dock-sheet-close{font-size:15px;min-height:44px;padding:8px 12px;background:var(--soft);color:var(--navy);border:0;border-radius:6px;cursor:pointer}.dock-sheet-content{padding:0 20px calc(20px + env(safe-area-inset-bottom,0px))}.dock-sheet-note{font-size:15px;color:var(--muted);margin:16px 0 4px}.dock-route{padding:20px 0;border-bottom:1px solid var(--line)}.dock-route h3{font-size:19px;line-height:1.6;color:var(--navy);margin:0}.dock-route h3 span{display:block;font-size:15px;color:var(--orange);margin-bottom:4px}.dock-route p{font-size:14px;color:var(--muted);margin:6px 0 14px;line-height:1.8}.dock-route .actions .action{font-size:15px;flex:1 1 150px}.dock-map-link{font:inherit;font-size:15px;min-height:50px;padding:10px 12px;color:var(--navy);background:none;border:1px solid var(--line);border-radius:6px;cursor:pointer}.dock-map-link:hover,.dock-sheet-close:hover{background:var(--soft)}
}
@media screen and (max-width:800px){
.stop-experience,.parking-info-body{grid-template-columns:minmax(0,1fr)}.stop-copy{padding-top:4px}.day-layout .hotel-timeline{display:block}.hotel-timeline .route-preview{margin:22px 0 14px}.hotel-timeline .actions{margin:0}.itinerary-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.day-agenda{grid-template-columns:repeat(2,minmax(0,1fr))}.day-hero{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)}.hero-copy{padding:30px}.day-heading-copy h2,.day-section .hero-copy h2{font-size:26px}.day-art img{min-height:420px}
}
@media screen and (max-width:700px){
:root{--nav-h:64px}body{padding-bottom:calc(94px + env(safe-area-inset-bottom,0px))}html{scroll-padding-bottom:calc(94px + env(safe-area-inset-bottom,0px))}.jump-nav{padding:0 12px;gap:12px}.jump-nav .brand{font-size:16px;flex:0 0 auto}.jump-nav>div{flex:1;max-width:none}.jump-nav>div a{min-width:50px;padding:0 10px;height:44px;font-size:15px;flex:0 0 auto}
.cover{height:500px;margin:0 0 36px;border:0}.cover-overlay{left:24px;right:24px;bottom:34px}.cover h1{font-size:46px;line-height:1.3}.cover-date{font-size:14px}.cover-overlay>p:not(.cover-date){font-size:15px}.cover-start{font-size:15px}.overview{margin:0 20px 40px;padding:0}.section-heading h2{font-size:28px}.section-heading span{font-size:14px;margin-bottom:18px}.itinerary-overview{display:flex;overflow:auto;scroll-snap-type:x proximity;gap:18px;padding-bottom:12px}.itinerary-row{min-width:240px;flex:0 0 80%;scroll-snap-align:start}.itinerary-row>img{height:160px}.itinerary-row h3{font-size:18px}.itinerary-row p{font-size:14px}.route-policy{font-size:14px;margin-top:14px}.overview-note{font-size:13px}
.day-section{margin:40px 0;scroll-margin-top:76px;border:0}.day-hero{display:flex;flex-direction:column;min-height:0}.day-art{order:0;width:100%;height:180px}.day-art img{width:100%;height:180px;min-height:0;object-fit:cover}.hero-copy{order:1;position:relative;inset:auto;display:grid;grid-template-columns:84px minmax(0,1fr);align-items:center;gap:20px;padding:24px 22px;min-height:170px}.journey-date{gap:6px}.journey-date>small{font-size:12px;letter-spacing:0;white-space:nowrap}.journey-date>b{font-size:64px;line-height:1}.journey-date>b>span{font-size:12px;margin-left:4px}.journey-date>div{gap:6px;flex-wrap:wrap}.journey-date small{font-size:12px}.day-status:not(:empty){font-size:11px;padding:1px 5px}.day-heading-copy h2,.day-section .hero-copy h2{font-size:22px;line-height:1.65}.day-accordion>summary:after{inset:12px 12px auto auto;width:40px;height:40px;font-size:24px}.day-accordion:not([open])>.day-hero{display:block;min-height:140px}.day-accordion:not([open]) .day-art{display:none}.day-accordion:not([open]) .hero-copy{display:grid;grid-template-columns:75px minmax(0,1fr);gap:16px;padding:20px 52px 20px 20px;min-height:140px}.day-accordion:not([open]) .journey-date>b{font-size:52px}.day-accordion:not([open]) .hero-copy h2{font-size:19px}
.day-facts{grid-template-columns:minmax(0,1fr)}.day-facts>div{padding:16px 22px;gap:5px}.day-facts>div+div{border-left:0;border-top:1px solid var(--line)}.day-facts b{font-size:13px}.day-facts span{font-size:16px;line-height:1.8}.day-focus{padding:20px 22px 0;font-size:16px}.weather-mini-row{margin:10px 22px 20px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px}.weather-mini-place{display:flex;flex-direction:column;align-items:flex-start;gap:3px}.weather-mini-place>small{font-size:13px}.weather-badge{font-size:13px}.weather-refresh-status{grid-column:1/-1}.day-agenda{margin:0 22px 28px;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.day-agenda a{min-height:86px;padding:12px 0}.day-agenda a>span{font-size:13px}.day-agenda strong{font-size:14px}.day-layout{padding:0 22px 30px}.chapter-heading{padding-bottom:16px;margin-bottom:24px}.chapter-heading span{font-size:24px}.day-entry-actions{margin-bottom:24px}
.stop-card{margin-bottom:36px;padding-bottom:32px;scroll-margin-top:76px}.stop-header{margin-bottom:18px}.stop-heading{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 14px}.stop-time{font-size:29px;line-height:1.2;flex:0 0 auto}.stop-heading h3,.stop-card h3{font-size:23px;line-height:1.6;flex:1 1 210px}.stop-meta-line{margin:8px 0 0;gap:10px}.stop-duration{font-size:14px}.recommendation-stars{font-size:17px;letter-spacing:2px}.stop-experience{display:block}.stop-visual{margin:0 -22px}.stop-visual>img{width:100%;aspect-ratio:3/2;border-radius:0}.stop-photo-frame{border-radius:0}.photo-credit{padding:8px 22px;font-size:12px}.stop-copy{padding:20px 0 0}.stop-copy>.scene-intro{font-size:17px;line-height:1.95;margin-bottom:16px}.stop-copy>.visit-advice,.stop-copy>.choice{font-size:15px;line-height:1.85}.ticket-info{padding:14px;margin-top:16px}.ticket-info .ticket-body p{font-size:15px}.ticket-info .action{font-size:15px}.extra-scene{margin:22px -22px 0;max-width:none}.extra-scene img{border-radius:0}.extra-scene figcaption{padding:8px 22px 0;font-size:13px}
.parking-info{margin-top:24px;padding:0}.parking-info-body{display:grid;grid-template-columns:minmax(0,1fr);gap:24px}.parking-copy{padding-top:16px}.parking-info h4{font-size:18px}.parking-info p,.parking-info .parking-address{font-size:15px}.parking-info .parking-check{font-size:13px}.parking-info .actions .action{flex:1 1 100%;width:100%;min-height:52px}.parking-source{font-size:14px}.route-preview{scroll-margin-top:76px}.route-preview-heading strong{font-size:17px}.route-preview-heading p{font-size:14px}.route-preview small{font-size:12px}.route-preview iframe{height:260px}.toll-free-badge{font-size:12px;margin-left:5px}.actions .action{flex:1 1 auto;min-width:0}.actions.compact{display:flex;gap:10px}
.day-layout .hotel-timeline{padding:24px 18px;margin:0 -4px 32px;display:block;scroll-margin-top:76px}.hotel-timeline .hotel-step{font-size:19px}.hotel-timeline .lodging-copy h3{font-size:23px}.hotel-timeline .lodging-copy p,.hotel-timeline .lodging-notes{font-size:16px}.hotel-timeline .route-preview{margin:22px 0 14px}.hotel-timeline .actions{margin:0}.hotel-timeline .action{width:100%;min-height:52px}.rental-panel,.day-main>.rental-panel,.travel-transfer-card{padding:24px 18px;margin:24px 0}.rental-panel .rental-heading{flex-wrap:wrap}.rental-panel h3,.travel-transfer-card h3{font-size:24px}.day-plan>summary,.alternative-stops>summary,.roadside-parks>summary{font-size:16px}.roadside-parks article{padding:20px 0}.roadside-parks h3{font-size:23px}
.reference-section,.full-trip-section{margin:32px 0;padding:28px 22px}.hotel-card{display:block}.hotel-card .actions{margin-top:16px}.hotel-card h4{font-size:22px}.hotel-card p{overflow-wrap:anywhere}.trip-reference{margin:32px 0}.trip-reference>summary{padding:24px 22px;font-size:20px}.trip-reference .reference-section{padding:26px 22px}.food-grid,.rules-grid{grid-template-columns:minmax(0,1fr)}.full-map-nodes{grid-template-columns:minmax(0,1fr);gap:0}.full-map-legend{font-size:14px;gap:12px}.map-expand{margin-left:0;font-size:15px}.review-days{padding:0 12px 12px}
.mobile-dock{position:fixed;z-index:25;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;padding:8px 12px calc(8px + env(safe-area-inset-bottom,0px));background:var(--paper);border-top:1px solid var(--line);box-shadow:0 -4px 20px #273f3410}.mobile-dock>a,.mobile-dock>button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:60px;padding:6px;border:0;border-radius:6px;background:none;color:var(--navy);font:600 13px/1.5 var(--reading);text-decoration:none;cursor:pointer;white-space:nowrap}.mobile-dock svg{width:22px;height:22px;stroke-width:1.7}.mobile-dock>.dock-navigation{background:var(--orange);color:var(--paper)}.mobile-dock>a:hover,.mobile-dock>button:hover{background:var(--soft);color:var(--navy)}.mobile-dock>.dock-navigation:hover{background:var(--navy);color:var(--paper)}.mobile-dock>a:active,.mobile-dock>button:active{transform:translateY(1px)}.dock-sheet h2{font-size:20px}.dock-route h3{font-size:18px}
}
@media screen and (max-width:350px){.hero-copy{grid-template-columns:74px minmax(0,1fr);gap:14px;padding-inline:18px}.day-heading-copy h2,.day-section .hero-copy h2{font-size:20px}.day-layout{padding-inline:18px}.stop-visual,.extra-scene{margin-inline:-18px}.photo-credit,.extra-scene figcaption{padding-inline:18px}.actions .action{font-size:14px;padding-inline:12px}.ticket-info .action{white-space:normal}.cover h1{font-size:42px}}
@media(prefers-reduced-motion:reduce){.action{transition:none}*{scroll-behavior:auto!important}}
.stop-photo-frame.fish-ladder-screenshot{position:relative;width:100%;aspect-ratio:804/230;overflow:hidden}.stop-photo-frame.fish-ladder-screenshot img{position:absolute;display:block;width:108.20896%;max-width:none;height:auto;left:-6.71642%;top:-49.56522%;border-radius:0}
@media print{.mobile-dock,.dock-sheet,.skip-link,.day-agenda,.day-art{display:none!important}.stop-experience{display:block}.stop-visual>img{max-width:100%;height:auto}.stop-header{break-after:avoid}.stop-time{position:static}.parking-info-body{display:block}}

/* Motion is feedback, never a requirement for reading. */
@media screen{
.action:active,.mobile-dock>a:active,.mobile-dock>button:active,.map-expand:active,.map-close:active,.dock-map-link:active,.dock-sheet-close:active{transform:scale(.97);box-shadow:inset 0 2px 5px #26332c20}
.dock-sheet>header{padding-top:44px;touch-action:none;cursor:grab}.dock-sheet>header:active{cursor:grabbing}.sheet-handle{position:absolute;top:2px;left:calc(50% - 36px);width:72px;height:44px;min-height:44px;border:0;background:transparent;cursor:grab;touch-action:none;padding:0}.sheet-handle:before{content:'';display:block;width:36px;height:4px;border-radius:3px;margin:auto;background:var(--line)}
.full-map-dialog.map-in-motion{background:transparent;overflow:visible}.map-in-motion .map-dialog-bar{visibility:hidden}.full-map-home{overflow:visible}
}
@media(prefers-reduced-motion:reduce){.action:active,.mobile-dock>a:active,.mobile-dock>button:active,.map-expand:active,.map-close:active,.dock-map-link:active,.dock-sheet-close:active{transform:none}.dock-sheet,.full-map-dialog,#full-route-map{animation:none!important;transition:none!important}}

.grocery-current{padding:18px 0 20px;border-bottom:1px solid var(--line)}.grocery-current p,.grocery-footnote{font-size:14px;line-height:1.8;color:var(--muted)}.grocery-current .action{width:100%;justify-content:center}.grocery-store .grocery-address{font-size:16px;color:var(--ink);overflow-wrap:anywhere}.grocery-footnote{margin:18px 0 0}.grocery-store .actions{gap:10px}

.rental-office-float{position:fixed;right:20px;bottom:24px;z-index:26;display:flex;align-items:center;gap:9px;min-height:48px;max-width:calc(100% - 32px);padding:12px 18px;border:1px solid #fffcf65c;border-radius:28px;background:var(--navy);color:var(--paper);box-shadow:0 4px 16px #142b2438;font:600 15px/1.5 var(--reading);cursor:pointer}.rental-office-float svg{width:20px;height:20px;flex-shrink:0}.rental-office-float:hover{background:var(--orange)}.rental-office-float:focus-visible{outline:3px solid var(--orange);outline-offset:3px}.rental-office-help ul{padding-left:22px;font-size:16px;line-height:1.85}.rental-office-help li+li{margin-top:8px}.rental-office-english{padding:14px;background:var(--soft);color:var(--ink)!important;font-size:16px!important}.rental-office-policy{display:inline-flex;align-items:center;min-height:44px;color:var(--navy);font-size:14px}
@media screen and (max-width:700px){.rental-office-float{right:16px;bottom:calc(90px + env(safe-area-inset-bottom,0px))}body{padding-bottom:calc(156px + env(safe-area-inset-bottom,0px))}html{scroll-padding-bottom:calc(156px + env(safe-area-inset-bottom,0px))}}
@media print{.rental-office-float{display:none!important}}

.rental-staff-message{padding:20px 0 8px;font-family:var(--reading);color:var(--ink)}.rental-staff-message h3{font-size:24px;line-height:1.35;margin:0 0 20px;color:var(--navy)}.rental-staff-message p{font-size:19px;line-height:1.65;margin:0 0 18px}.rental-staff-message strong{color:var(--navy)}.rental-show-english,.rental-english-back{cursor:pointer;min-height:48px;font:600 16px/1.5 var(--reading)}

.rental-office-float[hidden],.rental-task-restore[hidden]{display:none!important}.rental-task-done{min-height:48px;cursor:pointer;font:600 16px/1.5 var(--reading);margin-top:14px}.rental-task-recovery{text-align:center;padding:0 20px 24px}.rental-task-restore{min-height:48px;padding:10px 16px;background:transparent;color:var(--navy);border:1px solid var(--line);border-radius:6px;font:inherit;font-size:14px;cursor:pointer}@media screen and (max-width:700px){body.rental-task-complete{padding-bottom:calc(94px + env(safe-area-inset-bottom,0px))}}

.rental-staff-message h4{font-size:19px;line-height:1.5;margin:26px 0 10px;color:var(--navy);border-top:1px solid var(--line);padding-top:18px}

.rental-office-float>img{display:block;width:110px;height:22px;object-fit:contain;flex-shrink:0}.rental-office-float{gap:12px}

.nearby-intro{font-size:16px;line-height:1.8;margin:20px 0;color:var(--ink)}.nearby-group{margin:24px 0}.nearby-group h3{font-size:19px;color:var(--navy);margin:0 0 12px}.nearby-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.nearby-choice{display:flex;flex-direction:column;justify-content:center;gap:6px;min-height:82px;padding:14px;text-align:left;text-decoration:none;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--navy);font-family:var(--reading);cursor:pointer}.nearby-choice strong{display:flex;justify-content:space-between;gap:8px;font-size:17px;line-height:1.5}.nearby-choice strong>span{font-size:16px}.nearby-choice>span{font-size:14px;line-height:1.6;color:var(--ink)}.nearby-choice:hover{background:var(--soft);border-color:var(--navy)}.nearby-choice:focus-visible{outline:3px solid var(--orange);outline-offset:2px}.nearby-choice:active{background:var(--soft)}.nearby-group:first-of-type .nearby-choice:first-child{background:var(--navy);color:var(--paper);border-color:var(--navy)}.nearby-group:first-of-type .nearby-choice:first-child>span{color:var(--paper)}.nearby-tip{font-size:14px;line-height:1.75;color:var(--ink);margin:12px 0}.nearby-parking-checks{padding-left:22px;font-size:17px;line-height:1.85}.nearby-parking-checks li{margin-bottom:12px}.nearby-back,.nearby-full-map{margin-top:16px}

.dock-sheet:has(.nearby-grid){max-height:90dvh}.nearby-grid .nearby-choice{min-height:74px;padding:12px}.nearby-group{margin:18px 0}.nearby-intro{margin:16px 0}.nearby-group h3{margin-bottom:10px}

@media screen and (max-width:350px){.nearby-choice strong{font-size:16px;gap:4px}.nearby-choice>span{font-size:13px}.nearby-grid .nearby-choice{padding:10px}}

.rental-task-done[hidden]{display:none!important}.rental-complete-confirm{margin:20px 0;padding:18px 0;border-top:1px solid var(--line)}.rental-complete-confirm h3{margin:0 0 10px;font-size:20px;line-height:1.6;color:var(--navy)}.rental-complete-confirm p{font-size:16px;line-height:1.8;color:var(--ink)}.rental-complete-confirm button{min-height:48px;cursor:pointer;font:600 16px/1.5 var(--reading)}.rental-complete-confirm .actions{gap:16px;flex-direction:column}.nearby-rental{width:100%;text-align:left;font-weight:600;margin-bottom:2px}

.rental-complete-confirm .actions .action{flex:0 0 auto;width:100%;min-height:48px}

/* Fast travel actions: one main action, compact secondary controls. */
.next-stop{margin:12px 0 0;padding:16px;background:var(--soft);border-bottom:0;border-radius:12px}.next-stop h3{font-size:22px;line-height:1.45}.next-stop .actions{display:block;margin:12px 0 8px}.next-stop .actions .action{width:100%;min-height:52px;font-size:17px}.dock-route .route-plan-meta{margin:6px 0 12px;line-height:1.6;color:var(--muted)}.route-secondary-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.route-secondary-actions button{min-height:48px;margin:0;padding:8px;font-size:15px}.stop-progress{border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--navy);font:600 15px/1.5 var(--reading);cursor:pointer}.stop-progress[aria-pressed="true"]{color:var(--muted);font-weight:400}.navigation-remaining .dock-route{padding:16px 0}.navigation-remaining h3{font-size:18px}.navigation-finished{padding:16px 0;color:var(--navy)}
.progress-feedback:empty{display:none}.progress-feedback{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:12px 0;font-size:15px;line-height:1.65;color:var(--navy)}.progress-undo{min-height:44px;padding:8px 12px;background:var(--navy);color:var(--paper);border:0;border-radius:6px;cursor:pointer;font:600 15px/1.5 var(--reading)}
.hotel-shortcut h3{font-size:25px;overflow-wrap:anywhere}.hotel-shortcut .hotel-shortcut-address{font-size:18px;color:var(--navy)}.hotel-shortcut .action{min-height:52px;width:100%;font-size:18px}.hotel-shortcut .dock-map-link{width:100%}.next-stop-label{display:block;color:var(--orange);font-size:15px;font-weight:700;margin-bottom:8px}
.dock-sheet-close{flex-shrink:0;white-space:nowrap}.dock-sheet>header h2{min-width:0}.dock-sheet:has(.next-stop)>header{padding:28px 20px 12px}.dock-sheet:has(.next-stop) .sheet-handle{height:24px;min-height:24px}
.day-now{padding:20px 0;margin:0 40px 24px;border-bottom:1px solid var(--line)}.day-next-heading{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.day-next-heading h3{font:600 24px/1.5 var(--display);color:var(--navy);margin:0}.day-next-heading>span{font-size:15px;color:var(--muted);white-space:nowrap}.day-next-actions{display:flex;gap:12px;margin-top:12px;flex-wrap:wrap}.day-next-actions>*{min-height:48px}.day-next-actions .action{font-size:16px}.day-now .weather-mini-row{margin:16px 0;padding:0;border:0;background:none}.day-hotel-shortcut{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:baseline;gap:12px;min-height:48px;padding:12px 0 0;border:0;border-top:1px solid var(--line);background:none;color:var(--navy);text-align:left;cursor:pointer;font:16px/1.6 var(--reading)}.day-hotel-shortcut>span:first-child{color:var(--muted);font-size:14px}.day-hotel-shortcut strong{font-weight:600;overflow-wrap:anywhere}.day-hotel-shortcut>span:last-child{font-size:22px}
@media screen and (max-width:600px){.day-now{padding:12px 0;margin-bottom:20px}.day-next-heading{display:block}.day-next-heading h3{font-size:22px}.day-next-heading>span{display:block;margin-top:4px}.day-next-actions{gap:8px}.day-next-actions>*{flex:1 1 130px;padding:8px!important;font-size:14px!important}.day-hotel-shortcut{grid-template-columns:minmax(0,1fr) auto;gap:4px 12px}.day-hotel-shortcut>span:first-child{grid-column:1}.day-hotel-shortcut strong{grid-column:1;font-size:16px}.day-hotel-shortcut>span:last-child{grid-column:2;grid-row:1 / 3;align-self:center}.dock-sheet:has(.next-stop) h2{font-size:19px}}
@media print{.day-now,.progress-feedback{display:none!important}}

@media screen and (max-width:700px){.day-section[open] .day-art,.day-section[open] .day-art img{height:140px}.day-section[open] .hero-copy{min-height:132px;padding:18px 22px;gap:16px}.day-now{margin-inline:22px}.day-next-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.day-next-actions>*{min-width:0}.day-now .weather-mini-row{position:relative;grid-template-columns:repeat(2,minmax(0,1fr)) 44px;gap:8px;margin:12px 0}.day-now .weather-refresh{grid-column:3;grid-row:1 / 3;align-self:center}.day-now .weather-mini-place{gap:1px}.day-now .weather-refresh-status{grid-column:1 / -1}.day-now .weather-refresh-status:empty{display:none}.day-hotel-shortcut{padding-top:8px}}
@media screen and (max-width:350px){.day-now{margin-inline:18px}.day-next-heading h3{font-size:20px}.day-section[open] .hero-copy{min-height:124px;padding:16px 18px;grid-template-columns:68px minmax(0,1fr);gap:12px}.day-section[open] .day-art,.day-section[open] .day-art img{height:120px}.day-section[open] .hero-copy h2{font-size:19px}.day-now .weather-mini-place>small,.day-now .weather-badge{font-size:12px}.day-now .weather-badge{padding:2px 5px}}

.navigation-remaining .navigation-group-title{font-size:16px;font-weight:600;margin:20px 0 0;color:var(--navy)}.navigation-completed{margin-top:20px;border-top:1px solid var(--line)}.navigation-completed>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding:12px 0;cursor:pointer;font:600 16px/1.5 var(--reading);color:var(--navy)}.navigation-completed>summary>span{font-weight:400;font-size:14px;color:var(--muted)}.navigation-completed .dock-route{padding:16px 0}.navigation-completed h3{font-size:18px}.navigation-completed .action.secondary{background:var(--paper);color:var(--navy);border:1px solid var(--line)}

/* Each stop starts with a photograph and its own readable title overlay. */
@media screen{
.stop-card{margin-bottom:32px;padding:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--paper)}.stop-card .stop-experience{gap:0}.stop-card .stop-visual{margin:0}.stop-photo-shell{position:relative;width:100%;min-width:0;isolation:isolate;overflow:hidden;min-height:260px;background:var(--navy)}.stop-photo-shell>img{display:block;width:100%;height:auto;min-height:260px;aspect-ratio:3/2;object-fit:cover}.stop-photo-shell:after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,transparent 15%,#07120f35 40%,#07120fe8 72%,#07120ff5 100%)}.stop-photo-shell .stop-header{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:20px;margin:0;color:#fff}.stop-photo-shell .stop-heading{display:block;margin:0}.stop-photo-shell .stop-time{font:600 17px/1.5 var(--reading);color:#fff;margin:0 0 4px}.stop-photo-shell .stop-heading h3{font:600 25px/1.4 var(--display);color:#fff;letter-spacing:0;margin:0;text-wrap:pretty}.stop-photo-shell .stop-meta-line{margin:8px 0 0;gap:12px;flex-wrap:wrap}.stop-photo-shell .stop-duration{font-size:14px;color:#fff}.stop-photo-shell .recommendation-stars{color:#ffe1a1;font-size:17px;letter-spacing:2px}.stop-photo-shell .place-link,.stop-photo-shell .place-link:hover{color:#fff;text-decoration-color:#ffffffaa}.stop-photo-shell .place-link:focus-visible{outline-color:#ffe1a1;outline-offset:3px}.stop-visual>.photo-credit{padding:8px 20px;margin:0;font-size:12px}.stop-card .stop-copy{padding:20px 24px}.stop-card>.parking-info{margin:0 24px 24px;padding-top:20px}.stop-card>.extra-scene{margin:0 24px 24px}.stop-photo-shell:has(.fish-ladder-screenshot){aspect-ratio:3/2}.stop-photo-shell>.fish-ladder-screenshot{position:absolute;top:50%;left:0;transform:translateY(-50%) scale(2.8);transform-origin:center}
}
@media screen and (max-width:800px){.stop-card .stop-experience{display:block}.stop-card .stop-copy{padding:18px 20px}.stop-card>.parking-info{margin:0 20px 20px}.stop-card>.extra-scene{margin:0 20px 20px}}
@media screen and (max-width:700px){.stop-card{margin:0 -6px 28px}.stop-photo-shell .stop-header{padding:18px}.stop-photo-shell .stop-heading h3{font-size:23px}.stop-card>.parking-info .parking-copy{padding-top:0}.stop-card .stop-copy>.scene-intro{font-size:17px;line-height:1.85}.stop-card .extra-scene img{border-radius:6px}.stop-card .extra-scene figcaption{padding-inline:0}}
@media screen and (max-width:350px){.stop-photo-shell .stop-heading h3{font-size:21px}.stop-photo-shell .stop-header{padding:16px}.stop-card .stop-copy{padding:16px}.stop-card>.parking-info,.stop-card>.extra-scene{margin-inline:16px}}

@media screen and (max-width:350px){.stop-photo-shell>.fish-ladder-screenshot{transform:translateY(-50%) scale(3.2)}}

/* Functional surfaces: reading / weather / admission / route / lodging. */
@media screen{
:root{--surface-read:#f3eadb;--surface-weather:#deedf6;--surface-ticket:#f7dfbf;--surface-route:#deebe0;--surface-stay:#ecdcc7}
.day-section{background:#f8f4eb}.stop-card{background:var(--surface-read);border-color:#c7c9b8}.stop-card .stop-copy,.place-description{background:var(--surface-read)}.stop-visual>.photo-credit{background:var(--surface-read);color:#4b554b}
.stop-card .stop-weather{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;padding:10px 12px;margin:14px 0;background:var(--surface-weather);color:#203f53;border-radius:6px}.stop-card .stop-weather .weather-badge,.weather-mini-place .weather-badge{background:var(--surface-weather);color:#203f53}.stop-card .stop-weather .weather-trip-hint{margin:0;color:#203f53}.ticket-info{background:var(--surface-ticket);color:#523621}.ticket-info .ticket-body p{color:#523621}.ticket-info>strong{color:#73381f}
.stop-card>.parking-info{margin:0;padding:20px 24px 24px;background:var(--surface-route);border-top:1px solid #b7cbbb}.stop-card>.parking-info .parking-copy{padding-top:0;border:0}.stop-card .parking-info h4,.stop-card .parking-info p,.stop-card .parking-info .parking-address,.stop-card .parking-info .parking-check,.stop-card .parking-source{color:#294335}.stop-card .parking-route .route-preview-heading{background:none}.toll-free-badge{background:#c3d8c8;color:#263f30}.day-facts{background:var(--surface-route)}.day-brief{background:var(--surface-read)}.day-layout .hotel-timeline{background:var(--surface-stay);border-color:#c3ad8d}.hotel-shortcut{background:var(--surface-stay);padding:20px 16px;margin-top:16px;border:0;border-radius:8px}.day-hotel-shortcut{background:var(--surface-stay);padding:12px;border:0;border-radius:6px}.rental-panel{background:var(--surface-route)}
.next-stop{background:var(--surface-route)}.navigation-remaining{background:var(--surface-read);padding:0 16px;margin-top:16px;border-radius:8px}.navigation-remaining .navigation-group-title{padding-top:16px;margin-top:0}.navigation-completed{background:#e8e6df;padding:0 12px;border-top:0;border-radius:6px}.progress-feedback:not(:empty){background:var(--surface-weather);padding:12px;border-radius:6px;margin-top:12px}.grocery-current{background:var(--surface-route);padding:16px;border-radius:8px}.grocery-store{background:var(--surface-read);padding:16px;margin-top:16px;border:0;border-radius:8px}.nearby-group{padding:16px;background:var(--surface-read);border-radius:8px}.nearby-group:first-of-type{background:var(--surface-route)}.nearby-group:last-of-type{background:var(--surface-ticket)}.place-parking{background:var(--surface-route);padding:16px;border:0;border-radius:6px}
}
@media screen and (max-width:800px){.stop-card>.parking-info{margin:0;padding:20px}.day-layout .hotel-timeline{margin-inline:0}}
@media screen and (max-width:350px){.stop-card>.parking-info{margin:0;padding:16px}}

/* Photograph-led chapters; forest selection, maple navigation. */
@media screen{
.day-section[open]>.day-hero{display:block;min-height:380px;isolation:isolate;background:var(--navy)!important;overflow:hidden}
.day-section[open] .day-art{position:absolute;inset:0;width:100%;height:100%;z-index:0}
.day-section[open] .day-art img{width:100%;height:100%;min-height:0;object-fit:cover}
.day-section[open]>.day-hero:before{display:block;content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,#07120f0d 10%,#07120f30 35%,#07120fe8 72%,#07120ff5 100%);pointer-events:none}
.day-section[open] .hero-copy{position:absolute;inset:auto 0 0;z-index:2;display:grid;grid-template-columns:125px minmax(0,1fr);align-items:end;gap:28px;min-height:0;padding:32px 40px;background:none;color:#fff}
.day-section[open] .journey-date{color:#fff;gap:6px}.day-section[open] .journey-date>b{font-size:88px;letter-spacing:-.03em}.day-section[open] .journey-date>b>span{font-size:15px}.day-section[open] .hero-copy h2{font-size:34px;line-height:1.5;color:#fff;text-wrap:balance}.day-section[open] .day-status:not(:empty){background:#ffe1a1;color:#293c2d}
.day-section[open]>summary:after{background:#fffcf6;color:var(--navy)}
.jump-nav>div a.is-selected{background:var(--navy);color:var(--paper)}
.action.secondary,.parking-info .action.secondary,.hotel-timeline .action.secondary{background:var(--paper);color:var(--navy);border-color:#94aa98}
.action.secondary:hover,.parking-info .action.secondary:hover,.hotel-timeline .action.secondary:hover{background:var(--navy);color:var(--paper);border-color:var(--navy)}
.stop-card{border-color:#bdc6b6}.day-layout .hotel-timeline{border-radius:12px}.day-now{padding-top:24px}.day-next-heading h3{font-size:26px}
}
@media screen and (max-width:700px){
.day-section[open]>.day-hero{min-height:290px}
.day-section[open] .day-art,.day-section[open] .day-art img{height:100%}
.day-section[open] .hero-copy{padding:22px;min-height:0;grid-template-columns:76px minmax(0,1fr);gap:16px}
.day-section[open] .journey-date>b{font-size:64px}.day-section[open] .journey-date>b>span{font-size:12px}.day-section[open] .hero-copy h2{font-size:23px;line-height:1.5}
.day-next-heading h3{font-size:22px}.day-now{padding-top:18px}
}
@media screen and (max-width:350px){
.day-section[open]>.day-hero{min-height:280px}.day-section[open] .hero-copy{padding:18px;grid-template-columns:64px minmax(0,1fr);gap:12px}.day-section[open] .journey-date>b{font-size:58px}.day-section[open] .hero-copy h2{font-size:21px}
}

@media screen{
.day-section[open] .journey-date>b{white-space:nowrap}
.day-next-actions .action.secondary,.next-stop .action.secondary,.parking-route .actions .action.secondary,.hotel-timeline .action.secondary,.hotel-shortcut .action.secondary{background:var(--orange);border-color:var(--orange);color:var(--paper)}
.day-next-actions .action.secondary:hover,.next-stop .action.secondary:hover,.parking-route .actions .action.secondary:hover,.hotel-timeline .action.secondary:hover,.hotel-shortcut .action.secondary:hover{background:var(--navy);border-color:var(--navy);color:var(--paper)}
}
@media screen and (max-width:700px){.day-section[open] .hero-copy{grid-template-columns:84px minmax(0,1fr);gap:12px}.day-section[open] .journey-date>b{font-size:58px}}
@media screen and (max-width:350px){.day-section[open] .hero-copy{grid-template-columns:72px minmax(0,1fr);gap:12px}.day-section[open] .journey-date>b{font-size:52px}}

@media screen{
.day-checks{margin:0 40px 24px;padding:18px 20px;background:var(--surface-ticket);color:#523621;border-radius:12px}.day-checks h3{font:600 20px/1.5 var(--reading);margin:0 0 10px;color:#523621}.day-checks ul{list-style:none;padding:0;margin:0}.day-checks li+li{margin-top:12px}.day-checks li{display:grid;gap:3px}.day-checks a{color:#73381f;font-weight:650;text-underline-offset:4px}.day-checks span,.day-checks p{font-size:15px;line-height:1.7;color:#523621}.day-checks p{margin:12px 0 0}.day-checks a:focus-visible{outline:2px solid #73381f;outline-offset:4px}
}
@media screen and (max-width:700px){.day-checks{margin-inline:22px;padding:16px;margin-bottom:20px}.day-checks h3{font-size:18px}}
@media screen and (max-width:350px){.day-checks{margin-inline:18px}}

@media screen{
.navigation-road-info{padding:14px 0;margin:8px 0 12px;border-block:1px solid #bdc3af;color:#523621}.navigation-road-info>strong{font-size:16px}.navigation-road-info p{margin:6px 0;font-size:16px;line-height:1.75;color:#523621}.navigation-road-info small{display:block;color:#523621;font-size:13px;line-height:1.6;margin-bottom:10px}.navigation-road-info .action.warm{background:var(--paper);color:#73381f;border-color:#73381f;min-height:44px;font-size:14px}
}

@media screen{
.navigation-park-map{margin:24px 0;padding:20px 0;border-block:1px solid var(--line);color:var(--navy)}.navigation-park-map h3{margin:0 0 12px;font:600 20px/1.5 var(--reading)}.official-park-map-open{display:block;width:100%;padding:0;border:0;background:var(--navy);color:#fff;cursor:pointer;font:600 15px/1.5 var(--reading);text-align:center}.official-park-map-open img{display:block;width:100%;height:auto}.official-park-map-open span{display:block;padding:10px}.navigation-park-map p{margin:12px 0;font-size:16px;line-height:1.75}.navigation-park-map ul,.park-map-legend{padding-left:20px;font-size:15px;line-height:1.8;color:var(--navy)}.navigation-park-map small{display:block;font-size:12px;line-height:1.7;margin-top:12px;color:var(--muted)}.park-map-destinations{display:flex;flex-wrap:wrap;gap:8px}.park-map-destinations .action{font-size:14px;min-height:48px;padding:10px}.official-park-map-zoom{max-width:100%;height:420px;overflow:auto;overscroll-behavior:contain;background:#064958}.official-park-map-zoom img{display:block;width:1200px;max-width:none;height:auto}.park-map-pan-hint{font-size:15px;color:var(--muted)}.official-park-map-zoom:focus-visible,.official-park-map-open:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
}
