/* Lake Township civic presentation; inherited components and behavior remain intact. */
:root {
 --color-ink:#183747; --color-muted:#52666b; --color-primary:#246b78;
 --color-primary-dark:#174d59; --color-secondary:#315c50; --color-surface:#faf9f5;
 --color-soft:#f0f2ed; --color-dark:#183d40; --color-border:#cdd6d1;
 --container:78rem; --radius:.2rem; --shadow:0 .5rem 1.5rem rgb(24 55 71 / .09);
}
body { font-family:Arial,Helvetica,sans-serif; }
h1,h2,h3,.site-name { font-family:Georgia,'Times New Roman',serif; font-weight:400; }
h1 { font-size:clamp(2.6rem,5vw,4.8rem); line-height:1.08; }
h2 { font-size:clamp(2rem,3.4vw,3rem); }
h3 { font-size:clamp(1.3rem,2vw,1.75rem); }
.container { width:min(calc(100% - 4rem),var(--container)); }
.site-header { background:var(--color-surface); border-bottom:1px solid var(--color-border); }
.header-row { min-height:6.25rem; gap:1rem; }
.site-logo { max-width:18rem; max-height:4.4rem; }
.footer-logo { background:var(--color-surface); padding:.5rem; max-width:min(19rem,100%); max-height:5rem; }
.site-name { font-size:1.65rem; }
.menu-container { gap:1.3rem; }
.menu-container a { font-weight:600; font-size:.92rem; }
.header-contact { display:none; }
.header-action { font-size:.9rem; }
.menu-toggle,.submenu-toggle { min-height:2.75rem; }
.submenu-toggle { min-width:2.75rem; }
.button { background:var(--color-primary); box-shadow:none; border-radius:.15rem; min-height:3rem; }
.button:focus-visible { outline-color:var(--color-ink); box-shadow:0 0 0 .3rem var(--color-surface); }
.hero { background:var(--color-dark); }
.hero-home { min-height:29rem; }
.hero-home .hero-content { max-width:var(--container); padding-block:4rem; }
.hero-home h1 { max-width:14.5ch; }
.hero-content p { max-width:40rem; color:#e7efeb; }
.hero-home .eyebrow { color:#d4e4db; }
.hero-page { min-height:16rem; padding-block:4rem 3rem; }
.hero-page .hero-content { max-width:var(--container); padding-block:0; }
.hero-page h1 { max-width:60rem; }
.hero-overlay { background:linear-gradient(90deg,rgb(14 40 43 / .84),rgb(14 40 43 / .25)); }
.section-space { padding-block:clamp(3rem,6vw,5rem); }
.civic-section { padding-block:clamp(3rem,6vw,5rem); }
.civic-section + .civic-section { border-top:1px solid var(--color-border); }
.civic-heading { display:flex; gap:2rem; justify-content:space-between; align-items:baseline; margin-bottom:2rem; }
.civic-heading h2 { margin:0; }
.civic-heading a { font-size:.95rem; font-weight:700; }
.civic-intro { max-width:48rem; }
.civic-kicker,.record-meta { color:var(--color-muted); font-size:.85rem; letter-spacing:.04em; }
.civic-kicker { text-transform:uppercase; font-weight:700; }
.quick-links { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); list-style:none; margin:0; padding:0; border-block:1px solid var(--color-border); }
.quick-links li + li { border-left:1px solid var(--color-border); }
.quick-links a { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.6rem 1.4rem; min-height:6rem; color:var(--color-ink); font-weight:700; text-decoration:none; }
.quick-links a::after { content:'\2192'; font-size:1.35rem; color:var(--color-primary); }
.quick-links a:hover { background:var(--color-soft); text-decoration:underline; }
.record-list { margin:0; padding:0; list-style:none; border-top:1px solid var(--color-border); }
.record-row { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:start; gap:1.5rem; padding:1.6rem 0; border-bottom:1px solid var(--color-border); }
.record-row h2,.record-row h3 { margin:0 0 .4rem; font-size:1.5rem; }
.record-row p { margin:0 0 .4rem; }
.record-row a { text-decoration-thickness:1px; }
.record-row time { font-size:.9rem; color:var(--color-muted); }
.record-tag { padding:.2rem .6rem; border:1px solid var(--color-border); font-size:.8rem; color:var(--color-secondary); }
.civic-empty { padding:1.5rem 0; color:var(--color-muted); border-block:1px solid var(--color-border); }
.civic-columns { display:grid; grid-template-columns:1fr 1fr; gap:4rem; }
.civic-filter { display:flex; flex-wrap:wrap; align-items:end; gap:1rem; padding:1.5rem 0 2rem; }
.civic-filter label { display:grid; gap:.35rem; font-size:.9rem; font-weight:700; }
.civic-filter :where(input,select) { max-width:100%; min-height:3rem; padding:.6rem .8rem; border:1px solid var(--color-border); background:white; color:var(--color-ink); }
.civic-filter button { border:0; cursor:pointer; font:inherit; }
.civic-pagination { margin-top:2rem; display:flex; flex-wrap:wrap; gap:.6rem; }
.civic-pagination .page-numbers { padding:.5rem .85rem; border:1px solid var(--color-border); }
.civic-pagination .current { background:var(--color-dark); color:white; }
.civic-detail { max-width:52rem; }
.civic-detail dl { display:grid; grid-template-columns:9rem 1fr; gap:.8rem 1.5rem; }
.civic-detail dt { font-weight:700; }
.civic-detail dd { margin:0; }
.document-links { display:flex; flex-wrap:wrap; gap:1rem; padding:0; list-style:none; }
.officials-list { margin:0; padding:0; list-style:none; }
.official-row { display:grid; grid-template-columns:1fr 1.3fr 1fr; gap:2rem; padding:1.5rem 0; border-top:1px solid var(--color-border); }
.official-row h3 { margin:0; }
.official-row p { margin:0; }
.site-footer { background:var(--color-dark); padding-top:4rem; }
.site-footer .site-name { color:#fff; }
.footer-brand > a { text-decoration:none; }
.footer-brand p { max-width:22rem; margin-top:1rem; }
.footer-heading { font-family:Arial,Helvetica,sans-serif; font-size:.85rem; text-transform:uppercase; letter-spacing:.1em; font-weight:700; }
.contact-form-wrap { border:0; border-top:3px solid var(--color-primary); box-shadow:none; }
.entry-grid { display:block; }
.entry-card { border:0; border-bottom:1px solid var(--color-border); border-radius:0; box-shadow:none; display:flex; gap:1.5rem; background:transparent; }
.entry-card__image { max-width:12rem; flex:0 0 25%; padding-block:1.5rem; }
.entry-card__body { padding:1.5rem 0; }
body { overflow-wrap:break-word; }
@media(max-width:80rem) and (min-width:70.01rem) { .site-logo { max-width:14rem; } .menu-container { gap:.75rem; } .header-row { gap:.75rem; } }
@media(max-width:70rem) { .primary-navigation { background:var(--color-surface); } .quick-links { grid-template-columns:1fr 1fr; } .quick-links li:nth-child(3) { border-left:0; } .quick-links li:nth-child(n+3) { border-top:1px solid var(--color-border); } }
@media(max-width:48rem) { .container { width:calc(100% - 2.5rem); } .civic-columns { grid-template-columns:1fr; gap:3rem; } .official-row { grid-template-columns:1fr; gap:.5rem; } .civic-heading { align-items:start; flex-direction:column; gap:.75rem; } .record-row { grid-template-columns:1fr; gap:.6rem; } .hero-home { min-height:30rem; } .hero-home .hero-content { padding-block:4rem; } .hero-page { min-height:13rem; } .header-row { min-height:5.5rem; } .site-logo { max-width:min(15rem,58vw); } .quick-links a { padding:1.15rem .8rem; font-size:.92rem; } .civic-detail dl { grid-template-columns:1fr; gap:.3rem; } .civic-detail dd { margin-bottom:1rem; } }
@media(prefers-reduced-motion:reduce) { .hero-video { display:none; } }
@media(max-width:48rem) { .hero-home { min-height:29rem; } .record-row > span[aria-hidden="true"] { display:none; } }
.site-search-link { display:inline-flex; align-items:center; min-height:2.75rem; padding:.5rem; font-size:.9rem; font-weight:700; }
@media(max-width:70rem) { .site-search-link { margin-left:.25rem; } }
/* Owner-selected static photograph uses native WordPress responsive image delivery. */
.hero-static-image { position:absolute; inset:0; z-index:-2; width:100%; height:100%; max-width:none; object-fit:cover; object-position:center 70%; }
.hero-home .hero-overlay { background:linear-gradient(90deg,rgb(10 34 36 / .84) 0%,rgb(10 34 36 / .72) 70%,rgb(10 34 36 / .16) 100%); }
.hero-home .hero-content > p { max-width:min(40rem,60vw); }
.staff-department { margin-top:2.5rem; }
.staff-department h2 { font-size:clamp(1.65rem,2.5vw,2.25rem); margin-bottom:1rem; }
.staff-list { margin:0; padding:0; list-style:none; border-top:1px solid var(--color-border); }
.staff-list > li { padding:1.5rem 0; border-bottom:1px solid var(--color-border); }
.staff-profile { display:grid; grid-template-columns:104px minmax(0,1fr); gap:1.5rem; align-items:start; }
.staff-photo { width:104px; height:104px; object-fit:cover; border-radius:50%; background:var(--color-soft); }
.staff-photo--placeholder { display:grid; place-items:center; color:var(--color-muted); }
.staff-photo--placeholder svg { width:60%; height:60%; fill:none; stroke:currentColor; stroke-width:2; }
.staff-profile h3 { margin:0 0 .35rem; font-size:1.5rem; }
.staff-profile p { margin:0 0 .5rem; }
.staff-position { color:var(--color-muted); }
.staff-contacts { display:flex; flex-wrap:wrap; gap:.2rem 2rem; list-style:none; margin:0; padding:0; }
.staff-contacts a { display:inline-flex; align-items:center; min-height:2.75rem; overflow-wrap:anywhere; }
.staff-profile-body { min-width:0; }
@media(max-width:48rem) { .staff-profile { grid-template-columns:80px minmax(0,1fr); gap:1rem; } .staff-photo { width:80px; height:80px; } .staff-contacts { flex-direction:column; gap:0; } .hero-home .hero-content > p { max-width:100%; } .hero-home .hero-overlay { background:linear-gradient(90deg,rgb(10 34 36 / .84),rgb(10 34 36 / .72)); } }
