/* =============================================================================
   NK IMMOBILIENGUTACHTEN – Stylesheet (überarbeitet 05/2026)
   Schriften 2-3x vergrößert · luftige Abstände · konsequente Grün-Akzente
   Großes Logo · Großes TÜV-Siegel · Schmaler Header & Footer
   ============================================================================= */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400&family=DM+Sans:wght@300;400;500;600;700&display=swap');

:root{
  --teal:#0C6D68; --teal-dark:#085450; --teal-light:#0d8a84; --teal-pale:#E8F4F3;
  --dark:#1F2026; --dark-soft:#2c2d36;
  --offwhite:#F7F5F1; --beige:#EDE7DC; --beige-dark:#DCD3C2;
  --white:#fff;
  --gray-light:#ede9e3; --gray-mid:#b8b6b0; --gray-text:#454650;
  --max-w:1280px;
  --font-display:'Cormorant Garamond',Georgia,serif;
  --font-body:'DM Sans',system-ui,sans-serif;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
@media(min-width:1200px){html{font-size:17px}}
body{font-family:var(--font-body);background:var(--offwhite);color:var(--dark);line-height:1.85;-webkit-font-smoothing:antialiased;letter-spacing:.01em}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
ul{list-style:none}
section{scroll-margin-top:200px}
.container{max-width:var(--max-w);margin:0 auto;padding:0 2rem}

@keyframes fadeUp{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}
@keyframes scrollPulse{0%,100%{transform:scaleY(1);opacity:.4}50%{transform:scaleY(.6);opacity:.9}}
[data-reveal]{opacity:0;transform:translateY(32px);transition:opacity .75s cubic-bezier(.22,.61,.36,1),transform .75s cubic-bezier(.22,.61,.36,1)}
[data-reveal].is-visible{opacity:1;transform:none}

/* ========== HEADER (Beige Bar 2x so hoch + grüner Schmaler Streifen) ========== */
.nav{position:fixed;top:0;left:0;right:0;z-index:1000;background:var(--beige);transition:box-shadow .3s}
.nav.scrolled{box-shadow:0 4px 30px rgba(46,47,56,.12)}
.nav__inner{max-width:1320px;margin:0 auto;padding:0 2.5rem;display:flex;align-items:center;justify-content:space-between;height:108px}
.nav__logo img{height:78px;width:auto;object-fit:contain;display:block}
.nav__logo-placeholder{display:none}
.nav__menu{display:flex;align-items:center;gap:.4rem;list-style:none}
.nav__item{position:relative}
.nav__link{display:block;padding:.65rem .95rem;font-size:.98rem;font-weight:500;letter-spacing:.04em;color:var(--dark);transition:color .2s;white-space:nowrap}
.nav__link:hover,.nav__link.active{color:var(--teal)}
.nav__link--cta{margin-left:.6rem;padding:.75rem 1.4rem;background:var(--teal);color:var(--white)!important;border-radius:4px;font-size:.95rem;letter-spacing:.05em;font-weight:600;transition:background .2s}
.nav__link--cta:hover{background:var(--teal-light)}
.nav__dropdown{position:absolute;top:calc(100% + 6px);left:50%;transform:translateX(-50%) translateY(-6px);background:var(--white);border:1px solid rgba(12,109,104,.18);border-radius:4px;min-width:280px;box-shadow:0 12px 40px rgba(46,47,56,.12);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;padding:.5rem 0}
.nav__item:hover .nav__dropdown,.nav__item:focus-within .nav__dropdown{opacity:1;pointer-events:all;transform:translateX(-50%) translateY(0)}
.nav__dropdown a{display:block;padding:.7rem 1.3rem;font-size:.94rem;color:var(--dark);transition:color .15s,background .15s;border-left:2px solid transparent}
.nav__dropdown a:hover{color:var(--teal);background:var(--teal-pale);border-left-color:var(--teal)}
.nav__toggle{display:none;flex-direction:column;gap:6px;cursor:pointer;padding:6px;background:transparent;border:none}
.nav__toggle span{display:block;width:30px;height:2px;background:var(--dark);transition:all .3s}

.nav-greenbar{position:fixed;top:108px;left:0;right:0;height:8px;background:var(--teal);z-index:999;transition:top .25s}
@media(max-width:1024px){.nav__inner{height:96px}.nav__logo img{height:68px}.nav-greenbar{top:96px}}
@media(max-width:768px){.nav__inner{height:76px;padding:0 1.25rem}.nav__logo img{height:54px}.nav-greenbar{top:76px;height:6px}}
body{padding-top:116px}
@media(max-width:1024px){body{padding-top:104px}}
@media(max-width:768px){body{padding-top:82px}}

/* ========== HERO ========== */
.hero{position:relative;min-height:90svh;display:flex;align-items:center;overflow:hidden;background:var(--dark)}
.hero__bg{position:absolute;inset:0;background-size:115%;background-position:center 35%;background-repeat:no-repeat;opacity:.4}
.hero__overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(12,109,104,.55) 0%,rgba(31,32,38,.78) 100%)}
.hero__content{position:relative;z-index:2;text-align:center;width:100%;max-width:var(--max-w);margin:0 auto;padding:6rem 2rem 7rem}
.hero__eyebrow{display:inline-flex;align-items:center;gap:1rem;margin-bottom:2rem}
.hero__eyebrow::before,.hero__eyebrow::after{content:'';width:36px;height:1px;background:rgba(247,245,241,.4)}
.hero__eyebrow span{font-size:1.15rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(247,245,241,.85);font-weight:500}
.hero__title{font-family:var(--font-display);font-size:clamp(2.6rem,5.5vw,4.6rem);font-weight:300;color:var(--offwhite);line-height:1.18;margin-bottom:2rem}
.hero__title em{font-style:italic;color:rgba(255,255,255,.92)}
.hero__region{display:inline-block;font-size:1rem;letter-spacing:.32em;text-transform:uppercase;color:rgba(247,245,241,.78);margin-bottom:2.5rem;font-weight:500}
.hero__sub{font-size:1.1rem;color:rgba(247,245,241,.92);max-width:820px;margin:0 auto 2rem;font-weight:300;line-height:1.85;text-align:left}
.hero__sub p{margin-bottom:1.25rem}
.hero__sub p:last-child{margin-bottom:0}
.hero__badges{display:flex;flex-direction:column;align-items:center;gap:.85rem;margin:2.5rem 0}
.hero__badge{display:inline-flex;align-items:center;gap:.85rem;font-size:1.1rem;color:rgba(255,255,255,.92);font-weight:400}
.hero__badge::before{content:'';width:8px;height:8px;border-radius:50%;background:rgba(13,138,132,.95);flex-shrink:0}
.hero__actions{display:flex;gap:1.25rem;justify-content:center;flex-wrap:wrap;margin-bottom:3rem}
.hero__seals{display:flex;flex-direction:column;align-items:center;gap:.85rem;margin-top:1.5rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,.18)}
.hero__seal{height:120px;width:auto;background:transparent;mix-blend-mode:screen;filter:brightness(1.08);transition:filter .25s,transform .25s}
.hero__seal:hover{filter:brightness(1.3);transform:scale(1.05)}
.hero__scroll{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);z-index:2;display:flex;flex-direction:column;align-items:center;gap:.6rem;color:rgba(247,245,241,.45);font-size:.78rem;letter-spacing:.18em;text-transform:uppercase}
.hero__scroll-line{width:1px;height:40px;background:rgba(247,245,241,.3);animation:scrollPulse 2s infinite}

