/* Device-independent layout. The content responds to available CSS pixels,
   including a resized/folded viewport; no device-name or user-agent branches. */
:root{--mq-edge:clamp(16px,2.4vw,32px)}
html{scroll-padding-top:104px;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{min-width:0;max-width:100%;margin:0}
main,section,article,header nav,footer{min-width:0}
main h1,main h2,main h3,main p,footer p{overflow-wrap:break-word}
main img,footer img{max-width:100%}
main input,main select,main textarea{min-width:0;max-width:100%}
main textarea{resize:vertical}
header{padding-left:max(12px,env(safe-area-inset-left,0px));padding-right:max(12px,env(safe-area-inset-right,0px));padding-top:max(12px,env(safe-area-inset-top,0px))}
header nav>a:first-child,header nav button,header nav li>a,header nav li button{min-height:44px}
header nav a,header nav button{flex-shrink:0}
.mq-mobile-menu,.mq-solution-menu{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.mq-mobile-menu{top:calc(88px + env(safe-area-inset-top,0px));max-height:calc(100vh - 112px);max-height:calc(100svh - 112px);padding-bottom:max(14px,env(safe-area-inset-bottom,0px))}
.mq-solution-menu{max-width:calc(100vw - 32px);max-height:calc(100vh - 112px);max-height:calc(100svh - 112px);overflow-y:auto}
.mq-primary,main a[class*="rounded-2xl"][class*="bg-"],main button[type=submit]{min-height:44px;max-width:100%;white-space:normal;text-align:center}
footer a,footer button{overflow-wrap:anywhere}
footer ul a,footer [data-cookie-settings]{display:inline-flex;align-items:center;min-height:44px}
.mq-related-links a,.mq-brand-links a{min-width:0;overflow-wrap:anywhere}
.mq-detail,.mq-editorial{padding-left:max(var(--mq-edge),env(safe-area-inset-left,0px));padding-right:max(var(--mq-edge),env(safe-area-inset-right,0px))}
.mq-detail h1{font-size:clamp(36px,6.4vw,88px)}
.mq-detail .mq-lead{font-size:clamp(18px,2.2vw,22px);line-height:1.65}
.mq-legal-table{max-width:100%;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.mq-legal-table:focus-visible{outline:3px solid #b09300;outline-offset:4px}

/* Logo and portrait scenes reserve image space and retain the source artwork.
   Motion is bounded by each scene rather than allowed to widen the page. */
.mq-logo-universe{width:100%;max-width:1280px;min-width:0;isolation:isolate}
.mq-logo-orbit{min-width:0;max-width:100%}
.mq-logo-orbit img{max-width:100%;object-fit:contain;image-rendering:auto;filter:none}
.mq-logo-orbit figcaption{overflow-wrap:break-word}
.mq-channel-rail{min-width:0;max-width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,2vw,24px)}
.mq-channel-rail>*{min-width:0;max-width:100%}
.mq-channel-rail img{max-width:100%;object-fit:contain}
.mq-team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:64px 40px;align-items:start}
.mq-person{min-width:0;max-width:100%}
.mq-person img{display:block;width:100%;height:auto;object-fit:cover;object-position:center top}
.mq-person-photo img{height:100%;max-height:none}
.mq-person:nth-child(even){margin-top:85px}
.mq-person h3{font-size:clamp(22px,2.2vw,30px);line-height:1.15;overflow-wrap:break-word}
.mq-person p{line-height:1.65;overflow-wrap:break-word}
.mq-person a{display:inline-flex;align-items:center;min-height:44px;max-width:100%;overflow-wrap:anywhere}
.mq-channel{min-height:48px;line-height:1.35}

/* The compact duck consent remains usable while the keyboard or browser chrome
   reduces height. All three consent choices keep identical button geometry. */
.mq-consent-v2{width:min(420px,calc(100vw - 32px));max-width:calc(100vw - 32px);left:max(16px,env(safe-area-inset-left,0px));right:auto;bottom:max(16px,env(safe-area-inset-bottom,0px));margin:0;max-height:calc(100vh - 112px);max-height:calc(100svh - 112px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.mq-consent-v2 .mq-consent-heading{min-width:0}
.mq-consent-v2 .mq-consent-heading{padding-left:66px;min-height:44px}
.mq-consent-v2 .mq-consent-heading h2{min-width:0;overflow-wrap:break-word}
.mq-consent-v2 .mq-consent-mascot{top:4px;left:14px;width:76px;height:76px;padding-top:0;box-sizing:border-box}
.mq-consent-v2 .mq-consent-close{width:44px;height:44px;min-height:44px;flex-shrink:0}
.mq-consent-v2 .mq-consent-options{grid-template-columns:minmax(0,1fr)}
.mq-consent-v2 .mq-consent-options[hidden]{display:none!important}
.mq-consent-v2 .mq-consent-options label{min-width:0;min-height:44px}
.mq-consent-v2 .mq-consent-options label span{min-width:0}
.mq-consent-v2 .mq-consent-options input{flex:0 0 19px}
.mq-consent-v2 .mq-consent-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.mq-consent-v2 .mq-consent-actions button{min-width:0;min-height:48px;white-space:normal;overflow-wrap:normal;line-height:1.35;font-size:12px;padding:10px 6px}
.mq-cookie-launcher{min-width:44px;min-height:44px;max-width:calc(100vw - 24px);right:max(12px,env(safe-area-inset-right,0px));bottom:max(12px,env(safe-area-inset-bottom,0px));touch-action:manipulation}
.mq-consent-status{max-width:calc(100vw - 32px)}

/* A full navigation row does not fit a 1024px laptop at readable text sizes. */
@media(max-width:1139px){
 header nav>ul,header nav>[role=group],header nav>.hidden,header nav>span{display:none!important}
 header nav>button[aria-controls="mobile-menu"]{display:grid!important;margin-left:auto}
 .mq-team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .mq-person:nth-child(even){margin-top:65px}
}

@media(max-width:767px){
 html{scroll-padding-top:96px}
 main>section:not(#hero){padding-top:clamp(64px,12vw,92px);padding-bottom:clamp(64px,12vw,92px)}
 .mq-hero{min-height:0!important;padding-top:96px;padding-bottom:48px}
 .mq-hero>.relative{padding-top:0}
 .mq-stage,.mq-has-webgl{min-height:clamp(250px,72vw,350px)!important;height:clamp(250px,72vw,350px);margin-bottom:145px}
 .mq-laptop{max-width:100%;width:100%;top:48%}
 .mq-stage .mq-wordmark{font-size:clamp(42px,14.5vw,90px)!important}
 .mq-channel-orbit{inset:auto 0 -132px;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;align-items:stretch}
 .mq-channel{position:relative;inset:auto!important;min-width:0;max-width:100%;min-height:58px;padding:8px 4px;font-size:11px;gap:6px;justify-content:center;line-height:1.3;animation-duration:10s}
 .mq-channel img{height:23px;width:28px}
 .mq-channel-4 img{width:42px}
 .mq-result-hero{font-size:clamp(21px,5.8vw,29px)!important;max-width:25ch;padding:0 2px;line-height:1.2}
 .mq-hero-subtitle{font-size:14px;max-width:40ch;margin-left:0;margin-right:0}
 .mq-hero>.mq-duck{max-width:none;right:-80px;bottom:54px}
 .mq-hero>[class*="bottom-7"]{display:none}
 .mq-channel-rail{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
 .mq-home-industries{margin-top:64px;padding-top:44px}
 .mq-logo-universe{grid-template-columns:repeat(2,minmax(0,1fr));padding-left:20px;padding-right:20px;column-gap:24px;row-gap:32px}
 .mq-logo-orbit:nth-child(3n+2){transform:none}
 .mq-logo-orbit figcaption{font-size:10px;line-height:1.5}
 .mq-detail-grid{gap:14px;margin:38px 0}
 .mq-detail-grid article{padding:24px}
 .mq-detail{padding-top:120px;padding-bottom:72px}
 .mq-detail h1{font-size:clamp(36px,8vw,60px);margin-top:20px;margin-bottom:24px}
 .mq-detail h2{font-size:clamp(25px,5vw,34px)}
 .mq-commission-offer{padding:22px}
 .mq-consent-v2{left:max(12px,env(safe-area-inset-left,0px));bottom:max(12px,env(safe-area-inset-bottom,0px));width:calc(100vw - 24px);max-width:420px;max-height:calc(100vh - 108px);max-height:calc(100svh - 108px)}
 .mq-consent-v2 p{font-size:13px}
 .mq-consent-v2 .mq-consent-actions button{font-size:12px}
}

@media(max-width:599px){
 .mq-team-grid{grid-template-columns:minmax(0,1fr);gap:40px}
 .mq-person{max-width:430px;width:100%;margin-left:auto;margin-right:auto}
 .mq-person:nth-child(even){margin-top:0}
 .mq-person-photo img{height:100%;max-height:none}
 .mq-person h3{font-size:26px}
 .mq-person p{font-size:15px}
 .mq-channel-rail{gap:12px}
 #kontakt form>.grid{grid-template-columns:minmax(0,1fr)}
 #kontakt form{min-width:0}
 #kontakt form input,#kontakt form select,#kontakt form textarea{font-size:16px!important;min-height:48px}
 #kontakt form textarea{min-height:120px}
 #kontakt form input[name=web]{min-height:0}
 #kontakt [class*="rounded-"][class*="bg-white"]{padding:24px 18px}
}

@media(max-width:374px){
 :root{--mq-edge:16px}
 header{padding-left:8px;padding-right:8px;padding-top:max(8px,env(safe-area-inset-top,0px))}
 header nav{padding:6px 8px;border-radius:22px}
 header nav>a:first-child{padding-left:7px;padding-right:7px}
 header nav>a:first-child>span{font-size:18px}
 .mq-mobile-menu{top:82px;left:8px;right:8px}
 .mq-hero{padding-top:88px}
 .mq-channel-orbit{gap:7px}
 .mq-channel{font-size:10.5px;padding-left:3px;padding-right:3px}
 .mq-result-hero{font-size:22px!important}
 .mq-hero-subtitle{font-size:13px}
 .mq-consent-v2{padding:14px}
 .mq-consent-v2 .mq-consent-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
 .mq-consent-v2 .mq-consent-actions button{min-height:48px;font-size:11px}
 .mq-detail-grid article,.mq-sector-card{padding:22px 18px}
 .mq-handoff{padding:22px 18px}
}

/* Portrait tablets/unfolded compact viewports retain comfortable card widths. */
@media(min-width:768px) and (max-width:1023px){
 #ceny>.relative>.grid{grid-template-columns:minmax(0,1fr);max-width:660px;margin-left:auto;margin-right:auto}
 .mq-stage{min-height:410px!important}
 .mq-channel{font-size:12px;min-width:122px;padding:11px 9px}
 .mq-detail-grid{gap:16px}
}

/* A short landscape viewport scrolls naturally; no fixed-height hero or dialog. */
@media(max-height:500px) and (orientation:landscape){
 .mq-hero{min-height:0!important;padding-top:100px;padding-bottom:40px}
 .mq-hero>.relative{padding-top:0}
 .mq-stage,.mq-has-webgl{min-height:300px!important;height:300px}
 .mq-consent-v2{max-height:calc(100vh - 32px);max-height:calc(100svh - 32px);bottom:max(12px,env(safe-area-inset-bottom,0px))}
 .mq-mobile-menu{max-height:calc(100vh - 104px);max-height:calc(100svh - 104px)}
}

@media(min-width:1024px) and (max-height:650px){
 .mq-hero{min-height:0!important;padding-top:96px;padding-bottom:46px}
 .mq-hero>.relative{padding-top:0}
 .mq-stage,.mq-has-webgl{min-height:330px!important;height:330px}
 .mq-channel{font-size:12px;padding:10px 12px}
}

/* Wide/TV surfaces get deliberate content limits and more breathing room.
   Paragraphs retain their character measure instead of spanning a 4K screen. */
@media(min-width:1920px){
 header nav{max-width:1440px}
 main>section>div[class*="max-w-"],footer>div[class*="max-w-"]{max-width:1440px}
 .mq-hero>.relative{max-width:1320px}
 .mq-stage,.mq-has-webgl{min-height:560px!important}
 .mq-team-grid{gap:44px}
 .mq-channel-rail{grid-template-columns:repeat(6,minmax(0,1fr));gap:24px}
 .mq-editorial{max-width:1120px}
}
@media(min-width:2560px){
 header nav{max-width:1600px}
 main>section>div[class*="max-w-"],footer>div[class*="max-w-"]{max-width:1600px}
 .mq-hero{padding-top:110px;padding-bottom:80px}
 .mq-hero>.relative{max-width:1440px}
 .mq-stage,.mq-has-webgl{min-height:610px!important}
 .mq-channel{font-size:15px;min-width:166px;min-height:58px}
 .mq-channel img{width:35px;height:35px}
 .mq-hero-subtitle{font-size:17px}
 .mq-detail{max-width:1260px}
 .mq-editorial{max-width:1120px}
}

/* Accessible defaults survive a user's reduced-motion/forced-color settings. */
@media(prefers-reduced-motion:reduce){
 .mq-logo-orbit,.mq-logo-orbit img,.mq-channel,.mq-cookie-launcher{animation:none!important;transition:none!important;will-change:auto!important}
 .mq-logo-universe,.mq-channel-orbit{scroll-behavior:auto}
}
@media(forced-colors:active){
 .mq-consent-v2,.mq-cookie-launcher,.mq-channel{border:1px solid CanvasText}
 .mq-consent-v2 button{border:1px solid ButtonText}
}
