@font-face{font-family:'Bai Jamjuree';font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/bai-jamjuree-v12-latin-regular.woff2') format('woff2');}
@font-face{font-family:'Bai Jamjuree';font-style:normal;font-weight:500;font-display:swap;src:url('assets/fonts/bai-jamjuree-v12-latin-500.woff2') format('woff2');}
@font-face{font-family:'Bai Jamjuree';font-style:normal;font-weight:600;font-display:swap;src:url('assets/fonts/bai-jamjuree-v12-latin-600.woff2') format('woff2');}
@font-face{font-family:'Bai Jamjuree';font-style:normal;font-weight:700;font-display:swap;src:url('assets/fonts/bai-jamjuree-v12-latin-700.woff2') format('woff2');}
@font-face{font-family:'Roboto';font-style:normal;font-weight:300;font-display:swap;src:url('assets/fonts/roboto-v48-latin-300.woff2') format('woff2');}
@font-face{font-family:'Roboto';font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/roboto-v48-latin-regular.woff2') format('woff2');}
@font-face{font-family:'Roboto';font-style:normal;font-weight:500;font-display:swap;src:url('assets/fonts/roboto-v48-latin-500.woff2') format('woff2');}
@font-face{font-family:'Roboto';font-style:normal;font-weight:600;font-display:swap;src:url('assets/fonts/roboto-v48-latin-600.woff2') format('woff2');}
@font-face{font-family:'Roboto';font-style:normal;font-weight:700;font-display:swap;src:url('assets/fonts/roboto-v48-latin-700.woff2') format('woff2');}

:root{
  --primary:#7400ab;
  --grad-dark:#3f005c;
  --accent-light:#e6d8ed;
  --section-grey:#dfdde0;
  --hero-bg:#000000;
  --text-body:#666666;
  --text-dark:#000000;
  --hero-h3:#da96fa;
  --radius:10px;
  --content-max:1140px;

  --fs-h1:clamp(20px, calc(17.71px + 0.714vw), 28px);
  --fs-h2:clamp(20px, calc(17.71px + 0.714vw), 28px);
  --fs-h3:clamp(18px, calc(17.14px + 0.268vw), 21px);
  --fs-h4:clamp(17px, calc(16.14px + 0.268vw), 20px);
  --fs-body:clamp(15px, calc(14.14px + 0.268vw), 18px);
  --fs-button:18px;
}

*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;overflow-x:hidden;}
body{
  margin:0;
  font-family:'Roboto',Arial,sans-serif;
  font-size:var(--fs-body);
  font-weight:300;
  line-height:1.65;
  color:var(--text-body);
  background:#fff;
  overflow-x:hidden;
  overflow-wrap:break-word;
  word-break:normal;
  hyphens:none;
}
img{max-width:100%;height:auto;display:block;}
a{color:inherit;}

h1,h2,h3,h4{
  font-family:'Bai Jamjuree',Arial,sans-serif;
  margin:0 0 .5em;
  line-height:1.25;
  overflow-wrap:break-word;
  hyphens:none;
}
h1{font-size:var(--fs-h1);font-weight:700;color:var(--text-dark);}
h2{font-size:var(--fs-h2);font-weight:700;color:var(--text-dark);}
h3{font-size:var(--fs-h3);font-weight:600;color:var(--primary);}
h4{font-size:var(--fs-h4);font-weight:600;color:var(--text-dark);}
p{margin:0 0 1em;}
p:last-child{margin-bottom:0;}

/* Einheitliche Sektionsbreite ueber die ganze Seite */
.container{width:90%;max-width:var(--content-max);margin:0 auto;}
section{padding:60px 0;}
.bg-white{background:#fff;}
.bg-grey{background:var(--section-grey);}

.kicker{
  font-family:'Bai Jamjuree',Arial,sans-serif;
  font-size:var(--fs-h3);font-weight:600;color:var(--primary);margin:0 0 .4em;
}
.section-head{text-align:center;margin:0 0 40px;}
.section-head--left{text-align:left;}

/* Header */
.site-header{background:#fff;border-bottom:1px solid #ececec;position:sticky;top:0;z-index:20;}
.site-header .container{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:12px;padding-bottom:12px;}
.site-header img{height:70px;width:auto;}
.site-header .btn{padding:10px 15px;}
.header-phone{font-family:'Bai Jamjuree',Arial,sans-serif;font-weight:600;color:var(--text-dark);font-size:var(--fs-body);white-space:nowrap;}

/* Buttons / CTA */
.cta{margin-top:36px;text-align:center;}
.cta--left{text-align:left;}
.btn{
  display:inline-block;font-family:'Roboto',Arial,sans-serif;font-size:var(--fs-button);font-weight:600;line-height:1.2;
  text-decoration:none;color:#fff;background:linear-gradient(90deg,var(--grad-dark) 0%,var(--primary) 100%);
  padding:15px 34px;border-radius:var(--radius);border:2px solid transparent;transition:transform .15s ease, box-shadow .15s ease;cursor:pointer;
}
.btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(116,0,171,.28);}
.btn--hero{border:2px solid #fff;}
.btn--ghost{background:transparent;border:2px solid #fff;color:#fff;}
.btn--ghost:hover{background:rgba(255,255,255,.14);box-shadow:none;}
.cta-note{display:block;margin-top:10px;font-size:var(--fs-body);color:var(--text-body);}
.cta-note--light{color:#cfc6d6;}

/* Hero */
.hero{position:relative;background:#000 url('assets/bilder/Brandschutzklappen-wartung-lueftungsanlagen-wartung-SH-Brandschutz-und-Anlagenwartung-hg-01.webp') no-repeat right 20%/cover;color:#fff;overflow:hidden;}
.hero::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#000 30%,rgba(0,0,0,.55) 52%,rgba(0,0,0,0) 72%);}
.hero .container{position:relative;z-index:2;padding-top:72px;padding-bottom:72px;}
.hero-content{max-width:640px;}
.hero h1{color:#fff;}
.hero .kicker{color:var(--hero-h3);}
.hero-checks{display:flex;flex-direction:column;gap:12px;margin:26px 0 32px;max-width:600px;}
.hero-check{display:flex;gap:12px;align-items:flex-start;background:rgba(223,221,224,.94);color:#1a1a1a;border-radius:var(--radius);padding:5px 8px;}
.hero-check svg{flex:0 0 auto;width:16px;height:16px;stroke:var(--primary);stroke-width:3;fill:none;stroke-linecap:round;stroke-linejoin:round;margin-top:6px;}
.hero-check h3{margin:0 0 .2em;color:var(--primary);}
.hero-check p{margin:0;color:#333;font-size:var(--fs-body);font-weight:300;line-height:1.65;}
.hero-buttons{display:flex;gap:16px;flex-wrap:wrap;align-items:center;}
.hero-note{margin-top:14px;font-size:var(--fs-body);color:#cfc6d6;}

/* Icon-Badge */
.icon-badge{width:56px;height:56px;border-radius:50%;background:var(--accent-light);display:flex;align-items:center;justify-content:center;margin-bottom:16px;}
.icon-badge svg{width:28px;height:28px;stroke:var(--primary);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}

/* Media (Bild links + Text rechts) */
.media{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:stretch;}
.media-img{border-radius:var(--radius);overflow:hidden;min-height:340px;}
.media-img img{width:100%;height:100%;object-fit:cover;object-position:top;display:block;}
.media-ph{border-radius:var(--radius);min-height:340px;background:repeating-linear-gradient(45deg,#efeef0,#efeef0 12px,#e7e5ea 12px,#e7e5ea 24px);border:1px dashed #b9b3c0;display:flex;align-items:center;justify-content:center;color:#8a8291;font-family:'Bai Jamjuree',Arial,sans-serif;font-weight:500;text-align:center;padding:20px;}
.media-text{align-self:center;}

/* Zwei-Spalten-Bloecke (unter dem Media in Abschnitt 3) */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:44px;}
.two-col .usp{background:#fff;border:1px solid #d3d0d8;border-radius:var(--radius);padding:28px 26px;}
.two-col .usp h3{margin-bottom:.4em;}

/* Leistungen: 2 pro Zeile, Icon oben */
.leistungen-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;}
.leistung-kachel{background:#fff;border:1px solid #e7e4ec;border-radius:var(--radius);padding:30px 28px;}
.leistung-kachel h3{margin-bottom:.5em;}
.leistung-kachel p{font-size:var(--fs-body);}

/* Karten-Grids */
.grid{display:grid;gap:26px;}
.grid-3{grid-template-columns:repeat(3,1fr);}
.grid-1{grid-template-columns:1fr;}

/* Testimonials */
.quote{background:#fff;border:1px solid #e7e4ec;border-radius:var(--radius);padding:26px 24px;height:100%;}
.bg-grey .quote{border-color:#d3d0d8;}
.quote p{font-size:var(--fs-body);}
.quote .quote-name{color:var(--primary);font-weight:700;margin-top:14px;margin-bottom:0;}

/* FAQ */
.faq details{background:#fff;border:1px solid #d3d0d8;border-radius:var(--radius);margin-bottom:14px;overflow:hidden;}
.faq summary{list-style:none;cursor:pointer;padding:18px 22px;display:flex;align-items:center;justify-content:space-between;gap:16px;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary h4{margin:0;color:var(--text-dark);}
.faq .chev{flex:0 0 auto;width:22px;height:22px;stroke:var(--primary);fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s ease;}
.faq details[open] .chev{transform:rotate(180deg);}
.faq .faq-body{padding:0 22px 20px;}
.faq .faq-body p{font-size:var(--fs-body);}

/* Steps (eine Spalte, linksbuendig) */
.step{background:#fff;border:1px solid #e7e4ec;border-radius:var(--radius);padding:28px 24px;height:100%;}
.step-num{width:44px;height:44px;border-radius:50%;background:linear-gradient(90deg,var(--grad-dark) 0%,var(--primary) 100%);color:#fff;font-family:'Bai Jamjuree',Arial,sans-serif;font-weight:700;font-size:var(--fs-button);display:flex;align-items:center;justify-content:center;margin-bottom:16px;}
.step h4{margin-bottom:.4em;}
.step p{font-size:var(--fs-body);}

/* CTA-Text + SEO-Fülltext */
.cta-text{text-align:left;}
.prose{columns:1;}
.prose p{font-size:var(--fs-body);break-inside:avoid;}

/* Kontaktseite */
.contact-hero{background:#000;color:#fff;padding:56px 0;}
.contact-hero h1{color:#fff;}
.contact-hero .kicker{color:var(--hero-h3);}
.contact-hero p{max-width:680px;color:#d7d2dc;margin-bottom:0;}
.contact-grid{display:grid;grid-template-columns:1.9fr 1fr;gap:48px;align-items:start;}
.contact-form{padding:0;border:none;}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.form-full{grid-column:1 / -1;}
.form-field input,.form-field textarea{width:100%;font-family:'Roboto',Arial,sans-serif;font-size:16px;font-weight:300;color:var(--text-dark);padding:13px 15px;border:1px solid #cfccd6;border-radius:var(--radius);background:#fff;}
.form-field input::placeholder,.form-field textarea::placeholder{color:#8a8291;}
.form-field input:focus,.form-field textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(116,0,171,.12);}
.form-field textarea{resize:vertical;min-height:150px;}
.form-consent{margin:22px 0;}
.consent-title{font-family:'Bai Jamjuree',Arial,sans-serif;font-weight:600;color:var(--text-dark);font-size:var(--fs-body);margin:0 0 10px;}
.consent-check{display:flex;gap:10px;align-items:flex-start;font-size:var(--fs-body);color:#8a8291;line-height:1.5;}
.consent-check input{flex:0 0 auto;width:auto;margin-top:4px;accent-color:var(--primary);}
.consent-check a{color:var(--primary);text-decoration:underline;}
.form-actions{text-align:right;}
.form-hp{position:absolute;left:-9999px;}
.form-status{margin-top:16px;padding:14px 16px;border-radius:var(--radius);font-size:var(--fs-body);display:none;}
.form-status.success{display:block;background:#e7f6ec;color:#1e7a3d;border:1px solid #bfe4cb;}
.form-status.error{display:block;background:#fdecec;color:#c0392b;border:1px solid #f3c4c0;}
.contact-info h3{margin-bottom:.5em;}
.contact-info p{font-size:var(--fs-body);margin:0 0 .35em;}
.contact-info .info-block{margin-bottom:24px;}

/* Footer */
.site-footer{background:var(--section-grey);color:#3a3a3a;padding:44px 0 28px;}
.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:32px;}
.site-footer img{height:100px;width:auto;margin-bottom:14px;}
.site-footer h4{font-size:var(--fs-body);color:var(--text-dark);margin-bottom:.7em;}
.site-footer p{font-size:var(--fs-body);margin:0 0 .3em;}
.footer-links{display:flex;flex-direction:column;gap:8px;}
.footer-links a{color:var(--primary);text-decoration:none;font-size:var(--fs-body);width:fit-content;}
.footer-links a:hover{text-decoration:underline;}
.footer-bottom{border-top:1px solid #c8c5cd;margin-top:32px;padding-top:18px;font-size:var(--fs-body);color:#6a6672;}

/* Responsive */
@media (max-width:900px){
  body,h1,h2,h3,h4{hyphens:auto;}
  .hero{background:#000;}
  .hero::before{display:none;}
  .grid-3{grid-template-columns:1fr;}
  .media{grid-template-columns:1fr;gap:26px;}
  .media-img{min-height:auto;aspect-ratio:4/3;}
  .media-img img{height:100%;}
  .two-col{grid-template-columns:1fr;gap:26px;margin-top:30px;}
  .leistungen-grid{grid-template-columns:1fr;}
  .prose{columns:1;}
  .contact-grid{grid-template-columns:1fr;gap:32px;}
}
@media (max-width:768px){
  .hero-content{max-width:100%;}
  .footer-grid{grid-template-columns:1fr;}
}
@media (max-width:600px){
  section{padding:46px 0;}
  .site-header .container{flex-wrap:wrap;}
  .hero-buttons .btn{width:100%;text-align:center;}
  .form-grid{grid-template-columns:1fr;}
  .form-actions{text-align:left;}
  .form-actions .btn{width:100%;text-align:center;}
}