/* ========== BUTTONS ========== */
.btn{display:inline-flex;align-items:center;gap:.55rem;padding:.85rem 1.9rem;font-family:var(--font-body);font-size:.98rem;font-weight:500;letter-spacing:.04em;border-radius:4px;transition:all .25s;cursor:pointer;border:none;text-decoration:none}
.btn--primary,.btn--teal{background:var(--teal);color:var(--white);justify-content:center}
.btn--primary:hover,.btn--teal:hover{background:var(--teal-light);transform:translateY(-1px);box-shadow:0 10px 28px rgba(12,109,104,.4)}
.btn--outline{background:transparent;color:var(--offwhite);border:1px solid rgba(247,245,241,.45)}
.btn--outline:hover{border-color:rgba(247,245,241,.8);background:rgba(247,245,241,.08)}
.btn--outline-dark{background:transparent;color:var(--teal);border:1.5px solid var(--teal)}
.btn--outline-dark:hover{background:var(--teal);color:var(--white)}
.btn--download{display:inline-flex;align-items:center;gap:.65rem;padding:.95rem 1.6rem;border:1.5px solid var(--teal);border-radius:4px;color:var(--teal);font-size:1rem;font-weight:500;letter-spacing:.05em;transition:all .22s;background:transparent}
.btn--download:hover{background:var(--teal);color:var(--white);transform:translateY(-2px);box-shadow:0 6px 16px rgba(12,109,104,.18)}

