:root{ --navy:#243c78; --gold:#f2b134; --ink:#1c2333; --muted:#5b6270; --line:#e4e7ee; --bg:#f6f7fb; }
*{box-sizing:border-box}
body{margin:0;font-family:"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--bg);line-height:1.5}
a{color:var(--navy)}
header.site{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:baseline;justify-content:space-between;
  background:var(--navy);color:#fff;padding:14px 20px}
header .brand{color:#fff;font-weight:800;text-decoration:none;font-size:1.1rem;display:inline-flex;align-items:center;gap:9px}
header .brand-logo{height:26px;width:auto;display:block}
header .tag{color:#cdd6f0;font-size:.82rem}
main{max-width:820px;margin:0 auto;padding:22px 18px 40px}
footer.site{max-width:820px;margin:0 auto;padding:18px;color:var(--muted);font-size:.85rem;border-top:1px solid var(--line)}
.hero h1{margin:.2em 0 .5em;color:var(--navy)}
.search{display:flex;gap:8px}
.search input{flex:1;padding:12px 14px;border:1px solid var(--line);border-radius:8px;font-size:1rem}
.search button,.btn,.contact button{background:var(--navy);color:#fff;border:0;border-radius:8px;padding:12px 18px;font-size:1rem;cursor:pointer;text-decoration:none;display:inline-block}
.search button:hover,.contact button:hover{background:#1b2d5c}
.muted{color:var(--muted);font-size:.9rem}
.faq{margin:22px 0}
.faq details{background:#fff;border:1px solid var(--line);border-radius:8px;margin-bottom:8px;padding:2px 14px}
.faq summary{cursor:pointer;font-weight:600;padding:12px 0;color:var(--navy)}
.faq .answer{padding:0 0 14px;color:var(--ink)}
.depts h2{color:var(--navy);border-top:2px solid var(--gold);padding-top:18px;margin-top:26px}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}
.card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:14px;text-decoration:none;color:var(--ink);display:flex;flex-direction:column;gap:6px}
.card:hover{border-color:var(--gold);box-shadow:0 2px 10px rgba(0,0,0,.06)}
.card strong{color:var(--navy)}
.card span{font-size:.85rem;color:var(--muted)}
.form-wrap{background:#fff;border:1px solid var(--line);border-radius:10px;padding:22px}
.contact{display:flex;flex-direction:column;gap:14px;margin-top:12px}
.contact label{display:flex;flex-direction:column;gap:5px;font-weight:600;font-size:.92rem}
.contact input,.contact textarea{padding:11px 12px;border:1px solid var(--line);border-radius:8px;font-size:1rem;font-family:inherit;font-weight:400}
.hp{position:absolute;left:-9999px;width:1px;height:1px}
.flash{padding:11px 14px;border-radius:8px;margin-bottom:12px;font-size:.92rem}
.flash.error{background:#fdecea;color:#8f2c22;border:1px solid #f5c6c0}
.flash.success{background:#eaf7ee;color:#1e6b38;border:1px solid #bfe6cd}
