:root{--navy:#14245a;--navy-2:#0f1b45;--red:#b11d2b;--ink:#161b29;--muted:#5a6072;--line:#dfe2e8;--soft:#f3f4f6}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'IBM Plex Sans',system-ui,sans-serif;font-size:17px;color:var(--ink);background:#fff;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a[href^="tel"]{white-space:nowrap}
h1,h2,h3,.lead{text-wrap:balance}
p{text-wrap:pretty}
a{color:inherit}
.wrap{max-width:1140px;margin:0 auto;padding:0 24px}
h1,h2,h3{font-weight:700;line-height:1.08;letter-spacing:-.01em}
h2{font-size:clamp(1.8rem,3.2vw,2.4rem);color:var(--navy);margin-bottom:40px}
.btn{display:inline-block;background:var(--red);color:#fff;text-decoration:none;padding:14px 24px;border:0;border-radius:2px;font:inherit;font-weight:700;cursor:pointer}
.btn:hover{background:#951724}
.btn-sm{padding:9px 16px;font-size:.9rem}

.topbar{background:var(--navy-2);color:rgba(255,255,255,.8);font-size:.85rem}
.topbar-in{display:flex;align-items:center;justify-content:flex-end;gap:24px;height:38px}
.topbar a{text-decoration:none}.topbar a:hover{color:#fff}
.addr{margin-right:auto}
.lang{display:flex;gap:2px}
.lang button{border:0;background:none;font:inherit;font-weight:600;color:rgba(255,255,255,.55);padding:2px 6px;cursor:pointer}
.lang button.on{color:#fff;text-decoration:underline;text-underline-offset:4px}

.nav{position:sticky;top:0;z-index:10;background:#fff;border-bottom:1px solid var(--line)}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:76px}
.brand img{height:36px;width:auto}
.links{display:flex;align-items:center;gap:32px;font-weight:600}
.links>a:not(.btn){text-decoration:none}
.links>a:not(.btn):hover{color:var(--red)}

.hero{position:relative;color:#fff;background:var(--navy-2)}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 60%}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,27,69,.85) 0%,rgba(15,27,69,.35) 70%)}
.wrap.hero-in{position:relative;z-index:1;padding-top:clamp(90px,16vh,170px);padding-bottom:clamp(70px,12vh,130px)}
.hero h1{font-size:clamp(2.3rem,5.6vw,4.4rem);max-width:12ch}
.lead{font-size:clamp(1.05rem,1.5vw,1.25rem);margin-top:20px;color:rgba(255,255,255,.88)}
.cta{display:flex;flex-wrap:wrap;align-items:center;gap:22px;margin-top:36px}
.or{color:rgba(255,255,255,.8)}
.or a{color:#fff;font-weight:700;text-decoration:none;white-space:nowrap}
.or a:hover{text-decoration:underline}

.services{padding:96px 0}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:48px}
.svc img{aspect-ratio:3/2;object-fit:cover;width:100%;margin-bottom:26px}
.svc h3{font-size:1.5rem;color:var(--navy);margin-bottom:10px}
.svc p{color:var(--muted);max-width:52ch}
.svc .ask{margin-top:16px;color:var(--ink)}
.ask a{color:var(--red);font-weight:600;text-underline-offset:3px}

.contact{padding:96px 0;background:var(--soft)}
.cgrid{display:grid;grid-template-columns:1fr 1.1fr;gap:72px;align-items:start}
.contact h2{margin-bottom:16px}
.muted{color:var(--muted);max-width:40ch}
.facts{border-collapse:collapse;margin-top:32px;width:100%;max-width:420px}
.facts th,.facts td{text-align:left;vertical-align:top;padding:12px 0;border-top:1px solid var(--line)}
.facts th{font-weight:400;color:var(--muted);width:110px}
.facts td{font-weight:600}
.facts a{text-decoration:none}.facts a:hover{color:var(--red)}
.route{display:inline-block;margin-top:24px;color:var(--red);font-weight:600;text-underline-offset:3px}
.form{background:#fff;border:1px solid var(--line);padding:36px;display:grid;gap:18px}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.form label{display:grid;gap:6px;font-size:.9rem;font-weight:600}
.form input,.form textarea{font:inherit;font-weight:400;color:var(--ink);background:#fff;border:1px solid #c9cdd6;border-radius:2px;padding:11px 13px;resize:vertical}
.form input:focus,.form textarea:focus{outline:2px solid var(--navy);outline-offset:-1px}
.form .btn{margin-top:4px}
.form>.btn{justify-self:start}
.form .btn:disabled{opacity:.6;cursor:default}
.send{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.status{font-size:.95rem;color:var(--muted)}
.status.ok{color:#1d7a3e;font-weight:600}
.status.err{color:var(--red)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

.foot{background:var(--navy-2);color:rgba(255,255,255,.72);font-size:.92rem;padding:56px 0 28px}
.foot strong{color:#fff}
.foot a{text-decoration:none}.foot a:hover{color:#fff}
.foot-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;line-height:1.7}
.foot-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-top:44px;padding-top:22px;border-top:1px solid rgba(255,255,255,.14)}
.foot nav{display:flex;gap:22px}
.foot-in{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.foot-in img{height:28px;width:auto;background:#fff;padding:6px 10px;box-sizing:content-box}

.legal{padding:80px 0 100px}
.legal .wrap{max-width:820px}
.legal h1{font-size:clamp(2rem,4.5vw,3rem);color:var(--navy);margin-bottom:36px}
.legal h2{font-size:1.15rem;margin:34px 0 10px}
.legal p,.legal li{color:var(--muted);margin-bottom:10px}
.legal ul{padding-left:20px}
.legal a{color:var(--red);word-break:break-all}

@media (max-width:860px){
  .grid,.cgrid{grid-template-columns:1fr}
  .grid{gap:56px}.cgrid{gap:48px}
  .addr{display:none}
  .topbar-in{justify-content:space-between;gap:14px}
  .services,.contact{padding:72px 0}
  .foot-cols{grid-template-columns:1fr}
}
@media (max-width:520px){
  .wrap{padding:0 16px}
  .wrap.hero-in{padding-top:72px;padding-bottom:64px}
  .hero h1{font-size:2.35rem}
  .cta{gap:16px}
  .topbar a[href^="mailto"]{display:none}
  .brand img{height:28px}
  .links{gap:18px;font-size:.95rem}
  .links .btn-sm{display:none}
  .form>.btn,.send,.send .btn{width:100%}
  .form{padding:22px}.form .row{grid-template-columns:1fr}
}