/* ========== SECTION LABELS ========== */
.section-label{display:inline-flex;align-items:center;gap:1rem;margin-bottom:1.5rem}
.section-label::before{content:'';width:32px;height:1.5px;background:var(--teal)}
.section-label span{font-size:.95rem;letter-spacing:.18em;text-transform:uppercase;color:var(--teal);font-weight:600}
.section-title{font-family:var(--font-display);font-size:clamp(1.9rem,2.8vw,2.7rem);font-weight:400;color:var(--dark);line-height:1.22;margin-bottom:1.6rem}
.section-title em{font-style:italic;color:var(--teal)}
.section-lead{font-size:1.05rem;color:var(--gray-text);line-height:1.8;max-width:780px;font-weight:400}

/* ========== TRUST BAR ========== */
.trust-bar{background:var(--teal);padding:1.4rem 0}
.trust-bar__inner{display:flex;align-items:center;justify-content:center;gap:3rem;flex-wrap:wrap;padding:0 2rem}
.trust-item{display:flex;align-items:center;gap:.7rem;color:rgba(255,255,255,.95);font-size:.95rem;white-space:nowrap}
.trust-item svg{opacity:.9;flex-shrink:0;width:22px;height:22px}

/* ========== SIEGEL STRIP ========== */
.seal-strip{background:var(--white);padding:3rem 0;border-bottom:1px solid var(--gray-light)}
.seal-strip__inner{display:flex;align-items:center;justify-content:center;gap:3.5rem;flex-wrap:wrap;padding:0 2rem}
.seal-strip__item{display:flex;flex-direction:column;align-items:center;gap:.85rem}
.seal-strip__item img{height:130px;width:auto;background:transparent;mix-blend-mode:multiply;filter:contrast(1.05);transition:transform .25s,filter .25s}
.seal-strip__item img:hover{transform:scale(1.05);filter:contrast(1.1)}
.seal-strip__item span{font-size:.92rem;color:var(--dark);font-weight:500;text-align:center;letter-spacing:.02em}

/* ========== ABOUT ========== */
.about-section{padding:6rem 0;background:var(--offwhite)}
.about-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:3.5rem;align-items:start}
.about-img-main{width:100%;height:auto;border-radius:4px;box-shadow:0 25px 60px rgba(0,0,0,.18);object-fit:cover}
.about-text{font-size:1.05rem;color:var(--dark-soft);line-height:1.95;margin-bottom:1.5rem;font-weight:400}
.about-cta-row{display:flex;gap:1.25rem;flex-wrap:wrap;margin-top:2.5rem}
.about-tuev{display:flex;flex-direction:column;align-items:center;margin-top:3rem;padding-top:2.5rem;border-top:1px solid rgba(0,0,0,.08);gap:1.25rem}
.about-tuev img{height:160px;width:auto}
.about-tuev a{display:inline-flex;align-items:center;gap:.6rem;font-size:1.08rem;color:var(--teal);font-weight:500;text-decoration:underline;text-underline-offset:4px}

/* ========== EINSATZGEBIET ========== */
.einsatz-section{padding:6rem 0;background:var(--white)}
.einsatz-grid{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;align-items:start}
.einsatz-text,.einsatz-text p{font-size:1.05rem;color:var(--gray-text);line-height:1.85;margin-bottom:1.75rem}
.region-tags{display:flex;flex-wrap:wrap;gap:.75rem}
.region-tag{background:var(--white);border:1.5px solid rgba(12,109,104,.3);color:var(--teal);padding:.45rem 1rem;border-radius:24px;font-size:.92rem;font-weight:500}
.objekt-box{background:var(--offwhite);border:1px solid rgba(12,109,104,.2);border-radius:6px;padding:2rem}
.objekt-box h3{font-family:var(--font-display);font-size:1.5rem;font-weight:500;color:var(--dark);margin-bottom:1.75rem}
.objekt-list{display:flex;flex-direction:column;gap:1rem}
.objekt-list li{display:flex;gap:.85rem;align-items:center;font-size:1rem;color:var(--dark-soft);line-height:1.6}
.objekt-list li::before{content:'';width:8px;height:8px;border-radius:50%;background:var(--teal);flex-shrink:0}

