/* Responsive, minimal overrides for the original Webflow design */
html { overflow-x: clip; }
body { overflow-x: clip; }
img, video, svg { max-width: 100%; }
iframe { max-width: 100%; }
.w-video { max-width: 100%; }
.w-nav a { overflow-wrap: normal; word-break: normal; }
@media screen and (max-width: 767px) {
  .section, .section-2, .section-3, .section-detail { max-width: 100%; }
  .w-container { max-width: 100%; }
  .container, .container-3, .container-2, .container.info-description,
  .container.bild-projektseite { width: auto; max-width: 100%; box-sizing: border-box; }
  .w-layout-grid.grid-6 { grid-template-columns: minmax(0,1fr) !important; gap: 1.5rem; }
  .w-layout-grid.grid-4 { grid-template-columns: minmax(0,1fr) !important; }
  .w-layout-grid > *, .section-description, .div-block-41 { min-width: 0; }
  .section-description, p, h1, h2, h3 { overflow-wrap: break-word; }
  iframe { max-width: 100%; }
}
@media screen and (max-width: 479px) {
  .w-layout-grid.grid-4 { grid-template-columns: minmax(0,1fr) !important; }
  .w-container { padding-left: 16px; padding-right: 16px; }
  .w-container .w-container { padding-left: 0; padding-right: 0; }
}


