:root{--ink:#14263d;--ink2:#22405f;--brass:#a8741a;--paper:#f6f3ec;--rule:#d9d2c3;--card:#fff}
body{background:var(--paper);color:#1d2733;font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;line-height:1.55}
h1,h2,h3,.brand,.display-title{font-family:Georgia,"Times New Roman",serif}
a{color:var(--ink2)}a:hover{color:var(--brass)}
.strip{background:var(--ink);color:#d7e0ea;font-size:.8rem;padding:.35rem 0}
.strip a,.linkbtn{color:#fff;text-decoration:none;background:none;border:0;padding:0;font:inherit;cursor:pointer}
.strip a:hover,.linkbtn:hover{text-decoration:underline}
.masthead{background:#fff;border-bottom:3px solid var(--brass)}
.brand{font-size:1.7rem;font-weight:700;color:var(--ink);line-height:1.05;display:flex;flex-direction:column}
.brand small{font:500 .8rem system-ui,sans-serif;color:#5b6b7c;letter-spacing:.02em}
.mainnav{display:flex;flex-wrap:wrap;gap:.25rem 1.4rem}
.mainnav a{padding:.6rem 0;color:var(--ink);text-decoration:none;font-weight:500;border-bottom:3px solid transparent;margin-bottom:-3px}
.mainnav a:hover,.mainnav a.on{border-bottom-color:var(--brass)}
.display-title{font-size:clamp(1.9rem,4vw,2.7rem);line-height:1.15;color:var(--ink);font-weight:700}
.lead-text{font-size:1.1rem;color:#44525f;max-width:34rem;margin-top:1rem}
.btn-ink{background:var(--ink);color:#fff;border-color:var(--ink)}.btn-ink:hover{background:var(--ink2);color:#fff}
.btn-outline-ink{border-color:var(--ink);color:var(--ink)}.btn-outline-ink:hover{background:var(--ink);color:#fff}
.board,.panel{background:var(--card);border:1px solid var(--rule);border-radius:6px}
.board-head,.panel-head{display:flex;justify-content:space-between;align-items:baseline;padding:.9rem 1rem;border-bottom:1px solid var(--rule)}
.board-head h2,.panel-head h2{font-size:1.1rem;margin:0}
.notice{padding:1rem;border-bottom:1px solid var(--rule)}.notice:last-child{border-bottom:0}
.notice time{font-size:.78rem;color:#6a7683}
.notice h3{font-size:1.05rem;margin:.15rem 0 .25rem;color:var(--ink)}.notice p{margin:0;color:#44525f;font-size:.93rem}
.pin{font:600 .68rem system-ui;background:var(--brass);color:#fff;padding:.1rem .4rem;border-radius:3px;vertical-align:middle}
.unitgrid{display:flex;flex-wrap:wrap;gap:.5rem}.unitgrid span{background:#fff;border:1px solid var(--rule);padding:.3rem .75rem;border-radius:999px;font-size:.9rem}
.docrow{display:flex;justify-content:space-between;gap:1rem;padding:.8rem 1rem;border-top:1px solid var(--rule);text-decoration:none;color:var(--ink)}
.docrow:first-child{border-top:0}.docrow:hover{background:#faf7ef}
.pdfframe{width:100%;height:78vh;border:1px solid var(--rule);background:#fff;border-radius:6px}
.table thead th{background:var(--ink);color:#fff;font-weight:600;border:0}
.sitefoot{background:var(--ink);color:#b9c6d4;font-size:.82rem;padding:1.2rem 0;margin-top:3rem}
:focus-visible{outline:3px solid var(--brass);outline-offset:2px}
.mainnav{align-items:center}
.mainnav a.nav-logo{margin-left:auto;padding:.35rem 0;border-bottom:0;margin-bottom:0}
.nav-logo img{height:40px;width:auto;display:block}
.hero-slider{border:1px solid var(--rule);border-radius:6px;overflow:hidden;background:#0f1d2e}
.hero-slider .carousel-item img{width:100%;height:clamp(200px,45vh,460px);object-fit:contain;background:#0f1d2e;display:block}
.hero-slider .carousel-caption{left:0;right:0;bottom:0;text-align:left;padding:2.5rem 1.3rem 2.2rem;background:linear-gradient(transparent,rgba(20,38,61,.88))}
.hero-slider .carousel-caption h2{font-size:1.3rem;margin:0}
.hero-slider .carousel-caption p{margin:.2rem 0 0;font-size:.95rem}
@media (max-width:575px){.hero-slider .carousel-caption{padding:1.4rem .9rem 2rem}.hero-slider .carousel-caption p{display:none}}
