*{box-sizing:border-box}html{scroll-behavior:smooth}
:root{--ink:#10262d;--teal:#0b3b4a;--ice:#eaf6f8;--or:#ff6a13;--mut:#4d6670}
body{margin:0;font:17px/1.65 Sora,system-ui,sans-serif;color:var(--ink);background:#fff}
.w{max-width:1040px;margin:auto;padding:0 20px}
header{background:var(--teal);color:#fff;position:sticky;top:0;z-index:9}
.hb{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;flex-wrap:wrap}
.logo{font-weight:800;color:#fff;text-decoration:none;font-size:18px}
.tel{background:var(--or);color:#fff;font-weight:800;text-decoration:none;padding:10px 18px;border-radius:40px;font-size:18px;white-space:nowrap}
nav{background:#08303c}nav .w{display:flex;gap:18px;overflow-x:auto;padding:8px 20px}
nav a{color:#cfe6ec;text-decoration:none;font-size:14px;white-space:nowrap}nav a:hover,nav a[aria-current]{color:#fff;text-decoration:underline}
:focus-visible{outline:3px solid var(--or);outline-offset:2px}
.hero{background:var(--ice);padding:56px 0}
h1{font-size:clamp(28px,5vw,46px);line-height:1.15;margin:0 0 16px;color:var(--teal);max-width:20ch;letter-spacing:-.5px}
.hero p{max-width:60ch;color:var(--mut)}
.btn{display:inline-block;margin:6px 8px 0 0;padding:13px 22px;border-radius:8px;font-weight:700;text-decoration:none;background:var(--or);color:#fff}
.btn.g{background:#fff;color:var(--teal);border:2px solid var(--teal)}
section{padding:44px 0}h2{font-size:28px;color:var(--teal);margin:0 0 14px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.card{border:1px solid #cfe0e5;border-radius:10px;padding:18px;text-decoration:none;color:var(--ink)}
a.card:hover{border-color:var(--or)}.card b{display:block;color:var(--teal)}
ul.l{padding-left:20px}ul.l li{margin:6px 0}
details{border-bottom:1px solid #cfe0e5;padding:12px 0}summary{cursor:pointer;font-weight:700}
.cta{background:var(--teal);color:#fff;text-align:center}.cta h2{color:#fff}
footer{background:#08303c;color:#b9d3da;font-size:14px;padding:28px 0}footer a{color:#fff}
.bc{font-size:14px;color:var(--mut);padding-top:14px}.bc a{color:var(--mut)}
@media(max-width:560px){.logo{font-size:16px}.tel{font-size:16px;padding:9px 14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}