/* Shared finishing touches; original colors, photos and page structure retained. */
html { scroll-padding-top: 100px; }
.desktop-home, .service-page { overflow-x: clip !important; }
a, button, summary, input, textarea { -webkit-tap-highlight-color: transparent; }
a:focus-visible, button:focus-visible, summary:focus-visible {
  outline: 3px solid #A9744F;
  outline-offset: 5px;
}
input:focus-visible, textarea:focus-visible {
  outline: 2px solid #4A5A3E !important;
  outline-offset: 2px;
  border-color: #4A5A3E !important;
}
button, summary { cursor: pointer; }
button:disabled { cursor: wait; opacity: .65; }
.field-label { display: block; color: #2E1F15; font-size: .9rem; font-weight: 700; line-height: 1.4; }
.field-label > input, .field-label > textarea { display: block; width: 100%; margin-top: 7px; font-family: inherit; }
.desktop-home h1, .service-page h1 { text-wrap: balance; }
.desktop-home [data-hero] > div {
  padding-top: clamp(44px, 5vw, 72px) !important;
  padding-bottom: clamp(44px, 5vw, 72px) !important;
  gap: clamp(28px, 4vw, 56px) !important;
}
.desktop-home [data-hero] h1 { font-size: clamp(2.4rem, 4.1vw, 3.65rem) !important; line-height: 1.07 !important; }
.desktop-home [data-hero] img { aspect-ratio: 1 / 1 !important; height: auto; object-position: center 55%; }
.desktop-home #referenzen > div > div:last-child { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
.desktop-home #kontakt .field-label { margin: 0; }
.desktop-home #kontakt .field-label + .field-label { margin-top: 3px; }
.desktop-home #kontakt p:last-child { color: #6f6052 !important; }
.desktop-home [data-review-window]:focus-within [data-review-track],
.desktop-home [data-review-window]:hover [data-review-track] { animation-play-state: paused !important; }
.service-page > section:first-of-type img { aspect-ratio: 1 / 1 !important; height: auto; }
.service-page details[open] > summary > span { transform: rotate(45deg); }
.service-page summary > span { transition: transform .2s ease; }
.hero-card img, .work img { height: auto; }
@media (min-width: 701px) and (max-width: 1050px) {
  .desktop-home [data-mainnav], .desktop-home [data-headeractions] { display: none !important; }
  .desktop-home [data-burger] { display: inline-flex !important; }
  .desktop-home [data-mobilemenu][data-open="true"] { display: block !important; }
}
@media (max-width: 900px) {
  .desktop-home #referenzen > div > div:last-child { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 620px) {
  .service-page > header > div { flex-wrap: nowrap !important; padding: 12px 16px !important; gap: 10px !important; }
  .service-page > header > div > a { gap: 8px !important; min-width: 0; }
  .service-page > header > div > a > span:first-child { width: 36px !important; height: 36px !important; }
  .service-page > header > div > a > span:last-child > span:last-child { display: none; }
  .service-page > header a[href^="mailto:"] { display: none !important; }
  .service-page > header a[href^="https://wa.me/"] { min-height: 44px; padding: 11px 14px !important; font-size: .9rem !important; }
  .service-page > section:first-of-type > div { padding-top: 32px !important; padding-bottom: 40px !important; gap: 32px !important; }
  .service-page > section:first-of-type img { aspect-ratio: 4 / 3 !important; }
  .service-page > section:first-of-type > div > div:last-child > div { top: 12px !important; left: 12px !important; padding: 10px 14px !important; }
  .service-page [data-ctarow] a { text-align: center; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
  [data-reveal], .reveal { opacity: 1 !important; transform: none !important; }
  [data-review-window] { overflow-x: auto; mask-image: none !important; -webkit-mask-image: none !important; }
  [data-review-track] > [aria-hidden="true"] { display: none !important; }
}
