/* Header */
.header { position:fixed; top:0; left:0; right:0; height:var(--header-h); background:rgba(255,255,255,0.97); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); border-bottom:1px solid var(--clr-border); box-shadow:0 1px 0 rgba(0,0,0,0.04); z-index:1002; transition:box-shadow var(--transition); }
.header--scrolled { box-shadow:0 4px 20px rgba(0,0,0,0.08); border-bottom-color:transparent; }
.header--menu-open { background:transparent !important; border-bottom-color:transparent !important; box-shadow:none !important; backdrop-filter:none !important; -webkit-backdrop-filter:none !important; }
.header__inner { display:flex; align-items:center; justify-content:space-between; height:100%; position:relative; z-index:1003; }
.header__logo img { width:200px; height:auto; }

.header__nav-list { display:flex; align-items:center; gap:2px; }
.header__nav-link { display:block; padding:0.5rem 1rem; font-size:var(--fs-sm); font-weight:500; color:var(--clr-text-mid); border-radius:var(--radius-md); transition:all var(--transition); }
.header__nav-link:hover,.header__nav-link:focus-visible { color:var(--clr-primary); background:var(--clr-primary-light); }
.header__nav-link--active { color:var(--clr-primary); font-weight:600; }
.header__nav-link--cta { background:var(--clr-accent); color:var(--clr-white)!important; font-weight:600; padding:0.5rem 1.25rem; border-radius:var(--radius-lg); margin-left:var(--space-sm); }
.header__nav-link--cta:hover,.header__nav-link--cta:focus-visible { background:var(--clr-accent-dark)!important; color:var(--clr-white)!important; box-shadow:var(--shadow-orange); }

.header__hamburger { display:none; flex-direction:column; justify-content:center; gap:5px; width:40px; height:40px; padding:8px; border-radius:var(--radius-md); transition:all var(--transition); position:relative; z-index:1003; }
.header__hamburger:hover { background:var(--clr-bg); }
.header__hamburger--open { background:transparent !important; }
.header__hamburger-line { display:block; width:100%; height:2px; background:var(--clr-text); border-radius:2px; transition:all var(--transition); transform-origin:center; }
.header__hamburger--open .header__hamburger-line { background:var(--clr-white); }
.header__hamburger--open .header__hamburger-line:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.header__hamburger--open .header__hamburger-line:nth-child(2) { opacity:0; }
.header__hamburger--open .header__hamburger-line:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }

/* Footer */
.footer { background:var(--clr-secondary); color:rgba(255,255,255,0.6); }
.footer__inner { display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:var(--space-2xl); padding:var(--space-3xl) 0; border-bottom:1px solid rgba(255,255,255,0.08); }
.footer__logo img { height:56px; width:auto; margin-bottom:var(--space-md); }
.footer__slogan { color:var(--clr-accent); font-weight:700; font-size:var(--fs-sm); letter-spacing:0.04em; margin-bottom:var(--space-sm); }
.footer__text { font-size:var(--fs-sm); line-height:1.7; color:rgba(255,255,255,0.75); }
.footer__heading { color:var(--clr-white); font-size:var(--fs-xs); font-weight:700; margin-bottom:var(--space-lg); text-transform:uppercase; letter-spacing:0.08em; }
.footer__list { display:flex; flex-direction:column; gap:0.6rem; }
.footer__link { font-size:var(--fs-sm); color:rgba(255,255,255,0.80); transition:all var(--transition); display:inline-block; }
.footer__link:hover { color:var(--clr-white); transform:translateX(3px); }
.footer__address { display:flex; flex-direction:column; gap:0.6rem; font-size:var(--fs-sm); }
.footer__bottom { padding:var(--space-lg) 0; }
.footer__bottom-inner { display:flex; justify-content:space-between; align-items:center; }
.footer__copyright { font-size:var(--fs-sm); color:rgba(255,255,255,0.75); }
.footer__legal { display:flex; gap:var(--space-xl); }
.footer__legal-link { font-size:var(--fs-sm); color:rgba(255,255,255,0.80); transition:color var(--transition); }
.footer__legal-link:hover { color:var(--clr-white); }

