.directory-main{--dir-green:var(--green,#204c37);--dir-cream:var(--cream,#f4ebd8);--dir-orange:var(--orange,#c65a31);background:var(--dir-cream);color:var(--dir-green);padding-bottom:70px;line-height:1.6}
.directory-container{max-width:1200px;margin:auto;padding:0 40px}
.directory-main h1,.directory-main h2,.directory-main h3{color:var(--dir-green);line-height:1.12;margin-top:0}
.directory-main h1,.directory-main h2{font-family:'Caprasimo',Georgia,serif;font-weight:400;letter-spacing:-.025em}
.directory-main h1{font-size:clamp(42px,5.7vw,76px);margin-bottom:22px;max-width:1000px}
.directory-main h2{font-size:clamp(26px,3vw,38px)}
.directory-main h3{font-size:19px}
.directory-main a{color:inherit;text-underline-offset:4px}
.directory-main a:hover{color:var(--orange-dark,#a83d1d)}
.directory-main a:focus-visible,.directory-main input:focus-visible{outline:3px solid var(--dir-orange);outline-offset:5px}
.directory-breadcrumbs{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:13px;padding:25px 0 30px;line-height:1.5}
.directory-breadcrumbs span[aria-hidden]{color:#85917a}
.directory-breadcrumbs [aria-current]{color:#56614e}
.directory-eyebrow{color:var(--orange-dark,#a83d1d);font-size:13px;font-weight:900;letter-spacing:.13em;line-height:1.5;margin:0 0 16px}
.directory-lead{font-size:20px;max-width:630px;line-height:1.6;margin:0 0 24px}
.directory-dog-note{font-family:'Kalam','Comic Sans MS',cursive;font-size:25px;color:var(--dir-orange);line-height:1.35;transform:rotate(-3deg);margin:20px 0 30px}
.directory-text-link{font-weight:800}
.directory-text-link span{margin-left:10px}
.directory-city-hero{display:grid;grid-template-columns:1.1fr 1fr;gap:65px;align-items:center;padding:15px 0 70px}
.directory-city-hero h1 span{color:var(--dir-orange)}
.directory-city-photo{margin:0;transform:rotate(2deg);position:relative}
.directory-city-photo img{display:block;width:100%;height:360px;object-fit:cover;border-radius:12px;border:1px solid #204c3722}
.directory-city-photo:after{content:'';display:block;height:8px;background:var(--dir-orange);width:57%;border-radius:50%;position:absolute;right:-12px;bottom:30px;transform:rotate(-4deg)}
.directory-city-photo figcaption{font-size:11px;text-align:right;line-height:1.5;margin-top:9px;color:#59634e}
.directory-city-stamp{margin:auto;width:320px;height:320px;border:3px solid var(--dir-green);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;transform:rotate(7deg);box-shadow:0 0 0 10px var(--dir-cream),0 0 0 12px #204c3744;background:#dce0c9;outline:1px dashed #204c3760;outline-offset:-14px;text-align:center}
.directory-city-stamp>span{font-size:19px;font-weight:900;line-height:1.3;letter-spacing:.08em}
.directory-city-stamp b{font-family:'Caprasimo',Georgia,serif;font-size:90px;line-height:1.2;color:var(--dir-orange);font-weight:400}
.directory-city-stamp small{font-size:13px;font-weight:700}
.directory-list-section{padding-top:35px;border-top:2px solid var(--dir-green);scroll-margin-top:30px}
.directory-list-heading{display:flex;justify-content:space-between;align-items:end;gap:30px}
.directory-list-heading h2{margin-bottom:0}
.directory-filter-label{font-weight:700;font-size:12px;display:block;flex-shrink:0;width:260px}
.directory-filter-label input{display:block;width:100%;border:1px solid #204c3766;border-radius:6px;background:#fffaf0;color:var(--dir-green);padding:12px 15px;font:inherit;font-size:15px;margin-top:6px;box-sizing:border-box}
.directory-list-note{color:#53604d;font-size:14px;line-height:1.7;max-width:750px;margin-top:20px}
.directory-filter-status{font-size:12px;color:#53604d;margin:24px 0 8px;min-height:20px}
.directory-address{font-size:14px;color:#53604d;margin:0 0 12px}
.directory-chips{display:flex;gap:7px;flex-wrap:wrap}
.directory-chip{font-size:11px;font-weight:700;background:#dce3cb;border:1px solid #204c3722;border-radius:40px;line-height:1.5;padding:4px 11px}
.directory-chip-warning{background:#f4d7b1;border-color:#c65a3155;color:#87391e}
.directory-chip-muted{background:transparent;color:#68705f;font-weight:400}
.directory-help-strip{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#dce0c9;border-radius:8px;padding:25px 28px;margin-top:34px;font-size:16px}
.directory-help-strip a{font-weight:800;white-space:nowrap}
.directory-heading-dot{color:var(--dir-orange)}
.directory-park-heading{padding:15px 0 45px;max-width:1000px}
.directory-park-heading .directory-lead{font-size:19px}
.directory-detail-layout{display:grid;grid-template-columns:1.5fr 1fr;gap:70px;align-items:start;border-top:2px solid var(--dir-green);padding-top:45px}
.directory-detail-info h2{margin-bottom:18px}
.directory-access{border-left:3px solid var(--dir-green);padding:14px 18px;background:#dce0c955;margin:25px 0}
.directory-access p{font-size:13px;margin:5px 0 0;color:#53604d}
.directory-access.is-restricted{border-color:var(--dir-orange);background:#f4d7b155}
.directory-facts{display:grid;grid-template-columns:1fr 1fr;gap:0 30px;margin:25px 0}
.directory-fact{border-bottom:1px solid #204c3733;padding:16px 0}
.directory-fact dt{font-size:12px;font-weight:700;color:#53604d;margin-bottom:5px}
.directory-fact dd{margin:0;font-size:18px;font-weight:600}
.directory-fact dd.directory-unknown{color:#77806e;font-size:15px;font-weight:400}
.directory-hours{padding-top:16px}
.directory-hours h3{margin-bottom:12px}
.directory-hours p{margin:0 0 8px;font-size:18px}
.directory-hours small{font-size:12px;color:#53604d}
.directory-trip{background:#dce0c9;padding:30px;border-radius:12px;position:sticky;top:24px;overflow:hidden}
.directory-trip h2{font-size:36px;margin-bottom:15px}
.directory-trip>p:not(.directory-dog-note):not(.directory-eyebrow){font-size:14px}
.directory-trip small{display:block;text-align:center;font-size:11px;margin:9px 0 24px;color:#53604d}
.directory-trip>.directory-dog-note{font-size:23px;margin:30px 0}
.directory-button{display:inline-flex;justify-content:center;align-items:center;gap:20px;padding:15px 23px;background:var(--orange-dark,#a83d1d);color:#fff9eb!important;border-radius:7px;text-decoration:none;font-weight:800;font-size:16px;border:1px solid #9c431f;box-shadow:inset 0 1px 0 #ffffff33;line-height:1.5}
.directory-button:hover{background:#a64424}
.directory-trip .directory-button{display:flex;margin-top:25px}
.directory-trip-art{height:170px;position:relative;margin:-30px -30px 25px;background-color:#cbd5b5;background-image:linear-gradient(35deg,transparent 46%,#f4ebd880 47%,#f4ebd880 51%,transparent 52%),linear-gradient(115deg,transparent 45%,#f4ebd880 46%,#f4ebd880 50%,transparent 51%);background-size:100px 90px;border-bottom:1px solid #204c3733}
.directory-route-start{position:absolute;left:22%;top:60%;width:13px;height:13px;border-radius:50%;background:var(--dir-green);border:3px solid var(--dir-cream)}
.directory-route-line{position:absolute;left:27%;top:39%;width:40%;height:29%;border:3px dashed var(--dir-orange);border-left:0;border-top-right-radius:40px;border-bottom:0;transform:rotate(-15deg)}
.directory-route-pin{position:absolute;left:64%;top:18%;background:var(--dir-orange);color:var(--dir-cream);width:36px;height:36px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);text-align:center;line-height:36px;font-size:14px;border:2px solid var(--dir-cream)}
.directory-route-label{position:absolute;left:57%;top:54%;font-size:10px;font-weight:900;letter-spacing:.07em;transform:rotate(-8deg)}
.directory-source-note{margin-top:65px;padding:35px 0;border-top:1px solid #204c3744;display:grid;grid-template-columns:1.3fr 1fr;gap:70px}
.directory-source-note h2{font-size:30px}
.directory-source-note h3{margin:0 0 14px}
.directory-source-note p{font-size:14px;color:#53604d}
.directory-source-note a{font-size:14px}
.directory-about-intro{padding:15px 0 50px;max-width:760px}
.directory-about-intro h1{font-size:clamp(48px,6.5vw,84px)}
.directory-about-grid{display:grid;grid-template-columns:1fr 1fr;gap:45px 60px;border-top:2px solid var(--dir-green);padding-top:45px}
.directory-about-section{scroll-margin-top:35px}
.directory-about-section h2{font-size:32px}
.directory-about-section p,.directory-about-section li{font-size:15px;line-height:1.8}
.directory-about-section .directory-button{margin-top:10px}
.directory-about-section .directory-form-note{font-size:12px;color:#53604d}
.directory-about-callout{background:#dce0c9;padding:30px;border-radius:10px}
.directory-about-callout ul{padding-left:19px}
.directory-missing{padding-top:100px;padding-bottom:100px}
.city-guide-overview{border-top:2px solid var(--dir-green);padding:32px 0;margin-bottom:12px}
.city-guide-overview h2{margin-bottom:12px}
.city-guide-overview p{max-width:690px;color:#53604d;font-size:15px}
.city-guide-counts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:24px 0}
.city-guide-counts>div{border-left:2px solid #204c3733;padding-left:16px;display:flex;flex-direction:column-reverse}
.city-guide-counts dt{font-size:13px;line-height:1.4}
.city-guide-counts dd{font-family:'Caprasimo',Georgia,serif;font-size:40px;line-height:1.2;margin:0 0 7px}
.city-guide-overview .city-guide-amenities{max-width:none;font-size:14px;margin-bottom:0}
.city-guide-editorial{padding:30px;background:#dce0c955;border-radius:10px;margin:10px 0 42px}
.city-guide-editorial h2{margin-bottom:20px}
.city-guide-intro{max-width:780px;margin-bottom:24px}
.city-guide-picks{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:0 0 24px}
.city-guide-picks li{border-top:1px solid #204c3744;padding-top:16px}
.city-guide-picks li>a{font-size:18px;font-weight:800}
.city-guide-picks p{font-size:15px;line-height:1.7;margin:8px 0 0}
.city-guide-picks .city-guide-pick-label{font-size:12px;line-height:1.5;font-weight:800;color:var(--orange-dark,#a83d1d);margin:0 0 7px;letter-spacing:.04em}
.city-guide-citation{font-size:13px;white-space:nowrap;font-weight:700}
.city-guide-tips{padding-left:20px;max-width:800px;font-size:15px}
.city-guide-tips li{padding:4px 0}
.city-guide-checked{font-size:12px;color:#53604d;margin-bottom:0}
.city-guide-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.city-guide-comparison-card{padding:24px;background:#fffaf0;border:1px solid #204c3744;border-radius:9px;min-width:0}
.city-guide-comparison-card[hidden]{display:none}
.city-guide-card-heading h3{font-family:'Caprasimo',Georgia,serif;font-size:24px;font-weight:400;margin:0 0 12px;overflow-wrap:anywhere}
.city-guide-card-heading h3 a{text-decoration:none}
.city-guide-card-heading+.directory-address{margin:12px 0 0}
.city-guide-hours{font-size:13px;line-height:1.6;margin:0 0 16px;color:#53604d}
.city-guide-access{display:inline-block;font-size:12px;font-weight:800;padding:3px 10px;border-radius:25px;background:#dce3cb}
.city-guide-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 12px;margin:20px 0}
.city-guide-facts dt{font-size:12px;color:#53604d;line-height:1.5}
.city-guide-facts dd{font-size:14px;font-weight:700;margin:2px 0 0;line-height:1.5}
.city-guide-card-footer{border-top:1px solid #204c3733;padding-top:12px;display:flex;flex-wrap:wrap;gap:4px 18px;align-items:center}
.city-guide-card-footer small{flex-basis:100%;font-size:11px;color:#53604d;margin-bottom:5px}
.city-guide-card-footer a{font-size:13px;font-weight:800;display:inline-flex;align-items:center;min-height:44px;overflow-wrap:anywhere}
.city-guide-nearby{margin-top:55px;padding-top:35px;border-top:2px solid var(--dir-green)}
.city-guide-nearby h2{max-width:850px}
.city-guide-nearby-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 30px;list-style:none;padding:0;margin:26px 0}
.city-guide-nearby-list li{padding:22px 0;border-top:1px solid #204c3744;min-width:0}
.city-guide-nearby-list h3{font-size:20px;line-height:1.3;margin:0 0 10px;overflow-wrap:anywhere}
.city-guide-nearby-list p{font-size:14px;margin:6px 0}
.city-guide-distance{color:#53604d}
.city-guide-city-links{font-size:14px;font-weight:800;line-height:2}
.city-guide-nearby .directory-button{margin-top:15px}
@media(max-width:760px){.city-guide-comparison,.city-guide-picks{grid-template-columns:1fr}.city-guide-counts{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 18px}.city-guide-editorial{padding:24px}.city-guide-nearby-list{grid-template-columns:1fr}}
@media(max-width:640px){.directory-main .directory-city-stamp{display:none}.city-guide-overview{padding-top:26px}.city-guide-editorial{padding:22px;margin-bottom:32px}.city-guide-comparison-card{padding:20px}.city-guide-card-heading h3{font-size:23px}.city-guide-nearby{margin-top:40px}.city-guide-facts{gap:15px 10px}}
@media(max-width:360px){.city-guide-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.city-guide-comparison-card{padding:17px}.city-guide-card-footer{gap:3px 14px}}
@media(max-width:900px){.directory-container{padding:0 26px}.directory-city-hero{gap:35px}.directory-city-photo img{height:320px}.directory-city-stamp{width:245px;height:245px}.directory-city-stamp>span{font-size:15px}.directory-city-stamp b{font-size:70px}.directory-detail-layout{gap:30px;grid-template-columns:1.2fr 1fr}.directory-trip{padding:24px}.directory-trip-art{margin:-24px -24px 25px}.directory-source-note{gap:35px}.directory-about-grid{gap:35px}}
@media(max-width:640px){.directory-main{padding-bottom:40px}.directory-container{padding:0 22px}.directory-breadcrumbs{font-size:11px;padding:22px 0;gap:9px}.directory-city-hero{grid-template-columns:1fr;padding:15px 0 40px;gap:25px}.directory-city-photo{margin:10px 7px}.directory-city-photo img{height:250px}.directory-city-stamp{width:230px;height:230px;margin:15px auto 30px}.directory-lead{font-size:18px}.directory-main h1{font-size:46px}.directory-list-heading{display:block}.directory-filter-label{width:100%;margin-top:24px}.directory-help-strip{align-items:start;flex-direction:column;padding:23px;gap:10px}.directory-detail-layout{grid-template-columns:1fr;padding-top:30px;gap:40px}.directory-trip{position:static}.directory-park-heading{padding:15px 0 32px}.directory-facts{gap:0 18px}.directory-source-note{grid-template-columns:1fr;gap:32px;margin-top:40px}.directory-about-grid{grid-template-columns:1fr;padding-top:30px;gap:38px}.directory-about-intro{padding-bottom:30px}.directory-missing{padding-top:70px;padding-bottom:70px}.directory-missing h1{font-size:46px}}
