@font-face{font-family:'Source Sans 3';src:url('fonts/source-sans-3-upright.woff2') format('woff2');font-weight:200 900;font-style:normal;font-display:swap}
:root{font-family:'Source Sans 3',system-ui,sans-serif;font-size:112.5%;line-height:1.6;color:#20384d;background:#fff;--accent:#0c6bb2;--soft:#f1f5fa;--line:#d8e3ef}
*{box-sizing:border-box}
body{margin:0;border-top:6px solid var(--accent)}
header,main,footer{width:min(100% - 48px,1000px);margin-inline:auto}
header{padding-block:30px 24px;border-bottom:1px solid var(--line)}
.logo{display:block;width:260px;max-width:100%;height:auto}
.intro{padding-block:38px 28px;max-width:760px}
h1{max-width:20ch;font-size:clamp(2rem,4vw,2.75rem);line-height:1.15;letter-spacing:-.025em;font-weight:650;margin:0 0 20px}
h2{font-size:1.25rem;line-height:1.3;font-weight:650;margin:0 0 18px}
p{margin:0 0 14px}
p:last-child{margin-bottom:0}
.lead{font-size:1.3rem;color:var(--accent);font-weight:600}
.contact{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;background:var(--soft);border-radius:16px;padding:28px 32px;margin-bottom:26px}
.contact>div{min-width:0}
.label{font-size:1rem;color:#506579;margin-bottom:0}
.phone{font-size:1.3rem;font-weight:600}
address{font-style:normal}
a{color:var(--accent);text-decoration:none;overflow-wrap:anywhere;text-underline-offset:.2em}
a:hover,a:focus-visible{text-decoration:underline}
a:focus-visible,summary:focus-visible{outline:3px solid #a64117;outline-offset:4px;border-radius:2px}
footer{border-top:1px solid var(--line);padding-block:10px 28px}
details{border-bottom:1px solid var(--line)}
summary{cursor:pointer;padding:12px 4px;color:var(--accent);font-weight:600;min-height:48px}
.legal{padding:12px 4px 22px;max-width:76ch;overflow-wrap:anywhere}
.legal h2:not(:first-child){margin-top:22px}
.skip{position:absolute;top:-100px;left:16px;background:#fff;padding:12px;z-index:2}
.skip:focus{top:12px}
@media(max-width:650px){header,main,footer{width:calc(100% - 36px)}header{padding-block:24px 20px}.logo{width:230px}.intro{padding-block:28px 24px}.contact{grid-template-columns:1fr;gap:26px;padding:24px 20px}.lead{font-size:1.2rem}}
@media print{body{border-top:0}header,main,footer{width:100%}.skip{display:none}}
h1,h2,p,address,summary{overflow-wrap:anywhere}
