:root{--b:#0b4f8a;--b2:#083a66;--ink:#1d2430;--mut:#5a6473;--bg:#f6f8fb;--line:#dde3ea;--acc:#e8f1fa}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font:17px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:#fff;padding-bottom:64px}
.wrap{max-width:960px;margin:0 auto;padding:0 18px}
a{color:var(--b)}
h1{font-size:1.75rem;line-height:1.2;margin:.6em 0 .4em}
h2{font-size:1.3rem;line-height:1.25;margin:1.6em 0 .5em}
.top{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}
.top .wrap{display:flex;align-items:center;gap:12px;min-height:56px;flex-wrap:wrap}
.logo{display:flex;align-items:center;gap:6px;font-weight:700;text-decoration:none;color:var(--b2);margin-right:auto}
.top nav{display:none;gap:16px}
.top nav a{text-decoration:none;color:var(--ink)}
.btn{display:inline-block;background:var(--b);color:#fff;text-decoration:none;font-weight:700;padding:12px 18px;border-radius:8px;border:2px solid var(--b)}
.btn:hover{background:var(--b2)}
.btn-sm{padding:6px 12px;font-size:.92rem;display:none}
.btn-ghost{background:#fff;color:var(--b)}
.btn-ghost:hover{background:var(--acc)}
.cta{display:flex;flex-wrap:wrap;gap:10px;margin:1em 0}
.lede{font-size:1.1rem;color:#2c3542}
.small{font-size:.88rem;color:var(--mut)}
.crumbs{font-size:.85rem;color:var(--mut);margin-top:12px}
.cards{list-style:none;padding:0;display:grid;gap:14px;grid-template-columns:1fr}
.cards a{display:flex;flex-direction:column;height:100%;padding:14px 16px;border:1px solid var(--line);border-radius:12px;text-decoration:none;color:var(--ink);background:var(--bg);transition:border-color .15s,box-shadow .15s,transform .15s}
.cards a:hover{border-color:var(--b);box-shadow:0 6px 18px rgba(11,79,138,.12);transform:translateY(-2px)}
.cards.pics a{padding:0;overflow:hidden;background:#fff}
.cards.pics img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;background:var(--acc)}
.cards .ct{padding:12px 16px 14px}
.cards.pics strong{margin-top:2px}
.cards time{display:block;font-size:.8rem;color:var(--mut);text-transform:uppercase;letter-spacing:.04em}
.cards strong{display:block;color:var(--b2)}
.cards span{font-size:.92rem;color:var(--mut)}
.steps li{margin:.4em 0}
table{border-collapse:collapse;width:100%;font-size:.95rem}
th,td{border:1px solid var(--line);padding:8px;text-align:left;vertical-align:top}
th{background:var(--bg)}
.lead{background:var(--acc);border:1px solid #c8dbef;border-radius:12px;padding:16px;margin:2em 0}
.lead h2{margin-top:0}
.lead label{display:block;font-weight:600;margin:.6em 0;font-size:.95rem}
.lead input,.lead select,.lead textarea{display:block;width:100%;margin-top:4px;padding:10px;font:inherit;border:1px solid #b8c4d1;border-radius:6px;background:#fff}
.lead .row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.lead .check{font-weight:400;display:flex;gap:8px;align-items:flex-start}
.lead .check input{width:auto;margin-top:6px}
.lead button{background:var(--b);color:#fff;border:0;border-radius:8px;padding:12px 20px;font:inherit;font-weight:700;cursor:pointer;width:100%}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.faq details{border:1px solid var(--line);border-radius:8px;padding:10px 14px;margin:8px 0}
.faq summary{cursor:pointer;font-weight:600}
footer{background:var(--bg);border-top:1px solid var(--line);margin-top:3em;padding:1em 0 2em}
footer h2{font-size:1rem;margin:1em 0 .3em}
footer ul{list-style:none;padding:0;margin:0}
footer li{margin:.25em 0}
.cols{display:grid;gap:8px}
.disclose{border-top:1px solid var(--line);padding-top:1em;margin-top:1.5em}
.callbar{position:fixed;left:0;right:0;bottom:0;background:var(--b);color:#fff;text-align:center;font-weight:700;padding:16px;text-decoration:none;font-size:1.1rem;z-index:10}
@media (min-width:720px){
 body{padding-bottom:0}
 h1{font-size:2.1rem}
 .top nav{display:flex}
 .btn-sm{display:inline-block}
 .cards{grid-template-columns:1fr 1fr}
 .cols{grid-template-columns:repeat(3,1fr)}
 .lead{max-width:560px}
 .callbar{display:none}
}
img{max-width:100%;height:auto}
figure{margin:0}
.banner img,.inline img{display:block;width:100%;height:auto;border-radius:14px;aspect-ratio:3/2;object-fit:cover;background:var(--acc)}
.banner{margin:.4em 0 1.2em}
.banner img{max-height:420px}
.inline{margin:1.6em auto;max-width:640px}
.inline img{aspect-ratio:16/9}
.hero{position:relative;border-radius:16px;overflow:hidden;margin:14px 0 8px;background:var(--b2)}
.hero img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.hero-text{padding:18px 18px 8px;background:#fff}
.hero h1{margin-top:0}
.alert{border-left:4px solid #d9822b;background:#fff7ee;border-radius:0 10px 10px 0;padding:2px 16px 4px;margin-top:1.4em}
.alert h2{margin-top:.7em}
.top nav a[aria-current]{color:var(--b);font-weight:700}
.meta{margin-top:-.2em}
.towns{columns:2;padding-left:1.1em}
.tablewrap{overflow-x:auto}
.steps{counter-reset:s;list-style:none;padding:0;display:grid;gap:10px}
.steps li{counter-increment:s;position:relative;padding:12px 14px 12px 52px;background:var(--bg);border-radius:10px;border:1px solid var(--line);margin:0}
.steps li::before{content:counter(s);position:absolute;left:14px;top:12px;width:26px;height:26px;border-radius:50%;background:var(--b);color:#fff;font-weight:700;text-align:center;line-height:26px;font-size:.9rem}
section{scroll-margin-top:70px}
@media (min-width:720px){
 .hero{min-height:440px}
 .hero img{position:absolute;inset:0;height:100%;aspect-ratio:auto}
 .hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,30,55,.82) 0%,rgba(8,30,55,.55) 55%,rgba(8,30,55,.1) 100%)}
 .hero-text{position:relative;z-index:1;background:none;color:#fff;max-width:580px;padding:56px 36px}
 .hero .lede{color:#e9f1fa}
 .hero .btn-ghost{background:rgba(255,255,255,.95)}
 .cards.pics,.cards.posts{grid-template-columns:repeat(3,1fr)}
 .steps{grid-template-columns:repeat(3,1fr)}
}
@media (min-width:720px) and (max-width:959px){.cards.pics,.cards.posts{grid-template-columns:1fr 1fr}}
@media (min-width:720px){.cards.pics.areas{grid-template-columns:repeat(2,1fr)}}
@media (min-width:960px){.cards.pics.areas{grid-template-columns:repeat(4,1fr)}}
