/* Microsoft Edge is the untouched reference. Every rule in this file is
   gated behind .loumo-non-edge and therefore cannot alter the Edge layout. */

/* A failed reveal must never make core content disappear permanently. */
html.loumo-non-edge .classic-home.edge-parity-ready #feat .feat-card.edge-visible .feat-person,
html.loumo-non-edge .classic-home.edge-parity-ready #feat .feat-card.edge-visible .feat-story,
html.loumo-non-edge .classic-home.edge-parity-ready #feat .feat-card.edge-visible .feat-info{opacity:1!important;transform:none!important}
html.loumo-non-edge .classic-home.edge-parity-ready #proc .river-process-step.edge-visible{opacity:1!important;transform:translate(-100%,-50%) scale(1) rotate(0deg)!important}
html.loumo-non-edge .classic-home.edge-parity-ready .loumo-loop-section.edge-visible .loumo-loop-story{opacity:1!important;transform:none!important}

/* Older Chromium shells used by Sogou and 360 ignore several clamp()/min()
   declarations. These fixed desktop values reproduce the approved Edge
   composition without changing Edge itself. */
@media (min-width:1025px){
  html.loumo-non-edge .classic-home .nav-in{height:82px!important}
  html.loumo-non-edge .classic-home .loumo-logo{width:204px!important}
  html.loumo-non-edge .classic-home .menu{gap:36px!important}
  html.loumo-non-edge .classic-home .menu a{font-size:16px!important}
  html.loumo-non-edge .classic-home .hero{padding-top:82px!important;min-height:100vh!important}
  html.loumo-non-edge .classic-home .hero-in{min-height:calc(100vh - 82px)!important;grid-template-columns:520px minmax(720px,1fr)!important;gap:54px!important;align-items:center!important}
  html.loumo-non-edge .classic-home .hero-title{font-size:92px!important;line-height:1.04!important}
  html.loumo-non-edge .classic-home .hero-sub{font-size:20px!important}
  html.loumo-non-edge .classic-home .hero-tags{font-size:17px!important}
  html.loumo-non-edge .classic-home .hero-scene{height:760px!important;min-height:620px!important}
  html.loumo-non-edge .classic-home .hero-scene .p-left{width:410px!important;left:-2%!important;bottom:-55px!important}
  html.loumo-non-edge .classic-home .hero-scene .p-mid{width:610px!important;top:auto!important;bottom:-134px!important}
  html.loumo-non-edge .classic-home .hero-scene .p-right{width:440px!important;right:-2%!important;bottom:-84px!important}
  html.loumo-non-edge .classic-home .lab-table{height:26px!important;left:-5%!important;right:-4%!important;bottom:61px!important}
  html.loumo-non-edge .classic-home .lab-items{bottom:84px!important;left:35%!important;transform:scale(1.45)!important}
  html.loumo-non-edge .classic-home .rays{width:106px!important;height:66px!important}
  html.loumo-non-edge .classic-home .magnifier{width:205px!important}
  html.loumo-non-edge .classic-home #proc .river-process-step{left:48%!important}
  html.loumo-non-edge .classic-home #proc .river-process-step:nth-child(1){top:12%!important}
  html.loumo-non-edge .classic-home #proc .river-process-step:nth-child(2){top:31%!important}
  html.loumo-non-edge .classic-home #proc .river-process-step:nth-child(3){top:50%!important}
  html.loumo-non-edge .classic-home #proc .river-process-step:nth-child(4){top:69%!important}
  html.loumo-non-edge .classic-home #proc .river-process-step:nth-child(5){top:88%!important}
}

/* Independent falling-roll layer used only when the main animation did not
   create its own layer. It stays in the empty side gutters, never over people. */
