:root{
  --black:#202020;
  --navy:#26303e;
  --gold:#b9aa91;
  --sand:#d9cdba;
  --paper:#f7f5f1;
  --line:#d8d2c9;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{margin:0;min-height:100%;background:var(--black)}
body{color:var(--navy);font-family:"Arial Narrow","Roboto Condensed",Arial,sans-serif}
a{text-decoration:none}

.topbar{height:64px;background:var(--black);color:#525965}
.nav-inner{height:64px;max-width:1320px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:0 3px}
.main-nav{height:100%;display:flex;align-items:center;gap:47px}
.main-nav a{height:100%;display:flex;align-items:center;position:relative;color:#c4c1bb;font-size:16px;font-weight:300}
.main-nav a.active{color:#d2bea0}
.main-nav a.active::after{content:"";position:absolute;left:0;bottom:13px;width:31px;height:2px;background:#d2bea0}
.top-contact{display:flex;align-items:center;gap:18px;font-size:15px;font-weight:300;color:#989b9f}
.top-contact b{width:1px;height:19px;background:#424242}

.site-shell{width:calc(100% - 30px);max-width:1643px;margin:0 auto;background:#fff}

.hero-kicker,.eyebrow{display:block;color:#a99473;font-size:13px;font-weight:600;letter-spacing:3.1px}
.eyebrow{margin-bottom:18px}
.eyebrow.light{color:#cbb99a}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif}

.about-hero{
  min-height:585px;
  display:grid;
  grid-template-columns:1.05fr .95fr;
  align-items:center;
  gap:105px;
  padding:100px 8.5%;
  background:#f7f5f1;
}
.hero-kicker{font-family:Georgia,"Times New Roman",serif;font-size:27px;line-height:1.1;font-weight:700;letter-spacing:-.6px;margin-bottom:21px}
.about-hero h1{margin:0;color:#26303e;font-size:67px;line-height:1.08;letter-spacing:-2.4px}
.gold-line{width:135px;height:3px;background:#b9aa91;margin:30px 0 25px}
.hero-copy p{max-width:660px;margin:0 0 14px;color:#596068;font-size:19px;line-height:1.62;font-weight:300}
.hero-facts{border-top:1px solid #cfc8bd}
.hero-facts article{display:grid;grid-template-columns:150px 1fr;gap:30px;align-items:center;padding:27px 0;border-bottom:1px solid #cfc8bd}
.hero-facts span{font-family:Georgia,"Times New Roman",serif;color:#9b8768;font-size:42px}
.hero-facts p{margin:0;color:#62686e;font-size:17px;line-height:1.45;font-weight:300}

.story{display:grid;grid-template-columns:.82fr 1.18fr;gap:115px;padding:96px 8.5%;background:#fff}
.section-title{max-width:1360px}
.section-title h2{margin:0;color:#26303e;font-size:47px;line-height:1.18;letter-spacing:-1.7px}
.section-title>p{margin:18px 0 0;max-width:700px;color:#646a70;font-size:17px;line-height:1.55;font-weight:300}
.story-copy{border-left:1px solid #d1c8ba;padding-left:52px}
.story-copy p{margin:0 0 20px;color:#5d6369;font-size:18px;line-height:1.67;font-weight:300}

.timeline{background:#202020;color:#eee8df;padding:95px 8.5%}
.timeline-inner{max-width:1360px;margin:0 auto}
.timeline-line{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #4b4842;margin-top:26px}
.timeline-line article{padding:29px 34px 10px 0;border-right:1px solid #4b4842;min-height:190px}
.timeline-line article:not(:first-child){padding-left:34px}
.timeline-line article:last-child{border-right:0}
.timeline-line strong{display:block;color:#b9a78a;font-family:Georgia,"Times New Roman",serif;font-size:22px;margin-bottom:19px}
.timeline-line h3{margin:0 0 10px;color:#f1ede6;font-size:20px}
.timeline-line p{margin:0;color:#9ea3a7;font-size:15px;line-height:1.48;font-weight:300}

.workstyle{background:#f7f5f1;padding:96px 8.5% 105px}
.workstyle>.section-title{max-width:1360px;margin:0 auto 47px}
.principles{max-width:1360px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #cfc8bd;border-bottom:1px solid #cfc8bd}
.principles article{padding:31px 27px 33px;border-left:1px solid #cfc8bd}
.principles article:first-child{border-left:0;padding-left:0}
.principles span{display:block;color:#ae9b7d;font-family:Georgia,"Times New Roman",serif;font-size:17px;margin-bottom:19px}
.principles h3{margin:0 0 11px;color:#2d3744;font-size:20px}
.principles p{margin:0;color:#63696f;font-size:15px;line-height:1.5;font-weight:300}

.person{display:grid;grid-template-columns:1.08fr .92fr;gap:105px;align-items:center;background:#d9cdba;padding:95px 8.5%}
.person-copy h2{margin:0;color:#26303e;font-size:50px;line-height:1.16;letter-spacing:-1.7px}
.person-copy p{max-width:670px;margin:0 0 16px;color:#53585e;font-size:18px;line-height:1.62;font-weight:300}
.text-button{margin-top:18px;min-width:180px;min-height:49px;padding:0 18px;border:1px solid #8d7c62;display:inline-flex;align-items:center;justify-content:space-between;gap:28px;color:#283342;font-size:15px}
.text-button span{font-size:22px}
.person-quote{border-left:1px solid #a99678;padding:25px 0 25px 55px}
.person-quote p{margin:0;max-width:510px;color:#3c4651;font-family:Georgia,"Times New Roman",serif;font-size:25px;line-height:1.55}

.locations{background:#fff;padding:96px 8.5% 105px}
.locations>.section-title{max-width:1360px;margin:0 auto 44px}
.location-grid{max-width:1360px;margin:0 auto;display:grid;grid-template-columns:1.2fr .9fr .9fr;border-top:1px solid #d5cfc5;border-bottom:1px solid #d5cfc5}
.location-grid article{padding:31px;border-left:1px solid #d5cfc5}
.location-grid article:first-child{border-left:0;padding-left:0}
.location-grid span{display:block;color:#9e886a;font-size:11px;font-weight:600;letter-spacing:2.2px}
.location-grid h3{margin:15px 0 7px;color:#283341;font-size:29px}
.location-grid p{margin:0;color:#696e73;font-size:15px}
.location-grid .main-location h3{font-size:36px}

.team-cta{background:#202020;color:#ece7df;padding:82px 8.5%;display:grid;grid-template-columns:1fr .9fr;gap:100px;align-items:center}
.team-cta h2{margin:0;color:#f2eee8;font-size:43px;line-height:1.19;letter-spacing:-1.4px}
.team-cta p{margin:0 0 25px;color:#aeb2b6;font-size:17px;line-height:1.55;font-weight:300}
.cta-button{min-width:170px;min-height:50px;padding:0 18px;background:#d9cdba;color:#26303e;display:inline-flex;align-items:center;justify-content:space-between;gap:30px;font-size:15px}
.cta-button span{font-size:22px}

.contact-cta{background:#d9cdba;padding:72px 8.5%;display:flex;align-items:center;justify-content:space-between;gap:80px}
.contact-cta h2{margin:0;color:#26303e;font-size:42px;line-height:1.18;letter-spacing:-1.3px}
.contact-box{display:flex;flex-direction:column;gap:7px;align-items:flex-end}
.contact-box a{color:#2f3945;font-size:18px}

.footer{background:#202020;color:#777d84;padding:34px 8.5%;display:grid;grid-template-columns:150px 1fr 1fr auto;gap:32px;align-items:center;font-size:14px}
.footer>img{width:108px;height:auto}
.footer nav{display:flex;gap:24px}
.footer nav a{color:#777d84}

@media(max-width:1100px){
  .nav-inner{padding:0 24px}.top-contact{display:none}.main-nav{gap:28px;overflow:auto;white-space:nowrap}
  .site-shell{width:calc(100% - 20px);max-width:none}
  .about-hero,.story,.person,.team-cta{gap:55px}
  .about-hero,.story,.timeline,.workstyle,.person,.locations,.team-cta,.contact-cta,.footer{padding-left:6%;padding-right:6%}
  .principles{grid-template-columns:1fr 1fr}
  .principles article:nth-child(3){border-left:0;border-top:1px solid #cfc8bd;padding-left:0}
  .principles article:nth-child(4){border-top:1px solid #cfc8bd}
}
@media(max-width:820px){
  .site-shell{width:calc(100% - 12px)}
  .about-hero,.story,.person,.team-cta{grid-template-columns:1fr}
  .about-hero h1{font-size:52px}
  .hero-kicker{font-size:24px}
  .story-copy,.person-quote{border-left:0;padding-left:0;border-top:1px solid #c9bda9;padding-top:30px}
  .timeline-line{grid-template-columns:1fr}
  .timeline-line article{border-right:0;border-bottom:1px solid #4b4842;padding-left:0!important}
  .timeline-line article:last-child{border-bottom:0}
  .location-grid{grid-template-columns:1fr}
  .location-grid article{border-left:0;border-top:1px solid #d5cfc5;padding-left:0}
  .location-grid article:first-child{border-top:0}
  .contact-cta{align-items:flex-start;flex-direction:column}
  .contact-box{align-items:flex-start}
  .footer{grid-template-columns:1fr}
}
@media(max-width:560px){
  .about-hero,.story,.timeline,.workstyle,.person,.locations,.team-cta,.contact-cta,.footer{padding-left:24px;padding-right:24px}
  .about-hero h1{font-size:43px}
  .section-title h2,.person-copy h2,.team-cta h2,.contact-cta h2{font-size:32px}
  .hero-facts article{grid-template-columns:95px 1fr}
  .principles{grid-template-columns:1fr}
  .principles article{border-left:0;border-top:1px solid #cfc8bd;padding-left:0}
  .principles article:first-child{border-top:0}
  .person-quote p{font-size:21px}
}

/* Finale Hierarchie der Standortkarten */
.location-grid .state{
  margin:14px 0 2px;
  color:#6d7277;
  font-size:14px;
  line-height:1.3;
  font-weight:300;
}
.location-grid .postal{
  margin:5px 0 0;
  color:#969b9f;
  font-size:14px;
  letter-spacing:.8px;
  font-weight:300;
}
.location-grid h3{
  margin-top:6px;
}

/* Finale Standort-Hierarchie v3:
   Bundesland groß und kräftig, PLZ + Ort kleiner und dezent darunter */
.location-grid .state-name{
  margin:14px 0 8px;
  color:#283341;
  font-family:Georgia,"Times New Roman",serif;
  font-size:30px;
  line-height:1.18;
  font-weight:700;
  letter-spacing:-.7px;
}
.location-grid .main-location .state-name{
  font-size:36px;
}
.location-grid .place-line{
  margin:0;
  color:#6f7479;
  font-size:17px;
  line-height:1.35;
  font-weight:300;
  letter-spacing:.15px;
}
@media(max-width:560px){
  .location-grid .state-name,
  .location-grid .main-location .state-name{
    font-size:28px;
  }
  .location-grid .place-line{
    font-size:16px;
  }
}


/* FINAL v5 – Projekterfahrung und Sachverständigentätigkeit */
.hero-facts .experience-fact span{
  font-size:32px;
  white-space:nowrap;
}
.expertise{
  margin:29px 0 4px;
  border-top:1px solid #a99678;
}
.expertise-label{
  display:block;
  padding:18px 0 11px;
  color:#8e7758;
  font-size:11px;
  font-weight:600;
  letter-spacing:2.1px;
}
.expertise article{
  padding:13px 0 14px;
  border-top:1px solid rgba(143,123,94,.35);
}
.expertise article strong{
  display:block;
  color:#303b47;
  font-family:Georgia,"Times New Roman",serif;
  font-size:16px;
  line-height:1.35;
}
.expertise article p{
  margin:5px 0 0;
  color:#5d6267;
  font-size:14.5px;
  line-height:1.45;
  font-weight:300;
}
@media(max-width:560px){
  .hero-facts .experience-fact span{
    font-size:27px;
  }
}


/* V1.2 korrigiert – Impressionen ausschließlich auf der Büroseite */
.ibdimp-section{
  background:#f7f5f1;
  padding:92px 8.5% 104px;
}
.ibdimp-head{
  max-width:1360px;
  margin:0 auto 50px;
}
.ibdimp-head-grid{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:72px;
  align-items:end;
}
.ibdimp-head h2{
  margin:0;
  color:#26303e;
  font-size:44px;
  line-height:1.18;
  letter-spacing:-1.4px;
}
.ibdimp-head p{
  margin:0;
  max-width:650px;
  color:#666c71;
  font-size:17px;
  line-height:1.6;
  font-weight:300;
}
.ibdimp-topic{
  max-width:1360px;
  margin:0 auto;
}
.ibdimp-topic-second{
  margin-top:58px;
  padding-top:50px;
  border-top:1px solid #d8d1c7;
}
.ibdimp-caption{
  margin-bottom:18px;
  display:flex;
  justify-content:space-between;
  gap:30px;
  align-items:baseline;
}
.ibdimp-caption strong{
  color:#957d5c;
  font-size:13px;
  letter-spacing:1.8px;
  text-transform:uppercase;
  font-weight:600;
}
.ibdimp-caption span{
  color:#74787c;
  font-size:15px;
  font-weight:300;
}
.ibdimp-grid{
  display:grid;
  grid-template-columns:2fr 1fr 1fr;
  grid-template-rows:190px 190px;
  gap:12px;
}
.ibdimp-photo{
  margin:0;
  overflow:hidden;
  background:#ddd8d0;
}
.ibdimp-photo img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
.ibdimp-main{
  grid-row:1 / 3;
}
.ibdimp-grid .ibdimp-photo:nth-child(4){
  grid-column:2 / 3;
}
.ibdimp-grid .ibdimp-photo:nth-child(5){
  grid-column:3 / 4;
}

@media(max-width:1180px){
  .ibdimp-section{padding-left:6%;padding-right:6%}
}
@media(max-width:900px){
  .ibdimp-head-grid{grid-template-columns:1fr;gap:18px}
  .ibdimp-caption{display:block}
  .ibdimp-caption span{display:block;margin-top:6px}
  .ibdimp-grid{
    grid-template-columns:1fr 1fr;
    grid-template-rows:280px 210px 210px;
  }
  .ibdimp-main{grid-column:1 / 3;grid-row:1}
  .ibdimp-grid .ibdimp-photo:nth-child(4),
  .ibdimp-grid .ibdimp-photo:nth-child(5){grid-column:auto}
}
@media(max-width:640px){
  .ibdimp-section{padding:70px 24px 76px}
  .ibdimp-head h2{font-size:32px}
  .ibdimp-grid{
    grid-template-columns:1fr;
    grid-template-rows:280px repeat(4,220px);
  }
  .ibdimp-main,
  .ibdimp-grid .ibdimp-photo:nth-child(4),
  .ibdimp-grid .ibdimp-photo:nth-child(5){
    grid-column:1;
    grid-row:auto;
  }
}


/* V1.4 – Portrait auf der Büroseite, rechts über dem Zitat */
.person-side{
  align-self:stretch;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:28px;
}
.person-portrait{
  margin:0;
  overflow:hidden;
  border-radius:18px;
  background:#e8e5df;
}
.person-portrait img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:16/10;
  object-fit:cover;
  object-position:58% 39%;
}
.person-side .person-quote{
  margin:0;
}
@media(max-width:820px){
  .person-side{
    gap:24px;
  }
  .person-portrait{
    max-width:680px;
  }
}
@media(max-width:560px){
  .person-portrait{
    border-radius:14px;
  }
}


/* V1.6 – zusätzliche echte Impressionen aus dem Baustellenalltag */
.ibdimp-everyday-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.ibdimp-everyday-card{
  margin:0;
  min-width:0;
}
.ibdimp-everyday-card img{
  display:block;
  width:100%;
  height:330px;
  object-fit:cover;
  border-radius:18px;
  background:#ddd8d0;
}
.ibdimp-everyday-card:first-child img{
  object-position:center center;
}
.ibdimp-everyday-card:last-child img{
  object-position:center center;
}
.ibdimp-everyday-card figcaption{
  margin-top:10px;
  color:#757a7e;
  font-size:13px;
  line-height:1.45;
  font-weight:300;
}
@media(max-width:760px){
  .ibdimp-everyday-grid{
    grid-template-columns:1fr;
  }
  .ibdimp-everyday-card img{
    height:auto;
    aspect-ratio:16/10;
  }
}
@media(max-width:560px){
  .ibdimp-everyday-card img{
    border-radius:14px;
  }
}
