:root {
  --navy-950: #031024;
  --navy-900: #06152e;
  --navy-850: #091b39;
  --navy-800: #0b2550;
  --blue-600: #166eff;
  --blue-400: #55a0ff;
  --cyan-400: #5ee8ff;
  --gold-500: #ffb95b;
  --gold-400: #ffc970;
  --gold-300: #ffdc9f;
  --ink: #08142a;
  --slate: #60708a;
  --line: rgba(10, 32, 66, 0.13);
  --paper: #f6f8fc;
  --white: #ffffff;
  --container: min(92vw, 1280px);
  --header-h: 88px;
  --ease: cubic-bezier(.22,.61,.36,1);
  --ease-out: cubic-bezier(.16,1,.3,1);
  --shadow: 0 30px 80px rgba(4, 22, 52, .15);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.55;
  overflow-x: hidden;
  cursor: none;
}
body.is-nav-open { overflow: hidden; }
img, svg { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button, a, input, textarea, select { cursor: none; }
::selection { background: var(--gold-500); color: var(--navy-950); }

.container { width: var(--container); margin-inline: auto; }
.skip-link {
  position: fixed; left: 1rem; top: 1rem; z-index: 9999;
  transform: translateY(-150%); background: var(--white); padding: .8rem 1rem;
  border-radius: .5rem; box-shadow: var(--shadow);
}
.skip-link:focus { transform: translateY(0); }

.noise-layer {
  position: fixed; inset: 0; z-index: 1000; pointer-events: none; opacity: .035;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E");
}
.ambient-canvas { position: fixed; inset: 0; z-index: -1; pointer-events: none; opacity: .5; }

.page-loader {
  position: fixed; inset: 0; z-index: 9998; display: grid; place-items: center;
  background: var(--navy-950); transition: opacity .7s var(--ease), visibility .7s var(--ease);
}
.page-loader.is-hidden { opacity: 0; visibility: hidden; }
.page-loader__mark { color: var(--white); display: flex; align-items: baseline; gap: .1em; font-size: clamp(2.4rem, 7vw, 5.5rem); font-weight: 800; letter-spacing: -.07em; }
.page-loader__mark strong { color: var(--gold-500); }
.page-loader__mark i { color: var(--white); font-style: normal; }
.page-loader__bar { position: absolute; width: min(320px, 72vw); height: 2px; bottom: 20vh; background: rgba(255,255,255,.12); overflow: hidden; }
.page-loader__bar span { display: block; width: 40%; height: 100%; background: linear-gradient(90deg, transparent, var(--gold-500), transparent); animation: loader-bar 1.1s infinite linear; }
@keyframes loader-bar { from { transform: translateX(-120%);} to { transform: translateX(350%);} }

.cursor-dot, .cursor-ring {
  position: fixed; left: 0; top: 0; z-index: 10001; pointer-events: none; mix-blend-mode: difference;
  will-change: transform; opacity: 0;
}
.cursor-dot { width: 6px; height: 6px; border-radius: 50%; background: #fff; margin: -3px 0 0 -3px; }
.cursor-ring { width: 42px; height: 42px; border: 1px solid rgba(255,255,255,.8); border-radius: 50%; margin: -21px 0 0 -21px; transition: width .25s, height .25s, margin .25s, background .25s, border-color .25s; }
.cursor-ring span { position: absolute; inset: 7px; border: 1px solid rgba(255,255,255,.2); border-radius: inherit; }
body.cursor-active .cursor-dot, body.cursor-active .cursor-ring { opacity: 1; }
body.cursor-hover .cursor-ring { width: 64px; height: 64px; margin: -32px 0 0 -32px; background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.35); }
body.cursor-press .cursor-ring { transform: scale(.75); }

.site-header {
  position: fixed; inset: 0 0 auto 0; height: var(--header-h); z-index: 1000;
  display: flex; align-items: center; transition: background .35s, border-color .35s, transform .35s;
  border-bottom: 1px solid transparent;
}
.site-header.is-scrolled { background: rgba(246,248,252,.88); backdrop-filter: blur(18px); border-color: rgba(8,20,42,.08); box-shadow: 0 8px 30px rgba(4, 20, 45, .06); }
.header-inner { display: flex; align-items: center; justify-content: space-between; }
.brand { position: relative; z-index: 3; width: 184px; background: rgba(255,255,255,.98); padding: .65rem 1rem .55rem; border-radius: .7rem; box-shadow: 0 10px 35px rgba(1,17,44,.12); }
.brand img { width: 100%; height: auto; }
.primary-nav { display: flex; align-items: center; gap: clamp(1.15rem, 2.2vw, 2.2rem); font-size: .83rem; font-weight: 700; letter-spacing: .03em; color: rgba(255,255,255,.78); }
.site-header.is-scrolled .primary-nav { color: var(--navy-900); }
.primary-nav > a:not(.nav-cta) { position: relative; padding: .6rem 0; }
.primary-nav > a:not(.nav-cta)::after { content:""; position: absolute; left: 0; right: 100%; bottom: .25rem; height: 1px; background: currentColor; transition: right .3s var(--ease); }
.primary-nav > a:not(.nav-cta):hover::after { right: 0; }
.nav-cta { display: inline-flex; align-items: center; gap: .8rem; padding: .82rem 1.1rem; border-radius: 999px; color: var(--navy-950) !important; background: var(--gold-500); }
.nav-cta span { font-size: 1rem; transition: transform .25s; }
.nav-cta:hover span { transform: translate(3px,-3px); }
.nav-toggle { display: none; width: 48px; height: 48px; border: 0; background: var(--navy-900); border-radius: 50%; position: relative; z-index: 4; }
.nav-toggle span { position: absolute; left: 14px; width: 20px; height: 1px; background: white; transition: transform .3s, top .3s; }
.nav-toggle span:first-child { top: 20px; }
.nav-toggle span:last-child { top: 28px; }
.nav-toggle[aria-expanded="true"] span:first-child { top: 24px; transform: rotate(45deg); }
.nav-toggle[aria-expanded="true"] span:last-child { top: 24px; transform: rotate(-45deg); }

.hero { height: max(760px, 100svh); min-height: 720px; position: relative; overflow: hidden; background: var(--navy-950); color: white; }
.hero-slider, .hero-slide { position: absolute; inset: 0; }
.hero-slide { opacity: 0; visibility: hidden; transition: opacity .8s var(--ease), visibility .8s; }
.hero-slide.is-active { opacity: 1; visibility: visible; z-index: 2; }
.hero-slide__bg { position: absolute; inset: 0; overflow: hidden; }
.hero-slide__bg::before, .hero-slide__bg::after { content:""; position: absolute; border-radius: 50%; filter: blur(4px); }
.hero-slide__bg--one { background: radial-gradient(circle at 76% 44%, rgba(22,110,255,.26), transparent 25%), linear-gradient(115deg, #031024 0%, #071b3b 55%, #0b2447 100%); }
.hero-slide__bg--one::before { width: 52vw; height: 52vw; right: -20vw; top: -18vw; border: 1px solid rgba(94,232,255,.16); box-shadow: 0 0 120px rgba(22,110,255,.18) inset; }
.hero-slide__bg--one::after { width: 36vw; height: 36vw; right: 5vw; bottom: -24vw; background: rgba(255,185,91,.08); }
.hero-slide__bg--two { background: radial-gradient(circle at 74% 45%, rgba(71,43,255,.28), transparent 27%), linear-gradient(120deg, #050a22, #071b42 55%, #111047); }
.hero-slide__bg--two::before { width: 60vw; height: 60vw; right: -20vw; top: -23vw; background: conic-gradient(from 30deg, rgba(94,232,255,.08), rgba(130,73,255,.2), transparent 40%); }
.hero-slide__bg--two::after { width: 22vw; height: 22vw; left: 38vw; bottom: -8vw; background: rgba(255,185,91,.07); }
.hero-slide__bg--three { background: radial-gradient(circle at 75% 48%, rgba(255,174,62,.28), transparent 26%), linear-gradient(120deg, #071126, #12213d 55%, #3a210d); }
.hero-slide__bg--three::before { width: 50vw; height: 50vw; right: -12vw; top: -16vw; border: 2px dashed rgba(255,205,123,.15); animation: slow-spin 30s linear infinite; }
.hero-slide__bg--three::after { width: 28vw; height: 28vw; left: 38vw; bottom: -14vw; background: rgba(22,110,255,.12); }
.hero-slide__bg--four { background: radial-gradient(circle at 76% 45%, rgba(0,229,205,.19), transparent 28%), linear-gradient(120deg, #03131b, #06283a 55%, #061823); }
.hero-slide__bg--four::before { width: 70vw; height: 70vw; right: -28vw; top: -20vw; background: repeating-radial-gradient(circle, transparent 0 18px, rgba(94,232,255,.035) 19px 20px); }
.hero-slide__bg--four::after { width: 35vw; height: 35vw; left: 35vw; bottom: -24vw; background: rgba(0,220,194,.08); }
.hero-slide__bg--five { background: radial-gradient(circle at 76% 48%, rgba(40,133,255,.25), transparent 28%), linear-gradient(120deg, #031024, #092855 56%, #101e36); }
.hero-slide__bg--five::before { inset: 0; width: auto; height: auto; border-radius: 0; background-image: linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px); background-size: 56px 56px; transform: perspective(800px) rotateX(65deg) translateY(35%); }
.hero-slide__bg--five::after { width: 28vw; height: 28vw; right: 12vw; top: 12vh; border: 1px solid rgba(255,185,91,.12); }
.hero-slide__bg--six { background: radial-gradient(circle at 75% 46%, rgba(255,177,74,.18), transparent 24%), linear-gradient(120deg, #061126, #102347 55%, #24152d); }
.hero-slide__bg--six::before { width: 64vw; height: 64vw; right: -24vw; top: -22vw; background: conic-gradient(from 180deg, transparent, rgba(85,160,255,.16), transparent, rgba(255,185,91,.12), transparent); animation: slow-spin 26s linear infinite; }
.hero-slide__bg--six::after { width: 25vw; height: 25vw; left: 44vw; bottom: -14vw; background: rgba(255,84,143,.06); }
@keyframes slow-spin { to { transform: rotate(360deg); } }

.hero-slide__inner { height: 100%; display: grid; grid-template-columns: minmax(0, .95fr) minmax(420px, 1.05fr); align-items: center; gap: 2rem; padding-top: var(--header-h); position: relative; z-index: 2; }
.hero-copy { padding-bottom: 5rem; max-width: 720px; }
.eyebrow { display: flex; align-items: center; gap: .8rem; text-transform: uppercase; letter-spacing: .19em; font-size: .72rem; font-weight: 800; color: rgba(255,255,255,.64); margin-bottom: 1.45rem; }
.eyebrow span { width: 36px; height: 2px; background: var(--gold-500); box-shadow: 0 0 18px rgba(255,185,91,.65); }
.hero-title { margin: 0; font-size: clamp(3.3rem, 6.2vw, 7.15rem); line-height: .9; letter-spacing: -.07em; font-weight: 760; }
.hero-title em { color: transparent; -webkit-text-stroke: 1px rgba(255,255,255,.6); font-style: normal; }
.hero-lead { max-width: 610px; color: rgba(230,239,255,.72); font-size: clamp(1rem, 1.25vw, 1.2rem); margin: 2rem 0 0; }
.hero-actions { display: flex; align-items: center; gap: 1.7rem; margin-top: 2.2rem; }
.button { border: 0; display: inline-flex; align-items: center; justify-content: center; gap: .95rem; min-height: 52px; padding: .85rem 1.2rem .85rem 1.35rem; border-radius: 999px; font-size: .84rem; font-weight: 800; letter-spacing: .02em; transition: transform .25s, box-shadow .25s, background .25s; }
.button span { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: rgba(7,22,47,.12); font-size: 1rem; transition: transform .25s; }
.button:hover { transform: translateY(-2px); }
.button:hover span { transform: translate(2px,-2px); }
.button--primary { color: var(--navy-950); background: var(--gold-500); box-shadow: 0 16px 40px rgba(255,185,91,.18); }
.button--primary:hover { background: var(--gold-400); box-shadow: 0 22px 55px rgba(255,185,91,.28); }
.button--dark { color: white; background: var(--navy-900); }
.button--dark span { background: rgba(255,255,255,.1); }
.text-link { display: inline-flex; gap: .7rem; align-items: center; color: rgba(255,255,255,.8); font-size: .84rem; font-weight: 750; border-bottom: 1px solid rgba(255,255,255,.22); padding-bottom: .28rem; }
.text-link span { color: var(--gold-500); }
.hero-metrics { display: flex; gap: clamp(1.6rem, 4vw, 4rem); margin-top: 3rem; }
.hero-metrics > div { position: relative; padding-right: clamp(1rem, 3vw, 3rem); }
.hero-metrics > div:not(:last-child)::after { content:""; position: absolute; right: 0; top: 10%; width: 1px; height: 80%; background: rgba(255,255,255,.12); }
.hero-metrics strong { display: block; font-size: 1.55rem; color: white; letter-spacing: -.04em; }
.hero-metrics span { display: block; font-size: .72rem; color: rgba(255,255,255,.48); margin-top: .15rem; }
.hero-tags { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 3rem; }
.hero-tags span, .length-selector span { border: 1px solid rgba(255,255,255,.15); background: rgba(255,255,255,.05); padding: .52rem .78rem; border-radius: 999px; font-size: .74rem; font-weight: 750; color: rgba(255,255,255,.75); backdrop-filter: blur(10px); }
.length-selector { display: flex; gap: .7rem; margin-top: 3rem; }
.power-meter { display: flex; align-items: center; gap: 1rem; margin-top: 3rem; color: rgba(255,255,255,.8); }
.power-meter > span { width: 220px; height: 8px; border-radius: 99px; background: rgba(255,255,255,.1); overflow: hidden; }
.power-meter i { display: block; width: 88%; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--gold-500), #fff1b0); box-shadow: 0 0 20px var(--gold-500); animation: power-load 2.8s var(--ease) infinite alternate; }
@keyframes power-load { from { width: 30%; } to { width: 92%; } }
.hero-status { display: inline-flex; align-items: center; gap: .7rem; margin-top: 3rem; border: 1px solid rgba(94,232,255,.22); padding: .7rem 1rem; border-radius: 999px; color: rgba(255,255,255,.75); font-size: .8rem; }
.hero-status i { width: 8px; height: 8px; background: #5fffdc; border-radius: 50%; box-shadow: 0 0 18px #5fffdc; animation: status-pulse 1.4s infinite; }
@keyframes status-pulse { 50% { opacity: .25; transform: scale(.75); } }

.hero-art { position: relative; height: min(660px, 72vh); min-height: 520px; align-self: center; }
.product-render { position: absolute; z-index: 4; filter: drop-shadow(0 35px 45px rgba(0,0,0,.35)); }
.product-render img { width: 100%; height: auto; }
.product-render--hero { width: 290px; left: 50%; top: 50%; transform: translate(-50%,-48%); animation: product-float 5s ease-in-out infinite; }
@keyframes product-float { 0%,100% { transform: translate(-50%,-48%) translateY(-7px) rotate(-1deg); } 50% { transform: translate(-50%,-48%) translateY(9px) rotate(1deg); } }
.product-halo { position: absolute; width: 430px; height: 430px; left: 50%; top: 50%; transform: translate(-50%,-50%); border-radius: 50%; background: radial-gradient(circle, rgba(80,151,255,.35), rgba(80,151,255,.07) 45%, transparent 68%); filter: blur(1px); }
.orbit { position: absolute; left: 50%; top: 50%; border-radius: 50%; border: 1px solid rgba(255,255,255,.12); transform: translate(-50%,-50%); }
.orbit--outer { width: 560px; height: 560px; animation: orbit-spin 22s linear infinite; }
.orbit--outer::before, .orbit--inner::before { content:""; position: absolute; width: 10px; height: 10px; border-radius: 50%; background: var(--gold-500); box-shadow: 0 0 22px var(--gold-500); left: 50%; top: -5px; }
.orbit--inner { width: 390px; height: 390px; border-style: dashed; animation: orbit-spin 15s linear infinite reverse; }
.orbit--inner::before { background: var(--cyan-400); box-shadow: 0 0 22px var(--cyan-400); left: auto; right: 18%; top: 8%; }
@keyframes orbit-spin { to { transform: translate(-50%,-50%) rotate(360deg); } }
.signal-line { position: absolute; height: 1px; background: linear-gradient(90deg, transparent, rgba(94,232,255,.7), transparent); transform-origin: center; animation: signal-sweep 3.2s infinite linear; }
.signal-line--a { width: 520px; left: 8%; top: 42%; transform: rotate(-28deg); }
.signal-line--b { width: 440px; left: 20%; top: 65%; transform: rotate(18deg); animation-delay: -1.2s; }
@keyframes signal-sweep { 0% { opacity: 0; clip-path: inset(0 100% 0 0);} 45% { opacity: 1;} 100% { opacity: 0; clip-path: inset(0 0 0 100%);} }
.floating-chip { position: absolute; z-index: 5; padding: .8rem 1rem; min-width: 120px; border: 1px solid rgba(255,255,255,.13); background: rgba(5,20,47,.58); backdrop-filter: blur(16px); border-radius: 1rem; box-shadow: 0 18px 45px rgba(0,0,0,.2); }
.floating-chip b { display: block; font-size: .83rem; }
.floating-chip span { display: block; color: rgba(255,255,255,.5); font-size: .66rem; margin-top: .2rem; }
.floating-chip--top { right: 7%; top: 24%; animation: chip-float 4.6s ease-in-out infinite; }
.floating-chip--bottom { left: 8%; bottom: 21%; animation: chip-float 5.2s ease-in-out infinite reverse; }
@keyframes chip-float { 50% { transform: translateY(-10px); } }

/* Banner art variants */
.display-frame { position: absolute; border: 1px solid rgba(255,255,255,.16); border-radius: 1.4rem; background: linear-gradient(145deg, rgba(255,255,255,.10), rgba(255,255,255,.02)); backdrop-filter: blur(12px); box-shadow: 0 30px 80px rgba(0,0,0,.25); }
.display-frame--back { width: 480px; height: 285px; right: 2%; top: 16%; transform: rotate(7deg); opacity: .55; }
.display-frame--back span { position: absolute; right: 1.1rem; bottom: .8rem; font-size: .64rem; letter-spacing: .1em; color: rgba(255,255,255,.45); }
.display-frame--front { width: 510px; height: 310px; right: 8%; top: 26%; display: grid; place-items: center; overflow: hidden; background: radial-gradient(circle at 60% 40%, rgba(110,75,255,.4), transparent 45%), linear-gradient(145deg, rgba(28,45,91,.9), rgba(9,15,40,.82)); }
.display-frame--front::before { content:""; position: absolute; inset: 8%; background: repeating-linear-gradient(90deg, rgba(94,232,255,.07) 0 1px, transparent 1px 20px), repeating-linear-gradient(0deg, rgba(255,255,255,.04) 0 1px, transparent 1px 20px); }
.display-frame--front span { position: absolute; left: 1.2rem; bottom: 1rem; color: rgba(255,255,255,.52); font-size: .7rem; letter-spacing: .08em; text-transform: uppercase; }
.display-frame--front b { font-size: 6rem; color: rgba(255,255,255,.92); letter-spacing: -.08em; z-index: 2; text-shadow: 0 0 50px rgba(94,232,255,.22); }
.pixel-ribbon { position: absolute; width: 610px; height: 140px; right: -3%; top: 58%; background: linear-gradient(90deg, transparent, rgba(94,232,255,.18), rgba(144,81,255,.3), transparent); transform: rotate(-12deg); filter: blur(12px); }
.product-render--side { width: 180px; right: 2%; bottom: 2%; transform: rotate(9deg); }

.energy-core { position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); width: 210px; height: 210px; border-radius: 50%; display: grid; place-items: center; background: radial-gradient(circle, rgba(255,208,122,.98), rgba(255,155,37,.35) 45%, rgba(255,155,37,.05) 72%); box-shadow: 0 0 100px rgba(255,185,91,.28); }
.energy-core span { font-size: 3.2rem; font-weight: 850; color: #231306; letter-spacing: -.06em; }
.energy-core b { position: absolute; bottom: 38px; font-size: .72rem; color: rgba(35,19,6,.65); }
.energy-ring { position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); border-radius: 50%; border: 1px dashed rgba(255,208,122,.28); }
.energy-ring--one { width: 390px; height: 390px; animation: orbit-spin 16s linear infinite; }
.energy-ring--two { width: 560px; height: 560px; animation: orbit-spin 26s linear infinite reverse; }
.energy-bolt { position: absolute; width: 4px; height: 120px; top: 28%; left: 25%; background: linear-gradient(transparent, #ffe19b, transparent); transform: rotate(35deg); box-shadow: 0 0 22px #ffc95d; animation: bolt-flash 1.8s infinite; }
.energy-bolt--two { left: 74%; top: 51%; transform: rotate(-38deg); animation-delay: -.8s; }
@keyframes bolt-flash { 0%,100% { opacity: .15; transform: scaleY(.3) rotate(35deg);} 50% { opacity: 1; transform: scaleY(1) rotate(35deg);} }
.product-render--power { width: 170px; right: 1%; bottom: 7%; transform: rotate(10deg); }

.fiber-tunnel { position: absolute; inset: 8% 0 8% 10%; perspective: 800px; overflow: hidden; }
.fiber-tunnel span { position: absolute; left: 50%; top: 50%; border: 1px solid rgba(94,232,255,.18); border-radius: 50%; transform: translate(-50%,-50%); animation: tunnel 5s linear infinite; }
.fiber-tunnel span:nth-child(1){ width:100px;height:100px;animation-delay:0s}.fiber-tunnel span:nth-child(2){width:100px;height:100px;animation-delay:-1s}.fiber-tunnel span:nth-child(3){width:100px;height:100px;animation-delay:-2s}.fiber-tunnel span:nth-child(4){width:100px;height:100px;animation-delay:-3s}.fiber-tunnel span:nth-child(5){width:100px;height:100px;animation-delay:-4s}
@keyframes tunnel { from { transform: translate(-50%,-50%) scale(.2); opacity: .9;} to { transform: translate(-50%,-50%) scale(5.8); opacity: 0;} }
.data-node { position: absolute; width: 44px; height: 44px; display:grid;place-items:center; border:1px solid rgba(94,232,255,.25); border-radius:50%; color:rgba(255,255,255,.65); font-size:.68rem; background:rgba(5,30,42,.55); backdrop-filter: blur(10px); animation: chip-float 4s ease-in-out infinite; }
.data-node--one{left:12%;top:28%}.data-node--two{right:10%;top:22%;animation-delay:-1s}.data-node--three{right:18%;bottom:18%;animation-delay:-2s}
.product-render--fiber { width: 220px; left: 50%; top: 50%; transform: translate(-50%,-48%); }

.room-grid { position:absolute; inset:12% 0 0 10%; background-image: linear-gradient(rgba(85,160,255,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(85,160,255,.08) 1px, transparent 1px); background-size: 45px 45px; transform: perspective(700px) rotateX(58deg) translateY(24%); transform-origin: center bottom; }
.room-screen { position:absolute; width:180px; height:105px; border:1px solid rgba(255,255,255,.15); background:linear-gradient(145deg,rgba(45,98,180,.35),rgba(4,16,39,.65)); border-radius:.7rem; display:grid;place-items:center; box-shadow:0 18px 45px rgba(0,0,0,.22); }
.room-screen span{font-size:1.4rem;font-weight:800;color:rgba(255,255,255,.75);letter-spacing:.08em}.room-screen--one{left:8%;top:17%;transform:rotateY(8deg)}.room-screen--two{right:5%;top:28%;width:220px;height:128px}.room-screen--three{left:28%;bottom:13%;width:240px;height:140px}
.product-render--room { width: 150px; right: 4%; bottom: 4%; transform: rotate(8deg); }

.portal { position:absolute; left:50%; top:50%; border-radius:50%; transform:translate(-50%,-50%); border:1px solid rgba(255,255,255,.14); }
.portal--one{width:250px;height:250px;box-shadow:0 0 70px rgba(255,185,91,.18) inset;animation:portal-pulse 3s infinite}.portal--two{width:410px;height:410px;border-style:dashed;animation:orbit-spin 18s linear infinite}.portal--three{width:570px;height:570px;border-color:rgba(85,160,255,.14);animation:orbit-spin 28s linear infinite reverse}
@keyframes portal-pulse{50%{transform:translate(-50%,-50%) scale(1.08);box-shadow:0 0 110px rgba(255,185,91,.32) inset}}
.future-grid { position:absolute; inset:12% 0 10% 5%; background:repeating-linear-gradient(0deg,transparent 0 26px,rgba(255,255,255,.035) 27px),repeating-linear-gradient(90deg,transparent 0 26px,rgba(255,255,255,.035) 27px); clip-path:polygon(50% 0,100% 100%,0 100%); transform:perspective(800px) rotateX(60deg) translateY(30%); }
.product-render--future { width: 260px; left:50%;top:50%;transform:translate(-50%,-48%);animation:product-float 5s ease-in-out infinite; }

.hero-slide.is-active .reveal-item { animation: hero-reveal .85s var(--ease-out) both; }
.hero-slide.is-active .reveal-item:nth-child(2){animation-delay:.07s}.hero-slide.is-active .reveal-item:nth-child(3){animation-delay:.14s}.hero-slide.is-active .reveal-item:nth-child(4){animation-delay:.21s}.hero-slide.is-active .reveal-item:nth-child(5){animation-delay:.28s}
@keyframes hero-reveal { from { opacity:0; transform:translateY(38px);} to{opacity:1;transform:none;} }
.hero-slide.is-active .hero-art { animation: art-enter 1.1s var(--ease-out) both; }
@keyframes art-enter { from{opacity:0;transform:translateX(45px) scale(.97)}to{opacity:1;transform:none} }

.hero-controls { position:absolute; left:50%; bottom:34px; transform:translateX(-50%); z-index:10; display:flex; align-items:center; justify-content:space-between; color:white; }
.hero-pagination { display:flex; gap:.35rem; }
.hero-pagination button { border:0; background:transparent; color:rgba(255,255,255,.35); width:48px; padding:.6rem 0; position:relative; font-size:.67rem; font-weight:800; }
.hero-pagination button::before { content:""; position:absolute; left:0; right:0; bottom:0; height:1px; background:rgba(255,255,255,.15); }
.hero-pagination button::after { content:""; position:absolute; left:0; right:100%; bottom:0; height:1px; background:var(--gold-500); transition:right .35s; }
.hero-pagination button.is-active { color:white; }
.hero-pagination button.is-active::after { right:0; }
.hero-nav-arrows { display:flex; gap:.55rem; margin-left:auto; }
.hero-nav-arrows button { width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.05);color:white;backdrop-filter:blur(10px);transition:background .25s,border-color .25s; }
.hero-nav-arrows button:hover { background:var(--gold-500);color:var(--navy-950);border-color:var(--gold-500); }
.hero-progress { position:absolute; left:0; right:0; bottom:-34px; height:2px; background:rgba(255,255,255,.07); }
.hero-progress span { display:block;height:100%;width:0;background:var(--gold-500); }
.hero-progress.is-running span { animation: hero-progress 7s linear forwards; }
@keyframes hero-progress { to{width:100%} }
.scroll-cue { position:absolute; right:2.6vw; bottom:105px; z-index:12; display:flex; align-items:center; gap:.65rem; color:rgba(255,255,255,.45); writing-mode:vertical-rl; font-size:.62rem; text-transform:uppercase; letter-spacing:.18em; }
.scroll-cue span { width:1px;height:48px;background:linear-gradient(var(--gold-500),transparent);animation:scroll-line 1.8s infinite; }
@keyframes scroll-line { 0%{transform:scaleY(.25);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(.25);transform-origin:bottom} }

.signal-strip { background:white; border-bottom:1px solid var(--line); }
.signal-strip__grid { display:grid; grid-template-columns:repeat(4,1fr); }
.signal-item { display:flex; align-items:center; gap:1rem; padding:1.7rem 1.35rem; border-right:1px solid var(--line); }
.signal-item:first-child { border-left:1px solid var(--line); }
.signal-item > span { color:var(--gold-500);font-size:.66rem;font-weight:850; }
.signal-item b { display:block;font-size:.9rem; }
.signal-item small { display:block;color:var(--slate);font-size:.7rem;margin-top:.2rem; }

.section { padding: clamp(5.5rem, 9vw, 9rem) 0; position:relative; }
.section-head { margin-bottom:clamp(2.8rem,6vw,5.2rem); }
.section-head--split { display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(2rem,6vw,6rem);align-items:end; }
.section-kicker { display:flex;align-items:center;gap:.75rem;color:var(--slate);text-transform:uppercase;letter-spacing:.18em;font-size:.68rem;font-weight:850;margin-bottom:1.2rem; }
.section-kicker span { color:var(--gold-500); }
.section-kicker--light { color:rgba(255,255,255,.55); }
.section-title { margin:0;font-size:clamp(2.6rem,5.4vw,5.2rem);line-height:.98;letter-spacing:-.065em;font-weight:760; }
.section-title em { color:var(--blue-600);font-style:normal; }
.section-intro { margin:0;color:var(--slate);font-size:clamp(1rem,1.25vw,1.18rem);max-width:650px; }
.reveal { opacity:0; transform:translateY(35px); transition:opacity .85s var(--ease-out),transform .85s var(--ease-out); }
.reveal.is-visible { opacity:1; transform:none; }

.product-section { background:linear-gradient(180deg,#f6f8fc 0%,#eef3fb 100%); }
.product-section::before { content:"";position:absolute;right:-12vw;top:12%;width:42vw;height:42vw;border-radius:50%;background:radial-gradient(circle,rgba(22,110,255,.08),transparent 67%); }
.product-stage { display:grid;grid-template-columns:.85fr 1.15fr;min-height:690px;border:1px solid rgba(10,32,66,.1);border-radius:2rem;overflow:hidden;background:white;box-shadow:var(--shadow); }
.product-stage__copy { padding:clamp(2.2rem,5vw,5rem);display:flex;flex-direction:column;justify-content:center; }
.model-label { color:var(--blue-600);font-size:.68rem;font-weight:850;letter-spacing:.18em;margin-bottom:1.2rem; }
.product-stage__copy h3 { margin:0;font-size:clamp(2.4rem,4vw,4.4rem);line-height:.98;letter-spacing:-.06em; }
.product-stage__copy > p { color:var(--slate);font-size:1rem;margin:1.5rem 0;max-width:530px; }
.check-list { list-style:none;padding:0;margin:0 0 2.2rem;display:grid;gap:.8rem;color:#35455f;font-size:.9rem; }
.check-list li { display:flex;align-items:center;gap:.7rem; }
.check-list span { display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:rgba(22,110,255,.09);color:var(--blue-600);font-size:.7rem; }
.product-stage__visual { position:relative;min-height:620px;background:radial-gradient(circle at 50% 45%,rgba(30,110,255,.22),transparent 24%),linear-gradient(145deg,#07152e,#0d2a59 60%,#061329);overflow:hidden;transform-style:preserve-3d; }
.product-stage__visual::before { content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:46px 46px; }
.product-stage__visual picture { position:absolute;width:265px;left:50%;top:49%;transform:translate(-50%,-50%) translateZ(35px);filter:drop-shadow(0 35px 45px rgba(0,0,0,.4));z-index:3; }
.technical-ring { position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;border:1px solid rgba(255,255,255,.12); }
.technical-ring--one { width:440px;height:440px; }
.technical-ring--two { width:590px;height:590px;border-style:dashed;animation:orbit-spin 28s linear infinite; }
.technical-axis { position:absolute;background:linear-gradient(90deg,transparent,rgba(94,232,255,.24),transparent); }
.technical-axis--x { width:90%;height:1px;left:5%;top:50%; }
.technical-axis--y { height:90%;width:1px;top:5%;left:50%;background:linear-gradient(transparent,rgba(94,232,255,.24),transparent); }
.spec-callout { position:absolute;z-index:4;border:1px solid rgba(255,255,255,.12);background:rgba(5,20,47,.68);backdrop-filter:blur(14px);color:white;padding:.75rem .9rem;border-radius:.8rem;min-width:125px; }
.spec-callout span { color:var(--gold-500);font-size:.58rem;font-weight:850; }
.spec-callout b { display:block;font-size:.78rem;margin-top:.15rem; }
.spec-callout small { display:block;color:rgba(255,255,255,.45);font-size:.62rem;margin-top:.12rem; }
.spec-callout--one { left:8%;top:24%; }.spec-callout--two { right:7%;top:32%; }.spec-callout--three { left:12%;bottom:15%; }

.bento-section { background:#f6f8fc; }
.bento-grid { display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:230px;gap:1rem; }
.bento-card { grid-column:span 4;position:relative;padding:1.7rem;border-radius:1.5rem;background:white;border:1px solid var(--line);overflow:hidden;box-shadow:0 15px 50px rgba(4,22,52,.05);transform-style:preserve-3d; }
.bento-card--wide { grid-column:span 8;display:flex;align-items:flex-end; }
.bento-card--tall { grid-row:span 2; }
.card-index { display:block;color:var(--blue-600);font-size:.62rem;font-weight:850;letter-spacing:.14em;margin-bottom:.85rem; }
.bento-card h3 { margin:0;font-size:1.4rem;letter-spacing:-.035em;line-height:1.1; }
.bento-card p { color:var(--slate);font-size:.85rem;margin:.8rem 0 0;max-width:460px; }
.card-icon--speed { position:absolute;right:2rem;top:2rem;width:240px;height:110px;display:flex;align-items:flex-end;gap:8px;opacity:.7; }
.card-icon--speed span { flex:1;background:linear-gradient(var(--blue-400),rgba(85,160,255,.05));border-radius:5px 5px 0 0;animation:bars 2.6s ease-in-out infinite; }
.card-icon--speed span:nth-child(1){height:35%;animation-delay:-.4s}.card-icon--speed span:nth-child(2){height:62%;animation-delay:-.8s}.card-icon--speed span:nth-child(3){height:90%;animation-delay:-1.2s}
@keyframes bars{50%{height:20%}}
.speed-graph { position:absolute;right:1.7rem;bottom:1.3rem;width:280px;height:92px;display:flex;align-items:end;gap:9px; }
.speed-graph i { flex:1;height:45%;background:linear-gradient(var(--gold-500),rgba(255,185,91,.08));border-radius:5px 5px 0 0; }
.speed-graph i:nth-child(2){height:65%}.speed-graph i:nth-child(3){height:80%}.speed-graph i:nth-child(4){height:100%}.speed-graph i:nth-child(5){height:88%}
.speed-graph b{position:absolute;right:.1rem;top:-2.2rem;font-size:2.3rem;letter-spacing:-.07em}.speed-graph small{position:absolute;right:.1rem;top:.5rem;color:var(--slate);font-size:.65rem}
.resolution-stack { position:absolute;left:1.7rem;right:1.7rem;bottom:1.7rem;height:195px;perspective:700px; }
.resolution-stack div { position:absolute;left:50%;width:72%;height:110px;border-radius:.7rem;border:1px solid rgba(255,255,255,.18);display:grid;place-items:center;background:linear-gradient(135deg,#0a234b,#0d3b78);color:white;box-shadow:0 18px 35px rgba(3,18,43,.16); }
.resolution-stack div:nth-child(1){transform:translateX(-62%) translateY(56px) rotate(-8deg);opacity:.55}.resolution-stack div:nth-child(2){transform:translateX(-48%) translateY(26px) rotate(2deg);opacity:.78}.resolution-stack div:nth-child(3){transform:translateX(-38%) rotate(8deg)}
.resolution-stack span{font-size:1.45rem;font-weight:850}
.mini-orbit { position:absolute;right:1.5rem;bottom:1.3rem;width:105px;height:105px;border:1px dashed rgba(22,110,255,.24);border-radius:50%;display:grid;place-items:center;animation:orbit-simple 8s linear infinite; }
.mini-orbit i{position:absolute;width:10px;height:10px;background:var(--gold-500);border-radius:50%;top:-5px;left:50%;box-shadow:0 0 18px var(--gold-500)}.mini-orbit b{font-size:1rem;color:var(--blue-600)}
@keyframes orbit-simple{to{transform:rotate(360deg)}}
.power-gauge { position:absolute;right:1.4rem;bottom:1.3rem;width:115px;height:115px;border-radius:50%;background:conic-gradient(var(--gold-500) 0 78%,rgba(10,32,66,.08) 78%);display:grid;place-items:center; }
.power-gauge::before{content:"";position:absolute;inset:10px;background:white;border-radius:50%}.power-gauge b{z-index:2;font-size:1.05rem}.power-gauge span{position:absolute;z-index:3;width:8px;height:8px;border-radius:50%;background:var(--blue-600);right:8px;top:55%}
.feature-pills { display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.2rem; }
.feature-pills span { background:#eef3fb;color:#43536d;border-radius:999px;padding:.42rem .7rem;font-size:.66rem;font-weight:750; }
.cable-path { position:absolute;right:-1.5rem;top:50%;width:44%;height:80%;transform:translateY(-50%); }
.cable-path span { position:absolute;inset:8% 0 0 0;border:7px solid var(--navy-900);border-left-color:transparent;border-bottom-color:transparent;border-radius:50%;transform:rotate(25deg); }
.cable-path i,.cable-path b{position:absolute;width:28px;height:46px;border-radius:6px;background:linear-gradient(#171a20,#41454e);box-shadow:0 8px 20px rgba(0,0,0,.18)}.cable-path i{left:15%;bottom:15%;transform:rotate(-40deg)}.cable-path b{right:8%;top:7%;transform:rotate(45deg)}

.data-flow-section { background:var(--navy-950);color:white;overflow:hidden; }
.data-flow-section::before { content:"";position:absolute;width:60vw;height:60vw;right:-30vw;top:-30vw;border-radius:50%;background:radial-gradient(circle,rgba(22,110,255,.2),transparent 66%); }
.data-flow-grid { display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(3rem,7vw,7rem);align-items:center; }
.data-flow-section .section-title em { color:var(--gold-500); }
.data-flow-section .section-intro { color:rgba(255,255,255,.58); }
.flow-legend { display:flex;gap:1.2rem;flex-wrap:wrap;margin-top:1.8rem; }
.flow-legend div{display:flex;align-items:center;gap:.55rem;color:rgba(255,255,255,.65);font-size:.75rem}.flow-dot{width:8px;height:8px;border-radius:50%}.flow-dot--gold{background:var(--gold-500);box-shadow:0 0 14px var(--gold-500)}.flow-dot--blue{background:var(--cyan-400);box-shadow:0 0 14px var(--cyan-400)}
.flow-diagram { min-height:420px;display:grid;grid-template-columns:145px 1fr 145px;align-items:center;position:relative; }
.flow-device { position:relative;z-index:3;display:flex;align-items:center;gap:.7rem;padding:.9rem;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.055);backdrop-filter:blur(14px);border-radius:1rem;box-shadow:0 20px 50px rgba(0,0,0,.2); }
.flow-device > span{display:grid;place-items:center;width:42px;height:42px;border-radius:.7rem;background:rgba(255,185,91,.12);color:var(--gold-500);font-weight:850}.flow-device b{display:block;font-size:.8rem}.flow-device small{display:block;color:rgba(255,255,255,.42);font-size:.62rem;margin-top:.15rem}
.flow-track { position:relative;height:200px;display:flex;align-items:center; }
.flow-cable { width:100%;height:26px;border-radius:99px;background:linear-gradient(#15181d,#484d56 48%,#111318);box-shadow:0 10px 20px rgba(0,0,0,.25);position:relative;overflow:hidden; }
.flow-cable::before { content:"";position:absolute;inset:5px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.12) 0 1px,transparent 1px 10px);border-radius:inherit; }
.flow-track > small { position:absolute;left:50%;top:65%;transform:translateX(-50%);font-size:.58rem;letter-spacing:.18em;color:rgba(255,255,255,.33);white-space:nowrap; }
.flow-pulse { position:absolute;z-index:2;width:10px;height:10px;border-radius:50%;top:50%;margin-top:-5px; }
.flow-pulse--video { background:var(--gold-500);box-shadow:0 0 18px var(--gold-500);animation:flow-right 2.4s linear infinite; }
.flow-pulse--data-one { background:var(--cyan-400);box-shadow:0 0 18px var(--cyan-400);animation:flow-right 3s linear infinite -.8s;top:46%; }
.flow-pulse--data-two { background:var(--cyan-400);box-shadow:0 0 18px var(--cyan-400);animation:flow-left 3s linear infinite -1.4s;top:54%; }
@keyframes flow-right{from{left:0;opacity:0}10%,90%{opacity:1}to{left:100%;opacity:0}}@keyframes flow-left{from{right:0;opacity:0}10%,90%{opacity:1}to{right:100%;opacity:0}}

.applications-section { background:#f6f8fc; }
.application-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:1rem; }
.application-card { min-height:330px;padding:1.6rem;border:1px solid var(--line);border-radius:1.4rem;background:white;position:relative;overflow:hidden;transition:border-color .3s,box-shadow .3s;transform-style:preserve-3d; }
.application-card::before { content:"";position:absolute;width:180px;height:180px;border-radius:50%;right:-80px;top:-80px;background:rgba(22,110,255,.045);transition:transform .4s,background .4s; }
.application-card:hover { border-color:rgba(22,110,255,.2);box-shadow:0 24px 55px rgba(5,25,55,.08); }
.application-card:hover::before { transform:scale(1.6);background:rgba(22,110,255,.08); }
.application-number { color:var(--slate);font-size:.62rem;font-weight:850; }
.application-icon { width:66px;height:66px;border-radius:1rem;background:#edf3fd;display:grid;place-items:center;margin:2.2rem 0 2rem;color:var(--blue-600); }
.application-icon svg{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.application-card h3{margin:0;font-size:1.4rem;letter-spacing:-.035em}.application-card p{color:var(--slate);font-size:.83rem;max-width:290px}.application-arrow{position:absolute;right:1.5rem;bottom:1.35rem;color:var(--blue-600);font-size:1.2rem;transition:transform .25s}.application-card:hover .application-arrow{transform:translate(4px,-4px)}
.application-card--accent { background:linear-gradient(145deg,var(--navy-900),#0d2d5f);color:white;border-color:transparent; }
.application-card--accent p { color:rgba(255,255,255,.56); }.application-card--accent .application-icon{background:rgba(255,255,255,.08);color:var(--gold-500)}.application-card--accent .application-arrow{color:var(--gold-500)}

.specs-section { background:linear-gradient(180deg,#eef3fb,#f6f8fc); }
.specs-grid { display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(2rem,6vw,6rem);align-items:start; }
.specs-copy { position:sticky;top:130px; }
.specs-copy .button { margin-top:2rem; }
.spec-visual { height:360px;position:relative;margin-top:2.8rem;overflow:hidden;border-radius:1.4rem;background:radial-gradient(circle at 50% 45%,rgba(22,110,255,.26),transparent 25%),linear-gradient(145deg,#07152e,#0b2b5d); }
.spec-visual picture{position:absolute;width:175px;left:50%;top:52%;transform:translate(-50%,-50%);filter:drop-shadow(0 25px 35px rgba(0,0,0,.4));z-index:2}.spec-visual__ring{position:absolute;width:300px;height:300px;border:1px dashed rgba(255,255,255,.15);border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%);animation:orbit-spin 24s linear infinite}
.spec-table-wrap { border:1px solid var(--line);border-radius:1.5rem;overflow:hidden;background:white;box-shadow:0 22px 60px rgba(4,22,52,.07); }
.spec-table-head { display:flex;align-items:center;justify-content:space-between;padding:1.2rem 1.5rem;background:var(--navy-900);color:white; }
.spec-table-head span{font-size:.65rem;letter-spacing:.16em;color:var(--gold-500);font-weight:850}.spec-table-head b{font-size:.78rem}
.spec-table { margin:0; }
.spec-table > div { display:grid;grid-template-columns:.75fr 1.25fr;gap:1rem;padding:1rem 1.5rem;border-bottom:1px solid var(--line); }
.spec-table dt { font-size:.76rem;font-weight:800;color:#263754; }
.spec-table dd { margin:0;color:var(--slate);font-size:.76rem; }
.spec-note { margin:0;padding:1rem 1.5rem;background:#fff8eb;color:#705523;font-size:.7rem;line-height:1.6; }

.compatibility-section { padding-top:0;background:#f6f8fc; }
.compatibility-panel { position:relative;min-height:600px;border-radius:2rem;overflow:hidden;background:linear-gradient(135deg,#07152e,#0c2c5f 62%,#101a35);color:white;padding:clamp(2.5rem,6vw,6rem);display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;box-shadow:var(--shadow); }
.compatibility-panel::before { content:"";position:absolute;inset:0;background:radial-gradient(circle at 76% 45%,rgba(22,110,255,.25),transparent 25%); }
.compatibility-copy { position:relative;z-index:2; }
.compatibility-copy h2 { margin:0;font-size:clamp(2.7rem,5vw,5rem);line-height:.96;letter-spacing:-.065em; }
.compatibility-copy h2 em{font-style:normal;color:var(--gold-500)}.compatibility-copy p{color:rgba(255,255,255,.58);max-width:520px;margin:1.5rem 0 0}
.device-orbit { position:relative;z-index:2;height:430px; }
.device-orbit::before,.device-orbit::after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;border:1px solid rgba(255,255,255,.1)}.device-orbit::before{width:380px;height:380px}.device-orbit::after{width:255px;height:255px;border-style:dashed;animation:orbit-spin 18s linear infinite}
.device-orbit__core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:150px;height:150px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 40% 35%,#386ee1,#0b234b 65%);font-size:2rem;font-weight:850;letter-spacing:-.08em;box-shadow:0 0 80px rgba(22,110,255,.28)}.device-orbit__core span{color:var(--gold-500)}
.device { position:absolute;display:flex;align-items:center;gap:.55rem;padding:.65rem .8rem;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);backdrop-filter:blur(12px);border-radius:.9rem;color:rgba(255,255,255,.72);font-size:.7rem;box-shadow:0 16px 35px rgba(0,0,0,.18);animation:device-float 4s ease-in-out infinite}.device svg{width:28px;height:28px;fill:none;stroke:var(--gold-500);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.device--laptop{left:5%;top:18%}.device--display{right:2%;top:25%;animation-delay:-1s}.device--mobile{left:12%;bottom:14%;animation-delay:-2s}.device--dock{right:9%;bottom:10%;animation-delay:-3s}@keyframes device-float{50%{transform:translateY(-10px)}}

.about-section { background:white; }
.about-grid { display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(3rem,8vw,8rem); }
.about-copy { padding-top:1rem; }
.about-lead { font-size:clamp(1.45rem,2.3vw,2rem);line-height:1.35;letter-spacing:-.035em;color:#1b2e4d;margin:0 0 1.5rem; }
.about-copy > p:not(.about-lead) { color:var(--slate); }
.principles { margin-top:2.6rem;border-top:1px solid var(--line); }
.principles > div { display:grid;grid-template-columns:48px 160px 1fr;gap:1rem;padding:1.35rem 0;border-bottom:1px solid var(--line);align-items:start; }
.principles span { color:var(--gold-500);font-size:.65rem;font-weight:850; }
.principles b { font-size:.82rem; }
.principles p { margin:0;color:var(--slate);font-size:.76rem; }

.faq-section { background:#f6f8fc; }
.faq-grid { display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(3rem,7vw,7rem);align-items:start; }
.accordion { border-top:1px solid var(--line); }
.accordion-item { border-bottom:1px solid var(--line); }
.accordion-item button { width:100%;border:0;background:transparent;padding:1.35rem 0;display:flex;align-items:center;justify-content:space-between;text-align:left;color:var(--ink);font-weight:750; }
.accordion-item button i { width:24px;height:24px;position:relative;flex:none;margin-left:1rem; }
.accordion-item button i::before,.accordion-item button i::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:1px;background:var(--blue-600);transform:translate(-50%,-50%);transition:transform .3s}.accordion-item button i::after{transform:translate(-50%,-50%) rotate(90deg)}.accordion-item.is-open button i::after{transform:translate(-50%,-50%) rotate(0)}
.accordion-panel { display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s var(--ease); }
.accordion-panel > p { overflow:hidden;margin:0;color:var(--slate);font-size:.87rem;max-width:680px; }
.accordion-item.is-open .accordion-panel { grid-template-rows:1fr; }
.accordion-item.is-open .accordion-panel > p { padding:0 0 1.4rem; }

.contact-section { position:relative;overflow:hidden;background:var(--navy-950);color:white;padding:clamp(5.5rem,9vw,9rem) 0; }
.contact-backdrop { position:absolute;inset:0; }
.contact-backdrop::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:52px 52px}.contact-backdrop span{position:absolute;border-radius:50%;filter:blur(2px)}.contact-backdrop span:nth-child(1){width:480px;height:480px;right:-120px;top:-160px;background:rgba(22,110,255,.18)}.contact-backdrop span:nth-child(2){width:350px;height:350px;left:40%;bottom:-220px;background:rgba(255,185,91,.11)}.contact-backdrop span:nth-child(3){width:180px;height:180px;left:10%;top:8%;border:1px solid rgba(255,255,255,.08)}
.contact-grid { position:relative;z-index:2;display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(3rem,7vw,7rem);align-items:center; }
.contact-copy h2{font-size:clamp(2.8rem,5.5vw,5.4rem);line-height:.96;letter-spacing:-.065em;margin:0}.contact-copy p{color:rgba(255,255,255,.58);max-width:560px;margin:1.5rem 0 2.2rem}
.contact-email { display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:center;padding:1rem 0;border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12); }.contact-email span{color:rgba(255,255,255,.4);font-size:.68rem;text-transform:uppercase;letter-spacing:.14em}.contact-email b{font-size:clamp(1rem,1.5vw,1.25rem)}.contact-email i{font-style:normal;color:var(--gold-500)}
.enquiry-form { padding:clamp(1.7rem,3vw,3rem);border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.055);backdrop-filter:blur(18px);border-radius:1.5rem;box-shadow:0 35px 80px rgba(0,0,0,.22); }
.form-row { display:grid;grid-template-columns:1fr 1fr;gap:1rem; }
.enquiry-form label { display:block;margin-bottom:1rem; }
.enquiry-form label > span { display:block;font-size:.65rem;text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.45);margin-bottom:.5rem; }
.enquiry-form input,.enquiry-form textarea,.enquiry-form select { width:100%;border:1px solid rgba(255,255,255,.12);background:rgba(4,17,38,.55);color:white;border-radius:.7rem;padding:.86rem .9rem;outline:none;transition:border-color .25s,box-shadow .25s; }
.enquiry-form select option { color:var(--ink); }
.enquiry-form input:focus,.enquiry-form textarea:focus,.enquiry-form select:focus{border-color:var(--gold-500);box-shadow:0 0 0 3px rgba(255,185,91,.08)}
.form-footer { display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:.5rem; }.form-footer p{margin:0;color:rgba(255,255,255,.35);font-size:.65rem;max-width:210px}.form-message{min-height:1.2rem;color:var(--gold-400);font-size:.72rem;margin-top:.7rem}

.site-footer { background:#020b19;color:white;padding:2.4rem 0 1.5rem;border-top:1px solid rgba(255,255,255,.07); }
.footer-top { display:grid;grid-template-columns:180px 1fr auto;gap:2rem;align-items:center;padding-bottom:2rem;border-bottom:1px solid rgba(255,255,255,.08); }
.footer-brand{background:white;border-radius:.6rem;padding:.55rem .8rem; display: block; width: 184px;}
.footer-brand img{width:100%;height:auto}.footer-top p{color:rgba(255,255,255,.43);font-size:.8rem;margin:0;max-width:420px}.footer-top>a:last-child{font-size:.82rem;color:var(--gold-500);font-weight:750}
.footer-bottom { display:flex;align-items:center;justify-content:space-between;padding-top:1.4rem;color:rgba(255,255,255,.35);font-size:.68rem; }.footer-bottom div{display:flex;gap:1.2rem}.footer-bottom a:hover{color:white}
.back-to-top { position:fixed;right:1.2rem;bottom:1.2rem;z-index:90;width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.15);background:rgba(6,21,46,.86);backdrop-filter:blur(10px);color:white;opacity:0;visibility:hidden;transform:translateY(12px);transition:.3s; }.back-to-top.is-visible{opacity:1;visibility:visible;transform:none}

@media (max-width: 1100px) {
  :root { --header-h: 78px; }
  .primary-nav { gap: 1rem; font-size: .76rem; }
  .hero-slide__inner { grid-template-columns: 1fr .85fr; }
  .hero-title { font-size: clamp(3.2rem, 7.4vw, 6rem); }
  .hero-art { transform: scale(.88); transform-origin: center right; }
  .bento-card { grid-column: span 6; }
  .bento-card--wide { grid-column: span 12; }
  .application-grid { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 900px) {
  body, button, a, input, textarea, select { cursor: auto; }
  .cursor-dot,.cursor-ring { display:none; }
  .nav-toggle { display:block; }
  .primary-nav { position:fixed;inset:0;background:rgba(3,16,36,.98);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:10vw;gap:1.4rem;color:white !important;transform:translateY(-105%);transition:transform .55s var(--ease-out);font-size:clamp(1.5rem,5vw,2.4rem); }
  .primary-nav.is-open { transform:none; }
  .nav-cta { font-size:1rem;margin-top:1rem; }
  .hero { height:auto;min-height:860px; }
  .hero-slide__inner { grid-template-columns:1fr;height:auto;min-height:860px;padding-top:130px;padding-bottom:170px; }
  .hero-copy { padding-bottom:0;max-width:760px; }
  .hero-art { position:absolute;right:-80px;bottom:60px;width:55%;height:420px;min-height:0;opacity:.42;transform:scale(.78); }
  .hero-title { font-size:clamp(3.4rem,11vw,6.2rem); }
  .hero-lead { max-width:620px; }
  .scroll-cue { display:none; }
  .signal-strip__grid { grid-template-columns:repeat(2,1fr); }
  .section-head--split,.product-stage,.data-flow-grid,.specs-grid,.compatibility-panel,.about-grid,.faq-grid,.contact-grid { grid-template-columns:1fr; }
  .product-stage__visual { min-height:600px; }
  .flow-diagram { min-height:320px; }
  .specs-copy { position:static; }
  .spec-visual { display:none; }
  .compatibility-panel { gap:2rem; }
  .about-grid { gap:2rem; }
}

@media (max-width: 640px) {
  :root { --container: min(90vw, 1280px); }
  .brand { width:148px; }
  .hero { min-height:900px; }
  .hero-slide__inner { min-height:900px;padding-top:120px;padding-bottom:180px; }
  .hero-copy { align-self:start; }
  .hero-title { font-size:clamp(3rem,15vw,4.7rem); }
  .hero-lead { font-size:.94rem; }
  .hero-actions { align-items:flex-start;flex-direction:column;gap:1.1rem; }
  .hero-metrics { gap:1rem; }
  .hero-metrics > div { padding-right:.8rem; }
  .hero-art { width:78%;right:-32%;bottom:95px;opacity:.35;transform:scale(.7); }
  .hero-controls { bottom:28px; }
  .hero-pagination button { width:34px; }
  .hero-nav-arrows { display:none; }
  .signal-strip__grid { grid-template-columns:1fr; }
  .signal-item,.signal-item:first-child { border-left:1px solid var(--line);border-right:1px solid var(--line);border-bottom:1px solid var(--line); }
  .section { padding:5rem 0; }
  .section-title { font-size:clamp(2.6rem,12vw,4rem); }
  .product-stage { min-height:0; }
  .product-stage__copy { padding:2rem 1.35rem 2.4rem; }
  .product-stage__visual { min-height:520px; }
  .product-stage__visual picture { width:220px; }
  .technical-ring--one{width:350px;height:350px}.technical-ring--two{width:470px;height:470px}.spec-callout--one{left:4%;top:19%}.spec-callout--two{right:3%;top:38%}.spec-callout--three{left:6%;bottom:10%}
  .bento-grid { display:block; }
  .bento-card { min-height:250px;margin-bottom:1rem; }
  .bento-card--tall { min-height:500px; }
  .speed-graph,.card-icon--speed { opacity:.45; }
  .application-grid { grid-template-columns:1fr; }
  .flow-diagram { grid-template-columns:95px 1fr 95px; }
  .flow-device { flex-direction:column;text-align:center;padding:.65rem; }
  .flow-device > span { width:34px;height:34px; }
  .spec-table > div { grid-template-columns:1fr;gap:.35rem; }
  .compatibility-panel { padding:2rem 1.35rem;min-height:760px; }
  .device-orbit { transform:scale(.8);margin-inline:-12%; }
  .principles > div { grid-template-columns:36px 1fr; }
  .principles p { grid-column:2; }
  .form-row { grid-template-columns:1fr;gap:0; }
  .form-footer { align-items:flex-start;flex-direction:column; }
  .footer-top { grid-template-columns:1fr; }.footer-brand{width:170px}.footer-bottom{align-items:flex-start;flex-direction:column;gap:1rem}
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important; }
  .reveal { opacity:1;transform:none; }
}

/* Mobile readability refinement: keep animated banner artwork behind the copy. */
@media (max-width: 640px) {
  .hero-copy { position: relative; z-index: 3; }
  .hero-art { z-index: 0; right: -48%; bottom: 18px; width: 72%; opacity: .24; transform: scale(.58); pointer-events: none; }
  .hero-art .floating-chip { display: none; }
  .hero-metrics { position: relative; z-index: 4; width: 100%; }
}


/* =========================================================
   MULTI-PAGE WEBSITE EXTENSIONS
   ========================================================= */
.primary-nav > a.is-current:not(.nav-cta)::after { right:0; }
.primary-nav .nav-cta.is-current { box-shadow:0 0 0 3px rgba(255,185,91,.24),0 12px 28px rgba(0,0,0,.12); }
.text-link--dark { color:var(--navy-900); }
.section-title--light { color:#fff; }
.section-intro--light { color:rgba(255,255,255,.68); }

.page-hero { min-height:760px; padding-top:var(--header-h); position:relative; overflow:hidden; background:linear-gradient(135deg,#031024 0%,#071b3a 52%,#0b3268 100%); color:#fff; display:flex; align-items:center; }
.page-hero::before { content:""; position:absolute; width:780px; height:780px; border-radius:50%; right:-220px; top:-260px; background:radial-gradient(circle,rgba(85,160,255,.34),transparent 68%); }
.page-hero::after { content:""; position:absolute; inset:auto 0 0; height:150px; background:linear-gradient(transparent,rgba(3,16,36,.38)); }
.page-hero__grid { position:absolute; inset:0; opacity:.13; background-image:linear-gradient(rgba(255,255,255,.15) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.15) 1px,transparent 1px); background-size:72px 72px; mask-image:linear-gradient(90deg,#000,transparent 82%); }
.page-hero__inner { position:relative; z-index:2; display:grid; grid-template-columns:minmax(0,.95fr) minmax(420px,1.05fr); gap:clamp(2rem,6vw,7rem); align-items:center; padding-block:clamp(6rem,11vw,9rem); }
.page-hero__copy h1 { margin:.8rem 0 1.4rem; font-size:clamp(2.6rem,2vw,7.3rem); line-height:.98; letter-spacing:-.03em; }
.page-hero__copy h1 em { color:var(--gold-500); font-style:normal; font-weight:500; }
.page-hero__copy > p { max-width:700px; margin:0; color:rgba(255,255,255,.7); font-size:clamp(1rem,1.4vw,1.22rem); }
.breadcrumb { display:flex; gap:.7rem; align-items:center; margin-bottom:2rem; text-transform:uppercase; letter-spacing:.14em; font-size:.7rem; color:rgba(255,255,255,.52); }
.breadcrumb a:hover { color:var(--gold-500); }
.breadcrumb b { color:#fff; }
.page-hero__visual { position:relative; margin:0; perspective:1200px; }
.page-hero__visual::before { content:""; position:absolute; inset:9% -4% -8% 8%; background:rgba(0,0,0,.23); filter:blur(44px); border-radius:44px; }
.page-hero__visual img { position:relative; width:100%; height:auto; border-radius:32px; box-shadow:0 45px 100px rgba(0,0,0,.33); transform:rotateY(-7deg) rotateX(2deg); animation:page-art-float 7s ease-in-out infinite; }
.page-hero__line { margin-top:3.2rem; display:flex; align-items:center; gap:1rem; color:rgba(255,255,255,.45); font-size:.66rem; letter-spacing:.2em; }
.page-hero__line span { color:var(--gold-500); font-weight:800; }
.page-hero__line i { display:block; width:90px; height:1px; background:linear-gradient(90deg,var(--gold-500),transparent); }
@keyframes page-art-float { 0%,100%{transform:rotateY(-7deg) rotateX(2deg) translateY(0)} 50%{transform:rotateY(-4deg) rotateX(0) translateY(-14px)} }

.editorial-grid { display:grid; grid-template-columns:minmax(280px,.85fr) minmax(420px,1.15fr); gap:clamp(3rem,8vw,9rem); align-items:start; }
.editorial-copy { font-size:1.02rem; color:var(--slate); }
.editorial-copy p { margin:0 0 1.35rem; }
.lead-paragraph { font-size:clamp(1.4rem,2.3vw,2rem)!important; line-height:1.42; color:var(--navy-900); letter-spacing:-.025em; }
.light-panel-section { background:#fff; }
.split-media { display:grid; grid-template-columns:minmax(360px,.9fr) minmax(440px,1.1fr); align-items:center; gap:clamp(3rem,8vw,8rem); }
.split-media__visual { min-height:650px; border-radius:34px; position:relative; overflow:hidden; background:radial-gradient(circle at 50% 45%,rgba(85,160,255,.24),transparent 38%),linear-gradient(145deg,#07162f,#0b3268); display:grid; place-items:center; box-shadow:var(--shadow); }
.split-media__visual::before,.split-media__visual::after { content:""; position:absolute; border:1px solid rgba(94,232,255,.26); border-radius:50%; width:450px; height:450px; }
.split-media__visual::after { width:570px; height:570px; border-color:rgba(255,185,91,.18); }
.split-media__visual img { position:relative; z-index:2; width:250px; max-height:520px; object-fit:contain; filter:drop-shadow(0 30px 32px rgba(0,0,0,.4)); }
.visual-badge { position:absolute; z-index:3; right:1.5rem; bottom:1.5rem; padding:.65rem 1rem; color:#fff; border:1px solid rgba(255,255,255,.18); border-radius:999px; font-size:.72rem; letter-spacing:.16em; background:rgba(3,16,36,.55); backdrop-filter:blur(10px); }
.numbered-principles { margin-top:2.3rem; border-top:1px solid var(--line); }
.numbered-principles article { display:grid; grid-template-columns:52px 1fr; gap:1.1rem; padding:1.45rem 0; border-bottom:1px solid var(--line); }
.numbered-principles article > span { color:var(--gold-500); font-weight:800; font-size:.76rem; }
.numbered-principles h3 { margin:0 0 .25rem; font-size:1.1rem; }
.numbered-principles p { margin:0; color:var(--slate); }
.values-section { background:linear-gradient(180deg,#f6f8fc,#edf3fc); }
.value-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; }
.value-card { padding:2rem; min-height:300px; border:1px solid var(--line); border-radius:22px; background:rgba(255,255,255,.78); transition:transform .45s var(--ease),box-shadow .45s; }
.value-card:hover { box-shadow:var(--shadow); }
.value-card > span { color:var(--gold-500); font-weight:800; font-size:.75rem; }
.value-card h3 { margin:4.2rem 0 .7rem; font-size:1.35rem; }
.value-card p { margin:0; color:var(--slate); }
.page-cta { padding:5rem 0; background:var(--navy-950); color:#fff; }
.page-cta__inner { display:flex; justify-content:space-between; align-items:center; gap:3rem; }
.page-cta__inner > div > span { color:var(--gold-500); text-transform:uppercase; letter-spacing:.16em; font-size:.7rem; font-weight:800; }
.page-cta h2 { max-width:780px; margin:.5rem 0 0; font-size:clamp(2rem,4.2vw,4.5rem); line-height:1.05; letter-spacing:-.045em; }

.product-detail-grid { display:grid; grid-template-columns:minmax(400px,.9fr) minmax(460px,1.1fr); gap:clamp(3rem,8vw,8rem); align-items:center; }
.product-gallery { position:relative; min-height:680px; border-radius:34px; display:grid; place-items:center; overflow:hidden; background:linear-gradient(145deg,#eaf1fc,#fff); border:1px solid rgba(10,32,66,.1); }
.gallery-grid { position:absolute; inset:0; background-image:linear-gradient(rgba(22,110,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(22,110,255,.08) 1px,transparent 1px); background-size:52px 52px; }
.product-gallery::after { content:""; position:absolute; width:500px; height:500px; border:1px solid rgba(22,110,255,.18); border-radius:50%; box-shadow:0 0 0 70px rgba(22,110,255,.035),0 0 0 140px rgba(22,110,255,.025); }
.product-gallery picture { position:relative; z-index:2; }
.product-gallery img { width:270px; filter:drop-shadow(0 32px 35px rgba(6,21,46,.28)); }
.gallery-label { position:absolute; z-index:3; inset:auto 1.5rem 1.5rem; display:flex; justify-content:space-between; align-items:end; padding:1rem 1.2rem; border-radius:14px; background:rgba(255,255,255,.82); backdrop-filter:blur(12px); }
.gallery-label span { font-size:.64rem; letter-spacing:.18em; color:var(--slate); }
.gallery-label b { color:var(--navy-900); }
.product-detail-copy > p { color:var(--slate); }
.product-action-row { display:flex; align-items:center; gap:1.5rem; margin-top:2rem; flex-wrap:wrap; }
.product-capability-section { background:#fff; }
.capability-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; }
.capability-card { border:1px solid var(--line); border-radius:24px; padding:2rem; min-height:340px; background:linear-gradient(160deg,#fff,#f3f7fd); }
.capability-card strong { font-size:clamp(3.5rem,5vw,5.5rem); line-height:1; letter-spacing:-.08em; color:var(--navy-900); }
.capability-card > span { display:inline-block; margin-left:.3rem; color:var(--gold-500); font-weight:800; }
.capability-card h3 { margin:4rem 0 .6rem; font-size:1.25rem; }
.capability-card p { color:var(--slate); margin:0; }
.dark-spec-section { padding:clamp(5.5rem,9vw,9rem) 0; color:#fff; background:linear-gradient(140deg,#031024,#092650); position:relative; overflow:hidden; }
.dark-spec-section::before { content:""; position:absolute; width:700px; height:700px; border-radius:50%; left:-250px; bottom:-400px; background:radial-gradient(circle,rgba(85,160,255,.3),transparent 70%); }
.dark-spec-grid { position:relative; display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(3rem,7vw,7rem); align-items:start; }
.length-selector { margin-top:2rem; display:flex; gap:.6rem; flex-wrap:wrap; }
.length-selector span { width:100%; color:rgba(255,255,255,.5); font-size:.7rem; text-transform:uppercase; letter-spacing:.16em; }
.length-selector b { padding:.65rem 1rem; border-radius:999px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.14); }
.spec-table-wrap--dark { background:rgba(255,255,255,.06); border-color:rgba(255,255,255,.12); backdrop-filter:blur(12px); }
.spec-table-wrap--dark .spec-table > div { border-color:rgba(255,255,255,.1); }
.spec-table-wrap--dark dt { color:rgba(255,255,255,.54); }
.spec-table-wrap--dark dd { color:#fff; }
.spec-note--dark { background:rgba(255,185,91,.1); color:rgba(255,255,255,.68); border-color:rgba(255,185,91,.25); }
.use-case-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; }
.image-card { border:1px solid var(--line); border-radius:22px; overflow:hidden; background:#fff; }
.image-card__visual { height:270px; position:relative; overflow:hidden; background-color:#07162f; }
.image-card__visual::before,.image-card__visual::after { content:""; position:absolute; }
.image-card__visual span { position:absolute; z-index:2; top:1rem; left:1rem; display:grid; place-items:center; width:38px; height:38px; border-radius:50%; background:rgba(255,255,255,.95); color:var(--navy-900); font-size:.7rem; font-weight:800; }
.image-card__visual--control { background:linear-gradient(135deg,#06152e,#0c4081); }
.image-card__visual--control::before { inset:22% 10%; background:repeating-linear-gradient(90deg,rgba(94,232,255,.9) 0 3px,transparent 3px 38px),repeating-linear-gradient(0deg,rgba(255,255,255,.15) 0 2px,transparent 2px 45px); border:1px solid rgba(255,255,255,.18); }
.image-card__visual--control::after { width:120px;height:75px;right:14%;bottom:16%;border:6px solid var(--gold-500);box-shadow:-150px -50px 0 -6px #55a0ff; }
.image-card__visual--broadcast { background:radial-gradient(circle at 70% 35%,rgba(255,185,91,.35),transparent 20%),linear-gradient(145deg,#07162f,#193b75); }
.image-card__visual--broadcast::before { width:180px;height:180px;border:18px solid rgba(255,255,255,.17);border-radius:50%;left:21%;top:16%;box-shadow:0 0 0 22px rgba(85,160,255,.12); }
.image-card__visual--broadcast::after { width:0;height:0;border-left:55px solid var(--gold-500);border-top:35px solid transparent;border-bottom:35px solid transparent;left:46%;top:39%; }
.image-card__visual--meeting { background:linear-gradient(145deg,#0b2550,#166eff); }
.image-card__visual--meeting::before { width:190px;height:115px;left:20%;top:18%;background:#f7f9fd;border:10px solid #06152e;box-shadow:85px 105px 0 -45px var(--gold-500),-55px 120px 0 -45px #5ee8ff; }
.image-card__visual--meeting::after { width:220px;height:80px;left:18%;bottom:16%;border-radius:50%;border:6px solid rgba(255,255,255,.3); }
.image-card__visual--integration { background:linear-gradient(135deg,#06152e,#0b3268); }
.image-card__visual--integration::before { inset:18%; border:7px solid rgba(94,232,255,.7); border-radius:30% 60% 45% 55%; transform:rotate(18deg); box-shadow:0 0 0 25px rgba(255,185,91,.15),0 0 0 55px rgba(85,160,255,.08); }
.image-card__visual--integration::after { width:30px;height:30px;border-radius:50%;background:var(--gold-500);right:21%;bottom:18%;box-shadow:-140px -100px 0 #5ee8ff; }
.image-card h3 { margin:1.4rem 1.4rem .45rem; }
.image-card p { margin:0 1.4rem 1.6rem; color:var(--slate); }

.career-paths-section { background:#fff; }
.career-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; }
.career-card { min-height:430px; padding:2.2rem; border:1px solid var(--line); border-radius:24px; background:linear-gradient(150deg,#fff,#f5f8fd); }
.career-card > span { color:var(--gold-500); font-weight:800; font-size:.72rem; }
.career-icon { margin-top:2.7rem; width:72px;height:72px;display:grid;place-items:center;border-radius:18px;background:var(--navy-900);color:#fff;font-weight:800;letter-spacing:.08em;box-shadow:0 16px 35px rgba(6,21,46,.18); }
.career-card h3 { margin:1.5rem 0 .6rem; font-size:1.5rem; }
.career-card p { color:var(--slate); }
.career-card ul { margin:1.4rem 0 0; padding:1.2rem 0 0; list-style:none; border-top:1px solid var(--line); color:var(--navy-900); }
.career-card li { padding:.25rem 0; }
.career-card li::before { content:"↗"; color:var(--gold-500); margin-right:.6rem; }
.career-process-section { background:linear-gradient(180deg,#f6f8fc,#eaf1fb); }
.process-line { display:grid; grid-template-columns:repeat(4,1fr); position:relative; gap:1rem; }
.process-line::before { content:""; position:absolute; left:5%; right:5%; top:42px; height:1px; background:linear-gradient(90deg,var(--gold-500),var(--blue-600)); }
.process-line article { position:relative; padding:0 1.2rem; }
.process-line article > span { position:relative; z-index:2; display:grid; place-items:center; width:84px;height:84px;border-radius:50%;background:#fff;border:1px solid var(--line);color:var(--navy-900);font-weight:800;box-shadow:0 12px 32px rgba(6,21,46,.08); }
.process-line h3 { margin:1.5rem 0 .4rem; }
.process-line p { color:var(--slate); }
.career-contact-section,.contact-main-section { padding:clamp(5rem,9vw,8rem) 0; position:relative; overflow:hidden; color:#fff; background:linear-gradient(135deg,#031024,#0b3268); }
.career-contact-section::before,.contact-main-section::before { content:""; position:absolute; width:800px;height:800px;border-radius:50%;right:-350px;top:-400px;background:radial-gradient(circle,rgba(94,232,255,.24),transparent 68%); }
.career-contact-grid { position:relative; display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(3rem,7vw,7rem); }
.career-contact-copy h2 { font-size:clamp(2.8rem,5vw,5.3rem); line-height:.98; letter-spacing:-.06em; margin:1rem 0 1.2rem; }
.career-contact-copy p { color:rgba(255,255,255,.65); }

.contact-option-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.contact-option-card { min-height:330px;padding:2rem;border:1px solid var(--line);border-radius:22px;background:#fff; }
.contact-option-card > span { color:var(--gold-500);font-size:.72rem;font-weight:800; }
.contact-option-card h3 { margin:4.5rem 0 .6rem;font-size:1.4rem; }
.contact-option-card p { color:var(--slate); }
.contact-option-card a { display:inline-block;margin-top:1rem;color:var(--blue-600);font-weight:800; }
.support-note { margin-top:2rem; display:flex; flex-wrap:wrap; gap:.6rem; }
.support-note b { width:100%; font-size:.72rem; text-transform:uppercase; letter-spacing:.13em; color:rgba(255,255,255,.48); }
.support-note span { padding:.55rem .8rem; border:1px solid rgba(255,255,255,.16); border-radius:999px; color:rgba(255,255,255,.72); font-size:.82rem; }
.contact-faq-section { background:#fff; }

.footer-top--expanded { grid-template-columns:1.5fr .7fr .85fr 1fr; align-items:start; }
.footer-top--expanded > div:first-child p { max-width:320px; }
.footer-links,.footer-contact { display:flex;flex-direction:column;gap:.48rem; }
.footer-links b,.footer-contact b { margin-bottom:.5rem;color:var(--navy-900);font-size:.72rem;text-transform:uppercase;letter-spacing:.15em; }
.footer-links a,.footer-contact a { color:var(--slate); }
.footer-links a:hover,.footer-contact a:hover { color:var(--blue-600); }

@media (max-width: 1050px) {
  .page-hero__inner { grid-template-columns:1fr 1fr; gap:3rem; }
  .value-grid,.capability-grid,.use-case-grid { grid-template-columns:repeat(2,1fr); }
  .footer-top--expanded { grid-template-columns:1.3fr 1fr 1fr; }
  .footer-contact { grid-column:2/4; }
}
@media (max-width: 880px) {
  .page-hero { min-height:auto; }
  .page-hero__inner,.editorial-grid,.split-media,.product-detail-grid,.dark-spec-grid,.career-contact-grid { grid-template-columns:1fr; }
  .page-hero__inner { padding-top:7rem; }
  .page-hero__visual { max-width:700px; }
  .split-media__visual,.product-gallery { min-height:560px; }
  .process-line { grid-template-columns:repeat(2,1fr); gap:2.5rem 1rem; }
  .process-line::before { display:none; }
  .contact-option-grid { grid-template-columns:1fr; }
}
@media (max-width: 640px) {
  .page-hero__inner { padding-block:7rem 4.5rem; }
  .page-hero__copy h1 { font-size:clamp(3rem,15vw,4.8rem); }
  .page-hero__visual img { transform:none; animation:none; border-radius:22px; }
  .value-grid,.capability-grid,.use-case-grid,.career-grid,.process-line { grid-template-columns:1fr; }
  .page-cta__inner { align-items:flex-start; flex-direction:column; }
  .split-media__visual,.product-gallery { min-height:480px; }
  .split-media__visual img,.product-gallery img { width:210px; }
  .footer-top--expanded { grid-template-columns:1fr; }
  .footer-contact { grid-column:auto; }
  .career-card,.capability-card { min-height:0; }
  .capability-card h3 { margin-top:2rem; }
}

/* =========================================================
   MOBILE EXPERIENCE HARDENING — v2.1
   Responsive navigation, safer viewport handling and compact
   component layouts for phones and tablets.
   ========================================================= */
html {
  max-width: 100%;
  overflow-x: clip;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
body {
  width: 100%;
  min-width: 320px;
  max-width: 100%;
}
main,
.site-footer,
section {
  min-width: 0;
  max-width: 100%;
}
.container,
.header-inner,
.hero-copy,
.page-hero__copy,
.section-head > *,
.editorial-grid > *,
.split-media > *,
.product-detail-grid > *,
.dark-spec-grid > *,
.career-contact-grid > *,
.contact-grid > * {
  min-width: 0;
}
.hero-copy .length-selector span {
  width: auto;
  color: rgba(255,255,255,.75);
  font-size: .74rem;
  text-transform: none;
  letter-spacing: normal;
}
input,
textarea,
select,
button {
  max-width: 100%;
}

@media (max-width: 900px) {
  :root { --header-h: 74px; }

  body::after {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 999;
    background: rgba(1, 9, 23, .64);
    -webkit-backdrop-filter: blur(5px);
    backdrop-filter: blur(5px);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .35s var(--ease), visibility .35s var(--ease);
  }
  body.is-nav-open::after {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }

  .site-header {
    height: calc(var(--header-h) + env(safe-area-inset-top));
    padding-top: env(safe-area-inset-top);
    background: rgba(3, 16, 36, .76);
    -webkit-backdrop-filter: blur(16px);
    backdrop-filter: blur(16px);
    border-bottom-color: rgba(255,255,255,.08);
  }
  .site-header.is-scrolled,
  body.is-nav-open .site-header {
    background: rgba(246,248,252,.96);
    border-color: rgba(8,20,42,.1);
  }
  .header-inner {
    width: min(calc(100% - 28px), 1280px);
    height: var(--header-h);
  }
  .brand {
    width: 142px;
    padding: .48rem .72rem .42rem;
    border-radius: .62rem;
    box-shadow: 0 8px 22px rgba(1,17,44,.12);
  }
  .nav-toggle {
    display: block;
    flex: 0 0 46px;
    width: 46px;
    height: 46px;
    border-radius: 14px;
    background: var(--navy-900);
    box-shadow: 0 10px 25px rgba(3,16,36,.2);
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation;
  }
  .nav-toggle span {
    left: 13px;
    width: 20px;
    height: 2px;
    border-radius: 99px;
  }
  .nav-toggle span:first-child { top: 19px; }
  .nav-toggle span:last-child { top: 27px; }
  .nav-toggle[aria-expanded="true"] span:first-child,
  .nav-toggle[aria-expanded="true"] span:last-child { top: 23px; }

  .primary-nav {
    position: fixed;
    z-index: 2;
    inset: 0 0 0 auto;
    width: min(88vw, 420px);
    height: 100vh;
    height: 100dvh;
    padding:
      calc(var(--header-h) + env(safe-area-inset-top) + 2rem)
      max(1.4rem, env(safe-area-inset-right))
      calc(2rem + env(safe-area-inset-bottom))
      1.6rem;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    color: white !important;
    background:
      radial-gradient(circle at 90% 12%, rgba(22,110,255,.25), transparent 30%),
      linear-gradient(155deg, #031024 0%, #071b3a 56%, #0b2d5f 100%);
    box-shadow: -24px 0 70px rgba(0,0,0,.34);
    transform: translate3d(105%,0,0);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition:
      transform .48s var(--ease-out),
      opacity .3s var(--ease),
      visibility .48s;
  }
  .primary-nav::before {
    content: "Navigation";
    display: block;
    margin: 0 0 1.1rem;
    color: rgba(255,255,255,.42);
    font-size: .66rem;
    font-weight: 800;
    letter-spacing: .2em;
    text-transform: uppercase;
  }
  .primary-nav.is-open {
    transform: translate3d(0,0,0);
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
  .primary-nav > a,
  .primary-nav > a:not(.nav-cta) {
    width: 100%;
    padding: 1rem .15rem;
    border-bottom: 1px solid rgba(255,255,255,.11);
    font-size: clamp(1.25rem, 5.2vw, 1.7rem);
    font-weight: 720;
    line-height: 1.2;
    letter-spacing: -.025em;
    color: rgba(255,255,255,.86);
    opacity: 0;
    transform: translateX(24px);
    transition: color .25s, opacity .35s var(--ease-out), transform .35s var(--ease-out);
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation;
  }
  .primary-nav.is-open > a {
    opacity: 1;
    transform: none;
  }
  .primary-nav.is-open > a:nth-of-type(1) { transition-delay: .08s; }
  .primary-nav.is-open > a:nth-of-type(2) { transition-delay: .12s; }
  .primary-nav.is-open > a:nth-of-type(3) { transition-delay: .16s; }
  .primary-nav.is-open > a:nth-of-type(4) { transition-delay: .20s; }
  .primary-nav.is-open > a:nth-of-type(5) { transition-delay: .24s; }
  .primary-nav > a:not(.nav-cta)::after { display: none; }
  .primary-nav > a.is-current:not(.nav-cta) {
    color: var(--gold-400);
  }
  .primary-nav > a.is-current:not(.nav-cta)::before {
    content: "•";
    margin-right: .55rem;
    color: var(--gold-500);
  }
  .primary-nav .nav-cta {
    width: 100%;
    min-height: 54px;
    margin-top: 1.35rem;
    padding: .85rem 1rem;
    justify-content: space-between;
    border: 0;
    border-radius: 15px;
    color: var(--navy-950) !important;
    background: var(--gold-500);
    font-size: 1rem;
    letter-spacing: 0;
  }
  .primary-nav .nav-cta.is-current {
    box-shadow: 0 0 0 3px rgba(255,185,91,.24), 0 16px 35px rgba(0,0,0,.2);
  }

  .container { width: min(calc(100% - 32px), 1280px); }
  .hero,
  .hero-slider,
  .hero-slide { overflow: hidden; }
  .hero {
    min-height: 820px;
    height: max(820px, 100svh);
  }
  .hero-slide__inner {
    min-height: 820px;
    height: max(820px, 100svh);
    padding-top: calc(var(--header-h) + env(safe-area-inset-top) + 3rem);
    padding-bottom: 130px;
    align-items: start;
  }
  .hero-copy {
    width: 100%;
    max-width: 690px;
    padding-top: 1rem;
  }
  .hero-title,
  .page-hero__copy h1,
  .section-title,
  .contact-copy h2,
  .career-contact-copy h2,
  .page-cta h2 {
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
  }
  .hero-actions .button,
  .hero-actions .text-link {
    min-height: 48px;
  }
  .hero-art {
    right: -19%;
    bottom: 38px;
    width: 50%;
    opacity: .23;
    transform: scale(.58);
    transform-origin: center;
  }
  .hero-controls {
    bottom: calc(22px + env(safe-area-inset-bottom));
    width: min(calc(100% - 32px), 1280px);
    gap: .75rem;
  }
  .hero-pagination {
    flex: 1;
    justify-content: space-between;
    min-width: 0;
  }
  .hero-pagination button {
    flex: 1;
    width: auto;
    min-width: 34px;
    min-height: 42px;
  }
  .hero-progress { bottom: calc(-22px - env(safe-area-inset-bottom)); }
  .power-meter { flex-wrap: wrap; }
  .power-meter > span { flex: 1 1 150px; width: auto; }

  .section,
  .dark-spec-section,
  .career-contact-section,
  .contact-main-section {
    overflow: hidden;
  }
  .section-head--split { align-items: start; }
  .product-stage,
  .compatibility-panel,
  .page-hero__visual,
  .split-media__visual,
  .product-gallery,
  .career-card,
  .capability-card,
  .image-card,
  .contact-option-card,
  .enquiry-form {
    border-radius: 22px;
  }
  .flow-diagram,
  .product-stage__visual,
  .device-orbit,
  .split-media__visual,
  .product-gallery {
    max-width: 100%;
  }
  .footer-links a,
  .footer-contact a,
  .contact-option-card a,
  .contact-email a {
    overflow-wrap: anywhere;
  }
}

@media (max-width: 640px) {
  :root { --header-h: 68px; --container: min(calc(100% - 28px), 1280px); }

  .header-inner { width: min(calc(100% - 24px), 1280px); }
  .brand { width: 130px; }
  .nav-toggle {
    flex-basis: 44px;
    width: 44px;
    height: 44px;
    border-radius: 13px;
  }
  .nav-toggle span { left: 12px; }
  .primary-nav {
    width: min(92vw, 390px);
    padding-left: 1.35rem;
    padding-right: 1.35rem;
  }

  .hero {
    min-height: 790px;
    height: max(790px, 100svh);
  }
  .hero-slide__inner {
    min-height: 790px;
    height: max(790px, 100svh);
    padding-top: calc(var(--header-h) + env(safe-area-inset-top) + 2.3rem);
    padding-bottom: 112px;
  }
  .hero-copy { padding-top: .4rem; }
  .eyebrow {
    gap: .55rem;
    margin-bottom: 1rem;
    font-size: .62rem;
    letter-spacing: .15em;
  }
  .eyebrow span { width: 26px; }
  .hero-title {
    font-size: clamp(2.75rem, 13.3vw, 4rem);
    line-height: .94;
    letter-spacing: -.06em;
  }
  .hero-lead {
    margin-top: 1.35rem;
    max-width: 34rem;
    font-size: .92rem;
    line-height: 1.58;
  }
  .hero-actions {
    margin-top: 1.55rem;
    gap: .7rem;
  }
  .hero-actions .button {
    width: 100%;
    max-width: 320px;
    justify-content: space-between;
  }
  .hero-actions .text-link {
    width: auto;
    min-height: 40px;
  }
  .hero-metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: .55rem;
    margin-top: 1.6rem;
  }
  .hero-metrics > div {
    min-width: 0;
    padding-right: .55rem;
  }
  .hero-metrics strong { font-size: 1.2rem; }
  .hero-metrics span { font-size: .61rem; line-height: 1.3; }
  .hero-tags,
  .length-selector,
  .power-meter,
  .hero-status { margin-top: 1.55rem; }
  .hero-copy .length-selector { flex-wrap: wrap; }
  .hero-art {
    right: -42%;
    bottom: -28px;
    width: 78%;
    height: 390px;
    opacity: .15;
    transform: scale(.5);
  }
  .hero-art .floating-chip,
  .hero-art .data-node { display: none; }
  .hero-controls {
    width: min(calc(100% - 28px), 1280px);
    bottom: calc(17px + env(safe-area-inset-bottom));
  }
  .hero-pagination { gap: .18rem; }
  .hero-pagination button {
    min-width: 30px;
    min-height: 40px;
    padding-inline: 0;
    font-size: .62rem;
  }

  .section { padding: 4.5rem 0; }
  .section-head { margin-bottom: 2.5rem; }
  .section-title {
    font-size: clamp(2.35rem, 11.5vw, 3.55rem);
    line-height: 1;
  }
  .section-intro { font-size: .94rem; }
  .signal-item { padding: 1.25rem 1rem; }

  .product-stage__copy { padding: 1.75rem 1.15rem 2rem; }
  .product-stage__visual { min-height: 430px; }
  .product-stage__visual picture { width: 184px; }
  .technical-ring--one { width: 290px; height: 290px; }
  .technical-ring--two { width: 390px; height: 390px; }
  .spec-callout {
    min-width: 0;
    max-width: 135px;
    padding: .58rem .65rem;
  }
  .spec-callout b { font-size: .72rem; }
  .spec-callout span { font-size: .58rem; }

  .flow-diagram {
    min-height: 300px;
    grid-template-columns: 76px minmax(0,1fr) 76px;
  }
  .flow-device { gap: .35rem; font-size: .62rem; }
  .compatibility-panel {
    min-height: auto;
    padding: 1.8rem 1.15rem 1.35rem;
  }
  .device-orbit {
    height: 340px;
    margin-inline: -20%;
    transform: scale(.72);
  }
  .principles > div { gap: .7rem; }

  .page-hero { min-height: auto; }
  .page-hero__inner {
    padding-top: calc(var(--header-h) + env(safe-area-inset-top) + 3rem);
    padding-bottom: 4.25rem;
    gap: 2.25rem;
  }
  .breadcrumb {
    flex-wrap: wrap;
    margin-bottom: 1.35rem;
    font-size: .62rem;
  }
  .page-hero__copy h1 {
    margin: .65rem 0 1.05rem;
    font-size: clamp(2.8rem, 13.7vw, 4.25rem);
    line-height: .95;
  }
  .page-hero__copy > p { font-size: .94rem; }
  .page-hero__line { margin-top: 2rem; }
  .page-hero__visual img { border-radius: 20px; }

  .editorial-grid,
  .split-media,
  .product-detail-grid,
  .dark-spec-grid,
  .career-contact-grid,
  .contact-grid {
    gap: 2.2rem;
  }
  .lead-paragraph { font-size: 1.3rem !important; }
  .split-media__visual,
  .product-gallery { min-height: 400px; }
  .split-media__visual img,
  .product-gallery img { width: 180px; }
  .split-media__visual::before { width: 320px; height: 320px; }
  .split-media__visual::after { width: 400px; height: 400px; }
  .product-gallery::after {
    width: 330px;
    height: 330px;
    box-shadow: 0 0 0 45px rgba(22,110,255,.035), 0 0 0 90px rgba(22,110,255,.025);
  }

  .value-card,
  .capability-card,
  .career-card,
  .contact-option-card { padding: 1.5rem; }
  .image-card__visual { height: 220px; }
  .career-card { min-height: 0; }
  .career-icon { margin-top: 2rem; }
  .process-line article { padding-inline: .2rem; }
  .process-line article > span { width: 70px; height: 70px; }
  .contact-option-card { min-height: 250px; }
  .contact-option-card h3 { margin-top: 2.5rem; }

  .career-contact-section,
  .contact-main-section,
  .dark-spec-section { padding: 4.5rem 0; }
  .career-contact-copy h2,
  .contact-copy h2 {
    font-size: clamp(2.4rem, 11.5vw, 3.6rem);
    line-height: 1;
  }
  .enquiry-form {
    padding: 1.25rem;
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
  }
  .enquiry-form input,
  .enquiry-form textarea,
  .enquiry-form select {
    min-height: 48px;
    font-size: 16px;
  }
  .enquiry-form textarea { min-height: 130px; }
  .form-footer .button { width: 100%; }

  .page-cta { padding: 4rem 0; }
  .page-cta__inner { gap: 1.75rem; }
  .page-cta__inner .button { width: 100%; justify-content: space-between; }

  .site-footer { padding-top: 2rem; }
  .footer-top--expanded { gap: 1.5rem; }
  .footer-links,
  .footer-contact { gap: .65rem; }
  .footer-bottom div { flex-wrap: wrap; gap: .7rem 1rem; }
  .back-to-top {
    right: 1rem;
    bottom: calc(1rem + env(safe-area-inset-bottom));
    width: 44px;
    height: 44px;
  }
}

@media (max-width: 420px) {
  .hero {
    min-height: 760px;
    height: max(760px, 100svh);
  }
  .hero-slide__inner {
    min-height: 760px;
    height: max(760px, 100svh);
  }
  .hero-title { font-size: clamp(2.55rem, 12.6vw, 3.45rem); }
  .hero-art { right: -53%; opacity: .12; }
  .hero-pagination button span { font-size: .58rem; }
  .button { font-size: .78rem; }
  .page-hero__copy h1 { font-size: clamp(2.55rem, 13vw, 3.65rem); }
  .section-title { font-size: clamp(2.2rem, 11.2vw, 3.2rem); }
  .flow-diagram { grid-template-columns: 68px minmax(0,1fr) 68px; }
  .footer-brand { width: 150px; }
}

@media (orientation: landscape) and (max-height: 520px) and (max-width: 900px) {
  .primary-nav {
    padding-top: calc(var(--header-h) + env(safe-area-inset-top) + .8rem);
  }
  .primary-nav > a,
  .primary-nav > a:not(.nav-cta) {
    padding: .62rem .15rem;
    font-size: 1.1rem;
  }
  .primary-nav::before { margin-bottom: .35rem; }
  .primary-nav .nav-cta { margin-top: .7rem; min-height: 46px; }
}

/* Keep decorative hero artwork subordinate to content on touch layouts. */
@media (max-width: 900px) {
  .hero-slide.is-active .hero-art {
    animation: none;
    opacity: .2;
    transform: scale(.58);
  }
}
@media (max-width: 640px) {
  .hero-slide.is-active .hero-art {
    opacity: .14;
    transform: scale(.5);
  }
}
@media (max-width: 420px) {
  .hero-slide.is-active .hero-art { opacity: .1; }
}

/* Form hardening and submission states */
.hp-field { position:absolute !important; left:-10000px !important; width:1px !important; height:1px !important; overflow:hidden !important; opacity:0 !important; pointer-events:none !important; }
.enquiry-form button[type="submit"]:disabled { opacity:.6; cursor:wait; transform:none !important; }


/* AV-Nex v3.0 catalogue, services, insights and launch-completion modules */
.catalog-section { background:#f7f9fc; }
.catalog-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.catalog-card { min-height:330px; padding:1.6rem; border:1px solid var(--line); border-radius:22px; background:#fff; display:flex; flex-direction:column; box-shadow:0 18px 45px rgba(7,22,47,.05); transition:transform .25s ease,border-color .25s ease; }
.catalog-card:hover { border-color:rgba(22,110,255,.35); }
.catalog-card__top { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:2rem; }
.catalog-card__top span { color:var(--gold-500); font-weight:800; font-size:.76rem; }
.catalog-card__top b { color:var(--slate); text-transform:uppercase; letter-spacing:.09em; font-size:.62rem; text-align:right; }
.catalog-card h3 { margin:0 0 .8rem; font-size:1.35rem; }
.catalog-card p { color:var(--slate); margin:0 0 1.4rem; line-height:1.72; }
.catalog-card .text-link { margin-top:auto; }
.product-family-overview { background:#fff; }
.featured-product-panel { background:#f7f9fc; }
.applications-mini-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; }
.application-mini { min-height:170px; padding:1.5rem; background:var(--navy-950); color:#fff; border-radius:20px; border:1px solid rgba(255,255,255,.08); }
.application-mini span { color:var(--gold-500); font-size:.7rem; font-weight:800; }
.application-mini h3 { margin:2.4rem 0 0; font-size:1.15rem; }
.spec-planning-section { background:#f7f9fc; }
.procurement-checklist { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.procurement-checklist span { padding:1.25rem 1.4rem; border:1px solid var(--line); background:#fff; border-radius:16px; font-weight:750; }
.home-service-grid,.service-detail-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.service-mini,.service-card { padding:1.6rem; border:1px solid var(--line); border-radius:22px; background:#fff; }
.service-mini > span,.service-card > span { color:var(--gold-500); font-size:.72rem; font-weight:850; }
.service-mini h3,.service-card h3 { margin:1.5rem 0 .65rem; }
.service-mini p,.service-card p { color:var(--slate); line-height:1.7; }
.service-card { min-height:300px; display:flex; flex-direction:column; scroll-margin-top:110px; }
.service-card .text-link { margin-top:auto; }
.home-services-section { background:#f7f9fc; }
.home-insights-section { background:#fff; }
.insight-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.insight-card { min-height:310px; padding:1.6rem; border-radius:22px; border:1px solid var(--line); background:#fff; display:flex; flex-direction:column; }
.insight-card__meta { display:flex; justify-content:space-between; align-items:center; gap:1rem; color:var(--slate); text-transform:uppercase; letter-spacing:.08em; font-size:.67rem; font-weight:800; }
.insight-card__meta b { color:var(--gold-500); }
.insight-card h3 { margin:2.2rem 0 .8rem; font-size:1.35rem; line-height:1.2; }
.insight-card p { color:var(--slate); line-height:1.72; }
.insight-card .text-link { margin-top:auto; }
.section-action { margin-top:2rem; display:flex; justify-content:flex-start; }
.positioning-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.positioning-card { padding:1.8rem; border-radius:22px; border:1px solid var(--line); background:#fff; }
.positioning-card > span { color:var(--gold-500); font-size:.7rem; letter-spacing:.14em; font-weight:850; }
.positioning-card h3 { margin:1.4rem 0 .8rem; font-size:1.35rem; line-height:1.25; }
.positioning-card p { color:var(--slate); line-height:1.72; }
.corporate-positioning-section { background:#f7f9fc; }
.contact-map-section { background:#f7f9fc; }
.contact-map-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(2rem,6vw,6rem); align-items:center; }
.map-frame { min-height:420px; border-radius:24px; overflow:hidden; border:1px solid var(--line); box-shadow:0 20px 50px rgba(7,22,47,.08); background:#fff; }
.map-frame iframe { width:100%; height:100%; min-height:420px; border:0; display:block; }
.article-hero .page-hero__inner { grid-template-columns:minmax(0,1fr); }
.article-hero .page-hero__copy { max-width:900px; }
.article-hero .page-hero__copy h1 { font-size:clamp(2.5rem,5vw,5.2rem); }
.article-layout { max-width:900px; }
.article-body { font-size:1.08rem; line-height:1.85; }
.article-lead { font-size:1.35rem; color:var(--navy-900); font-weight:600; margin:0 0 3rem; }
.article-section { margin:0 0 3rem; }
.article-section h2 { font-size:clamp(1.6rem,3vw,2.4rem); margin:0 0 .8rem; }
.article-section p { color:var(--slate); }
.article-note { margin-top:3rem; padding:1.6rem; border-left:4px solid var(--gold-500); background:#f7f9fc; border-radius:0 16px 16px 0; }
.article-note p { margin:.5rem 0 0; color:var(--slate); }
@media (max-width:1000px){.catalog-grid,.home-service-grid,.service-detail-grid,.insight-grid,.positioning-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.applications-mini-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.contact-map-grid{grid-template-columns:1fr;}}
@media (max-width:640px){.catalog-grid,.home-service-grid,.service-detail-grid,.insight-grid,.positioning-grid,.applications-mini-grid,.procurement-checklist{grid-template-columns:1fr;}.catalog-card,.service-card,.insight-card{min-height:auto}.map-frame,.map-frame iframe{min-height:330px}.article-body{font-size:1rem;}}

/* =========================================================
   PRODUCT PAGE HERO SPACING — v3.1
   Keeps product content close to the fixed header while
   preserving the existing spacing on non-product pages.
   ========================================================= */
body.product-page .page-hero {
  min-height: 0;
  align-items: flex-start;
}
body.product-page .page-hero__inner {
  padding-block: 2.75rem 3rem;
  align-items: start;
}
body.product-page .page-hero__visual {
  width: 100%;
  max-width: 520px;
  justify-self: end;
}
body.product-page .breadcrumb { margin-bottom: 1.1rem; }
body.product-page .page-hero__line { margin-top: 2rem; }

@media (max-width: 1050px) {
  body.product-page .page-hero__visual { max-width: 480px; }
}

@media (max-width: 880px) {
  body.product-page .page-hero__inner {
    padding-top: 2.35rem;
    padding-bottom: 3rem;
  }
  body.product-page .page-hero__visual {
    max-width: 560px;
    justify-self: start;
  }
}

@media (max-width: 640px) {
  body.product-page .page-hero__inner {
    padding-top: 1.85rem;
    padding-bottom: 2.5rem;
  }
  body.product-page .breadcrumb { margin-bottom: .8rem; }
  body.product-page .page-hero__line { margin-top: 1.55rem; }
}


/* AV-NEX technical product content v3.2 */
.product-model-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:2rem}
.product-model-card{padding:1.8rem;border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.86);box-shadow:0 14px 40px rgba(7,22,47,.05)}
.product-model-card>span{display:inline-flex;color:var(--gold-500);font-size:.75rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.product-model-card h3{margin:.7rem 0 1rem;font-size:1.35rem}
.product-model-card p{margin:.55rem 0;color:var(--slate)}
.product-model-card p strong{color:var(--navy-900)}
.product-model-card .model-use{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line)}
.portfolio-note{margin-top:1.4rem;padding:1.15rem 1.35rem;border-left:3px solid var(--gold-500);background:rgba(255,255,255,.65);color:var(--slate)}
@media(max-width:760px){.product-model-grid{grid-template-columns:1fr}}