html.loumo-non-edge .classic-home .edge-roll-layer{position:absolute;z-index:3;left:0;right:0;top:0;height:2300px;overflow:visible;pointer-events:none}
html.loumo-non-edge .classic-home .edge-roll-layer .foam-roll-drop{position:absolute!important;opacity:0;width:138px;height:auto;will-change:transform,opacity}
html.loumo-non-edge .classic-home .edge-roll-layer.is-active .foam-roll-drop{animation:foam-roll-drop 1.72s cubic-bezier(.16,1,.3,1) var(--roll-delay,0s) both,foam-roll-float 5.2s ease-in-out calc(var(--roll-delay,0s) + 1.75s) infinite alternate}
html.loumo-non-edge .classic-home .edge-roll-layer .roll-drop-1{left:2.8%;top:6%}html.loumo-non-edge .classic-home .edge-roll-layer .roll-drop-2{right:3.5%;top:10%}
html.loumo-non-edge .classic-home .edge-roll-layer .roll-drop-3{left:8%;top:21%}html.loumo-non-edge .classic-home .edge-roll-layer .roll-drop-4{right:8%;top:25%}
html.loumo-non-edge .classic-home .edge-roll-layer .roll-drop-5{left:2%;top:38%}html.loumo-non-edge .classic-home .edge-roll-layer .roll-drop-6{right:2.5%;top:42%}
html.loumo-non-edge .classic-home .edge-roll-layer .roll-drop-7{left:10%;top:55%}html.loumo-non-edge .classic-home .edge-roll-layer .roll-drop-8{right:10%;top:59%}
html.loumo-non-edge .classic-home .edge-roll-layer .roll-drop-9{left:3%;top:72%}html.loumo-non-edge .classic-home .edge-roll-layer .roll-drop-10{right:3%;top:76%}
html.loumo-non-edge .classic-home .edge-roll-layer .roll-drop-11{left:12%;top:87%}html.loumo-non-edge .classic-home .edge-roll-layer .roll-drop-12{right:12%;top:90%}

