@font-face{font-family:Poppins;src:url("fonts/Poppins-Regular.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Poppins;src:url("fonts/Poppins-Medium.ttf") format("truetype");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:Poppins;src:url("fonts/Poppins-SemiBold.ttf") format("truetype");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:Poppins;src:url("fonts/Poppins-Bold.ttf") format("truetype");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:Poppins;src:url("fonts/Poppins-ExtraBold.ttf") format("truetype");font-weight:800;font-style:normal;font-display:swap}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:#050505;font-family:Poppins,Arial,sans-serif;font-size:14px;line-height:1.65}.site-header{height:120px;padding:0 32px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;left:0;right:0;z-index:100;background:#fff;border-bottom:1px solid #dcdcdc}.logo{
  width:auto;
  height:auto;
  transform:none;
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:16px;
  text-decoration:none;
  color:#050505;
}.logo span{font-size:20px;font-weight:800;letter-spacing:.07em}.logo small{font-size:7px;font-weight:700;letter-spacing:.25em;margin-top:7px}.main-nav{display:flex;align-items:center;gap:34px}.main-nav a{font-size:13px;font-weight:600;letter-spacing:.2em;text-decoration:none;color:#050505}.main-nav .nav-contact{background:#050505;color:#fff;padding:12px 18px;letter-spacing:.05em}.hero{height:calc(100vh - 82px);min-height:650px;position:relative;overflow:hidden;padding:25px 32px 28px;background:#fff}.hero-meta{display:flex;justify-content:space-between;font-size:9px;letter-spacing:.2em;position:relative;z-index:3}.hero-visual{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;isolation:isolate;overflow:hidden}.hero-visual img.hero-line{position:absolute;width:92%;height:88%;object-fit:fill;opacity:.72;z-index:-1}.hero-visual:before{content:"";position:absolute;width:34vw;height:34vw;max-width:560px;max-height:560px;border:1px solid rgba(0,0,0,.16);border-radius:50%;left:var(--mx,50%);top:var(--my,50%);translate:-50% -50%;transition:left .12s ease-out,top .12s ease-out;z-index:-2}.hero-visual:after{content:"";position:absolute;inset:0;background-image:radial-gradient(#111 1px,transparent 1px);background-size:28px 28px;opacity:.055;animation:heroDrift 15s linear infinite;z-index:-3}@keyframes heroDrift{to{background-position:120px 80px}}.hero-word{margin:0;
position:relative;
font-size:clamp(85px,12vw,190px);
font-weight:800;
line-height:.78;
letter-spacing:-.08em;
text-align:center;
background-image:url("images/team-03.png");
background-size:125% auto;
background-position:50% 38%;
background-repeat:no-repeat;
-webkit-background-clip:text;
background-clip:text;
color:transparent;
-webkit-text-fill-color:transparent;
filter:contrast(1.12) saturate(.9);
animation:heroImageMove 14s ease-in-out infinite alternate;
z-index:2
}
@keyframes heroImageMove{
0%{background-position:43% 34%;background-size:120% auto}
50%{background-position:57% 48%;background-size:130% auto}
100%{background-position:47% 40%;background-size:122% auto}
}.hero-scroll{position:absolute;right:32px;bottom:25px;font-size:38px;display:flex;flex-direction:column;align-items:center}.hero-scroll span{height:35px;border-left:2px solid #050505}.service-nav{width:min(100%,1400px);margin:0 auto;display:grid;grid-template-columns:repeat(5,1fr);padding:76px 32px;gap:50px;background:#f3f3f3;box-shadow:0 0 0 100vmax #f3f3f3;clip-path:inset(0 -100vmax);}.service-nav a{text-decoration:none;color:#050505;text-align:center}.service-icon{width:92px;height:92px;background:#050505;color:#fff;display:flex;align-items:center;justify-content:center;margin:0 auto 23px;font-size:31px;font-weight:400}.service-nav b{font-size:12px;letter-spacing:.11em}.content-section{width:min(100%,1400px);margin:0 auto;padding:115px 32px}.eyebrow{font-size:11px;font-weight:600;letter-spacing:.23em;margin-bottom:24px}.intro h1,.intro h2,.final-copy h2{font-size:clamp(48px,4.4vw,72px);line-height:1.16;letter-spacing:-.045em;margin:0 0 38px;font-weight:700}.intro-copy{font-size:17px;max-width:900px}.intro-copy p{margin:0 0 15px}.black-button{display:inline-block;background:#050505;color:#fff;text-decoration:none;padding:13px 58px;font-size:12px;margin-top:32px;text-align:center;min-width:315px}.portfolio-placeholder{width:min(100%,1400px);margin:0 auto;padding:0 32px 105px}.portfolio-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.portfolio-image{background:#f1f2f3}.portfolio-image img{width:100%;display:block}.centered{display:block;width:max-content;margin:35px auto 0}.black-clients{background:#050505;color:#fff;padding:72px 0 105px}.content-wide{width:min(100%,1400px);margin:auto;padding:0 32px}.black-clients h2{font-size:clamp(38px,4vw,56px);letter-spacing:-.035em;margin:0 0 55px}.client-logos{display:grid;grid-template-columns:repeat(5,1fr);gap:55px 35px;align-items:center}.client-logos span{font-size:20px;font-weight:600;letter-spacing:.08em;text-align:center;color:#fff}.text-image{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}.text-image h2,.two-column h2{font-size:50px;line-height:1.05;letter-spacing:-.055em;margin:0 0 35px}.text-image p{font-size:16px;margin:0 0 16px}.photo-placeholder img{width:100%;display:block}.two-column{display:grid;grid-template-columns:1fr 1fr;gap:120px}.long-copy h3{font-size:16px;letter-spacing:.08em;margin:0 0 2px}.long-copy p{font-size:16px;margin:0 0 30px}.wide-image{width:min(100%,1400px);margin:0 auto}.wide-image img{width:100%;display:block}.final-copy{text-align:left}.final-copy .black-button{min-width:315px}.badges{display:flex;gap:20px;margin-top:75px}.badges span{border:1px solid #bbb;padding:16px 24px;font-size:11px;letter-spacing:.15em}.contact{background:#050505;color:#fff}.contact-grid{width:min(100%,1400px);margin:auto;padding-left:32px;padding-right:32px;padding:110px 0;display:grid;grid-template-columns:1.2fr .8fr;gap:70px}.contact .eyebrow{color:#aaa}.contact h2{font-size:65px;line-height:.98;letter-spacing:-.06em;margin:0}.contact-info{display:flex;flex-direction:column;justify-content:flex-end}.contact-info a{color:#fff;text-decoration:none;font-size:18px;border-bottom:1px solid #555;padding:15px 0}.contact-info p{color:#999;margin-top:45px}footer{background:#fff;padding:70px 0 0}.footer-grid{width:min(100%,1400px);margin:auto;padding-left:32px;padding-right:32px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:55px;padding-bottom:75px}.footer-grid strong{font-size:15px;letter-spacing:.1em}.footer-grid p{font-size:12px}.footer-grid a{display:block;text-decoration:none;color:#555;font-size:13px;margin-bottom:10px}.footer-bottom{border-top:1px solid #ddd;width:min(100%,1400px);margin:auto;padding-left:32px;padding-right:32px;padding:20px 0;display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:.1em}.footer-bottom button{border:0;background:#050505;color:#fff;width:34px;height:34px;font-size:18px;cursor:pointer}@media(max-width:800px){.site-header{padding:20px;height:80px}.logo{width:65px;height:65px}.logo span{font-size:14px}.main-nav a:not(.nav-contact){display:none}.main-nav{gap:0}.hero{min-height:600px;padding:20px}.hero-meta{font-size:7px}.hero-meta span:last-child{display:none}.hero-visual img{width:100%;height:75vh}.hero-word{font-size:21vw}.service-nav{grid-template-columns:repeat(2,1fr);padding:65px 20px;gap:50px 20px}.service-nav a:last-child{grid-column:1/-1}.service-icon{width:72px;height:72px}.content-section,.portfolio-placeholder,.content-wide,.wide-image,.contact-grid,.footer-grid,.footer-bottom{width:auto;margin-left:0;margin-right:0}.content-section{padding:80px 0}.intro h1,.intro h2,.final-copy h2{font-size:42px}.portfolio-grid,.text-image,.two-column,.contact-grid,.footer-grid{grid-template-columns:1fr}.black-clients{padding:65px 0 75px}.black-clients h2{font-size:34px}.client-logos{grid-template-columns:repeat(2,1fr);gap:35px 15px}.text-image h2,.two-column h2{font-size:42px}.contact h2{font-size:52px}.contact-grid{padding:80px 0}.footer-grid{gap:30px}.footer-bottom{margin-top:0}.black-button{min-width:0;width:100%}.badges{flex-wrap:wrap}}
/* GEO typography refinement */
.hero-meta,.eyebrow{font-size:12px}
.service-nav b{font-size:14px}
.black-button{font-size:13px}
.footer-grid a,.footer-grid p{font-size:14px}
.footer-bottom{font-size:12px}

@media(max-width:800px){
  .content-section,.portfolio-placeholder{padding-left:20px;padding-right:20px}
  .content-wide{padding-left:20px;padding-right:20px}
  .contact-grid,.footer-grid{padding-left:20px;padding-right:20px}
  .footer-bottom{padding-left:20px;padding-right:20px}
  .service-nav{padding-left:20px;padding-right:20px}
  .hero-visual:before{width:70vw;height:70vw}
}

/* Team gallery */
.team-section{padding-top:115px;padding-bottom:130px}
.team-intro{max-width:820px;margin:0 0 70px}
.team-intro h2{font-size:clamp(48px,5vw,76px);line-height:1.03;letter-spacing:-.06em;margin:0 0 30px}
.team-intro h2 span{font-weight:700}
.team-intro p{max-width:720px;font-size:17px}
.team-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;max-width:1200px;margin:0 auto}
.team-card{margin:0;overflow:hidden;background:#f0f0ee;aspect-ratio:1/1}
.team-card-large{grid-row:auto;min-height:0}
.team-card img{width:100%;height:100%;display:block;object-fit:cover;object-position:center top;transition:transform .8s ease}
.team-card:nth-child(1) img{object-position:center 17%}
.team-card:nth-child(2) img{object-position:center 5%}
.team-card:nth-child(3) img{object-position:center 9%}
.team-card:nth-child(4) img{object-position:center 7%}
.team-card:hover img{transform:scale(1.025)}

@media(max-width:800px){
  .team-section{padding-top:80px;padding-bottom:90px}
  .team-intro{margin-bottom:45px}
  .team-intro p{font-size:16px}
  .team-gallery{grid-template-columns:1fr;grid-template-rows:auto}
  .team-card,.team-card-large{grid-row:auto;min-height:0;aspect-ratio:4/5}
}

.hero-word .registered,.registered{display:none}
.hero-subtitle{position:absolute;top:calc(50% + clamp(125px,13vw,205px));left:50%;translate:-50% 0;width:min(850px,90vw);margin:0;text-align:center;color:#888;font-size:clamp(16px,1.35vw,21px);line-height:1.35;letter-spacing:.01em}

@media(max-width:800px){
  .hero-word{font-size:21vw}
  .hero-subtitle{top:calc(50% + 25vw);font-size:14px;width:82vw}
  .hero-visual img.hero-line{width:120%;height:82%}
  .team-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .team-card,.team-card-large{aspect-ratio:1/1}
  .team-card:nth-child(1) img{object-position:center 17%}
  .team-card:nth-child(2) img{object-position:center 5%}
  .team-card:nth-child(3) img{object-position:center 9%}
  .team-card:nth-child(4) img{object-position:center 7%}
}

.hero-word::after{
content:"";
position:absolute;
inset:-12% -10%;
background:linear-gradient(110deg,transparent 35%,rgba(255,255,255,.28) 48%,transparent 61%);
background-size:220% 100%;
animation:heroShimmer 8s ease-in-out infinite;
pointer-events:none;
mix-blend-mode:screen;
}
@keyframes heroShimmer{
0%,35%{background-position:180% 0}
65%,100%{background-position:-40% 0}
}
@media(max-width:800px){
.logo{transform:translateY(6px)}
.hero-word{background-size:150% auto}
}

/* Navigation refinement */
.site-header nav a{
  font-size:15px;
  letter-spacing:.12em;
}
.site-header .black-button{
  font-size:14px;
  padding:16px 25px;
}
@media(max-width:800px){
  .site-header nav a{font-size:13px}
  .site-header .black-button{font-size:13px;padding:13px 18px}
}

@media(max-width:800px){
  .site-header{
    height:100px;
    padding:0 20px;
  }
  .logo{
    width:64px;
    height:64px;
    transform:none;
  }
}

/* Sticky-nav anchor offset */
section[id]{scroll-margin-top:120px}
#referenzen{scroll-margin-top:120px}
@media(max-width:800px){
  section[id]{scroll-margin-top:100px}
  #referenzen{scroll-margin-top:100px}
}

/* Horizontal GEO ERFOLG wordmark */
.logo-mark{
  position:relative;
  width:56px;
  height:46px;
  display:block;
  flex:0 0 56px;
}
.logo-mark i{
  position:absolute;
  width:43px;
  height:43px;
  left:0;
  top:1px;
  border-radius:50%;
  background:#050505;
}
.logo-mark b{
  position:absolute;
  width:10px;
  height:25px;
  right:0;
  top:0;
  background:#050505;
  display:block;
}
.logo-mark em{
  position:absolute;
  width:10px;
  height:10px;
  right:0;
  bottom:1px;
  border-radius:50%;
  background:#050505;
}
.logo-type{
  display:flex;
  flex-direction:column;
  justify-content:center;
  line-height:.82;
  letter-spacing:.17em;
}
.logo-type strong{
  font-size:23px;
  font-weight:800;
  letter-spacing:.18em;
}
.logo-type small{
  margin-top:7px;
  font-size:10px;
  font-weight:700;
  letter-spacing:.34em;
}
@media(max-width:800px){
  .logo{gap:11px}
  .logo-mark{width:45px;height:38px;flex-basis:45px}
  .logo-mark i{width:35px;height:35px}
  .logo-mark b{width:8px;height:21px}
  .logo-mark em{width:8px;height:8px}
  .logo-type strong{font-size:18px}
  .logo-type small{font-size:8px;margin-top:5px}
}

html{scroll-behavior:auto}
section[id]{scroll-margin-top:120px}
@media(max-width:800px){
  section[id]{scroll-margin-top:100px}
}

/* Header wordmark + navigation CTA */
.site-header .logo{
  display:flex;
  align-items:center;
  width:auto;
  height:auto;
  margin:0;
  padding:0;
  gap:0;
  text-decoration:none;
  color:#050505;
}
.site-header .logo-type{
  display:flex;
  flex-direction:column;
  justify-content:center;
  line-height:.82;
}
.site-header .logo-type strong{
  font-size:28px;
  font-weight:800;
  letter-spacing:.18em;
}
.site-header .logo-type small{
  margin-top:8px;
  font-size:9px;
  font-weight:700;
  letter-spacing:.38em;
}
.site-header .nav-contact{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:106px;
  height:48px;
  padding:0 20px;
  background:#050505;
  color:#fff;
  text-decoration:none;
  font-size:13px;
  font-weight:700;
  line-height:1;
  letter-spacing:.08em;
  transition:background .25s ease,transform .25s ease;
}
.site-header .nav-contact:hover{
  background:#222;
  transform:translateY(-1px);
}
.site-header nav{
  display:flex;
  align-items:center;
  gap:34px;
}
.site-header nav a:not(.nav-contact){
  display:inline-flex;
  align-items:center;
  height:48px;
  font-size:15px;
  font-weight:700;
  letter-spacing:.12em;
}
.site-header nav a:not(.nav-contact){
  position:relative;
  transition:transform .2s ease, opacity .2s ease;
}
.site-header nav a:not(.nav-contact)::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:6px;
  height:1px;
  background:#050505;
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .2s ease;
}
.site-header nav a:not(.nav-contact):hover{
  transform:translateY(-1px);
  opacity:.65;
}
.site-header nav a:not(.nav-contact):hover::after{
  transform:scaleX(1);
}
@media(max-width:800px){
  .site-header .logo-type strong{font-size:21px}
  .site-header .logo-type small{font-size:7px;margin-top:6px}
  .site-header nav{gap:14px}
  .site-header nav a:not(.nav-contact){font-size:12px}
  .site-header .nav-contact{min-width:86px;height:42px;padding:0 14px;font-size:11px}
}

/* Horizontal GEO ERFOLG wordmark */
.site-header .logo-type{
  flex-direction:row;
  align-items:center;
  gap:.42em;
  line-height:1;
  white-space:nowrap;
}
.site-header .logo-type strong{
  font-size:28px;
  font-weight:800;
  letter-spacing:.18em;
}
.site-header .logo-type strong + strong{
  letter-spacing:.12em;
}
@media(max-width:800px){
  .site-header .logo-type{
    gap:.35em;
  }
  .site-header .logo-type strong{
    font-size:21px;
  }
}

/* Service icons: clean inspired line symbols */
.service-icon svg{
  width:34px;
  height:34px;
  fill:none;
  stroke:#fff;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.service-icon svg path,
.service-icon svg rect,
.service-icon svg circle{vector-effect:non-scaling-stroke}
.portfolio-image{
  overflow:hidden;
}
.portfolio-image img{
  aspect-ratio:5/3;
  object-fit:cover;
}

/* Hero scroll indicator: arrow only */
.hero-scroll span{
  display:none !important;
}

/* Portfolio visuals: analytical, monochrome presentation */
.portfolio-image{overflow:hidden}
.portfolio-image img{height:auto;min-height:100%;object-fit:cover}
.final-copy .badges{margin-top:30px}

/* Four service items after removing "Alle Leistungen" */
.service-nav{grid-template-columns:repeat(4,1fr)}

/* Final service navigation: exactly four items */
.service-nav{grid-template-columns:repeat(4,1fr)}
/* Sticky navigation contact CTA */
.main-nav .nav-contact{
  background:#050505;
  color:#fff;
  padding:11px 18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}


/* Einheitliche Größen für alle Hauptüberschriften */
.intro h1,
.intro h2,
.black-clients h2,
.team-intro h2,
.two-column h2,
.contact h2 {
  font-size: clamp(48px, 4.4vw, 72px);
  line-height: 1.16;
  letter-spacing: -0.045em;
  font-weight: 700;
}

@media (max-width: 800px) {
  .intro h1,
  .intro h2,
  .black-clients h2,
  .team-intro h2,
  .two-column h2,
  .contact h2 {
    font-size: 42px;
    line-height: 1.08;
  }
}


/* Mobile navigation */
.mobile-menu-toggle {
  display: none;
}

@media (max-width: 800px) {
  header {
    position: sticky;
    top: 0;
    z-index: 1000;
    background: #fff;
  }

  .mobile-menu-toggle {
    display: flex;
    width: 42px;
    height: 42px;
    padding: 0;
    margin: 0;
    border: 0;
    background: transparent;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    cursor: pointer;
    flex: 0 0 42px;
  }

  .mobile-menu-toggle span {
    display: block;
    width: 22px;
    height: 2px;
    background: #000;
    transition: transform .2s ease, opacity .2s ease;
  }

  body.mobile-menu-open .mobile-menu-toggle span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
  }

  body.mobile-menu-open .mobile-menu-toggle span:nth-child(2) {
    opacity: 0;
  }

  body.mobile-menu-open .mobile-menu-toggle span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
  }

  header nav {
    display: none !important;
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    padding: 22px 24px 26px;
    background: #fff;
    border-bottom: 1px solid #111;
  }

  body.mobile-menu-open header nav {
    display: flex !important;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
  }

  body.mobile-menu-open header nav a {
    display: block;
    padding: 13px 0;
    font-size: 15px;
    line-height: 1.2;
  }

  /* Service cards: 2 equal columns on mobile */
  .services,
  .service-grid,
  .leistungen,
  .leistungen-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    display: grid !important;
    gap: 28px 18px !important;
    width: 100%;
  }

  .services > *,
  .service-grid > *,
  .leistungen > *,
  .leistungen-grid > * {
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    justify-self: stretch;
  }

  .services .service-card,
  .service-grid .service-card,
  .leistungen .service-card,
  .leistungen-grid .service-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .services img,
  .service-grid img,
  .leistungen img,
  .leistungen-grid img {
    max-width: 100%;
    height: auto;
  }
}

