body{overflow-x:hidden;}
.gf-page{width:100vw;position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;}

.gf-page{--gf-red:#BF1621;--gf-red-dark:#9f0f18;--gf-ink:#101417;--gf-muted:#687078;--gf-light:#f3f5f6;--gf-line:#e5e8ea;--gf-max:1180px;font-family:"DM Sans",Arial,sans-serif;color:var(--gf-ink);background:#fff;}
.gf-page *{box-sizing:border-box;}
.gf-page a{text-decoration:none;color:inherit;}
.gf-page .gf-container{width:min(var(--gf-max),calc(100% - 48px));margin:auto;}
.gf-page h1,.gf-page h2,.gf-page h3{font-family:"Montserrat",Arial,sans-serif;margin:0;}
.gf-page .gf-section{padding:90px 0;}
.gf-page .gf-kicker{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--gf-red);font-weight:800;margin-bottom:12px;}
.gf-page .gf-section-head{text-align:center;max-width:650px;margin:0 auto 46px;}
.gf-page .gf-section-head p{color:var(--gf-muted);line-height:1.7;}
.gf-page h2{font-size:clamp(30px,4vw,46px);line-height:1.1;letter-spacing:-1.5px;}
.gf-page .gf-lead{font-size:18px;line-height:1.7;color:var(--gf-muted);}
.gf-page .gf-btn{display:inline-block;background:var(--gf-red);color:#fff;padding:12px 20px;border-radius:4px;font-weight:700;font-size:14px;}
.gf-page .gf-btn-outline{display:inline-block;border:1px solid #fff;color:#fff;padding:12px 20px;border-radius:4px;font-weight:700;font-size:14px;}
.gf-page .gf-btn-white{display:inline-block;background:#fff;color:#111;padding:14px 22px;border-radius:4px;font-weight:800;}

/* HERO */
.gf-page .gf-hero{position:relative;background:linear-gradient(90deg,#071017e8 0%,#071017a8 43%,#07101720 78%),url("https://guenes-flachdach.de/wp-content/uploads/2026/09/Carport-Abdichtung.png") center/cover;padding:110px 0 0;}
.gf-page .gf-hero-content{padding:60px 0 40px;color:#fff;}
.gf-page .gf-eyebrow{color:#ff5a64;text-transform:uppercase;letter-spacing:2px;font-weight:700;font-size:12px;margin-bottom:16px;}
.gf-page .gf-hero h1{color:#fff;font-size:clamp(38px,6vw,66px);line-height:1.05;letter-spacing:-2px;max-width:700px;}
.gf-page .gf-hero p{font-size:18px;line-height:1.65;max-width:600px;color:#e9edef;margin:22px 0 30px;}
.gf-page .gf-hero-actions{display:flex;gap:12px;flex-wrap:wrap;}
.gf-page .gf-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#ddd;}
.gf-page .gf-stat{background:#fff;padding:20px 22px;}
.gf-page .gf-stat strong{font:800 26px "Montserrat";color:var(--gf-red);display:block;}
.gf-page .gf-stat span{display:block;color:#656d73;font-size:13px;margin-top:4px;}

/* INTRO */
.gf-page .gf-intro{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;}
.gf-page .gf-checks{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:24px 0;font-weight:600;font-size:14px;}
.gf-page .gf-checks li:before{content:"\2713";color:var(--gf-red);font-weight:900;margin-right:8px;}
.gf-page .gf-intro-images{position:relative;min-height:420px;}
.gf-page .gf-img-main{position:absolute;inset:0 45px 40px 0;background-size:cover;background-position:center;border-radius:6px;}
.gf-page .gf-img-small{position:absolute;right:0;bottom:0;width:48%;height:45%;background-size:cover;background-position:center;border:8px solid #fff;border-radius:4px;box-shadow:0 15px 40px #0002;}

/* CARDS */
.gf-page .gf-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.gf-page .gf-card{background:#fff;border:1px solid var(--gf-line);border-radius:6px;overflow:hidden;box-shadow:0 8px 25px rgba(16,20,23,.05);display:flex;flex-direction:column;height:100%;}
.gf-page .gf-card-img{height:190px;background-size:cover;background-position:center;}
.gf-page .gf-card-body{padding:24px;display:flex;flex-direction:column;flex:1;}
.gf-page .gf-card h3{font-size:18px;margin-bottom:9px;}
.gf-page .gf-card p{font-size:14px;color:var(--gf-muted);line-height:1.65;margin:0 0 16px;flex:1;}
.gf-page .gf-card .gf-link{color:var(--gf-red);font-weight:800;font-size:13px;}

/* DARK / WHY */
.gf-page .gf-dark{background:var(--gf-ink);color:#fff;}
.gf-page .gf-why{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;}
.gf-page .gf-why-img{height:460px;background-size:cover;background-position:center;border-radius:6px;}
.gf-page .gf-points{margin:20px 0 26px;}
.gf-page .gf-point{border-top:1px solid #ffffff25;padding:16px 0;}
.gf-page .gf-point b{color:#fff;font-size:15px;}
.gf-page .gf-point p{color:#adb5ba;margin:5px 0 0;line-height:1.5;font-size:14px;}

/* PROJECTS */
.gf-page .gf-projects{display:grid;grid-template-columns:1fr 1fr;gap:15px;}
.gf-page .gf-project{position:relative;height:250px;border-radius:6px;overflow:hidden;background-size:cover;background-position:center;}
.gf-page .gf-project:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 45%,rgba(0,0,0,.68));}
.gf-page .gf-project span{position:absolute;z-index:2;bottom:16px;left:18px;color:#fff;font-weight:700;font-family:"Montserrat";}

/* PROBLEM */
.gf-page .gf-problem{background:var(--gf-red);color:#fff;}
.gf-page .gf-problem-inner{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;}
.gf-page .gf-problem h2{color:#fff;font-size:42px;}
.gf-page .gf-problem p{line-height:1.7;color:#ffecee;}
.gf-page .gf-problem-list{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.gf-page .gf-problem-list div{border:1px solid #ffffff55;padding:14px;border-radius:4px;font-weight:600;}

/* REGION CTA BAR */
.gf-page .gf-region-cta{margin-top:30px;padding:28px;background:var(--gf-ink);color:#fff;display:flex;justify-content:space-between;gap:25px;align-items:center;flex-wrap:wrap;border-radius:6px;}
.gf-page .gf-region-cta strong{font:700 20px "Montserrat";display:block;}
.gf-page .gf-region-cta div{color:#aeb5b9;margin-top:6px;}

/* FAQ */
.gf-page .gf-faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;}
.gf-page .gf-faq details{border-top:1px solid var(--gf-line);padding:18px 0;}
.gf-page .gf-faq summary{cursor:pointer;font-weight:700;list-style:none;display:flex;justify-content:space-between;}
.gf-page .gf-faq summary::-webkit-details-marker{display:none;}
.gf-page .gf-faq summary:after{content:"+";color:var(--gf-red);font-size:20px;}
.gf-page .gf-faq details[open] summary:after{content:"\2212";}
.gf-page .gf-faq details p{color:var(--gf-muted);line-height:1.7;margin:12px 0 0;}

/* CONTACT */
.gf-page .gf-contact{background:var(--gf-light);}
.gf-page .gf-contact-box{display:grid;grid-template-columns:.9fr 1.1fr;gap:45px;background:#fff;padding:45px;border-radius:6px;box-shadow:0 20px 50px rgba(0,0,0,.05);}
.gf-page .gf-contact-box form{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.gf-page .gf-contact-box input,.gf-page .gf-contact-box textarea{width:100%;border:1px solid var(--gf-line);padding:14px;font:inherit;border-radius:3px;}
.gf-page .gf-contact-box textarea{grid-column:1/-1;min-height:120px;resize:vertical;}
.gf-page .gf-contact-box .gf-full{grid-column:1/-1;}
.gf-page .gf-contact-box button{border:0;cursor:pointer;}

/* FOOTER */
.gf-page .gf-footer{background:#0e1113;color:#aeb5b9;padding:60px 0 24px;}
.gf-page .gf-footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:45px;}
.gf-page .gf-footer h3{color:#fff;font-size:16px;margin-bottom:16px;}
.gf-page .gf-footer p,.gf-page .gf-footer li{font-size:13px;line-height:1.8;}
.gf-page .gf-footer ul{list-style:none;padding:0;margin:0;}
.gf-page .gf-footer-bottom{border-top:1px solid #ffffff18;margin-top:40px;padding-top:18px;font-size:12px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;}
.gf-page .gf-logo{font-family:"Montserrat";font-weight:800;font-size:20px;color:#fff;}
.gf-page .gf-logo span{color:var(--gf-red);}

@media(max-width:900px){
 .gf-page .gf-stats{grid-template-columns:1fr 1fr;}
 .gf-page .gf-intro,.gf-page .gf-why,.gf-page .gf-problem-inner,.gf-page .gf-faq,.gf-page .gf-contact-box{grid-template-columns:1fr;}
 .gf-page .gf-cards{grid-template-columns:1fr 1fr;}
 .gf-page .gf-footer-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:560px){
 .gf-page .gf-section{padding:60px 0;}
 .gf-page .gf-stats,.gf-page .gf-cards,.gf-page .gf-checks,.gf-page .gf-problem-list,.gf-page .gf-contact-box form,.gf-page .gf-footer-grid,.gf-page .gf-projects{grid-template-columns:1fr;}
 .gf-page .gf-contact-box{padding:26px;}
}

/* =========================================================
   WPVIBE TEST 2 — HERO (native Divi modules)
   ========================================================= */
.page-id-700 .gf-hero{
  --gf-red:#BF1621;
  --gf-ink:#101417;
  position:relative;
  width:100%;
  background:
    linear-gradient(90deg,rgba(7,16,23,.91) 0%,rgba(7,16,23,.66) 43%,rgba(7,16,23,.12) 78%),
    url("https://guenes-flachdach.de/wp-content/uploads/2026/09/Carport-Abdichtung.png") center/cover no-repeat;
  padding:110px 0 0 !important;
  overflow:hidden;
}
.page-id-700 .gf-hero .et_pb_row.gf-container{
  width:min(1180px,calc(100% - 48px)) !important;
  max-width:1180px !important;
  margin:0 auto !important;
}
.page-id-700 .gf-hero .gf-hero-content{
  padding:60px 0 40px !important;
  color:#fff;
}
.page-id-700 .gf-hero .gf-eyebrow,
.page-id-700 .gf-hero .gf-eyebrow p{
  margin:0 0 16px !important;
  padding:0 !important;
  color:#ff5a64 !important;
  text-transform:uppercase;
  letter-spacing:2px;
  font:700 12px/1.3 "Montserrat",Arial,sans-serif;
}
.page-id-700 .gf-hero .gf-hero-title h1{
  margin:0 !important;
  padding:0 !important;
  max-width:700px;
  color:#fff !important;
  font-family:"Montserrat",Arial,sans-serif !important;
  font-size:clamp(38px,6vw,66px) !important;
  line-height:1.05 !important;
  letter-spacing:-2px !important;
  font-weight:800 !important;
}
.page-id-700 .gf-hero .gf-hero-copy,
.page-id-700 .gf-hero .gf-hero-copy p{
  max-width:600px;
  margin:22px 0 30px !important;
  padding:0 !important;
  color:#e9edef !important;
  font-size:18px !important;
  line-height:1.65 !important;
}
.page-id-700 .gf-hero .gf-hero-button{
  display:inline-block;
  width:auto !important;
  margin:0 12px 0 0 !important;
  vertical-align:top;
}
.page-id-700 .gf-hero .gf-hero-button .et_pb_button{
  padding:12px 20px !important;
  border-radius:4px !important;
  font-size:14px !important;
  font-weight:700 !important;
  line-height:1.4 !important;
}
.page-id-700 .gf-hero .gf-btn-primary .et_pb_button{
  background:#BF1621 !important;
  border:1px solid #BF1621 !important;
  color:#fff !important;
}
.page-id-700 .gf-hero .gf-btn-outline .et_pb_button{
  background:transparent !important;
  border:1px solid #fff !important;
  color:#fff !important;
}
.page-id-700 .gf-hero .gf-btn-primary .et_pb_button:hover{
  background:#9f0f18 !important;
  border-color:#9f0f18 !important;
}
.page-id-700 .gf-hero .gf-btn-outline .et_pb_button:hover{
  background:rgba(255,255,255,.10) !important;
}
@media(max-width:767px){
  .page-id-700 .gf-hero{
    padding-top:70px !important;
    background-position:62% center;
  }
  .page-id-700 .gf-hero .gf-hero-content{padding:48px 0 34px !important;}
  .page-id-700 .gf-hero .gf-hero-title h1{
    font-size:clamp(38px,11vw,48px) !important;
    letter-spacing:-1.4px !important;
  }
  .page-id-700 .gf-hero .gf-hero-copy,
  .page-id-700 .gf-hero .gf-hero-copy p{
    max-width:520px;
    font-size:16px !important;
  }
  .page-id-700 .gf-hero .gf-hero-button{
    margin:0 8px 8px 0 !important;
  }
}

/* =========================================================
   WPVIBE TEST 2 — HERO STATS
   ========================================================= */
.page-id-700 .gf-hero .et_pb_row.gf-stats{
  position:relative;
  z-index:5;
  width:min(1180px,calc(100% - 48px)) !important;
  max-width:1180px !important;
  margin:0 auto !important;
  padding:0 !important;
  display:grid !important;
  grid-template-columns:repeat(4,1fr);
  gap:1px;
  background:#ddd;
  box-shadow:none;
}
.page-id-700 .gf-hero .gf-stats > .et_pb_column{
  width:auto !important;
  margin:0 !important;
}
.page-id-700 .gf-hero .gf-stat{
  margin:0 !important;
  padding:20px 22px !important;
  background:#fff;
}
.page-id-700 .gf-hero .gf-stat .et_pb_text_inner,
.page-id-700 .gf-hero .gf-stat p{
  margin:0 !important;
  padding:0 !important;
}
.page-id-700 .gf-hero .gf-stat,
.page-id-700 .gf-hero .gf-stat p,
.page-id-700 .gf-hero .gf-stat span{
  color:#656d73 !important;
  font-size:13px !important;
  line-height:1.35 !important;
}
.page-id-700 .gf-hero .gf-stat strong{
  display:block;
  margin:0 0 4px !important;
  color:#BF1621 !important;
  font:800 26px/1.1 "Montserrat",Arial,sans-serif !important;
}
.page-id-700 .gf-hero .gf-stat span{
  display:block;
  margin-top:4px;
}
@media(max-width:900px){
  .page-id-700 .gf-hero .et_pb_row.gf-stats{
    grid-template-columns:repeat(2,1fr);
  }
}
@media(max-width:560px){
  .page-id-700 .gf-hero .et_pb_row.gf-stats{
    width:calc(100% - 28px) !important;
    grid-template-columns:1fr;
  }
}

/* =========================================================
   WPVIBE TEST 2 — INTRO / ÜBER UNS
   ========================================================= */
.page-id-700 .gf-intro-section{
  padding:90px 0 !important;
  background:#fff !important;
}
.page-id-700 .gf-intro-section .et_pb_row.gf-intro{
  width:min(1180px,calc(100% - 48px)) !important;
  max-width:1180px !important;
  margin:0 auto !important;
  display:grid !important;
  grid-template-columns:1fr 1fr;
  gap:60px;
  align-items:center;
}
.page-id-700 .gf-intro-section .gf-intro > .et_pb_column{
  width:auto !important;
  margin:0 !important;
}
.page-id-700 .gf-intro-section .gf-kicker,
.page-id-700 .gf-intro-section .gf-kicker p{
  margin:0 0 12px !important;
  padding:0 !important;
  color:#BF1621 !important;
  font:800 11px/1.25 "Montserrat",Arial,sans-serif !important;
  letter-spacing:2px;
  text-transform:uppercase;
}
.page-id-700 .gf-intro-section .gf-intro-title h2{
  margin:0 !important;
  padding:0 !important;
  color:#101417 !important;
  font-family:"Montserrat",Arial,sans-serif !important;
  font-size:clamp(30px,4vw,46px) !important;
  line-height:1.1 !important;
  letter-spacing:-1.5px !important;
  font-weight:800 !important;
}
.page-id-700 .gf-intro-section .gf-intro-lead,
.page-id-700 .gf-intro-section .gf-intro-lead p{
  margin:18px 0 0 !important;
  padding:0 !important;
  color:#687078 !important;
  font-size:18px !important;
  line-height:1.7 !important;
}
.page-id-700 .gf-intro-section .gf-checks{
  margin:24px 0 !important;
}
.page-id-700 .gf-intro-section .gf-checks .et_pb_text_inner{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px 26px;
}
.page-id-700 .gf-intro-section .gf-check-item,
.page-id-700 .gf-intro-section .gf-check-item p{
  margin:0 !important;
  padding:0 !important;
  color:#101417 !important;
  font-size:14px !important;
  line-height:1.5 !important;
  font-weight:600 !important;
}
.page-id-700 .gf-intro-section .gf-check-item strong{
  color:#BF1621;
  margin-right:8px;
}
.page-id-700 .gf-intro-section .gf-intro-button{
  width:auto !important;
  display:inline-block;
}
.page-id-700 .gf-intro-section .gf-intro-button .et_pb_button{
  padding:12px 20px !important;
  border:1px solid #BF1621 !important;
  border-radius:4px !important;
  background:#BF1621 !important;
  color:#fff !important;
  font-size:14px !important;
  font-weight:700 !important;
}
.page-id-700 .gf-intro-section .gf-intro-images{
  position:relative;
  min-height:420px;
}
.page-id-700 .gf-intro-section .gf-img-main{
  position:absolute !important;
  inset:0 45px 40px 0;
  margin:0 !important;
  width:auto !important;
  max-width:none !important;
  height:auto !important;
}
.page-id-700 .gf-intro-section .gf-img-main .et_pb_image_wrap,
.page-id-700 .gf-intro-section .gf-img-main img{
  width:100% !important;
  height:100% !important;
  display:block;
}
.page-id-700 .gf-intro-section .gf-img-main img{
  object-fit:cover;
  object-position:center;
  border-radius:6px;
}
.page-id-700 .gf-intro-section .gf-img-small{
  position:absolute !important;
  right:0;
  bottom:0;
  width:48% !important;
  height:45% !important;
  margin:0 !important;
  padding:8px !important;
  background:#fff !important;
  border-radius:4px;
  box-shadow:0 15px 40px rgba(0,0,0,.13);
}
.page-id-700 .gf-intro-section .gf-img-small .et_pb_image_wrap,
.page-id-700 .gf-intro-section .gf-img-small img{
  width:100% !important;
  height:100% !important;
  display:block;
}
.page-id-700 .gf-intro-section .gf-img-small img{
  object-fit:cover;
  object-position:center;
  border-radius:2px;
}
@media(max-width:900px){
  .page-id-700 .gf-intro-section .et_pb_row.gf-intro{
    grid-template-columns:1fr;
    gap:45px;
  }
  .page-id-700 .gf-intro-section .gf-intro-images{
    min-height:460px;
  }
}
@media(max-width:560px){
  .page-id-700 .gf-intro-section{
    padding:65px 0 !important;
  }
  .page-id-700 .gf-intro-section .et_pb_row.gf-intro{
    width:calc(100% - 28px) !important;
  }
  .page-id-700 .gf-intro-section .gf-checks .et_pb_text_inner{
    grid-template-columns:1fr;
  }
  .page-id-700 .gf-intro-section .gf-intro-images{
    min-height:320px;
  }
  .page-id-700 .gf-intro-section .gf-img-main{
    inset:0 25px 35px 0;
  }
  .page-id-700 .gf-intro-section .gf-img-small{
    width:52% !important;
    height:42% !important;
  }
}

/* =========================================================
   WPVIBE TEST 2 — LEISTUNGEN
   ========================================================= */
.page-id-700 .gf-services-section{
  padding:95px 0 !important;
  background:#f3f5f6 !important;
}
.page-id-700 .gf-services-section .gf-services-head{
  width:min(650px,calc(100% - 48px)) !important;
  max-width:650px !important;
  margin:0 auto 46px !important;
  padding:0 !important;
  text-align:center;
}
.page-id-700 .gf-services-section .gf-kicker,
.page-id-700 .gf-services-section .gf-kicker p{
  margin:0 0 12px !important;
  padding:0 !important;
  color:#BF1621 !important;
  font:800 11px/1.25 "Montserrat",Arial,sans-serif !important;
  letter-spacing:2px;
  text-transform:uppercase;
  text-align:center;
}
.page-id-700 .gf-services-section .gf-services-title h2{
  margin:0 !important;
  padding:0 !important;
  color:#101417 !important;
  font-family:"Montserrat",Arial,sans-serif !important;
  font-size:clamp(30px,4vw,46px) !important;
  line-height:1.1 !important;
  letter-spacing:-1.5px !important;
  font-weight:800 !important;
  text-align:center;
}
.page-id-700 .gf-services-section .gf-services-intro,
.page-id-700 .gf-services-section .gf-services-intro p{
  margin:14px 0 0 !important;
  padding:0 !important;
  color:#687078 !important;
  font-size:16px !important;
  line-height:1.7 !important;
  text-align:center;
}
.page-id-700 .gf-services-section .et_pb_row.gf-services-grid{
  width:min(1180px,calc(100% - 48px)) !important;
  max-width:1180px !important;
  margin:0 auto !important;
  padding:0 !important;
  display:grid !important;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}
.page-id-700 .gf-services-section .gf-services-grid > .et_pb_column{
  width:auto !important;
  margin:0 !important;
}
.page-id-700 .gf-services-section .gf-service-card{
  height:100%;
  margin:0 !important;
  overflow:hidden;
  background:#fff;
  border:1px solid #e5e8ea;
  border-radius:6px;
  box-shadow:0 8px 25px rgba(16,20,23,.05);
}
.page-id-700 .gf-services-section .gf-service-image{
  margin:0 !important;
}
.page-id-700 .gf-services-section .gf-service-image .et_pb_image_wrap{
  width:100% !important;
  display:block !important;
}
.page-id-700 .gf-services-section .gf-service-image img{
  display:block;
  width:100% !important;
  height:190px !important;
  object-fit:cover;
  object-position:center;
}
.page-id-700 .gf-services-section .gf-service-content{
  margin:0 !important;
  padding:24px !important;
}
.page-id-700 .gf-services-section .gf-service-title h3{
  margin:0 0 9px !important;
  padding:0 !important;
  color:#101417 !important;
  font:700 18px/1.25 "Montserrat",Arial,sans-serif !important;
}
.page-id-700 .gf-services-section .gf-service-copy,
.page-id-700 .gf-services-section .gf-service-copy p{
  margin:0 0 16px !important;
  padding:0 !important;
  color:#687078 !important;
  font-size:14px !important;
  line-height:1.65 !important;
}
.page-id-700 .gf-services-section .gf-service-link,
.page-id-700 .gf-services-section .gf-service-link a{
  margin:0 !important;
  padding:0 !important;
  color:#BF1621 !important;
  font-size:13px !important;
  font-weight:800 !important;
}
@media(max-width:900px){
  .page-id-700 .gf-services-section .et_pb_row.gf-services-grid{
    grid-template-columns:repeat(2,1fr);
  }
}
@media(max-width:560px){
  .page-id-700 .gf-services-section{
    padding:65px 0 !important;
  }
  .page-id-700 .gf-services-section .gf-services-head{
    width:calc(100% - 28px) !important;
    margin-bottom:34px !important;
  }
  .page-id-700 .gf-services-section .et_pb_row.gf-services-grid{
    width:calc(100% - 28px) !important;
    grid-template-columns:1fr;
  }
}

/* =========================================================
   WPVIBE TEST 2 — WARUM / QUALITÄT
   ========================================================= */
.page-id-700 .gf-why-section{
  padding:95px 0 !important;
  background:#101417 !important;
  color:#fff;
}
.page-id-700 .gf-why-section .et_pb_row.gf-why{
  width:min(1180px,calc(100% - 48px)) !important;
  max-width:1180px !important;
  margin:0 auto !important;
  padding:0 !important;
  display:grid !important;
  grid-template-columns:1fr 1fr;
  gap:60px;
  align-items:center;
}
.page-id-700 .gf-why-section .gf-why > .et_pb_column{
  width:auto !important;
  margin:0 !important;
}
.page-id-700 .gf-why-section .gf-why-image{
  margin:0 !important;
}
.page-id-700 .gf-why-section .gf-why-image .et_pb_image_wrap{
  display:block !important;
  width:100% !important;
}
.page-id-700 .gf-why-section .gf-why-image img{
  display:block;
  width:100% !important;
  height:460px !important;
  object-fit:cover;
  object-position:center;
  border-radius:6px;
}
.page-id-700 .gf-why-section .gf-kicker,
.page-id-700 .gf-why-section .gf-kicker p{
  margin:0 0 12px !important;
  padding:0 !important;
  color:#ff5a64 !important;
  font:800 11px/1.25 "Montserrat",Arial,sans-serif !important;
  letter-spacing:2px;
  text-transform:uppercase;
}
.page-id-700 .gf-why-section .gf-why-title h2{
  margin:0 !important;
  padding:0 !important;
  color:#fff !important;
  font-family:"Montserrat",Arial,sans-serif !important;
  font-size:clamp(30px,4vw,46px) !important;
  line-height:1.1 !important;
  letter-spacing:-1.5px !important;
  font-weight:800 !important;
}
.page-id-700 .gf-why-section .gf-points{
  margin:20px 0 26px !important;
}
.page-id-700 .gf-why-section .gf-point{
  margin:0 !important;
  padding:16px 0 !important;
  border-top:1px solid rgba(255,255,255,.14);
}
.page-id-700 .gf-why-section .gf-point-title,
.page-id-700 .gf-why-section .gf-point-title p{
  margin:0 !important;
  padding:0 !important;
  color:#fff !important;
  font-size:15px !important;
  line-height:1.35 !important;
  font-weight:700 !important;
}
.page-id-700 .gf-why-section .gf-point-copy,
.page-id-700 .gf-why-section .gf-point-copy p{
  margin:5px 0 0 !important;
  padding:0 !important;
  color:#adb5ba !important;
  font-size:14px !important;
  line-height:1.5 !important;
}
.page-id-700 .gf-why-section .gf-why-button{
  display:inline-block;
  width:auto !important;
}
.page-id-700 .gf-why-section .gf-why-button .et_pb_button{
  padding:12px 20px !important;
  border:1px solid #BF1621 !important;
  border-radius:4px !important;
  background:#BF1621 !important;
  color:#fff !important;
  font-size:14px !important;
  font-weight:700 !important;
}
.page-id-700 .gf-why-section .gf-why-button .et_pb_button:hover{
  background:#9f0f18 !important;
  border-color:#9f0f18 !important;
}
@media(max-width:900px){
  .page-id-700 .gf-why-section .et_pb_row.gf-why{
    grid-template-columns:1fr;
    gap:42px;
  }
  .page-id-700 .gf-why-section .gf-why-image img{
    height:420px !important;
  }
}
@media(max-width:560px){
  .page-id-700 .gf-why-section{
    padding:65px 0 !important;
  }
  .page-id-700 .gf-why-section .et_pb_row.gf-why{
    width:calc(100% - 28px) !important;
  }
  .page-id-700 .gf-why-section .gf-why-image img{
    height:300px !important;
  }
}

/* =========================================================
   WPVIBE TEST 2 — REFERENZEN
   ========================================================= */
.page-id-700 .gf-projects-section{
  padding:95px 0 !important;
  background:#fff !important;
}
.page-id-700 .gf-projects-section .gf-projects-head{
  width:min(650px,calc(100% - 48px)) !important;
  max-width:650px !important;
  margin:0 auto 46px !important;
  padding:0 !important;
  text-align:center;
}
.page-id-700 .gf-projects-section .gf-kicker,
.page-id-700 .gf-projects-section .gf-kicker p{
  margin:0 0 12px !important;
  padding:0 !important;
  color:#BF1621 !important;
  font:800 11px/1.25 "Montserrat",Arial,sans-serif !important;
  letter-spacing:2px;
  text-transform:uppercase;
  text-align:center;
}
.page-id-700 .gf-projects-section .gf-projects-title h2{
  margin:0 !important;
  padding:0 !important;
  color:#101417 !important;
  font-family:"Montserrat",Arial,sans-serif !important;
  font-size:clamp(30px,4vw,46px) !important;
  line-height:1.1 !important;
  letter-spacing:-1.5px !important;
  font-weight:800 !important;
  text-align:center;
}
.page-id-700 .gf-projects-section .gf-projects-intro,
.page-id-700 .gf-projects-section .gf-projects-intro p{
  margin:14px 0 0 !important;
  padding:0 !important;
  color:#687078 !important;
  font-size:16px !important;
  line-height:1.7 !important;
  text-align:center;
}
.page-id-700 .gf-projects-section .et_pb_row.gf-projects-grid{
  width:min(1180px,calc(100% - 48px)) !important;
  max-width:1180px !important;
  margin:0 auto !important;
  padding:0 !important;
  display:grid !important;
  grid-template-columns:repeat(2,1fr);
  gap:15px;
}
.page-id-700 .gf-projects-section .gf-projects-grid > .et_pb_column{
  width:auto !important;
  margin:0 !important;
}
.page-id-700 .gf-projects-section .gf-project-card{
  position:relative;
  overflow:hidden;
  min-height:250px;
  margin:0 !important;
  border-radius:6px;
}
.page-id-700 .gf-projects-section .gf-project-image{
  margin:0 !important;
  height:100%;
}
.page-id-700 .gf-projects-section .gf-project-image .et_pb_image_wrap{
  display:block !important;
  width:100% !important;
  height:100% !important;
}
.page-id-700 .gf-projects-section .gf-project-image img{
  display:block;
  width:100% !important;
  height:250px !important;
  object-fit:cover;
  object-position:center;
}
.page-id-700 .gf-projects-section .gf-project-card:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(transparent 45%,rgba(0,0,0,.68));
}
.page-id-700 .gf-projects-section .gf-project-label{
  position:absolute !important;
  z-index:2;
  left:18px;
  bottom:16px;
  margin:0 !important;
}
.page-id-700 .gf-projects-section .gf-project-label,
.page-id-700 .gf-projects-section .gf-project-label p{
  margin:0 !important;
  padding:0 !important;
  color:#fff !important;
  font:700 16px/1.3 "Montserrat",Arial,sans-serif !important;
}
@media(max-width:560px){
  .page-id-700 .gf-projects-section{
    padding:65px 0 !important;
  }
  .page-id-700 .gf-projects-section .gf-projects-head{
    width:calc(100% - 28px) !important;
    margin-bottom:34px !important;
  }
  .page-id-700 .gf-projects-section .et_pb_row.gf-projects-grid{
    width:calc(100% - 28px) !important;
    grid-template-columns:1fr;
  }
  .page-id-700 .gf-projects-section .gf-project-card,
  .page-id-700 .gf-projects-section .gf-project-image img{
    min-height:220px;
    height:220px !important;
  }
}

/* WPVIBE TEST 2 — PROBLEM / SCHNELLE HILFE */
.page-id-700 .gf-problem-section{padding:80px 0!important;background:#BF1621!important;color:#fff;}
.page-id-700 .gf-problem-section .et_pb_row.gf-problem-inner{width:min(1180px,calc(100% - 48px))!important;max-width:1180px!important;margin:0 auto!important;padding:0!important;display:grid!important;grid-template-columns:1fr 1fr;gap:60px;align-items:center;}
.page-id-700 .gf-problem-section .gf-problem-inner>.et_pb_column{width:auto!important;margin:0!important;}
.page-id-700 .gf-problem-section .gf-kicker,.page-id-700 .gf-problem-section .gf-kicker p{margin:0 0 12px!important;padding:0!important;color:#ffd8dc!important;font:800 11px/1.25 "Montserrat",Arial,sans-serif!important;letter-spacing:2px;text-transform:uppercase;}
.page-id-700 .gf-problem-section .gf-problem-title h2{margin:0!important;padding:0!important;color:#fff!important;font-family:"Montserrat",Arial,sans-serif!important;font-size:42px!important;line-height:1.08!important;letter-spacing:-1.2px!important;font-weight:800!important;}
.page-id-700 .gf-problem-section .gf-problem-copy,.page-id-700 .gf-problem-section .gf-problem-copy p{margin:18px 0 26px!important;padding:0!important;color:#ffecee!important;font-size:16px!important;line-height:1.7!important;}
.page-id-700 .gf-problem-section .gf-problem-button{display:inline-block;width:auto!important;}
.page-id-700 .gf-problem-section .gf-problem-button .et_pb_button{padding:14px 22px!important;border:1px solid #fff!important;border-radius:4px!important;background:#fff!important;color:#111!important;font-size:14px!important;font-weight:800!important;}
.page-id-700 .gf-problem-section .gf-problem-list .et_pb_text_inner{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.page-id-700 .gf-problem-section .gf-problem-item{margin:0!important;padding:14px!important;border:1px solid rgba(255,255,255,.33);border-radius:4px;color:#fff;font-size:15px;font-weight:600;line-height:1.35;}
.page-id-700 .gf-problem-section .gf-problem-item p{margin:0!important;padding:0!important;color:#fff!important;}
@media(max-width:900px){.page-id-700 .gf-problem-section .et_pb_row.gf-problem-inner{grid-template-columns:1fr;gap:36px;}}
@media(max-width:560px){.page-id-700 .gf-problem-section{padding:60px 0!important}.page-id-700 .gf-problem-section .et_pb_row.gf-problem-inner{width:calc(100% - 28px)!important}.page-id-700 .gf-problem-section .gf-problem-title h2{font-size:36px!important}.page-id-700 .gf-problem-section .gf-problem-list .et_pb_text_inner{grid-template-columns:1fr;}}

/* =========================================================
   WPVIBE TEST 2 — WEITERE LEISTUNGEN
   ========================================================= */
.page-id-700 .gf-more-section{
  padding:95px 0!important;
  background:#f3f5f6!important;
}
.page-id-700 .gf-more-section .gf-more-head{
  width:min(650px,calc(100% - 48px))!important;
  max-width:650px!important;
  margin:0 auto 46px!important;
  padding:0!important;
  text-align:center;
}
.page-id-700 .gf-more-section .gf-kicker,
.page-id-700 .gf-more-section .gf-kicker p{
  margin:0 0 12px!important;
  padding:0!important;
  color:#BF1621!important;
  font:800 11px/1.25 "Montserrat",Arial,sans-serif!important;
  letter-spacing:2px;
  text-transform:uppercase;
  text-align:center;
}
.page-id-700 .gf-more-section .gf-more-title h2{
  margin:0!important;
  padding:0!important;
  color:#101417!important;
  font-family:"Montserrat",Arial,sans-serif!important;
  font-size:clamp(30px,4vw,46px)!important;
  line-height:1.1!important;
  letter-spacing:-1.5px!important;
  font-weight:800!important;
  text-align:center;
}
.page-id-700 .gf-more-section .gf-more-intro,
.page-id-700 .gf-more-section .gf-more-intro p{
  margin:14px 0 0!important;
  padding:0!important;
  color:#687078!important;
  font-size:16px!important;
  line-height:1.7!important;
  text-align:center;
}
.page-id-700 .gf-more-section .et_pb_row.gf-more-grid{
  width:min(1180px,calc(100% - 48px))!important;
  max-width:1180px!important;
  margin:0 auto!important;
  padding:0!important;
  display:grid!important;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}
.page-id-700 .gf-more-section .gf-more-grid>.et_pb_column{
  width:auto!important;
  margin:0!important;
}
.page-id-700 .gf-more-section .gf-more-card{
  height:100%;
  margin:0!important;
  padding:24px!important;
  background:#fff;
  border:1px solid #e5e8ea;
  border-radius:6px;
  box-shadow:0 8px 25px rgba(16,20,23,.05);
}
.page-id-700 .gf-more-section .gf-more-card h3{
  margin:0 0 9px!important;
  padding:0!important;
  color:#101417!important;
  font:700 17px/1.3 "Montserrat",Arial,sans-serif!important;
}
.page-id-700 .gf-more-section .gf-more-card p{
  margin:0 0 14px!important;
  padding:0!important;
  color:#687078!important;
  font-size:14px!important;
  line-height:1.65!important;
}
.page-id-700 .gf-more-section .gf-more-link,
.page-id-700 .gf-more-section .gf-more-link a{
  color:#BF1621!important;
  font-size:13px!important;
  font-weight:800!important;
}
@media(max-width:900px){
  .page-id-700 .gf-more-section .et_pb_row.gf-more-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:560px){
  .page-id-700 .gf-more-section{padding:65px 0!important;}
  .page-id-700 .gf-more-section .gf-more-head{width:calc(100% - 28px)!important;margin-bottom:34px!important;}
  .page-id-700 .gf-more-section .et_pb_row.gf-more-grid{width:calc(100% - 28px)!important;grid-template-columns:1fr;}
}

/* =========================================================
   WPVIBE TEST 2 — REGION / TÄTIGKEITSGEBIET
   ========================================================= */
.page-id-700 .gf-region-section{
  padding:95px 0!important;
  background:#fff!important;
}
.page-id-700 .gf-region-section .gf-region-head{
  width:min(760px,calc(100% - 48px))!important;
  max-width:760px!important;
  margin:0 auto 46px!important;
  padding:0!important;
  text-align:center;
}
.page-id-700 .gf-region-section .gf-kicker,
.page-id-700 .gf-region-section .gf-kicker p{
  margin:0 0 12px!important;
  padding:0!important;
  color:#BF1621!important;
  font:800 11px/1.25 "Montserrat",Arial,sans-serif!important;
  letter-spacing:2px;
  text-transform:uppercase;
  text-align:center;
}
.page-id-700 .gf-region-section .gf-region-title h2{
  margin:0!important;
  padding:0!important;
  color:#101417!important;
  font-family:"Montserrat",Arial,sans-serif!important;
  font-size:clamp(30px,4vw,46px)!important;
  line-height:1.1!important;
  letter-spacing:-1.5px!important;
  font-weight:800!important;
  text-align:center;
}
.page-id-700 .gf-region-section .gf-region-intro,
.page-id-700 .gf-region-section .gf-region-intro p{
  margin:14px 0 0!important;
  padding:0!important;
  color:#687078!important;
  font-size:16px!important;
  line-height:1.7!important;
  text-align:center;
}
.page-id-700 .gf-region-section .et_pb_row.gf-region-grid{
  width:min(1180px,calc(100% - 48px))!important;
  max-width:1180px!important;
  margin:0 auto!important;
  padding:0!important;
  display:grid!important;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}
.page-id-700 .gf-region-section .gf-region-grid>.et_pb_column{
  width:auto!important;
  margin:0!important;
}
.page-id-700 .gf-region-section .gf-region-card{
  height:100%;
  margin:0!important;
  padding:24px!important;
  background:#fff;
  border:1px solid #e5e8ea;
  border-radius:6px;
}
.page-id-700 .gf-region-section .gf-region-card h3{
  margin:0 0 10px!important;
  padding:0!important;
  color:#101417!important;
  font:700 17px/1.3 "Montserrat",Arial,sans-serif!important;
}
.page-id-700 .gf-region-section .gf-region-card p{
  margin:0!important;
  padding:0!important;
  color:#687078!important;
  font-size:13px!important;
  line-height:1.75!important;
}
.page-id-700 .gf-region-section .et_pb_row.gf-region-cta{
  width:min(1180px,calc(100% - 48px))!important;
  max-width:1180px!important;
  margin:30px auto 0!important;
  padding:28px!important;
  background:#101417!important;
  display:grid!important;
  grid-template-columns:1fr auto;
  gap:25px;
  align-items:center;
  border-radius:6px;
}
.page-id-700 .gf-region-section .gf-region-cta>.et_pb_column{
  width:auto!important;
  margin:0!important;
}
.page-id-700 .gf-region-section .gf-region-cta-title,
.page-id-700 .gf-region-section .gf-region-cta-title p{
  margin:0!important;
  padding:0!important;
  color:#fff!important;
  font:700 20px/1.3 "Montserrat",Arial,sans-serif!important;
}
.page-id-700 .gf-region-section .gf-region-cta-copy,
.page-id-700 .gf-region-section .gf-region-cta-copy p{
  margin:6px 0 0!important;
  padding:0!important;
  color:#aeb5b9!important;
  font-size:14px!important;
  line-height:1.6!important;
}
.page-id-700 .gf-region-section .gf-region-button{
  display:inline-block;
  width:auto!important;
}
.page-id-700 .gf-region-section .gf-region-button .et_pb_button{
  padding:12px 20px!important;
  border:1px solid #BF1621!important;
  border-radius:4px!important;
  background:#BF1621!important;
  color:#fff!important;
  font-size:14px!important;
  font-weight:700!important;
  white-space:nowrap;
}
@media(max-width:900px){
  .page-id-700 .gf-region-section .et_pb_row.gf-region-grid{grid-template-columns:repeat(2,1fr);}
  .page-id-700 .gf-region-section .et_pb_row.gf-region-cta{grid-template-columns:1fr;}
}
@media(max-width:560px){
  .page-id-700 .gf-region-section{padding:65px 0!important;}
  .page-id-700 .gf-region-section .gf-region-head{width:calc(100% - 28px)!important;margin-bottom:34px!important;}
  .page-id-700 .gf-region-section .et_pb_row.gf-region-grid,
  .page-id-700 .gf-region-section .et_pb_row.gf-region-cta{
    width:calc(100% - 28px)!important;
    grid-template-columns:1fr;
  }
}

/* =========================================================
   WPVIBE TEST 2 — FAQ
   ========================================================= */
.page-id-700 .gf-faq-section{
  padding:95px 0!important;
  background:#fff!important;
}
.page-id-700 .gf-faq-section .et_pb_row.gf-faq{
  width:min(1180px,calc(100% - 48px))!important;
  max-width:1180px!important;
  margin:0 auto!important;
  padding:0!important;
  display:grid!important;
  grid-template-columns:.8fr 1.2fr;
  gap:70px;
  align-items:start;
}
.page-id-700 .gf-faq-section .gf-faq>.et_pb_column{
  width:auto!important;
  margin:0!important;
}
.page-id-700 .gf-faq-section .gf-kicker,
.page-id-700 .gf-faq-section .gf-kicker p{
  margin:0 0 12px!important;
  padding:0!important;
  color:#BF1621!important;
  font:800 11px/1.25 "Montserrat",Arial,sans-serif!important;
  letter-spacing:2px;
  text-transform:uppercase;
}
.page-id-700 .gf-faq-section .gf-faq-title h2{
  margin:0!important;
  padding:0!important;
  color:#101417!important;
  font-family:"Montserrat",Arial,sans-serif!important;
  font-size:clamp(30px,4vw,46px)!important;
  line-height:1.1!important;
  letter-spacing:-1.5px!important;
  font-weight:800!important;
}
.page-id-700 .gf-faq-section .gf-faq-lead,
.page-id-700 .gf-faq-section .gf-faq-lead p{
  margin:18px 0 24px!important;
  padding:0!important;
  color:#687078!important;
  font-size:18px!important;
  line-height:1.7!important;
}
.page-id-700 .gf-faq-section .gf-faq-button{
  display:inline-block;
  width:auto!important;
}
.page-id-700 .gf-faq-section .gf-faq-button .et_pb_button{
  padding:12px 20px!important;
  border:1px solid #BF1621!important;
  border-radius:4px!important;
  background:#BF1621!important;
  color:#fff!important;
  font-size:14px!important;
  font-weight:700!important;
}
.page-id-700 .gf-faq-section .gf-faq-accordion{
  margin:0!important;
}
.page-id-700 .gf-faq-section .gf-faq-accordion .et_pb_toggle{
  margin:0!important;
  padding:18px 0!important;
  border:none!important;
  border-top:1px solid #e5e8ea!important;
  background:#fff!important;
}
.page-id-700 .gf-faq-section .gf-faq-accordion .et_pb_toggle_title{
  padding-right:32px!important;
  color:#101417!important;
  font-family:"Montserrat",Arial,sans-serif!important;
  font-size:16px!important;
  line-height:1.4!important;
  font-weight:700!important;
}
.page-id-700 .gf-faq-section .gf-faq-accordion .et_pb_toggle_title:before{
  right:0!important;
  color:#BF1621!important;
  font-size:20px!important;
}
.page-id-700 .gf-faq-section .gf-faq-accordion .et_pb_toggle_content{
  padding-top:12px!important;
  color:#687078!important;
  font-size:15px!important;
  line-height:1.7!important;
}
.page-id-700 .gf-faq-section .gf-faq-accordion .et_pb_toggle_content p{
  color:#687078!important;
}
@media(max-width:900px){
  .page-id-700 .gf-faq-section .et_pb_row.gf-faq{
    grid-template-columns:1fr;
    gap:40px;
  }
}
@media(max-width:560px){
  .page-id-700 .gf-faq-section{padding:65px 0!important;}
  .page-id-700 .gf-faq-section .et_pb_row.gf-faq{width:calc(100% - 28px)!important;}
}

/* =========================================================
   WPVIBE TEST 2 — KONTAKT
   ========================================================= */
.page-id-700 .gf-contact-section{
  padding:95px 0!important;
  background:#f3f5f6!important;
}
.page-id-700 .gf-contact-section .et_pb_row.gf-contact-box{
  width:min(1180px,calc(100% - 48px))!important;
  max-width:1180px!important;
  margin:0 auto!important;
  padding:45px!important;
  background:#fff!important;
  display:grid!important;
  grid-template-columns:.9fr 1.1fr;
  gap:45px;
  align-items:start;
  border-radius:6px;
  box-shadow:0 20px 50px rgba(0,0,0,.05);
}
.page-id-700 .gf-contact-section .gf-contact-box>.et_pb_column{
  width:auto!important;
  margin:0!important;
}
.page-id-700 .gf-contact-section .gf-kicker,
.page-id-700 .gf-contact-section .gf-kicker p{
  margin:0 0 12px!important;
  padding:0!important;
  color:#BF1621!important;
  font:800 11px/1.25 "Montserrat",Arial,sans-serif!important;
  letter-spacing:2px;
  text-transform:uppercase;
}
.page-id-700 .gf-contact-section .gf-contact-title h2{
  margin:0!important;
  padding:0!important;
  color:#101417!important;
  font-family:"Montserrat",Arial,sans-serif!important;
  font-size:clamp(30px,4vw,46px)!important;
  line-height:1.1!important;
  letter-spacing:-1.5px!important;
  font-weight:800!important;
}
.page-id-700 .gf-contact-section .gf-contact-lead,
.page-id-700 .gf-contact-section .gf-contact-lead p{
  margin:18px 0 20px!important;
  padding:0!important;
  color:#687078!important;
  font-size:18px!important;
  line-height:1.7!important;
}
.page-id-700 .gf-contact-section .gf-contact-data,
.page-id-700 .gf-contact-section .gf-contact-data p{
  margin:0 0 14px!important;
  padding:0!important;
  color:#101417!important;
  font-size:15px!important;
  line-height:1.7!important;
}
.page-id-700 .gf-contact-section .gf-contact-area,
.page-id-700 .gf-contact-section .gf-contact-area p{
  margin:0!important;
  padding:0!important;
  color:#687078!important;
  font-size:14px!important;
  line-height:1.65!important;
}
.page-id-700 .gf-contact-section .gf-contact-form{
  margin:0!important;
}
.page-id-700 .gf-contact-section .gf-contact-form .et_pb_contact_form{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.page-id-700 .gf-contact-section .gf-contact-form .et_pb_contact_field{
  float:none!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}
.page-id-700 .gf-contact-section .gf-contact-form .et_pb_contact_field[data-id="betreff"],
.page-id-700 .gf-contact-section .gf-contact-form .et_pb_contact_field[data-id="nachricht"]{
  grid-column:1/-1;
}
.page-id-700 .gf-contact-section .gf-contact-form input,
.page-id-700 .gf-contact-section .gf-contact-form textarea{
  width:100%!important;
  margin:0!important;
  border:1px solid #e2e6e8!important;
  outline:none!important;
  background:#f7f8f9!important;
  color:#101417!important;
  padding:0 16px!important;
  border-radius:4px!important;
  box-shadow:none!important;
  font-family:"DM Sans",Arial,sans-serif!important;
  font-size:14px!important;
  line-height:1.4!important;
  transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease;
}
.page-id-700 .gf-contact-section .gf-contact-form input{
  height:54px!important;
}
.page-id-700 .gf-contact-section .gf-contact-form textarea{
  min-height:150px!important;
  padding:15px 16px!important;
  resize:vertical;
}
.page-id-700 .gf-contact-section .gf-contact-form input::placeholder,
.page-id-700 .gf-contact-section .gf-contact-form textarea::placeholder{
  color:#7c848a!important;
  opacity:1!important;
}
.page-id-700 .gf-contact-section .gf-contact-form input:focus,
.page-id-700 .gf-contact-section .gf-contact-form textarea:focus{
  background:#fff!important;
  border-color:#BF1621!important;
  box-shadow:0 0 0 3px rgba(191,22,33,.08)!important;
}
.page-id-700 .gf-contact-section .gf-contact-form .et_contact_bottom_container{
  grid-column:1/-1;
  float:none!important;
  display:block!important;
  width:100%!important;
  margin:2px 0 0!important;
  padding:0!important;
  text-align:left!important;
}
.page-id-700 .gf-contact-section .gf-contact-form .et_pb_contact_submit{
  display:block!important;
  width:100%!important;
  min-height:54px!important;
  margin:0!important;
  padding:13px 22px!important;
  border:1px solid #BF1621!important;
  border-radius:4px!important;
  background:#BF1621!important;
  color:#fff!important;
  box-shadow:none!important;
  font-family:"Montserrat",Arial,sans-serif!important;
  font-size:14px!important;
  line-height:1.3!important;
  font-weight:800!important;
  text-align:center!important;
  transition:background-color .2s ease,border-color .2s ease,transform .2s ease;
}
.page-id-700 .gf-contact-section .gf-contact-form .et_pb_contact_submit:hover{
  padding:13px 22px!important;
  background:#9f0f18!important;
  border-color:#9f0f18!important;
}
.page-id-700 .gf-contact-section .gf-contact-form .et_pb_contact_submit:after{
  display:none!important;
}
.page-id-700 .gf-contact-section .gf-contact-form .et_pb_contact_right{
  margin:10px 0 0!important;
  color:#687078!important;
  font-size:13px!important;
}
.page-id-700 .gf-contact-section .gf-contact-form .et_pb_contact_message{
  margin-bottom:14px!important;
}
@media(max-width:900px){
  .page-id-700 .gf-contact-section .et_pb_row.gf-contact-box{
    grid-template-columns:1fr;
  }
}
@media(max-width:560px){
  .page-id-700 .gf-contact-section{padding:65px 0!important;}
  .page-id-700 .gf-contact-section .et_pb_row.gf-contact-box{
    width:calc(100% - 28px)!important;
    padding:26px!important;
  }
  .page-id-700 .gf-contact-section .gf-contact-form .et_pb_contact_form{
    grid-template-columns:1fr;
  }
  .page-id-700 .gf-contact-section .gf-contact-form .et_pb_contact_field[data-id="betreff"],
  .page-id-700 .gf-contact-section .gf-contact-form .et_pb_contact_field[data-id="nachricht"]{
    grid-column:auto;
  }
}

/* =========================================================
   WPVIBE TEST 2 — FOOTER
   ========================================================= */
.page-id-700 .gf-footer-section{
  padding:60px 0 24px!important;
  background:#0e1113!important;
  color:#aeb5b9;
}
.page-id-700 .gf-footer-section .et_pb_row.gf-footer-grid{
  width:min(1180px,calc(100% - 48px))!important;
  max-width:1180px!important;
  margin:0 auto!important;
  padding:0!important;
  display:grid!important;
  grid-template-columns:1.4fr 1fr 1fr 1fr;
  gap:45px;
}
.page-id-700 .gf-footer-section .gf-footer-grid>.et_pb_column{
  width:auto!important;
  margin:0!important;
}
.page-id-700 .gf-footer-section .gf-footer-brand,
.page-id-700 .gf-footer-section .gf-footer-brand p{
  margin:0!important;
  padding:0!important;
}
.page-id-700 .gf-footer-section .gf-footer-logo{
  margin:0!important;
}
.page-id-700 .gf-footer-section .gf-footer-logo h3{
  margin:0!important;
  padding:0!important;
  color:#fff!important;
  font:800 20px/1.2 "Montserrat",Arial,sans-serif!important;
}
.page-id-700 .gf-footer-section .gf-footer-logo h3 span{
  color:#BF1621!important;
}
.page-id-700 .gf-footer-section .gf-footer-subline,
.page-id-700 .gf-footer-section .gf-footer-subline p{
  margin:4px 0 14px!important;
  padding:0!important;
  color:#9ba3a8!important;
  font-size:11px!important;
  line-height:1.4!important;
  letter-spacing:1px;
}
.page-id-700 .gf-footer-section .gf-footer-copy,
.page-id-700 .gf-footer-section .gf-footer-copy p,
.page-id-700 .gf-footer-section .gf-footer-list,
.page-id-700 .gf-footer-section .gf-footer-list p{
  margin:0!important;
  padding:0!important;
  color:#aeb5b9!important;
  font-size:13px!important;
  line-height:1.8!important;
}
.page-id-700 .gf-footer-section .gf-footer-heading h3{
  margin:0 0 16px!important;
  padding:0!important;
  color:#fff!important;
  font:700 16px/1.3 "Montserrat",Arial,sans-serif!important;
}
.page-id-700 .gf-footer-section .et_pb_row.gf-footer-bottom{
  width:min(1180px,calc(100% - 48px))!important;
  max-width:1180px!important;
  margin:40px auto 0!important;
  padding:18px 0 0!important;
  border-top:1px solid rgba(255,255,255,.09);
  display:grid!important;
  grid-template-columns:1fr auto;
  gap:16px;
  align-items:center;
}
.page-id-700 .gf-footer-section .gf-footer-bottom>.et_pb_column{
  width:auto!important;
  margin:0!important;
}
.page-id-700 .gf-footer-section .gf-footer-meta,
.page-id-700 .gf-footer-section .gf-footer-meta p,
.page-id-700 .gf-footer-section .gf-footer-links,
.page-id-700 .gf-footer-section .gf-footer-links p{
  margin:0!important;
  padding:0!important;
  color:#aeb5b9!important;
  font-size:12px!important;
  line-height:1.5!important;
}
.page-id-700 .gf-footer-section .gf-footer-links{
  text-align:right;
}
@media(max-width:900px){
  .page-id-700 .gf-footer-section .et_pb_row.gf-footer-grid{
    grid-template-columns:repeat(2,1fr);
  }
}
@media(max-width:560px){
  .page-id-700 .gf-footer-section .et_pb_row.gf-footer-grid,
  .page-id-700 .gf-footer-section .et_pb_row.gf-footer-bottom{
    width:calc(100% - 28px)!important;
    grid-template-columns:1fr;
  }
  .page-id-700 .gf-footer-section .gf-footer-links{
    text-align:left;
  }
}

/* =========================================================
   DIVI SUBPAGE TEMPLATE — EINZUGSGEBIETE
   Reusable across pages
   ========================================================= */
.gf-subpage-template{
  --sub-red:#BF1621;
  --sub-red-dark:#9f0f18;
  --sub-ink:#18202a;
  --sub-muted:#747b83;
  --sub-light:#f6f7f8;
  --sub-line:#e7e9ec;
  --sub-max:1180px;
}
.gf-subpage-template .et_pb_row{
  width:min(var(--sub-max),calc(100% - 48px))!important;
  max-width:var(--sub-max)!important;
}
.gf-subpage-template.gf-sub-hero,
.gf-subpage-template .gf-sub-hero{
  min-height:290px;
  display:flex;
  align-items:flex-end;
  background:
    linear-gradient(90deg,rgba(12,18,24,.64),rgba(12,18,24,.22)),
    url("https://guenes-flachdach.de/wp-content/uploads/2026/09/Carport-Abdichtung.png") center/cover no-repeat;
}
.gf-subpage-template .gf-sub-hero .et_pb_row{padding:0 0 30px!important;}
.gf-subpage-template.gf-breadcrumb-section,
.gf-subpage-template .gf-breadcrumb-section{
  padding:15px 0!important;
  background:#fff!important;
  border-bottom:1px solid #eef0f2;
}
.gf-subpage-template .gf-breadcrumb,
.gf-subpage-template .gf-breadcrumb p{
  margin:0!important;
  color:#5f6870!important;
  font-size:12px!important;
}
.gf-subpage-template.gf-area-section,
.gf-subpage-template .gf-area-section{
  padding:70px 0 80px!important;
  background:var(--sub-light)!important;
}
.gf-subpage-template .gf-area-head{
  width:min(720px,calc(100% - 48px))!important;
  max-width:720px!important;
  margin:0 auto 32px!important;
  text-align:center;
}
.gf-subpage-template .gf-area-kicker,
.gf-subpage-template .gf-area-kicker p{
  margin:0 0 12px!important;
  color:var(--sub-red)!important;
  font:800 10px/1.2 "Montserrat",Arial,sans-serif!important;
  text-transform:uppercase;
  letter-spacing:1.5px;
}
.gf-subpage-template .gf-area-title h1,
.gf-subpage-template .gf-area-title h2{
  margin:0!important;
  color:var(--sub-ink)!important;
  font:800 38px/1.08 "Montserrat",Arial,sans-serif!important;
  letter-spacing:-1px!important;
  text-align:center;
}
.gf-subpage-template .gf-area-title .gf-accent{color:var(--sub-red)!important;}
.gf-subpage-template .gf-area-lead,
.gf-subpage-template .gf-area-lead p{
  margin:14px auto 0!important;
  max-width:650px;
  color:#878e95!important;
  font-size:14px!important;
  line-height:1.65!important;
  text-align:center;
}
.gf-subpage-template .gf-area-search{
  width:min(360px,calc(100% - 48px))!important;
  margin:0 auto 38px!important;
}
.gf-subpage-template .gf-area-search input{
  width:100%;
  height:52px;
  border:1px solid #e5e7ea;
  border-radius:8px;
  background:#fff;
  padding:0 18px;
  color:var(--sub-ink);
  font-size:14px;
  outline:none;
  box-shadow:0 3px 10px rgba(0,0,0,.02);
}
.gf-subpage-template .gf-area-search input:focus{
  border-color:var(--sub-red);
  box-shadow:0 0 0 3px rgba(191,22,33,.08);
}
.gf-subpage-template .gf-area-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px!important;
  margin:0 auto!important;
  padding:0!important;
}
.gf-subpage-template .gf-area-grid>.et_pb_column{
  width:auto!important;
  margin:0!important;
}
.gf-subpage-template .gf-area-card{
  height:100%;
  margin:0!important;
  padding:22px 22px 20px!important;
  background:#fff;
  border:1px solid #e7e9ec;
  border-radius:8px;
  box-shadow:0 3px 12px rgba(15,23,42,.025);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.gf-subpage-template .gf-area-card:hover{
  transform:translateY(-2px);
  border-color:#dedfe2;
  box-shadow:0 9px 24px rgba(15,23,42,.06);
}
.gf-subpage-template .gf-area-icon{
  width:42px;
  height:42px;
  margin:0 0 16px!important;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:5px;
  background:#BF1621;
  color:#fff;
}
.gf-subpage-template .gf-area-icon .et_pb_text_inner{
  display:flex;
  width:100%;
  height:100%;
  align-items:center;
  justify-content:center;
  font-size:20px;
}
.gf-subpage-template .gf-area-card h3{
  margin:0 0 12px!important;
  color:#111820!important;
  font:700 15px/1.3 "Montserrat",Arial,sans-serif!important;
}
.gf-subpage-template .gf-area-links,
.gf-subpage-template .gf-area-links p{
  margin:0!important;
  color:#69717a!important;
  font-size:12px!important;
  line-height:1.75!important;
}
.gf-subpage-template .gf-area-links a{
  color:#69717a!important;
  text-decoration:none!important;
}
.gf-subpage-template .gf-area-links a:before{
  content:"↗";
  margin-right:7px;
  color:#666f78;
}
.gf-subpage-template .gf-area-cta{
  width:min(680px,calc(100% - 48px))!important;
  max-width:680px!important;
  margin:48px auto 0!important;
  padding:30px 34px 28px!important;
  background:#fff!important;
  border:1px solid #BF1621!important;
  border-radius:8px!important;
  text-align:center!important;
  box-shadow:0 10px 28px rgba(15,23,42,.06)!important;
}
.gf-subpage-template .gf-area-cta-title,
.gf-subpage-template .gf-area-cta-title .et_pb_text_inner{
  margin:0!important;
  padding:0!important;
  text-align:center!important;
}
.gf-subpage-template .gf-area-cta-title h3{
  margin:0!important;
  padding:0!important;
  color:#18202a!important;
  font:800 23px/1.25 "Montserrat",Arial,sans-serif!important;
  letter-spacing:-.4px!important;
  text-align:center!important;
}
.gf-subpage-template .gf-area-cta-title .gf-accent{
  display:inline!important;
  color:#BF1621!important;
}
.gf-subpage-template .gf-area-cta-copy,
.gf-subpage-template .gf-area-cta-copy p{
  max-width:560px;
  margin:12px auto 18px!important;
  padding:0!important;
  color:#7d848b!important;
  font-size:13px!important;
  line-height:1.65!important;
  text-align:center!important;
}
.gf-subpage-template .gf-area-cta .et_pb_button_module_wrapper{
  display:inline-block!important;
  margin:0 4px!important;
  vertical-align:top!important;
  visibility:visible!important;
  opacity:1!important;
}
.gf-subpage-template .gf-area-cta .gf-area-btn-primary,
.gf-subpage-template .gf-area-cta .gf-area-btn-outline{
  display:inline-block!important;
  width:auto!important;
  margin:0 4px!important;
  visibility:visible!important;
  opacity:1!important;
}
.gf-subpage-template .gf-area-cta .et_pb_button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:170px!important;
  min-height:42px!important;
  padding:11px 18px!important;
  border-radius:4px!important;
  font:700 12.5px/1.35 "Montserrat",Arial,sans-serif!important;
  text-align:center!important;
  text-decoration:none!important;
  box-shadow:none!important;
  visibility:visible!important;
  opacity:1!important;
  position:relative!important;
  z-index:2!important;
}
.gf-subpage-template .gf-area-btn-primary .et_pb_button{
  background:#BF1621!important;
  border:1px solid #BF1621!important;
  color:#fff!important;
}
.gf-subpage-template .gf-area-btn-primary .et_pb_button:hover{
  background:#9f0f18!important;
  border-color:#9f0f18!important;
  padding:11px 18px!important;
}
.gf-subpage-template .gf-area-btn-outline .et_pb_button{
  background:#fff!important;
  border:1px solid #BF1621!important;
  color:#BF1621!important;
}
.gf-subpage-template .gf-area-btn-outline .et_pb_button:hover{
  background:#fff7f7!important;
  color:#9f0f18!important;
  padding:11px 18px!important;
}
.gf-subpage-template .gf-area-cta .et_pb_button:after{
  display:none!important;
}
.gf-subpage-template .gf-area-btn-primary .et_pb_button:before{
  content:"▣";
  display:inline-block;
  margin-right:8px;
  color:#fff;
  font-size:14px;
  line-height:1;
  vertical-align:-1px;
}
.gf-subpage-template .gf-area-btn-outline .et_pb_button:before{
  content:"→";
  display:inline-block;
  margin-right:8px;
  color:#9f0f18;
  font-size:18px;
  font-weight:400;
  line-height:1;
  vertical-align:-1px;
}
@media(max-width:1100px){
  .gf-subpage-template .gf-area-cta{
    width:min(680px,calc(100% - 48px))!important;
    padding:30px 34px 28px!important;
  }
}
@media(max-width:700px){
  .gf-subpage-template .gf-area-cta{
    width:calc(100% - 28px)!important;
    padding:34px 20px!important;
    border-width:2px!important;
    border-radius:18px!important;
  }
  .gf-subpage-template .gf-area-cta-title h3{
    font-size:30px!important;
    letter-spacing:-.7px!important;
  }
  .gf-subpage-template .gf-area-cta-copy,
  .gf-subpage-template .gf-area-cta-copy p{
    font-size:16px!important;
    line-height:1.65!important;
    margin:22px auto 28px!important;
  }
  .gf-subpage-template .gf-area-cta .et_pb_button_module_wrapper{
    display:block!important;
    margin:10px 0!important;
  }
  .gf-subpage-template .gf-area-cta .et_pb_button{
    width:100%!important;
    min-width:0!important;
    min-height:58px!important;
    padding:17px 20px!important;
    font-size:15px!important;
  }
  .gf-subpage-template .gf-area-btn-primary .et_pb_button:hover,
  .gf-subpage-template .gf-area-btn-outline .et_pb_button:hover{
    padding:17px 20px!important;
  }
}
@media(max-width:900px){
  .gf-subpage-template .gf-area-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:600px){
  .gf-subpage-template .et_pb_row{width:calc(100% - 28px)!important;}
  .gf-subpage-template .gf-area-section{padding:55px 0 65px!important;}
  .gf-subpage-template .gf-area-grid{grid-template-columns:1fr;}
  .gf-subpage-template .gf-area-title h1,
  .gf-subpage-template .gf-area-title h2{font-size:32px!important;}
  .gf-subpage-template .gf-area-cta{width:calc(100% - 28px)!important;padding:26px 20px!important;}
  .gf-subpage-template .gf-area-cta .et_pb_button_module_wrapper{display:block;margin:8px 0!important;}
  .gf-subpage-template .gf-area-cta .et_pb_button{width:100%;text-align:center;}
}



/* =========================================================
   WPVIBE TEST 2 — FLUENT FORMS CONTACT
   ========================================================= */
.page-id-700 .gf-contact-section .gf-fluent-contact .fluentform,
.page-id-700 .gf-contact-section .gf-fluent-contact form{
  margin:0!important;
}
.page-id-700 .gf-contact-section .gf-fluent-contact .ff-el-group{
  margin:0!important;
}
.page-id-700 .gf-contact-section .gf-fluent-contact .ff-el-input--label{
  display:none!important;
}
.page-id-700 .gf-contact-section .gf-fluent-contact .ff-t-cell{
  padding:0!important;
}
.page-id-700 .gf-contact-section .gf-fluent-contact form{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px!important;
}
.page-id-700 .gf-contact-section .gf-fluent-contact .ff-el-group{
  width:100%!important;
  min-width:0!important;
}
.page-id-700 .gf-contact-section .gf-fluent-contact .ff-el-group:has(.ff-el-input--content > .ff-el-form-control[name="email"]),
.page-id-700 .gf-contact-section .gf-fluent-contact .ff-el-group:has(.ff-el-input--content > .ff-el-form-control[name="telefon"]),
.page-id-700 .gf-contact-section .gf-fluent-contact .ff-el-group:has(.ff-el-input--content > .ff-el-form-control[name="phone"]){
  grid-column:auto!important;
}
.page-id-700 .gf-contact-section .gf-fluent-contact .ff-el-group:has(input[name="subject"]),
.page-id-700 .gf-contact-section .gf-fluent-contact .ff-el-group:has(textarea[name="message"]),
.page-id-700 .gf-contact-section .gf-fluent-contact .ff_submit_btn_wrapper{
  grid-column:1/-1!important;
  width:100%!important;
}
.page-id-700 .gf-contact-section .gf-fluent-contact input,
.page-id-700 .gf-contact-section .gf-fluent-contact textarea{
  width:100%!important;
  margin:0!important;
  border:1px solid #e2e6e8!important;
  outline:none!important;
  background:#f7f8f9!important;
  color:#101417!important;
  padding:0 16px!important;
  border-radius:4px!important;
  box-shadow:none!important;
  font-family:"DM Sans",Arial,sans-serif!important;
  font-size:14px!important;
  line-height:1.4!important;
  transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease;
}
.page-id-700 .gf-contact-section .gf-fluent-contact input{
  height:54px!important;
}
.page-id-700 .gf-contact-section .gf-fluent-contact textarea{
  min-height:150px!important;
  padding:15px 16px!important;
  resize:vertical!important;
}
.page-id-700 .gf-contact-section .gf-fluent-contact input::placeholder,
.page-id-700 .gf-contact-section .gf-fluent-contact textarea::placeholder{
  color:#7c848a!important;
  opacity:1!important;
}
.page-id-700 .gf-contact-section .gf-fluent-contact input:focus,
.page-id-700 .gf-contact-section .gf-fluent-contact textarea:focus{
  background:#fff!important;
  border-color:#BF1621!important;
  box-shadow:0 0 0 3px rgba(191,22,33,.08)!important;
}
.page-id-700 .gf-contact-section .gf-fluent-contact .ff-btn-submit{
  display:block!important;
  width:100%!important;
  min-height:54px!important;
  margin:2px 0 0!important;
  padding:13px 22px!important;
  border:1px solid #BF1621!important;
  border-radius:4px!important;
  background:#BF1621!important;
  color:#fff!important;
  box-shadow:none!important;
  font-family:"Montserrat",Arial,sans-serif!important;
  font-size:14px!important;
  line-height:1.3!important;
  font-weight:800!important;
  text-align:center!important;
  cursor:pointer!important;
  opacity:1!important;
}
.page-id-700 .gf-contact-section .gf-fluent-contact .ff-btn-submit:hover{
  background:#9f0f18!important;
  border-color:#9f0f18!important;
}
.page-id-700 .gf-contact-section .gf-fluent-contact .text-danger,
.page-id-700 .gf-contact-section .gf-fluent-contact .error{
  color:#BF1621!important;
}
@media(max-width:560px){
  .page-id-700 .gf-contact-section .gf-fluent-contact form{
    grid-template-columns:1fr;
  }
  .page-id-700 .gf-contact-section .gf-fluent-contact .gf-ff-half,
  .page-id-700 .gf-contact-section .gf-fluent-contact .gf-ff-full,
  .page-id-700 .gf-contact-section .gf-fluent-contact .ff_submit_btn_wrapper{
    grid-column:1;
  }
}


/* =========================================================
   MOBILE NAVIGATION — DIVI THEME BUILDER
   ========================================================= */
@media(max-width:980px){
  .et-l--header{
    position:relative;
    z-index:9999;
  }

  .et-l--header .et_pb_section,
  .et-l--header .et_pb_row,
  .et-l--header .et_pb_column,
  .et-l--header .et_pb_menu{
    overflow:visible!important;
  }

  .et-l--header .et_pb_menu .et_pb_menu_inner_container{
    min-height:64px;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
  }

  .et-l--header .et_pb_menu .et_mobile_nav_menu{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    width:100%!important;
  }

  .et-l--header .et_pb_menu .mobile_nav{
    width:100%!important;
    display:flex!important;
    justify-content:flex-end!important;
    align-items:center!important;
    background:transparent!important;
  }

  .et-l--header .et_pb_menu .mobile_menu_bar{
    position:relative!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:48px!important;
    height:48px!important;
    margin-right:18px!important;
    padding:0!important;
    border:1px solid rgba(255,255,255,.38)!important;
    border-radius:8px!important;
    background:rgba(255,255,255,.08)!important;
    cursor:pointer!important;
  }

  .et-l--header .et_pb_menu .mobile_menu_bar:before{
    color:#fff!important;
    font-size:34px!important;
    line-height:1!important;
    top:auto!important;
  }

  .et-l--header .et_pb_menu .et_mobile_menu{
    top:64px!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    max-height:calc(100vh - 110px);
    overflow-y:auto!important;
    margin:0!important;
    padding:10px 18px 18px!important;
    border-top:0!important;
    border-radius:0 0 12px 12px!important;
    background:#fff!important;
    box-shadow:0 18px 35px rgba(0,0,0,.16)!important;
    z-index:10000!important;
  }

  .et-l--header .et_pb_menu .et_mobile_menu li{
    margin:0!important;
    padding:0!important;
    border-bottom:1px solid #eceff1!important;
  }

  .et-l--header .et_pb_menu .et_mobile_menu li:last-child{
    border-bottom:0!important;
  }

  .et-l--header .et_pb_menu .et_mobile_menu li a{
    display:block!important;
    padding:15px 8px!important;
    color:#101417!important;
    background:transparent!important;
    font-family:"Montserrat",Arial,sans-serif!important;
    font-size:16px!important;
    line-height:1.35!important;
    font-weight:700!important;
    text-align:left!important;
    opacity:1!important;
  }

  .et-l--header .et_pb_menu .et_mobile_menu li.current-menu-item>a,
  .et-l--header .et_pb_menu .et_mobile_menu li a:hover{
    color:#BF1621!important;
    background:#fafafa!important;
  }

  .et-l--header .et_pb_menu .et_mobile_menu .menu-item-has-children>a{
    background:transparent!important;
  }
}

@media(max-width:560px){
  .et-l--header .et_pb_menu .et_pb_menu_inner_container{
    min-height:58px;
  }

  .et-l--header .et_pb_menu .mobile_menu_bar{
    width:44px!important;
    height:44px!important;
    margin-right:14px!important;
  }

  .et-l--header .et_pb_menu .mobile_menu_bar:before{
    font-size:30px!important;
  }

  .et-l--header .et_pb_menu .et_mobile_menu{
    top:58px!important;
    padding:8px 14px 14px!important;
    border-radius:0 0 10px 10px!important;
  }

  .et-l--header .et_pb_menu .et_mobile_menu li a{
    padding:14px 6px!important;
    font-size:15px!important;
  }
}


/* =========================================================
   MOBILE NAVIGATION V2 — compact solid dropdown
   ========================================================= */
@media(max-width:980px){
  header.et-l--header .et_pb_section{
    padding:0!important;
    margin:0!important;
    background:#BF1621!important;
  }
  header.et-l--header .et_pb_row{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:10px 12px!important;
    background:#BF1621!important;
  }
  header.et-l--header .et_pb_menu,
  header.et-l--header .et_pb_menu_inner_container,
  header.et-l--header .et_pb_menu__wrap,
  header.et-l--header .et_mobile_nav_menu,
  header.et-l--header .mobile_nav{
    min-height:52px!important;
    height:auto!important;
    padding:0!important;
    margin:0!important;
    background:transparent!important;
  }
  header.et-l--header .et_pb_menu__wrap{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
  }
  header.et-l--header .et_mobile_nav_menu{
    width:auto!important;
    margin-left:auto!important;
  }
  header.et-l--header .mobile_nav{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    width:auto!important;
  }
  header.et-l--header .mobile_menu_bar{
    display:flex!important;
    position:relative!important;
    align-items:center!important;
    justify-content:center!important;
    width:46px!important;
    height:46px!important;
    margin:0!important;
    padding:0!important;
    border:1px solid rgba(255,255,255,.55)!important;
    border-radius:8px!important;
    background:rgba(255,255,255,.08)!important;
  }
  header.et-l--header .mobile_menu_bar:before{
    color:#fff!important;
    font-size:30px!important;
    line-height:1!important;
  }

  header.et-l--header ul.et_mobile_menu,
  header.et-l--header .et_mobile_menu{
    position:absolute!important;
    top:72px!important;
    left:12px!important;
    right:12px!important;
    width:calc(100% - 24px)!important;
    margin:0!important;
    padding:8px 14px 12px!important;
    border:1px solid #e8eaed!important;
    border-top:4px solid #BF1621!important;
    border-radius:0 0 10px 10px!important;
    background:#fff!important;
    box-shadow:0 18px 38px rgba(0,0,0,.18)!important;
    z-index:99999!important;
    overflow:hidden!important;
  }
  header.et-l--header ul.et_mobile_menu li,
  header.et-l--header .et_mobile_menu li{
    margin:0!important;
    padding:0!important;
    background:#fff!important;
    border:0!important;
    border-bottom:1px solid #eceff1!important;
  }
  header.et-l--header ul.et_mobile_menu li:last-child,
  header.et-l--header .et_mobile_menu li:last-child{
    border-bottom:0!important;
  }
  header.et-l--header ul.et_mobile_menu li a,
  header.et-l--header .et_mobile_menu li a{
    display:block!important;
    margin:0!important;
    padding:14px 6px!important;
    background:#fff!important;
    color:#101417!important;
    border:0!important;
    font-family:"Montserrat",Arial,sans-serif!important;
    font-size:15px!important;
    line-height:1.3!important;
    font-weight:700!important;
    text-align:left!important;
    opacity:1!important;
  }
  header.et-l--header ul.et_mobile_menu li a:hover,
  header.et-l--header ul.et_mobile_menu li.current-menu-item>a,
  header.et-l--header .et_mobile_menu li a:hover,
  header.et-l--header .et_mobile_menu li.current-menu-item>a{
    color:#BF1621!important;
    background:#fafafa!important;
  }
}


/* =========================================================
   CONTACT FORM LOCK — keep Fluent Forms design stable
   ========================================================= */
.page-id-700 .gf-contact-section .gf-fluent-contact,
.page-id-700 .gf-contact-section .gf-fluent-contact .fluentform,
.page-id-700 .gf-contact-section .gf-fluent-contact .fluentform_wrapper_3{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}

.page-id-700 .gf-contact-section .gf-fluent-contact form.frm-fluent-form{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
  width:100%!important;
  margin:0!important;
}

.page-id-700 .gf-contact-section .gf-fluent-contact form.frm-fluent-form > .ff-el-group,
.page-id-700 .gf-contact-section .gf-fluent-contact form.frm-fluent-form > .ff-t-container,
.page-id-700 .gf-contact-section .gf-fluent-contact form.frm-fluent-form > .ff_submit_btn_wrapper{
  margin:0!important;
  width:100%!important;
  max-width:none!important;
}

.page-id-700 .gf-contact-section .gf-fluent-contact .ff-t-container{
  display:contents!important;
}

.page-id-700 .gf-contact-section .gf-fluent-contact .ff-t-cell{
  width:100%!important;
  padding:0!important;
  margin:0!important;
}

.page-id-700 .gf-contact-section .gf-fluent-contact .ff-el-input--label{
  display:none!important;
}

.page-id-700 .gf-contact-section .gf-fluent-contact .ff-el-group:has(input[name="subject"]),
.page-id-700 .gf-contact-section .gf-fluent-contact .ff-el-group:has(input[name="betreff"]),
.page-id-700 .gf-contact-section .gf-fluent-contact .ff-el-group:has(textarea[name="message"]),
.page-id-700 .gf-contact-section .gf-fluent-contact .ff-el-group:has(textarea[name="nachricht"]),
.page-id-700 .gf-contact-section .gf-fluent-contact .ff_submit_btn_wrapper{
  grid-column:1/-1!important;
}

.page-id-700 .gf-contact-section .gf-fluent-contact input.ff-el-form-control,
.page-id-700 .gf-contact-section .gf-fluent-contact textarea.ff-el-form-control{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  border:1px solid #e2e6e8!important;
  border-radius:4px!important;
  background:#f7f8f9!important;
  color:#101417!important;
  box-shadow:none!important;
  font-family:"DM Sans",Arial,sans-serif!important;
  font-size:14px!important;
  font-weight:400!important;
  line-height:1.4!important;
}

.page-id-700 .gf-contact-section .gf-fluent-contact input.ff-el-form-control{
  height:54px!important;
  min-height:54px!important;
  padding:0 16px!important;
}

.page-id-700 .gf-contact-section .gf-fluent-contact textarea.ff-el-form-control{
  min-height:150px!important;
  height:150px!important;
  padding:15px 16px!important;
  resize:vertical!important;
}

.page-id-700 .gf-contact-section .gf-fluent-contact input.ff-el-form-control::placeholder,
.page-id-700 .gf-contact-section .gf-fluent-contact textarea.ff-el-form-control::placeholder{
  color:#7c848a!important;
  opacity:1!important;
}

.page-id-700 .gf-contact-section .gf-fluent-contact input.ff-el-form-control:focus,
.page-id-700 .gf-contact-section .gf-fluent-contact textarea.ff-el-form-control:focus{
  background:#fff!important;
  border-color:#BF1621!important;
  box-shadow:0 0 0 3px rgba(191,22,33,.08)!important;
}

.page-id-700 .gf-contact-section .gf-fluent-contact button.ff-btn-submit,
.page-id-700 .gf-contact-section .gf-fluent-contact .ff-btn-submit{
  display:block!important;
  width:100%!important;
  min-height:54px!important;
  margin:0!important;
  padding:13px 22px!important;
  border:1px solid #BF1621!important;
  border-radius:4px!important;
  background:#BF1621!important;
  color:#fff!important;
  box-shadow:none!important;
  font-family:"Montserrat",Arial,sans-serif!important;
  font-size:14px!important;
  line-height:1.3!important;
  font-weight:800!important;
  text-align:center!important;
  opacity:1!important;
}

.page-id-700 .gf-contact-section .gf-fluent-contact button.ff-btn-submit:hover,
.page-id-700 .gf-contact-section .gf-fluent-contact .ff-btn-submit:hover{
  background:#9f0f18!important;
  border-color:#9f0f18!important;
}

@media(max-width:560px){
  .page-id-700 .gf-contact-section .gf-fluent-contact form.frm-fluent-form{
    grid-template-columns:1fr!important;
  }
  .page-id-700 .gf-contact-section .gf-fluent-contact form.frm-fluent-form > *{
    grid-column:1!important;
  }
}


/* =========================================================
   CONTACT FORM V3 — labels + correct 2-column structure
   ========================================================= */
.page-id-700 .gf-contact-section .gf-fluent-contact form.frm-fluent-form{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
  width:100%!important;
  max-width:none!important;
}

/* Show labels again */
.page-id-700 .gf-contact-section .gf-fluent-contact .ff-el-input--label{
  display:block!important;
  margin:0 0 7px!important;
  padding:0!important;
}
.page-id-700 .gf-contact-section .gf-fluent-contact .ff-el-input--label label{
  display:block!important;
  margin:0!important;
  color:#30363d!important;
  font-family:"DM Sans",Arial,sans-serif!important;
  font-size:13px!important;
  line-height:1.3!important;
  font-weight:700!important;
}

/* Name is one Fluent Forms field containing first + last name.
   Let that parent span the full grid, then split its own cells 50/50. */
.page-id-700 .gf-contact-section .gf-fluent-contact form.frm-fluent-form > .ff-el-group:has(input[name="first_name"]){
  grid-column:1/-1!important;
}
.page-id-700 .gf-contact-section .gf-fluent-contact .ff-el-group:has(input[name="first_name"]) .ff-t-container{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
  width:100%!important;
}
.page-id-700 .gf-contact-section .gf-fluent-contact .ff-el-group:has(input[name="first_name"]) .ff-t-cell{
  width:100%!important;
  min-width:0!important;
  padding:0!important;
  margin:0!important;
}

/* Email + phone stay side by side */
.page-id-700 .gf-contact-section .gf-fluent-contact form.frm-fluent-form > .ff-el-group:has(input[name="email"]),
.page-id-700 .gf-contact-section .gf-fluent-contact form.frm-fluent-form > .ff-el-group:has(input[name="phone"]){
  grid-column:auto!important;
  width:100%!important;
}

/* Subject, message and submit span full form width */
.page-id-700 .gf-contact-section .gf-fluent-contact form.frm-fluent-form > .ff-el-group:has(input[name="subject"]),
.page-id-700 .gf-contact-section .gf-fluent-contact form.frm-fluent-form > .ff-el-group:has(textarea[name="message"]),
.page-id-700 .gf-contact-section .gf-fluent-contact form.frm-fluent-form > .ff_submit_btn_wrapper{
  grid-column:1/-1!important;
  width:100%!important;
}

/* Neutralize the previous generic display:contents rule */
.page-id-700 .gf-contact-section .gf-fluent-contact .ff-t-container{
  display:block!important;
}
.page-id-700 .gf-contact-section .gf-fluent-contact .ff-el-group:has(input[name="first_name"]) .ff-t-container{
  display:grid!important;
}

/* Keep two columns on normal phones; stack only on very narrow screens */
@media(max-width:420px){
  .page-id-700 .gf-contact-section .gf-fluent-contact form.frm-fluent-form{
    grid-template-columns:1fr!important;
  }
  .page-id-700 .gf-contact-section .gf-fluent-contact form.frm-fluent-form > .ff-el-group,
  .page-id-700 .gf-contact-section .gf-fluent-contact form.frm-fluent-form > .ff_submit_btn_wrapper{
    grid-column:1!important;
  }
  .page-id-700 .gf-contact-section .gf-fluent-contact .ff-el-group:has(input[name="first_name"]) .ff-t-container{
    grid-template-columns:1fr!important;
  }
}


/* =========================================================
   CONTACT FORM V4 — explicit JS classes, no :has dependency
   ========================================================= */
.page-id-700 .gf-contact-section .gf-fluent-contact{
  width:100%!important;
  max-width:none!important;
}
.page-id-700 .gf-contact-section .gf-fluent-contact form.frm-fluent-form{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  column-gap:14px!important;
  row-gap:14px!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}
.page-id-700 .gf-contact-section .gf-fluent-contact .ff-el-group{
  margin:0!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
}
.page-id-700 .gf-contact-section .gf-fluent-contact .ff-el-input--label{
  display:block!important;
  margin:0 0 7px!important;
}
.page-id-700 .gf-contact-section .gf-fluent-contact .ff-el-input--label label{
  display:block!important;
  margin:0!important;
  color:#30363d!important;
  font-family:"DM Sans",Arial,sans-serif!important;
  font-size:13px!important;
  line-height:1.3!important;
  font-weight:700!important;
}

/* Name group spans both columns; its internal first/last-name cells split in two */
.page-id-700 .gf-contact-section .gf-fluent-contact .gf-ff-name{
  grid-column:1/-1!important;
}
.page-id-700 .gf-contact-section .gf-fluent-contact .gf-ff-name .ff-t-container{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:14px!important;
  width:100%!important;
  max-width:none!important;
}
.page-id-700 .gf-contact-section .gf-fluent-contact .gf-ff-name .ff-t-cell{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  padding:0!important;
  margin:0!important;
}

/* Email + phone are one column each */
.page-id-700 .gf-contact-section .gf-fluent-contact .gf-ff-email{
  grid-column:1!important;
}
.page-id-700 .gf-contact-section .gf-fluent-contact .gf-ff-phone{
  grid-column:2!important;
}

/* Subject, message, submit span the entire form */
.page-id-700 .gf-contact-section .gf-fluent-contact .gf-ff-subject,
.page-id-700 .gf-contact-section .gf-fluent-contact .gf-ff-message,
.page-id-700 .gf-contact-section .gf-fluent-contact .gf-ff-submit,
.page-id-700 .gf-contact-section .gf-fluent-contact .ff_submit_btn_wrapper{
  grid-column:1/-1!important;
}

/* Inputs */
.page-id-700 .gf-contact-section .gf-fluent-contact input.ff-el-form-control,
.page-id-700 .gf-contact-section .gf-fluent-contact textarea.ff-el-form-control{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  border:1px solid #e2e6e8!important;
  border-radius:4px!important;
  background:#f7f8f9!important;
  color:#101417!important;
  box-shadow:none!important;
  font-family:"DM Sans",Arial,sans-serif!important;
  font-size:14px!important;
  line-height:1.4!important;
}
.page-id-700 .gf-contact-section .gf-fluent-contact input.ff-el-form-control{
  height:54px!important;
  min-height:54px!important;
  padding:0 16px!important;
}
.page-id-700 .gf-contact-section .gf-fluent-contact textarea.ff-el-form-control{
  min-height:150px!important;
  height:150px!important;
  padding:15px 16px!important;
}
.page-id-700 .gf-contact-section .gf-fluent-contact .ff-btn-submit{
  width:100%!important;
  min-height:54px!important;
  margin:0!important;
  padding:13px 22px!important;
  border:1px solid #BF1621!important;
  border-radius:4px!important;
  background:#BF1621!important;
  color:#fff!important;
  font-family:"Montserrat",Arial,sans-serif!important;
  font-size:14px!important;
  font-weight:800!important;
}

/* Stack only on small screens */
@media(max-width:640px){
  .page-id-700 .gf-contact-section .gf-fluent-contact form.frm-fluent-form{
    grid-template-columns:1fr!important;
  }
  .page-id-700 .gf-contact-section .gf-fluent-contact .gf-ff-name,
  .page-id-700 .gf-contact-section .gf-fluent-contact .gf-ff-email,
  .page-id-700 .gf-contact-section .gf-fluent-contact .gf-ff-phone,
  .page-id-700 .gf-contact-section .gf-fluent-contact .gf-ff-subject,
  .page-id-700 .gf-contact-section .gf-fluent-contact .gf-ff-message,
  .page-id-700 .gf-contact-section .gf-fluent-contact .gf-ff-submit,
  .page-id-700 .gf-contact-section .gf-fluent-contact .ff_submit_btn_wrapper{
    grid-column:1!important;
  }
  .page-id-700 .gf-contact-section .gf-fluent-contact .gf-ff-name .ff-t-container{
    grid-template-columns:1fr!important;
  }
}


/* =========================================================
   CONTACT FORM V5 — Fluent Forms grid lives on FIELDSET
   ========================================================= */
.page-id-700 .gf-contact-section .gf-fluent-contact form.frm-fluent-form > fieldset{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  column-gap:14px!important;
  row-gap:14px!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  min-width:0!important;
}

.page-id-700 .gf-contact-section .gf-fluent-contact form.frm-fluent-form > fieldset > .ff-el-group,
.page-id-700 .gf-contact-section .gf-fluent-contact form.frm-fluent-form > fieldset > .ff_submit_btn_wrapper{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
}

/* Field order / semantic targeting */
.page-id-700 .gf-contact-section .gf-fluent-contact form.frm-fluent-form > fieldset > .ff-el-group:has(input[name="first_name"]){
  grid-column:1/-1!important;
}
.page-id-700 .gf-contact-section .gf-fluent-contact form.frm-fluent-form > fieldset > .ff-el-group:has(input[name="email"]){
  grid-column:1!important;
}
.page-id-700 .gf-contact-section .gf-fluent-contact form.frm-fluent-form > fieldset > .ff-el-group:has(input[name="phone"]){
  grid-column:2!important;
}
.page-id-700 .gf-contact-section .gf-fluent-contact form.frm-fluent-form > fieldset > .ff-el-group:has(input[name="subject"]),
.page-id-700 .gf-contact-section .gf-fluent-contact form.frm-fluent-form > fieldset > .ff-el-group:has(textarea[name="message"]),
.page-id-700 .gf-contact-section .gf-fluent-contact form.frm-fluent-form > fieldset > .ff_submit_btn_wrapper{
  grid-column:1/-1!important;
}

/* Name compound field: first + last name side by side */
.page-id-700 .gf-contact-section .gf-fluent-contact .ff-el-group:has(input[name="first_name"]) .ff-el-input--content > .ff-t-container{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:14px!important;
  width:100%!important;
}
.page-id-700 .gf-contact-section .gf-fluent-contact .ff-el-group:has(input[name="first_name"]) .ff-t-cell{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  padding:0!important;
  margin:0!important;
}

/* Labels */
.page-id-700 .gf-contact-section .gf-fluent-contact .ff-el-input--label{
  display:block!important;
  margin:0 0 7px!important;
  padding:0!important;
}
.page-id-700 .gf-contact-section .gf-fluent-contact .ff-el-input--label label{
  display:block!important;
  margin:0!important;
  color:#30363d!important;
  font-family:"DM Sans",Arial,sans-serif!important;
  font-size:13px!important;
  line-height:1.3!important;
  font-weight:700!important;
}

/* Full control width */
.page-id-700 .gf-contact-section .gf-fluent-contact .ff-el-input--content,
.page-id-700 .gf-contact-section .gf-fluent-contact input.ff-el-form-control,
.page-id-700 .gf-contact-section .gf-fluent-contact textarea.ff-el-form-control{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
}
.page-id-700 .gf-contact-section .gf-fluent-contact input.ff-el-form-control{
  height:54px!important;
  min-height:54px!important;
  padding:0 16px!important;
}
.page-id-700 .gf-contact-section .gf-fluent-contact textarea.ff-el-form-control{
  min-height:150px!important;
  height:150px!important;
  padding:15px 16px!important;
}
.page-id-700 .gf-contact-section .gf-fluent-contact .ff-btn-submit{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  min-height:54px!important;
  margin:0!important;
}

/* Mobile: only stack below 520px */
@media(max-width:520px){
  .page-id-700 .gf-contact-section .gf-fluent-contact form.frm-fluent-form > fieldset{
    grid-template-columns:1fr!important;
  }
  .page-id-700 .gf-contact-section .gf-fluent-contact form.frm-fluent-form > fieldset > .ff-el-group,
  .page-id-700 .gf-contact-section .gf-fluent-contact form.frm-fluent-form > fieldset > .ff_submit_btn_wrapper{
    grid-column:1!important;
  }
  .page-id-700 .gf-contact-section .gf-fluent-contact .ff-el-group:has(input[name="first_name"]) .ff-el-input--content > .ff-t-container{
    grid-template-columns:1fr!important;
  }
}


/* =========================================================
   CONTACT FORM V6 — FINAL LAYOUT OVERRIDE
   Works whether Fluent Forms fields are direct children or
   wrapped in a fieldset. Keeps 2 columns until very narrow.
   ========================================================= */
.page-id-700 .gf-contact-section .gf-fluent-contact form.frm-fluent-form{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:14px!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}

.page-id-700 .gf-contact-section .gf-fluent-contact form.frm-fluent-form > fieldset{
  grid-column:1/-1!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:14px!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
}

/* Labels stay visible */
.page-id-700 .gf-contact-section .gf-fluent-contact .ff-el-input--label{
  display:block!important;
  margin:0 0 7px!important;
}
.page-id-700 .gf-contact-section .gf-fluent-contact .ff-el-input--label label{
  display:block!important;
  color:#30363d!important;
  font-size:13px!important;
  line-height:1.3!important;
  font-weight:700!important;
}

/* Name field spans full width; first/last name split 50/50 */
.page-id-700 .gf-contact-section .gf-fluent-contact .gf-ff-name,
.page-id-700 .gf-contact-section .gf-fluent-contact form.frm-fluent-form > .ff-el-group:has(input[name="first_name"]),
.page-id-700 .gf-contact-section .gf-fluent-contact form.frm-fluent-form > fieldset > .ff-el-group:has(input[name="first_name"]){
  grid-column:1/-1!important;
}
.page-id-700 .gf-contact-section .gf-fluent-contact .gf-ff-name .ff-t-container,
.page-id-700 .gf-contact-section .gf-fluent-contact .ff-el-group:has(input[name="first_name"]) .ff-t-container{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:14px!important;
  width:100%!important;
}
.page-id-700 .gf-contact-section .gf-fluent-contact .gf-ff-name .ff-t-cell,
.page-id-700 .gf-contact-section .gf-fluent-contact .ff-el-group:has(input[name="first_name"]) .ff-t-cell{
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
}

/* Email left / phone right */
.page-id-700 .gf-contact-section .gf-fluent-contact .gf-ff-email,
.page-id-700 .gf-contact-section .gf-fluent-contact form.frm-fluent-form > .ff-el-group:has(input[name="email"]),
.page-id-700 .gf-contact-section .gf-fluent-contact form.frm-fluent-form > fieldset > .ff-el-group:has(input[name="email"]){
  grid-column:1!important;
}
.page-id-700 .gf-contact-section .gf-fluent-contact .gf-ff-phone,
.page-id-700 .gf-contact-section .gf-fluent-contact form.frm-fluent-form > .ff-el-group:has(input[name="phone"]),
.page-id-700 .gf-contact-section .gf-fluent-contact form.frm-fluent-form > fieldset > .ff-el-group:has(input[name="phone"]){
  grid-column:2!important;
}

/* Subject, message and submit full width */
.page-id-700 .gf-contact-section .gf-fluent-contact .gf-ff-subject,
.page-id-700 .gf-contact-section .gf-fluent-contact .gf-ff-message,
.page-id-700 .gf-contact-section .gf-fluent-contact .gf-ff-submit,
.page-id-700 .gf-contact-section .gf-fluent-contact form.frm-fluent-form > .ff-el-group:has(input[name="subject"]),
.page-id-700 .gf-contact-section .gf-fluent-contact form.frm-fluent-form > .ff-el-group:has(textarea[name="message"]),
.page-id-700 .gf-contact-section .gf-fluent-contact form.frm-fluent-form > fieldset > .ff-el-group:has(input[name="subject"]),
.page-id-700 .gf-contact-section .gf-fluent-contact form.frm-fluent-form > fieldset > .ff-el-group:has(textarea[name="message"]),
.page-id-700 .gf-contact-section .gf-fluent-contact .ff_submit_btn_wrapper{
  grid-column:1/-1!important;
  width:100%!important;
  max-width:none!important;
}

.page-id-700 .gf-contact-section .gf-fluent-contact .ff-el-group,
.page-id-700 .gf-contact-section .gf-fluent-contact .ff-el-input--content,
.page-id-700 .gf-contact-section .gf-fluent-contact input.ff-el-form-control,
.page-id-700 .gf-contact-section .gf-fluent-contact textarea.ff-el-form-control{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
}

/* Only stack on truly narrow phones */
@media(max-width:380px){
  .page-id-700 .gf-contact-section .gf-fluent-contact form.frm-fluent-form,
  .page-id-700 .gf-contact-section .gf-fluent-contact form.frm-fluent-form > fieldset{
    grid-template-columns:1fr!important;
  }
  .page-id-700 .gf-contact-section .gf-fluent-contact .gf-ff-name,
  .page-id-700 .gf-contact-section .gf-fluent-contact .gf-ff-email,
  .page-id-700 .gf-contact-section .gf-fluent-contact .gf-ff-phone,
  .page-id-700 .gf-contact-section .gf-fluent-contact .gf-ff-subject,
  .page-id-700 .gf-contact-section .gf-fluent-contact .gf-ff-message,
  .page-id-700 .gf-contact-section .gf-fluent-contact .gf-ff-submit,
  .page-id-700 .gf-contact-section .gf-fluent-contact form.frm-fluent-form .ff-el-group,
  .page-id-700 .gf-contact-section .gf-fluent-contact .ff_submit_btn_wrapper{
    grid-column:1!important;
  }
  .page-id-700 .gf-contact-section .gf-fluent-contact .gf-ff-name .ff-t-container,
  .page-id-700 .gf-contact-section .gf-fluent-contact .ff-el-group:has(input[name="first_name"]) .ff-t-container{
    grid-template-columns:1fr!important;
  }
}


/* =========================================================
   REGIONAL / CITY SUBPAGE TEMPLATE
   ========================================================= */
.gf-city-template{
  --city-red:#BF1621;
  --city-red-dark:#94101a;
  --city-ink:#111820;
  --city-muted:#6f7780;
  --city-light:#f5f6f7;
  --city-line:#e5e8eb;
  --city-max:1180px;
  color:var(--city-ink);
}
.gf-city-template .et_pb_row{
  width:min(var(--city-max),calc(100% - 48px))!important;
  max-width:var(--city-max)!important;
}
.gf-city-template .gf-city-kicker,
.gf-city-template .gf-city-kicker p{
  margin:0 0 12px!important;
  color:var(--city-red)!important;
  font:800 11px/1.2 "Montserrat",Arial,sans-serif!important;
  letter-spacing:1.8px;
  text-transform:uppercase;
}
.gf-city-template .gf-city-title h1,
.gf-city-template .gf-city-title h2{
  margin:0!important;
  color:var(--city-ink)!important;
  font-family:"Montserrat",Arial,sans-serif!important;
  font-weight:800!important;
  letter-spacing:-1.3px!important;
}
.gf-city-template .gf-city-title h1{font-size:clamp(38px,5vw,62px)!important;line-height:1.04!important;}
.gf-city-template .gf-city-title h2{font-size:clamp(30px,4vw,44px)!important;line-height:1.1!important;}
.gf-city-template .gf-city-copy,
.gf-city-template .gf-city-copy p{
  color:var(--city-muted)!important;
  font-size:16px!important;
  line-height:1.75!important;
}
.gf-city-template .gf-city-accent{color:var(--city-red)!important;}
.gf-city-template .gf-city-btn{display:inline-block!important;margin:0 10px 8px 0!important;}
.gf-city-template .gf-city-btn .et_pb_button{
  padding:12px 20px!important;
  border-radius:5px!important;
  font-size:14px!important;
  font-weight:800!important;
}
.gf-city-template .gf-city-btn-primary .et_pb_button{
  background:var(--city-red)!important;
  border:1px solid var(--city-red)!important;
  color:#fff!important;
}
.gf-city-template .gf-city-btn-outline .et_pb_button{
  background:#fff!important;
  border:1px solid var(--city-line)!important;
  color:var(--city-ink)!important;
}

/* Hero */
.gf-city-template.gf-city-hero{
  padding:76px 0 54px!important;
  background:
    radial-gradient(circle at 82% 16%,rgba(191,22,33,.12),transparent 32%),
    linear-gradient(180deg,#fff 0%,#fafafa 100%)!important;
  overflow:hidden;
}
.gf-city-template .gf-city-hero-row{
  display:grid!important;
  grid-template-columns:1.08fr .92fr;
  gap:58px;
  align-items:center;
}
.gf-city-template .gf-city-hero-row>.et_pb_column{width:auto!important;margin:0!important;}
.gf-city-template .gf-city-breadcrumb,
.gf-city-template .gf-city-breadcrumb p{
  margin:0 0 24px!important;
  color:#8a9198!important;
  font-size:12px!important;
}
.gf-city-template .gf-city-hero-copy{margin:20px 0 26px!important;max-width:650px;}
.gf-city-template .gf-city-trust{
  margin-top:30px!important;
  display:grid!important;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
}
.gf-city-template .gf-city-trust>.et_pb_column{width:auto!important;margin:0!important;}
.gf-city-template .gf-city-trust-item{
  margin:0!important;
  padding:14px 15px!important;
  background:#fff;
  border:1px solid var(--city-line);
  border-radius:7px;
}
.gf-city-template .gf-city-trust-item strong{
  display:block;
  color:var(--city-red);
  font:800 18px/1.1 "Montserrat",Arial,sans-serif;
}
.gf-city-template .gf-city-trust-item span{
  display:block;
  margin-top:4px;
  color:#737b83;
  font-size:11px;
}
.gf-city-template .gf-city-image-placeholder{
  min-height:430px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  border:1px dashed #bfc5ca;
  border-radius:10px;
  background:
    linear-gradient(135deg,rgba(191,22,33,.07),rgba(17,24,32,.04)),
    repeating-linear-gradient(45deg,#f4f5f6,#f4f5f6 10px,#fafafa 10px,#fafafa 20px);
  color:#90979e;
  font:800 12px/1.4 "Montserrat",Arial,sans-serif;
  letter-spacing:1.2px;
  text-transform:uppercase;
}
.gf-city-template .gf-city-image-placeholder.small{min-height:250px;}
.gf-city-template .gf-city-image-placeholder.map{min-height:360px;}

/* Generic sections */
.gf-city-template.gf-city-section{padding:82px 0!important;background:#fff!important;}
.gf-city-template.gf-city-section-alt{padding:82px 0!important;background:var(--city-light)!important;}
.gf-city-template .gf-city-split{
  display:grid!important;
  grid-template-columns:1fr 1fr;
  gap:64px;
  align-items:center;
}
.gf-city-template .gf-city-split>.et_pb_column{width:auto!important;margin:0!important;}
.gf-city-template .gf-city-section-head{
  max-width:720px;
  margin:0 auto 38px!important;
  text-align:center;
}

/* Service cards */
.gf-city-template .gf-city-services{
  display:grid!important;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.gf-city-template .gf-city-services>.et_pb_column{width:auto!important;margin:0!important;}
.gf-city-template .gf-city-card{
  height:100%;
  margin:0!important;
  padding:26px!important;
  background:#fff;
  border:1px solid var(--city-line);
  border-radius:8px;
  box-shadow:0 8px 22px rgba(15,23,42,.035);
}
.gf-city-template .gf-city-card-no{
  display:inline-flex;
  width:38px;
  height:38px;
  align-items:center;
  justify-content:center;
  margin-bottom:18px;
  border-radius:6px;
  background:var(--city-red);
  color:#fff;
  font:800 13px/1 "Montserrat",Arial,sans-serif;
}
.gf-city-template .gf-city-card h3{
  margin:0 0 10px!important;
  color:var(--city-ink)!important;
  font:800 18px/1.25 "Montserrat",Arial,sans-serif!important;
}
.gf-city-template .gf-city-card p{
  margin:0!important;
  color:var(--city-muted)!important;
  font-size:14px!important;
  line-height:1.65!important;
}

/* Local benefits */
.gf-city-template .gf-city-local-list{margin-top:22px!important;}
.gf-city-template .gf-city-local-item{
  margin:0 0 10px!important;
  padding:15px 16px!important;
  border:1px solid var(--city-line);
  border-left:3px solid var(--city-red);
  border-radius:5px;
  background:#fff;
}
.gf-city-template .gf-city-local-item,
.gf-city-template .gf-city-local-item p{
  color:#4d555d!important;
  font-size:14px!important;
  line-height:1.55!important;
}

/* References */
.gf-city-template .gf-city-projects{
  display:grid!important;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.gf-city-template .gf-city-projects>.et_pb_column{width:auto!important;margin:0!important;}
.gf-city-template .gf-city-project-card{
  margin:0!important;
  padding:0!important;
  overflow:hidden;
  border:1px solid var(--city-line);
  border-radius:8px;
  background:#fff;
}
.gf-city-template .gf-city-project-meta{
  padding:18px 20px!important;
}
.gf-city-template .gf-city-project-meta h3{
  margin:0 0 6px!important;
  color:var(--city-ink)!important;
  font:800 16px/1.3 "Montserrat",Arial,sans-serif!important;
}
.gf-city-template .gf-city-project-meta p{
  margin:0!important;
  color:#7b838b!important;
  font-size:12px!important;
  line-height:1.5!important;
}

/* Process */
.gf-city-template .gf-city-process{
  display:grid!important;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
}
.gf-city-template .gf-city-process>.et_pb_column{width:auto!important;margin:0!important;}
.gf-city-template .gf-city-step{
  position:relative;
  margin:0!important;
  padding:24px 20px!important;
  border-top:3px solid var(--city-red);
  background:#fff;
}
.gf-city-template .gf-city-step strong{
  display:block;
  margin-bottom:10px;
  color:var(--city-red);
  font:800 12px/1 "Montserrat",Arial,sans-serif;
  letter-spacing:1px;
}
.gf-city-template .gf-city-step h3{
  margin:0 0 8px!important;
  color:var(--city-ink)!important;
  font:800 16px/1.3 "Montserrat",Arial,sans-serif!important;
}
.gf-city-template .gf-city-step p{
  margin:0!important;
  color:var(--city-muted)!important;
  font-size:13px!important;
  line-height:1.55!important;
}

/* FAQ */
.gf-city-template .gf-city-faq details{
  margin:0;
  padding:17px 0;
  border-bottom:1px solid var(--city-line);
}
.gf-city-template .gf-city-faq summary{
  cursor:pointer;
  list-style:none;
  color:var(--city-ink);
  font:800 15px/1.4 "Montserrat",Arial,sans-serif;
}
.gf-city-template .gf-city-faq summary::-webkit-details-marker{display:none;}
.gf-city-template .gf-city-faq summary:after{
  content:"+";
  float:right;
  color:var(--city-red);
  font-size:21px;
}
.gf-city-template .gf-city-faq details[open] summary:after{content:"−";}
.gf-city-template .gf-city-faq details p{
  margin:10px 0 0!important;
  color:var(--city-muted)!important;
  font-size:14px!important;
  line-height:1.65!important;
}

/* Contact */
.gf-city-template.gf-city-contact{
  padding:82px 0!important;
  background:#111820!important;
}
.gf-city-template.gf-city-contact .gf-city-title h2,
.gf-city-template.gf-city-contact .gf-city-copy,
.gf-city-template.gf-city-contact .gf-city-copy p{color:#fff!important;}
.gf-city-template .gf-city-contact-box{
  padding:28px!important;
  background:#fff;
  border-radius:9px;
}

@media(max-width:900px){
  .gf-city-template .gf-city-hero-row,
  .gf-city-template .gf-city-split{grid-template-columns:1fr;}
  .gf-city-template .gf-city-services,
  .gf-city-template .gf-city-projects{grid-template-columns:1fr 1fr;}
  .gf-city-template .gf-city-process{grid-template-columns:1fr 1fr;}
}
@media(max-width:600px){
  .gf-city-template .et_pb_row{width:calc(100% - 28px)!important;}
  .gf-city-template.gf-city-hero{padding:54px 0 40px!important;}
  .gf-city-template.gf-city-section,
  .gf-city-template.gf-city-section-alt,
  .gf-city-template.gf-city-contact{padding:58px 0!important;}
  .gf-city-template .gf-city-services,
  .gf-city-template .gf-city-projects,
  .gf-city-template .gf-city-process,
  .gf-city-template .gf-city-trust{grid-template-columns:1fr;}
  .gf-city-template .gf-city-image-placeholder{min-height:290px;}
}


/* =========================================================
   MODERN GLOBAL NAVIGATION — DESKTOP + MOBILE
   ========================================================= */
.gf-modern-header{
  --gf-nav-red:#BF1621;
  --gf-nav-red-dark:#94101a;
  --gf-nav-ink:#111820;
  --gf-nav-muted:#6e7680;
  position:relative;
  z-index:99999;
  width:100%;
  font-family:"Montserrat",Arial,sans-serif;
}
.gf-modern-header *{box-sizing:border-box;}
.gf-modern-header a{text-decoration:none!important;}
.gf-modern-header .gf-nav-bar{
  position:relative;
  width:100%;
  background:#fff;
  border-bottom:1px solid #edf0f2;
  box-shadow:0 10px 26px rgba(15,23,42,.07);
}
.gf-modern-header .gf-nav-inner{
  width:min(1460px,calc(100% - 48px));
  min-height:92px;
  margin:0 auto;
  display:flex;
  align-items:center;
  gap:28px;
}
.gf-modern-header .gf-nav-logo{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  width:255px;
  max-width:27vw;
}
.gf-modern-header .gf-nav-logo img{
  display:block;
  width:100%;
  height:auto;
  max-height:72px;
  object-fit:contain;
  object-position:left center;
  /* The source JPG has a white background; on this white header it appears seamless. */
}
.gf-modern-header .gf-nav-desktop{
  flex:1 1 auto;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:29px;
  min-width:0;
}
.gf-modern-header .gf-nav-link{
  position:relative;
  display:inline-flex;
  align-items:center;
  min-height:48px;
  color:var(--gf-nav-ink)!important;
  font-size:14px;
  line-height:1;
  font-weight:700;
  white-space:nowrap;
  transition:color .18s ease;
}
.gf-modern-header .gf-nav-link:after{
  content:"";
  position:absolute;
  left:0;
  right:100%;
  bottom:2px;
  height:3px;
  border-radius:99px;
  background:var(--gf-nav-red);
  transition:right .18s ease;
}
.gf-modern-header .gf-nav-link:hover,
.gf-modern-header .gf-nav-link.is-active{
  color:var(--gf-nav-red)!important;
}
.gf-modern-header .gf-nav-link:hover:after,
.gf-modern-header .gf-nav-link.is-active:after{
  right:0;
}
.gf-modern-header .gf-nav-cta{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:52px;
  padding:0 20px;
  border-radius:8px;
  background:var(--gf-nav-red);
  color:#fff!important;
  font-size:14px;
  line-height:1;
  font-weight:800;
  box-shadow:0 8px 20px rgba(191,22,33,.18);
  transition:background .18s ease,transform .18s ease,box-shadow .18s ease;
}
.gf-modern-header .gf-nav-cta:hover{
  background:var(--gf-nav-red-dark);
  transform:translateY(-1px);
  box-shadow:0 10px 24px rgba(191,22,33,.25);
}
.gf-modern-header .gf-nav-cta svg{
  width:19px;
  height:19px;
  flex:0 0 19px;
}
.gf-modern-header .gf-mobile-toggle{
  display:none;
  flex:0 0 auto;
  width:48px;
  height:48px;
  border:1px solid #e5e8eb;
  border-radius:9px;
  background:#f7f8f9;
  padding:0;
  align-items:center;
  justify-content:center;
  cursor:pointer;
}
.gf-modern-header .gf-mobile-toggle span{
  position:relative;
  display:block;
  width:22px;
  height:2px;
  border-radius:99px;
  background:var(--gf-nav-red);
  transition:background .2s ease;
}
.gf-modern-header .gf-mobile-toggle span:before,
.gf-modern-header .gf-mobile-toggle span:after{
  content:"";
  position:absolute;
  left:0;
  width:22px;
  height:2px;
  border-radius:99px;
  background:var(--gf-nav-red);
  transition:transform .2s ease,top .2s ease,bottom .2s ease;
}
.gf-modern-header .gf-mobile-toggle span:before{top:-7px;}
.gf-modern-header .gf-mobile-toggle span:after{bottom:-7px;}
.gf-modern-header.is-open .gf-mobile-toggle span{background:transparent;}
.gf-modern-header.is-open .gf-mobile-toggle span:before{top:0;transform:rotate(45deg);}
.gf-modern-header.is-open .gf-mobile-toggle span:after{bottom:0;transform:rotate(-45deg);}

/* Mobile drawer */
.gf-modern-header .gf-mobile-panel{
  display:none;
}
.gf-modern-header .gf-mobile-panel-inner{
  width:min(620px,calc(100% - 28px));
  margin:0 auto;
  padding:16px 0 20px;
}
.gf-modern-header .gf-mobile-menu{
  margin:0;
  padding:0;
  list-style:none;
  background:#fff;
  border:1px solid #edf0f2;
  border-radius:14px;
  box-shadow:0 18px 42px rgba(15,23,42,.12);
  overflow:hidden;
}
.gf-modern-header .gf-mobile-item{
  margin:0!important;
  padding:0!important;
  border-bottom:1px solid #edf0f2;
}
.gf-modern-header .gf-mobile-item:last-child{border-bottom:0;}
.gf-modern-header .gf-mobile-link{
  display:grid;
  grid-template-columns:42px 1fr 24px;
  gap:12px;
  align-items:center;
  min-height:70px;
  padding:11px 18px;
  color:var(--gf-nav-ink)!important;
  background:#fff;
  font-size:16px;
  line-height:1.2;
  font-weight:800;
}
.gf-modern-header .gf-mobile-link:hover,
.gf-modern-header .gf-mobile-link.is-active{
  color:var(--gf-nav-red)!important;
  background:#fff7f7;
}
.gf-modern-header .gf-mobile-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:36px;
  height:36px;
  color:currentColor;
}
.gf-modern-header .gf-mobile-icon svg{
  width:24px;
  height:24px;
  stroke:currentColor;
}
.gf-modern-header .gf-mobile-arrow{
  color:#8a9198;
  font-size:27px;
  font-weight:400;
  text-align:right;
}
.gf-modern-header .gf-mobile-link.is-active .gf-mobile-arrow{color:var(--gf-nav-red);}
.gf-modern-header .gf-mobile-cta{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  min-height:58px;
  margin:16px 0 0;
  padding:0 18px;
  border-radius:9px;
  background:var(--gf-nav-red);
  color:#fff!important;
  font-size:16px;
  font-weight:800;
}
.gf-modern-header .gf-mobile-cta svg{width:21px;height:21px;}
.gf-modern-header .gf-mobile-tagline{
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:18px;
  color:#606872;
  font-family:Georgia,serif;
  font-size:16px;
  font-style:italic;
  text-align:center;
}
.gf-modern-header .gf-mobile-tagline:before,
.gf-modern-header .gf-mobile-tagline:after{
  content:"";
  flex:1;
  height:1px;
  background:#d7dce0;
}

/* sticky */
@media(min-width:981px){
  .gf-modern-header{
    position:sticky;
    top:0;
  }
}

@media(max-width:1180px) and (min-width:981px){
  .gf-modern-header .gf-nav-inner{gap:20px;}
  .gf-modern-header .gf-nav-logo{width:220px;}
  .gf-modern-header .gf-nav-desktop{gap:19px;}
  .gf-modern-header .gf-nav-link{font-size:13px;}
  .gf-modern-header .gf-nav-cta{padding:0 16px;font-size:13px;}
}

@media(max-width:980px){
  .gf-modern-header{
    position:sticky;
    top:0;
  }
  .gf-modern-header .gf-nav-inner{
    width:calc(100% - 28px);
    min-height:76px;
    gap:16px;
  }
  .gf-modern-header .gf-nav-logo{
    width:210px;
    max-width:calc(100% - 70px);
  }
  .gf-modern-header .gf-nav-logo img{
    max-height:58px;
  }
  .gf-modern-header .gf-nav-desktop,
  .gf-modern-header .gf-nav-cta{
    display:none!important;
  }
  .gf-modern-header .gf-mobile-toggle{
    display:flex;
    margin-left:auto;
  }
  .gf-modern-header .gf-mobile-panel{
    position:absolute;
    top:100%;
    left:0;
    right:0;
    display:block;
    visibility:hidden;
    opacity:0;
    transform:translateY(-8px);
    pointer-events:none;
    background:rgba(255,255,255,.98);
    border-top:1px solid #f0f2f4;
    box-shadow:0 18px 38px rgba(15,23,42,.12);
    transition:opacity .18s ease,transform .18s ease,visibility .18s ease;
  }
  .gf-modern-header.is-open .gf-mobile-panel{
    visibility:visible;
    opacity:1;
    transform:translateY(0);
    pointer-events:auto;
  }
  body.gf-mobile-nav-open{overflow:hidden;}
}

@media(max-width:560px){
  .gf-modern-header .gf-nav-inner{min-height:68px;}
  .gf-modern-header .gf-nav-logo{width:176px;}
  .gf-modern-header .gf-nav-logo img{max-height:50px;}
  .gf-modern-header .gf-mobile-toggle{width:44px;height:44px;}
  .gf-modern-header .gf-mobile-panel-inner{width:calc(100% - 20px);}
  .gf-modern-header .gf-mobile-link{
    min-height:62px;
    grid-template-columns:38px 1fr 20px;
    padding:9px 14px;
    font-size:15px;
  }
  .gf-modern-header .gf-mobile-icon{width:32px;height:32px;}
  .gf-modern-header .gf-mobile-icon svg{width:22px;height:22px;}
  .gf-modern-header .gf-mobile-cta{min-height:54px;font-size:15px;}
  .gf-modern-header .gf-mobile-tagline{font-size:14px;}
}

/* hide the existing global theme header on the dedicated nav-preview page */
.page-id-797 .et-l--header{display:none!important;}


/* =========================================================
   BUILDER-SAFE GLOBAL HEADER — based on approved mockup
   ========================================================= */
.gf-safe-header{
  --gf-red:#BF1621;
  --gf-red-dark:#94101a;
  --gf-ink:#111820;
  position:relative;
  z-index:99999;
  background:#fff!important;
  border-bottom:1px solid #edf0f2;
  box-shadow:0 10px 26px rgba(15,23,42,.07);
}
.gf-safe-header .gf-safe-nav-row{
  display:grid!important;
  grid-template-columns:260px minmax(0,1fr) auto;
  gap:28px;
  align-items:center;
}
.gf-safe-header .gf-safe-nav-row>.et_pb_column{
  width:auto!important;
  margin:0!important;
}
.gf-safe-header .gf-safe-logo{
  margin:0!important;
  max-width:250px!important;
}
.gf-safe-header .gf-safe-logo .et_pb_image_wrap,
.gf-safe-header .gf-safe-logo img{
  display:block!important;
  width:100%!important;
  height:auto!important;
}
.gf-safe-header .gf-safe-menu{
  margin:0!important;
  background:transparent!important;
}
.gf-safe-header .gf-safe-menu .et_pb_menu_inner_container,
.gf-safe-header .gf-safe-menu .et_pb_menu__wrap{
  min-height:54px;
  display:flex!important;
  align-items:center!important;
}
.gf-safe-header .gf-safe-menu .et_pb_menu__wrap{
  justify-content:flex-end!important;
}
.gf-safe-header .gf-safe-menu .et-menu{
  display:flex!important;
  align-items:center!important;
  gap:26px!important;
}
.gf-safe-header .gf-safe-menu .et-menu>li{
  margin:0!important;
  padding:0!important;
}
.gf-safe-header .gf-safe-menu .et-menu>li>a{
  position:relative;
  display:flex!important;
  align-items:center;
  min-height:48px;
  padding:0!important;
  color:var(--gf-ink)!important;
  font-family:"Montserrat",Arial,sans-serif!important;
  font-size:14px!important;
  font-weight:700!important;
  line-height:1!important;
  white-space:nowrap;
}
.gf-safe-header .gf-safe-menu .et-menu>li>a:after{
  content:"";
  position:absolute;
  left:0;
  right:100%;
  bottom:2px;
  height:3px;
  border-radius:99px;
  background:var(--gf-red);
  transition:right .18s ease;
}
.gf-safe-header .gf-safe-menu .et-menu>li>a:hover,
.gf-safe-header .gf-safe-menu .et-menu>li.current-menu-item>a{
  color:var(--gf-red)!important;
}
.gf-safe-header .gf-safe-menu .et-menu>li>a:hover:after,
.gf-safe-header .gf-safe-menu .et-menu>li.current-menu-item>a:after{
  right:0;
}
.gf-safe-header .gf-safe-menu .gf-nav-mobile-cta{
  display:none!important;
}
.gf-safe-header .gf-safe-cta{
  margin:0!important;
}
.gf-safe-header .gf-safe-cta .et_pb_button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:52px!important;
  padding:0 20px!important;
  border:1px solid var(--gf-red)!important;
  border-radius:8px!important;
  background:var(--gf-red)!important;
  color:#fff!important;
  font-family:"Montserrat",Arial,sans-serif!important;
  font-size:14px!important;
  line-height:1!important;
  font-weight:800!important;
  white-space:nowrap;
  box-shadow:0 8px 20px rgba(191,22,33,.18);
}
.gf-safe-header .gf-safe-cta .et_pb_button:before{
  content:"☎";
  display:inline-block!important;
  position:static!important;
  margin:0 9px 0 0!important;
  font-family:Arial,sans-serif!important;
  font-size:17px!important;
  line-height:1!important;
  opacity:1!important;
}
.gf-safe-header .gf-safe-cta .et_pb_button:after{display:none!important;}
.gf-safe-header .gf-safe-cta .et_pb_button:hover{
  padding:0 20px!important;
  background:var(--gf-red-dark)!important;
  border-color:var(--gf-red-dark)!important;
}

/* tablet */
@media(max-width:1180px) and (min-width:981px){
  .gf-safe-header .gf-safe-nav-row{
    grid-template-columns:220px minmax(0,1fr) auto;
    gap:18px;
  }
  .gf-safe-header .gf-safe-menu .et-menu{gap:17px!important;}
  .gf-safe-header .gf-safe-menu .et-menu>li>a{font-size:13px!important;}
  .gf-safe-header .gf-safe-cta .et_pb_button{
    min-height:48px!important;
    padding:0 16px!important;
    font-size:13px!important;
  }
  .gf-safe-header .gf-safe-cta .et_pb_button:hover{padding:0 16px!important;}
}

/* mobile */
@media(max-width:980px){
  .gf-safe-header{
    position:sticky;
    top:0;
  }
  .gf-safe-header .gf-safe-nav-row{
    position:relative;
    grid-template-columns:minmax(0,1fr) 56px;
    gap:12px;
    min-height:78px;
    width:100%!important;
    max-width:none!important;
    padding:10px 16px!important;
  }
  .gf-safe-header .gf-safe-logo-col{grid-column:1!important;}
  .gf-safe-header .gf-safe-menu-col{grid-column:2!important;}
  .gf-safe-header .gf-safe-cta-col{display:none!important;}
  .gf-safe-header .gf-safe-logo{
    width:205px!important;
    max-width:calc(100vw - 110px)!important;
  }
  .gf-safe-header .gf-safe-menu{
    position:static!important;
    width:100%!important;
  }
  .gf-safe-header .gf-safe-menu .et_pb_menu_inner_container,
  .gf-safe-header .gf-safe-menu .et_pb_menu__wrap{
    min-height:54px!important;
  }
  .gf-safe-header .gf-safe-menu .et_mobile_nav_menu{
    display:flex!important;
    width:100%!important;
    justify-content:flex-end!important;
    align-items:center!important;
  }
  .gf-safe-header .gf-safe-menu .mobile_nav{
    display:flex!important;
    width:100%!important;
    justify-content:flex-end!important;
    background:transparent!important;
  }
  .gf-safe-header .gf-safe-menu .mobile_menu_bar{
    display:flex!important;
    position:relative!important;
    align-items:center!important;
    justify-content:center!important;
    width:48px!important;
    height:48px!important;
    margin:0!important;
    padding:0!important;
    border:1px solid #e3e7ea!important;
    border-radius:9px!important;
    background:#f7f8f9!important;
  }
  .gf-safe-header .gf-safe-menu .mobile_menu_bar:before{
    color:var(--gf-red)!important;
    font-size:31px!important;
    line-height:1!important;
    top:auto!important;
  }
  .gf-safe-header .gf-safe-menu .et_mobile_menu{
    position:absolute!important;
    top:78px!important;
    left:14px!important;
    right:14px!important;
    width:calc(100% - 28px)!important;
    max-height:calc(100vh - 100px);
    overflow-y:auto!important;
    margin:0!important;
    padding:8px 14px 16px!important;
    border:1px solid #edf0f2!important;
    border-top:0!important;
    border-radius:0 0 14px 14px!important;
    background:#fff!important;
    box-shadow:0 20px 45px rgba(15,23,42,.16)!important;
    z-index:999999!important;
  }
  .gf-safe-header .gf-safe-menu .et_mobile_menu:after{
    content:"Ihr Partner für ein sicheres Dach.";
    display:block;
    margin:17px 8px 2px;
    padding-top:15px;
    border-top:1px solid #e3e7ea;
    color:#687078;
    font-family:Georgia,serif;
    font-size:15px;
    font-style:italic;
    text-align:center;
  }
  .gf-safe-header .gf-safe-menu .et_mobile_menu li{
    margin:0!important;
    padding:0!important;
    border-bottom:1px solid #edf0f2!important;
    background:#fff!important;
  }
  .gf-safe-header .gf-safe-menu .et_mobile_menu li:last-of-type{
    border-bottom:0!important;
  }
  .gf-safe-header .gf-safe-menu .et_mobile_menu li>a{
    position:relative;
    display:grid!important;
    grid-template-columns:38px minmax(0,1fr) 20px;
    align-items:center;
    gap:11px;
    min-height:64px;
    margin:0!important;
    padding:9px 10px!important;
    border:0!important;
    background:#fff!important;
    color:var(--gf-ink)!important;
    font-family:"Montserrat",Arial,sans-serif!important;
    font-size:15px!important;
    line-height:1.2!important;
    font-weight:800!important;
    opacity:1!important;
  }
  .gf-safe-header .gf-safe-menu .et_mobile_menu li>a:before{
    display:flex;
    align-items:center;
    justify-content:center;
    width:34px;
    height:34px;
    color:currentColor;
    font-family:Arial,sans-serif;
    font-size:22px;
    line-height:1;
  }
  .gf-safe-header .gf-safe-menu .et_mobile_menu li>a:after{
    content:"›"!important;
    position:static!important;
    display:block!important;
    margin:0!important;
    color:#8b9299!important;
    font-family:Arial,sans-serif!important;
    font-size:28px!important;
    line-height:1!important;
    opacity:1!important;
  }
  .gf-safe-header .gf-safe-menu .et_mobile_menu li.gf-nav-home>a:before{content:"⌂";}
  .gf-safe-header .gf-safe-menu .et_mobile_menu li.gf-nav-services>a:before{content:"⌁";}
  .gf-safe-header .gf-safe-menu .et_mobile_menu li.gf-nav-about>a:before{content:"◎";}
  .gf-safe-header .gf-safe-menu .et_mobile_menu li.gf-nav-references>a:before{content:"▧";}
  .gf-safe-header .gf-safe-menu .et_mobile_menu li.gf-nav-regions>a:before{content:"⌖";}
  .gf-safe-header .gf-safe-menu .et_mobile_menu li.gf-nav-faq>a:before{content:"?";}
  .gf-safe-header .gf-safe-menu .et_mobile_menu li.gf-nav-contact>a:before{content:"✉";}
  .gf-safe-header .gf-safe-menu .et_mobile_menu li.current-menu-item>a,
  .gf-safe-header .gf-safe-menu .et_mobile_menu li.gf-nav-home>a:hover{
    color:var(--gf-red)!important;
    background:#fff6f6!important;
    border-radius:9px;
  }
  .gf-safe-header .gf-safe-menu .et_mobile_menu li.gf-nav-mobile-cta{
    display:block!important;
    margin-top:14px!important;
    border:0!important;
  }
  .gf-safe-header .gf-safe-menu .et_mobile_menu li.gf-nav-mobile-cta>a{
    display:flex!important;
    min-height:56px;
    align-items:center;
    justify-content:center;
    gap:10px;
    padding:0 16px!important;
    border-radius:9px!important;
    background:var(--gf-red)!important;
    color:#fff!important;
    box-shadow:0 8px 20px rgba(191,22,33,.18);
  }
  .gf-safe-header .gf-safe-menu .et_mobile_menu li.gf-nav-mobile-cta>a:before{
    content:"☎"!important;
    width:auto;
    height:auto;
    font-size:19px;
  }
  .gf-safe-header .gf-safe-menu .et_mobile_menu li.gf-nav-mobile-cta>a:after{
    content:"›"!important;
    color:#fff!important;
    font-size:25px!important;
  }
}

@media(max-width:560px){
  .gf-safe-header .gf-safe-nav-row{
    min-height:70px;
    grid-template-columns:minmax(0,1fr) 50px;
    padding:8px 12px!important;
  }
  .gf-safe-header .gf-safe-logo{width:178px!important;}
  .gf-safe-header .gf-safe-menu .mobile_menu_bar{width:44px!important;height:44px!important;}
  .gf-safe-header .gf-safe-menu .et_mobile_menu{
    top:70px!important;
    left:10px!important;
    right:10px!important;
    width:calc(100% - 20px)!important;
    padding:7px 10px 14px!important;
  }
  .gf-safe-header .gf-safe-menu .et_mobile_menu li>a{
    min-height:58px;
    grid-template-columns:34px minmax(0,1fr) 18px;
    gap:9px;
    padding:8px!important;
    font-size:14px!important;
  }
}


/* =========================================================
   BUILDER-SAFE HEADER — MOBILE FINAL OVERRIDE
   Fixes old generic Divi mobile-nav rules / viewport overflow
   ========================================================= */
@media(max-width:980px){
  body{
    overflow-x:hidden!important;
  }

  header.et-l--header .gf-safe-header,
  .gf-safe-header{
    position:sticky!important;
    top:0!important;
    width:100%!important;
    max-width:100%!important;
    overflow:visible!important;
    z-index:999999!important;
  }

  .gf-safe-header .et_pb_section,
  .gf-safe-header .et_pb_row,
  .gf-safe-header .et_pb_column,
  .gf-safe-header .et_pb_menu,
  .gf-safe-header .et_pb_menu_inner_container,
  .gf-safe-header .et_pb_menu__wrap,
  .gf-safe-header .et_mobile_nav_menu,
  .gf-safe-header .mobile_nav{
    overflow:visible!important;
  }

  .gf-safe-header .gf-safe-nav-row{
    position:relative!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 50px!important;
    align-items:center!important;
    width:100%!important;
    max-width:100%!important;
    min-height:72px!important;
    margin:0!important;
    padding:9px 12px!important;
    gap:10px!important;
  }

  .gf-safe-header .gf-safe-logo-col{
    grid-column:1!important;
    width:auto!important;
    min-width:0!important;
    margin:0!important;
  }

  .gf-safe-header .gf-safe-menu-col{
    grid-column:2!important;
    width:50px!important;
    min-width:50px!important;
    margin:0!important;
    justify-self:end!important;
  }

  .gf-safe-header .gf-safe-cta-col{
    display:none!important;
  }

  .gf-safe-header .gf-safe-logo{
    width:min(225px,calc(100vw - 92px))!important;
    max-width:100%!important;
    margin:0!important;
  }

  .gf-safe-header .gf-safe-logo .et_pb_image_wrap,
  .gf-safe-header .gf-safe-logo img{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    max-height:54px!important;
    object-fit:contain!important;
    object-position:left center!important;
  }

  .gf-safe-header .gf-safe-menu,
  .gf-safe-header .gf-safe-menu .et_pb_menu_inner_container,
  .gf-safe-header .gf-safe-menu .et_pb_menu__wrap,
  .gf-safe-header .gf-safe-menu .et_mobile_nav_menu,
  .gf-safe-header .gf-safe-menu .mobile_nav{
    width:50px!important;
    min-width:50px!important;
    max-width:50px!important;
    margin:0!important;
    padding:0!important;
    background:transparent!important;
  }

  .gf-safe-header .gf-safe-menu .et_pb_menu__wrap,
  .gf-safe-header .gf-safe-menu .et_mobile_nav_menu,
  .gf-safe-header .gf-safe-menu .mobile_nav{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
  }

  .gf-safe-header .gf-safe-menu .mobile_menu_bar{
    position:relative!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:46px!important;
    height:46px!important;
    margin:0!important;
    padding:0!important;
    border:1px solid #e1e6ea!important;
    border-radius:10px!important;
    background:#f7f8f9!important;
    box-shadow:none!important;
    transform:none!important;
  }

  .gf-safe-header .gf-safe-menu .mobile_menu_bar:before{
    position:static!important;
    display:block!important;
    color:#BF1621!important;
    font-size:30px!important;
    line-height:1!important;
    transform:none!important;
  }

  /* Critical: detach dropdown from the narrow Divi menu column */
  .gf-safe-header .gf-safe-menu .et_mobile_menu{
    position:fixed!important;
    inset:72px 0 auto 0!important;
    top:72px!important;
    left:0!important;
    right:0!important;
    width:100vw!important;
    max-width:100vw!important;
    max-height:calc(100dvh - 72px)!important;
    margin:0!important;
    padding:10px 14px 18px!important;
    border:0!important;
    border-top:1px solid #edf0f2!important;
    border-radius:0!important;
    background:#fff!important;
    box-shadow:0 20px 42px rgba(15,23,42,.14)!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior:contain;
    box-sizing:border-box!important;
    z-index:2147483000!important;
  }

  .gf-safe-header .gf-safe-menu .mobile_nav.closed .et_mobile_menu{
    display:none!important;
  }

  .gf-safe-header .gf-safe-menu .mobile_nav.opened .et_mobile_menu{
    display:block!important;
  }

  .gf-safe-header .gf-safe-menu .et_mobile_menu li{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:0!important;
    border-bottom:1px solid #edf0f2!important;
    background:#fff!important;
  }

  .gf-safe-header .gf-safe-menu .et_mobile_menu li>a{
    width:100%!important;
    max-width:100%!important;
    min-height:60px!important;
    padding:9px 12px!important;
    margin:0!important;
    box-sizing:border-box!important;
  }

  .gf-safe-header .gf-safe-menu .et_mobile_menu li.gf-nav-mobile-cta{
    margin-top:12px!important;
  }

  .gf-safe-header .gf-safe-menu .et_mobile_menu li.gf-nav-mobile-cta>a{
    min-height:54px!important;
  }

  .gf-safe-header .gf-safe-menu .et_mobile_menu:after{
    margin:15px 6px 0!important;
    padding:14px 0 0!important;
  }
}

@media(max-width:560px){
  .gf-safe-header .gf-safe-nav-row{
    min-height:68px!important;
    grid-template-columns:minmax(0,1fr) 46px!important;
    padding:8px 10px!important;
  }

  .gf-safe-header .gf-safe-menu-col,
  .gf-safe-header .gf-safe-menu,
  .gf-safe-header .gf-safe-menu .et_pb_menu_inner_container,
  .gf-safe-header .gf-safe-menu .et_pb_menu__wrap,
  .gf-safe-header .gf-safe-menu .et_mobile_nav_menu,
  .gf-safe-header .gf-safe-menu .mobile_nav{
    width:46px!important;
    min-width:46px!important;
    max-width:46px!important;
  }

  .gf-safe-header .gf-safe-logo{
    width:min(205px,calc(100vw - 82px))!important;
  }

  .gf-safe-header .gf-safe-logo img{
    max-height:50px!important;
  }

  .gf-safe-header .gf-safe-menu .mobile_menu_bar{
    width:42px!important;
    height:42px!important;
  }

  .gf-safe-header .gf-safe-menu .mobile_menu_bar:before{
    font-size:28px!important;
  }

  .gf-safe-header .gf-safe-menu .et_mobile_menu{
    inset:68px 0 auto 0!important;
    top:68px!important;
    max-height:calc(100dvh - 68px)!important;
    padding:8px 10px 14px!important;
  }

  .gf-safe-header .gf-safe-menu .et_mobile_menu li>a{
    min-height:56px!important;
    grid-template-columns:32px minmax(0,1fr) 18px!important;
    gap:8px!important;
    padding:8px 10px!important;
    font-size:14px!important;
  }
}


/* =========================================================
   MOBILE NAV TOGGLE — explicit hamburger / close X
   ========================================================= */
@media(max-width:980px){
  .gf-safe-header .gf-safe-menu .mobile_menu_bar{
    position:relative!important;
    overflow:hidden!important;
  }

  /* Closed state: three-line hamburger */
  .gf-safe-header .gf-safe-menu .mobile_nav.closed .mobile_menu_bar:before{
    content:""!important;
    position:absolute!important;
    left:50%!important;
    top:50%!important;
    width:22px!important;
    height:2px!important;
    margin:0!important;
    background:#BF1621!important;
    border-radius:99px!important;
    box-shadow:0 -7px 0 #BF1621,0 7px 0 #BF1621!important;
    transform:translate(-50%,-50%)!important;
    font-size:0!important;
    line-height:0!important;
  }

  .gf-safe-header .gf-safe-menu .mobile_nav.closed .mobile_menu_bar:after{
    content:none!important;
  }

  /* Open state: clear red X */
  .gf-safe-header .gf-safe-menu .mobile_nav.opened .mobile_menu_bar:before,
  .gf-safe-header .gf-safe-menu .mobile_nav.opened .mobile_menu_bar:after{
    content:""!important;
    position:absolute!important;
    left:50%!important;
    top:50%!important;
    width:24px!important;
    height:2.5px!important;
    margin:0!important;
    background:#BF1621!important;
    border-radius:99px!important;
    box-shadow:none!important;
    font-size:0!important;
    line-height:0!important;
    opacity:1!important;
  }

  .gf-safe-header .gf-safe-menu .mobile_nav.opened .mobile_menu_bar:before{
    transform:translate(-50%,-50%) rotate(45deg)!important;
  }

  .gf-safe-header .gf-safe-menu .mobile_nav.opened .mobile_menu_bar:after{
    transform:translate(-50%,-50%) rotate(-45deg)!important;
  }

  .gf-safe-header .gf-safe-menu .mobile_nav.opened .mobile_menu_bar{
    background:#fff4f4!important;
    border-color:rgba(191,22,33,.22)!important;
  }
}


/* =========================================================
   MOBILE NAV POSITIONING — anchored to header, no fixed top
   ========================================================= */
@media(max-width:980px){
  .gf-safe-header{
    position:sticky!important;
    top:0!important;
    overflow:visible!important;
  }

  .gf-safe-header .gf-safe-nav-row{
    position:relative!important;
    overflow:visible!important;
  }

  /* Important: keep all intermediate wrappers static so the
     dropdown positions against .gf-safe-nav-row, not the 50px menu column */
  .gf-safe-header .gf-safe-menu,
  .gf-safe-header .gf-safe-menu .et_pb_menu_inner_container,
  .gf-safe-header .gf-safe-menu .et_pb_menu__wrap,
  .gf-safe-header .gf-safe-menu .et_mobile_nav_menu,
  .gf-safe-header .gf-safe-menu .mobile_nav{
    position:static!important;
    overflow:visible!important;
  }

  .gf-safe-header .gf-safe-menu .et_mobile_menu{
    position:absolute!important;
    inset:auto!important;
    top:100%!important;
    left:0!important;
    right:auto!important;
    width:100%!important;
    max-width:100%!important;
    max-height:calc(100dvh - 96px)!important;
    margin:0!important;
    padding:10px 14px 18px!important;
    border:0!important;
    border-top:1px solid #edf0f2!important;
    border-radius:0 0 14px 14px!important;
    background:#fff!important;
    box-shadow:0 20px 42px rgba(15,23,42,.14)!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    box-sizing:border-box!important;
    z-index:999999!important;
  }
}

@media(max-width:560px){
  .gf-safe-header .gf-safe-menu .et_mobile_menu{
    top:100%!important;
    left:0!important;
    width:100%!important;
    max-width:100%!important;
    max-height:calc(100dvh - 86px)!important;
    padding:8px 10px 14px!important;
  }
}


/* =========================================================
   MOBILE NAV — FINAL VIEWPORT OVERLAY
   Full-width drawer with dynamic JS-calculated top offset
   ========================================================= */
@media(max-width:980px){
  .gf-safe-header{
    --gf-mobile-menu-top:72px;
  }

  .gf-safe-header .gf-safe-menu .et_mobile_menu{
    position:fixed!important;
    top:var(--gf-mobile-menu-top)!important;
    left:0!important;
    right:0!important;
    width:100vw!important;
    min-width:100vw!important;
    max-width:100vw!important;
    height:auto!important;
    max-height:calc(100dvh - var(--gf-mobile-menu-top))!important;
    margin:0!important;
    padding:10px 14px 18px!important;
    border:0!important;
    border-top:1px solid #edf0f2!important;
    border-radius:0!important;
    background:#fff!important;
    box-shadow:0 18px 40px rgba(15,23,42,.16)!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    box-sizing:border-box!important;
    z-index:2147483000!important;
    transform:none!important;
  }

  .gf-safe-header .gf-safe-menu .mobile_nav.closed .et_mobile_menu{
    display:none!important;
  }

  .gf-safe-header .gf-safe-menu .mobile_nav.opened .et_mobile_menu{
    display:block!important;
  }

  .gf-safe-header .gf-safe-menu .et_mobile_menu li,
  .gf-safe-header .gf-safe-menu .et_mobile_menu li>a{
    width:100%!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }

  .gf-safe-header .gf-safe-menu .et_mobile_menu li>a{
    display:grid!important;
    grid-template-columns:38px minmax(0,1fr) 22px!important;
    align-items:center!important;
    gap:12px!important;
    min-height:62px!important;
    padding:10px 12px!important;
  }

  body.gf-safe-mobile-menu-open{
    overflow:hidden!important;
  }
}

@media(max-width:560px){
  .gf-safe-header .gf-safe-menu .et_mobile_menu{
    padding:8px 10px 14px!important;
  }

  .gf-safe-header .gf-safe-menu .et_mobile_menu li>a{
    grid-template-columns:34px minmax(0,1fr) 20px!important;
    min-height:58px!important;
    gap:10px!important;
    padding:9px 10px!important;
  }
}


/* =========================================================
   MOBILE NAV — POLISHED MOCKUP MATCH
   ========================================================= */
@media(max-width:980px){
  .gf-safe-header{
    --gf-mobile-menu-top:76px;
    background:#fff!important;
    border-bottom:1px solid #edf0f2!important;
    box-shadow:0 8px 24px rgba(15,23,42,.08)!important;
  }

  .gf-safe-header .gf-safe-nav-row{
    min-height:76px!important;
    padding:8px 14px!important;
    grid-template-columns:minmax(0,1fr) 48px!important;
    gap:12px!important;
  }

  .gf-safe-header .gf-safe-logo{
    width:190px!important;
    max-width:calc(100vw - 86px)!important;
  }

  .gf-safe-header .gf-safe-logo img{
    max-height:52px!important;
    object-fit:contain!important;
    object-position:left center!important;
  }

  .gf-safe-header .gf-safe-menu-col,
  .gf-safe-header .gf-safe-menu,
  .gf-safe-header .gf-safe-menu .et_pb_menu_inner_container,
  .gf-safe-header .gf-safe-menu .et_pb_menu__wrap,
  .gf-safe-header .gf-safe-menu .et_mobile_nav_menu,
  .gf-safe-header .gf-safe-menu .mobile_nav{
    width:48px!important;
    min-width:48px!important;
    max-width:48px!important;
  }

  .gf-safe-header .gf-safe-menu .mobile_menu_bar{
    width:46px!important;
    height:46px!important;
    border:1px solid rgba(191,22,33,.16)!important;
    border-radius:12px!important;
    background:#fafafa!important;
  }

  .gf-safe-header .gf-safe-menu .mobile_nav.opened .mobile_menu_bar{
    background:#fff6f6!important;
    border-color:rgba(191,22,33,.25)!important;
  }

  /* compact floating drawer like the approved mockup */
  .gf-safe-header .gf-safe-menu .et_mobile_menu{
    position:fixed!important;
    top:calc(var(--gf-mobile-menu-top) + 10px)!important;
    left:12px!important;
    right:12px!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    max-height:calc(100dvh - var(--gf-mobile-menu-top) - 22px)!important;
    margin:0!important;
    padding:10px 12px 14px!important;
    border:1px solid #edf0f2!important;
    border-radius:16px!important;
    background:#fff!important;
    box-shadow:0 22px 52px rgba(15,23,42,.18)!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
  }

  .gf-safe-header .gf-safe-menu .et_mobile_menu li{
    border-bottom:1px solid #edf0f2!important;
    background:#fff!important;
  }

  .gf-safe-header .gf-safe-menu .et_mobile_menu li:last-of-type{
    border-bottom:0!important;
  }

  .gf-safe-header .gf-safe-menu .et_mobile_menu li>a{
    grid-template-columns:34px minmax(0,1fr) 18px!important;
    gap:12px!important;
    min-height:56px!important;
    padding:8px 10px!important;
    border-radius:10px!important;
    color:#111820!important;
    font-family:"Montserrat",Arial,sans-serif!important;
    font-size:16px!important;
    line-height:1.2!important;
    font-weight:800!important;
  }

  .gf-safe-header .gf-safe-menu .et_mobile_menu li>a:hover,
  .gf-safe-header .gf-safe-menu .et_mobile_menu li.current-menu-item>a,
  .gf-safe-header .gf-safe-menu .et_mobile_menu li.gf-nav-home>a{
    background:#fff7f7!important;
    color:#BF1621!important;
  }

  .gf-safe-header .gf-safe-menu .et_mobile_menu li>a:before{
    content:""!important;
    display:block!important;
    width:24px!important;
    height:24px!important;
    background-color:currentColor!important;
    -webkit-mask-repeat:no-repeat!important;
    mask-repeat:no-repeat!important;
    -webkit-mask-position:center!important;
    mask-position:center!important;
    -webkit-mask-size:contain!important;
    mask-size:contain!important;
  }

  .gf-safe-header .gf-safe-menu .et_mobile_menu li.gf-nav-home>a:before{
    -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' d='M3 11.5 12 4l9 7.5M5.5 10v10h5v-6h3v6h5V10'/%3E%3C/svg%3E")!important;
    mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' d='M3 11.5 12 4l9 7.5M5.5 10v10h5v-6h3v6h5V10'/%3E%3C/svg%3E")!important;
  }
  .gf-safe-header .gf-safe-menu .et_mobile_menu li.gf-nav-services>a:before{
    -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' d='m14.8 5.2 4 4M4 20l5.8-5.8m1.8-7.8 6 6M3.8 6.8l3.4-3.4 3.4 3.4-3.4 3.4-3.4-3.4Zm6.8 6.8 6.6-6.6 3.8 3.8-6.6 6.6-4.3 1.1 1.1-4.3Z'/%3E%3C/svg%3E")!important;
    mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' d='m14.8 5.2 4 4M4 20l5.8-5.8m1.8-7.8 6 6M3.8 6.8l3.4-3.4 3.4 3.4-3.4 3.4-3.4-3.4Zm6.8 6.8 6.6-6.6 3.8 3.8-6.6 6.6-4.3 1.1 1.1-4.3Z'/%3E%3C/svg%3E")!important;
  }
  .gf-safe-header .gf-safe-menu .et_mobile_menu li.gf-nav-about>a:before{
    -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' d='M8.5 11a3 3 0 1 0 0-6 3 3 0 0 0 0 6Zm7-1a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5ZM3.5 19c0-3 2.2-5 5-5s5 2 5 5M13 14.5c.7-.4 1.6-.6 2.5-.6 2.8 0 5 1.9 5 4.6'/%3E%3C/svg%3E")!important;
    mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' d='M8.5 11a3 3 0 1 0 0-6 3 3 0 0 0 0 6Zm7-1a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5ZM3.5 19c0-3 2.2-5 5-5s5 2 5 5M13 14.5c.7-.4 1.6-.6 2.5-.6 2.8 0 5 1.9 5 4.6'/%3E%3C/svg%3E")!important;
  }
  .gf-safe-header .gf-safe-menu .et_mobile_menu li.gf-nav-references>a:before{
    -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='3' y='4' width='18' height='16' rx='2' fill='none' stroke='black' stroke-width='1.8'/%3E%3Cpath d='m5.5 17 5-5 3.5 3 2.5-2.5 3 3M8 9h.01' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;
    mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='3' y='4' width='18' height='16' rx='2' fill='none' stroke='black' stroke-width='1.8'/%3E%3Cpath d='m5.5 17 5-5 3.5 3 2.5-2.5 3 3M8 9h.01' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;
  }
  .gf-safe-header .gf-safe-menu .et_mobile_menu li.gf-nav-regions>a:before{
    -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21s6-5.1 6-11a6 6 0 1 0-12 0c0 5.9 6 11 6 11Z' fill='none' stroke='black' stroke-width='1.8'/%3E%3Ccircle cx='12' cy='10' r='2' fill='none' stroke='black' stroke-width='1.8'/%3E%3C/svg%3E")!important;
    mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21s6-5.1 6-11a6 6 0 1 0-12 0c0 5.9 6 11 6 11Z' fill='none' stroke='black' stroke-width='1.8'/%3E%3Ccircle cx='12' cy='10' r='2' fill='none' stroke='black' stroke-width='1.8'/%3E%3C/svg%3E")!important;
  }
  .gf-safe-header .gf-safe-menu .et_mobile_menu li.gf-nav-faq>a:before{
    -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 11a8 8 0 1 1-3-6.2M8.8 9a3.2 3.2 0 0 1 6.2 1.1c0 2-2.4 2.4-2.8 4M12 18h.01' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E")!important;
    mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 11a8 8 0 1 1-3-6.2M8.8 9a3.2 3.2 0 0 1 6.2 1.1c0 2-2.4 2.4-2.8 4M12 18h.01' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E")!important;
  }
  .gf-safe-header .gf-safe-menu .et_mobile_menu li.gf-nav-contact>a:before{
    -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='3' y='5' width='18' height='14' rx='2' fill='none' stroke='black' stroke-width='1.8'/%3E%3Cpath d='m4 7 8 6 8-6' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;
    mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='3' y='5' width='18' height='14' rx='2' fill='none' stroke='black' stroke-width='1.8'/%3E%3Cpath d='m4 7 8 6 8-6' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;
  }

  .gf-safe-header .gf-safe-menu .et_mobile_menu li>a:after{
    font-size:26px!important;
    color:#8a9198!important;
  }

  .gf-safe-header .gf-safe-menu .et_mobile_menu li.gf-nav-mobile-cta{
    margin:12px 0 0!important;
    border:0!important;
  }

  .gf-safe-header .gf-safe-menu .et_mobile_menu li.gf-nav-mobile-cta>a{
    display:grid!important;
    grid-template-columns:28px minmax(0,1fr) 18px!important;
    min-height:56px!important;
    padding:0 16px!important;
    border-radius:10px!important;
    background:#BF1621!important;
    color:#fff!important;
    box-shadow:0 8px 18px rgba(191,22,33,.18)!important;
  }

  .gf-safe-header .gf-safe-menu .et_mobile_menu li.gf-nav-mobile-cta>a:before{
    content:"☎"!important;
    -webkit-mask-image:none!important;
    mask-image:none!important;
    width:auto!important;
    height:auto!important;
    background:transparent!important;
    font-size:18px!important;
  }

  .gf-safe-header .gf-safe-menu .et_mobile_menu li.gf-nav-mobile-cta>a:after{
    color:#fff!important;
  }

  .gf-safe-header .gf-safe-menu .et_mobile_menu:after{
    margin:14px 4px 0!important;
    padding-top:14px!important;
    font-size:14px!important;
  }
}

@media(max-width:560px){
  .gf-safe-header .gf-safe-nav-row{
    min-height:72px!important;
    padding:8px 12px!important;
  }

  .gf-safe-header .gf-safe-logo{
    width:178px!important;
  }

  .gf-safe-header .gf-safe-logo img{
    max-height:48px!important;
  }

  .gf-safe-header .gf-safe-menu .et_mobile_menu{
    top:calc(var(--gf-mobile-menu-top) + 8px)!important;
    left:8px!important;
    right:8px!important;
    max-height:calc(100dvh - var(--gf-mobile-menu-top) - 18px)!important;
    padding:8px 10px 12px!important;
    border-radius:14px!important;
  }

  .gf-safe-header .gf-safe-menu .et_mobile_menu li>a{
    min-height:54px!important;
    font-size:15px!important;
  }
}


/* =========================================================
   MOBILE NAV OPENING GAP — keep drawer below logo/header
   ========================================================= */
@media(max-width:980px){
  .gf-safe-header .gf-safe-menu .et_mobile_menu{
    margin-top:0!important;
  }

  .gf-safe-header .gf-safe-menu .mobile_nav.opened .et_mobile_menu{
    border-radius:16px!important;
  }
}


/* =========================================================
   MOBILE NAV — TRUE HEADER-ANCHORED FINAL OVERRIDE
   No JS top calculation. Drawer starts below full header box.
   ========================================================= */
@media(max-width:980px){
  .gf-safe-header{
    position:sticky!important;
    top:0!important;
    width:100%!important;
    max-width:100%!important;
    min-height:104px!important;
    overflow:visible!important;
    background:#fff!important;
    z-index:999999!important;
  }

  .gf-safe-header .gf-safe-nav-row{
    position:relative!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 56px!important;
    align-items:center!important;
    width:100%!important;
    max-width:100%!important;
    min-height:104px!important;
    margin:0!important;
    padding:12px 16px!important;
    gap:12px!important;
    overflow:visible!important;
  }

  .gf-safe-header .gf-safe-logo-col{
    width:auto!important;
    min-width:0!important;
    margin:0!important;
  }

  .gf-safe-header .gf-safe-logo{
    width:235px!important;
    max-width:calc(100vw - 105px)!important;
    margin:0!important;
  }

  .gf-safe-header .gf-safe-logo .et_pb_image_wrap,
  .gf-safe-header .gf-safe-logo img{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    max-height:78px!important;
    object-fit:contain!important;
    object-position:left center!important;
  }

  .gf-safe-header .gf-safe-menu-col{
    width:56px!important;
    min-width:56px!important;
    margin:0!important;
    justify-self:end!important;
  }

  .gf-safe-header .gf-safe-menu,
  .gf-safe-header .gf-safe-menu .et_pb_menu_inner_container,
  .gf-safe-header .gf-safe-menu .et_pb_menu__wrap,
  .gf-safe-header .gf-safe-menu .et_mobile_nav_menu,
  .gf-safe-header .gf-safe-menu .mobile_nav{
    position:static!important;
    width:56px!important;
    min-width:56px!important;
    max-width:56px!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    background:transparent!important;
  }

  .gf-safe-header .gf-safe-menu .mobile_menu_bar{
    width:50px!important;
    height:50px!important;
    margin:0!important;
    border:1px solid rgba(191,22,33,.18)!important;
    border-radius:12px!important;
    background:#fafafa!important;
  }

  /* Absolute to the full header section, not the narrow menu column */
  .gf-safe-header .gf-safe-menu .et_mobile_menu{
    position:absolute!important;
    top:100%!important;
    left:10px!important;
    right:10px!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    max-height:calc(100dvh - 118px)!important;
    margin:8px 0 0!important;
    padding:10px 12px 14px!important;
    border:1px solid #edf0f2!important;
    border-radius:16px!important;
    background:#fff!important;
    box-shadow:0 22px 52px rgba(15,23,42,.18)!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    box-sizing:border-box!important;
    transform:none!important;
    z-index:2147483000!important;
  }

  .gf-safe-header .gf-safe-menu .mobile_nav.closed .et_mobile_menu{
    display:none!important;
  }

  .gf-safe-header .gf-safe-menu .mobile_nav.opened .et_mobile_menu{
    display:block!important;
  }
}

@media(max-width:560px){
  .gf-safe-header{
    min-height:96px!important;
  }

  .gf-safe-header .gf-safe-nav-row{
    min-height:96px!important;
    grid-template-columns:minmax(0,1fr) 50px!important;
    padding:10px 12px!important;
  }

  .gf-safe-header .gf-safe-logo{
    width:210px!important;
    max-width:calc(100vw - 92px)!important;
  }

  .gf-safe-header .gf-safe-logo .et_pb_image_wrap,
  .gf-safe-header .gf-safe-logo img{
    max-height:70px!important;
  }

  .gf-safe-header .gf-safe-menu-col,
  .gf-safe-header .gf-safe-menu,
  .gf-safe-header .gf-safe-menu .et_pb_menu_inner_container,
  .gf-safe-header .gf-safe-menu .et_pb_menu__wrap,
  .gf-safe-header .gf-safe-menu .et_mobile_nav_menu,
  .gf-safe-header .gf-safe-menu .mobile_nav{
    width:50px!important;
    min-width:50px!important;
    max-width:50px!important;
  }

  .gf-safe-header .gf-safe-menu .mobile_menu_bar{
    width:46px!important;
    height:46px!important;
  }

  .gf-safe-header .gf-safe-menu .et_mobile_menu{
    top:100%!important;
    left:8px!important;
    right:8px!important;
    max-height:calc(100dvh - 108px)!important;
    margin-top:6px!important;
    padding:8px 10px 12px!important;
    border-radius:14px!important;
  }
}


/* =========================================================
   MOBILE NAV — ROBUST FIXED DRAWER
   Header height and drawer offset share the same CSS variable.
   ========================================================= */
@media(max-width:980px){
  .gf-safe-header{
    --gf-mobile-header-h:104px;
    min-height:var(--gf-mobile-header-h)!important;
  }

  .gf-safe-header .gf-safe-nav-row{
    min-height:var(--gf-mobile-header-h)!important;
  }

  .gf-safe-header .gf-safe-menu .et_mobile_menu{
    position:fixed!important;
    top:calc(var(--gf-mobile-header-h) + 8px)!important;
    left:10px!important;
    right:10px!important;
    bottom:auto!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    margin:0!important;
    max-height:calc(100dvh - var(--gf-mobile-header-h) - 18px)!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    box-sizing:border-box!important;
    transform:none!important;
    z-index:2147483000!important;
  }
}

@media(max-width:560px){
  .gf-safe-header{
    --gf-mobile-header-h:96px;
  }

  .gf-safe-header .gf-safe-menu .et_mobile_menu{
    top:calc(var(--gf-mobile-header-h) + 6px)!important;
    left:8px!important;
    right:8px!important;
    max-height:calc(100dvh - var(--gf-mobile-header-h) - 14px)!important;
  }
}


/* =========================================================
   MOBILE NAV — FINAL HEADER CLEARANCE
   Keep drawer fully below visible logo + close button.
   ========================================================= */
@media(max-width:980px){
  .gf-safe-header{
    --gf-mobile-header-h:136px!important;
    min-height:var(--gf-mobile-header-h)!important;
  }

  .gf-safe-header .gf-safe-nav-row{
    min-height:var(--gf-mobile-header-h)!important;
    padding:16px 18px!important;
  }

  .gf-safe-header .gf-safe-logo{
    width:225px!important;
    max-width:calc(100vw - 115px)!important;
  }

  .gf-safe-header .gf-safe-logo .et_pb_image_wrap,
  .gf-safe-header .gf-safe-logo img{
    max-height:92px!important;
  }

  .gf-safe-header .gf-safe-menu .et_mobile_menu{
    top:calc(var(--gf-mobile-header-h) + 10px)!important;
    left:12px!important;
    right:12px!important;
    max-height:calc(100dvh - var(--gf-mobile-header-h) - 22px)!important;
  }
}

@media(max-width:560px){
  .gf-safe-header{
    --gf-mobile-header-h:124px!important;
  }

  .gf-safe-header .gf-safe-nav-row{
    min-height:var(--gf-mobile-header-h)!important;
    padding:14px 12px!important;
  }

  .gf-safe-header .gf-safe-logo{
    width:200px!important;
    max-width:calc(100vw - 104px)!important;
  }

  .gf-safe-header .gf-safe-logo .et_pb_image_wrap,
  .gf-safe-header .gf-safe-logo img{
    max-height:82px!important;
  }

  .gf-safe-header .gf-safe-menu .et_mobile_menu{
    top:calc(var(--gf-mobile-header-h) + 8px)!important;
    left:8px!important;
    right:8px!important;
    max-height:calc(100dvh - var(--gf-mobile-header-h) - 18px)!important;
  }
}


/* =========================================================
   MOCKUP MOBILE NAV — builder-safe header 67
   ========================================================= */
@media(max-width:980px){
  .gf-mockup-header{
    --gf-mockup-mobile-h:118px;
    position:sticky!important;
    top:0!important;
    z-index:999999!important;
    min-height:var(--gf-mockup-mobile-h)!important;
    background:#fff!important;
    overflow:visible!important;
    box-shadow:0 12px 28px rgba(15,23,42,.10)!important;
  }

  .gf-mockup-header .gf-mockup-row{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 58px!important;
    align-items:center!important;
    width:100%!important;
    max-width:100%!important;
    min-height:var(--gf-mockup-mobile-h)!important;
    margin:0!important;
    padding:14px 18px!important;
    gap:12px!important;
    overflow:visible!important;
  }

  .gf-mockup-header .gf-mockup-logo-col{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    width:auto!important;
    min-width:0!important;
    margin:0!important;
  }

  .gf-mockup-header .gf-mockup-logo{
    width:220px!important;
    max-width:calc(100vw - 112px)!important;
    margin:0!important;
  }

  .gf-mockup-header .gf-mockup-logo .et_pb_image_wrap,
  .gf-mockup-header .gf-mockup-logo img{
    display:block!important;
    width:100%!important;
    height:auto!important;
    max-height:86px!important;
    object-fit:contain!important;
    object-position:left center!important;
  }

  .gf-mockup-header .gf-mockup-menu-col{
    display:block!important;
    width:58px!important;
    min-width:58px!important;
    margin:0!important;
    justify-self:end!important;
  }

  .gf-mockup-header .gf-mockup-cta-col{
    display:none!important;
  }

  .gf-mockup-header .gf-mockup-menu,
  .gf-mockup-header .gf-mockup-menu .et_pb_menu_inner_container,
  .gf-mockup-header .gf-mockup-menu .et_pb_menu__wrap,
  .gf-mockup-header .gf-mockup-menu .et_mobile_nav_menu,
  .gf-mockup-header .gf-mockup-menu .mobile_nav{
    position:static!important;
    width:58px!important;
    min-width:58px!important;
    max-width:58px!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    background:transparent!important;
  }

  .gf-mockup-header .gf-mockup-menu .et_pb_menu__menu{
    display:none!important;
  }
  .gf-mockup-header .gf-mockup-menu .et_mobile_nav_menu{
    display:block!important;
  }

  .gf-mockup-header .gf-mockup-menu .mobile_menu_bar{
    position:relative!important;
    display:block!important;
    width:56px!important;
    height:56px!important;
    margin:0!important;
    border:1px solid #eef0f2!important;
    border-radius:12px!important;
    background:#f7f7f7!important;
    cursor:pointer!important;
  }

  .gf-mockup-header .gf-mockup-menu .mobile_menu_bar:before,
  .gf-mockup-header .gf-mockup-menu .mobile_menu_bar:after{
    font-size:0!important;
    line-height:0!important;
  }

  .gf-mockup-header .gf-mockup-menu .mobile_nav.closed .mobile_menu_bar:before{
    content:""!important;
    position:absolute!important;
    left:50%!important;
    top:50%!important;
    width:24px!important;
    height:2.5px!important;
    background:#BF1621!important;
    box-shadow:0 -8px 0 #BF1621,0 8px 0 #BF1621!important;
    transform:translate(-50%,-50%)!important;
  }

  .gf-mockup-header .gf-mockup-menu .mobile_nav.opened .mobile_menu_bar:before,
  .gf-mockup-header .gf-mockup-menu .mobile_nav.opened .mobile_menu_bar:after{
    content:""!important;
    position:absolute!important;
    left:50%!important;
    top:50%!important;
    width:28px!important;
    height:3px!important;
    background:#BF1621!important;
    box-shadow:none!important;
  }
  .gf-mockup-header .gf-mockup-menu .mobile_nav.opened .mobile_menu_bar:before{
    transform:translate(-50%,-50%) rotate(45deg)!important;
  }
  .gf-mockup-header .gf-mockup-menu .mobile_nav.opened .mobile_menu_bar:after{
    transform:translate(-50%,-50%) rotate(-45deg)!important;
  }

  .gf-mockup-header .gf-mockup-menu .et_mobile_menu{
    position:fixed!important;
    top:calc(var(--gf-mockup-mobile-h) + 12px)!important;
    left:12px!important;
    right:12px!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    max-height:calc(100dvh - var(--gf-mockup-mobile-h) - 24px)!important;
    margin:0!important;
    padding:10px 12px 18px!important;
    border:1px solid #edf0f2!important;
    border-radius:18px!important;
    background:#fff!important;
    box-shadow:0 24px 60px rgba(15,23,42,.20)!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior:contain!important;
    z-index:2147483000!important;
  }

  .gf-mockup-header .gf-mockup-menu .mobile_nav.closed .et_mobile_menu{
    display:none!important;
  }
  .gf-mockup-header .gf-mockup-menu .mobile_nav.opened .et_mobile_menu{
    display:block!important;
  }

  .gf-mockup-header .gf-mockup-menu .et_mobile_menu li{
    border-bottom:1px solid #edf0f2!important;
    background:#fff!important;
  }
  .gf-mockup-header .gf-mockup-menu .et_mobile_menu li:last-child{
    border-bottom:0!important;
  }

  .gf-mockup-header .gf-mockup-menu .et_mobile_menu li>a{
    position:relative!important;
    display:grid!important;
    grid-template-columns:34px minmax(0,1fr) 18px!important;
    align-items:center!important;
    gap:12px!important;
    min-height:62px!important;
    padding:8px 10px!important;
    border-radius:12px!important;
    color:#111820!important;
    font-family:"Montserrat",Arial,sans-serif!important;
    font-size:17px!important;
    line-height:1.2!important;
    font-weight:800!important;
    background:#fff!important;
  }

  .gf-mockup-header .gf-mockup-menu .et_mobile_menu li>a:after{
    content:"›"!important;
    display:block!important;
    justify-self:end!important;
    color:#8a9198!important;
    font:400 34px/1 Arial,sans-serif!important;
  }

  .gf-mockup-header .gf-mockup-menu .et_mobile_menu li.current-menu-item>a,
  .gf-mockup-header .gf-mockup-menu .et_mobile_menu li.gf-nav-home>a{
    color:#BF1621!important;
    background:#fff5f5!important;
  }
  .gf-mockup-header .gf-mockup-menu .et_mobile_menu li.current-menu-item>a:after,
  .gf-mockup-header .gf-mockup-menu .et_mobile_menu li.gf-nav-home>a:after{
    color:#BF1621!important;
  }

  .gf-mockup-header .gf-mockup-menu .et_mobile_menu li>a:before{
    content:""!important;
    display:block!important;
    width:24px!important;
    height:24px!important;
    background-color:currentColor!important;
    -webkit-mask-repeat:no-repeat!important;
    mask-repeat:no-repeat!important;
    -webkit-mask-position:center!important;
    mask-position:center!important;
    -webkit-mask-size:contain!important;
    mask-size:contain!important;
  }

  .gf-mockup-header .gf-mockup-menu .et_mobile_menu li.gf-nav-home>a:before{
    -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 11.2 12 4l9 7.2v8.3a.8.8 0 0 1-.8.8h-5.4v-6.2H9.2v6.2H3.8a.8.8 0 0 1-.8-.8v-8.3Z'/%3E%3C/svg%3E")!important;
    mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 11.2 12 4l9 7.2v8.3a.8.8 0 0 1-.8.8h-5.4v-6.2H9.2v6.2H3.8a.8.8 0 0 1-.8-.8v-8.3Z'/%3E%3C/svg%3E")!important;
  }
  .gf-mockup-header .gf-mockup-menu .et_mobile_menu li.gf-nav-services>a:before{
    -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='m14.7 5.3 4 4M4 20l6-6m1.4-7.6 6.2 6.2M4 6.8l2.8-2.8 3.2 3.2-2.8 2.8L4 6.8Zm7 7 6.4-6.4 3.2 3.2-6.4 6.4-3.8 1 1-3.8Z'/%3E%3C/svg%3E")!important;
    mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='m14.7 5.3 4 4M4 20l6-6m1.4-7.6 6.2 6.2M4 6.8l2.8-2.8 3.2 3.2-2.8 2.8L4 6.8Zm7 7 6.4-6.4 3.2 3.2-6.4 6.4-3.8 1 1-3.8Z'/%3E%3C/svg%3E")!important;
  }
  .gf-mockup-header .gf-mockup-menu .et_mobile_menu li.gf-nav-about>a:before{
    -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='2' stroke-linecap='round' d='M8.5 11a3 3 0 1 0 0-6 3 3 0 0 0 0 6Zm7-1a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5ZM3.5 19c0-3 2.2-5 5-5s5 2 5 5M13 14.5c.7-.4 1.6-.6 2.5-.6 2.8 0 5 1.9 5 4.6'/%3E%3C/svg%3E")!important;
    mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='2' stroke-linecap='round' d='M8.5 11a3 3 0 1 0 0-6 3 3 0 0 0 0 6Zm7-1a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5ZM3.5 19c0-3 2.2-5 5-5s5 2 5 5M13 14.5c.7-.4 1.6-.6 2.5-.6 2.8 0 5 1.9 5 4.6'/%3E%3C/svg%3E")!important;
  }
  .gf-mockup-header .gf-mockup-menu .et_mobile_menu li.gf-nav-references>a:before{
    -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='3' y='4' width='18' height='16' rx='2' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='m5.5 17 5-5 3.5 3 2.5-2.5 3 3M8 9h.01' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;
    mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='3' y='4' width='18' height='16' rx='2' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='m5.5 17 5-5 3.5 3 2.5-2.5 3 3M8 9h.01' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;
  }
  .gf-mockup-header .gf-mockup-menu .et_mobile_menu li.gf-nav-regions>a:before{
    -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21s6-5.1 6-11a6 6 0 1 0-12 0c0 5.9 6 11 6 11Z' fill='none' stroke='black' stroke-width='2'/%3E%3Ccircle cx='12' cy='10' r='2' fill='none' stroke='black' stroke-width='2'/%3E%3C/svg%3E")!important;
    mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21s6-5.1 6-11a6 6 0 1 0-12 0c0 5.9 6 11 6 11Z' fill='none' stroke='black' stroke-width='2'/%3E%3Ccircle cx='12' cy='10' r='2' fill='none' stroke='black' stroke-width='2'/%3E%3C/svg%3E")!important;
  }
  .gf-mockup-header .gf-mockup-menu .et_mobile_menu li.gf-nav-faq>a:before{
    -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 11a8 8 0 1 1-3-6.2M8.8 9a3.2 3.2 0 0 1 6.2 1.1c0 2-2.4 2.4-2.8 4M12 18h.01' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E")!important;
    mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 11a8 8 0 1 1-3-6.2M8.8 9a3.2 3.2 0 0 1 6.2 1.1c0 2-2.4 2.4-2.8 4M12 18h.01' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E")!important;
  }
  .gf-mockup-header .gf-mockup-menu .et_mobile_menu li.gf-nav-contact>a:before{
    -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='3' y='5' width='18' height='14' rx='2' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='m4 7 8 6 8-6' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;
    mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='3' y='5' width='18' height='14' rx='2' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='m4 7 8 6 8-6' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;
  }

  .gf-mockup-header .gf-mockup-menu .et_mobile_menu:before{
    content:"☎  Kostenlose Beratung  ›"!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:12px!important;
    min-height:62px!important;
    margin:14px 0 0!important;
    padding:0 18px!important;
    border-radius:12px!important;
    background:#BF1621!important;
    color:#fff!important;
    font:800 17px/1.2 "Montserrat",Arial,sans-serif!important;
    order:99!important;
  }

  .gf-mockup-header .gf-mockup-menu .et_mobile_menu:after{
    content:"Ihr Partner für ein sicheres Dach."!important;
    display:block!important;
    margin:18px 8px 0!important;
    padding-top:16px!important;
    border-top:1px solid #d8dde1!important;
    color:#4c545b!important;
    text-align:center!important;
    font:italic 17px/1.35 Georgia,serif!important;
  }

  body.gf-mockup-mobile-open{
    overflow:hidden!important;
    touch-action:none!important;
    overscroll-behavior:none!important;
  }
}

@media(max-width:560px){
  .gf-mockup-header{
    --gf-mockup-mobile-h:108px;
  }
  .gf-mockup-header .gf-mockup-row{
    min-height:var(--gf-mockup-mobile-h)!important;
    padding:12px 12px!important;
    grid-template-columns:minmax(0,1fr) 52px!important;
  }
  .gf-mockup-header .gf-mockup-logo{
    width:195px!important;
    max-width:calc(100vw - 98px)!important;
  }
  .gf-mockup-header .gf-mockup-logo .et_pb_image_wrap,
  .gf-mockup-header .gf-mockup-logo img{
    max-height:76px!important;
  }
  .gf-mockup-header .gf-mockup-menu-col,
  .gf-mockup-header .gf-mockup-menu,
  .gf-mockup-header .gf-mockup-menu .et_pb_menu_inner_container,
  .gf-mockup-header .gf-mockup-menu .et_pb_menu__wrap,
  .gf-mockup-header .gf-mockup-menu .et_mobile_nav_menu,
  .gf-mockup-header .gf-mockup-menu .mobile_nav{
    width:52px!important;
    min-width:52px!important;
    max-width:52px!important;
  }
  .gf-mockup-header .gf-mockup-menu .mobile_menu_bar{
    width:50px!important;
    height:50px!important;
  }
  .gf-mockup-header .gf-mockup-menu .et_mobile_menu{
    top:calc(var(--gf-mockup-mobile-h) + 8px)!important;
    left:8px!important;
    right:8px!important;
    max-height:calc(100dvh - var(--gf-mockup-mobile-h) - 16px)!important;
    padding:8px 10px 14px!important;
    border-radius:16px!important;
  }
  .gf-mockup-header .gf-mockup-menu .et_mobile_menu li>a{
    min-height:58px!important;
    font-size:16px!important;
  }
}


@media(max-width:980px){
  .gf-mockup-header .gf-mockup-menu .et_mobile_menu:before{
    display:none!important;
  }

  .gf-mockup-header .gf-mockup-menu .et_mobile_menu li.gf-nav-mobile-cta{
    display:block!important;
    margin:14px 0 0!important;
    border:0!important;
    background:transparent!important;
  }

  .gf-mockup-header .gf-mockup-menu .et_mobile_menu li.gf-nav-mobile-cta>a{
    grid-template-columns:28px minmax(0,1fr) 18px!important;
    min-height:62px!important;
    padding:0 18px!important;
    border-radius:12px!important;
    background:#BF1621!important;
    color:#fff!important;
    box-shadow:0 8px 18px rgba(191,22,33,.18)!important;
  }

  .gf-mockup-header .gf-mockup-menu .et_mobile_menu li.gf-nav-mobile-cta>a:before{
    content:"☎"!important;
    width:auto!important;
    height:auto!important;
    background:transparent!important;
    -webkit-mask-image:none!important;
    mask-image:none!important;
    font:700 20px/1 Arial,sans-serif!important;
  }

  .gf-mockup-header .gf-mockup-menu .et_mobile_menu li.gf-nav-mobile-cta>a:after{
    color:#fff!important;
  }
}


/* =========================================================
   MOCKUP MOBILE NAV — FINAL VISUAL MATCH
   ========================================================= */
@media(max-width:980px){
  .gf-mockup-header,
  .gf-mockup-header.et_pb_section,
  .gf-mockup-header .gf-mockup-row,
  .gf-mockup-header .gf-mockup-logo-col,
  .gf-mockup-header .gf-mockup-menu-col{
    background:#fff!important;
  }

  .gf-mockup-header{
    --gf-mockup-mobile-h:96px!important;
    min-height:var(--gf-mockup-mobile-h)!important;
    border-bottom:1px solid #eef0f2!important;
    box-shadow:0 8px 24px rgba(15,23,42,.08)!important;
  }

  .gf-mockup-header .gf-mockup-row{
    min-height:var(--gf-mockup-mobile-h)!important;
    padding:10px 14px!important;
    grid-template-columns:minmax(0,1fr) 52px!important;
    gap:10px!important;
  }

  .gf-mockup-header .gf-mockup-logo{
    width:188px!important;
    max-width:calc(100vw - 92px)!important;
  }

  .gf-mockup-header .gf-mockup-logo .et_pb_image_wrap,
  .gf-mockup-header .gf-mockup-logo img{
    max-height:68px!important;
  }

  .gf-mockup-header .gf-mockup-menu-col,
  .gf-mockup-header .gf-mockup-menu,
  .gf-mockup-header .gf-mockup-menu .et_pb_menu_inner_container,
  .gf-mockup-header .gf-mockup-menu .et_pb_menu__wrap,
  .gf-mockup-header .gf-mockup-menu .et_mobile_nav_menu,
  .gf-mockup-header .gf-mockup-menu .mobile_nav{
    width:52px!important;
    min-width:52px!important;
    max-width:52px!important;
  }

  .gf-mockup-header .gf-mockup-menu .mobile_menu_bar{
    width:50px!important;
    height:50px!important;
    border-radius:11px!important;
    background:#f5f5f5!important;
  }

  .gf-mockup-header .gf-mockup-menu .et_mobile_menu{
    top:calc(var(--gf-mockup-mobile-h) + 8px)!important;
    left:10px!important;
    right:10px!important;
    max-height:calc(100dvh - var(--gf-mockup-mobile-h) - 18px)!important;
    padding:8px 10px 14px!important;
    border:1px solid #eef0f2!important;
    border-radius:16px!important;
    background:#fff!important;
    box-shadow:0 22px 52px rgba(15,23,42,.16)!important;
  }

  .gf-mockup-header .gf-mockup-menu .et_mobile_menu li>a{
    grid-template-columns:30px minmax(0,1fr) 16px!important;
    gap:10px!important;
    min-height:54px!important;
    padding:6px 8px!important;
    border-radius:10px!important;
    font-size:15px!important;
  }

  .gf-mockup-header .gf-mockup-menu .et_mobile_menu li>a:before{
    width:22px!important;
    height:22px!important;
  }

  .gf-mockup-header .gf-mockup-menu .et_mobile_menu li>a:after{
    font-size:28px!important;
  }

  .gf-mockup-header .gf-mockup-menu .et_mobile_menu li.gf-nav-mobile-cta{
    margin-top:10px!important;
  }

  .gf-mockup-header .gf-mockup-menu .et_mobile_menu li.gf-nav-mobile-cta>a{
    min-height:54px!important;
    padding:0 14px!important;
    border-radius:10px!important;
    font-size:15px!important;
  }

  .gf-mockup-header .gf-mockup-menu .et_mobile_menu:after{
    margin:12px 6px 0!important;
    padding-top:12px!important;
    font-size:15px!important;
    line-height:1.25!important;
  }
}

@media(max-width:560px){
  .gf-mockup-header{
    --gf-mockup-mobile-h:90px!important;
  }

  .gf-mockup-header .gf-mockup-row{
    padding:8px 10px!important;
    grid-template-columns:minmax(0,1fr) 48px!important;
  }

  .gf-mockup-header .gf-mockup-logo{
    width:176px!important;
    max-width:calc(100vw - 84px)!important;
  }

  .gf-mockup-header .gf-mockup-logo .et_pb_image_wrap,
  .gf-mockup-header .gf-mockup-logo img{
    max-height:64px!important;
  }

  .gf-mockup-header .gf-mockup-menu-col,
  .gf-mockup-header .gf-mockup-menu,
  .gf-mockup-header .gf-mockup-menu .et_pb_menu_inner_container,
  .gf-mockup-header .gf-mockup-menu .et_pb_menu__wrap,
  .gf-mockup-header .gf-mockup-menu .et_mobile_nav_menu,
  .gf-mockup-header .gf-mockup-menu .mobile_nav{
    width:48px!important;
    min-width:48px!important;
    max-width:48px!important;
  }

  .gf-mockup-header .gf-mockup-menu .mobile_menu_bar{
    width:46px!important;
    height:46px!important;
  }

  .gf-mockup-header .gf-mockup-menu .et_mobile_menu{
    top:calc(var(--gf-mockup-mobile-h) + 6px)!important;
    left:8px!important;
    right:8px!important;
    max-height:calc(100dvh - var(--gf-mockup-mobile-h) - 14px)!important;
    padding:7px 9px 12px!important;
    border-radius:15px!important;
  }

  .gf-mockup-header .gf-mockup-menu .et_mobile_menu li>a{
    min-height:50px!important;
    font-size:14px!important;
  }

  .gf-mockup-header .gf-mockup-menu .et_mobile_menu li.gf-nav-mobile-cta>a{
    min-height:52px!important;
  }

  .gf-mockup-header .gf-mockup-menu .et_mobile_menu:after{
    font-size:14px!important;
  }
}


/* FINAL MOBILE OVERRIDES */
@media(max-width:980px){
  header.et-l--header .et_pb_row,
  .gf-mockup-header .gf-mockup-row{
    background:#fff!important;
  }

  .gf-mockup-header .gf-mockup-menu .et_mobile_menu li.gf-nav-mobile-cta{
    display:block!important;
    margin:12px 0 0!important;
    border:0!important;
    background:transparent!important;
  }

  .gf-mockup-header .gf-mockup-menu .et_mobile_menu li.gf-nav-mobile-cta>a{
    display:grid!important;
    grid-template-columns:28px minmax(0,1fr) 18px!important;
    align-items:center!important;
    gap:10px!important;
    min-height:54px!important;
    padding:0 14px!important;
    border-radius:10px!important;
    background:#BF1621!important;
    color:#fff!important;
    font-family:"Montserrat",Arial,sans-serif!important;
    font-size:15px!important;
    font-weight:800!important;
    box-shadow:0 8px 18px rgba(191,22,33,.18)!important;
  }

  .gf-mockup-header .gf-mockup-menu .et_mobile_menu li.gf-nav-mobile-cta>a:before{
    content:"☎"!important;
    display:block!important;
    width:auto!important;
    height:auto!important;
    background:transparent!important;
    -webkit-mask-image:none!important;
    mask-image:none!important;
    font:700 20px/1 Arial,sans-serif!important;
  }

  .gf-mockup-header .gf-mockup-menu .et_mobile_menu li.gf-nav-mobile-cta>a:after{
    content:"›"!important;
    color:#fff!important;
    font:400 28px/1 Arial,sans-serif!important;
  }

  .gf-mockup-header .gf-mockup-menu .et_mobile_menu:after{
    content:"Ihr Partner für ein sauberes Dach."!important;
    display:block!important;
    margin:14px 6px 0!important;
    padding-top:14px!important;
    border-top:1px solid #d8dde1!important;
    color:#4c545b!important;
    text-align:center!important;
    font:italic 15px/1.3 Georgia,serif!important;
  }
}


@media(max-width:980px){
  .gf-mockup-header .gf-mockup-menu .et_mobile_menu .gf-nav-mobile-cta>a:before,
  .gf-mockup-header .gf-mockup-menu .et_mobile_menu .gf-nav-mobile-cta>a:after{
    display:none!important;
  }

  .gf-mockup-header .gf-mockup-menu .et_mobile_menu .gf-nav-mobile-cta>a{
    grid-template-columns:28px minmax(0,1fr) 18px!important;
  }

  .gf-mockup-header .gf-mobile-phone{
    display:block!important;
    color:#fff!important;
    font:700 20px/1 Arial,sans-serif!important;
  }

  .gf-mockup-header .gf-mobile-arrow{
    display:block!important;
    justify-self:end!important;
    color:#fff!important;
    font:400 28px/1 Arial,sans-serif!important;
  }

  .gf-mockup-header .gf-mobile-tagline{
    position:relative!important;
    display:block!important;
    margin:14px 6px 0!important;
    padding:14px 64px 0!important;
    color:#4c545b!important;
    text-align:center!important;
    font:italic 15px/1.3 Georgia,serif!important;
  }

  .gf-mockup-header .gf-mobile-tagline:before,
  .gf-mockup-header .gf-mobile-tagline:after{
    content:""!important;
    position:absolute!important;
    top:24px!important;
    width:52px!important;
    height:1px!important;
    background:#d8dde1!important;
  }
  .gf-mockup-header .gf-mobile-tagline:before{left:0!important;}
  .gf-mockup-header .gf-mobile-tagline:after{right:0!important;}

  .gf-mockup-header .gf-mockup-menu .et_mobile_menu:after{
    display:none!important;
    content:none!important;
  }
}


/* MOBILE CTA/TAGLINE LAYOUT REPAIR */
@media(max-width:980px){
  .gf-mockup-header .gf-mockup-menu .et_mobile_menu{
    display:flex!important;
    flex-direction:column!important;
  }

  .gf-mockup-header .gf-mockup-menu .et_mobile_menu > li{
    width:100%!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }

  .gf-mockup-header .gf-mockup-menu .et_mobile_menu li.gf-nav-mobile-cta{
    order:98!important;
    width:100%!important;
    margin:12px 0 0!important;
    padding:0!important;
    overflow:hidden!important;
  }

  .gf-mockup-header .gf-mockup-menu .et_mobile_menu li.gf-nav-mobile-cta>a{
    display:grid!important;
    grid-template-columns:24px minmax(0,1fr) 16px!important;
    align-items:center!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
    gap:10px!important;
    padding:0 16px!important;
    min-height:56px!important;
    white-space:nowrap!important;
    overflow:hidden!important;
  }

  .gf-mockup-header .gf-mobile-phone{
    font-size:18px!important;
    line-height:1!important;
    width:24px!important;
    overflow:hidden!important;
  }

  .gf-mockup-header .gf-mobile-cta-text{
    display:block!important;
    min-width:0!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    text-align:left!important;
  }

  .gf-mockup-header .gf-mobile-arrow{
    width:16px!important;
    font-size:26px!important;
    line-height:1!important;
  }

  .gf-mockup-header .gf-mobile-tagline{
    order:99!important;
    position:relative!important;
    display:block!important;
    width:100%!important;
    margin:12px 0 0!important;
    padding:14px 58px 4px!important;
    border:0!important;
    background:transparent!important;
    color:#4c545b!important;
    box-sizing:border-box!important;
    text-align:center!important;
  }

  .gf-mockup-header .gf-mobile-tagline span{
    display:block!important;
    font:italic 15px/1.3 Georgia,serif!important;
  }

  .gf-mockup-header .gf-mobile-tagline:before,
  .gf-mockup-header .gf-mobile-tagline:after{
    top:26px!important;
    width:46px!important;
  }
}


/* MOBILE CTA — HARD RESET AGAINST DIVI PSEUDO ICONS */
@media(max-width:980px){
  .gf-mockup-header .gf-mockup-menu ul.et_mobile_menu{
    background:#fff!important;
    padding-bottom:16px!important;
  }

  .gf-mockup-header .gf-mockup-menu ul.et_mobile_menu > li.gf-nav-mobile-cta{
    order:98!important;
    display:block!important;
    width:100%!important;
    margin:12px 0 0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    overflow:visible!important;
  }

  .gf-mockup-header .gf-mockup-menu ul.et_mobile_menu > li.gf-nav-mobile-cta > a{
    display:grid!important;
    grid-template-columns:24px minmax(0,1fr) 18px!important;
    align-items:center!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:56px!important;
    margin:0!important;
    padding:0 16px!important;
    gap:12px!important;
    border:0!important;
    border-radius:10px!important;
    background:#BF1621!important;
    color:#fff!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }

  .gf-mockup-header .gf-mockup-menu ul.et_mobile_menu > li.gf-nav-mobile-cta > a::before,
  .gf-mockup-header .gf-mockup-menu ul.et_mobile_menu > li.gf-nav-mobile-cta > a::after{
    content:none!important;
    display:none!important;
    width:0!important;
    height:0!important;
    background:none!important;
    -webkit-mask:none!important;
    mask:none!important;
  }

  .gf-mockup-header .gf-mockup-menu ul.et_mobile_menu > li.gf-nav-mobile-cta > a > .gf-mobile-phone{
    grid-column:1!important;
    display:block!important;
    width:24px!important;
    min-width:24px!important;
    color:#fff!important;
    font:700 18px/1 Arial,sans-serif!important;
    overflow:visible!important;
  }

  .gf-mockup-header .gf-mockup-menu ul.et_mobile_menu > li.gf-nav-mobile-cta > a > .gf-mobile-cta-text{
    grid-column:2!important;
    display:block!important;
    min-width:0!important;
    color:#fff!important;
    font:800 15px/1.2 "Montserrat",Arial,sans-serif!important;
    text-align:left!important;
    white-space:nowrap!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }

  .gf-mockup-header .gf-mockup-menu ul.et_mobile_menu > li.gf-nav-mobile-cta > a > .gf-mobile-arrow{
    grid-column:3!important;
    display:block!important;
    width:18px!important;
    color:#fff!important;
    font:400 28px/1 Arial,sans-serif!important;
    text-align:right!important;
  }

  .gf-mockup-header .gf-mockup-menu ul.et_mobile_menu > li.gf-mobile-tagline{
    order:99!important;
    display:block!important;
    width:100%!important;
    margin:12px 0 0!important;
    padding:14px 56px 4px!important;
    border:0!important;
    background:#fff!important;
    color:#4c545b!important;
    box-sizing:border-box!important;
  }
}