/* ========== LEISTUNGEN ========== */
.leistungen-section{padding:6rem 0;background:var(--offwhite)}
.leistungen-header-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:end;margin-bottom:4rem}
.tab-nav{display:flex;gap:.65rem;flex-wrap:wrap;margin-bottom:3rem}
.tab-btn{background:var(--white);border:1.5px solid var(--gray-light);color:var(--gray-text);padding:.75rem 1.4rem;border-radius:4px;cursor:pointer;font-size:.95rem;font-family:var(--font-body);font-weight:500;letter-spacing:.03em;transition:all .22s}
.tab-btn:hover{background:var(--teal-pale);color:var(--teal);border-color:rgba(12,109,104,.35)}
.tab-btn.active{background:var(--teal);border-color:var(--teal);color:var(--white)}
.tab-panel{display:none}
.tab-panel.active{display:block}
.leistung-card{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start;background:var(--white);border:1px solid var(--gray-light);border-radius:6px;padding:2.5rem;overflow:hidden}
.leistung-card-title{font-family:var(--font-display);font-size:1.85rem;font-weight:500;color:var(--dark);margin-bottom:1.25rem;line-height:1.2}
.leistung-card-desc{font-size:1.02rem;color:var(--gray-text);line-height:1.85;margin-bottom:1.75rem;font-weight:400}
.leistung-list{display:flex;flex-direction:column;gap:.85rem}
.leistung-list li{display:flex;align-items:flex-start;gap:.75rem;font-size:.98rem;color:var(--dark-soft);line-height:1.65;font-weight:400}
.leistung-list li::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--teal);flex-shrink:0;margin-top:9px}
.leistung-img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center;border-radius:4px;transition:transform .5s ease}
.leistung-card:hover .leistung-img{transform:scale(1.03)}

.leistung-details{display:none;margin-top:2rem;padding-top:2rem;border-top:1px solid rgba(12,109,104,.18);grid-column:1/-1}
.leistung-details.open{display:block;animation:fadeUp .35s ease both}
.leistung-details h3{font-family:var(--font-display);font-size:1.7rem;color:var(--teal);font-weight:500;margin:1.5rem 0 1rem;line-height:1.3}
.leistung-details h4{font-size:1.18rem;color:var(--dark);font-weight:600;margin:1.5rem 0 .85rem}
.leistung-details p{font-size:1.12rem;color:var(--dark-soft);line-height:1.95;margin-bottom:1.25rem}
.leistung-details ul{margin:.5rem 0 1.5rem;display:flex;flex-direction:column;gap:.85rem}
.leistung-details ul li{font-size:1.08rem;color:var(--dark-soft);padding-left:1.5rem;position:relative;line-height:1.7}
.leistung-details ul li::before{content:'';position:absolute;left:0;top:11px;width:7px;height:7px;border-radius:50%;background:var(--teal)}
.leistung-details ul li strong{color:var(--dark);font-weight:600}
.btn-toggle-details{display:inline-flex;align-items:center;gap:.6rem;background:transparent;border:1.5px solid var(--teal);color:var(--teal);padding:.85rem 1.6rem;border-radius:4px;font-size:1.05rem;font-weight:500;cursor:pointer;font-family:var(--font-body);letter-spacing:.04em;transition:all .22s}
.btn-toggle-details:hover{background:var(--teal);color:var(--white)}
.btn-toggle-details .arrow{transition:transform .25s}
.btn-toggle-details.open .arrow{transform:rotate(180deg)}

/* ========== ANLÄSSE ========== */
.anlaesse-section{padding:6rem 0;background:var(--white)}
.anlaesse-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.75rem;margin-top:3rem}
.anlass-card{background:var(--offwhite);border:1px solid var(--gray-light);border-radius:6px;padding:2rem;transition:all .3s;position:relative;overflow:hidden;display:flex;flex-direction:column}
.anlass-card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:var(--teal);transform:scaleX(0);transform-origin:left;transition:transform .3s}
.anlass-card:hover::before{transform:scaleX(1)}
.anlass-card:hover{box-shadow:0 18px 50px rgba(0,0,0,.12);transform:translateY(-4px)}
.anlass-card--cta{background:var(--teal);border-color:var(--teal);cursor:pointer}
.anlass-card--cta::before{background:rgba(255,255,255,.4)}
.anlass-icon{width:56px;height:56px;background:var(--teal-pale);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem;color:var(--teal)}
.anlass-icon svg{width:26px;height:26px}
.anlass-card--cta .anlass-icon{background:rgba(255,255,255,.22);color:var(--white)}
.anlass-title{font-family:var(--font-display);font-size:1.3rem;font-weight:600;color:var(--dark);margin-bottom:1rem;line-height:1.25}
.anlass-card--cta .anlass-title{color:var(--white)}
.anlass-text{font-size:.98rem;color:var(--dark-soft);line-height:1.8;font-weight:400;flex:1}
.anlass-card--cta .anlass-text{color:rgba(255,255,255,.92)}
.anlass-link{display:block;margin-top:1.5rem;font-size:1.02rem;font-weight:600;color:var(--teal);letter-spacing:.05em}
.anlass-card--cta .anlass-link{color:var(--white)}

