:root{--navy:#15314E;--ink:#1d2733;--muted:#5b6876;--bg:#f5f7fa}
*{box-sizing:border-box}body{margin:0;font:16px/1.65 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink)}
.wrap{max-width:1080px;margin:0 auto;padding:0 18px}
img{max-width:100%;height:auto}a{color:var(--navy)}
header.site{border-bottom:1px solid #e6eaef;background:#fff}
header.site .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:10px 18px}
header.site .logo img{height:48px;width:auto;display:block}
.menu summary{cursor:pointer;font-weight:700;padding:8px 14px;border:2px solid var(--navy);border-radius:999px;list-style:none}
.menu nav ul{list-style:none;padding-left:14px;margin:6px 0}.menu nav>ul{padding-left:0}
.menu nav li{margin:4px 0}.menu nav span{font-weight:700}
.menu[open]{flex-basis:100%}
.content{padding:28px 18px 40px}
.content h1,.content h2,.content h3{color:var(--navy);line-height:1.25}
.content h1{font-size:clamp(26px,5vw,40px)}.content h2{font-size:clamp(22px,4vw,30px)}
.content table{border-collapse:collapse;width:100%;overflow-x:auto;display:block}
.content td,.content th{border:1px solid #dde3ea;padding:6px 8px;vertical-align:top}
.content pre{background:var(--bg);padding:12px;overflow-x:auto}
.cta .btn{display:inline-block;background:var(--navy);color:#fff;padding:12px 20px;border-radius:999px;font-weight:700;text-decoration:none}
footer.site{background:var(--navy);color:#fff;padding:20px 0;font-size:14px}footer.site a{color:#fff}
.town-page .wordmark{font-weight:800;font-size:1.2rem;color:var(--navy);text-decoration:none;letter-spacing:-0.02em}
.town-page .crumbs{font-size:0.92rem;color:var(--muted);margin:0 0 18px}
.town-page .crumbs ol{display:flex;flex-wrap:wrap;gap:0.35rem 0;list-style:none;padding:0;margin:0}
.town-page .crumbs li:not(:last-child)::after{content:"/";margin:0 0.45rem;color:#9aa6b2}
.town-page .lede{font-size:1.125rem}
.town-page .enquiry{background:var(--bg);padding:12px 14px;border-radius:12px;margin:0 0 18px}
.town-page .enquiry a{font-weight:700}
.town-page .content h2{margin-top:1.6em}
.town-page .notice{background:var(--bg);border-left:4px solid var(--navy);padding:12px 14px;margin:18px 0}
.town-page .faq dt{font-weight:700;margin-top:16px;color:var(--navy)}
.town-page .faq dd{margin:4px 0 0}
.town-page .cta-panel{background:var(--bg);padding:16px 18px;border-radius:12px;margin:28px 0}
.town-page .town-links{padding-left:1.2rem}
