/* ElektroBubbles viewport hardening, loaded after all component CSS */
html{scroll-padding-top:clamp(88px,12vw,130px)}body{min-width:280px;overflow-x:clip}.nav>*{min-width:0}.brand-wordmark{max-width:100%;height:auto}.hero.eb5-hero .hero-content{min-width:0}.hero.eb5-hero .hero-content h1{overflow-wrap:normal;hyphens:none}.hero.eb5-hero .lead{overflow-wrap:break-word}.eb5-controls,.eb5-stages,.eb5-controls-top,.eb5-toolrow{min-width:0}.eb5-stage-name,.eb5-stage-detail{overflow-wrap:break-word;hyphens:auto}.contact-links a{overflow-wrap:anywhere}.future-link{min-width:0}.contact-details{min-width:0}
@media(max-width:1180px){
 .hero.eb5-hero{height:auto;min-height:0;display:flex;flex-direction:column}
 .hero.eb5-hero>.container{order:1;width:100%;max-width:none;padding:50px max(22px,5vw) 42px;margin:0!important}
 .hero.eb5-hero .hero-content{max-width:840px;padding:0}
 .hero.eb5-hero h1{font-size:clamp(2.3rem,5vw,4.4rem);line-height:1.13}
 .hero.eb5-hero .hero-visual{order:2;display:flex;flex-direction:column;position:relative!important;height:auto!important;min-height:0!important;padding:0 20px 20px;overflow:visible;isolation:isolate}
 #factory3d{position:relative;inset:auto;height:clamp(300px,43vw,510px);min-height:0;flex:none;touch-action:pan-y}
 .eb5-gridmask{inset:0 0 auto 0;height:clamp(300px,43vw,510px)}
 .eb5-scene-label{left:34px;top:16px}.eb5-annotation{display:none}
 .eb5-toolrow{position:relative;inset:auto;bottom:auto;right:auto;order:2;justify-content:flex-end;flex-wrap:wrap;padding:9px 0 12px}
 .eb5-controls{position:relative;inset:auto;left:auto;right:auto;bottom:auto;order:3;margin:0;padding:16px;width:100%;box-shadow:none}
 .eb5-stages{grid-template-columns:repeat(4,minmax(0,1fr))}.eb5-stage{min-height:70px;padding:10px}
 .eb5-stage-name{font-size:.83rem}.eb5-controls-hint{text-align:right}
 .proof-inner{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
 .header .nav{display:grid;grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:'brand langs toggle' 'links links links';align-items:center;gap:8px 12px;padding:12px 0;min-height:68px;position:relative}
 .header .logo{grid-area:brand;min-width:0}.header .brand-wordmark{width:min(100%,245px);max-height:48px;object-position:left}
 .header .langs{grid-area:langs;white-space:nowrap;justify-content:flex-end}.header .langs button{padding:7px 8px}
 .mobile-menu-button{grid-area:toggle;display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;background:#103626;color:#fff;border:1px solid #6f9d77;border-radius:9px;font-size:1.4rem;cursor:pointer}
 .header .navlinks{grid-area:links;order:initial;width:100%;display:none;min-width:0;overflow:visible;border-top:1px solid #38674d;padding:9px 0 5px;flex-direction:column;align-items:stretch;gap:1px}
 .header .navlinks.is-open{display:flex}.header .navlinks a{font-size:1rem;white-space:normal;min-height:44px;padding:10px 12px;border-radius:7px}.header .navlinks a:hover{background:#114331}
 .header:has(.is-open) #page-scroll-progress{bottom:0}
 .grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .split{grid-template-columns:1fr}
 .future{min-height:0;padding:26px}
}
@media(max-width:620px){
 .container{width:calc(100% - 30px)}.header .nav{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:'brand toggle' 'langs langs' 'links links';gap:5px 10px}.header .logo{max-width:100%}.header .brand-wordmark{width:min(70vw,260px);max-height:42px}.header .langs{justify-content:flex-end;gap:7px}.header .langs button{min-height:36px;min-width:41px}
 .hero.eb5-hero>.container{padding:37px 17px 31px}.hero.eb5-hero h1{font-size:clamp(2.05rem,8.1vw,3.35rem);line-height:1.14;margin:16px 0 22px}.hero.eb5-hero .lead{font-size:1rem;line-height:1.65}
 .hero.eb5-hero .hero-visual{padding:0 12px 14px}#factory3d{height:280px}.eb5-gridmask{height:280px}
 .eb5-scene-label{left:12px;top:12px;font-size:.57rem;letter-spacing:.08em}.eb5-toolrow{justify-content:stretch;gap:8px}.eb5-tool{flex:1;min-height:42px;white-space:normal;font-size:.77rem}
 .eb5-controls{padding:12px 10px}.eb5-controls-top{flex-wrap:wrap;gap:4px}.eb5-controls-title,.eb5-controls-hint{font-size:.68rem;text-align:left}
 .eb5-stages{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.eb5-stage{min-height:72px;padding:9px;gap:4px}.eb5-stage-name{font-size:.8rem;line-height:1.25}
 .proof-inner{grid-template-columns:1fr;gap:14px;padding:22px 0}.proof-item{min-width:0}
 .grid,.split{grid-template-columns:1fr}.tile-photo{height:190px}.tile-body{padding:20px}
 section.content{padding:55px 0}.future{padding:22px}.future h3{font-size:1.35rem}
 .actions .btn{min-height:44px;display:inline-flex;align-items:center;justify-content:center}
 .contact .contact-links{display:block}.contact .contact-links>div{width:100%}.contact .contact-details p{overflow-wrap:anywhere}
}
@media(max-width:340px){.header .nav{gap:3px}.hero.eb5-hero h1{font-size:2rem}.eb5-controls-title{letter-spacing:.08em} .eb5-tool{font-size:.69rem;padding:8px 6px}}
@media(prefers-reduced-motion:reduce){.eb5-stage,.future-link{transition:none!important}.scroll-reveal{opacity:1!important;transform:none!important}}
