
/* EON: dark blue technical identity and responsive navigation. */
:root { color-scheme:dark; --page-bg:#102c3c; --heading:#eef8fc; --muted:#b0c9d5; --rule:rgba(135,197,218,.2); }
html body { background:var(--page-bg)!important; color:var(--heading); }
html body::after, .scene-number { display:none!important; }
/* Explicit placement prevents older breakpoint rules from sharing grid cells. */
html body .story-header-content { display:grid!important; grid-template-columns:7rem minmax(9rem,1fr) minmax(14rem,1.35fr) minmax(18rem,1.3fr) 9rem!important; grid-template-areas:"logo tagline videos phones language"!important; grid-template-rows:auto!important; height:auto!important; min-height:7.5rem!important; padding:.7rem clamp(.8rem,2vw,2.5rem)!important; gap:1rem!important; align-items:center!important; }
html body .story-header-content > * { position:relative!important; inset:auto!important; transform:none!important; min-width:0!important; margin:0!important; max-width:100%!important; }
html body .story-header-content .topbar { grid-area:logo!important; width:100%!important; height:5.6rem!important; }
html body .story-header-content .brand, html body.is-ready .story-header-content .brand { width:100%!important; max-width:7rem!important; }
html body .story-header-content .company-tagline { grid-area:tagline!important; display:block!important; width:auto!important; max-height:none!important; font-size:.72rem!important; line-height:1.4!important; white-space:normal!important; overflow:visible!important; padding:0!important; border:0!important; }
html body .story-header-content .story-video-shelf { grid-area:videos!important; display:grid!important; height:5.6rem!important; width:100%!important; grid-template-columns:repeat(2,minmax(0,1fr))!important; }
html body .header-video-link { min-width:0!important; box-shadow:none!important; border-radius:4px!important; }
html body .header-video-link span { font-size:.66rem!important; line-height:1.2!important; }
html body .story-header-content .header-phones { grid-area:phones!important; display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr))!important; grid-template-rows:auto auto auto!important; width:100%!important; height:auto!important; padding:0!important; border:0!important; gap:.25rem .5rem!important; white-space:normal!important; }
html body .header-phones > span { grid-column:1/-1!important; grid-row:1!important; font-size:.69rem!important; text-align:left!important; }
html body .header-phones .header-office-hours { grid-column:1/-1!important; grid-row:2!important; display:block!important; white-space:normal!important; text-align:left!important; font-size:.7rem!important; line-height:1.3!important; padding:0!important; min-width:0!important; }
html body .header-phones a { grid-row:3!important; grid-column:auto!important; min-width:0!important; min-height:2.25rem!important; font-size:.76rem!important; padding:.35rem!important; white-space:nowrap!important; border-radius:4px!important; }
html body .story-header-content .language-switcher { grid-area:language!important; width:100%!important; justify-self:stretch!important; }
html body .language-select__trigger { min-height:2.8rem!important; border-radius:4px!important; }
html body .language-select__current { display:block!important; }
html body .language-select__menu { max-height:min(31rem,65svh)!important; }
@media(max-width:1199px) {
 html body .story-header-content { grid-template-columns:7rem minmax(0,1fr) minmax(18rem,1fr) 9rem!important; grid-template-areas:"logo tagline phones language" "videos videos videos videos"!important; gap:.6rem 1rem!important; }
 html body .story-header-content .story-video-shelf { height:3.7rem!important; grid-template-columns:repeat(2,minmax(0,1fr))!important; }
 html body .header-video-link img { object-position:50% 48%; }
}
@media(max-width:799px) {
 html body .story-header-content { grid-template-columns:6rem minmax(0,1fr) 8rem!important; grid-template-areas:"logo tagline language" "phones phones phones" "videos videos videos"!important; gap:.5rem .8rem!important; padding:.6rem .85rem!important; }
 html body .story-header-content .topbar { height:4rem!important; }
 html body .story-header-content .company-tagline { font-size:.64rem!important; line-height:1.3!important; }
 html body .story-header-content .header-phones { grid-template-columns:repeat(2,minmax(0,1fr))!important; grid-template-rows:auto auto!important; }
 html body .header-phones > span { grid-column:1!important; grid-row:1!important; }
 html body .header-phones .header-office-hours { grid-column:2!important; grid-row:1!important; text-align:right!important; font-size:.65rem!important; }
 html body .header-phones a { grid-row:2!important; }
 html body .story-header-content .story-video-shelf { height:3.2rem!important; }
}
@media(max-width:479px) {
 html body .story-header-content { grid-template-columns:5rem minmax(0,1fr) 4.25rem!important; }
 html body .language-select__current { display:none!important; }
 html body .language-select__trigger { grid-template-columns:auto auto!important; gap:.3rem!important; padding:.4rem!important; }
 html body .header-phones > span { font-size:.63rem!important; }
 html body .header-phones .header-office-hours { font-size:.6rem!important; }
}
/* Invitation and compact material index. */
.expo-note { display:flex; align-items:center; gap:1.5rem; margin:1.5rem clamp(1rem,5vw,6rem) 0; padding:1rem 0; border-top:3px solid #2b637b; border-bottom:1px solid var(--rule); }
.expo-date { flex:none; padding-right:1.5rem; border-right:1px solid #b8c9ce; display:grid; gap:.12rem; }
.expo-date strong { font-size:1.8rem; line-height:1; font-weight:650; letter-spacing:-.06em; }
.expo-date span { font-size:.61rem; letter-spacing:.08em; }
.expo-note h2 { margin:0 0 .25rem; font-size:1.08rem; font-weight:650; letter-spacing:-.025em; }
.expo-note p { margin:0; color:var(--muted); font-size:.86rem; line-height:1.5; }
.expo-mark { margin-left:auto; white-space:nowrap; color:#597482; font-size:.72rem; }
html body .downloads-hub { margin:.8rem clamp(1rem,5vw,6rem) 1.5rem; padding:0 0 1.1rem; background:none; border:0; border-bottom:1px solid var(--rule); border-radius:0; color:var(--heading); }
.downloads-hub>header { margin:0 0 .55rem; }.downloads-hub h2 { font-size:1rem; font-weight:650; color:var(--heading); }
.materials-groups { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.45fr); gap:2.5rem; }
.materials-group h3 { font-size:.64rem; margin:0 0 .25rem; color:var(--muted); text-transform:uppercase; letter-spacing:.12em; }
.material-row { display:flex; align-items:center; gap:1rem; min-height:2.35rem; border-bottom:1px solid #d9e0e0; }
.material-row:last-child { border-bottom:0; }.material-row h4 { font-size:.82rem; font-weight:600; margin:0; }
.material-actions { display:flex; align-items:center; gap:1.1rem; margin-left:auto; white-space:nowrap; }
.material-actions a { color:#205d78; font-size:.74rem; padding:.45rem 0; text-decoration:underline; text-underline-offset:3px; }
.material-actions a:last-child { font-size:.7rem; font-weight:700; text-decoration:none; }
.material-actions a:hover { color:#091d29; }.material-actions a:focus-visible { outline:2px solid #226782; outline-offset:3px; }
@media(max-width:799px) { .expo-mark{display:none}.expo-note{gap:1rem}.expo-date{padding-right:1rem}.expo-note h2{font-size:.94rem}.expo-note p{font-size:.76rem}.materials-groups{gap:1.1rem;grid-template-columns:1fr}.material-row{min-height:2.2rem}.material-row h4{font-size:.76rem}.material-actions{gap:.8rem} }
/* Native accessible dialog for locally hosted CAD previews. */
.model-dialog { width:min(1100px,96vw); max-width:96vw; height:min(850px,90dvh); max-height:90dvh; margin:auto; padding:0; border:1px solid #9bafb7; border-radius:5px; background:#f2f4f3; color:#163d52; box-shadow:0 20px 90px #0007; }
.model-dialog[open] { display:flex; flex-direction:column; }.model-dialog::backdrop{background:#041018b8}
.model-toolbar{display:flex;align-items:center;gap:1.2rem;padding:1rem 1.25rem;border-bottom:1px solid #cad5d8}.model-toolbar small{font-size:.65rem;text-transform:uppercase;letter-spacing:.1em}.model-toolbar h2{margin:.2rem 0 0;font-size:1.1rem}.model-toolbar a{margin-left:auto;color:#205d78;white-space:nowrap}.model-toolbar button{font-size:1.8rem;background:none;border:0;color:#163d52;cursor:pointer}
.model-viewport{position:relative;flex:1;min-height:0;overflow:hidden;background:#e9eeed}.model-viewport canvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab}.model-viewport canvas:active{cursor:grabbing}.model-status{position:absolute;z-index:2;inset:45% 1rem auto;text-align:center;font-size:.9rem}.model-status[hidden]{display:none}
.model-footer{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem 1.2rem;border-top:1px solid #cad5d8}.model-footer p{font-size:.75rem;color:#526570;margin:0;max-width:55ch}.model-footer>div{display:flex;gap:.4rem;flex:none}.model-footer button{min-width:2.5rem;min-height:2.5rem;padding:.4rem .6rem;border:1px solid #adbfc5;background:#fff;color:#163d52;cursor:pointer;border-radius:3px}.model-dialog button:focus-visible,.model-dialog a:focus-visible{outline:2px solid #267697;outline-offset:2px}
@media(max-width:600px){.model-footer{flex-direction:column;align-items:stretch}.model-footer>div{justify-content:center}.model-toolbar{padding:.65rem;gap:.6rem}.model-toolbar h2{font-size:.9rem}.model-dialog{height:92dvh;max-height:92dvh}}


/* Deep blue, slightly brighter than the original; the header keeps its own dark palette. */
html body { background:radial-gradient(ellipse at 75% 20%,#20465755,transparent 55%),linear-gradient(155deg,#173849 0%,#204759 48%,#143143 100%)!important; color:var(--heading); }
html body .scroll-story { background:transparent!important; }
html body::before { display:block!important; opacity:.18!important; }
html body .particle-field { display:block!important; opacity:.8!important; }
html body .cursor-energy { display:block!important; opacity:.6; }
html body .scene-grid { display:block!important; opacity:.1!important; }
html body .scene-surface,html body .story-scene .scene-surface,html body .scene-surface--film { background:linear-gradient(115deg,rgba(35,76,94,.38),rgba(19,47,65,.42))!important; border:0!important; border-radius:0!important; box-shadow:inset 0 1px #b6e8ff0a!important; }
html body .story-scene:nth-of-type(even) .scene-surface { background:linear-gradient(115deg,rgba(30,65,84,.42),rgba(17,43,61,.46))!important; }
.scene-surface::before,.scene-surface::after { display:none!important; }
html body .story-scene { content-visibility:visible; }
html body .scene-heading h2,html body .scene-copy--about .scene-heading h2,html body .scene-copy--contact .scene-heading h2,html body .film-copy h2 { color:#eff8fc!important; text-shadow:0 3px 28px #010a1230!important; font-weight:550!important; letter-spacing:-.035em!important; }
html body .scene-heading p,html body .film-kicker,html body .scene-heading p span { color:#78c5df!important; }
html body .feature-block,html body .story-drawings,html body .film-copy { background:transparent!important; border:0!important; border-radius:0!important; box-shadow:none!important; backdrop-filter:none!important; }
html body .feature-block { padding:1.2rem 0!important; border-top:1px solid var(--rule)!important; }
html body .feature-block h3,html body .story-drawings__header strong { color:#d6eaf2!important; text-shadow:none!important; }
html body .feature-block .feature-list li,html body .scene-copy--about .lead-copy,html body .film-copy>p:not(.film-kicker) { color:#c0d3dd!important; text-shadow:none!important; opacity:1!important; }
html body .feature-block .feature-list li::before { background:#68bfd9!important; box-shadow:none!important; }
html body .scene-copy--about .lead-copy { font-weight:400!important; background:transparent!important; border:0!important; box-shadow:none!important; padding:1rem 0!important; backdrop-filter:none!important; }
html body .story-drawings { padding:0!important; }
html body .story-drawings__header small { color:#91b0c0!important; }
html body .story-drawing { background:linear-gradient(115deg,#244d615c,#102e4299)!important; border:1px solid #78b3ca40!important; border-radius:5px!important; box-shadow:inset 0 1px #ffffff08,0 5px 18px #04142112!important; color:#e9f6fc!important; }
html body .story-drawing:hover,html body .story-drawing:focus-visible { background:#28546c99!important; border-color:#7ed5ef99!important; box-shadow:0 8px 25px #03121e40!important; transform:translateY(-3px)!important; }
html body .story-drawing span,html body .story-drawing i { color:#7ecce3!important; }html body .story-drawing b { color:#e9f6fc!important; }
html body .product-visual { filter:none!important; }
html body .story-object { filter:drop-shadow(0 1.7rem 1.5rem #020e1b66)!important; opacity:1!important; }
html body .product-visual__orbit { border-color:#6fcee523!important; box-shadow:none!important; opacity:.32!important; }
html body .product-visual::before,html body .product-visual::after { opacity:.25!important; }
html body .catalog-launch,html body .catalog-download { background:linear-gradient(115deg,#21495d8c,#102c4099)!important; color:#e8f5fb!important; border:1px solid #7bbbd044!important; border-radius:5px!important; box-shadow:inset 0 1px #ffffff08!important; }
html body .catalog-launch strong,html body .catalog-download strong { color:#e8f5fb!important; }
html body .catalog-launch small,html body .catalog-download small { color:#a8c3d0!important; }
html body .catalog-launch__icon,html body .catalog-launch__arrow,html body .catalog-download__icon { color:#81d1e8!important; }
html body .scene-copy--contact .contact-list { padding:0!important; background:transparent!important; border:0!important; border-radius:0!important; box-shadow:none!important; backdrop-filter:none!important; transform:none!important; }
html body .scene-copy--contact .contact-card { background:linear-gradient(120deg,#224c6080,#0b293c99)!important; border:1px solid #75b4ce38!important; border-radius:5px!important; box-shadow:inset 0 1px #ffffff08!important; }
html body .contact-card strong,html body .contact-card a { color:#e8f4fa!important; }
html body .contact-card small,html body .contact-card__marker,html body .contact-card__arrow { color:#85c8de!important; }
html body .scene-copy--contact .contact-card .contact-card__copy>strong>a { color:#e8f4fa!important; background:#14374a!important; border-color:#729fb344!important; box-shadow:none!important; }
html body .scene-copy--contact .contact-card .contact-card__copy>span { color:#afc8d3!important; }
html body .contact-card__marker { background:#1b4053!important; border-color:#76abc13d!important; border-radius:4px!important; }
html body .film-stage { border-radius:5px!important; border-color:#77adc146!important; box-shadow:0 15px 45px #020e1c55!important; }
html body .site-footer { background:#0b2231!important; border-top:1px solid var(--rule)!important; }
html body .scene-next,html body .scene-next i { color:#83cce2!important; border-color:#6da8bf4d!important; background:transparent!important; box-shadow:none!important; }
html body .story-rail__link { color:#acd1e0!important; background:#123446e8!important; border:1px solid #80bdd344!important; box-shadow:none!important; }
html body .story-rail__link.is-active { color:#061923!important; background:#8bd6e8!important; border-color:#8bd6e8!important; box-shadow:0 0 16px #4fcae522!important; }
html body .story-rail__link i { background:#0d2c3f!important; color:#e1f3fc!important; border:1px solid #78b3ca40!important; }
html body .header-phones>span { display:block!important; }
.expo-note { border-top:2px solid #65adc7; border-bottom-color:var(--rule); }
.expo-date { border-right-color:#84bdd342; }.expo-date strong{color:#9ad9ec}.expo-date span{color:#b6d7e4}.expo-note h2{color:#e4f4fb}.expo-mark{color:#8db9cc}
html body .downloads-hub { color:#eaf6fc;background:transparent; }
.material-row { border-bottom-color:#87b5c522; transition:background .22s ease; }.material-row:hover { background:#6bb4d008; }
.material-actions a { color:#9ad8ed; }.material-actions a:hover{color:#fff}.material-actions a:focus-visible{outline-color:#90d9f1}
.model-dialog { background:#102a3b;color:#e4f3fa;border-color:#638ca2; }
.model-toolbar,.model-footer { border-color:#608ba23d; }.model-toolbar a,.model-toolbar button{color:#b0e4f5}.model-viewport{background:#132d3b}.model-footer p{color:#b3ccd8}.model-footer button{background:#234659;color:#e6f6fc;border-color:#769eb255}
@media(max-width:1199px) { html body .story-rail { display:none!important; } }
@media(pointer:coarse) { html body .cursor-energy { display:none!important; }html body .particle-field{opacity:.48!important;} }
@media(prefers-reduced-motion:reduce) { html body .particle-field,html body .cursor-energy{display:none!important;}html body .story-object{animation:none!important;} }

/* Click/tap anywhere on the picture; native controls keep their own hit area. */
.film-stage .film-picture-toggle {
  position:absolute; inset:0 0 3.5rem; z-index:3; display:block;
  width:100%; margin:0; padding:0; border:0; border-radius:0;
  background:transparent; appearance:none; cursor:pointer; touch-action:manipulation;
}
.film-stage .film-picture-toggle:focus-visible { outline:2px solid #9ad8ed; outline-offset:-5px; }

/* Clearer type, a bright exhibition invitation and grouped download tiles. */
html body .story-header-content .company-tagline { font-size:.8rem!important; line-height:1.4!important; }
html body .header-video-link span { font-size:.75rem!important; }
html body .header-phones > span { font-size:.76rem!important; }
html body .header-phones .header-office-hours { font-size:.78rem!important; }
html body .header-phones a { font-size:.88rem!important; min-height:2.5rem!important; }
html body .language-select__current { font-size:.88rem!important; }
html body .scene-heading h2,html body .scene-copy--about .scene-heading h2,html body .scene-copy--contact .scene-heading h2 { font-size:clamp(2.6rem,3.65vw,4.4rem)!important; line-height:1.06!important; }
html body .feature-block .feature-list li { font-size:clamp(1.08rem,1.16vw,1.26rem)!important; line-height:1.65!important; color:#d2e2ea!important; }
html body .feature-block h3 { font-size:clamp(1.22rem,1.5vw,1.65rem)!important; line-height:1.4!important; }
html body .film-copy>p:not(.film-kicker) { font-size:clamp(1.08rem,1.2vw,1.3rem)!important; }
html body .scene-copy--about .lead-copy { font-size:clamp(1.15rem,1.65vw,1.5rem)!important; }
html body .story-drawing b { font-size:1.08rem!important; white-space:normal!important; text-overflow:clip!important; }
html body .story-drawing b small { font-size:.78rem!important; }
html body .story-drawings__header strong { font-size:1rem!important; }
html body .story-drawings__header small { font-size:.9rem!important; }
html body .contact-card__copy small { font-size:.8rem!important; }
html body .scene-copy--contact .contact-card .contact-card__copy>span { font-size:.95rem!important; line-height:1.5!important; }
.model-footer p { font-size:.875rem; }.model-toolbar small { font-size:.8rem; }
.expo-note { position:relative; isolation:isolate; gap:1.5rem; margin-top:1.3rem; padding:1.25rem 1.5rem; border:1px solid #ffffff; border-left:5px solid #8dd7e8; border-radius:6px; background:#eff6f7; color:#143749; box-shadow:0 8px 25px #061b2926; }
.expo-date { padding-right:1.5rem; border-color:#c0d5dc; }
.expo-date strong { color:#17475e; font-size:2.15rem; }
.expo-date span { color:#355e70; font-size:.74rem; letter-spacing:.04em; }
.expo-note h2 { color:#163b50; font-size:clamp(1.12rem,1.3vw,1.4rem); line-height:1.3; }
.expo-note p { color:#3d5c6c; font-size:1rem; line-height:1.55; }
.expo-mark { color:#3f687b; font-size:.8rem; font-weight:600; }
html body .downloads-hub { margin-top:1.15rem; padding:1.25rem 1.4rem 1.4rem; border:1px solid #93cce347; border-radius:7px; background:linear-gradient(115deg,#284e63cf,#193c51d9); box-shadow:inset 0 1px #effaff0d,0 8px 28px #031a2724; }
.downloads-hub>header { margin-bottom:1rem; }
.downloads-hub h2 { font-size:1.25rem; font-weight:650; letter-spacing:-.01em; }
.materials-groups { grid-template-columns:minmax(0,2fr) minmax(0,3fr); gap:1.5rem; }
.materials-group { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem; min-width:0; align-content:start; }
.materials-group:nth-child(2) { grid-template-columns:repeat(3,minmax(0,1fr)); }
.materials-group h3 { grid-column:1/-1; font-size:.8rem; font-weight:650; letter-spacing:.08em; color:#c4e0eb; margin:0 0 .1rem; }
.material-row,.material-row:last-child { display:flex; flex-direction:column; align-items:stretch; justify-content:space-between; gap:.85rem; min-width:0; min-height:7.3rem; padding:.85rem; border:1px solid #91c9de55; border-radius:5px; background:linear-gradient(135deg,#365f7480,#16394dc9); box-shadow:inset 0 1px #ffffff0b; transition:transform .2s ease,border-color .2s ease,background .2s ease; }
.material-row:hover,.material-row:focus-within { background:#365f74; border-color:#a6dfef; transform:translateY(-2px); }
.material-row h4 { color:#f1faff; font-size:1rem; line-height:1.4; font-weight:600; overflow-wrap:anywhere; }
.material-actions { margin:0; gap:.5rem; justify-content:space-between; flex-wrap:wrap; }
.material-actions a { display:inline-flex; align-items:center; min-height:2.2rem; padding:.3rem .5rem; border:1px solid #95cadd50; border-radius:3px; font-size:.86rem; font-weight:550; line-height:1.2; text-decoration:none; color:#d2f2fc; }
.material-actions a:last-child { font-size:.82rem; color:#f0fbff; background:#abcbd719; }
.material-actions a:hover { background:#9bd8eb22; border-color:#b4e8f6; }
@media(max-width:1199px) {
 .materials-groups { grid-template-columns:1fr; gap:1rem; }
 .material-row,.material-row:last-child { min-height:6.1rem; }
}
@media(max-width:799px) {
 html body .story-header-content .company-tagline { font-size:.7rem!important; }
 html body .header-video-link span { font-size:.72rem!important; }
 html body .header-phones > span { font-size:.7rem!important; }
 html body .header-phones .header-office-hours { font-size:.7rem!important; }
 html body .header-phones a { font-size:.83rem!important; }
 html body .story-scene:not(.story-scene--film) .scene-heading h2,html body .story-scene--about .scene-heading h2,html body .story-scene--contact .scene-heading h2 { font-size:clamp(1.45rem,4.6vw,2rem)!important; line-height:1.12!important; }
 html body .feature-block .feature-list li { font-size:1.06rem!important; }
 .expo-note { gap:1rem; padding:1rem; }.expo-date{padding-right:1rem}.expo-date strong{font-size:1.9rem}.expo-date span{font-size:.68rem}.expo-note h2{font-size:1.1rem}.expo-note p{font-size:.94rem}
 html body .downloads-hub { padding:1rem; }.downloads-hub h2{font-size:1.18rem}
}
@media(max-width:599px) {
 .materials-group,.materials-group:nth-child(2) { grid-template-columns:1fr; }
 .material-row,.material-row:last-child { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; min-height:4.9rem; gap:.7rem; padding:.7rem .8rem; }
 .material-row h4 { font-size:.98rem; }
 .material-actions { flex-direction:column; gap:.3rem; align-items:stretch; }
 .material-actions a { justify-content:center; min-height:1.85rem; font-size:.82rem; }
 .material-actions a:last-child { font-size:.8rem; }
 .expo-note { flex-wrap:wrap; gap:.8rem; }
 .expo-date { display:flex; align-items:baseline; gap:.6rem; width:100%; border:0; padding:0 0 .7rem; border-bottom:1px solid #c2d5dc; }
 .expo-date strong { font-size:1.85rem; }.expo-date span { font-size:.75rem; }
}
@media(max-width:379px) { html body .story-header-content .company-tagline { font-size:.65rem!important; }html body .header-phones a{font-size:.78rem!important;} }

@media(min-width:1200px) { .materials-group { align-content:stretch; grid-template-rows:auto 1fr; } }

/* Machined edges: compact blue resource console, without HUD numbering. */
html body .downloads-hub { padding:.7rem 1rem .9rem; background:linear-gradient(110deg,#396b83ed,#28536ce8); border-radius:0; border:0; border-top:2px solid #91cee1; clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,18px 100%,0 calc(100% - 18px)); }
.downloads-hub>header { margin-bottom:.45rem; }.downloads-hub h2 { font-size:1.35rem; }
.materials-groups { grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr) minmax(0,1fr); gap:1.1rem; }
.materials-group,.materials-group:nth-child(2) { display:flex; flex-direction:column; gap:.3rem; }
.materials-group h3 { margin:0 0 .15rem; font-size:.9rem; color:#e1f3fc; }
.material-row,.material-row:last-child { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:.6rem; min-height:0; padding:.35rem .65rem; border:0; border-left:2px solid #8ec8dc80; border-radius:0; background:#123a5099; box-shadow:none; }
.material-row h4 { font-size:1.05rem; line-height:1.25; }
.material-actions { flex-direction:row; flex-wrap:nowrap; align-items:center; justify-content:end; gap:.4rem; }
.material-actions a,.material-actions a:last-child { min-height:1.9rem; padding:.2rem .3rem; font-size:.84rem; border:0; border-radius:0; background:transparent; text-decoration:underline; text-underline-offset:3px; }
.materials-group--documents .material-row { grid-template-columns:1fr; gap:.25rem; }.materials-group--documents .material-actions { justify-content:start; }
html body .story-drawing,html body .catalog-launch,html body .catalog-download,html body .scene-copy--contact .contact-card { border-radius:0!important; clip-path:polygon(0 0,calc(100% - 13px) 0,100% 13px,100% 100%,13px 100%,0 calc(100% - 13px)); border-left:2px solid #92c9db!important; }
html body .story-drawing:focus-visible,html body .catalog-launch:focus-visible,html body .catalog-download:focus-visible,html body .contact-card:focus-visible { outline:2px solid #c7f2ff!important; outline-offset:-4px!important; }
html body .story-header-content { grid-template-columns:14rem minmax(8rem,1fr) minmax(12rem,1.15fr) minmax(18rem,1.3fr) 9rem!important; }
html body .story-header-content .topbar { height:7rem!important; padding:0!important; border:0!important; background:transparent!important; box-shadow:none!important; }
html body .story-header-content .brand,html body.is-ready .story-header-content .brand { width:14rem!important; max-width:100%!important; }
html body .story-header-content .brand img { max-height:7rem!important; }
@media(max-width:1399px) and (min-width:800px) {
 html body .story-header-content { grid-template-columns:12rem minmax(0,1fr) minmax(18rem,1fr) 9rem!important; grid-template-areas:"logo tagline phones language" "videos videos videos videos"!important; }
 html body .story-header-content .story-video-shelf { height:3.3rem!important; }
}
@media(max-width:1099px) { .materials-groups { grid-template-columns:1fr 1.3fr; }.materials-group--documents { grid-column:1/-1; }.materials-group--documents .material-row { grid-template-columns:minmax(0,1fr) auto; } }
@media(max-width:799px) {
 html body .story-header-content { grid-template-columns:10rem minmax(0,1fr) 5rem!important; }
 html body .story-header-content .topbar { height:5.5rem!important; }
 html body .story-header-content .company-tagline { font-size:.65rem!important; }
 html body .language-select__current { display:none!important; }
 html body .language-select__trigger { grid-template-columns:auto auto!important; }
 .materials-groups { grid-template-columns:1fr; gap:.6rem; }.materials-group--documents { grid-column:auto; }
 html body .downloads-hub { padding:.7rem .75rem .85rem; }
 .material-row h4 { font-size:1rem; }.materials-group--documents .material-row { grid-template-columns:1fr; }
}
@media(max-width:479px) {
 html body .story-header-content { grid-template-columns:10rem minmax(0,1fr) 4.25rem!important; grid-template-areas:"logo logo language" "tagline tagline tagline" "phones phones phones" "videos videos videos"!important; }
 html body .story-header-content .topbar { width:10rem!important; height:4.8rem!important; }
 html body .story-header-content .company-tagline { font-size:.68rem!important; text-align:left!important; }
 .material-row,.material-row:last-child { padding:.35rem .45rem; gap:.35rem; }.material-actions{gap:.2rem}.material-actions a,.material-actions a:last-child{font-size:.8rem;padding:.2rem;}
}

@media(min-width:800px) {
 html body .downloads-hub { padding:.5rem 1rem .6rem; }
 .downloads-hub>header { margin-bottom:.3rem; }
 .materials-group,.materials-group:nth-child(2) { gap:.2rem; }
 .material-row,.material-row:last-child { padding:.1rem .55rem; }
 .material-actions a,.material-actions a:last-child { min-height:1.65rem; padding:.15rem .25rem; }
}
@media(min-width:800px) and (max-width:949px) {
 html body .story-header-content { grid-template-columns:12rem minmax(0,1fr) 9rem!important; grid-template-areas:"logo tagline language" "phones phones phones" "videos videos videos"!important; }
 html body .story-header-content .header-phones { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
}

/* Materials library: larger targets and clear distinctions between file types. */
html body .downloads-hub { margin:1.35rem clamp(1rem,5vw,6rem) 2.2rem; padding:1.2rem 1.35rem 1.35rem; background:linear-gradient(112deg,#426c82f0,#2d536cef); border:1px solid #9ed7e777; border-left:4px solid #a9e2ee; clip-path:polygon(0 0,calc(100% - 17px) 0,100% 17px,100% 100%,0 100%); box-shadow:0 18px 36px #03162235,inset 0 1px #f0fdff18; }
.downloads-hub>header { display:flex; justify-content:space-between; align-items:start; gap:1rem; margin-bottom:1rem; padding-bottom:.85rem; border-bottom:1px solid #aed6e541; }
.downloads-hub h2 { font-size:clamp(1.4rem,1.7vw,1.7rem); line-height:1.2; margin:0 0 .3rem; }
.downloads-hub>header p { margin:0; color:#d0e6ee; font-size:.96rem; line-height:1.45; }
.downloads-hub__count { flex:none; margin-top:.25rem; color:#c9e8f2; font-size:.73rem; font-weight:700; letter-spacing:.13em; }
.materials-groups { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.2rem; }
.materials-group,.materials-group:nth-child(2),.materials-group--documents { display:flex; flex-direction:column; gap:.55rem; min-width:0; grid-column:auto; align-content:initial; grid-template-rows:none; }
.materials-group h3 { font-size:.92rem; letter-spacing:.08em; margin:0 0 .15rem; color:#e9f8fc; }
.material-row,.material-row:last-child,.materials-group--documents .material-row { display:flex; flex-direction:column; align-items:stretch; justify-content:space-between; gap:.65rem; min-height:6.1rem; padding:.85rem .9rem; background:linear-gradient(120deg,#143e55cf,#193c51e5); border:1px solid #a4cddd5c; border-left:2px solid #8bd1e7; box-shadow:inset 0 1px #ffffff12; clip-path:polygon(0 0,calc(100% - 9px) 0,100% 9px,100% 100%,0 100%); }
.material-row--model { min-height:5.7rem!important; }
.material-row__copy h4 { margin:0; color:#f4fbff; font-size:1.03rem; font-weight:670; line-height:1.32; overflow-wrap:anywhere; }
.material-row__copy p { margin:.15rem 0 0; color:#aad1df; font-size:.8rem; line-height:1.25; }
.material-row .material-actions,.materials-group--documents .material-actions { display:flex; flex-direction:row; flex-wrap:wrap; align-items:center; justify-content:flex-start; gap:.5rem; margin:0; }
.material-row .material-actions a,.material-row .material-actions a:last-child { display:inline-flex; align-items:center; justify-content:center; min-height:2rem; padding:.32rem .7rem; border:1px solid #add9e75e; border-radius:2px; color:#eaf8fd; background:#a2d0de14; text-decoration:none; font-size:.83rem; font-weight:650; line-height:1.2; }
.material-row .material-actions a:hover,.material-row .material-actions a:focus-visible { border-color:#daf6ff; background:#a9dcec30; color:#fff; }
.material-row--document .material-row__copy h4 { max-width:32ch; }
@media(max-width:1100px) { .materials-groups { grid-template-columns:repeat(2,minmax(0,1fr)); }.materials-group--documents { grid-column:1/-1; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-content:start; }.materials-group--documents h3 { grid-column:1/-1; } }
@media(max-width:680px) { html body .downloads-hub { padding:1rem .85rem 1.1rem; }.downloads-hub>header { margin-bottom:.85rem; }.downloads-hub__count { display:none; }.downloads-hub>header p { font-size:.87rem; }.materials-groups { grid-template-columns:1fr; gap:1rem; }.materials-group--documents { grid-column:auto; grid-template-columns:1fr; }.material-row,.material-row:last-child,.materials-group--documents .material-row { min-height:0; padding:.75rem .8rem; gap:.6rem; }.material-row--model { min-height:0!important; }.material-row .material-actions a,.material-row .material-actions a:last-child { min-height:2.2rem; } }

@media(min-width:1101px) {
 .materials-group:nth-child(2) { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:auto auto auto; align-content:start; gap:.55rem; }
 .materials-group:nth-child(2) h3,.materials-group:nth-child(2) .material-row:last-child { grid-column:1/-1; }
}
.material-row,.material-row:last-child,.materials-group--documents .material-row { padding:.65rem .75rem; gap:.4rem; }
.material-row .material-actions a,.material-row .material-actions a:last-child { min-height:1.9rem; }
@media(max-width:680px) { .material-row,.material-row:last-child,.materials-group--documents .material-row { padding:.75rem .8rem; gap:.6rem; } .material-row .material-actions a,.material-row .material-actions a:last-child { min-height:2.2rem; } }


/* Keep animation and GPU layers only for sections near the viewport. */
html body .story-scene:not(.is-near-viewport) *,
html body .story-scene:not(.is-near-viewport) *::before,
html body .story-scene:not(.is-near-viewport) *::after {
  animation-play-state: paused !important;
  will-change: auto !important;
}

/* Entire material tile opens its preview; downloads live in the viewer toolbar. */
html body .downloads-hub a.material-row,
html body .downloads-hub a.material-row:last-child,
html body .downloads-hub .materials-group--documents a.material-row {
  position:relative;display:flex;flex-direction:row;align-items:center;justify-content:space-between;
  min-height:5rem;gap:.9rem;padding:.75rem .85rem;text-decoration:none;color:#f4fbff;
  cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease;
}
html body .downloads-hub a.material-row:hover {
  background:linear-gradient(120deg,#215b76e8,#1c4d68f0);
  border-color:#c1eeff;box-shadow:inset 0 1px #ffffff20,0 6px 18px #061b2a4d;
  transform:translateY(-2px);
}
html body .downloads-hub a.material-row:focus-visible { outline:3px solid #d5f6ff;outline-offset:3px; }
.material-row__copy { display:flex;flex-direction:column;min-width:0; }
.material-row__title { color:#f4fbff;font-size:1.03rem;font-weight:670;line-height:1.32;overflow-wrap:anywhere; }
.material-row__meta { color:#aed5e4;font-size:.8rem;line-height:1.25;margin-top:.15rem; }
.material-row__arrow { flex:none;align-self:center;color:#9fe5f5;font-size:1.2rem;line-height:1;transition:transform .2s ease; }
a.material-row:hover .material-row__arrow { transform:translate(2px,-2px); }
@media(max-width:680px) {
 html body .downloads-hub a.material-row,html body .downloads-hub a.material-row:last-child,
 html body .downloads-hub .materials-group--documents a.material-row { min-height:4.2rem; }
}