/* Scroll Animationen */
[data-animate] { opacity:0; transform:translateY(24px); transition:opacity 0.55s ease,transform 0.55s ease; }
[data-animate="fade-right"] { transform:translateX(-24px); }
[data-animate="fade-left"] { transform:translateX(24px); }
[data-animate].is-visible { opacity:1; transform:translate(0,0); }

@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { animation-duration:0.01ms!important; animation-iteration-count:1!important; transition-duration:0.01ms!important; scroll-behavior:auto!important; }
  [data-animate] { opacity:1; transform:none; }
}

/* Tablet */
@media (max-width:1024px) {
  :root { --fs-5xl:2.5rem; --fs-4xl:2rem; --fs-3xl:1.75rem; --header-h:72px; }
  .header__logo img { width:170px; }
  .leistungen__grid { grid-template-columns:repeat(2,1fr); }
  .bewertungen__grid { grid-template-columns:repeat(2,1fr); }
  .galerie__grid { grid-template-columns:repeat(2,1fr); }
  .galerie__item--wide { grid-column:span 2; }
  .stats__inner { grid-template-columns:repeat(2,1fr); }
  .stats__item:nth-child(2) { border-right:none; }
  .footer__inner { grid-template-columns:1fr 1fr; gap:var(--space-xl); }
  .ueber-uns__inner { grid-template-columns:1fr; gap:var(--space-2xl); }
  .ueber-uns__bild { order:-1; max-width:480px; margin-inline:auto; }
  .kontakt__inner { grid-template-columns:1fr; }
  .seiten-header__title { font-size:var(--fs-3xl); }
}