/* Emergency ribbon is only shown when the main canvas was not created. */
html.loumo-non-edge .classic-home .edge-river-fallback{position:absolute;left:0;z-index:2;overflow:visible;pointer-events:none}
html.loumo-non-edge .classic-home .edge-river-fallback path{fill:none;stroke-linecap:round;stroke-linejoin:round}
html.loumo-non-edge .classic-home .edge-river-fallback .river-shadow{stroke:rgba(45,91,190,.82);filter:drop-shadow(0 13px 18px rgba(37,67,151,.19))}
html.loumo-non-edge .classic-home .edge-river-fallback .river-main{stroke:#4d76df}

@media (prefers-reduced-motion:reduce){
  html.loumo-non-edge .classic-home .edge-roll-layer .foam-roll-drop{opacity:.95!important;animation:none!important;transform:scaleX(.76)!important}
}

/* Phone homepage keeps the approved desktop composition as one proportional
   canvas. The document intentionally uses a 1280px layout viewport on phones;
   viewport-height rules must therefore be replaced with width-matched values. */
html.loumo-phone-fixed .classic-home .nav-in{
  height:82px!important;
}
html.loumo-phone-fixed .classic-home .menu{
  display:flex!important;
  align-items:center!important;
  gap:24px!important;
}
html.loumo-phone-fixed .classic-home .menu>li{
  display:flex!important;
  height:82px!important;
  align-items:center!important;
}
html.loumo-phone-fixed .classic-home .menu>li>a{
  display:flex!important;
  align-items:center!important;
  min-height:82px!important;
  padding:0!important;
  font-size:14px!important;
  line-height:1.2!important;
  white-space:nowrap!important;
}
html.loumo-phone-fixed .classic-home .wrap{
  width:1280px!important;
  max-width:none!important;
  padding-inline:44px!important;
}
html.loumo-phone-fixed .classic-home .hero{
  display:flex!important;
  height:720px!important;
  min-height:720px!important;
  padding:82px 0 0!important;
}
html.loumo-phone-fixed .classic-home .hero-in{
  width:1280px!important;
  height:638px!important;
  min-height:638px!important;
  grid-template-columns:430px 740px!important;
  gap:20px!important;
  align-items:center!important;
}
html.loumo-phone-fixed .classic-home .hero-title{
  margin-bottom:18px!important;
  font-size:64px!important;
  line-height:1.01!important;
}
html.loumo-phone-fixed[lang=en] .classic-home .hero-title .t2{
  display:block!important;
  width:max-content!important;
  max-width:none!important;
  white-space:pre-line!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
  -webkit-hyphens:none!important;
  hyphens:none!important;
  line-height:1.01!important;
}
html.loumo-phone-fixed .classic-home .hero-sub{font-size:16px!important}
html.loumo-phone-fixed .classic-home .hero-tags{margin-bottom:24px!important;font-size:14px!important}
html.loumo-phone-fixed .classic-home .hero-scene{
  display:block!important;
  height:600px!important;
  min-height:600px!important;
  padding-bottom:0!important;
}
html.loumo-phone-fixed .classic-home .hero-scene .person{position:absolute!important}
html.loumo-phone-fixed .classic-home .hero-scene .p-left{
  width:300px!important;
  left:0!important;
  bottom:-30px!important;
  transform:none!important;
}
html.loumo-phone-fixed .classic-home .hero-scene .p-mid{
  width:430px!important;
  left:50%!important;
  top:auto!important;
  bottom:-108px!important;
  transform:translateX(-50%)!important;
}
html.loumo-phone-fixed .classic-home .hero-scene .p-right{
  width:320px!important;
  right:0!important;
  bottom:-55px!important;
  transform:none!important;
}
html.loumo-phone-fixed .classic-home .rays{display:block!important;width:92px!important;height:58px!important;top:3%!important}
html.loumo-phone-fixed .classic-home .magnifier{width:160px!important;height:auto!important;top:3%!important;right:2%!important}
html.loumo-phone-fixed .classic-home .lab-table{height:24px!important;left:-3%!important;right:-3%!important;bottom:48px!important}
html.loumo-phone-fixed .classic-home .lab-items{left:35%!important;bottom:72px!important;transform:scale(1.2)!important}
html.loumo-phone-fixed .classic-home .bushes{height:64px!important}
html.loumo-phone-fixed body>.classic-home~.loumo-back-to-top{
  top:100px!important;
  right:24px!important;
  width:64px!important;
  height:64px!important;
  border-width:2px!important;
}
html.loumo-phone-fixed body>.classic-home~.loumo-back-to-top span{font-size:31px!important}

/* German copy-fit: keep the same composition while preventing long German copy from escaping cards. */
html[lang="de"] body main.classic-home .hero-title{
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  min-height:0!important;
  font-size:58px!important;
  line-height:1.03!important;
  letter-spacing:-.045em!important;
}
html[lang="de"] body main.classic-home .hero-title .t2{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  font-size:1em!important;
  line-height:1.03!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
html[lang="de"] body main.classic-home .menu{
  gap:clamp(12px,1.15vw,21px)!important;
}
html[lang="de"] body main.classic-home .menu a{
  font-size:clamp(11px,.76vw,13px)!important;
  line-height:1.2!important;
}
html[lang="de"] body main.classic-home :is(.stitle,.material-copy h3,.app-name,.app-txt,.feat-story p,.feat-name,.feat-txt,.process-step-copy){
  max-width:100%!important;
  overflow-wrap:break-word!important;
  word-break:normal!important;
  hyphens:auto!important;
}
html[lang="de"] body main.classic-home .stitle{
  height:auto!important;
  font-size:37px!important;
  line-height:1.1!important;
}
html[lang="de"] body main.classic-home .feat-story p{
  font-size:11.5px!important;
  line-height:1.46!important;
}
html[lang="de"] body main.classic-home #materials .material-copy h3{
  font-size:24px!important;
  line-height:1.13!important;
}
html[lang="de"] body main.classic-home .app-name{
  min-height:42px!important;
  padding-inline:2px!important;
  font-size:12px!important;
  line-height:1.18!important;
}
html[lang="de"] body main.classic-home .app-txt{
  font-size:10.5px!important;
  line-height:1.36!important;
}
html[lang="de"] body main.classic-home #proc .process-step-copy b{
  font-size:12.5px!important;
  line-height:1.15!important;
}
html[lang="de"] body main.classic-home #proc .process-step-copy small{
  font-size:10px!important;
  line-height:1.34!important;
}
html[lang="de"] body :is(.page-hero h1,.section-head h2,.section-head p,.product-card,.material-card,.capability-card,.application-card,.data-card,.contact-card){
  max-width:100%!important;
  overflow-wrap:break-word!important;
  word-break:normal!important;
  hyphens:auto!important;
}
html[lang="de"] body .page-hero h1{
  height:auto!important;
  font-size:clamp(42px,4.4vw,64px)!important;
  line-height:1.04!important;
}
@media(max-width:1100px){
  html[lang="de"] body main.classic-home .hero-title{font-size:54px!important}
  html[lang="de"] body main.classic-home .stitle{font-size:34px!important}
}
@media(max-width:640px){
  html[lang="de"] body main.classic-home .hero-title{font-size:48px!important}
  html[lang="de"] body main.classic-home .stitle{font-size:29px!important}
}

/* Keep scrolling functional while removing the redundant grey browser scrollbar. */
html{
  scrollbar-width:none!important;
  -ms-overflow-style:none!important;
}
html::-webkit-scrollbar,
body::-webkit-scrollbar{
  width:0!important;
  height:0!important;
  display:none!important;
}
