.visit-intro{padding-top:1.5rem;padding-bottom:1.75rem}
.visit-intro .breadcrumb{margin-bottom:1.5rem}
.visit-intro h1{font-size:clamp(2.4rem,4vw,3.5rem);margin-bottom:1rem;line-height:1.1}
.visit-intro .lede{font-size:1.05rem}
.visit-shortcuts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-top:1.75rem}
.visit-shortcuts a{display:flex;align-items:center;gap:.7rem;border:1px solid var(--line);padding:1rem;background:#fff8;text-decoration:none;font-size:.9rem;font-weight:700;min-height:60px}
.visit-shortcuts a>span:last-child{margin-left:auto}
.visit-shortcuts a:hover{background:var(--blue);border-color:var(--ink)}
.visit-finder{padding-top:1.75rem;padding-bottom:1.75rem;background:var(--blue);border-top:2px solid var(--ink);scroll-margin-top:1rem}
.visit-finder-heading,.visit-section-heading{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;margin-bottom:1.2rem}
.visit-finder-heading h2,.visit-bookings h2,.visit-shelters h2,.visit-maps h2,.visit-before h2,.visit-help h2{font-size:clamp(1.75rem,2.6vw,2.4rem);margin-bottom:.7rem;letter-spacing:-.045em}
.visit-finder-heading h2{margin-bottom:0}
.visit-finder-heading .eyebrow{margin-bottom:.5rem}
.visit-finder-heading>.text-link{flex-shrink:0}
.visit-search{max-width:750px}
.visit-search-fields{display:flex;gap:.75rem;align-items:stretch}
.visit-search-fields>.search-combobox,.visit-search-fields>input{min-width:0;flex:1}
.visit-search input{font-size:1rem}
.visit-search button{flex-shrink:0}
.visit-help-text{font-size:.83rem;color:var(--muted);line-height:1.6;margin:1rem 0 0}
.visit-selected{background:var(--paper);border:1px solid var(--line);padding:1.5rem;margin-top:1.5rem}
.visit-selected-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem}
.visit-selected-heading h3{font-size:1.8rem;margin-bottom:.5rem}
.visit-selected-heading h3 a{text-decoration:none}
.visit-selected-heading h3 a:hover{text-decoration:underline}
.visit-selected-heading .eyebrow{margin-bottom:.5rem}
.visit-operator{font-size:.85rem;margin:0;color:var(--muted)}
.visit-selected .notice-inline{margin-top:1rem;font-size:.9rem}
.visit-quick-details{grid-template-columns:75px minmax(0,1fr);font-size:.95rem;gap:.5rem 1rem}
.visit-quick-details dd>span{display:block;margin-top:.4rem}
.visit-selected .button{font-size:.85rem}
.visit-matches{margin-top:1.5rem}
.visit-matches p{font-size:.9rem}
.visit-matches ul{padding:0;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem 2rem}
.visit-matches li{border-top:1px solid #899ca5;padding-top:.6rem}
.visit-matches li>a{display:inline-block;min-height:36px;font-weight:700}
.visit-matches li>span{display:block;font-size:.75rem;color:var(--muted)}
.visit-bookings,.visit-shelters,.visit-maps,.visit-before,.visit-help{padding-top:2.5rem;padding-bottom:2.5rem;scroll-margin-top:1rem}
.visit-section-heading>p{max-width:30rem;font-size:.95rem;margin:0}
.visit-section-heading .eyebrow{margin-bottom:.5rem}
.visit-camping-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}
.visit-camping-card{display:flex;flex-direction:column;border:1px solid var(--line);border-top:3px solid var(--ink);padding:1.5rem;background:white;min-width:0}
.visit-card-region{display:flex;align-items:center;gap:.6rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700;margin-bottom:1rem}
.visit-camping-card h3{font-size:1.5rem;margin-bottom:.9rem}
.visit-camping-card h3 a{text-decoration:none}
.visit-camping-card h3 a:hover{text-decoration:underline}
.visit-camping-card>p:not(.visit-card-region){font-size:.9rem;line-height:1.65}
.visit-camping-actions{margin-top:auto;display:flex;flex-direction:column;align-items:start;gap:.5rem}
.visit-camping-actions .button{width:100%;font-size:.85rem;padding:.8rem .75rem}
.visit-booking-service{color:var(--muted);font-size:.75rem}
.visit-camping-actions .text-link{display:inline-flex;align-items:center;min-height:44px}
.visit-shelters{border-top:1px solid var(--line)}
.visit-shelter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem;margin-top:1.5rem}
.visit-shelter-grid article{border-left:3px solid var(--orange);padding-left:1.25rem}
.visit-shelter-grid h3,.visit-before-grid h3,.visit-office h3{font-size:1.35rem;letter-spacing:-.035em}
.visit-shelter-grid p,.visit-before-grid p,.visit-help p{font-size:.95rem}
.visit-maps{border-top:1px solid var(--line)}
.visit-map-list{list-style:none;padding:0;margin:1.5rem 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 2rem}
.visit-map-list li{border-top:1px solid var(--line)}
.visit-map-list a{display:block;padding:.8rem 0;font-size:.9rem;min-height:48px}
.visit-before{background:var(--blue)}
.visit-before-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;margin-top:1.5rem}
.visit-before-grid article{min-width:0}
.visit-before-grid .text-link{display:inline-flex;align-items:center;min-height:44px}
.visit-help{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:4rem}
.visit-office{border-left:1px solid var(--line);padding-left:2rem}
.visit-companion-link{margin-top:1.5rem;margin-bottom:0}
.visit-bookings #camping,.visit-maps,.visit-shelters,.visit-before{scroll-margin-top:1rem}
@media(max-width:1000px){
 .visit-shortcuts{gap:.65rem}.visit-shortcuts a{padding:.85rem .75rem;font-size:.82rem}
 .visit-camping-grid{gap:1rem}.visit-camping-card{padding:1.2rem}
 .visit-finder-heading{align-items:start}.visit-finder-heading>.text-link{max-width:10rem}
}
@media(max-width:760px){
 .visit-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}
 .visit-camping-grid,.visit-before-grid{grid-template-columns:minmax(0,1fr);gap:1.25rem}
 .visit-camping-actions .button{width:auto}
 .visit-section-heading{display:block}.visit-section-heading>p{max-width:none}
 .visit-help{grid-template-columns:minmax(0,1fr);gap:1.5rem}
 .visit-office{border-left:0;border-top:1px solid var(--line);padding:1.5rem 0 0}
 .visit-bookings,.visit-shelters,.visit-maps,.visit-before,.visit-help{padding-top:2rem;padding-bottom:2rem}
 .visit-shelter-grid{gap:1.5rem}
}
@media(max-width:480px){
 .visit-intro{padding-top:1.25rem}.visit-intro h1{font-size:2.4rem}
 .visit-shortcuts a{gap:.45rem;font-size:.8rem;padding:.8rem .6rem}
 .visit-shortcuts a>span:last-child{display:none}
 .visit-finder-heading{display:block}.visit-finder-heading>.text-link{display:inline-block;max-width:none;margin-top:.75rem}
 .visit-search-fields{flex-wrap:wrap}.visit-search-fields>.search-combobox,.visit-search-fields>input{flex-basis:100%}
 .visit-search button{width:100%}.visit-selected{padding:1.15rem}
 .visit-selected-heading{display:block}.visit-selected-heading>.text-link{display:inline-flex;align-items:center;min-height:44px;margin-top:.5rem}
 .visit-quick-details{grid-template-columns:minmax(0,1fr);gap:.2rem}
 .visit-matches ul,.visit-map-list,.visit-shelter-grid{grid-template-columns:minmax(0,1fr)}
 .visit-selected .button-row{display:grid;grid-template-columns:minmax(0,1fr)}
 .visit-selected .button{width:100%}
}
@media print{.visit-shortcuts,.visit-search{display:none}.visit-camping-card{break-inside:avoid}}
