[hidden]{display:none!important}
.directory-hero,.directory-controls,.local-directory,.directory-next,.local-editorial,.local-brief{padding:clamp(2.5rem,5vw,5.5rem) clamp(1.25rem,6vw,7rem)}
.directory-hero{background:var(--foam)}
.directory-hero h1{font:800 clamp(2.4rem,5vw,5rem)/1.05 Manrope,sans-serif;letter-spacing:-.05em;max-width:1000px;margin:0}
.directory-hero .lede{max-width:850px;margin:1.5rem 0}.directory-hero>p:last-child{max-width:850px;color:var(--muted);line-height:1.7}
.directory-controls{padding-top:2rem;padding-bottom:2rem;border-bottom:1px solid #cbdfe2}
.directory-controls>label,.local-brief-form>label,.local-note-output>label{display:block;font-weight:700;margin:0 0 .5rem}
.directory-controls>input{display:block;width:min(100%,650px);border:1px solid #819ca7;border-radius:.6rem;padding:.9rem 1rem;font:inherit}
.county-filters{display:flex;gap:.6rem;flex-wrap:wrap;margin:1.25rem 0}
.county-filters button{font:600 .95rem/1.3 'DM Sans',sans-serif;padding:.65rem .9rem;border:1px solid #bfd5d8;border-radius:999px;background:white;color:var(--ink);cursor:pointer}
.county-filters button[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}
.directory-controls>p{color:var(--muted);font-size:.9rem}
.directory-county{margin-bottom:3.5rem}.directory-county:last-of-type{margin-bottom:0}
.directory-town-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;gap:.8rem;padding:0;margin:1.5rem 0 0}
.directory-town-grid li{min-width:0}.directory-town-grid a{display:flex;flex-direction:column;gap:.6rem;height:100%;border:1px solid #d1e0e2;border-radius:.8rem;padding:1.25rem;transition:background .15s}
.directory-town-grid a:hover{background:#eef8f7;border-color:#4d8992}.directory-town-grid span{font:800 1.1rem Manrope,sans-serif}.directory-town-grid small{font-size:.87rem;line-height:1.5;color:var(--muted)}
.directory-county h2{font:800 clamp(1.7rem,3vw,2.8rem)/1.2 Manrope,sans-serif;margin:0}
.directory-county .heading{align-items:center}.directory-next{background:var(--ink);color:white}.directory-next p{color:#d8e9ec;max-width:850px;line-height:1.7}.directory-next .link{color:white}
.local-editorial{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,.8fr);gap:4rem}
.local-editorial article{min-width:0}.local-editorial p,.local-checklist li,.local-brief p{line-height:1.8;color:var(--muted)}
.local-heading{font:800 clamp(1.8rem,3vw,2.8rem)/1.2 Manrope,sans-serif;letter-spacing:-.025em;margin:0 0 1.2rem}
.local-topic{margin-top:2.8rem}.local-topic h2{font:800 clamp(1.3rem,2vw,1.65rem)/1.3 Manrope,sans-serif}.local-topic .link{display:inline-block;margin-top:.5rem;overflow-wrap:anywhere}
.local-checklist{align-self:start;background:#eef8f7;border:1px solid #c1dbde;border-radius:1rem;padding:1.75rem}.local-checklist h2{font:800 1.4rem/1.3 Manrope,sans-serif}.local-checklist ul{padding-left:1.25rem}.local-checklist li{margin-bottom:1rem}
.local-project{border-left:4px solid var(--aqua);padding:1rem 1.25rem;background:#eef8f7;margin:2rem 0}.local-project h3{margin:0}.local-project p{margin:.8rem 0 0}
.local-brief{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:3rem;background:var(--foam)}.local-brief h2{font:800 clamp(1.8rem,3vw,2.8rem)/1.2 Manrope,sans-serif;margin:0}
.local-brief-form{min-width:0;border:1px solid #c1dbde;border-radius:1rem;padding:1.75rem;background:white}.local-brief-form select,.local-brief-form textarea{width:100%;display:block;border:1px solid #819ca7;border-radius:.5rem;padding:.8rem;font:inherit;margin-bottom:1.2rem;color:var(--ink);background:white}.local-brief-form textarea{resize:vertical;min-height:110px}.local-brief-form button{cursor:pointer;font:700 1rem 'DM Sans',sans-serif;border:0}.local-note-output{border-top:1px solid #c1dbde;padding-top:1.5rem;margin-top:1.5rem}#brief-summary{font-size:.9rem;line-height:1.6}.local-note-output [role=status]{display:block;font-size:.9rem;margin-top:.8rem;color:#075e73}
.local-county-links{display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;margin:1.25rem 0}.local-county-links a{font-weight:700;color:#075f75;text-decoration:underline;text-underline-offset:.2rem}.local-related summary{font-weight:700;cursor:pointer;padding:.9rem 0}.local-related{border-top:1px solid #c1dbde;border-bottom:1px solid #c1dbde;margin:1.5rem 0}
.county-hero figure{position:relative}.county-hero figcaption{position:absolute;bottom:0;left:0;right:0;padding:1rem 1.5rem;background:#052838d9;color:white;font-size:.8rem;line-height:1.5}
.county-towns li a{display:block;color:#075f75}.county-towns li:hover{background:#e0f0ef}.county-towns a:focus-visible{outline:3px solid #08798c;outline-offset:4px}
.local-directory a:focus-visible,.county-filters button:focus-visible,.local-related summary:focus-visible,.local-brief-form :focus-visible,.directory-controls input:focus-visible{outline:3px solid #08798c;outline-offset:4px}
@media(max-width:1000px){.local-editorial{grid-template-columns:1fr;gap:2rem}.directory-town-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.local-brief{grid-template-columns:1fr;gap:2rem}}
@media(max-width:620px){.directory-town-grid{grid-template-columns:1fr}.directory-county .heading{display:block}.local-brief-form,.local-checklist{padding:1.25rem}.directory-hero h1{font-size:clamp(2.25rem,9vw,3.3rem)}.county-filters button{font-size:.9rem}.local-county-links{flex-direction:column}}
nav.county-breadcrumb{position:static;flex-direction:row;align-items:center;padding:0;background:transparent;box-shadow:none;border-radius:0;max-height:none;overflow:visible;width:auto;inset:auto}
