/* Shared base reset — identical across every page, extracted from the former
   per-page inline <style> blocks. Page-specific rules (keyframes, form states)
   stay inline on their respective pages. */
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;background:#0B0908;-webkit-font-smoothing:antialiased}
img,video,canvas,svg{max-width:100%}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
button,a{touch-action:manipulation}
::selection{background:#F0892A;color:#0B0908}

/* Shared responsive navigation. The markup is enhanced by site.js so every
   public page keeps the same menu behavior without duplicating components. */
.charamel-menu-toggle,.charamel-menu-backdrop{display:none}
.charamel-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
[data-nav]>div{margin-left:auto}
.charamel-language-switch{display:inline-flex;flex:0 0 auto;align-items:center;gap:7px;margin-left:clamp(12px,1.8vw,24px);margin-right:0;padding-left:clamp(12px,1.8vw,24px);border-left:1px solid rgba(255,255,255,.16);font-family:var(--fm,'Space Mono',monospace);font-size:11px;line-height:1;letter-spacing:.08em;white-space:nowrap;color:var(--faint,#6A6256)}
.charamel-language-switch a{padding:7px 2px;color:var(--mut,#A89E90);text-decoration:none;transition:color .2s ease}
.charamel-language-switch a:hover{color:var(--tx,#F4EFE7)}
.charamel-language-switch a[aria-current="page"]{color:var(--or2,#FFAD5B);font-weight:700;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.charamel-language-switch a:focus-visible{outline:2px solid var(--or,#F0892A);outline-offset:3px;border-radius:2px}

/* Customer logo carousel: static, indexable markup with a CSS-only marquee. */
.customer-logo-rail{position:relative;overflow:hidden;padding:2px 0;mask-image:linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%)}
.customer-logo-rail::before,.customer-logo-rail::after{content:"";position:absolute;top:0;bottom:0;z-index:2;width:clamp(26px,7vw,92px);pointer-events:none}
.customer-logo-rail::before{left:0;background:linear-gradient(90deg,var(--bg,#0B0908),transparent)}
.customer-logo-rail::after{right:0;background:linear-gradient(270deg,var(--bg,#0B0908),transparent)}
.customer-logo-track{display:flex;width:max-content;will-change:transform;animation:customerLogoMarquee 34s linear infinite}
.customer-logo-rail:hover .customer-logo-track,.customer-logo-rail:focus-within .customer-logo-track{animation-play-state:paused}
.customer-logo-group{display:flex;flex:0 0 auto;gap:14px;padding-right:14px}
.customer-logo-card{width:clamp(156px,15vw,194px);height:92px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;padding:20px 26px;border:1px solid rgba(255,255,255,.09);border-radius:14px;background:radial-gradient(100% 140% at 50% 0%,rgba(240,137,42,.065),transparent 62%),rgba(255,255,255,.018);box-shadow:0 12px 30px rgba(0,0,0,.12);transition:border-color .25s ease,background .25s ease,transform .25s ease}
.customer-logo-card img{display:block;width:auto;height:auto;max-width:100%;max-height:52px;object-fit:contain;opacity:.6;filter:grayscale(1);transition:opacity .25s ease,transform .25s ease,filter .25s ease}
.customer-logo-card img.customer-logo-ueltje{width:112px;max-width:none;max-height:none}
.customer-logo-card:hover{transform:translateY(-2px);border-color:rgba(240,137,42,.3);background:radial-gradient(100% 140% at 50% 0%,rgba(240,137,42,.12),transparent 65%),rgba(255,255,255,.026)}
.customer-logo-card:hover img{opacity:.96;filter:grayscale(1) drop-shadow(0 0 14px rgba(255,255,255,.08));transform:scale(1.035)}
@keyframes customerLogoMarquee{to{transform:translate3d(-50%,0,0)}}

@media (max-width:1100px){
  body.charamel-menu-open{overflow:hidden}
  [data-nav]{min-height:68px;padding:12px 20px!important}
  [data-nav].is-menu-open{background:rgba(11,9,8,.94)!important;backdrop-filter:blur(18px)!important;border-bottom-color:transparent!important}
  [data-nav]>a:first-child{position:relative;z-index:4;order:1}
  [data-nav]>a:first-child img{height:35px!important}
  .charamel-language-switch{position:relative;z-index:4;order:2;margin-left:auto;margin-right:0;padding-left:12px;font-size:10px;gap:6px}
  .charamel-menu-toggle{position:relative;z-index:4;order:3;display:inline-flex;width:46px;height:46px;flex:0 0 46px;margin-left:12px;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.16);border-radius:50%;background:rgba(20,17,15,.7);color:var(--tx,#F4EFE7);cursor:pointer}
  .charamel-menu-toggle:focus-visible{outline:2px solid var(--or,#F0892A);outline-offset:3px}
  .charamel-menu-icon{position:relative;width:20px;height:14px;display:block}
  .charamel-menu-icon::before,.charamel-menu-icon::after,.charamel-menu-icon span{content:"";position:absolute;left:0;width:20px;height:1.5px;border-radius:2px;background:currentColor;transition:transform .28s ease,top .28s ease,opacity .2s ease}
  .charamel-menu-icon::before{top:0}
  .charamel-menu-icon span{top:6px}
  .charamel-menu-icon::after{top:12px}
  .is-menu-open .charamel-menu-icon::before{top:6px;transform:rotate(45deg)}
  .is-menu-open .charamel-menu-icon span{opacity:0}
  .is-menu-open .charamel-menu-icon::after{top:6px;transform:rotate(-45deg)}
  .charamel-menu-backdrop{position:fixed;inset:0;z-index:2;display:block;border:0;background:rgba(0,0,0,.58);opacity:0;visibility:hidden;transition:opacity .3s ease,visibility 0s linear .3s;cursor:default}
  .is-menu-open .charamel-menu-backdrop{opacity:1;visibility:visible;transition-delay:0s}
  [data-nav]>div{position:fixed!important;inset:0!important;z-index:3;order:4;width:100%!important;height:100dvh;display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:0!important;margin-left:0!important;padding:94px 24px max(28px,env(safe-area-inset-bottom))!important;background:linear-gradient(160deg,#1B1714 0%,#0B0908 72%);border:0;box-shadow:none;transform:translate3d(100%,0,0);visibility:hidden;transition:transform .46s cubic-bezier(.16,1,.3,1),visibility 0s linear .46s;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none}
  [data-nav]>div::-webkit-scrollbar{display:none}
  [data-nav].is-menu-open>div{transform:translateX(0);visibility:visible;transition-delay:0s}
  [data-nav]>div>a{display:flex!important;align-items:center;min-height:56px;width:100%;padding:14px 4px!important;border-bottom:1px solid rgba(255,255,255,.09);border-radius:0!important;background:transparent!important;box-shadow:none!important;font-size:18px!important;font-weight:600!important;line-height:1.25;text-decoration:none;white-space:normal!important}
  [data-nav]>div>a:hover{color:var(--or2,#FFAD5B)!important}
  [data-nav]>div>a:focus-visible{outline:2px solid var(--or,#F0892A);outline-offset:3px;border-radius:4px!important}
  [data-nav]>div>a:last-child{justify-content:center;min-height:50px;margin-top:auto;padding:14px 20px!important;border:0!important;border-radius:999px!important;background:var(--or,#F0892A)!important;color:#0B0908!important}
  [data-hero-dialog]{display:none!important}
}

@media (max-width:820px){
  body:has([data-nav]){overflow-wrap:break-word}
  body:has([data-nav]) header{padding:112px 20px 54px!important}
  body:has([data-nav]) header:has([data-hero-video]){min-height:72svh!important}
  body:has([data-nav]) header#top{min-height:100svh!important;padding-bottom:72px!important}
  body:has([data-nav]) header h1{font-size:clamp(32px,9.4vw,44px)!important;line-height:1.03!important;max-width:17ch}
  body:has([data-nav]) header p{font-size:16px!important;line-height:1.58!important}

  body:has([data-nav]) section [style*="grid-template-columns"]{grid-template-columns:minmax(0,1fr)!important}
  body:has([data-nav]) [style*="display:grid"]>*{min-width:0}
  body:has([data-nav]) form input,
  body:has([data-nav]) form select,
  body:has([data-nav]) form textarea{display:block;width:100%;min-width:0}

  /* Compact number and logo groups remain scannable as two columns. */
  body:has([data-nav]) [data-stats],
  body:has([data-nav]) section[data-screen-label="Kennzahlen"]>div,
  body:has([data-nav]) section[data-screen-label="Referenzen"]>div[style*="grid-template-columns"]{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body:has([data-nav]) section[data-screen-label="Standort"]>div>div:last-child>div[style*="grid-template-columns"],
  body:has([data-nav]) section[data-screen-label="Engine"]>div>div:first-child>div[style*="grid-template-columns"]{grid-template-columns:repeat(2,minmax(0,1fr))!important}

  /* Home: turn desktop-only horizontal scrollytelling into a natural reading flow. */
  [data-fields]{height:auto!important;padding:72px 0 8px!important}
  [data-fields]>div:first-child{position:relative!important;top:auto!important;height:auto!important;overflow:visible!important;display:block!important}
  [data-fields]>div:first-child>div:first-child{position:relative!important;top:auto!important;left:auto!important;right:auto!important;align-items:flex-start!important;padding:0 20px;margin-bottom:42px}
  [data-fields-dots]{display:none!important}
  [data-fields-track]{display:grid!important;width:100%!important;transform:none!important;will-change:auto!important}
  [data-fields-track]>div{width:100%!important;height:auto!important;display:block!important;padding:0 20px 64px!important}
  [data-fields-track]>div>div{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:30px!important}
  [data-fields-track]>div>div>div[style*="aspect-ratio"]{width:100%;max-width:540px;margin-inline:auto}

  [data-tech]{height:auto!important}
  [data-tech]>div:first-child{position:relative!important;top:auto!important;height:auto!important;overflow:hidden!important;display:block!important;padding:72px 20px 42px!important}
  [data-tech]>div:first-child>div{grid-template-columns:minmax(0,1fr)!important;gap:34px!important}
  [data-tech-list]>div{opacity:1!important;transform:none!important;cursor:default!important}
  [data-tech-list]>div>span:last-child{opacity:.34!important}
  [data-tech-ringwrap]{width:100%;height:360px!important;max-width:380px;margin:0 auto}
  [data-ring="0"]{width:96px!important;height:96px!important}
  [data-ring="1"]{width:176px!important;height:176px!important}
  [data-ring="2"]{width:258px!important;height:258px!important}
  [data-ring="3"]{width:340px!important;height:340px!important}
  [data-tech-core]{width:154px!important;height:154px!important}

  /* Featured solution and forms use the full available touch width. */
  section[data-screen-label="Education"]>div>a{width:100%;text-align:center}
  section[data-screen-label="Formular"] form button{min-height:50px}

  body:has([data-nav]) footer>div[style*="grid-template-columns"]{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:34px 24px!important}
  body:has([data-nav]) footer>div[style*="grid-template-columns"]>div:first-child,
  body:has([data-nav]) footer>div[style*="grid-template-columns"]>div:last-child{grid-column:1/-1}
}

@media (max-width:520px){
  [data-nav]>div{padding-inline:20px!important}
  body:has([data-nav]) header h1{font-size:clamp(30px,9.8vw,40px)!important}
  body:has([data-nav]) section [style*="border-radius:20px"][style*="padding:clamp"]{padding:22px!important}
  section[data-screen-label="Formular"] form button{align-self:stretch!important;width:100%}
  [data-tech-ringwrap]{height:320px!important;transform:scale(.9)}
  body:has([data-nav]) footer{padding-bottom:max(32px,env(safe-area-inset-bottom))!important}
  .customer-logo-card{width:152px;height:84px;padding:18px 22px}
  .customer-logo-card img{max-height:46px}
  .customer-logo-card img.customer-logo-ueltje{width:102px;max-height:none}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .charamel-menu-toggle *,.charamel-menu-toggle *::before,.charamel-menu-toggle *::after,
  .charamel-menu-backdrop,[data-nav]>div{transition-duration:.01ms!important}
  .customer-logo-rail{overflow-x:auto;mask-image:none;-webkit-mask-image:none;scrollbar-width:thin;scrollbar-color:rgba(240,137,42,.45) transparent}
  .customer-logo-rail::before,.customer-logo-rail::after{display:none}
  .customer-logo-track{animation:none;will-change:auto}
  .customer-logo-group[aria-hidden="true"]{display:none}
  .customer-logo-card{transition:none}
}
