

/* ==========================
   BASIS
========================== */
body{
  font-family:'Inter',sans-serif;
  background:#fff;
  color:#111;
  line-height:1.6;
}
.container{
  width:90%;
  max-width:1320px;
  margin:0 auto;
}
.section-spacing{
  padding:120px 0;
}
/* ==========================
   HERO
========================== */
.config-hero{
  position:relative;
  height:100vh;
  min-height:850px;
  display:flex;
  align-items:center;
  overflow:hidden;
}
.config-hero img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
.config-hero-overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(
      180deg,
      rgba(0,0,0,.12) 0%,
      rgba(0,0,0,.68) 100%
    );
}
.config-hero-content{
  position:relative;
  z-index:2;
  color:white;
  max-width:790px;
}
.hero-badge{
  display:inline-flex;
  padding:10px 18px;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  backdrop-filter:blur(12px);
  margin-bottom:24px;
  font-size:14px;
}
.config-hero h1{
  font-size:clamp(4rem,7vw,7rem);
  line-height:.95;
  letter-spacing:-5px;
  margin-bottom:28px;
}
.config-hero p{
  font-size:1.15rem;
  color:rgba(255,255,255,.88);
  max-width:640px;
  margin-bottom:40px;
}
/* ==========================
   BUTTONS
========================== */
.hero-buttons{
  display:flex;
  gap:16px;
  flex-wrap:wrap;
}
.btn-primary,
.btn-secondary,
.btn-dark{
  height:58px;
  padding:0 32px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  font-weight:800;
  transition:.3s ease;
}
.btn-primary{
  background:white;
  color:#111;
}
.btn-secondary{
  border:1px solid rgba(255,255,255,.35);
  color:white;
  background:rgba(255,255,255,.08);
  backdrop-filter:blur(10px);
}
.btn-dark{
  background:#0f3fae;
  color:white;
}
.btn-primary:hover,
.btn-secondary:hover,
.btn-dark:hover{
  transform:translateY(-3px);
}
/* ==========================
   TYPO
========================== */
.section-tag{
  display:inline-block;
  margin-bottom:20px;
  font-size:14px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:1px;
  color:#2563eb;
}
.section-head{
  margin-bottom:70px;
}
.centered{
  text-align:center;
}
.section-head p{
  color:#666;
  max-width:720px;
  margin:14px auto 0;
}
h2{
  font-size:clamp(2.8rem,4vw,4.8rem);
  line-height:1.05;
  letter-spacing:-3px;
  margin-bottom:22px;
}
/* ==========================
   INTRO
========================== */
.intro-section{
  background:#fff;
}
.intro-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:80px;
  align-items:start;
}
.intro-grid p{
  color:#555;
  margin-bottom:20px;
  font-size:1.05rem;
}
/* ==========================
   BENEFITS
========================== */
.benefits-section{
  background:#fafafa;
}
.benefit-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:28px;
}
.benefit-card{
  background:white;
  padding:40px;
  border-radius:30px;
  box-shadow:0 18px 45px rgba(0,0,0,.05);
  transition:.3s ease;
}
.benefit-card:hover{
  transform:translateY(-6px);
  box-shadow:0 26px 60px rgba(0,0,0,.08);
}
.benefit-card span{
  font-size:3rem;
  font-weight:900;
  color:#2563eb;
  display:block;
  margin-bottom:18px;
}
.benefit-card h3{
  margin-bottom:14px;
  font-size:1.4rem;
}
.benefit-card p{
  color:#666;
}
/* ==========================
   OPTIONEN
========================== */
.options-section{
  background:white;
}
.options-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}
.option-card{
  background:#f8f8f8;
  border-radius:28px;
  padding:34px;
  transition:.3s ease;
}
.option-card:hover{
  transform:translateY(-6px);
  background:#f4f7ff;
}
.option-card h3{
  font-size:1.35rem;
  margin-bottom:12px;
}
.option-card p{
  color:#666;
}
/* ==========================
   CAMPUS
========================== */
.campus-section{
  background:#fafafa;
}
.campus-card{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:60px;
  align-items:center;
  background:white;
  border-radius:42px;
  padding:60px;
  box-shadow:0 24px 70px rgba(0,0,0,.08);
}
.campus-card p{
  color:#555;
  margin-bottom:32px;
  font-size:1.06rem;
}
.campus-image{
  border-radius:34px;
  overflow:hidden;
  min-height:460px;
}
.campus-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
/* ==========================
   PROCESS
========================== */
.process-section{
  background:white;
}
.process-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:24px;
}
.process-card{
  background:#f8f8f8;
  border-radius:28px;
  padding:34px;
}
.process-card strong{
  display:block;
  color:#2563eb;
  font-size:3rem;
  margin-bottom:16px;
  line-height:1;
}
.process-card h3{
  margin-bottom:12px;
}
.process-card p{
  color:#666;
}
/* ==========================
   ERGONOMIE
========================== */
.ergonomie-section{
  background:#fafafa;
  padding:90px 0;
}
.ergonomie-card{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:60px;
  align-items:center;
  background:#0f3fae;
  color:white;
  border-radius:42px;
  padding:60px;
}
.ergonomie-card .section-tag{
  color:rgba(255,255,255,.75);
}
.ergonomie-card p{
  color:rgba(255,255,255,.86);
  margin-bottom:32px;
  font-size:1.06rem;
}
.ergonomie-card .btn-dark{
  background:white;
  color:#111;
}
.ergonomie-image{
  border-radius:34px;
  overflow:hidden;
  min-height:420px;
}
.ergonomie-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
/* ==========================
   BEISPIELE
========================== */
.examples-section{
  background:white;
}
.example-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:24px;
}
.example-card{
  background:#f8f8f8;
  border-radius:28px;
  padding:34px;
  transition:.3s ease;
}
.example-card:hover{
  transform:translateY(-6px);
}
.example-card h3{
  margin-bottom:12px;
  font-size:1.3rem;
}
.example-card p{
  color:#666;
}
/* ==========================
   BERATUNG
========================== */
.booking-section{
  background:#fafafa;
}
.booking-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:24px;
}
.booking-card{
  background:white;
  padding:40px;
  border-radius:30px;
  text-decoration:none;
  color:#111;
  box-shadow:0 18px 45px rgba(0,0,0,.05);
  transition:.3s ease;
}
.booking-card:hover{
  background:#0f3fae;
  color:white;
  transform:translateY(-6px);
  box-shadow:0 26px 60px rgba(15,63,174,.22);
}
.booking-card span{
  display:block;
  font-size:1.7rem;
  font-weight:900;
  margin-bottom:18px;
}
.booking-card strong{
  color:#2563eb;
}
.booking-card:hover strong{
  color:white;
}
/* ==========================
   FINAL CTA
========================== */
.final-cta{
  padding:120px 0;
  text-align:center;
  background:#111827;
  color:white;
}
.final-cta h2{
  max-width:900px;
  margin:0 auto 18px;
}
.final-cta p{
  color:rgba(255,255,255,.75);
  margin-bottom:30px;
  font-size:1.08rem;
}
.final-cta .btn-primary{
  background:white;
  color:#111;
}
/* ==========================
   RESPONSIVE
========================== */
@media(max-width:1100px){
  .benefit-grid,
  .options-grid{
    grid-template-columns:repeat(2,1fr);
  }
  .process-grid,
  .example-grid{
    grid-template-columns:repeat(2,1fr);
  }
  .intro-grid,
  .campus-card,
  .ergonomie-card{
    grid-template-columns:1fr;
  }
}
@media(max-width:700px){
  .section-spacing{
    padding:90px 0;
  }
  .config-hero{
    min-height:760px;
  }
  .config-hero h1{
    letter-spacing:-2px;
  }
  .hero-buttons{
    flex-direction:column;
  }
  .btn-primary,
  .btn-secondary,
  .btn-dark{
    width:100%;
  }
  .benefit-grid,
  .options-grid,
  .process-grid,
  .example-grid,
  .booking-grid{
    grid-template-columns:1fr;
  }
  .campus-card,
  .ergonomie-card{
    padding:34px;
  }
  .campus-image,
  .ergonomie-image{
    min-height:300px;
  }
}

.expert-mini{

  display:flex;
  align-items:center;
  gap:20px;

  background:#f8f9fc;

  border-radius:24px;

  padding:18px 22px;

  margin-top:50px;
}

.expert-mini img{

  width:70px;
  height:70px;

  border-radius:50%;

  object-fit:cover;
  object-position:center top;

  flex-shrink:0;
}

.expert-mini-content{
  flex:1;
}

.expert-mini-content span{

  display:block;

  color:#0f3fae;

  font-size:13px;
  font-weight:700;

  margin-bottom:4px;
}

.expert-mini-content strong{

  display:block;

  font-size:1.05rem;

  margin-bottom:3px;
}

.expert-mini-content p{
  color:#666;
  margin:0;
}

.expert-mini-actions{
  display:flex;
  gap:10px;
}

.expert-mini-actions a{

  width:42px;
  height:42px;

  border-radius:50%;

  background:white;

  display:flex;
  align-items:center;
  justify-content:center;

  text-decoration:none;

  transition:.3s ease;
}

.expert-mini-actions a:hover{
  transform:translateY(-2px);
}