/* ========== ABLAUF ========== */
.ablauf-section{padding:6rem 0;background:var(--offwhite)}
.ablauf-grid{display:grid;grid-template-columns:1fr;gap:5rem;align-items:start;margin-top:4rem;max-width:980px;margin-left:auto;margin-right:auto}
.ablauf-grid--with-img{grid-template-columns:1.2fr 1fr;max-width:1180px}
.ablauf-steps{display:flex;flex-direction:column}
.ablauf-step{display:flex;gap:2rem}
.step-left{display:flex;flex-direction:column;align-items:center;flex-shrink:0}
.step-num{width:48px;height:48px;border-radius:50%;background:var(--teal);color:var(--white);display:flex;align-items:center;justify-content:center;font-size:1.05rem;font-weight:700;flex-shrink:0;transition:transform .3s cubic-bezier(.34,1.56,.64,1)}
.ablauf-step:hover .step-num{transform:scale(1.12)}
.step-line{width:2px;flex:1;background:rgba(12,109,104,.25);margin:.5rem 0;min-height:2.5rem}
.ablauf-step:last-child .step-line{display:none}
.step-content{padding-bottom:3rem;flex:1}
.step-title{font-family:var(--font-display);font-size:1.3rem;font-weight:600;color:var(--dark);margin-bottom:.75rem;margin-top:.6rem;line-height:1.3}
.step-text{font-size:1.02rem;color:var(--dark-soft);line-height:1.9;font-weight:400}
.step-text ul{display:flex;flex-direction:column;gap:.75rem;margin:1rem 0}
.step-text ul li{position:relative;padding-left:1.4rem;line-height:1.7}
.step-text ul li::before{content:'';position:absolute;left:0;top:10px;width:6px;height:6px;border-radius:50%;background:var(--teal)}
.step-text ul li strong{color:var(--dark);font-weight:600}
.ablauf-image{position:sticky;top:200px}
.ablauf-image img{width:100%;height:auto;border-radius:6px;box-shadow:0 18px 50px rgba(0,0,0,.15)}

/* ========== PAGE HERO – jetzt GRÜN, schmaler ========== */
.page-hero{padding:3.5rem 0;background:var(--teal);text-align:center;position:relative;overflow:hidden}
.page-hero::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,var(--teal-dark) 0%,var(--teal) 100%)}
.page-hero__content{position:relative;z-index:1}
.page-hero__label{font-size:.92rem;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.8);margin-bottom:1.25rem;font-weight:500}
.page-hero__title{font-family:var(--font-display);font-size:clamp(2rem,3.6vw,3.2rem);font-weight:300;color:var(--white);margin-bottom:1.25rem;line-height:1.18}
.page-hero__title em{font-style:italic;color:rgba(255,255,255,.95)}
.page-hero__sub{font-size:1.05rem;color:rgba(255,255,255,.95);font-weight:400;max-width:820px;margin:0 auto;line-height:1.7}

/* ========== BREADCRUMB ========== */
.breadcrumb{background:var(--white);border-bottom:1px solid var(--gray-light);padding:1.1rem 0}
.breadcrumb__inner{display:flex;align-items:center;gap:.6rem;font-size:1rem;color:var(--gray-text);max-width:var(--max-w);margin:0 auto;padding:0 2rem;flex-wrap:wrap}
.breadcrumb__inner a{color:var(--teal);font-weight:500}
.breadcrumb__inner a:hover{color:var(--teal-light)}

