/* Shared styles for the supported-parks browse index (/parks/). */
@font-face { font-family:'Fraunces'; font-style:normal; font-weight:400 600; font-display:swap;
  src:url('/assets/fonts/fraunces-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:'Fraunces'; font-style:normal; font-weight:400 600; font-display:swap;
  src:url('/assets/fonts/fraunces-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family:'Geist'; font-style:normal; font-weight:400 700; font-display:swap;
  src:url('/assets/fonts/geist-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:'Geist'; font-style:normal; font-weight:400 700; font-display:swap;
  src:url('/assets/fonts/geist-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }

:root {
  --bg:#FCFBF8; --ink:#131210; --ink-secondary:#2C2A24; --muted:#6E6B62;
  --sage:#3F5A42; --hairline:rgba(19,18,16,0.10);
  --serif:"Fraunces",Georgia,"Times New Roman",serif;
  --sans:"Geist",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) { --bg:#14130F; --ink:#F4F1EA; --ink-secondary:#E4E0D6; --muted:#A7A296;
    --sage:#93B58D; --hairline:rgba(255,255,255,0.12); }
}
:root[data-theme="dark"] { --bg:#14130F; --ink:#F4F1EA; --ink-secondary:#E4E0D6; --muted:#A7A296;
    --sage:#93B58D; --hairline:rgba(255,255,255,0.12); }

* { box-sizing:border-box; margin:0; padding:0; }
html { -webkit-text-size-adjust:100%; }
body { font-family:var(--sans); background:var(--bg); color:var(--ink-secondary); font-size:18.5px;
  line-height:1.55; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; }
a { color:inherit; }
:focus-visible { outline:2.5px solid var(--sage); outline-offset:3px; border-radius:4px; }

.site-head { position:sticky; top:0; z-index:10;
  background:color-mix(in srgb, var(--bg) 82%, transparent);
  backdrop-filter:saturate(1.1) blur(14px); -webkit-backdrop-filter:saturate(1.1) blur(14px);
  border-bottom:0.5px solid var(--hairline); }
.site-head .bar { max-width:760px; margin:0 auto; height:68px; padding:0 clamp(18px,5vw,24px);
  display:flex; align-items:center; gap:10px; }
.site-head .brand { display:flex; align-items:center; gap:10px; text-decoration:none; }
.site-head .brand img { height:30px; width:auto; }
.site-head .brand .name { font-weight:700; color:var(--sage); font-size:1.2rem; letter-spacing:-0.01em; }

main { max-width:760px; margin:0 auto; padding:clamp(2.5rem,6vw,3.5rem) clamp(18px,5vw,24px) 4rem; }
h1 { font-family:var(--serif); font-weight:500; font-size:clamp(2.2rem,5.5vw,3rem);
  letter-spacing:-0.02em; color:var(--ink); line-height:1.06; margin-bottom:0.6rem; text-wrap:balance; }
.lead { font-size:1.05rem; color:var(--ink-secondary); margin-bottom:3rem; max-width:60ch; }
section { margin-bottom:3rem; padding-top:1.75rem; border-top:0.5px solid var(--hairline); }
h2 { font-family:var(--serif); font-weight:500; font-size:1.7rem; color:var(--ink);
  letter-spacing:-0.01em; margin-bottom:1.25rem; }
h3 { font-family:var(--sans); font-size:0.76rem; font-weight:600; color:var(--sage);
  text-transform:uppercase; letter-spacing:0.14em; margin-top:1.9rem; margin-bottom:0.7rem; }
ul.parks { list-style:none; padding:0; margin:0;
  display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:0.1rem 1.5rem; }
ul.parks li { padding:0.28rem 0; }
ul.parks a { color:var(--ink-secondary); text-decoration:none;
  border-bottom:1px solid transparent; transition:border-color .15s ease, color .15s ease; }
ul.parks a:hover { border-bottom-color:var(--sage); color:var(--sage); }

.cta-wrap { margin-top:3.5rem; text-align:center; }
.app-store-badge { display:inline-flex; line-height:0; transition:opacity .2s ease; }
.app-store-badge img { height:46px; width:auto; }
.app-store-badge:hover { opacity:0.82; }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .app-store-badge img { filter:invert(1); }
}
:root[data-theme="dark"] .app-store-badge img { filter:invert(1); }


footer { margin-top:3rem; padding-top:1.75rem; border-top:0.5px solid var(--hairline);
  color:var(--muted); font-size:0.92rem; text-align:center; }
footer a { color:var(--muted); text-decoration:underline; text-underline-offset:2px; }
footer a:hover { color:var(--sage); }
