:root{--blue:#001cfb;--btn:#6179ce;--btn-h:#4a63bd;--text:#7a7a7a;--head:#000;--card:#e1e1e1;--foot:#45454e;--max:1140px}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font:400 15px/1.6 Roboto,-apple-system,system-ui,"Segoe UI","Helvetica Neue",Arial,sans-serif;color:var(--text);background:#fff}
h1,h2,h3{color:var(--head);font-weight:500;line-height:1.2;margin:0 0 .6em}
a{color:inherit}
img{max-width:100%;height:auto;display:block}
.wrap{max-width:var(--max);margin:0 auto;padding:0 16px}
.skip{position:absolute;left:-999px}.skip:focus{left:16px;top:16px;background:#fff;padding:8px;z-index:9}

/* Hero */
.hero{position:relative;min-height:62vh;display:grid;place-items:center;text-align:center;color:#fff;overflow:hidden;background:#1d2a8c}
.hero picture,.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero::after{content:"";position:absolute;inset:0;background:rgba(0,28,251,.42)}
.hero .wrap{position:relative;z-index:1;padding-block:80px}
.hero h1{color:#fff;font-size:clamp(32px,5.5vw,56px);margin-bottom:.3em}
.hero p{color:#fff;font-size:clamp(18px,2.4vw,26px);font-weight:500;margin:0}

/* Services */
.services{padding:64px 0 48px}
.services h2,.contact h2{text-align:center;font-size:clamp(26px,3vw,32px);margin-bottom:28px}
.grid{display:grid;gap:20px;grid-template-columns:repeat(6,1fr)}
.card{background:var(--card);padding:24px 20px;text-align:center;grid-column:span 2}
.card:nth-child(n+4){grid-column:span 3}
.card h3{font-size:26px}
.card p{margin:0 0 1em}.card p:last-child{margin:0}

/* Contact */
.contact{padding:48px 0 72px}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}
form{display:grid;gap:12px}
input,textarea{width:100%;font:inherit;color:#333;padding:8px 12px;border:1px solid #818a91;border-radius:3px;background:#fff}
textarea{min-height:110px;resize:vertical}
input:focus,textarea:focus{outline:2px solid var(--btn);outline-offset:1px}
button{font:inherit;font-weight:500;color:#fff;background:var(--btn);border:0;border-radius:3px;padding:10px;cursor:pointer}
button:hover{background:var(--btn-h)}button:disabled{opacity:.6;cursor:wait}
.hp{position:absolute;left:-9999px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.status{min-height:1.4em;margin:0;font-size:14px}.status.ok{color:#1a7f37}.status.err{color:#b42318}
.info h3{font-size:28px}.info h4{color:#000;font-size:22px;font-weight:500;margin:.6em 0 .3em}
.info p{margin:0 0 1em}

/* Footer */
footer{background:var(--foot);color:#fff;font-size:14px}
footer .wrap{display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between;align-items:center;padding-block:28px}
footer a{text-decoration:none}footer a:hover{text-decoration:underline}
footer nav{display:flex;gap:16px}

/* Legal */
.legal{padding:48px 0 72px;max-width:820px}
.legal h1{font-size:34px}.legal h2{font-size:22px;margin-top:1.6em}
.legal .back{display:inline-block;margin-bottom:24px;color:var(--btn)}
.topbar{background:var(--foot);color:#fff}.topbar .wrap{padding-block:16px}.topbar a{text-decoration:none;font-weight:500}

@media (max-width:767px){
 .grid{grid-template-columns:1fr}.card,.card:nth-child(n+4){grid-column:auto}
 .contact-grid{grid-template-columns:1fr}
 footer .wrap{flex-direction:column;text-align:center}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