/* ========== KONTAKT ========== */
.kontakt-section{padding:6rem 0;background:var(--offwhite)}
.kontakt-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:3.5rem;align-items:start;margin-top:2rem}
.kontakt-info h3{font-family:var(--font-display);font-size:1.65rem;font-weight:500;color:var(--dark);margin-bottom:1.5rem}
.kontakt-info > p{font-size:1.02rem;color:var(--dark-soft);line-height:1.9;margin-bottom:2.5rem}
.kontakt-details{display:flex;flex-direction:column;gap:1.5rem}
.kontakt-detail{display:flex;align-items:center;gap:1.25rem;padding:1.25rem;background:var(--white);border:1px solid var(--gray-light);border-radius:6px;transition:transform .25s,box-shadow .25s}
.kontakt-detail:hover{transform:translateX(4px);box-shadow:0 8px 24px rgba(0,0,0,.06)}
.kontakt-icon{width:46px;height:46px;background:var(--teal-pale);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--teal);flex-shrink:0}
.kontakt-icon svg{width:24px;height:24px}
.kontakt-detail-text a{display:block;font-size:1.08rem;color:var(--dark);font-weight:600;transition:color .2s;letter-spacing:.01em;word-break:break-word}
.kontakt-detail-text a:hover{color:var(--teal)}
.kontakt-detail-text span{display:block;font-size:.95rem;color:var(--gray-text);margin-top:.25rem}
.kontakt-detail-text .addr-strong{display:block;font-size:1.08rem;color:var(--dark);font-weight:600}

.maps-block{margin-top:2.5rem;display:grid;grid-template-columns:1fr;gap:1.5rem}
.maps-block iframe{width:100%;height:340px;border:0;border-radius:6px;box-shadow:0 8px 24px rgba(0,0,0,.08)}
.maps-static-link{display:block;width:100%;border-radius:6px;overflow:hidden;box-shadow:0 8px 24px rgba(0,0,0,.08);transition:transform .25s;background:var(--white)}
.maps-static-link:hover{transform:translateY(-3px);box-shadow:0 14px 36px rgba(0,0,0,.12)}
.maps-static-link img{width:100%;height:auto;display:block}
.maps-static-link .maps-cap{display:block;background:var(--teal);color:var(--white);padding:.85rem 1.25rem;font-size:1.02rem;font-weight:500;text-align:center;letter-spacing:.04em}

.contact-form{background:var(--white);border:1px solid var(--gray-light);border-radius:6px;padding:3rem}
.form-title{font-family:var(--font-display);font-size:1.55rem;font-weight:500;color:var(--dark);margin-bottom:.5rem}
.form-subtitle{font-size:.98rem;color:var(--gray-text);margin-bottom:2rem;line-height:1.7}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}
.form-group{display:flex;flex-direction:column;gap:.55rem;margin-bottom:1.25rem}
.form-group label{font-size:.95rem;font-weight:600;color:var(--dark);letter-spacing:.04em;text-transform:uppercase}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:1rem 1.15rem;border:1.5px solid var(--gray-mid);border-radius:4px;font-size:1.05rem;font-family:var(--font-body);color:var(--dark);background:var(--offwhite);transition:border-color .2s,box-shadow .2s;-webkit-appearance:none}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--teal);background:var(--white);box-shadow:0 0 0 3px rgba(12,109,104,.15)}
.form-group textarea{resize:vertical;min-height:120px}
.form-checkboxes{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-bottom:1.25rem}
.form-check{display:flex;align-items:flex-start;gap:.65rem;font-size:1rem;color:var(--dark-soft);cursor:pointer;line-height:1.5}
.form-check input{flex-shrink:0;width:18px;height:18px;margin-top:2px;accent-color:var(--teal)}
.form-section-title{font-size:.95rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--teal);margin:1.25rem 0 .75rem;border-top:1px solid var(--gray-light);padding-top:1.25rem}
.form-privacy{display:flex;align-items:flex-start;gap:.75rem;font-size:.95rem;color:var(--gray-text);margin:1rem 0 1.5rem;line-height:1.6}
.form-privacy input{flex-shrink:0;accent-color:var(--teal);margin-top:3px}
.form-privacy a{color:var(--teal);text-decoration:underline;text-underline-offset:3px}
.form-file-label{display:flex;align-items:center;gap:1rem;padding:1.1rem 1.25rem;border:1.5px dashed rgba(12,109,104,.4);border-radius:4px;background:var(--teal-pale);color:var(--teal);font-weight:500;cursor:pointer;font-size:1rem;transition:background .2s,border-color .2s}
.form-file-label:hover{background:rgba(12,109,104,.1);border-color:var(--teal)}
.form-file-label svg{flex-shrink:0;width:24px;height:24px}
.form-file-name{font-size:.92rem;color:var(--gray-text);margin-top:.5rem;font-style:italic}
.form-file-hint{font-size:.88rem;color:var(--gray-text);margin-top:.5rem;display:flex;align-items:center;gap:.5rem;line-height:1.5}
.form-file-hint svg{flex-shrink:0;width:14px;height:14px;color:var(--teal)}

