
:root{
  --navy:#14253b;
  --navy2:#0f2035;
  --gold:#a98555;
  --text:#1d2636;
  --muted:#55575d;
  --cream:#f4f0eb;
  --soft:#fbfaf8;
}
*{box-sizing:border-box}
body{
  margin:0;
  padding-top:114px;
  background:#ffffff;
  color:var(--text);
  font-family:Arial, Helvetica, sans-serif;
}

html,
body{
  width:100%;
  max-width:100%;
  overflow-x:clip;
}

.topbar{
  position:fixed;
  top:0;
  left:0;
  right:0;
  width:100%;
  z-index:9999;
  transform:translateZ(0);
  -webkit-transform:translateZ(0);
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;

  height:114px;
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 72px;
  border-bottom:1px solid #eee;
  box-shadow:0 2px 12px rgba(0,0,0,.08);
}
.brand img{
  height:76px;
  width:auto;
  margin-top:0;
}
.nav{
  display:flex;
  align-items:center;
  gap:30px;
  font-size:14px;
}
.nav a{
  color:#202633;
  text-decoration:none;
}
.nav-button{
  background:var(--navy);
  color:#fff!important;
  padding:17px 27px;
  margin-left:20px;
}
.hero{
  height:430px;
  display:block;
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(90deg,
      rgba(247,244,241,.86) 0%,
      rgba(247,244,241,.68) 38%,
      rgba(247,244,241,.22) 62%,
      rgba(247,244,241,.00) 100%
    ),
    url('assets/hero-bild.jpg') center/cover no-repeat;
}
.hero-text{
  width:48%;
  height:100%;
  padding:76px 0 0 74px;
  position:relative;
  z-index:2;
  background:transparent;
}
.hero h1{
  font-family:Georgia, 'Times New Roman', serif;
  font-size:72px;
  line-height:.92;
  margin:0 0 20px;
  font-weight:700;
  color:#15233a;
  letter-spacing:-1px;
}
.claim{
  font-size:22px;
  color:var(--gold);
  margin:0 0 22px;
}
.intro{
  font-size:16px;
  line-height:1.55;
  margin:0;
  color:#333842;
}
.hero-actions{display:flex;gap:14px;margin-top:26px}
.btn{
  display:inline-block;
  text-decoration:none;
  padding:15px 25px;
  font-weight:700;
  font-size:14px;
}
.primary{background:var(--navy);color:white}
.secondary{border:1px solid var(--navy);color:var(--navy);background:transparent}
.hero-image{
  display:none;
}
.clarity{
  text-align:center;
  padding:38px 20px 34px;
  background:white;
}
.clarity h2,.services h2,.why h2,.steps h2{
  font-family:Georgia, 'Times New Roman', serif;
  color:#162238;
  font-size:27px;
  margin:0 0 18px;
}
.clarity p{
  color:#4b4d52;
  font-size:15px;
  line-height:1.55;
  margin:0;
}
.services{
  background:linear-gradient(180deg,#f5f1eb,#fbf8f3);
  padding:26px 70px 32px;
  text-align:center;
}
.small-line{width:42px;height:1px;background:var(--gold);margin:0 auto 26px}
.service-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  max-width:1180px;
  margin:0 auto;
  gap:20px;
}
.service{
  display:block;
  text-decoration:none;
  color:inherit;
  border-radius:10px;
  padding:14px 10px;
  transition:transform .2s ease, box-shadow .2s ease;
}
.service:hover{
  transform:translateY(-4px);
  box-shadow:0 10px 24px rgba(20,37,59,.08);
}
.service .icon{
  width:72px;height:72px;border:1px solid #e1d6c8;border-radius:50%;
  color:var(--gold);display:flex;align-items:center;justify-content:center;
  font-size:34px;margin:0 auto 17px;
}
.service h3{
  font-family:Georgia, 'Times New Roman', serif;
  font-size:18px;
  margin:0 0 10px;
}
.service p{font-size:14px;line-height:1.5;margin:0;color:#3d4148}
.why{
  background:var(--navy);
  color:white;
  text-align:center;
  padding:28px 70px 33px;
}
.why h2{color:white;margin-bottom:24px}
.why-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  max-width:1040px;
  margin:0 auto;
}
.why-icon{font-size:34px;color:#c39c66;margin-bottom:10px}
.why h3{
  font-family:Georgia,'Times New Roman',serif;
  margin:0 0 6px;
  font-size:16px;
  color:white;
}
.why p{margin:0;font-size:14px;line-height:1.5;color:#f7f3ee}
.steps{
  background:white;
  text-align:center;
  padding:22px 60px 30px;
}
.step-grid{
  display:grid;
  grid-template-columns:1fr 70px 1fr 70px 1fr;
  align-items:start;
  max-width:760px;
  margin:0 auto;
}
.step span{
  display:inline-flex;width:34px;height:34px;background:#b19161;color:#fff;
  border-radius:50%;align-items:center;justify-content:center;
  font-family:Georgia,serif;font-size:22px;margin-bottom:8px;
}
.step h3{
  margin:0 0 8px;
  font-family:Georgia,'Times New Roman',serif;
  font-size:17px;
}
.step p{font-size:14px;line-height:1.45;margin:0;color:#44484f}
.arrow{font-size:30px;color:#9f9f9f;padding-top:42px}
.contact{
  display:grid;
  grid-template-columns:1.15fr 1.45fr 1fr;
  gap:44px;
  padding:34px 130px 30px;
  background:#f3eee7;
  align-items:center;
}
.contact h2{
  font-family:Georgia,'Times New Roman',serif;
  margin:0 0 10px;
  font-size:20px;
}
.contact p{font-size:14px;line-height:1.5;color:#3f444b}
.contact-data{border-left:1px solid #d3c4b3;padding-left:58px}
.contact-data h3{font-size:15px;margin:0 0 6px}
.inline-icon{
  vertical-align:-3px;
  margin-right:4px;
  color:var(--gold);
}
.footer-logo > img{
  width:400px;
  height:auto;
  object-fit:contain;
}
.footer{
  min-height:70px;
  background:var(--navy);
  color:#fff;
  display:flex;
  justify-content:center;
  align-items:center;
  flex-wrap:wrap;
  gap:15px;
  padding:15px 20px;
  text-align:center;
}
.footer a{color:white;text-decoration:none}

@media(max-width:900px){
  .topbar{position:static;height:auto;padding:18px;flex-direction:column}
  .brand img{height:66px;width:auto;}
  .nav{flex-wrap:wrap;justify-content:center;gap:14px}
  body{padding-top:0}
  .hero{height:auto;grid-template-columns:1fr}
  .hero-text{padding:45px 24px}
  .hero h1{font-size:54px}
  .service-grid,.why-grid,.step-grid,.contact{grid-template-columns:1fr;gap:22px}
  .arrow{display:none}
  .contact{
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
    padding:30px 20px;
    gap:25px;
  }

  .contact-data{
    border-left:0;
    padding-left:0;
    text-align:center;
  }

  .footer-logo{
    width:100%;
    display:flex;
    justify-content:center;
    align-items:center;
    margin-top:10px;
  }

  .footer-logo > img{
    width:280px;
    max-width:90%;
    height:auto;
    display:block;
  }
}

.legal-page{
  background:#fff;
}
.legal-hero{
  background:linear-gradient(180deg,#f7f4f1,#fff);
  padding:70px 80px 45px;
  text-align:center;
  border-bottom:1px solid #eee;
}
.legal-hero h1{
  font-family:Georgia,'Times New Roman',serif;
  color:#162238;
  font-size:48px;
  margin:0 0 12px;
}
.legal-hero p{
  margin:0;
  color:#a98555;
  font-size:18px;
}
.legal-content{
  max-width:920px;
  margin:0 auto;
  padding:50px 28px 70px;
  line-height:1.7;
  color:#2e3440;
}
.legal-content h2{
  font-family:Georgia,'Times New Roman',serif;
  color:#162238;
  font-size:27px;
  margin:34px 0 12px;
}
.legal-content h3{
  color:#162238;
  margin:28px 0 8px;
}
.legal-content p,.legal-content li{
  font-size:15px;
}
.legal-box{
  background:#f7f4f1;
  border-left:4px solid #a98555;
  padding:18px 22px;
  margin:22px 0;
}
.back-link{
  display:inline-block;
  margin-top:25px;
  color:#14253b;
  font-weight:700;
  text-decoration:none;
}


/* Über-uns-Seite */
.about-page{
  background:#fff;
}
.about-hero{
  background:linear-gradient(180deg,#f7f4f1,#fff);
  padding:70px 80px 45px;
  text-align:center;
  border-bottom:1px solid #eee;
}
.about-hero h1{
  font-family:Georgia,'Times New Roman',serif;
  color:#162238;
  font-size:52px;
  margin:0 0 12px;
}
.about-hero p{
  color:#a98555;
  font-size:20px;
  margin:0;
}
.about-intro{
  max-width:980px;
  margin:0 auto;
  padding:48px 28px 25px;
  text-align:center;
}
.about-intro h2{
  font-family:Georgia,'Times New Roman',serif;
  color:#162238;
  font-size:32px;
  margin:0 0 18px;
}
.about-intro p{
  color:#3f444b;
  line-height:1.7;
  font-size:16px;
  margin:0 auto;
  max-width:780px;
}
.team-section{
  max-width:1100px;
  margin:0 auto;
  padding:30px 28px 55px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:34px;
}
.team-card{
  background:#fbfaf8;
  border:1px solid #eee4d9;
  box-shadow:0 8px 24px rgba(20,37,59,.06);
}
.team-card img{
  width:100%;
  height:380px;
  object-fit:cover;
  display:block;
}
.team-content{
  padding:30px 32px 34px;
}
.team-content h2{
  font-family:Georgia,'Times New Roman',serif;
  color:#162238;
  font-size:30px;
  margin:0 0 8px;
}
.team-content .qualification{
  color:#a98555;
  font-weight:700;
  line-height:1.45;
  margin:0 0 18px;
}
.team-content p{
  color:#3f444b;
  line-height:1.65;
  font-size:15px;
  margin:0;
}
.philosophy{
  background:#14253b;
  color:white;
  padding:48px 28px 55px;
  text-align:center;
}
.philosophy h2{
  font-family:Georgia,'Times New Roman',serif;
  color:white;
  font-size:32px;
  margin:0 0 18px;
}
.philosophy p{
  max-width:820px;
  margin:0 auto 25px;
  line-height:1.7;
  color:#f7f3ee;
}
.value-grid{
  max-width:980px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:18px;
}
.value{
  border:1px solid rgba(201,156,102,.55);
  padding:20px 14px;
  color:#fff;
  font-size:14px;
}
.value span{
  display:block;
  color:#c39c66;
  font-size:26px;
  margin-bottom:8px;
}
@media(max-width:900px){
  .about-hero{padding:48px 24px 32px}
  .about-hero h1{font-size:42px}
  .team-section,.value-grid{grid-template-columns:1fr}
  .team-card img{height:300px}
}


/* Anfrageformular-Seite */
.form-page{
  background:#fff;
}
.form-hero{
  background:linear-gradient(180deg,#f7f4f1,#fff);
  padding:70px 80px 45px;
  text-align:center;
  border-bottom:1px solid #eee;
}
.form-hero h1{
  font-family:Georgia,'Times New Roman',serif;
  color:#162238;
  font-size:52px;
  margin:0 0 12px;
}
.form-hero p{
  color:#a98555;
  font-size:20px;
  margin:0;
}
.form-intro{
  max-width:980px;
  margin:0 auto;
  padding:48px 28px 25px;
  text-align:center;
}
.form-intro h2{
  font-family:Georgia,'Times New Roman',serif;
  color:#162238;
  font-size:32px;
  margin:0 0 18px;
}
.form-intro p{
  color:#3f444b;
  line-height:1.7;
  font-size:16px;
  margin:0 auto;
  max-width:780px;
}
.request-section{
  max-width:980px;
  margin:0 auto;
  padding:30px 28px 60px;
}
.request-card{
  background:#fbfaf8;
  border:1px solid #eee4d9;
  box-shadow:0 8px 24px rgba(20,37,59,.06);
  padding:38px;
}
.request-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px;
}
.request-field{
  display:flex;
  flex-direction:column;
}
.request-field.full{
  grid-column:1/-1;
}
.request-field label{
  font-weight:700;
  color:#162238;
  margin-bottom:8px;
  font-size:14px;
}
.request-field input,
.request-field select,
.request-field textarea{
  width:100%;
  padding:14px 15px;
  border:1px solid #d8d0c7;
  background:#fff;
  color:#1d2636;
  font-size:15px;
  border-radius:0;
  font-family:Arial, Helvetica, sans-serif;
}
.request-field textarea{
  resize:vertical;
  min-height:150px;
}
.privacy-check{
  display:flex;
  gap:10px;
  align-items:flex-start;
  color:#3f444b;
  font-size:14px;
  line-height:1.5;
}
.privacy-check input{
  width:auto;
  margin-top:3px;
}
.privacy-check a{
  color:#14253b;
  font-weight:700;
}
.request-submit{
  background:#14253b;
  color:#fff;
  border:none;
  padding:16px 30px;
  font-weight:700;
  font-size:15px;
  cursor:pointer;
  width:max-content;
}
.form-note{
  margin-top:20px;
  color:#55575d;
  font-size:14px;
  line-height:1.6;
}
@media(max-width:900px){
  .form-hero{padding:48px 24px 32px}
  .form-hero h1{font-size:42px}
  .request-grid{grid-template-columns:1fr}
  .request-card{padding:26px 22px}
  .request-submit{width:100%}
}


/* Cookie Banner */
.cookie-banner{
  position:fixed;
  left:20px;
  right:20px;
  bottom:20px;
  background:#14253b;
  color:#fff;
  padding:20px;
  border-radius:12px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  box-shadow:0 10px 30px rgba(0,0,0,.25);
  z-index:99999;
}
.cookie-buttons{
  display:flex;
  gap:10px;
}
.cookie-buttons button{
  background:#a98555;
  color:#fff;
  border:none;
  padding:12px 18px;
  cursor:pointer;
}
.cookie-buttons .necessary{
  background:#30455f;
}
@media(max-width:900px){
  .cookie-banner{
    flex-direction:column;
    text-align:center;
  }
}
/* Tablet / iPad Optimierung */
@media (min-width: 1181px) and (max-width: 1200px){
  .topbar{
    padding:0 25px;
  }

  .nav{
    gap:18px;
    font-size:13px;
  }

  .nav-button{
    padding:14px 18px;
    margin-left:5px;
  }
}

/* iPad Hochformat und kleinere Tablets */
@media (min-width: 901px) and (max-width: 1024px){
  .topbar{
    position:static;
    height:auto;
    padding:18px 20px;
    flex-direction:column;
    gap:15px;
  }

  body{
    padding-top:0;
  }

  .brand img{
    height:66px;
    width:auto;
  }

  .nav{
    flex-wrap:wrap;
    justify-content:center;
    gap:14px;
  }

  .nav-button{
    padding:13px 18px;
  }
}

/* Smartphone */
@media (max-width: 600px){
  .topbar{
    padding:12px 15px;
  }

  .hero h1{
    font-size:46px;
  }

  .hero-actions{
    flex-direction:column;
  }

  .btn{
    text-align:center;
  }

  .footer{
    height:auto;
    padding:18px 10px;
    flex-direction:row;
    flex-wrap:wrap;
    gap:18px;
  }
}
.footer-logo{
  display:flex;
  flex-direction:column;
  align-items:center;
}

/* Social Icons unten im blauen Footer */
.footer-social-group{
  display:flex;
  align-items:center;
  gap:8px;
}

.footer-social{
  display:flex;
  align-items:center;
  position:static;
}

.footer-social img{
  width:42px;
  height:42px;
  object-fit:contain;
  transition:0.3s;
}

.footer-social img:hover{
  transform:scale(1.1);
  opacity:0.8;
}
@media(max-width:900px){
  .hero{
    height:auto;
    min-height:430px;
    background-position:center right;
  }

  .hero-text{
    width:100%;
    padding:45px 24px;
    background:linear-gradient(
      180deg,
      rgba(247,244,241,.72),
      rgba(247,244,241,.38)
    );
  }

}
@media(max-width:600px){

  .form-hero{
    padding:42px 15px 28px;
  }

  .form-hero h1{
    font-size:40px;
    line-height:1.05;
    margin:0;
  }

  .form-intro{
    padding:35px 15px 24px;
  }

  .form-intro h2{
    font-size:34px;
    line-height:1.15;
  }

  .request-section{
    padding:25px 15px 50px;
  }

  .request-card{
    padding:22px 18px;
  }

  .cf-turnstile{
    transform:scale(.88);
    transform-origin:left top;
  }
}

.turnstile-note{
  font-size:13px;
  color:#5b6472;
  margin-top:10px;
  line-height:1.5;
}
.turnstile-note a{
  color:#a98555;
}
/* Leistungen-Seite */
.leistungen-page{
  background:#fff;
}

/* Coaching-Seite (nutzt dieselben Bausteine wie Leistungen) */
.coaching-page{
  background:#fff;
}

.coaching-grid{
  max-width:1180px;
  margin:0 auto;
  padding:10px 28px 55px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:26px;
}

@media(max-width:1000px){
  .coaching-grid{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:700px){
  .coaching-grid{
    grid-template-columns:1fr;
  }
}

.leistungen-hero{
  background:linear-gradient(180deg,#f7f4f1,#fff);
  padding:72px 80px 48px;
  text-align:center;
  border-bottom:1px solid #eee;
}

.leistungen-hero h1{
  font-family:Georgia,'Times New Roman',serif;
  color:#162238;
  font-size:54px;
  line-height:1.05;
  margin:0 0 12px;
}

.leistungen-hero p{
  color:#a98555;
  font-size:20px;
  margin:0;
}

.leistungen-intro{
  max-width:980px;
  margin:0 auto;
  padding:50px 28px 28px;
  text-align:center;
}

.leistungen-intro h2,
.leistungen-process h2,
.leistungen-cta h2{
  font-family:Georgia,'Times New Roman',serif;
  color:#162238;
  font-size:32px;
  margin:0 0 18px;
}

.leistungen-intro p{
  max-width:820px;
  margin:0 auto;
  color:#3f444b;
  font-size:16px;
  line-height:1.75;
}

.leistungen-overview{
  max-width:1180px;
  margin:0 auto;
  padding:30px 28px 58px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:26px;
}

/* Tablet */
@media(max-width:1000px){
  .leistungen-overview{
    grid-template-columns:1fr 1fr;
  }
}

/* Smartphone */
@media(max-width:700px){
  .leistungen-overview{
    grid-template-columns:1fr;
  }
}

.leistung-card{
  background:#fbfaf8;
  border:1px solid #eee4d9;
  box-shadow:0 8px 24px rgba(20,37,59,.06);
  padding:32px 30px 34px;
  position:relative;
  overflow:hidden;
  min-width:0;
}

.leistung-card.highlight{
  border-top:5px solid #a98555;
}

.leistung-card:before{
  content:"";
  position:absolute;
  right:-40px;
  top:-40px;
  width:120px;
  height:120px;
  border-radius:50%;
  background:rgba(169,133,85,.08);
}

.leistung-icon{
  width:68px;
  height:68px;
  border:1px solid #e1d6c8;
  border-radius:50%;
  color:#a98555;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:32px;
  margin-bottom:20px;
  background:#fff;
}

.leistung-card h2{
  font-family:Georgia,'Times New Roman',serif;
  color:#162238;
  font-size:22px;
  margin:0 0 14px;
  overflow-wrap:anywhere;
  word-break:break-word;
  hyphens:auto;
}

.leistung-card p{
  color:#3f444b;
  font-size:15px;
  line-height:1.65;
  margin:0 0 18px;
}

.leistung-card ul{
  margin:0;
  padding-left:18px;
  color:#3f444b;
  font-size:14px;
  line-height:1.7;
}

.leistung-card li::marker{
  color:#a98555;
}

.leistungen-process{
  background:#14253b;
  color:white;
  text-align:center;
  padding:50px 28px 55px;
}

.leistungen-process h2{
  color:white;
}

.process-grid{
  max-width:980px;
  margin:26px auto 0;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}

.process-item{
  border:1px solid rgba(201,156,102,.55);
  padding:28px 22px;
}

.process-item span{
  display:inline-flex;
  width:36px;
  height:36px;
  background:#a98555;
  color:#fff;
  border-radius:50%;
  align-items:center;
  justify-content:center;
  font-family:Georgia,serif;
  font-size:22px;
  margin-bottom:14px;
}

.process-item h3{
  font-family:Georgia,'Times New Roman',serif;
  color:white;
  margin:0 0 10px;
  font-size:20px;
}

.process-item p{
  color:#f7f3ee;
  font-size:14px;
  line-height:1.6;
  margin:0;
}

.leistungen-cta{
  background:#f3eee7;
  text-align:center;
  padding:50px 28px 56px;
}

.leistungen-cta p{
  max-width:720px;
  margin:0 auto 24px;
  color:#3f444b;
  font-size:16px;
  line-height:1.65;
}

@media(max-width:1000px){
  .leistungen-overview{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:700px){
  .leistungen-hero{
    padding:48px 22px 34px;
  }

  .leistungen-hero h1{
    font-size:42px;
  }

  .leistungen-hero p{
    font-size:18px;
    line-height:1.4;
  }

  .leistungen-intro{
    padding:42px 22px 20px;
  }

  .leistungen-intro h2,
  .leistungen-process h2,
  .leistungen-cta h2{
    font-size:30px;
    line-height:1.15;
  }

  .leistungen-overview,
  .process-grid{
    grid-template-columns:1fr;
  }

  .leistungen-overview{
    padding:25px 20px 48px;
  }

  .leistung-card{
    padding:28px 24px 30px;
  }
}
/* Hochwertige Team-Platzhalter */
.team-placeholder{
  width:100%;
  height:380px;
  background:
    radial-gradient(circle at center, #1d3049 0%, #14253b 68%, #0f2035 100%);
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
  position:relative;
  overflow:hidden;
}

.team-placeholder::before{
  content:"";
  position:absolute;
  width:245px;
  height:245px;
  border:2px solid #a98555;
  border-radius:50%;
  box-shadow:
    0 0 0 10px rgba(169,133,85,.08),
    0 18px 40px rgba(0,0,0,.18);
}

.team-initials{
  position:relative;
  z-index:2;
  color:#fff;
  font-family:Georgia, 'Times New Roman', serif;
  font-size:72px;
  line-height:1;
  letter-spacing:4px;
  margin-bottom:18px;
}

.team-brand{
  position:relative;
  z-index:2;
  color:#c39c66;
  font-family:Georgia, 'Times New Roman', serif;
  font-size:18px;
  line-height:1.25;
  letter-spacing:1px;
}

@media(max-width:900px){
  .team-placeholder{
    height:300px;
  }

  .team-placeholder::before{
    width:205px;
    height:205px;
  }

  .team-initials{
    font-size:60px;
  }

  .team-brand{
    font-size:16px;
  }
}