@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Manrope:wght@500;600;700;800&display=swap');

:root{
  --ink:#101317; --muted:#697079; --paper:#f5f4f0; --white:#fff;
  --line:rgba(16,19,23,.14); --accent:#b9a27b; --dark:#121519;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",Arial,sans-serif;line-height:1.6}
a{color:inherit;text-decoration:none}
.site-header{height:78px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(245,244,240,.94);backdrop-filter:blur(12px);z-index:10}
.brand{display:flex;align-items:center;gap:11px;font-family:Manrope,sans-serif;font-weight:800;letter-spacing:.12em;font-size:13px}
.brand-mark{width:31px;height:31px;border:1px solid var(--ink);display:grid;place-items:center;font-size:15px;letter-spacing:0}
.nav{display:flex;gap:34px;font-size:13px;color:#4d535a}
.nav a:hover{color:var(--ink)}
.language-switch{display:flex;gap:7px;align-items:center;font-size:12px;font-weight:700}
.lang{border:0;background:none;padding:4px;cursor:pointer;font:inherit;color:#8b9096}
.lang.active{color:var(--ink)}
.hero{min-height:calc(100vh - 78px);display:grid;align-items:center;padding:8vw 5vw}
.hero-grid{max-width:1400px;width:100%;margin:auto;display:grid;grid-template-columns:1.05fr .95fr;gap:7vw;align-items:center}
.eyebrow,.section-kicker{font-size:11px;letter-spacing:.17em;font-weight:700;color:#7d838a}
.hero h1{font-family:Manrope,sans-serif;font-size:clamp(48px,6.6vw,96px);line-height:1.01;letter-spacing:-.055em;margin:20px 0 26px;font-weight:700}
em{font-style:normal;color:#9a8562}
.hero-text{font-size:18px;max-width:580px;color:#5e656d}
.hero-actions{display:flex;gap:12px;margin-top:34px}
.button{padding:13px 22px;font-size:13px;font-weight:700;border:1px solid var(--ink)}
.button-primary{background:var(--ink);color:white}
.button-ghost{background:transparent}
.hero-visual{height:530px;position:relative;overflow:hidden;border-left:1px solid var(--line)}
.hero-visual:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 48%,rgba(185,162,123,.15) 49%,transparent 50%),linear-gradient(25deg,transparent 47%,rgba(16,19,23,.08) 48%,transparent 49%);background-size:160px 160px,190px 190px}
.orb{position:absolute;border:1px solid rgba(16,19,23,.22);border-radius:50%}
.orb-a{width:390px;height:390px;right:2%;top:5%}
.orb-b{width:260px;height:260px;left:15%;bottom:4%;border-color:rgba(185,162,123,.65)}
.bridge-line{position:absolute;width:90%;height:1px;background:var(--accent);transform:rotate(-27deg);top:50%;left:3%}
.region-label{position:absolute;font-size:10px;letter-spacing:.18em;font-weight:700;color:#6d7379}
.r1{top:20%;left:10%}.r2{top:42%;right:9%}.r3{bottom:18%;left:25%}.r4{bottom:8%;right:16%}
section{padding:110px 5vw}.intro,.services,.regions{max-width:1400px;margin:auto}
.section-kicker{margin-bottom:45px}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:8vw}
h2{font-family:Manrope,sans-serif;font-size:clamp(34px,4vw,60px);line-height:1.08;letter-spacing:-.04em;margin:0}
.lead{font-size:22px;line-height:1.45;margin-top:0}.two-col p:not(.lead){color:#666d74;max-width:650px}
.services{border-top:1px solid var(--line)}
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}
.service-card{padding:28px 24px 30px 0;border-right:1px solid var(--line);min-height:250px}
.service-card:not(:first-child){padding-left:24px}.service-card:last-child{border-right:0}
.number{font-size:11px;color:#92979d;letter-spacing:.1em}
.service-card h3{font-family:Manrope,sans-serif;font-size:20px;margin:55px 0 14px}
.service-card p{color:#6a7077;font-size:14px;max-width:270px}
.regions{border-top:1px solid var(--line)}
.region-heading{display:flex;justify-content:space-between;gap:40px;align-items:end}
.region-heading p{max-width:470px;color:#6b7278}
.region-list{margin-top:55px;border-top:1px solid var(--line)}
.region-list div{display:grid;grid-template-columns:70px 1fr;padding:19px 0;border-bottom:1px solid var(--line)}
.region-list span{font-size:11px;color:#92979d}.region-list strong{font-family:Manrope,sans-serif;font-size:clamp(18px,2.1vw,29px)}
.contact{background:var(--dark);color:white}
.contact-inner{max-width:1400px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:end}
.light{color:#a6abb0}.contact h2{margin-top:40px}.contact-card{border-top:1px solid rgba(255,255,255,.22);padding-top:25px;color:#b9bec3}.contact-mail{display:block;color:white;font-family:Manrope,sans-serif;font-size:clamp(20px,2.2vw,30px);margin-top:28px}
footer{padding:25px 5vw;display:flex;justify-content:space-between;font-size:11px;color:#81868b;background:#0d1013}
@media(max-width:850px){
  .nav{display:none}.site-header{height:68px}
  .hero{padding-top:65px}.hero-grid,.two-col,.contact-inner{grid-template-columns:1fr}
  .hero-visual{height:330px;border-left:0;margin-top:20px}
  .service-grid{grid-template-columns:1fr 1fr}.service-card:nth-child(2){border-right:0}.service-card:nth-child(3){padding-left:0;border-top:1px solid var(--line)}.service-card:nth-child(4){border-top:1px solid var(--line)}
  .region-heading{display:block}.contact-inner{gap:60px}
}
@media(max-width:520px){
  section{padding:80px 6vw}.site-header{padding:0 6vw}.hero{padding-left:6vw;padding-right:6vw}
  .service-grid{grid-template-columns:1fr}.service-card,.service-card:not(:first-child){padding-left:0;border-right:0;border-bottom:1px solid var(--line)}
  .service-card h3{margin-top:35px}.service-card:last-child{border-bottom:0}
  footer{display:block;padding:22px 6vw}footer span+span{display:block;margin-top:8px}
}


/* Legal / Impressum */
.legal {
  padding: 8rem 7vw;
  background: #f4f5f7;
}
.legal-grid {
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: 5rem;
  max-width: 1180px;
  margin: 0 auto;
}
.legal-card {
  background: #fff;
  padding: 2.6rem 3rem;
  border: 1px solid rgba(10,20,30,.09);
  box-shadow: 0 18px 50px rgba(10,20,30,.06);
}
.legal-card h3 {
  margin: 0 0 1.2rem;
}
.legal-card p {
  margin: 0 0 1.5rem;
  line-height: 1.75;
}
.legal-card a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.legal-note {
  font-size: .88rem;
  opacity: .68;
  padding-top: .8rem;
  border-top: 1px solid rgba(10,20,30,.09);
}
.footer-link {
  color: inherit;
  text-decoration: none;
  opacity: .75;
}
.footer-link:hover {
  opacity: 1;
  text-decoration: underline;
  text-underline-offset: 3px;
}
@media (max-width: 800px) {
  .legal-grid {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  .legal-card {
    padding: 2rem;
  }
}