@media (max-width: 430px) {
  .services,
  .service-grid,
  .leistungen,
  .leistungen-grid {
    gap: 24px 12px !important;
  }

  .services .service-card,
  .service-grid .service-card,
  .leistungen .service-card,
  .leistungen-grid .service-card {
    font-size: 13px;
  }
}


/* Mobile: Leistungskacheln immer zweispaltig */
@media (max-width: 800px) {
  .services,
  .service-grid,
  .leistungen,
  .leistungen-grid,
  .services-grid,
  .service-items {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-auto-flow: row !important;
    gap: 28px 18px !important;
  }

  .services > *,
  .service-grid > *,
  .leistungen > *,
  .leistungen-grid > *,
  .services-grid > *,
  .service-items > * {
    width: 100% !important;
    max-width: none !important;
    flex: none !important;
    grid-column: auto !important;
    margin: 0 !important;
  }
}

.portfolio-image svg text{font-family:Poppins,Arial,sans-serif}

/* Mobile: Leistungskacheln einzeilig */
@media (max-width: 800px) {
  .service-nav {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 18px 8px !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
  .service-nav a:last-child {
    grid-column: auto !important;
  }
  .service-icon {
    width: 58px !important;
    height: 58px !important;
    margin-bottom: 14px !important;
    font-size: 23px !important;
  }
  .service-nav b {
    font-size: 9px !important;
    letter-spacing: .06em !important;
    white-space: nowrap;
  }
}

/* Mobile: Leistungskacheln untereinander */
@media (max-width: 800px) {
  .service-nav {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }
  .service-nav a:last-child {
    grid-column: auto !important;
  }
}

/* KI-Suche Visual unter dem Termin-Button */
.ki-suche-image{margin-top:42px;width:100%;max-width:900px;overflow:hidden}.ki-suche-image img{display:block;width:100%;height:auto}
@media(max-width:800px){.ki-suche-image{margin-top:30px;max-width:100%}}


/* Service-Kacheltexte: gleiche Größe wie normaler Fließtext */
.service-nav b {
  font-size: 17px !important;
  letter-spacing: 0 !important;
  font-weight: 600;
}
@media (max-width: 800px) {
  .service-nav b {
    font-size: 17px !important;
    letter-spacing: 0 !important;
  }
}


/* Footer typography and service links */
.footer-grid strong,.footer-grid p,.footer-grid a{font-size:17px;}
.footer-grid p{line-height:1.45;}
.footer-services{white-space:nowrap;}
@media(max-width:800px){
  .footer-grid strong,.footer-grid p,.footer-grid a{font-size:17px;}
  .footer-services{white-space:normal;}
}

/* Kunden: 3 Logos nebeneinander auf Desktop, 1 pro Zeile auf Mobile */
.client-logos {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

@media (max-width: 800px) {
  .client-logos {
    grid-template-columns: 1fr !important;
  }
}

/* Footer: clean, consistently rendered up arrow */
.footer-bottom #topBtn{
  display:flex;
  align-items:center;
  justify-content:center;
  line-height:1;
  font-size:0;
}
.footer-bottom #topBtn::before{
  content:"";
  width:8px;
  height:8px;
  border-left:2px solid #fff;
  border-top:2px solid #fff;
  transform:rotate(45deg);
  margin-top:4px;
}

/* Legal pages */
.legal-page{width:min(100%,1400px);padding:120px 32px 100px;margin:0 auto;min-height:55vh;text-align:left;background:#f3f3f3;box-shadow:0 0 0 100vmax #f3f3f3;clip-path:inset(0 -100vmax)}
.legal-page h1{font-size:clamp(42px,6vw,80px);line-height:.95;margin:0 0 35px}
.legal-page h2{font-size:28px;margin:40px 0 12px}
.legal-page p{font-size:17px;line-height:1.65;max-width:none}
@media(max-width:800px){.legal-page{width:auto;padding:90px 20px 70px}.legal-page h1{font-size:48px}}

.legal-page a{color:inherit;text-decoration:underline}