/* ========== GENERISCHE BEREICHE ========== */
.section{padding:6rem 0}
.section--sm{padding:5rem 0}
.section--bg{background:var(--offwhite)}
.section--white{background:var(--white)}
.section--pale{background:var(--teal-pale)}
.split{display:grid;grid-template-columns:1fr 1fr}
.split--reverse .split__img{order:2}
.split__img{position:relative;overflow:hidden;min-height:520px}
.split__img img{width:100%;height:100%;object-fit:cover;object-position:center top}
.split__text{display:flex;flex-direction:column;justify-content:center;padding:5rem;background:var(--white)}
.highlight-box{background:var(--teal-pale);border-left:4px solid var(--teal);padding:1.5rem 1.75rem;border-radius:0 4px 4px 0;margin:2rem 0}
.highlight-box p{font-size:1.08rem;color:var(--dark);line-height:1.85;font-weight:400}
.cta-banner{background:var(--teal);padding:4.5rem 0;text-align:center}
.cta-banner__title{font-family:var(--font-display);font-size:clamp(2rem,3.5vw,3.2rem);font-weight:300;color:var(--white);margin-bottom:1.25rem}
.cta-banner__sub{font-size:1.05rem;color:rgba(255,255,255,.92);margin-bottom:2.5rem;font-weight:400}

.content-prose{font-size:1.1rem;line-height:1.95}
.content-prose h2{font-family:var(--font-display);font-size:2.2rem;font-weight:500;margin:3rem 0 1rem;color:var(--dark);line-height:1.25}
.content-prose h2:first-of-type{margin-top:0}
.content-prose h3{font-family:var(--font-display);font-size:1.6rem;font-weight:500;margin:2.5rem 0 .75rem;color:var(--teal);line-height:1.3}
.content-prose h4{font-size:1.18rem;font-weight:600;color:var(--dark);margin:1.5rem 0 .75rem}
.content-prose p{font-size:1rem;color:var(--dark-soft);font-weight:400;line-height:1.95;margin-bottom:1.25rem}
.content-prose strong{color:var(--dark);font-weight:600}
.content-prose ul{margin:1rem 0 1.75rem;display:flex;flex-direction:column;gap:.75rem}
.content-prose ul li{font-size:.98rem;color:var(--dark-soft);padding-left:1.5rem;position:relative;line-height:1.85}
.content-prose ul li::before{content:'';position:absolute;left:0;top:13px;width:7px;height:7px;border-radius:50%;background:var(--teal)}
.content-prose a{color:var(--teal);text-decoration:underline;text-underline-offset:3px}

/* ========== GRÜNER FOOTER (Feinschliff Rev. 2 – 06/05/2026) ==========
   Struktur (von oben nach unten):
   1. Navigation (links) + Kontaktdaten (rechts)
   2. Siegel: TÜV + DGuSV-Silber
   3. Social Media Icons (Instagram, Facebook, LinkedIn)
   4. Mini-Legal-Zeile (Impressum · Datenschutz)
*/
.footer{background:var(--teal);color:var(--white);padding:3.5rem 0 1.75rem}
.footer .container{display:flex;flex-direction:column;align-items:center;gap:2rem}

/* --- Spalten: Navigation + Kontakt --- */
.footer__cols{
  display:grid;
  grid-template-columns:auto auto;
  gap:3rem 5rem;
  align-items:start;
  justify-content:center;
  width:100%;
  max-width:780px;
  text-align:left;
}
.footer__col-title{font-size:.92rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.95);font-weight:600;margin-bottom:1rem}
.footer__col ul{display:flex;flex-direction:column;gap:.55rem;list-style:none;padding:0;margin:0}
.footer__col ul li a{font-size:1rem;color:rgba(255,255,255,.92);transition:color .2s}
.footer__col ul li a:hover{color:var(--white);text-decoration:underline;text-underline-offset:3px}
.footer__contact{display:flex;flex-direction:column;gap:.55rem}
.footer__contact a{font-size:1rem;color:rgba(255,255,255,.95);transition:color .2s;font-weight:500;word-break:break-word}
.footer__contact a:hover{color:var(--white);text-decoration:underline;text-underline-offset:3px}
.footer__contact a.email-line{font-size:1rem}

/* --- Siegel-Reihe --- */
.footer__seals-row{display:flex;align-items:center;justify-content:center;gap:2rem;flex-wrap:wrap;margin-top:.5rem}
.footer__seal{height:90px;width:auto;background:var(--white);padding:.45rem;border-radius:6px;transition:transform .25s,box-shadow .25s;box-shadow:0 4px 18px rgba(0,0,0,.08)}
.footer__seal:hover{transform:scale(1.05);box-shadow:0 8px 26px rgba(0,0,0,.18)}

