* { box-sizing: border-box; }
body { margin: 0; color: #172333; background: #f4f6fa; font: 16px/1.5 system-ui, sans-serif; }
header { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; padding: 1rem 4vw; background: #162d46; color: white; }
nav, .filters { display: flex; flex-wrap: wrap; align-items: center; gap: .8rem; }
header a { color: #e0f0ff; }
header form { margin-left: auto; }
main { max-width: 900px; margin: 1.5rem auto; padding: 0 1rem 3rem; }
article, .banner { padding: .8rem 1rem; background: white; border: 1px solid #dbe3ec; border-radius: .5rem; margin: 1rem 0; }
article h2 { margin: 0; font-size: 1.2rem; }
.banner { background: #fff4d7; }
a { color: #14558c; }
button { background: #245984; color: white; border: 0; border-radius: .35rem; padding: .55rem .8rem; cursor: pointer; }
input, select, textarea { max-width: 100%; padding: .35rem; }
.errorlist { color: #9f1d1d; }
