@font-face{font-family:Manrope;src:url('assets/manrope-latin.woff2') format('woff2');font-weight:200 800;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F}@font-face{font-family:Manrope;src:url('assets/manrope-cyrillic.woff2') format('woff2');font-weight:200 800;font-display:swap;unicode-range:U+0400-052F}
:root{font-family:Manrope,Arial,sans-serif;color:#f3f5f6;background:#080b0d;color-scheme:dark;--red:#ff3339;--muted:#a7b1ba}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid #fff;outline-offset:6px}button{border:0;background:none}button:disabled{opacity:.28;cursor:default}[hidden]{display:none!important}.skip{position:fixed;top:-100px;left:20px;background:#fff;color:#000;padding:15px;z-index:30}.skip:focus{top:10px}.experience{position:relative;isolation:isolate;overflow:hidden;min-height:100svh}.atmosphere{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#05090be6,transparent 70%),linear-gradient(0deg,#05090b 0%,transparent 35%),url('assets/background.webp') center/cover no-repeat}.atmosphere:after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 61% 34%,transparent,#05080944 65%)}header{height:104px;padding:20px 4%;display:flex;align-items:center;gap:32px;position:relative;z-index:10}.brand{width:235px;flex-shrink:0;display:block}.brand img{display:block;width:100%;height:auto}.brand span{display:block;font-size:10px;letter-spacing:.29em;margin-top:12px;white-space:nowrap;color:#bdc5cd}nav{display:flex;gap:29px;align-items:center;margin:auto}nav a,nav button{font-size:13px;padding:8px 0;white-space:nowrap}nav .current{border-bottom:1px solid #ed343b}nav button:hover,nav a:hover{color:#fff;text-shadow:0 0 10px #fff5}.mode{display:flex;gap:10px;align-items:center;padding:8px 0;font-size:11px}.mode>span:last-child{color:#a4afb8}.toggle{width:37px;height:20px;border-radius:20px;background:#666d71;box-shadow:inset 0 1px 3px #0007;position:relative}.toggle:after{content:'';display:block;border-radius:50%;width:18px;height:18px;background:#fff;position:absolute;top:1px;left:1px;box-shadow:0 1px 6px #0005}.language{font-size:12px;border-left:1px solid #5559;padding-left:25px}.menu-button{width:36px;min-height:44px;padding:10px 2px;display:flex;flex-direction:column;justify-content:center;gap:7px}.menu-button span{height:1px;background:#d5dade;display:block;width:28px}.hero{height:calc(100svh - 174px);min-height:620px;position:relative;max-width:1800px;margin:auto}.copy{position:absolute;top:25%;left:4%;z-index:3;width:48%}.ghost{position:absolute;top:-150px;left:-5px;height:250px;width:190px;opacity:.07;z-index:-1}.red-dash{display:block;width:46px;height:3px;background:var(--red);margin-bottom:22px}.copy>.red-dash{margin-left:195px;margin-bottom:20px;width:45px}h1{font-size:clamp(48px,5.3vw,86px);line-height:1.08;letter-spacing:-.035em;font-weight:800;margin:0;white-space:nowrap}.headline-last{display:flex;gap:14px;align-items:center}.headline-last img{width:1.1em;height:1em;object-fit:contain}.copy p{font-size:clamp(17px,1.75vw,27px);color:var(--muted);letter-spacing:-.025em;margin:16px 0}.product-stage{position:absolute;left:48%;width:34%;top:0;height:67%;perspective:1000px;z-index:1;pointer-events:none}.product-visual{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;will-change:transform,opacity;transform-origin:50% 90%;pointer-events:none}.product-visual img{height:100%;width:100%;object-fit:contain;filter:drop-shadow(0 16px 20px #0008)}.product-visual[data-id=sensing] img{width:65%}.product-visual[data-id=switching] img{height:96%}.product-visual.preview img{max-height:62%;opacity:.62}.preview-caption{position:absolute;bottom:16%;left:0;right:0;text-align:center;color:#9faab2;font-size:12px;letter-spacing:.06em}.product-info{position:absolute;top:15%;right:4%;width:12%;min-width:140px;z-index:4}.counter{display:flex;gap:9px;align-items:baseline}.counter span:first-child{font-size:25px;font-weight:600}.counter span:last-child{font-size:13px;color:#9ba5ae}.product-info h2{font-size:clamp(20px,1.8vw,29px);font-weight:650;margin:8px 0 26px;letter-spacing:-.02em}.product-info .red-dash{margin:0 0 28px}.product-info>p:not(.detail):not(.status){font-size:19px;line-height:1.45;margin:0 0 14px}.detail{font-size:12px;line-height:1.7;color:#a2adb6;max-width:180px}.action{display:flex;gap:14px;align-items:center;font-size:13px;margin-top:35px;white-space:nowrap}.arrow-circle{display:grid;place-items:center;font-size:28px;font-weight:200;border:1px solid #c3cbd2;width:56px;height:56px;border-radius:50%;transition:background .2s,border-color .2s}.action:hover .arrow-circle{border-color:var(--red);background:#c2243020}.status{color:#adb7c1;font-size:15px;line-height:1.5;margin-top:32px}.selector{position:absolute;width:min(74%,1120px);aspect-ratio:1000/340;bottom:5px;left:50%;transform:translateX(-50%);z-index:5;touch-action:pan-y}.instrument{display:block;position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;filter:drop-shadow(0 15px 22px #000b)}.instrument text{fill:#aeb8c0;font-family:Manrope,Arial;font-size:13px}.instrument .major{stroke:#b5c0c6;stroke-width:1}.instrument .minor{stroke:#748189;stroke-width:.7;opacity:.7}#needle{filter:drop-shadow(0 0 5px #ff3333);transition:none}.sectors{position:absolute;inset:0}.sector{position:absolute;transform:translate(-50%,-50%);width:112px;display:flex;flex-direction:column;align-items:center;gap:9px;padding:6px 4px;z-index:3}.sector .miniature{display:grid;place-items:center;width:76px;height:78px;position:relative}.miniature:before{content:'';position:absolute;width:80px;height:80px;border:1px solid transparent;border-radius:50%;transition:.25s}.miniature img{max-width:64px;height:68px;object-fit:contain;filter:brightness(.9) saturate(.55);transition:filter .3s,transform .3s}.sector[data-id=sensing] .miniature img{height:72px}.sector[data-id=connection] .miniature img,.sector[data-id=computing] .miniature img{max-width:76px}.sector>span:last-child{font-size:12px;font-weight:600;letter-spacing:.015em}.sector:hover .miniature img{transform:translateY(-4px);filter:brightness(1.1)}.sector[aria-pressed=true]{color:#fff;text-shadow:0 0 15px #ff2424}.sector[aria-pressed=true] .miniature:before{border-color:#ff444455;box-shadow:0 0 22px #ff24241c;background:#ff242408}.sector[aria-pressed=true] .miniature img{filter:none}.sector[aria-pressed=true]>span:last-child{color:#ff7779}.hub{position:absolute;left:50%;top:88.2%;transform:translate(-50%,-50%);width:108px;aspect-ratio:1;border-radius:50%;background:conic-gradient(from 30deg,#777f86,#191e22 15%,#d4dbe1 24%,#424a50 29%,#838c93 40%,#0c1012 51%,#949da3 64%,#252e34 78%,#b8bec4 85%,#777f86);border:1px solid #aeb5bc;box-shadow:0 8px 22px #000b,inset 0 0 0 5px #10181b66;display:grid;place-items:center;cursor:grab;touch-action:none;z-index:5}.hub:active{cursor:grabbing}.hub:after{content:'';position:absolute;inset:17%;border-radius:50%;background:radial-gradient(circle at 35% 25%,#202b31,#020507 75%);box-shadow:0 0 0 1px #d4dbe14d}.hub img{position:relative;z-index:2;width:42%;user-select:none}.hub-ring{position:absolute;inset:4px;border:1px solid #d5dbe24d;border-radius:50%;transform:rotate(var(--angle,0deg))}.hub-ring:before{content:'';position:absolute;top:3px;left:50%;width:2px;height:8px;background:#e8ecef}.selector-caption{position:absolute;left:50%;bottom:-17px;transform:translateX(-50%);font-size:11px;letter-spacing:.15em;white-space:nowrap;color:#bfc9d1}footer{height:70px;display:flex;align-items:center;gap:24px;border-top:1px solid #b3c0c326;margin:0 4%;font-size:11px;letter-spacing:.14em;color:#aebac3}footer .footer-line{width:28px;height:2px;background:var(--red)}.footer-category{margin-left:auto;letter-spacing:.07em;color:#75818a}.pager{display:flex;border-left:1px solid #7d8b9344;margin-left:12px;padding-left:18px;gap:10px}.pager button{font-size:30px;min-width:45px;min-height:44px;font-weight:200}.pager button:hover:not(:disabled){color:#ff6266}dialog{width:min(580px,calc(100% - 32px));padding:48px;border:1px solid #64717a;background:#0d1318;color:#eef3f6;box-shadow:0 40px 100px #000;border-radius:3px}dialog::backdrop{background:#020507bc;backdrop-filter:blur(10px)}dialog h2{font-size:28px;margin:0 0 25px}dialog p{font-size:16px;color:#b6c1ca;line-height:1.8}dialog a{display:inline-block;border-bottom:1px solid #e24f54;padding-bottom:5px}dialog .dialog-close{position:absolute;right:10px;top:4px;font-size:34px;width:44px;height:44px;color:#b9c5ce}.dialog-nav{display:flex;flex-direction:column;gap:14px}.dialog-nav button{text-align:left;font-size:18px;padding:10px;border-bottom:1px solid #fff2}.fallback{padding:30px}.dragging .sector{pointer-events:none}
@media(min-width:1800px){header,footer{max-width:1800px;margin-left:auto;margin-right:auto}.copy{top:24%}.selector{bottom:20px}}
@media(max-width:1200px){header{gap:20px}.brand{width:190px}nav{gap:18px}nav a,nav button{font-size:12px}.language{display:none}.mode{font-size:10px;gap:6px}.hero{min-height:580px}.product-info{right:3%;min-width:125px}.product-info>p:not(.detail):not(.status){font-size:16px}.product-info h2{font-size:20px}.copy{width:49%}h1{font-size:5.1vw}.headline-last{gap:7px}.sector{width:94px}.sector .miniature{height:63px;width:64px}.miniature img{height:56px;max-width:54px}.sector[data-id=sensing] .miniature img{height:60px}.sector>span:last-child{font-size:10px}.hub{width:88px}.selector{width:82%}.selector-caption{bottom:-24px}.detail{font-size:12px}.action{gap:8px}.arrow-circle{width:44px;height:44px}}
@media(max-width:950px){header nav{display:none}.mode{margin-left:auto}.product-info{right:3%;min-width:115px;width:16%}.product-stage{left:48%;width:34%;height:61%}.copy{top:25%}.copy p{font-size:16px;max-width:310px}.copy>.red-dash{margin-left:130px}.ghost{height:205px;top:-120px;width:145px}.selector{width:94%}.product-info h2{font-size:18px}.hero{min-height:600px}.detail{display:none}.counter span:first-child{font-size:22px}}
@media(max-width:650px){header{height:88px;padding:15px 5%;gap:14px;flex-wrap:wrap}.brand{width:165px}.brand span{font-size:8px;letter-spacing:.25em;margin-top:8px}.mode{font-size:9px;gap:5px}.mode>span:last-child{display:none}.toggle{width:30px;height:17px}.toggle:after{width:15px;height:15px}.menu-button{width:25px;padding:8px 0}.menu-button span{width:24px}.hero{height:auto;min-height:805px}.copy{left:6%;top:53px;width:88%}.copy>.red-dash{margin:0 0 12px 110px;width:30px;height:2px}.ghost{height:170px;width:125px;top:-55px;left:-4px;opacity:.055}h1{font-size:clamp(35px,8.7vw,57px);line-height:1.03}.headline-last{gap:8px}.copy p{font-size:16px;max-width:100%;margin:15px 0}.product-stage{top:260px;left:27%;width:66%;height:300px}.product-visual[data-id=sensing] img{width:64%}.product-visual[data-id=switching] img{width:100%}.product-info{left:6%;right:auto;top:294px;width:32%;min-width:0}.product-info h2{font-size:16px;margin-bottom:16px}.counter span:first-child{font-size:19px}.counter span:last-child{font-size:11px}.product-info .red-dash{width:29px;margin-bottom:18px;height:2px}.product-info>p:not(.detail):not(.status){font-size:15px;line-height:1.4}.status{font-size:12px;margin-top:20px;max-width:100px}.action{font-size:12px;margin-top:23px;gap:8px}.arrow-circle{width:35px;height:35px;font-size:22px;flex-shrink:0}.selector{bottom:26px;width:100%;aspect-ratio:auto;height:205px}.instrument{top:0;height:100%;width:100%}.sector{width:70px;gap:4px;padding:4px 0;min-height:70px}.sector .miniature{width:48px;height:50px}.miniature img{height:43px;max-width:42px}.sector[data-id=sensing] .miniature img{height:48px}.sector[data-id=connection] .miniature img,.sector[data-id=computing] .miniature img{max-width:48px}.miniature:before{height:53px;width:53px}.sector>span:last-child{font-size:8px;letter-spacing:0}.hub{width:72px;top:85%}.selector-caption{font-size:9px;bottom:-15px}.preview-caption{font-size:10px;bottom:15%;padding-left:20px}.atmosphere{background-position:60% center;background-size:auto 100%;opacity:.8}footer{height:62px;margin:0 6%;gap:10px;font-size:8px;letter-spacing:.12em}footer>span:first-child{max-width:155px;line-height:1.8}.footer-category,.footer-line{display:none}.pager{margin-left:auto;padding-left:10px;gap:4px}.pager button{font-size:26px;min-width:40px}.instrument text{font-size:20px}.instrument{overflow:visible}.instrument path{vector-effect:non-scaling-stroke}dialog{padding:35px 25px}dialog h2{font-size:24px}}
@media(max-width:360px){header{gap:9px}.brand{width:144px}.mode{font-size:8px}.hero{min-height:800px}.sector>span:last-child{font-size:7px}.product-info h2{font-size:14px}.product-stage{left:31%;width:65%}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.product-visual{will-change:auto}}
/* Keep the heading clear of the instrument, and enlarge mobile labels. */
.copy{top:21%}.mobile-label{display:none}
@media(max-width:650px){.hero{height:calc(100svh - 150px);min-height:690px}.copy{top:35px}.product-stage{top:225px;height:275px}.product-info{top:250px}.selector{height:185px;bottom:26px}.sector .desktop-label{display:none}.sector .mobile-label{display:inline;font-size:10px;letter-spacing:.02em}.hub{top:88.2%}.selector-caption{bottom:-16px}}

/* A compact instrument below the product, scaled uniformly rather than stretched. */
.hero{
  --instrument-width:min(66vw,960px,calc((100svh - 174px) * 1.1));
  --instrument-height:calc(var(--instrument-width) * .32);
}
.selector{
  width:var(--instrument-width);
  height:var(--instrument-height);
  aspect-ratio:1000/320;
  bottom:30px;
}
.instrument{filter:drop-shadow(0 8px 14px #0006)}
.instrument>path:nth-of-type(1){stroke:#647279;stroke-opacity:.5}
.instrument>path:nth-of-type(2){stroke:#b1bec5;stroke-opacity:.7}
.instrument .minor{opacity:.45}
.instrument .major{stroke-opacity:.7}
.product-stage{height:calc(100% - var(--instrument-height) - 44px)}
.hub{top:88.44%;width:88px;box-shadow:0 5px 13px #0008,inset 0 0 0 4px #10181b66}
.selector-caption{bottom:-20px}
.sector .miniature{height:68px}
.miniature img{height:60px}
.sector[data-id=sensing] .miniature img{height:64px}
@media(min-width:651px) and (max-width:950px){
  .hero{--instrument-width:min(90vw,calc((100svh - 174px) * 1.1))}
}
@media(max-width:650px){
  .hero{--instrument-width:100vw;--instrument-height:32vw;min-height:720px}
  .selector{height:var(--instrument-height);bottom:46px}
  .product-stage{height:275px}
  .hub{width:64px;top:88.44%}
  .sector .miniature{height:46px}
  .miniature img{height:40px}
  .sector[data-id=sensing] .miniature img{height:43px}
  .sector{gap:2px;min-height:64px}
  .selector-caption{bottom:-31px}
}

/* Studio lighting: preserve the reflected foreground and transparent instrument. */
.atmosphere{background:linear-gradient(90deg,#03080c70,transparent 48%),url('assets/studio-light-v2.webp') center/cover no-repeat}
.atmosphere:after{background:linear-gradient(180deg,#02060940,transparent 20%,transparent 86%,#050a0e40)}
.product-stage:before{content:'';position:absolute;inset:-10% -12% -4%;background:radial-gradient(ellipse at 54% 35%,#e4f5ff22,transparent 62%);pointer-events:none}
.product-stage:after{content:'';position:absolute;left:15%;right:15%;bottom:-9px;height:22px;background:radial-gradient(ellipse,#d1e9f846,transparent 70%);filter:blur(8px);pointer-events:none}
.product-visual img{filter:brightness(1.16) contrast(1.06) drop-shadow(-2px -2px 2px #d8efff66) drop-shadow(10px 18px 14px #0009)}
.instrument{filter:drop-shadow(0 8px 14px #0004)}
.instrument>path:nth-of-type(1){stroke:#c3d5df;stroke-opacity:.55}
.instrument>path:nth-of-type(2){stroke:#e0eff5;stroke-opacity:.9}
.instrument .minor{stroke:#b5cbd6;opacity:.65;stroke-width:.65}
.instrument .major{stroke:#eff8fc;stroke-opacity:.9;stroke-width:1}
.instrument text{fill:#d5e2e9;text-shadow:0 1px 5px #000}
.miniature img{filter:brightness(1.16) saturate(.9) drop-shadow(0 2px 5px #0008)}
.sector[aria-pressed=true] .miniature img{filter:brightness(1.2) drop-shadow(0 0 7px #ffc5bb40)}
.sector[aria-pressed=true] .miniature:before{border-color:#ff888878;background:radial-gradient(circle,#ff55331a,transparent 70%);box-shadow:0 0 24px #ff443326,inset 0 0 15px #ff553312}
.sector>span:last-child{text-shadow:0 2px 6px #000}
.hub{background:repeating-radial-gradient(circle,transparent 0 2px,#e0efff14 2.5px,transparent 3px),conic-gradient(from 25deg,#d9e6ef,#36444f 12%,#eef8ff 23%,#687984 28%,#adbdc8 39%,#253139 51%,#d4e3ec 64%,#394953 77%,#f0f7fc 85%,#879da9);box-shadow:0 6px 16px #0009,inset 0 0 0 3px #e1efff33,inset 0 0 0 5px #0c151b77;border-color:#d0e1ec}
.hub:after{background:radial-gradient(circle at 32% 20%,#34434c,#080e13 74%);box-shadow:0 0 0 1px #e3f2ff80,inset 0 2px 7px #000}
.copy p{color:#bac5cd}
footer{background:linear-gradient(90deg,transparent,#d5ebff05,transparent);color:#c3d0d9}
@media(max-width:650px){.atmosphere{opacity:1;background-position:59% center}.product-visual img{filter:brightness(1.13) contrast(1.05) drop-shadow(-1px -1px 1px #d8efff66) drop-shadow(6px 12px 10px #0009)}}

/* Ground each cutout on the studio support plane, with its own contact shadow. */
.product-stage:after{display:none}
.product-visual{align-items:flex-end}
.product-visual:not(.preview):before{content:'';position:absolute;left:var(--contact-x,50%);bottom:calc(var(--contact-rise,0px) - 7px);width:var(--contact-width,40%);height:15px;transform:translateX(-50%) rotate(var(--contact-rotation,0deg));background:radial-gradient(ellipse,#020405e6 0%,#020405a6 33%,#02040540 56%,transparent 73%);filter:blur(2px);pointer-events:none}
.product-visual:not(.preview) img{transform:translateY(var(--contact-offset,0px));filter:brightness(1.16) contrast(1.06) drop-shadow(-1px -1px 1px #d8efff40) drop-shadow(3px 5px 5px #0006)}
.product-visual.preview{align-items:center}

/* Let the hero product fill the space above its fixed support point. */
@media(min-width:651px){
 .product-stage{left:46%;width:38%;height:var(--ground-height,460px)}
 .product-visual[data-id=switching] img{height:100%}
}

/* Contact shadows follow the lower silhouette rather than floating beneath its centre. */
.product-visual:not(.preview):before{display:none}
.contact-shadow{position:absolute;overflow:visible;fill:#020304;opacity:.88;filter:blur(1.4px);pointer-events:none}
.product-visual:not(.preview) img{position:relative;filter:brightness(1.12) contrast(1.05)}

/* A short, non-blocking demonstration of the physical keyboard controls. */
.keyboard-hint{position:absolute;right:-165px;bottom:-22px;display:flex;align-items:center;gap:10px;color:#bdc9d0;font-size:10px;letter-spacing:.03em;pointer-events:auto}
.keyboard-hint-keys{display:grid;grid-template-columns:repeat(3,30px);grid-template-rows:repeat(2,25px);gap:6px;padding-bottom:4px}
.keyboard-hint .key-up{grid-column:2;grid-row:1}
.keyboard-hint .key-left{grid-column:1;grid-row:2}
.keyboard-hint .key-down{grid-column:2;grid-row:2}
.keyboard-hint .key-right{grid-column:3;grid-row:2}
.keyboard-hint button.key-muted{opacity:.32;animation:none}
.keyboard-hint button{display:grid;place-items:center;width:30px;height:25px;border-radius:5px;border:1px solid #aab8c080;background:linear-gradient(150deg,#53616b,#222d35 72%);box-shadow:0 4px 0 #11191f,0 5px 0 #7f929f66,0 7px 9px #0008,inset 0 1px 0 #eff8ff4d;color:#eef6fa;font:18px/1 Manrope,Arial,sans-serif;transform:translateY(0);animation:key-demonstration 4s 1s 2}
.keyboard-hint button:last-child{animation-delay:2.5s}
@keyframes key-demonstration{0%,18%,100%{transform:translateY(0);box-shadow:0 4px 0 #11191f,0 5px 0 #7f929f66,0 7px 9px #0008,inset 0 1px 0 #eff8ff4d}6%,12%{transform:translateY(3px);box-shadow:0 1px 0 #11191f,0 2px 0 #b4c9d977,0 3px 5px #0008,inset 0 1px 0 #fff8;color:#fff}}
.keyboard-hint.is-used button{animation:none}
.keyboard-hint button.is-pressed{animation:none;transform:translateY(3px);box-shadow:0 1px 0 #11191f,0 2px 0 #b4c9d977,0 3px 5px #0008,inset 0 1px 0 #fff8}
@media(max-width:1200px){.keyboard-hint{right:-95px}.keyboard-hint>span:last-child{display:none}}
@media(max-width:950px){.keyboard-hint{display:none}.keyboard-hint>span:last-child{display:none}}
@media(max-width:650px),(hover:none) and (pointer:coarse){.keyboard-hint{display:none}}
@media(prefers-reduced-motion:reduce){.keyboard-hint button.is-pressed{transform:none;color:#fff;border-color:#fff}}

/* Short satin reflections share the product's image coordinates and contact plane. */
.product-reflection{position:absolute;overflow:visible;pointer-events:none;opacity:.16;filter:blur(1.5px)}

/* A: low smoked-glass arc, polished edge and a substantial separate rotary dial. */
.instrument>path:nth-of-type(1){stroke:#bed0da;stroke-opacity:.65;stroke-width:1.4}
.instrument>path:nth-of-type(2){stroke:#e8f5ff;stroke-width:2;stroke-opacity:.9}
.instrument>path:nth-of-type(3){stroke:#d3e4ed;stroke-opacity:.45;stroke-width:.8}
.miniature:before{border-color:#b7cbd32b;background:radial-gradient(circle at 35% 22%,#24313b88,#020709ad);box-shadow:inset 0 1px 1px #ffffff0d}
.miniature img{position:relative}
.hub{width:78px}
@media(max-width:650px){.hub{width:60px}.sector .miniature{height:38px}.miniature img{height:34px}.sector[data-id=sensing] .miniature img{height:37px}.miniature:before{width:44px;height:44px}.sector{min-height:58px}.selector-caption{bottom:-30px}}

/* The rim catches the studio light; caption occupies its own footer space. */
.instrument>path:nth-of-type(2){stroke-opacity:.3;stroke-width:1}
footer{position:relative}
.footer-selector-caption{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);white-space:nowrap;font-size:11px;letter-spacing:.15em;color:#d0dbe2;max-width:none!important}
@media(max-width:650px){footer{height:82px;align-items:flex-end;padding-bottom:8px}.footer-selector-caption{top:12px;transform:translateX(-50%);font-size:9px}.hero{height:calc(100svh - 170px)}footer>span:nth-child(2){max-width:155px;line-height:1.8}}

/* A smaller hub allows a fuller arc to sit closer to the footer. */
@media(min-width:651px){.selector{bottom:12px}.keyboard-hint{right:-190px;bottom:0}}
@media(min-width:951px) and (max-width:1200px){.keyboard-hint{right:-115px}}
@media(max-width:650px){.hub{width:54px}.selector{bottom:32px}}
/* Neutral brushed metal, restrained reflections and a small contact shadow. */
.hub{background:repeating-radial-gradient(circle,transparent 0 1.5px,#ffffff0c 2px,transparent 2.5px),conic-gradient(from 22deg,#9b9e9f,#303536 13%,#e0e2e2 25%,#777c7e 31%,#a9adae 42%,#242a2c 52%,#bfc3c4 66%,#454b4d 78%,#e2e5e5 87%,#929899);border-color:#aeb6b9;box-shadow:0 4px 7px #0009,inset 0 0 0 2px #ffffff26,inset 0 0 0 4px #0c151b66}
.hub:after{background:radial-gradient(circle at 32% 20%,#1b2429,#060a0d 74%);box-shadow:0 0 0 1px #bcc8cd55,inset 0 2px 5px #000b}
.hub-ring{border-color:#d5dbe22e}
.instrument{filter:drop-shadow(0 3px 4px #0007)}

/* COMPUTING: a real macro photograph behind the panel, sharing the studio floor. */
.computing-atmosphere{position:absolute;z-index:-1;inset:0 0 auto 26%;height:60%;pointer-events:none;opacity:0;background:linear-gradient(90deg,#060a0fe6 0%,#060a0f66 48%,#060a0f77 100%),url('assets/computing-macro.webp') 72% 42%/cover no-repeat;mask-image:linear-gradient(to right,transparent,black 27%),linear-gradient(to bottom,black 0%,black 65%,transparent 100%);mask-composite:intersect;filter:saturate(.55)}
.product-visual[data-id=computing]{left:-12%;right:-1%}
.product-visual[data-id=computing]>img{width:100%;height:100%;filter:brightness(1.07) contrast(1.02)}
.sector[data-id=computing] .miniature img{width:76px;height:52px;max-width:76px}
@media(max-width:950px){.product-visual[data-id=computing]{left:-5%;right:0}}
@media(max-width:650px){.computing-atmosphere{left:12%;height:64%;background-position:65% 25%;mask-image:linear-gradient(to right,transparent,black 35%),linear-gradient(to bottom,black 10%,black 70%,transparent 100%)}.product-visual[data-id=computing]{left:0;right:0}.sector[data-id=computing] .miniature img{width:44px;height:30px;max-width:44px}}
@media(min-width:651px){.computing-atmosphere{background-image:linear-gradient(90deg,#060a0fee 0%,#060a0f55 48%,#060a0fc9 100%),url('assets/computing-macro.webp');background-size:auto,125% auto;background-position:center,right 78%}.product-visual[data-id=computing]{right:2%}}
@media(min-width:651px){.computing-atmosphere{background-position:center,right 100%}}
@media(max-width:650px){.computing-atmosphere{filter:saturate(.5) brightness(.65)}.product-visual[data-id=computing]{left:18%;right:-3%}}

/* Standalone proportion study C; original site unchanged. */
@media(min-width:651px){
.hero{--instrument-width:min(56.1vw,816.0px,calc((100svh - 174px) * 0.935));--instrument-height:calc(var(--instrument-width) * 0.415)}
.selector{bottom:6px;aspect-ratio:1000/415}
.hub{width:60px;top:91.08433734939759%}
.keyboard-hint{right:-205px;bottom:3px}
}

/* Footer-integrated instrument study. */
@media(min-width:651px){
.hero{--instrument-width:min(63vw,900px,calc((100svh - 174px) * 1.08));--instrument-height:calc(var(--instrument-width) * 0.415)}
.selector{bottom:calc(-22px - var(--instrument-width) * 0.025);isolation:isolate}
.selector:before,.selector:after{content:'';position:absolute;top:93.97590361445783%;height:1px;width:100vw;background:linear-gradient(90deg,transparent,#a9bac363);pointer-events:none;z-index:-1}
.selector:before{right:98%}.selector:after{left:98%;transform:rotate(180deg)}
.hub{width:70px;top:89.1566265060241%;box-shadow:0 6px 8px #000a,inset 0 0 0 2px #ffffff36,inset 0 0 0 5px #11191c}
footer{border:0;background:none;align-items:flex-end;padding-bottom:11px;height:70px;position:relative}
.footer-selector-caption{top:auto;bottom:2px;transform:translateX(-50%);font-size:9px;letter-spacing:.19em}
footer>span:nth-child(2){font-size:9px}.footer-category{display:none}.pager{margin-left:auto}.footer-line{display:none}
.keyboard-hint{right:-178px;bottom:48px;opacity:.7}
.keyboard-hint>span:last-child{display:none}
.product-visual[data-id=computing]{left:0;right:0}
.product-visual[data-id=computing]>img{width:100%;height:100%}
.product-visual[data-id=computing]:after{content:'';position:absolute;bottom:-4px;left:15%;width:70%;height:9px;border-radius:50%;background:#0009;filter:blur(3px);z-index:-1}
.sector[data-id=computing] .miniature img{height:62px;width:54px}

.miniature:before{border-color:#c2d4df20;background:radial-gradient(circle at 30% 20%,#62727d16,#0206094d);box-shadow:inset 0 1px 1px #ffffff12}
.instrument{filter:drop-shadow(0 5px 5px #0007)}
}
@media(min-width:651px){.instrument .glass-finishing>path:nth-child(3){stroke-width:5}.instrument .glass-finishing>path:first-child{stroke-width:7}.hub{width:96px;top:84.33734939759036%;border:2px solid #d8dcdc}.miniature:before{border-color:#aabbc333}.instrument .major{stroke-width:1.25}.selector:before,.selector:after{height:2px}.sector>span:last-child{letter-spacing:.06em;font-size:11px}}
/* Rear I/O photograph: diagonal port bank dissolves into the studio shadows. */
@media(min-width:651px){
.computing-atmosphere{
 inset:5% 4% auto auto;width:42%;height:29%;
 background-image:linear-gradient(110deg,#03080deb 0%,#050a1038 38%,#04080b6e 65%,#020609d9 100%),url('assets/computing-macro.webp');
 background-size:100% 100%,100% auto;background-position:center,center 58%;background-repeat:no-repeat;
 mask-image:radial-gradient(ellipse at 53% 47%,#000 15%,#000e 38%,transparent 73%);
 mask-composite:add;filter:saturate(.48) brightness(.8);
}
}

/* E1: centre the pictogram itself between the outer ellipse and inner arch. */
@media(min-width:1201px){.sector{transform:translate(-50%,-40px)}}
@media(min-width:651px) and (max-width:1200px){.sector{transform:translate(-50%,-40px)}}

/* Button and footer study e3. */
@media(min-width:651px){
.hub{width:120px;top:72.28915662650603%}
.selector:before,.selector:after{display:none}
.instrument>path:first-of-type{stroke:none}
.glass-finishing>path:first-child{stroke:none}
.glass-finishing>path:nth-child(2){stroke:none}
.footer-selector-caption{bottom:13px}
.selector:before,.selector:after{display:block;width:calc(var(--instrument-width) * .52);height:1px;top:93.97590361445783%;background:linear-gradient(90deg,transparent,#b6c9d9b3)}
.selector:before{right:75%}.selector:after{left:75%;transform:rotate(180deg)}
}

/* Mobile geometry must match this variant's SVG instead of the old 320-unit arc. */
@media(max-width:650px){
.hero{--instrument-width:100vw;--instrument-height:41.5vw}
.selector{width:100vw;height:var(--instrument-height);aspect-ratio:1000/415;bottom:28px}
.sector{width:60px;min-width:44px;min-height:44px;padding:4px 0;gap:2px;transform:translate(-50%,-25px);}
.sector .miniature{width:34px;height:30px}
.miniature:before{width:34px;height:34px}
.miniature img{height:27px;max-width:30px}
.sector[data-id=sensing] .miniature img{height:29px}
.sector[data-id=computing] .miniature img{width:28px;height:29px;max-width:28px}
.sector[data-id=connection] .miniature img{max-width:33px}
.sector .mobile-label{font-size:8px;letter-spacing:0}
.hub{width:60px;top:72.28915662650603%}
}
@media(max-width:650px){footer{border-top:0}.instrument>path:first-of-type,.glass-finishing>path:first-child,.glass-finishing>path:nth-child(2){stroke:none}}

@media(max-width:650px){.sector>span:last-child{font-size:8px;line-height:10px}.hub{max-width:16vw}}

/* Temporary rendered cabinet context; hero product assets remain unchanged. */
.cabinet-atmosphere{position:absolute;z-index:-1;inset:5% 4% auto auto;width:42%;height:29%;pointer-events:none;opacity:0;background-image:linear-gradient(110deg,#03080d99,#050a1020 42%,#02060999),var(--cabinet-image);background-size:cover;background-position:center;mask-image:radial-gradient(ellipse at 53% 47%,#000 12%,#000e 37%,transparent 73%);filter:saturate(.65) brightness(.85)}
.cabinet-power{--cabinet-image:url('assets/cabinet-power.webp')}
.cabinet-switching{--cabinet-image:url('assets/cabinet-real-relays.webp')}
@media(max-width:650px){.cabinet-atmosphere{inset:7% -15% auto auto;width:95%;height:32%;filter:saturate(.5) brightness(.65)}}

.cabinet-switching{background-position:center,center 66%;filter:saturate(.25) brightness(.25)}

/* CONNECTION: cable fading into mist, distinct elbow connector miniature. */
.product-visual[data-id=connection]{left:-8%;right:-32%}
.product-visual[data-id=connection]>img{filter:brightness(1.03) contrast(1.03)}
.product-visual[data-id=connection]:after{content:'';position:absolute;left:14%;bottom:-4px;width:22%;height:10px;border-radius:50%;background:#010305b3;filter:blur(3px);z-index:-1}
.sector[data-id=connection] .miniature img{width:66px;height:60px;max-width:66px}
@media(max-width:650px){.product-visual[data-id=connection]{left:8%;right:-8%}.sector[data-id=connection] .miniature img{width:32px;height:27px;max-width:32px}}

/* The selected product is also an entrance to its landing page. */
.product-visual.is-link-active{pointer-events:auto;cursor:pointer}
.product-visual.is-link-active>img{transition:filter .2s}
.product-visual.is-link-active:hover>img,.product-visual.is-link-active:focus-visible>img{filter:brightness(1.2) contrast(1.05) drop-shadow(0 0 9px #c9e8ff55)}
.sector.can-open .miniature:before{border-color:#ff6868;box-shadow:0 0 20px #ff333944,inset 0 0 12px #ff333922}
.sector.can-open .miniature:after{content:'↗';position:absolute;right:-6px;top:-6px;width:21px;height:21px;display:grid;place-items:center;border-radius:50%;background:#d92330;color:white;font-size:15px;box-shadow:0 2px 8px #0009}
.sector.can-open:hover .miniature:before,.sector.can-open:focus-visible .miniature:before{border-color:#fff;box-shadow:0 0 24px #ff333977}
.action .arrow-circle{border-color:#ff6868;background:#b51c2929}
@media(max-width:650px){.sector.can-open .miniature:after{width:15px;height:15px;font-size:11px;right:-5px;top:-4px}.action{white-space:normal}}
.action{white-space:normal;line-height:1.5}
.action .arrow-circle{flex-shrink:0}
/* Keep the primary pages discoverable on phones and tablets. */
@media(max-width:950px){
 header{height:auto;min-height:104px;flex-wrap:wrap;row-gap:8px}
 header nav{display:flex;order:5;flex:0 0 100%;margin:0;justify-content:space-between;gap:8px}
 header nav a{display:flex;align-items:center;justify-content:center;min-height:44px;font-size:12px;padding:8px 0}
}
@media(max-width:650px){header{min-height:132px;padding-bottom:6px}header nav a{font-size:11px}}
@media(max-width:360px){header nav{gap:5px}header nav a{font-size:10px}}

.hero{touch-action:pan-y pinch-zoom}

/* Explicit menu rows, separated from the product chooser. */
dialog .menu-title{margin:0 48px 22px 0;font-size:26px}
dialog .dialog-pages{display:flex;flex-direction:column;align-items:stretch;gap:8px;margin:0 0 28px}
dialog .dialog-pages a{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:52px;padding:12px 16px;border:1px solid #8499a54d;background:#19252d;font-size:17px;text-decoration:none}
dialog .dialog-pages a span{color:#ff535a;font-size:23px}
dialog .dialog-pages a:hover{background:#27343d;border-color:#cbdde5}
dialog .menu-directions-title{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#9fb0bc;margin:0 0 10px}
dialog .dialog-close{top:12px;right:12px;width:44px;height:44px;padding:0;display:grid;place-items:center;line-height:1}
@media(max-width:650px){dialog{width:calc(100% - 28px);max-height:calc(100dvh - 40px);padding:24px;overflow-y:auto}dialog .dialog-nav button{font-size:14px;padding:14px 0;min-height:48px}dialog .dialog-pages a{font-size:16px}}
/* Fit the complete menu within a phone viewport, including Safari chrome. */
@media(max-width:650px){
 dialog{padding:18px 20px;max-height:calc(100dvh - 24px)}
 dialog .menu-title{font-size:23px;margin:0 44px 14px 0;line-height:30px}
 dialog .dialog-pages{gap:6px;margin-bottom:18px}
 dialog .dialog-pages a{min-height:44px;padding:8px 12px;font-size:15px;line-height:24px}
 dialog .menu-directions-title{font-size:10px;margin:0 0 6px;line-height:16px}
 dialog .dialog-nav button{font-size:13px;padding:10px 0;min-height:44px;line-height:20px}
 dialog .dialog-close{top:10px;right:10px}
}

/* Clickable keyboard controls; touch layouts expose two 44px targets beside the dial. */
.keyboard-hint button{padding:0;cursor:pointer;touch-action:manipulation}
.keyboard-hint button:hover,.keyboard-hint button:focus-visible{border-color:#fff;color:#fff;outline:2px solid #ff3739;outline-offset:3px}
.keyboard-hint button:active{transform:translateY(3px)}
@media(max-width:950px),(hover:none) and (pointer:coarse){
 .keyboard-hint{display:flex;left:50%;right:auto;bottom:-18px;transform:translateX(-50%);opacity:1;width:190px;z-index:5}
 .keyboard-hint-keys{display:flex;justify-content:space-between;width:100%;padding:0}
 .keyboard-hint .key-up,.keyboard-hint .key-down,.keyboard-hint>span:last-child{display:none}
 .keyboard-hint button{width:44px;height:44px;animation:none}
}
