/* nationalparknearme.com - own look (not the DMV or farmers market skin).
   Paper lichen grey, night-blue masthead, sunrise mark, lake-blue actions. Bitter + IBM Plex Sans. */
:root{--paper:#f1f2ee;--panel:#fff;--line:#d6dad2;--ink:#18222c;--muted:#56606a;--mast:#16283a;--mast-ink:#e9eef1;--sun:#f2b04a;
--act:#1d5d8a;--act-d:#164a6e;--open:#2c7a4b;--closed:#a6392c;--today:#fff3d6;--r:4px}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scrollbar-color:var(--act) var(--paper)}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 "IBM Plex Sans",system-ui,sans-serif;caret-color:var(--act)}
::selection{background:var(--sun);color:var(--mast)}
a{color:var(--act)}a:hover{color:var(--act-d)}img{display:block;max-width:100%}
h1,h2,h3{font-family:Bitter,Georgia,serif;font-weight:700;line-height:1.2;margin:0 0 .5em;letter-spacing:-.005em}
h1{font-size:clamp(30px,3.6vw,46px)}h2{font-size:26px}h3{font-size:19px}
.wrap{max-width:1240px;margin:0 auto;padding:0 24px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;background:#fff;padding:8px 12px;z-index:9}
:focus-visible{outline:3px solid var(--sun);outline-offset:2px}

/* masthead */
.mast{background:var(--mast);color:var(--mast-ink);border-bottom:3px solid var(--sun)}
.mast-in{display:flex;align-items:center;gap:28px;min-height:68px}
.brand{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none;font:700 20px/1 Bitter,serif;white-space:nowrap}
.brand em{font-style:normal;color:var(--sun)}.mark{width:34px;height:34px;flex:none}
.nav{display:flex;gap:20px}.nav a{color:var(--mast-ink);text-decoration:none;font-weight:500;font-size:15px}.nav a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}
.msearch{margin-left:auto;position:relative;width:min(340px,32vw)}
.msearch input{width:100%;height:40px;border:1px solid #3b5268;background:#20364b;color:#fff;border-radius:var(--r);padding:0 12px;font:inherit;font-size:15px}
.msearch input::placeholder{color:#a9b8c5}
.sugg{position:absolute;left:0;right:0;top:calc(100% + 4px);background:#fff;border:1px solid var(--line);border-radius:var(--r);z-index:20;max-height:360px;overflow:auto}
.sugg a{display:block;padding:9px 12px;color:var(--ink);text-decoration:none;border-bottom:1px solid #eceee9;font-size:15px}
.sugg a span{display:block;color:var(--muted);font-size:13px}.sugg a:hover,.sugg a.on{background:#eef4f8}
.sugg p{margin:0;padding:10px 12px;color:var(--muted);font-size:14px}
.mobile-menu{display:none;margin-left:auto;position:relative}.mobile-menu summary{display:flex;align-items:center;gap:7px;min-height:42px;padding:0 10px;border:1px solid #49627a;border-radius:var(--r);color:#fff;font-weight:600;cursor:pointer;list-style:none}
.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu summary svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.mobile-panel{position:absolute;right:0;top:calc(100% + 10px);z-index:40;width:min(340px,calc(100vw - 32px));padding:14px;background:var(--mast);border:1px solid #49627a;border-radius:var(--r);box-shadow:inset 0 3px 0 var(--sun)}
.mobile-search{position:relative}.mobile-search input{width:100%;height:44px;border:1px solid #60768a;background:#fff;color:var(--ink);border-radius:var(--r);padding:0 12px;font:inherit;font-size:15px}
.mobile-panel nav{display:grid;margin-top:10px}.mobile-panel nav a{color:#fff;text-decoration:none;font-weight:600;padding:10px 2px;border-bottom:1px solid #31495f}.mobile-panel nav a:last-child{border-bottom:0}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 20px;border-radius:var(--r);border:1px solid var(--act);background:var(--act);color:#fff;font:600 16px/1 "IBM Plex Sans",sans-serif;text-decoration:none;cursor:pointer}
.btn:hover{background:var(--act-d);color:#fff}.btn.ghost{background:#fff;color:var(--act)}.btn.ghost:hover{background:#eef4f8;color:var(--act-d)}
.btn.big{min-height:52px;font-size:17px}

.kick{font-size:13px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin:0 0 8px}
.dek{font-size:18px;color:#34404b;margin:0 0 22px}
.crumbs{font-size:14px;color:var(--muted);padding:18px 0 10px;display:flex;flex-wrap:wrap;gap:8px}.crumbs a{color:var(--muted)}

/* home hero */
.hero{background:var(--panel);border-bottom:1px solid var(--line)}
.hero-in{display:grid;grid-template-columns:1.05fr 1fr;gap:44px;align-items:center;padding-top:40px;padding-bottom:40px}
.finder{display:grid;grid-template-columns:auto 1fr;gap:12px}
.finder .qwrap{grid-column:1/-1;position:relative}
.finder select,.finder input{width:100%;height:52px;border:1px solid #b9c0b6;border-radius:var(--r);background:#fff;font:inherit;padding:0 14px;color:var(--ink)}
.loc-msg{margin:12px 0 0;color:var(--muted)}
.hero-fig{margin:0}.hero-fig img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r)}
figcaption{font-size:13px;color:var(--muted);margin-top:8px}figcaption span{white-space:nowrap}

.band{padding-top:44px;padding-bottom:12px}
.two{display:grid;grid-template-columns:1fr 1.5fr;gap:40px;align-items:baseline;border-top:2px solid var(--ink);padding-top:18px;margin-bottom:18px}
.two h2{margin:0}.two p{margin:0;color:#34404b}
.sec{font-size:22px;border-top:2px solid var(--ink);padding-top:16px;margin:32px 0 14px}
.near{padding-top:8px}

/* park rows (compact, no cards) */
.rows{list-style:none;margin:0;padding:0}
.rows.cols{display:grid;grid-template-columns:repeat(3,1fr);column-gap:32px}
.rows li{border-bottom:1px solid var(--line);min-width:0}
.prow{display:grid;grid-template-columns:96px 1fr auto;gap:14px;align-items:center;padding:12px 0;text-decoration:none;color:var(--ink)}
.prow:hover strong{color:var(--act);text-decoration:underline}
.th img,.th-none{width:96px;height:72px;object-fit:cover;border-radius:3px;background:#dfe4dc}
.th-none{display:block;background:linear-gradient(160deg,#cfd8cf,#b8c7c0)}
.pt{min-width:0}.pt strong{display:block;font-weight:600;line-height:1.3}
.pm,.pf{display:block;font-size:14px;color:var(--muted);line-height:1.4}.pf{color:#34404b}
.pd{font-weight:600;font-size:15px;white-space:nowrap;color:var(--ink)}

.stlist{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);column-gap:32px}
.stlist li{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:9px 0}
.stlist a{text-decoration:none;font-weight:500}.stlist a:hover{text-decoration:underline}.stlist span{color:var(--muted)}
.kinds{list-style:none;margin:0 0 40px;padding:0;display:grid;grid-template-columns:repeat(3,1fr);column-gap:32px}
.kinds li{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:9px 0}.kinds strong{font-weight:600}

/* park page */
.ph{margin-bottom:18px}.ph h1{margin:0}.ph-meta{margin:8px 0 0;color:var(--muted);font-weight:500}
.top{display:grid;grid-template-columns:7fr 5fr;gap:28px;align-items:stretch;margin-bottom:28px}
/* the photo takes the height of the status panel beside it, so neither side has a gap */
.top .hero-fig{display:flex;flex-direction:column;min-height:0}
.top .hero-fig img{flex:1 1 auto;height:0;min-height:340px;width:100%;object-fit:cover}
.nophoto{background:var(--mast);color:var(--mast-ink);border-radius:var(--r);display:flex;align-items:flex-end;padding:32px;font:600 22px/1.4 Bitter,serif;min-height:320px}
.nophoto p{margin:0}
.now{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:24px 26px;display:flex;flex-direction:column;box-shadow:inset 0 6px 0 var(--act)}
.now-w{margin:4px 0 2px;font:700 38px/1.1 Bitter,serif}
.now.is-open{box-shadow:inset 0 6px 0 var(--open)}.now.is-open .now-w{color:var(--open)}
.now.is-closed{box-shadow:inset 0 6px 0 var(--closed)}.now.is-closed .now-w{color:var(--closed)}
.now-l{margin:0 0 16px;font-size:17px}
.facts{margin:0 0 20px;border-top:1px solid var(--line)}
.facts div{display:grid;grid-template-columns:120px 1fr;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}
.facts dt{color:var(--muted);font-size:15px}.facts dd{margin:0}
.acts{display:flex;flex-wrap:wrap;gap:10px}.acts .btn{flex:1 1 160px}
.section-nav{position:sticky;top:0;z-index:12;display:flex;gap:4px;overflow-x:auto;margin:0 0 8px;padding:8px;background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line);scrollbar-width:thin}
.section-nav a{flex:none;padding:7px 11px;color:var(--ink);font-size:14px;font-weight:600;text-decoration:none;border-radius:var(--r)}.section-nav a:hover{background:#e4e8e1;color:var(--act)}
.now,.blk,.side{scroll-margin-top:70px}

.lay{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:40px;margin-top:8px}
.lay>*{min-width:0;overflow-wrap:break-word}
.blk{border-top:1px solid var(--line);padding:22px 0 6px}.blk h2{font-size:24px}.blk p{margin:0 0 14px}
.hblock{margin-bottom:22px}.hblock h3{font-size:18px;margin-bottom:4px}.hn{color:#34404b;font-size:15px}
.hgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));column-gap:32px}
.week{border-collapse:collapse;width:100%}
.week th,.week td{text-align:left;padding:7px 10px;border-bottom:1px solid var(--line);font-weight:400}
.week th{width:40%;color:#34404b}.week tr.today{background:var(--today)}.week tr.today th,.week tr.today td{font-weight:600;color:var(--ink)}
.exc-h{font-weight:600;margin:14px 0 4px}.exc{margin:0;padding-left:20px;font-size:15px}
.fees{border-collapse:collapse;width:100%}.fees th,.fees td{text-align:left;vertical-align:top;padding:10px 12px 10px 0;border-bottom:1px solid var(--line);font-weight:400}
.fees th{font-weight:600;width:28%}.fees td:nth-child(2){font-weight:600;white-space:nowrap;width:10%}.fees td:last-child{color:#34404b;font-size:15px}
.small{font-size:14px;color:var(--muted)}
.src{font-size:14px;color:var(--muted);border-top:1px solid var(--line);padding-top:14px;margin-top:10px}
.rail .side{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:18px 18px 12px;margin-bottom:24px}
.side h2{font-size:19px;margin-bottom:2px}.mt{font-size:14px;color:var(--muted);margin:0 0 6px}
.side .prow{grid-template-columns:64px 1fr auto;gap:10px;padding:10px 0}.side .th img,.side .th-none{width:64px;height:48px}
.side .rows li:last-child{border-bottom:0}.more{display:block;font-weight:600;padding:8px 0 4px;text-decoration:none}

/* state page */
.sh{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:8px}.sh h1{margin-bottom:6px}.sh .dek{margin:0}
.locate{flex:none}
.leadgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:32px}
.leadgrid .house-ad{grid-column:1/-1;margin:20px auto}
.leads .lead{min-width:0;display:grid;grid-template-columns:44% minmax(0,1fr);gap:20px;padding:18px 0;border-bottom:1px solid var(--line);align-items:center}
.lead-img img,.lead-none{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:var(--r)}
.lead-none{display:flex;align-items:center;justify-content:center;background:var(--mast)}.lead-none .mark{width:64px;height:64px}
.lead h3{font-size:21px;margin:0 0 6px}.lead h3 a{color:var(--ink);text-decoration:none}.lead h3 a:hover{color:var(--act);text-decoration:underline}
.lead-kind{font-size:13px;font-weight:600;color:var(--muted);margin:0 0 6px}
.lead p{margin:0 0 8px}.lead-f{font-weight:600}.lead .dist{font-weight:600;color:var(--act)}
.grp h3{font-size:18px;margin:22px 0 4px}.grp h3 span{color:var(--muted);font-weight:600;font-family:"IBM Plex Sans",sans-serif;font-size:15px;margin-left:6px}
.rest{margin-bottom:10px}
.state .house-ad.banner,.park .house-ad.banner{margin-top:28px}

.prose{max-width:900px;padding-top:28px;padding-bottom:48px}.prose p{font-size:18px;max-width:75ch}.prose h2{margin-top:28px}

/* house ads: sizes as approved on the other directories */
.house-ad{margin:0 0 28px;min-width:0}.ad-label{font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin:0 0 7px}
.house-ad .hu-box{height:200px;width:100%;max-width:none}.rectangle .hu-box{height:250px;width:300px;max-width:100%}
.house-ad.banner{width:100%;max-width:980px;margin-inline:auto}.house-ad.banner .hu-box{height:200px}
.house-ad a:focus-visible{outline:3px solid var(--sun);outline-offset:-4px}
.mobile-only{display:none}.all-np{display:inline-flex;margin:20px 0 8px}
.rail .rectangle{display:flex;flex-direction:column;align-items:center}

/* footer */
.foot{background:var(--mast);color:#c4d0da;margin-top:48px;padding:36px 0;font-size:15px}
.foot-in{display:grid;grid-template-columns:1fr 1.4fr;gap:40px}.foot .brand{color:#fff;margin-bottom:12px}.foot a{color:#fff}.foot p{margin:0 0 10px}

@media (max-width:1080px){.rows.cols{grid-template-columns:repeat(2,1fr)}.stlist{grid-template-columns:repeat(3,1fr)}.lay{grid-template-columns:minmax(0,1fr) 300px;gap:28px}}
@media (max-width:860px){
 .msearch,.mast-in>.nav{display:none}.mobile-menu{display:block}.mast-in{gap:16px;min-height:64px;padding-top:8px;padding-bottom:8px}
 .hero-in,.top,.lay,.two,.foot-in{grid-template-columns:minmax(0,1fr);gap:20px}.hero-in{padding-top:24px;padding-bottom:28px}
 .top .hero-fig img{height:auto;flex:none;min-height:0;aspect-ratio:3/2}
 .desktop-only{display:none}.mobile-only{display:block}
 .top .now{order:-1}.top .top-ad{order:0;margin:0}.top .hero-fig{order:1}
 .hero .hero-fig{display:none}.kinds{grid-template-columns:repeat(2,1fr)}.stlist{grid-template-columns:repeat(2,1fr)}
 .sh{flex-direction:column;align-items:stretch}.leads .house-ad{margin:20px auto}
.leadgrid{grid-template-columns:minmax(0,1fr)}.leads .lead{grid-template-columns:140px minmax(0,1fr);gap:16px;align-items:start}.lead h3{font-size:19px}.lead p:not(.lead-f):not(.lead-kind){display:none}
}
@media (max-width:600px){
 .wrap{padding:0 16px}.rows.cols{grid-template-columns:1fr}.prow{grid-template-columns:72px 1fr auto}.th img,.th-none{width:72px;height:54px}
 .finder{grid-template-columns:1fr}.now-w{font-size:32px}.facts div{grid-template-columns:100px 1fr}.fees td:last-child{display:none}
 .house-ad.banner .hu-box{height:100px}.nplist li:nth-child(n+13){display:none}.all-np{display:flex;margin:16px 0 8px}.kinds{grid-template-columns:1fr}.brand{font-size:18px}.section-nav{margin-inline:-16px;padding-inline:16px}
}