/* Mobil gross */
@media (max-width:768px) {
  :root { --fs-5xl:1.875rem; --fs-4xl:1.6rem; --fs-3xl:1.375rem; --header-h:68px; }
  .header__hamburger { display:flex; }
  .header__nav {
    position: fixed;
    inset: 0;
    background: var(--clr-secondary);
    display: flex;
    align-items: center;
    justify-content: center;
    transform: translateX(100%);
    transition: transform 0.35s cubic-bezier(0.4,0,0.2,1);
    overflow-y: auto;
    z-index: 1001;
  }
  .header__nav--open { transform: translateX(0); }
  .header__nav-list {
    flex-direction: column;
    align-items: center;
    gap: var(--space-sm);
    padding: 0;
    width: 100%;
    text-align: center;
  }
  .header__nav-link {
    font-size: 2rem;
    font-weight: 700;
    letter-spacing: -0.02em;
    padding: var(--space-md) var(--space-xl);
    width: 100%;
    color: rgba(255,255,255,0.75);
    border-radius: var(--radius-lg);
    transition: color var(--transition);
  }
  .header__nav-link:hover,
  .header__nav-link:focus-visible { color: var(--clr-primary); background: transparent; }
  .header__nav-link--cta {
    margin-left: 0;
    margin-top: var(--space-xl);
    background: var(--clr-primary);
    color: var(--clr-secondary) !important;
    font-size: 1.1rem;
    border-radius: var(--radius-full);
    padding: var(--space-md) var(--space-3xl);
    display: inline-flex;
    width: auto;
  }
  .header__nav-link--cta:hover,
  .header__nav-link--cta:focus-visible { background: var(--clr-primary-dark) !important; color: var(--clr-white) !important; }
  .header__logo img { width:150px; }
  .hero { min-height:auto; padding:calc(var(--header-h) + var(--space-3xl)) 0 var(--space-3xl); }
  .hero__inner { padding:var(--space-xl) 0; max-width:100%; }
  .hero__title { font-size:1.8rem; line-height:1.2; }
  .hero__subtitle { font-size:var(--fs-base); }
  .hero__actions { flex-direction:column; gap:var(--space-sm); }
  .hero__actions .btn { width:100%; justify-content:center; }
  .hero__trust { flex-direction:column; gap:var(--space-md); }
  .stats { padding:var(--space-2xl) 0; }
  .stats__inner { grid-template-columns:repeat(2,1fr); }
  .stats__item { padding:var(--space-lg) var(--space-md); }
  .stats__number { font-size:var(--fs-3xl); }
  .leistungen__grid { grid-template-columns:1fr; gap:var(--space-lg); }
  .leistung-card { padding:var(--space-xl); }
  .ueber-uns__inner { grid-template-columns:1fr; gap:var(--space-xl); }
  .bewertungen__grid { grid-template-columns:1fr; gap:var(--space-lg); }
  .galerie__grid { grid-template-columns:1fr 1fr; gap:var(--space-md); }
  .galerie__item--wide { grid-column:span 2; }
  .galerie__item { aspect-ratio:1; }
  .galerie__item--wide { aspect-ratio:16/9; }
  .galerie__overlay { opacity:1; }
  .kontakt__inner { grid-template-columns:1fr; }
  .kontakt__formular { padding:var(--space-lg); }
  .form__row { grid-template-columns:1fr; }
  .footer__inner { grid-template-columns:1fr; gap:var(--space-xl); text-align:center; }
  .footer__logo img { margin-inline:auto; }
  .footer__list { align-items:center; }
  .footer__address { align-items:center; }
  .footer__bottom-inner { flex-direction:column; gap:var(--space-md); text-align:center; }
  .footer__legal { justify-content:center; flex-wrap:wrap; gap:var(--space-md); }
  .footer__link:hover { transform:none; }
  .section-header { margin-bottom:var(--space-2xl); }
  .section-header__title { font-size:var(--fs-2xl); }
  .section-header__text { font-size:var(--fs-base); }
  .einsatzgebiet__inner { flex-direction:column; gap:var(--space-sm); }
  .back-to-top { bottom:var(--space-md); right:var(--space-md); width:42px; height:42px; }
  .whatsapp-float { width:48px; height:48px; left:var(--space-md); bottom:var(--space-md); }
  .seiten-header { padding:calc(var(--header-h) + var(--space-2xl)) 0 var(--space-2xl); }
  .seiten-header__title { font-size:var(--fs-2xl); }
  .legal h2 { font-size:var(--fs-xl); }
  .legal { padding:var(--space-2xl) 0 var(--space-3xl); }
}

@media (max-width:480px) {
  :root { --fs-5xl:1.6rem; --fs-4xl:1.375rem; --space-4xl:3.5rem; }
  .container { padding-inline:var(--space-md); }
  .header__logo img { width:130px; }
  .hero__title { font-size:1.5rem; }
  .stats__number { font-size:var(--fs-2xl); }
  .stats__label { font-size:var(--fs-xs); }
  .btn { padding:0.75rem 1.25rem; font-size:var(--fs-sm); }
}

@media (max-width:360px) {
  :root { --fs-5xl:1.4rem; --fs-4xl:1.25rem; }
  .header__logo img { width:115px; }
  .hero__title { font-size:1.35rem; }
}

@media (min-width:1400px) {
  .container { max-width:1320px; }
  :root { --fs-5xl:3.75rem; }
}

@media (hover:none) and (pointer:coarse) {
  .header__nav-link { min-height:48px; display:flex; align-items:center; }
  .btn { min-height:48px; }
  .form__input { min-height:48px; font-size:16px; }
  .leistung-card:hover { transform:none; box-shadow:var(--shadow-sm); }
  .bewertung-card:hover { transform:none; }
  .btn--primary:hover { transform:none; box-shadow:none; }
  .btn--outline:hover { transform:none; }
}
