
:root{--ink:#1d2433;--navy:#18284a;--brick:#a23b2a;--paper:#fbf8f3;--line:#e3dccf;--muted:#5d6472;--soft:#f1ebe0}
*{box-sizing:border-box}
html{font-size:17px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Charter,"Bitstream Charter","Sitka Text",Cambria,Georgia,serif;line-height:1.65}
a{color:var(--brick)}
a:hover{color:var(--navy)}
.wrap{max-width:1120px;margin:0 auto;padding:0 22px}
.topline{background:var(--navy);color:#d9dfeb;font:13px/1.4 system-ui,-apple-system,"Segoe UI",sans-serif;padding:7px 0}
.topline .wrap{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
header.site{border-bottom:3px double var(--line);background:#fff}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:18px;padding-bottom:18px;flex-wrap:wrap}
.brand{text-decoration:none;color:var(--navy);display:flex;align-items:center;gap:12px}
.brand .seal{width:44px;height:44px;border:2px solid var(--brick);border-radius:50%;display:grid;place-items:center;font:700 15px/1 Georgia,serif;color:var(--brick);letter-spacing:.5px}
.brand b{font-size:1.45rem;letter-spacing:.3px;display:block;line-height:1.1}
.brand small{font:12px system-ui,sans-serif;color:var(--muted);text-transform:uppercase;letter-spacing:1.5px}
nav.main{display:flex;gap:4px;flex-wrap:wrap;font:15px system-ui,-apple-system,"Segoe UI",sans-serif}
nav.main a{color:var(--ink);text-decoration:none;padding:8px 11px;border-radius:3px}
nav.main a:hover,nav.main a.on{background:var(--soft);color:var(--brick)}
.crumbs{font:13px system-ui,sans-serif;color:var(--muted);margin:22px 0 0}
.crumbs a{color:var(--muted)}
.layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:48px;margin:18px auto 60px}
article h1{font-size:2.15rem;line-height:1.2;color:var(--navy);margin:.2em 0 .4em}
article h2{font-size:1.4rem;color:var(--navy);margin-top:1.8em;border-bottom:1px solid var(--line);padding-bottom:4px}
article h3{font-size:1.12rem;margin-top:1.4em}
article table{border-collapse:collapse;width:100%;margin:1.2em 0;font:15px/1.45 system-ui,sans-serif;background:#fff}
article th,article td{border:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}
article th{background:var(--soft)}
.lede{font-size:1.15rem;color:#38404f}
.byline{font:13px system-ui,sans-serif;color:var(--muted);border-top:1px solid var(--line);margin-top:2.5em;padding-top:10px}
aside.side{font:15px/1.5 system-ui,sans-serif}
aside.side .box{background:#fff;border:1px solid var(--line);border-top:4px solid var(--brick);padding:16px 18px;margin-bottom:22px}
aside.side h4{margin:0 0 8px;font-size:13px;text-transform:uppercase;letter-spacing:1.2px;color:var(--navy)}
aside.side ul{list-style:none;margin:0;padding:0}
aside.side li{padding:5px 0;border-bottom:1px dotted var(--line)}
aside.side li:last-child{border:0}
aside.side a{text-decoration:none}
.kids{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;margin:1.5em 0}
.kids a{display:block;background:#fff;border:1px solid var(--line);padding:16px;text-decoration:none;color:var(--ink)}
.kids a:hover{border-color:var(--brick)}
.kids b{display:block;color:var(--navy);font-size:1.05rem;margin-bottom:4px}
.kids span{font:14px/1.45 system-ui,sans-serif;color:var(--muted)}
.hero{background:var(--navy);color:#fff;padding:56px 0 50px}
.hero h1{font-size:2.5rem;line-height:1.15;margin:0 0 14px;max-width:760px}
.hero p{max-width:680px;font-size:1.12rem;color:#dfe5f1}
.hero .btns a{display:inline-block;margin:10px 10px 0 0;padding:10px 18px;background:var(--brick);color:#fff;text-decoration:none;font:600 15px system-ui,sans-serif;border-radius:3px}
.hero .btns a.alt{background:transparent;border:1px solid #9fb0d0}
.cols3{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin:44px auto}
.cols3 section{background:#fff;border:1px solid var(--line);padding:22px}
.cols3 h2{font-size:1.2rem;margin:0 0 8px;color:var(--navy)}
.cols3 ul{padding-left:18px;margin:10px 0 0}
.band{background:var(--soft);padding:36px 0;margin-top:20px}
.band h2{color:var(--navy);margin-top:0}
.cal{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.cal div{background:#fff;border-left:4px solid var(--brick);padding:12px 14px;font:14px/1.45 system-ui,sans-serif}
.cal b{display:block;color:var(--navy);font-size:15px}
footer.site{background:#121c33;color:#b9c2d6;font:14px/1.6 system-ui,sans-serif;padding:36px 0 26px}
footer.site .cols{display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px}
footer.site a{color:#e2e7f2;text-decoration:none}
footer.site a:hover{text-decoration:underline}
footer.site ul{list-style:none;padding:0;margin:0}
footer.site .legal{border-top:1px solid #2b3858;margin-top:22px;padding-top:14px;display:flex;gap:16px;flex-wrap:wrap}
form.contact label{display:block;font:600 14px system-ui,sans-serif;margin-top:12px}
form.contact input,form.contact textarea,form.contact select{width:100%;padding:9px;border:1px solid var(--line);font:15px system-ui,sans-serif;background:#fff}
form.contact button{margin-top:14px;background:var(--navy);color:#fff;border:0;padding:10px 18px;font:600 15px system-ui,sans-serif;cursor:pointer}
@media (max-width:900px){.layout{grid-template-columns:1fr}.cols3{grid-template-columns:1fr}.cal{grid-template-columns:1fr 1fr}footer.site .cols{grid-template-columns:1fr}.hero h1{font-size:1.9rem}}
@media (max-width:520px){html{font-size:16px}.cal{grid-template-columns:1fr}article h1{font-size:1.7rem}}

.form-error{color:#b42318;font-size:14px;margin:10px 0 0;min-height:1em}
[aria-invalid="true"]{border-color:#b42318!important;outline-color:#b42318}
