/* Final reflow, touch and print pass. Preserve the existing visual system. */
.skip{position:absolute;top:0;transform:translateY(-200%)}.skip:focus{top:8px;transform:none}
.search-field,.route-title>div,.info-grid>*,.source-item,.terrain-feature>div:last-child{min-width:0}
.route-title{flex-wrap:wrap}.route-title>div{flex:1 1 240px}
.route-title h2{overflow-wrap:break-word}
.print{flex-shrink:0;white-space:nowrap;min-height:44px;font-size:12px}
.examples button{min-height:36px;font-size:12px;padding:7px 12px}
.tabs button,.search-result,.text-button{min-height:44px}
.primary{background:#c9431b;min-height:44px}.primary:hover{background:#b83a16}
.info-card p,.source-item p,.weather-meta,.access-destination p,.report-highlight p{overflow-wrap:anywhere}
.profile-scroll{overflow:visible}.profile-scroll>svg{width:100%;min-width:0;height:auto}
.profile-key{grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:14px}
.profile-top{flex-wrap:wrap}.profile-top span{font-size:11px}
.profile-distance{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:0 7% 15px;font-size:11px;color:var(--muted)}
.profile-distance span:last-child{text-align:right}
.profile-terrain-key small,.mountain-profile figcaption,.fact-note,.weather-meta{font-size:11px!important}
.print-context{display:none}
.route-outline{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;list-style-position:inside;margin:28px 0;padding:0!important;color:var(--ink)!important}
.route-outline li{background:var(--pale);border-radius:8px;padding:16px;margin:0!important;font-weight:650}
.terrain-feature.terrain{background:var(--pale)}.terrain-feature.terrain .terrain-icon{color:var(--green)}
.access-notice{border-left:3px solid #c9431b;background:#f7ede0;border-radius:6px;padding:16px 18px;margin-bottom:22px}.access-notice p{margin:8px 0 0}
#search-results:not(:empty){max-height:440px;overflow-y:auto;border:1px solid var(--line);border-radius:10px;background:var(--paper);padding:12px;margin-top:14px;scroll-padding:8px}
.catalog-count{font-size:12px;color:var(--muted);margin:0 7px 8px}.search-result small{overflow-wrap:anywhere}
.examples .browse-routes{border-color:var(--green);font-weight:700}
.weather-points{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.weather-points button{font:inherit;font-size:14px;min-height:44px;padding:10px 18px;border:1px solid var(--line);border-radius:24px;background:transparent;color:var(--ink)}
.weather-points button[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}
.mountain-forecast-links{border-top:1px solid var(--line);padding:18px 0;margin:18px 0}.mountain-forecast-links h4{margin:0 0 12px}.mountain-forecast-links p{font-size:12px;color:var(--muted)}
.stat:last-child strong{font-size:23px}
@media(max-width:800px){
 .mountain-profile .landmark-label{font-size:27px}
 .mountain-profile .axis-label{font-size:19px}
 .jump.tabs{flex-wrap:wrap;overflow:visible}
 .tabs button{flex:1 0 auto;padding:12px 16px}
}
@media(max-width:700px){
 .profile-scroll .axis-label{display:none}
 #search-form{flex-wrap:wrap;gap:8px}
 .search-field{flex-basis:100%;border-bottom:1px solid var(--line);padding:6px 7px 12px}
 .date-field{border:0;flex:1 1 160px;padding:4px 7px}
 .primary{flex:0 0 auto}
 input[type=search],input[type=date]{font-size:16px;min-height:32px}
 .tabs button{font-size:13px;padding:12px}
}
@media(max-width:570px){
 .stat:last-child strong{font-size:21px}
 .mountain-profile .landmark-label{font-size:40px}
 .mountain-profile .axis-label{font-size:26px}
 .profile-key{grid-template-columns:repeat(auto-fit,minmax(90px,1fr))}
 .profile-terrain-key{align-items:start}
 .profile-terrain-key>div{min-width:0;flex:1 1 120px}
 .profile-terrain-key small{font-size:11px}
 .tabs button{flex:1 0 30%;min-height:44px}
}
@media(max-width:480px){
 .profile-scroll .axis-label{display:none}
 .profile-distance{font-size:11px;padding-bottom:14px}
 .stat strong,.stat:last-child strong{font-size:20px}
 .date-field{flex-basis:135px}.primary{padding:14px 12px}
}
@media print{
 @page{margin:13mm}
 *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
 html{scroll-behavior:auto}body{background:white;color:#12322d}
 .shell{width:100%;max-width:none}
 header,.hero,.jump,.print,footer,.text-button,.skip{display:none!important}
 .weather-period header{display:flex!important}
 .print-context{display:block;font-size:11px;color:#64756e;margin:8px 0 20px}
 .route-title{margin-bottom:10px}.route-title h2{font-size:30px}
 .stats{grid-template-columns:repeat(4,1fr);gap:8px}
 .stat{padding:12px;min-height:0}.stat strong,.stat:last-child strong{font-size:19px}
 .tab-panel,.tab-panel[hidden]{display:block!important;min-height:0;break-inside:auto;margin:15px 0;padding:20px}
 .panel-heading,h3,h4{break-after:avoid}
 .mountain-profile,.terrain-feature,.info-card,.source-item,.weather-period{break-inside:avoid}
 .profile-scroll>svg{width:100%;min-width:0;height:auto}
 .mountain-profile .axis-label{display:block;font-size:16px}
 .mountain-profile .landmark-label{font-size:22px}
 .profile-key{grid-template-columns:repeat(auto-fit,minmax(90px,1fr))}
 .terrain-features,.info-grid,.sources-list{grid-template-columns:1fr 1fr}
 .terrain-feature{padding:12px}.terrain-feature p{font-size:11px!important}
 a{overflow-wrap:anywhere}.tabs{display:none!important}
}
