/* Editorial refinement: shared rhythm, destination photography and readable details. */
:root{--muted:#58665c;--line:#d3d9cc}
::selection{background:#d8dfc9;color:#203c31}
.chapter-nav{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:23px 0}
.chapter-nav a{text-decoration:none;font-size:12px;min-height:44px;display:flex;align-items:center;gap:13px;transition:color .2s}
.chapter-nav a:hover{color:var(--rust)}.chapter-nav span{font:italic 13px Georgia,serif;color:var(--rust)}
.intro{padding:80px 0 55px}.intro-grid{gap:70px}.intro-grid>div{max-width:560px}.intro-grid p{font-size:15px;line-height:2}.intro-grid p.small{font-size:12px}
.planner-section{background:linear-gradient(135deg,#eef0e6,#e8ecdf);border-radius:12px;box-shadow:0 12px 42px #243e3307}
.planner-heading h2{font-size:28px}.overview dt{font-size:12px}.overview small{font-size:11px;line-height:1.8}.overview{padding:29px 0}.control-grid label{font-size:13px}.control-grid output{font-size:12px}.switch{font-size:13px}.switch small{font-size:11px}.optional-controls .switch{padding:8px 0}.plan-note{border-left:2px solid #a4b393;padding:2px 0 2px 15px;line-height:1.9}.planner-foot{font-size:11px}.segmented{border-radius:8px}.segmented button{border-radius:5px}
.route-panel{background:#e8ecdf;border:1px solid #d8dfcf;border-radius:10px;padding:25px}.route-photo{margin:16px 0 0;border-radius:5px;overflow:hidden;background:#f4f5ed}.route-photo img{display:block;width:100%;height:150px;object-fit:cover}.route-photo figcaption{padding:10px 12px;font-size:10px;line-height:1.7}.route-photo figcaption small{display:block;color:var(--muted);font-size:9px}.route-photo figcaption a{display:block;font-size:8px;color:var(--muted)}.map-selection{margin-top:14px}.route-panel .small{font-size:12px}.route-map{margin-top:22px}.map-point{font-size:10px}.map-point b{min-width:28px;height:28px}.map-selection strong{font-size:13px}.map-selection a{font-size:12px}
.stop summary{padding:25px 0}.stop-title .time{font-size:13px;letter-spacing:.4px}.stop-summary{font-size:13px}.stop-content{font-size:14px}.stop dl{font-size:13px;grid-template-columns:70px 1fr;gap:12px}.stop-content .link-row{font-size:12px}.stop .expand{transition:transform .22s}.stop.selected{background:linear-gradient(90deg,#e8ecdf70,transparent 65%)}.stop-content .status{font-size:10px}
.hike-section{background:linear-gradient(125deg,#e1e7d9,#e9ecdf)}.hike-photo img{height:620px;box-shadow:0 15px 40px #18382714;object-position:45% 50%}.hike-photo:after{content:'';position:absolute;inset:0;pointer-events:none;border:1px solid #fff6;border-radius:48% 48% 4px 4px}.hike-copy>p{font-size:14px;line-height:2}.hike-details{font-size:12px;line-height:2}.hike-stats{padding:25px 0}.hike-stats strong{font-size:30px}.hike-stats span{font-size:11px}.hike-copy p.small{font-size:12px}
.food-section{padding:95px 0}.food-grid{align-items:stretch;gap:24px}.food-card{display:flex;flex-direction:column;border-radius:8px;box-shadow:0 5px 22px #243e3305;transition:transform .3s,box-shadow .3s}.food-card:hover{transform:translateY(-4px);box-shadow:0 14px 36px #243e3310}.food-image{height:260px;overflow:hidden;flex-shrink:0}.food-image img{transition:transform .7s cubic-bezier(.2,.7,.3,1)}.food-card:hover .food-image img{transform:scale(1.035)}.food-image:after{background:linear-gradient(0deg,#102919b0,transparent 65%)}.food-image>span{font-size:10px;letter-spacing:1.3px}.food-body{padding:29px 25px;display:flex;flex-direction:column;flex:1}.food-body h3{font-size:26px;margin-top:11px}.food-body p{font-size:13px;line-height:1.95}.food-body .eyebrow{font-size:9px}.food-body dl{font-size:12px;border-top:1px solid var(--line);padding-top:5px;flex:1}.food-body dt{font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--rust)}.food-body dd{margin:5px 0 16px}.food-body .underlink{font-size:12px;align-self:flex-start;border-bottom:1px solid #9caa91;text-decoration:none;padding:10px 0 7px}.food-body .small{font-size:11px;margin-top:16px}
.ready-section{background:#eceee4;padding:85px 0}.ready-grid{gap:55px;align-items:start}.ready-grid>div:first-child{background:#faf9f2;border:1px solid #d5dccb;border-radius:9px;padding:28px}.packing-heading span{display:block;font-size:9px;letter-spacing:1.8px;color:var(--rust)}.packing-heading strong{display:block;font:500 21px var(--serif);margin:10px 0 20px}.packing-progress{height:4px;border-radius:5px;background:#e1e6d8;overflow:hidden;margin-bottom:8px}.packing-progress span{display:block;width:0;height:100%;background:#718567;transition:width .35s}.check-item{font-size:14px;line-height:1.7}.check-item small{font-size:11px;line-height:1.8}.practical summary{font-size:15px;padding:23px 0}.practical details>div{font-size:13px;line-height:1.95}.practical details[open]{padding-bottom:7px}.check-count{background:#faf9f2}.sources-section{padding:55px 0}.source-link{font-size:12px}.source-link span{font-size:11px}.footer{padding:35px 0 42px}.gallery-heading p{font-size:14px}.gallery-credit{font-size:10px}.gallery-location{font-size:12px}.gallery-card-topline{font-size:10px}
@media(max-width:1100px){.overview dd{font-size:25px}.overview .budget{font-size:20px}.overview small{font-size:10px}.food-body{padding:23px 20px}.food-body h3{font-size:23px}.food-image{height:220px}.hike-photo img{height:660px}.ready-grid{gap:30px}}
@media(max-width:760px){.chapter-nav{overflow-x:auto;justify-content:flex-start;gap:24px;padding:9px 0;scrollbar-width:none}.chapter-nav a{flex-shrink:0;font-size:11px;gap:8px}.intro{padding:48px 0 33px}.intro-grid{gap:22px}.intro-grid p{font-size:14px}.intro-grid p.small{font-size:11px}.planner-heading h2{font-size:23px}.overview dd{font-size:24px}.overview .budget{font-size:20px}.overview dt{font-size:11px}.overview small{font-size:10px}.overview>div{min-width:0}.control-grid label{font-size:12px}.control-grid output{font-size:11px}.switch small{font-size:11px}.planner-foot{font-size:10px}.route-panel{padding:23px}.route-photo img{height:190px}.route-panel .small{font-size:12px}.stop h3{font-size:21px}.stop-title .time{font-size:12px}.stop-summary{font-size:12px}.stop-content{font-size:13px}.stop dl{font-size:12px;grid-template-columns:55px 1fr;gap:12px}.stop summary{padding:22px 0}.hike-photo{width:94%}.hike-photo img{height:400px}.hike-copy>p{font-size:13px}.hike-stats strong{font-size:27px}.hike-stats span{font-size:10px}.food-section{padding:58px 0}.food-grid{gap:28px}.food-image{height:250px}.food-body{padding:27px 24px}.food-body h3{font-size:27px}.food-body p{font-size:14px}.food-body dl{font-size:13px}.food-section .section-heading p{font-size:12px}.ready-section{padding:50px 0}.ready-grid>div:first-child{padding:23px 20px}.ready-grid{gap:25px}.check-item{font-size:13px}.practical summary{font-size:14px}.gallery-heading p{font-size:12px}.gallery-location{font-size:11px}.gallery-credit{font-size:9px}.gallery-card-topline{font-size:9px}.gallery-foot{font-size:10px}.footer .button{min-height:54px}}
@media(prefers-reduced-motion:reduce){.food-card:hover,.food-card:hover .food-image img{transform:none}}
@media print{.chapter-nav,.route-photo,.packing-heading,.packing-progress{display:none!important}.intro,.food-section,.ready-section{padding:12px 0}.intro-grid p{font-size:10px}.intro-grid p.small{font-size:9px}.planner-section,.food-card,.ready-grid>div:first-child{box-shadow:none;border-radius:0}.food-card{display:block;transform:none!important}.food-body{display:block;padding:10px 0}.food-body h3{font-size:15px}.food-body p,.food-body dl,.food-body .small,.food-body .underlink{font-size:9px}.food-body dl{border:0;padding:0}.food-body dd{margin:2px 0}.food-image{display:none}.ready-grid>div:first-child{padding:0;border:0;background:white}.check-item{font-size:9px}.check-item small{font-size:8px}.practical summary{font-size:11px;padding:8px 0}.practical details>div{font-size:9px}.stop dl{font-size:9px}.stop-content{font-size:10px}.hike-section{background:white}.hike-copy>p,.hike-details,.hike-copy p.small{font-size:9px}.hike-stats{padding:8px 0}.hike-stats strong{font-size:17px}.hike-stats span{font-size:9px}}
@media screen and (max-width:760px){.ready-section .section-heading{display:block}.ready-section .check-count{display:inline-block;margin-top:16px}.ready-section .section-heading h2{max-width:100%}}