/* --- Social Media --- */
.footer__social{display:flex;align-items:center;justify-content:center;gap:1.1rem}
.footer__social-link{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.12);color:var(--white);transition:background .25s,transform .25s,box-shadow .25s}
.footer__social-link:hover{background:var(--white);color:var(--teal);transform:translateY(-2px);box-shadow:0 8px 22px rgba(0,0,0,.2)}
.footer__social-link svg{width:20px;height:20px}

/* --- Legal-Zeile --- */
.footer__legal-line{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;justify-content:center;font-size:.88rem;color:rgba(255,255,255,.78)}
.footer__legal-line a{color:rgba(255,255,255,.92);transition:color .2s}
.footer__legal-line a:hover{color:var(--white);text-decoration:underline;text-underline-offset:3px}

@media(max-width:600px){
  .footer__cols{grid-template-columns:1fr;gap:2rem;text-align:center;justify-items:center}
  .footer__seal{height:78px}
}

/* ========== MODAL ========== */
.modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:2000;align-items:flex-start;justify-content:center;padding:4rem 1rem;overflow-y:auto}
.modal-overlay.open{display:flex}
.modal-box{background:var(--white);border-radius:6px;padding:3rem;max-width:760px;width:100%;position:relative;max-height:80vh;overflow-y:auto}
.modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;cursor:pointer;font-size:2rem;color:var(--gray-text)}

/* ========== RESPONSIVE ========== */
@media(max-width:1100px){
  .leistungen-header-grid,.einsatz-grid,.about-grid,.kontakt-grid,.ablauf-grid--with-img{grid-template-columns:1fr;gap:3rem}
  .leistung-card{grid-template-columns:1fr;gap:2.5rem;padding:2.5rem}
  .anlaesse-grid{grid-template-columns:1fr 1fr}
  .split{grid-template-columns:1fr}
  .split__img{min-height:400px}
  .split__text{padding:3rem 2.5rem}
}
@media(max-width:768px){
  html{font-size:17px}
  .nav__menu{display:none;position:fixed;top:96px;left:0;right:0;bottom:0;background:var(--beige);flex-direction:column;align-items:flex-start;padding:2rem;overflow-y:auto;list-style:none;border-top:2px solid var(--teal)}
  .nav__menu.open{display:flex}
  .nav__item{width:100%}
  .nav__link{padding:1.2rem 0;border-bottom:1px solid var(--gray-light);font-size:1.2rem}
  .nav__link--cta{border:none;background:var(--teal);color:var(--white)!important;padding:1.1rem 1.75rem;margin:1.25rem 0 0;text-align:center}
  .nav__dropdown{position:static;transform:none;opacity:1;pointer-events:all;box-shadow:none;border:none;background:transparent;min-width:auto;padding:.5rem 0 0 1.25rem}
  .nav__dropdown a{font-size:1.08rem;padding:.7rem 0;border:none;color:var(--gray-text)}
  .nav__toggle{display:flex}
  .anlaesse-grid{grid-template-columns:1fr}
  .form-row,.form-checkboxes{grid-template-columns:1fr}
  .section,.about-section,.anlaesse-section,.ablauf-section,.leistungen-section,.kontakt-section,.einsatz-section{padding:4rem 0}
  .trust-bar__inner{gap:1.5rem;justify-content:flex-start;padding-left:1.25rem;padding-right:1.25rem}
  .trust-item{font-size:.95rem}
  .seal-strip{padding:3rem 0}
  .seal-strip__inner{gap:2.5rem}
  .seal-strip__item img{height:130px}
  .hero__seal{height:110px}
  .hero__content{padding:4.5rem 1.25rem 5rem}
  .hero__sub{font-size:1.05rem;text-align:left}
  .leistung-card{padding:2rem}
  .anlass-card{padding:2rem}
  .ablauf-step{gap:1.25rem}
  .step-num{width:46px;height:46px;font-size:1.05rem}
  .contact-form{padding:1.75rem}
  .about-tuev img{height:170px}
  .container{padding:0 1.25rem}
}
/* ctaPulse-Animation entfernt – verursachte das "Zittern" des Buttons "Vollgutachten ansehen" beim Scrollen */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
  [data-reveal]{opacity:1!important;transform:none!important}
}