/* November 2026: consistent content rhythm and responsive embeds */
:root { --portfolio-space: clamp(24px, 4vw, 48px); }
body {overflow-x:hidden}
.section-detail.bild-section .container.bild-projektseite {width:100%;margin-inline:auto;align-items:center;}
.section-detail.bild-section .container.bild-projektseite > .div-block-7.motion-design {width:min(100%,800px)!important;max-width:800px!important;height:auto!important;min-height:0!important;margin-inline:auto!important;overflow:visible!important;display:block!important;}
.section-detail.bild-section .container.bild-projektseite .w-video {display:block!important;width:100%!important;max-width:800px!important;margin:0 auto!important;aspect-ratio:16/9!important;height:auto!important;position:relative!important;padding:0!important;}
.section-detail.bild-section .container.bild-projektseite .w-video iframe {width:100%!important;height:100%!important;position:absolute!important;inset:0!important;display:block!important;border:0!important;}
.section-detail.bild-section .container.info-description {width:100%;margin-inline:auto;}
/* All campaign posters have the same transition and equal cells. */
.section-detail .grid-7 {gap:8px!important;grid-template-columns:repeat(7,minmax(0,1fr));width:100%;max-width:800px;margin:0 auto;align-items:start;}
.section-detail .grid-7 > div {min-width:0;position:relative;z-index:1;}
.section-detail .grid-7 img {display:block;width:100%!important;height:auto!important;max-width:100%!important;position:relative;z-index:1;object-fit:contain;transform:none!important;transition:transform .22s ease,filter .22s ease,box-shadow .22s ease!important;transform-origin:center center;cursor:zoom-in;}
@media (hover:hover) and (pointer:fine) {
 .section-detail .grid-7 img:hover {transform:scale(1.28) translateY(-4%)!important;z-index:80;box-shadow:0 12px 36px #0004;}
 .section-detail .grid-7:has(img:hover) img:not(:hover) {filter:brightness(.56);}
 .section-detail .grid-7:has(img:hover) > div:has(img:hover) {z-index:90;}
}
.gallery-lightbox {position:fixed;inset:0;z-index:99999;background:rgba(10,13,22,.87);display:flex;align-items:center;justify-content:center;padding:clamp(16px,5vw,50px);box-sizing:border-box;cursor:zoom-out;}
.gallery-lightbox[hidden]{display:none!important;}
.gallery-lightbox img {display:block;max-width:92vw;max-height:88dvh;width:auto;height:auto;object-fit:contain;box-shadow:0 22px 70px #0008;cursor:default;}
.gallery-lightbox button {position:absolute;top:16px;right:18px;background:#fff;color:#111;border:0;border-radius:999px;width:42px;height:42px;font-size:24px;cursor:pointer;}
.gallery-lightbox .gallery-instruction{position:absolute;bottom:12px;color:#fff;font:14px Arial,sans-serif;}
.grid-7 img:focus-visible {outline:3px solid #06f;outline-offset:3px;}
.lang-switch {display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;gap:0;white-space:nowrap;margin-left:10px;padding:0;border-left:0;font-family:Inter,Arial,sans-serif;font-size:13px;line-height:1.2;}
.lang-switch button {background:transparent;border:0;color:#555;cursor:pointer;padding:8px 4px;font:inherit;} .lang-switch button + button::before {content:"|";color:#888;font-weight:400;display:inline-block;margin:0 9px 0 5px;}
.lang-switch button[aria-pressed=true]{color:#171717;font-weight:750;text-decoration:none;}
.lang-switch button:focus-visible{outline:2px solid #111;}
@media(max-width:767px){
 .section-detail .grid-7 {grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important;}
 .lang-switch {margin:8px 0 8px 10px;}
 .section-detail.bild-section .container.bild-projektseite {padding-inline:16px!important;box-sizing:border-box;}
}
@media(max-width:479px){
 .section-detail .grid-7 {grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important;}
 .gallery-lightbox img {max-height:78dvh;}
}
@media(prefers-reduced-motion:reduce){.section-detail .grid-7 img{transition:none!important;}}

/* Layout audit: preserve the original header rhythm with language controls. */
.w-nav .container-2 {display:flex;align-items:center;justify-content:space-between;gap:clamp(16px,3vw,48px);width:100%;max-width:1200px;box-sizing:border-box;}
.w-nav .brand {flex:0 0 auto;white-space:nowrap;}
.w-nav nav.nav-menu {width:auto!important;min-width:0!important;max-width:none!important;margin-left:auto!important;margin-right:0!important;display:flex;align-items:center;justify-content:flex-end;flex-wrap:nowrap;column-gap:clamp(12px,2vw,24px);row-gap:0;}
.w-nav nav.nav-menu > a.w-nav-link {display:inline-flex!important;align-items:center;flex:0 0 auto!important;width:auto!important;min-width:max-content!important;max-width:none!important;white-space:nowrap!important;word-break:keep-all!important;overflow-wrap:normal!important;hyphens:none!important;line-height:1.4!important;padding-left:0!important;padding-right:0!important;text-align:center;}
.w-nav nav.nav-menu > .lang-switch {margin-left:4px;}
/* Main projects maintain consistent inner width / centered media. */
.section-detail .container.bild-projektseite,.section-detail .container.info-description {box-sizing:border-box;max-width:100%;}
.section-detail .w-layout-grid {column-gap:clamp(12px,2vw,28px);}
@media screen and (min-width:768px) and (max-width: 1050px){
 .w-nav nav.nav-menu {column-gap:13px;}
 .w-nav nav.nav-menu > a.w-nav-link {font-size:13px!important;}
 .w-nav nav.nav-menu .lang-switch {font-size:12px;padding-left:8px;}
}
@media screen and (max-width:767px){
 /* Keep Webflow hamburger menu; do not force desktop flex layout when collapsed. */
 .w-nav nav.nav-menu {display:none;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;width:100%!important;}
 .w-nav nav.nav-menu[data-nav-menu-open] {display:flex!important;position:absolute;left:0;right:0;top:100%;padding:12px 20px 16px;box-sizing:border-box;background:white;box-shadow:0 12px 20px #0002;z-index:999;}
 .w-nav nav.nav-menu[data-nav-menu-open] > a.w-nav-link {padding:12px 6px!important;font-size:15px!important;}
 .w-nav nav.nav-menu[data-nav-menu-open] > .lang-switch {margin:8px 6px 0 6px;padding:6px 0 0;border-top:1px solid #eee;border-left:0;align-self:flex-start;}
}

/* Targeted homepage restoration: never stretch original Webflow CTA or cards. */
.section-home .button.w-button {width:max-content!important;max-width:100%!important;display:inline-flex!important;align-items:center;justify-content:center;box-sizing:border-box;}
.section-home .heading {max-width:100%;text-wrap:balance;}
.section-2 .container-3.home {max-width:1200px;}
@media(max-width:767px){.section-home .button.w-button {width:auto!important;max-width:100%!important;}}

/* Final scoped CTA sizing: preserve original page composition. */
.section-home a.button.w-button {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: min(100%, 240px) !important;
  height: auto !important;
  min-height: 42px !important;
  padding: 9px 24px !important;
  line-height: 24px !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
}
.section-2 .container-3.home .div-block.home,
.section-2 .container-3.home .grid-4.home { max-width: 700px !important; }
@media (max-width: 479px) {
  .section-home a.button.w-button {max-width: 100% !important;padding: 10px 20px !important;}
}

/* Logo alignment: align the desktop brand to the content's left edge without shifting navigation. */
@media screen and (min-width: 1400px) {
  .w-nav .container-2 > a.brand.w-nav-brand {transform:translateX(-48px);}
}
@media screen and (max-width: 1399px) {
  .w-nav .container-2 > a.brand.w-nav-brand {transform:none;}
}
