/* ==========================================================================
   DBG v3.8.5 – finale Mobile-Ebene
   Lädt nach allen Design- und SEO-Dateien. Desktop ab 1025px bleibt unberührt.
   ========================================================================== */

html { -webkit-text-size-adjust: 100%; }
html, body { width: 100%; max-width: 100%; overflow-x: clip; }
img, svg, video, canvas, iframe, picture { max-width: 100%; }

@media (max-width: 1024px) {
  :root { --pad: clamp(18px, 4.6vw, 38px); }

  body, main, section, header, footer,
  .section, .hero-v6, .build21, .build21-sticky,
  .project-start-v6, .office-section-v6 { max-width: 100%; }

  .section > *, [class*="grid"] > *, [class*="-copy"] > *,
  .split > *, .section-head > * { min-width: 0; max-width: 100%; }

  /* Header and full-screen navigation */
  .site-header-v6 {
    min-height: 68px !important;
    height: 68px !important;
    padding: 0 var(--pad) !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 48px !important;
    gap: 10px !important;
    align-items: center !important;
  }
  .site-header-v6 .brand {
    width: min(166px, 52vw) !important;
    max-width: 100% !important;
    padding: 0 !important;
  }
  .site-header-v6 .brand img { width: 100% !important; height: auto !important; max-height: 42px !important; object-fit: contain !important; }
  .site-header-v6 .header-actions-v6 { display: none !important; }
  .site-header-v6 .main-nav:not(.open) { display: none !important; }
  .site-header-v6 .menu-toggle {
    display: flex !important;
    width: 48px !important;
    height: 48px !important;
    margin: 0 !important;
    justify-self: end !important;
    position: relative !important;
    z-index: 10004 !important;
  }
  .dbg-lang-switch-v32 {
    position: absolute !important;
    top: 50% !important;
    right: calc(var(--pad) + 54px) !important;
    transform: translateY(-50%) !important;
    margin: 0 !important;
  }
  .site-header-v6 .main-nav.open {
    display: flex !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 10000 !important;
    width: 100% !important;
    height: 100dvh !important;
    padding: calc(86px + env(safe-area-inset-top)) var(--pad) max(22px, env(safe-area-inset-bottom)) !important;
    flex-direction: column !important;
    align-items: stretch !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    background: #0d1218 !important;
  }
  .site-header-v6 .main-nav.open .menu {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border-top: 1px solid rgba(255,255,255,.14) !important;
  }
  .site-header-v6 .main-nav.open .menu > li { width: 100% !important; border-bottom: 1px solid rgba(255,255,255,.12) !important; }
  .site-header-v6 .main-nav.open .menu > li > a {
    display: flex !important;
    width: 100% !important;
    min-height: 52px !important;
    padding: 12px 2px !important;
    align-items: center !important;
    color: #fff !important;
    font-size: clamp(21px, 5vw, 31px) !important;
    line-height: 1.08 !important;
    letter-spacing: -.02em !important;
    white-space: normal !important;
  }
  .mobile-nav-actions-v6 { display: flex !important; width: 100% !important; flex-direction: column !important; gap: 0 !important; margin-top: 22px !important; }
  .mobile-nav-actions-v6 a { display: flex !important; min-height: 50px !important; padding: 13px 2px !important; align-items: center !important; justify-content: space-between !important; color: #fff !important; border-top: 1px solid rgba(255,255,255,.14) !important; }
  body.menu-open .dbg-lang-switch-v32 { position: fixed !important; top: 25px !important; right: calc(var(--pad) + 60px) !important; transform: none !important; z-index: 10006 !important; color: #fff !important; }

  /* Homepage hero: the floor plan remains a background and never crosses text. */
  .hero-v6 {
    min-height: 100svh !important;
    height: auto !important;
    padding: calc(68px + 48px) var(--pad) 30px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    overflow: hidden !important;
  }
  .hero-v6 .hero-blueprint-field:not(.subpage-floorplan) {
    position: absolute !important;
    left: 50% !important;
    right: auto !important;
    top: 70px !important;
    bottom: auto !important;
    width: 120vw !important;
    height: 40vh !important;
    transform: translateX(-50%) !important;
    opacity: .25 !important;
    z-index: 1 !important;
    pointer-events: none !important;
    -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 48%, transparent 92%) !important;
            mask-image: linear-gradient(to bottom, #000 0%, #000 48%, transparent 92%) !important;
  }
  .hero-v6 .hero-floorplan { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; }
  .hero-v6-copy {
    position: relative !important;
    z-index: 3 !important;
    width: 100% !important;
    max-width: 760px !important;
    margin: 0 0 28px !important;
  }
  .hero-v6 h1, .hero-title-balanced {
    max-width: 100% !important;
    margin-right: 0 !important;
    font-size: clamp(45px, 9.3vw, 72px) !important;
    line-height: .95 !important;
    overflow-wrap: normal !important;
  }
  .hero-title-phrase { display: block !important; }
  .hero-v6 .hero-lead { max-width: 680px !important; font-size: 15px !important; line-height: 1.58 !important; }
  .hero-v6 .hero-actions { display: flex !important; flex-wrap: wrap !important; gap: 14px 20px !important; align-items: center !important; }
  .hero-v6-flow { position: relative !important; z-index: 3 !important; width: 100% !important; max-width: 720px !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .hero-v6-flow > div { min-width: 0 !important; padding: 12px 8px 8px 0 !important; grid-template-columns: 24px minmax(0, 1fr) !important; }
  .hero-v6-flow strong { white-space: normal !important; }
  .hero-v6 .scroll-cue, .hero-v6 .blueprint-stamp, .hero-v6 .blueprint-coord { display: none !important; }

  /* Clear, single-column content flow */
  .section { padding: 64px var(--pad) !important; }
  .section-head, .section-head.split, .intro-v6,
  .compare-concept, .project-start-v6, .office-section-v6 {
    display: block !important;
    width: 100% !important;
  }
  .section-head.split > .section-note { margin: 20px 0 0 !important; max-width: 100% !important; }
  .intro-side { margin-top: 28px !important; }
  .profile-strip { display: flex !important; width: 100% !important; flex-wrap: wrap !important; overflow: visible !important; gap: 8px 10px !important; }
  .profile-strip i { flex: 0 0 18px !important; min-width: 18px !important; }

  .service-grid-v6 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .service-card-v6 { min-width: 0 !important; min-height: 250px !important; }

  /* The desktop sticky 3D scene becomes a normal stacked section. */
  .build21 { height: auto !important; min-height: 0 !important; overflow: hidden !important; }
  .build21-sticky { position: relative !important; top: auto !important; display: flex !important; width: 100% !important; height: auto !important; min-height: 0 !important; flex-direction: column !important; overflow: hidden !important; }
  .build21-copy { width: 100% !important; min-height: 0 !important; padding: 56px var(--pad) 30px !important; }
  .build21-copy h2 { font-size: clamp(42px, 9vw, 62px) !important; line-height: .96 !important; }
  .build21-copy > p { min-height: 0 !important; max-width: 100% !important; font-size: 14px !important; line-height: 1.6 !important; }
  .build21-control { width: 100% !important; margin-top: 22px !important; }
  .build21-range { height: 44px !important; touch-action: pan-x !important; }
  .build21-legend { display: grid !important; grid-template-columns: 1fr !important; gap: 6px !important; }
  .build21-stage { position: relative !important; width: 100% !important; height: clamp(330px, 55vw, 500px) !important; min-height: 0 !important; overflow: hidden !important; }
  .build21-canvas, .build21-fallback { max-width: 100% !important; }
  .build21-note { display: none !important; }

  .compare-concept-copy { margin-top: 30px !important; }
  .reference-compare { width: 100% !important; min-height: 0 !important; aspect-ratio: 4 / 3 !important; overflow: hidden !important; }
  .compare-side, .compare-side img { max-width: none !important; }
  .home-project-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 34px 18px !important; margin-top: 48px !important; }
  .home-project-meta { flex-wrap: wrap !important; }
  .portal-grid-v6 { grid-template-columns: 1fr !important; }
  .portal-card-v6, .portal-card-v6:last-child { grid-column: auto !important; min-height: 0 !important; padding: 28px 24px !important; }
  .portal-route { display: none !important; }
  .project-start-v6 { padding: 68px var(--pad) !important; }
  .project-start-actions { display: grid !important; width: 100% !important; gap: 10px !important; margin-top: 34px !important; }
  .start-action { width: 100% !important; }
  .office-section-v6 { min-height: 0 !important; }
  .office-map, .office-map iframe, .dbg-map-shell-v33 { width: 100% !important; height: 320px !important; min-height: 320px !important; }
  .office-copy { width: 100% !important; padding: 58px var(--pad) !important; }

  /* SEO landing pages remain responsive after the final cascade layer. */
  .dbg-seo-intro-grid-v384, .dbg-seo-local-card-v384,
  .dbg-seo-hub-grid-v384 { grid-template-columns: 1fr !important; }
  .dbg-seo-scope-grid-v384, .dbg-seo-process-grid-v384 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

@media (max-width: 640px) {
  :root { --pad: 18px; --header-h: 68px; }

  .site-header-v6 { padding-left: 16px !important; padding-right: 12px !important; }
  .site-header-v6 .brand { width: min(145px, 48vw) !important; }
  .dbg-lang-switch-v32 { right: 62px !important; font-size: 9px !important; }
  body.menu-open .dbg-lang-switch-v32 { right: 68px !important; }

  .hero-v6 { min-height: 100svh !important; padding: 112px var(--pad) 26px !important; }
  .hero-v6 .hero-blueprint-field:not(.subpage-floorplan) { width: 142vw !important; height: 34vh !important; opacity: .2 !important; }
  .hero-v6 h1, .hero-title-balanced { font-size: clamp(39px, 11.8vw, 58px) !important; line-height: .96 !important; letter-spacing: -.052em !important; }
  .hero-v6 .hero-lead { max-width: 100% !important; font-size: 14px !important; }
  .hero-v6 .hero-actions { flex-direction: column !important; align-items: stretch !important; }
  .hero-v6 .hero-actions .dbg-btn { width: 100% !important; justify-content: space-between !important; }
  .hero-v6 .hero-actions .text-link { align-self: flex-start !important; }
  .hero-v6-flow { grid-template-columns: 1fr 1fr !important; }

  .section { padding: 54px var(--pad) !important; }
  .intro-v6 h2, .section-head h2, .project-start-copy h2,
  .office-copy h2 { font-size: clamp(32px, 9.7vw, 46px) !important; line-height: 1 !important; }
  .service-grid-v6, .home-project-grid { grid-template-columns: 1fr !important; }
  .service-card-v6 { min-height: 220px !important; padding: 23px 20px !important; }
  .home-project-grid { gap: 34px !important; margin-top: 38px !important; }
  .home-project-meta { display: grid !important; grid-template-columns: 1fr !important; gap: 5px !important; }

  .build21-copy { padding: 48px var(--pad) 24px !important; }
  .build21-copy h2 { font-size: clamp(40px, 12vw, 54px) !important; }
  .build21-stage { height: clamp(300px, 82vw, 390px) !important; }
  .build21-slider-hint { display: none !important; }
  .reference-compare { aspect-ratio: 3 / 4 !important; }
  .compare-caption { left: 10px !important; right: 10px !important; bottom: 10px !important; padding: 8px !important; flex-direction: column !important; gap: 3px !important; }
  .compare-instruction { display: none !important; }

  .project-start-v6 { padding: 58px var(--pad) !important; }
  .project-start-tags { gap: 7px !important; }
  .start-action { min-height: 76px !important; padding: 16px !important; }
  .office-map, .office-map iframe, .dbg-map-shell-v33 { height: 270px !important; min-height: 270px !important; }
  .office-copy { padding: 50px var(--pad) !important; }
  .office-direct a { align-items: flex-start !important; flex-direction: column !important; gap: 7px !important; }
  .office-direct strong { max-width: 100% !important; text-align: left !important; overflow-wrap: anywhere !important; }

  .dbg-seo-scope-grid-v384, .dbg-seo-process-grid-v384,
  .dbg-seo-related-grid-v384 { grid-template-columns: 1fr !important; }
  .dbg-seo-process-grid-v384 li:last-child { grid-column: auto !important; }
  .dbg-seo-hub-card-v384 { display: block !important; min-height: 0 !important; padding: 24px !important; }
  .dbg-seo-hub-card-v384 .service-svg { width: 46px !important; margin-bottom: 26px !important; }
  .dbg-seo-faq-list-v384 summary { grid-template-columns: 36px minmax(0, 1fr) !important; padding-right: 34px !important; }
  .dbg-seo-faq-list-v384 details p { padding-left: 54px !important; padding-right: 8px !important; }
}

@media (max-width: 390px) {
  :root { --pad: 15px; }
  .hero-v6 h1, .hero-title-balanced { font-size: clamp(35px, 11.4vw, 46px) !important; }
  .hero-v6-flow strong { font-size: 8px !important; letter-spacing: .08em !important; }
  .site-header-v6 .brand { width: 134px !important; }
  .project-start-copy h2, .office-copy h2, .section-head h2, .intro-v6 h2 { font-size: clamp(29px, 9vw, 38px) !important; }
}

@media (max-width: 900px) and (orientation: landscape) and (max-height: 520px) {
  .hero-v6 { min-height: auto !important; padding-top: 104px !important; }
  .hero-v6 .hero-blueprint-field:not(.subpage-floorplan) { height: 60vh !important; opacity: .16 !important; }
}

@media (hover: none) {
  .service-card-v6:hover, .portal-card-v6:hover, .home-project-card:hover { transform: none !important; }
  .home-project-card:hover img { transform: none !important; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}
