:root{--navy:#101d31;--blue:#2563eb;--light:#f3f6fa;--text:#263449}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--text);line-height:1.65}a{color:inherit}header{background:var(--navy);color:white}.nav{max-width:1160px;margin:auto;padding:19px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.logo{font-size:26px;font-weight:800;text-decoration:none;letter-spacing:-1px}.logo span{color:#73b4ff}nav{display:flex;gap:20px;flex-wrap:wrap}nav a{text-decoration:none;font-size:14px}nav a:hover,.active{color:#8cc5ff}.hero{background:linear-gradient(120deg,#101d31,#1b3d66);color:white;padding:100px 24px}.wrap{max-width:1160px;margin:auto}.eyebrow{text-transform:uppercase;letter-spacing:2px;color:#75b8ff;font-weight:700;font-size:13px}h1{font-size:clamp(36px,5vw,62px);line-height:1.13;max-width:920px;margin:15px 0 24px}h2{font-size:clamp(27px,3vw,39px);line-height:1.2;color:var(--navy)}h3{font-size:23px;color:var(--navy);margin-bottom:10px}.hero p{max-width:760px;font-size:19px;color:#dce7f5}.btn{display:inline-block;background:var(--blue);color:white;padding:13px 23px;text-decoration:none;border-radius:6px;font-weight:700;margin:12px 10px 0 0}.btn.secondary{background:transparent;border:1px solid #a9c5e8}.section{padding:76px 24px}.alt{background:var(--light)}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.card{background:white;border:1px solid #e1e8f1;border-radius:10px;padding:30px;box-shadow:0 10px 25px #172d4410}.card p{margin-top:0}.card a{font-weight:700;color:#1557ba}.lead{font-size:20px;max-width:850px}.tags{display:flex;gap:10px;flex-wrap:wrap}.tags span{background:#e8effa;padding:7px 12px;border-radius:20px;font-size:13px}.contact{background:#172c49;color:white}.contact h2{color:white}.contact a{color:#b9d9ff}footer{background:#0b1627;color:#c7d4e4;padding:30px 24px;font-size:13px}footer .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.prose{max-width:850px}.prose li{margin-bottom:10px}@media(max-width:700px){.grid{grid-template-columns:1fr}.hero{padding:70px 24px}nav{gap:12px}.section{padding:52px 24px}}:focus-visible{outline:3px solid #ffbd59;outline-offset:3px}

/* Brand and homepage refinements */
.logo,.logo:link,.logo:visited,.logo:hover,.logo span{color:#fff}
.logo .registered,footer .registered{font-size:.5em;vertical-align:super;line-height:0;letter-spacing:0}
.services-label{color:#404040}
.static-cta{cursor:default;user-select:none}
.contact .static-cta{color:#fff}

/* Homepage label and contact adjustments */
.services-label,.benefit-label{color:#404040;font-weight:800}
.project-label{color:#75b8ff;font-weight:800}
.contact-separator{display:inline-block;margin:0 12px;color:#9eb5d0;font-weight:700}
.contact-person{margin-top:14px}
@media(max-width:700px){.contact-separator{margin:0 6px}}

/* Five uniformly sized, readable footer badges */
.hero-services-bold{font-weight:800}
footer .wrap.footer-layout{display:grid;grid-template-columns:minmax(205px,1fr) auto minmax(145px,1fr);align-items:center;gap:22px;max-width:1320px}
.footer-copyright{line-height:1.6}
.footer-badges{display:flex;align-items:center;justify-content:center;gap:7px;flex-wrap:nowrap}
.footer-badge{width:88px;height:58px;flex:0 0 88px;border-radius:7px;background:#fff;overflow:hidden;display:flex;align-items:center;justify-content:center}
.footer-badge img{display:block;width:100%;height:100%;object-fit:contain}
.footer-links{text-align:right;white-space:nowrap}
@media(max-width:1050px){footer .wrap.footer-layout{grid-template-columns:1fr;justify-items:center;text-align:center;gap:17px}.footer-links{text-align:center}}
@media(max-width:520px){.footer-badges{flex-wrap:wrap;max-width:310px}.footer-badge{width:88px;height:58px;flex-basis:88px}}

/* Header: einheitliche Typografie mit der Hauptnavigation */
header .nav {max-width:1160px; padding:19px 24px;}
header .logo.synpless-header-wordmark,
header .logo.synpless-header-wordmark:link,
header .logo.synpless-header-wordmark:visited {
  display:inline-block; margin:0; padding:0;
  font-family:inherit; font-size:18px; font-weight:500;
  letter-spacing:0; line-height:1.4; white-space:nowrap; color:#fff;
}
header .synpless-header-wordmark .registered {font-size:.55em; vertical-align:super; line-height:0; margin-left:1px;}
@media(max-width:700px){header .logo.synpless-header-wordmark{font-size:16px}}
