:root{--sky:#0ea5e9;--band:#0284c7;--cyan:#87d4f0;--navy:#1e3a8a;--ink:#14213d;--bg:#f7fafc;--line:#d5dde6}
*{box-sizing:border-box}
html{scroll-padding-top:70px}
body{margin:0;padding-top:34px;font-family:Inter,system-ui,sans-serif;color:var(--ink);background:var(--bg);line-height:1.65;letter-spacing:-.01em}
h1,h2,h3{font-family:Poppins,Inter,sans-serif;letter-spacing:-.03em;line-height:1.15;margin:0 0 .6em;color:var(--navy)}
a{color:var(--navy)}
.banner{position:fixed;top:0;left:0;right:0;z-index:10000;background:#111827;color:#f3f4f6;font:600 12px/34px Inter,system-ui,sans-serif;text-align:center;height:34px;padding:0 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body::after{content:"";position:fixed;inset:0;z-index:9000;pointer-events:none;opacity:.06;
background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='900' height='700'><text x='450' y='350' text-anchor='middle' transform='rotate(-30 450 350)' font-family='Arial Black,Arial,sans-serif' font-weight='900' font-size='110' fill='%23555555'>PREVIEW</text></svg>");background-size:900px 700px}
.wrap{max-width:1040px;margin:0 auto;padding:0 20px}
header.site{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:34px;z-index:100}
header.site .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 20px;padding-top:10px;padding-bottom:10px}
.logo{font:700 1rem Poppins,sans-serif;letter-spacing:-.03em;color:var(--navy);text-decoration:none}
nav{display:flex;gap:4px;flex-wrap:wrap}
nav a{padding:6px 12px;text-decoration:none;font-weight:500;border-radius:4px;color:var(--ink)}
nav a:hover{background:#e8f6fc}
nav a[aria-current=page]{border-bottom:2px solid var(--sky);font-weight:600}
.tel{background:var(--navy);color:#fff;text-decoration:none;font-weight:600;padding:8px 14px;border-radius:4px;white-space:nowrap}
.hero{background:var(--band);color:#fff;padding:72px 0 80px}
.hero h1{color:#fff;font-size:clamp(2.3rem,7vw,4.4rem);max-width:15ch}
.hero p{font-size:1.25rem;font-weight:600;max-width:34em;margin:0}
section{padding:56px 0}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.card{background:#fff;border:1px solid var(--line);border-top:3px solid var(--sky);padding:28px;border-radius:4px}
.card h3{font-size:1.2rem}.card p{margin:0}
.band2{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.btn{display:inline-block;background:var(--navy);color:#fff;border:1px solid var(--navy);padding:11px 20px;border-radius:4px;font:600 1rem Inter,sans-serif;text-decoration:none;cursor:pointer}
.btn:hover{background:#172c6b}
.ph{background:#e8f6fc;border:1px dashed var(--navy);padding:0 5px;border-radius:3px;font-weight:600}
form{max-width:560px;background:#fff;border:1px solid var(--line);padding:28px;border-radius:4px}
label{display:block;font-weight:600;margin:0 0 4px}
input,textarea{width:100%;font:inherit;padding:10px;border:1px solid #6b7a8c;border-radius:4px;margin-bottom:4px;background:#fff;color:var(--ink)}
input:focus,textarea:focus,a:focus,button:focus{outline:3px solid var(--sky);outline-offset:1px}
.err{color:#b00020;font-size:.9rem;min-height:1.3em;margin-bottom:10px}
.ok{background:#e8f6fc;border:1px solid var(--navy);padding:14px;border-radius:4px;margin-top:16px}
footer{background:#fff;border-top:1px solid var(--line);padding:32px 0;font-size:.95rem}
footer p{margin:0 0 6px}
@media(max-width:640px){.grid{grid-template-columns:1fr}.hero{padding:48px 0 56px}section{padding:40px 0}.logo{font-size:.95rem}}
