*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:15px Arial,sans-serif;color:#17202a;line-height:1.6}.wrap{width:min(1080px,calc(100% - 40px));margin:auto}header{position:sticky;top:0;background:#fff;border-bottom:1px solid #e5e8ef;z-index:5}.nav{height:80px;display:flex;align-items:center;justify-content:space-between}.nav img{max-height:55px}.nav nav{display:flex;gap:28px}.nav a{color:#26354b;text-decoration:none;font-weight:bold;font-size:13px}.hero{text-align:center;padding:100px 0;background:#f5f7fc}.hero .wrap{max-width:900px}small{color:#294a9e;font-weight:bold;letter-spacing:2px}h1,h2,h3{color:#001a8d;line-height:1.1}h1{font-size:70px;letter-spacing:-4px;margin:18px 0}h1 span{color:#294a9e}.hero p{font-size:19px;color:#53606c}.btn{display:inline-block;background:#001a8d;color:#fff;text-decoration:none;padding:12px 20px;border-radius:7px;font-weight:bold;margin:12px 0}.hero em{display:block;font-style:normal;font-size:12px;color:#737d87;margin-top:10px}section{padding:80px 0}h2{font-size:43px;letter-spacing:-2px;max-width:760px}.grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #ddd}.grid div{padding:22px 28px 20px 0;border-bottom:1px solid #ddd;margin-right:25px}.grid h3{font-size:18px}.grid p{color:#606b76;font-size:14px}.dark{background:linear-gradient(140deg,#001a8d,#061b56);color:#d8e0ea}.dark h2,.dark b{color:#fff}.dark small{color:#b9c9f6}.about{display:grid;grid-template-columns:1.3fr .55fr;gap:70px;align-items:center}figure{margin:0;background:#fff;color:#17202a;border-radius:12px;overflow:hidden}figure img{width:100%;display:block;aspect-ratio:1;object-fit:cover;object-position:center 28%}figcaption{padding:14px 18px;font-size:12px}figcaption b{color:#001a8d!important;font-size:16px}.soft{background:#f5f7fc}.funding{display:grid;grid-template-columns:1.3fr .7fr;gap:70px;align-items:center}.funding p{color:#606b76}.funding aside{background:#fff;border:1px solid #dce3f2;border-radius:14px;padding:28px}.funding label{font-size:10px;letter-spacing:1px;color:#697580}.funding strong{display:block;font-size:38px;color:#001a8d;margin:6px 0}.funding i{font-size:10px;color:#7d8790}.contact{text-align:center;background:#061b56;color:#d8e0ea}.contact h2{color:#fff;margin:15px auto}.contact .wrap{max-width:760px}.white{background:#fff;color:#001a8d}.mail{font-size:12px}.foot{height:90px;display:flex;align-items:center;justify-content:space-between;color:#707b85;font-size:11px}.foot img{max-height:45px}@media(max-width:700px){.nav nav{display:none}.nav img{max-width:75%;height:auto}.hero{padding:65px 0}h1{font-size:45px;letter-spacing:-2px}h2{font-size:34px}.grid,.about,.funding{grid-template-columns:1fr}.about,.funding{gap:35px}.grid div{margin-right:0}.foot{flex-direction:column;justify-content:center;gap:8px}}
.contact{text-align:left}
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:start}
.contact h2{margin:15px 0 20px}
.contact-copy p{color:#d8e0ea}
.contact-form{background:#fff;color:#17202a;padding:28px;border-radius:14px}
.contact-form label{display:block;font-size:12px;font-weight:bold;margin-bottom:14px;color:#34404c}
.contact-form label>span{font-weight:normal;color:#7b858e}
.contact-form input[type="text"],.contact-form input[type="email"],.contact-form input[type="tel"],.contact-form textarea{width:100%;display:block;margin-top:6px;border:1px solid #d7dce4;border-radius:7px;padding:11px 12px;font:14px Arial,sans-serif}
.contact-form textarea{resize:vertical}
.contact-form input:focus,.contact-form textarea:focus{outline:2px solid #b9c9f6;border-color:#294a9e}
.consent{display:flex!important;align-items:flex-start;gap:9px;font-weight:normal!important;line-height:1.4}
.consent input{margin-top:3px}
.consent span{font-size:10px!important}
.form-btn{border:0;cursor:pointer;width:100%;font-size:14px}
.form-note{text-align:center!important;color:#7b858e!important;font-size:10px!important;margin:7px 0 0!important}
@media(max-width:700px){.contact-grid{grid-template-columns:1fr;gap:30px}.contact-form{padding:22px}}

.legal-main{padding:70px 0 90px;background:#fff}
.legal-wrap{width:min(860px,calc(100% - 40px));margin:auto}
.legal-wrap h1{font-size:48px;letter-spacing:-2px;margin:0 0 36px;color:#001a8d}
.legal-wrap h2{font-size:24px;letter-spacing:-.5px;margin:34px 0 12px;color:#001a8d}
.legal-wrap h3{font-size:18px;margin:24px 0 8px;color:#001a8d}
.legal-wrap p,.legal-wrap li{color:#4e5964}
.legal-wrap a{color:#294a9e;text-decoration:underline}
.legal-note{background:#f5f7fc;border-left:4px solid #294a9e;padding:16px 18px;margin:24px 0;font-size:13px}
.legal-header{position:static}
.legal-back{font-size:13px;font-weight:bold;color:#294a9e}
.legal-footer-links a{color:#707b85;text-decoration:none}
.contact-form .consent a{color:#294a9e;text-decoration:underline}

.hp-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}

.hero em{
  font-size:16px;
  line-height:1.55;
  color:#53606c;
  margin-top:20px;
}
.hero em strong{
  color:#001a8d;
  font-weight:700;
}

.three-topics{grid-template-columns:repeat(3,1fr);gap:28px;border-top:0}
.three-topics>div{
  margin:0;
  padding:30px;
  border:1px solid #e1e5ed;
  border-radius:14px;
  background:#fff;
  min-height:100%;
}
.three-topics h3{font-size:21px;margin-top:0;margin-bottom:14px}
.three-topics p{font-size:14px;color:#5f6a76;margin-bottom:16px}
.three-topics ul{padding-left:18px;margin:0;color:#4e5964;font-size:13px}
.three-topics li{margin:7px 0}
@media(max-width:900px){.three-topics{grid-template-columns:1fr}}

.hero-funding{
  margin-top:30px;
  text-align:center;
}
.hero-funding-title{
  font-size:22px;
  line-height:1.35;
  font-weight:700;
  color:#001a8d;
}
.hero-funding-sub{
  margin-top:8px;
  font-size:15px;
  line-height:1.5;
  color:#53606c;
}
.hero-cta-box{
  margin-top:26px;
  padding-top:22px;
  border-top:1px solid #dfe4ee;
  text-align:center;
}
.hero-cta-box .btn{
  margin:0;
}
@media(max-width:700px){
  .hero-funding-title{font-size:19px}
  .hero-funding-sub{font-size:14px}
}

.network-note{
  margin-top:28px;
  padding-top:22px;
  border-top:1px solid rgba(255,255,255,.22);
}
.network-note h3{
  color:#fff;
  font-size:18px;
  margin:0 0 8px;
}
.network-note p{
  margin:0;
  font-size:14px;
  color:#d8e0ea;
}

.service-icon{
  width:46px;height:46px;border-radius:12px;
  display:flex;align-items:center;justify-content:center;
  background:#eef2fb;color:#001a8d;
  font:700 25px Arial,sans-serif;
  margin-bottom:20px;
}
.service-icon-gear{font-size:22px}
.experience-line{
  display:grid;grid-template-columns:repeat(3,1fr);
  position:relative;gap:12px;margin:30px 0 4px;
  padding-top:18px;
}
.experience-line:before{
  content:"";position:absolute;top:5px;left:6%;right:6%;
  height:1px;background:rgba(255,255,255,.28);
}
.experience-line>div{position:relative}
.experience-dot{
  position:absolute;top:-17px;left:0;width:9px;height:9px;
  border-radius:50%;background:#b9c9f6;border:2px solid #001a8d;
}
.experience-line strong,.experience-line small{display:block}
.experience-line strong{color:#fff;font-size:13px}
.experience-line small{
  color:#bfcbe0!important;letter-spacing:0;text-transform:none;
  font-weight:normal;font-size:10px;margin-top:2px;
}
@media(max-width:700px){
  .experience-line{gap:8px}
  .experience-line strong{font-size:12px}
  .experience-line small{font-size:9px}
}

.hero{position:relative;overflow:hidden;isolation:isolate}
.hero>.wrap{position:relative;z-index:2}
.hero-track{
  position:absolute;
  z-index:0;
  width:min(980px,76vw);
  height:auto;
  right:-170px;
  top:50%;
  transform:translateY(-50%) rotate(-5deg);
  opacity:.075;
  pointer-events:none;
}
.hero-track path{
  fill:none;
  stroke:#001a8d;
  stroke-width:12;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.hero-track path+path{stroke-width:5;opacity:.65}
@media(max-width:700px){
  .hero-track{width:820px;right:-420px;opacity:.055}
}

/* Hero background: uploaded LAP running-track photo */
.hero{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:
    linear-gradient(90deg,
      rgba(255,255,255,.97) 0%,
      rgba(255,255,255,.93) 30%,
      rgba(244,247,252,.78) 55%,
      rgba(0,26,141,.18) 100%
    ),
    url("assets/rennstrecke.jpg") center 47% / cover no-repeat;
}
.hero:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.18));
}
.hero>.wrap{
  position:relative;
  z-index:2;
}

/* Disable the former vector track if cached styles remain */
.hero-track{display:none!important}

@media(max-width:700px){
  .hero{
    background:
      linear-gradient(90deg,
        rgba(255,255,255,.98) 0%,
        rgba(255,255,255,.92) 58%,
        rgba(244,247,252,.76) 100%
      ),
      url("assets/rennstrecke.jpg") 58% center / cover no-repeat;
  }
}

/* Softer hero photo for improved text readability */
.hero{
  background:
    linear-gradient(90deg,
      rgba(255,255,255,.985) 0%,
      rgba(255,255,255,.965) 32%,
      rgba(247,249,253,.90) 58%,
      rgba(235,241,250,.72) 100%
    ),
    url("assets/rennstrecke.jpg") center 47% / cover no-repeat;
}
.hero:after{
  background:rgba(255,255,255,.12);
}
@media(max-width:700px){
  .hero{
    background:
      linear-gradient(90deg,
        rgba(255,255,255,.99) 0%,
        rgba(255,255,255,.97) 62%,
        rgba(244,247,252,.88) 100%
      ),
      url("assets/rennstrecke.jpg") 58% center / cover no-repeat;
  }
}

.hero-kicker{
  color:#294a9e;
  font-weight:bold;
  letter-spacing:2px;
  font-size:12px;
  margin:0 0 18px;
}

.linkedin-profile {
  display: block;
  margin-top: 6px;
  font-size: 14px;
  font-weight: 600;
  color: #001a8d;
  text-decoration: none;
}

.linkedin-profile:hover {
  text-decoration: underline;
}