:root{
  --navy-deep:#0a1c3d;
  --brand-blue:#0047bb;
  --bg:#ffffff;
  --bg-soft:#f4f5f8;
  --border:#e2e5ec;
  --text:#12172b;
  --text-muted:#5a6072;
  --footer-bg:#0a1122;
  --footer-text:#aeb4c4;
  --sans:-apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Helvetica, Arial, "Liberation Sans", sans-serif;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--sans);
  color:var(--text);
  background:var(--bg);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;}
:focus-visible{outline:2px solid var(--brand-blue);outline-offset:3px;}
.wrap{max-width:1180px;margin:0 auto;padding:0 32px;}

footer{background:var(--footer-bg);color:var(--footer-text);padding:48px 0 32px;}
.footer-inner{display:flex;flex-direction:column;align-items:center;gap:22px;text-align:center;}
.footer-inner img{height:34px;width:auto;opacity:.9;}
.footer-links{display:flex;gap:28px;flex-wrap:wrap;justify-content:center;}
.footer-links a{font-size:14px;color:var(--footer-text);text-decoration:none;}
.footer-links a:hover{color:#fff;text-decoration:underline;}
.footer-copy{font-size:13px;color:#8b91a3;margin:0;}
@media (max-width:820px){ .wrap{padding:0 22px;} }

.hero{
  position:relative;
  min-height:78vh;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  background-image:
    linear-gradient(165deg, rgba(9,25,56,.82) 0%, rgba(11,29,64,.86) 45%, rgba(8,19,42,.92) 100%),
    url("hero.jpg");
  background-size:cover;
  background-position:center 32%;
  background-blend-mode:multiply;
}
.hero-logo{position:absolute;top:0;left:0;z-index:4;padding:22px 0 0 32px;}
.hero-logo img{height:200px;width:auto;display:block;}
.hero-kontakt{position:absolute;top:0;right:0;z-index:4;padding:24px 32px 0 0;}
.kontakt-pill{
  display:inline-block;
  border:1px solid rgba(255,255,255,.55);
  border-radius:999px;
  padding:7px 18px;
  font-size:12px;
  letter-spacing:.06em;
  text-transform:uppercase;
  text-decoration:none;
  color:#fff;
  transition:background-color .18s ease, color .18s ease;
  white-space:nowrap;
}
.kontakt-pill:hover{background:#fff;color:var(--navy-deep);}
.hero-copy{position:relative;z-index:3;flex:1;display:flex;align-items:flex-end;padding-bottom:9vh;}
.hero-copy h1{
  font-weight:600;
  font-size:clamp(24px, 3.6vw, 40px);
  line-height:1.18;
  letter-spacing:-.01em;
  color:#fff;
  max-width:640px;
  margin:0;
}
@media (prefers-reduced-motion: no-preference){
  .hero-copy h1{
    opacity:0;
    transform:translateY(14px);
    animation:riseIn .8s ease .15s forwards;
  }
  @keyframes riseIn{to{opacity:1;transform:translateY(0);}}
}

.about{padding:112px 0;background:var(--bg);}
.about-grid{display:grid;grid-template-columns:230px 1fr;gap:64px;}
.about-meta dt{font-size:13px;color:var(--text-muted);margin-top:22px;}
.about-meta dt:first-child{margin-top:0;}
.about-meta dd{margin:4px 0 0;font-size:15px;font-weight:500;}
.about-body p{font-size:18px;color:var(--text);max-width:62ch;margin:0 0 18px;}
.about-body p:last-child{margin-bottom:0;}

.services{padding:100px 0 116px;background:var(--bg-soft);border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
.services h2{font-weight:600;font-size:clamp(26px,3vw,34px);margin:0 0 48px;color:var(--navy-deep);}
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.card{background:#fff;border:1px solid var(--border);border-radius:6px;padding:32px 28px;}
.card .icon{width:44px;height:44px;border-radius:50%;background:rgba(0,71,187,.1);display:flex;align-items:center;justify-content:center;margin-bottom:20px;}
.card .icon svg{width:22px;height:22px;stroke:var(--brand-blue);}
.card h3{font-weight:600;font-size:19px;margin:0 0 10px;color:var(--text);}
.card p{margin:0;font-size:15px;color:var(--text-muted);}

.engagement{padding:88px 0 0;background:var(--bg);}
.engagement-grid{display:grid;grid-template-columns:200px 1fr;gap:48px;align-items:center;}
.engagement-image img{width:100%;height:auto;display:block;border-radius:6px;border:1px solid var(--border);}
.engagement-body h2{font-weight:600;font-size:clamp(24px,2.6vw,30px);margin:0 0 14px;color:var(--navy-deep);}
.engagement-body p{font-size:17px;color:var(--text);max-width:56ch;margin:0;}
@media (max-width:820px){
  .engagement{padding:52px 0 0;}
  .engagement-grid{grid-template-columns:1fr;gap:22px;}
  .engagement-image img{max-width:200px;}
}

.kontakt{padding:84px 0 110px;background:var(--bg);}
.kontakt h2{font-weight:600;font-size:clamp(26px,3vw,34px);margin:0 0 40px;color:var(--navy-deep);}
.kontakt-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;}
.kontakt-list{margin:0;padding:0;}
.kontakt-row{display:flex;gap:16px;padding:16px 0;border-bottom:1px solid var(--border);font-size:16px;}
.kontakt-row:first-child{padding-top:0;}
.kontakt-row dt{min-width:96px;color:var(--text-muted);font-size:13px;font-weight:400;padding-top:2px;margin:0;}
.kontakt-row dd{margin:0;}
.kontakt-row a{text-decoration:none;color:var(--brand-blue);font-weight:500;}
.kontakt-row a:hover{text-decoration:underline;}
.kontakt-note{align-self:center;color:var(--text-muted);font-size:16px;max-width:42ch;}

@media (max-width:820px){
  .about-grid{grid-template-columns:1fr;gap:32px;}
  .card-grid{grid-template-columns:1fr;}
  .kontakt-grid{grid-template-columns:1fr;gap:24px;}
  .hero{min-height:74vh;}
  .hero-copy{padding-bottom:8vh;}
  .hero-logo{padding:16px 0 0 22px;}
  .hero-logo img{height:120px;}
  .hero-kontakt{padding:20px 22px 0 0;}
}

.legal-head{background:var(--navy-deep);padding:30px 0 34px;}
.legal-head .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;}
.legal-head img{height:74px;width:auto;}
.legal-head a.back{color:#fff;font-size:13px;text-decoration:none;border:1px solid rgba(255,255,255,.55);border-radius:999px;padding:7px 18px;white-space:nowrap;}
.legal-head a.back:hover{background:#fff;color:var(--navy-deep);}
.legal-body{padding:72px 0 110px;}
.legal-body .wrap{max-width:760px;}
.legal-body h1{font-weight:600;font-size:clamp(28px,4vw,36px);margin:0 0 10px;color:var(--navy-deep);}
.legal-body h2{font-weight:600;font-size:18px;margin:34px 0 8px;color:var(--text);}
.legal-body p{font-size:16px;color:var(--text);}
.legal-body ul{font-size:16px;color:var(--text);padding-left:22px;}
.legal-body li{margin:4px 0;}
.legal-body a{color:var(--brand-blue);}
.legal-stand{font-size:14px;color:var(--text-muted);margin-top:40px;}
@media (max-width:820px){ .legal-head img{height:54px;} }

@media print{
  footer{display:none;}
  .legal-head{background:#fff;padding:0 0 16px;border-bottom:2px solid #000;}
  .legal-head img{display:none;}
  .legal-head a.back{display:none;}
  .legal-body{padding:24px 0;}
  .legal-body a{color:#000;text-decoration:underline;}
  a[href^="mailto"]:after, a[href^="tel"]:after{content:" (" attr(href) ")";font-size:12px;}
}
