:root{--blue:#5b7198;--blue-dark:#415a82;--text:#202124;--muted:#59616b;--line:#e4e7eb}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--text);font:17px/1.6 Arial,Helvetica,sans-serif;background:#fff}
a{color:var(--blue-dark)}
a:hover{text-decoration:none}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #b8c9e5;outline-offset:3px}
.skip-link{position:absolute;left:-9999px;top:8px;background:#fff;padding:8px 12px;z-index:20}
.skip-link:focus{left:8px}
.site-top{max-width:1160px;margin:auto;min-height:70px;padding:16px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand{font-size:29px;font-weight:700;line-height:1.1;color:#17191c;text-decoration:none}
.license{font-size:15px;text-align:right}
.hero{height:260px;background:#7b8793 url(coast.jpg) center 49%/cover no-repeat;position:relative}
.site-nav{background:rgba(77,101,142,.95)}
.nav-inner{max-width:1160px;margin:auto;padding:0 24px;display:flex;flex-wrap:wrap;align-items:center;gap:0 24px}
.site-nav a{display:inline-block;color:white;text-decoration:none;padding:12px 0;font-size:15px;white-space:nowrap}
.site-nav a:hover,.site-nav a[aria-current=page]{text-decoration:underline;text-underline-offset:5px}
.nav-phone{margin-left:auto;font-weight:700}
.page-shell{max-width:1160px;margin:auto;padding:62px 24px 90px;display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:64px;min-height:650px}
.page-shell.wide{display:block}
main{min-width:0}
h1,h2,h3,h4{line-height:1.23;margin:0 0 .7em;color:#16181b}
h1{font-size:clamp(2rem,3.5vw,2.8rem)}
h2{font-size:1.55rem;margin-top:1.65em}
h3{font-size:1.25rem;margin-top:1.45em}
h4{font-size:1.1rem;margin-top:1.3em}
p,ul{margin:0 0 1.2em}
li{margin-bottom:.35em}
.intro-photo{width:84px;height:90px;object-fit:cover;object-position:50% 10%;float:left;margin:2px 20px 10px 0;filter:grayscale(1)}
.intro-lead{min-height:100px}
.action-links{display:flex;gap:14px;flex-wrap:wrap;margin:36px 0 28px}
.button,button{border:0;border-radius:0;background:var(--blue);color:#fff;padding:11px 20px;font:inherit;text-decoration:none;cursor:pointer;display:inline-block}
.button:hover,button:hover{background:var(--blue-dark);color:#fff;text-decoration:none}
.button.secondary{background:#333}
.contact-card{background:var(--blue);color:#fff;padding:32px 30px;align-self:start}
.contact-card h2{color:#fff;font-size:1.5rem;margin:0 0 4px}
.contact-card p{font-size:14px;margin:0 0 20px}
.contact-card label{display:block;font-size:14px;font-weight:700;margin:16px 0 5px}
.contact-card input,.contact-card textarea{width:100%;border:1px solid #d3d8e1;border-radius:0;background:#fff;color:#222;font:inherit;padding:9px}
.contact-card textarea{min-height:135px;resize:vertical}
.contact-card button{background:#30343a;margin-top:18px;font-size:15px}
.contact-card .form-help{margin:12px 0 0;font-size:12px;line-height:1.4;color:#f3f6fb}
.required{color:#ffe6e6}
.news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:24px}
.news-card{border-top:3px solid var(--blue);padding-top:14px}
.news-card h3{font-size:1.13rem;margin:0 0 10px}
.news-card h3 a{color:var(--text);text-decoration:none}
.news-card h3 a:hover{text-decoration:underline}
.news-card p{font-size:14px;line-height:1.55;margin-bottom:10px}
.news-card .more{font-size:14px}
.contact-details a{font-size:1.15rem}
.contact-details h2{margin-top:1.2em}
.calculator{background:#f5f7fa;border:1px solid var(--line);padding:26px;margin-top:26px}
.calc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 22px}
.calculator label{display:block;font-weight:700;font-size:14px;margin-bottom:5px}
.calculator input{width:100%;font:inherit;padding:9px;border:1px solid #b9c1cc;background:#fff;border-radius:0}
.calc-results{margin-top:26px;border-top:1px solid #cfd6e0;padding-top:20px}
.calc-results strong{font-size:2rem;line-height:1.2;color:var(--blue-dark);display:block}
.breakdown{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}
.breakdown div{background:#fff;padding:12px;border:1px solid var(--line)}
.breakdown dt{font-size:13px;color:var(--muted)}
.breakdown dd{margin:2px 0 0;font-weight:700}
.fine-print,.post-meta{color:var(--muted);font-size:13px}
.search-frame{width:100%;min-height:780px;border:1px solid var(--line);background:#fff}
.article-body{max-width:740px}
.article-body h2,.article-body h3{font-size:1.3rem}
.related-links{border-top:1px solid var(--line);padding-top:20px;margin-top:40px}
.related-links ul{padding-left:20px}
.site-footer{background:var(--blue);color:#fff;text-align:center;padding:45px 20px 36px}
.site-footer img{display:block;width:105px;height:115px;object-fit:cover;object-position:50% 10%;filter:grayscale(1);margin:0 auto 6px}
.site-footer h2{color:#fff;font-size:1.7rem;margin:0 0 6px}
.site-footer p{margin:1px 0;font-size:15px}
.site-footer a{color:#fff}
.site-footer small{display:block;margin-top:12px}
@media(max-width:800px){.page-shell{grid-template-columns:1fr;gap:36px;padding-top:42px;min-height:0}.contact-card{max-width:500px}.news-grid{grid-template-columns:1fr 1fr}.nav-phone{margin-left:0}.hero{height:220px}}
@media(max-width:560px){body{font-size:16px}.site-top{padding:15px 18px}.brand{font-size:25px}.license{font-size:12px}.nav-inner{padding:0 18px;gap:0 17px}.site-nav a{font-size:13px;padding:9px 0}.hero{height:180px}.page-shell{padding:34px 18px 60px}.news-grid,.calc-grid,.breakdown{grid-template-columns:1fr}.contact-card{padding:26px 24px}.search-frame{min-height:600px}}
