/* =====================================================================
   FLYZ ROBOTICS — Stylesheet
   Section 1: Base reset, utility classes and component styles (migrated
             verbatim from the original <style> block).
   Section 2: Semantic classes extracted from former inline styles.
   ===================================================================== */

*,::before,::after{box-sizing:border-box;border-width:0;border-style:solid;border-color:rgba(255,255,255,0.08)}html{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4;font-family:Inter,sans-serif;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:rgba(0,210,255,0.25) #050505}body{margin:0;line-height:inherit}body::before{content:'';position:fixed;inset:0;pointer-events:none;z-index:0;background-image:radial-gradient(ellipse 120% 70% at 50% 0%,rgba(0,30,60,0.07) 0%,transparent 70%)}body>*{position:relative;z-index:1}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}button,input{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button{cursor:pointer;background-color:transparent;background-image:none}img,svg{display:block;vertical-align:middle}img{max-width:100%;height:auto}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0px}.top-0{top:0px}.z-10{z-index:10}.z-50{z-index:50}.w-2{width:0.5rem}.w-auto{width:auto}.w-full{width:100%}.h-2{height:0.5rem}.h-4{height:1rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-16{height:4rem}.h-\[450px\]{height:450px}.h-\[650px\]{height:650px}.min-h-screen{min-height:100vh}.max-w-xl{max-width:36rem}.max-w-4xl{max-width:56rem}.max-w-7xl{max-width:80rem}.max-w-\[1800px\]{max-width:1800px}.mx-auto{margin-left:auto;margin-right:auto}.mb-4{margin-bottom:1rem}.mb-1{margin-bottom:0.25rem}.mb-0{margin-bottom:0}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mb-10{margin-bottom:2.5rem}.mb-16{margin-bottom:4rem}.pb-2{padding-bottom:0.5rem}.pb-16{padding-bottom:4rem}.pb-20{padding-bottom:5rem}.pb-24{padding-bottom:6rem}.pb-32{padding-bottom:8rem}.pb-64{padding-bottom:16rem}.pt-8{padding-top:2rem}.pt-12{padding-top:3rem}.pt-24{padding-top:6rem}.pt-28{padding-top:7rem}.pt-32{padding-top:8rem}.px-4{padding-left:1rem;padding-right:1rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}.py-1{padding-top:0.25rem;padding-bottom:0.25rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-32{padding-top:8rem;padding-bottom:8rem}.p-8{padding:2rem}.p-12{padding:3rem}.pl-10{padding-left:2.5rem}.flex-col{flex-direction:column}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.gap-2{gap:0.5rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-10{gap:2.5rem}.gap-12{gap:3rem}.gap-16{gap:4rem}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.col-span-12{grid-column:span 12 / span 12}.space-y-2>:not([hidden])~:not([hidden]){margin-top:0.5rem}.space-y-4>:not([hidden])~:not([hidden]){margin-top:1rem}.space-y-6>:not([hidden])~:not([hidden]){margin-top:1.5rem}.space-y-8>:not([hidden])~:not([hidden]){margin-top:2rem}.space-y-12>:not([hidden])~:not([hidden]){margin-top:3rem}.font-sans{font-family:Inter,sans-serif}.font-mono{font-family:'JetBrains Mono',monospace}.font-light{font-weight:300}.font-black{font-weight:900}.italic{font-style:italic}.uppercase{text-transform:uppercase}.text-center{text-align:center}.text-right{text-align:right}.text-xs{font-size:0.75rem;line-height:1rem}.text-sm{font-size:0.875rem;line-height:1.25rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-7xl{font-size:4.5rem;line-height:1}.text-8xl{font-size:6rem;line-height:1}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-loose{line-height:2}.leading-\[0\.92\]{line-height:0.92}.tracking-wide{letter-spacing:0.025em}.tracking-wider{letter-spacing:0.05em}.tracking-widest{letter-spacing:0.1em}.tracking-normal{letter-spacing:0em}.tracking-\[1em\]{letter-spacing:1em}.text-white\/20{color:rgba(255,255,255,0.2)}.text-white\/30{color:rgba(255,255,255,0.3)}.text-white\/40{color:rgba(255,255,255,0.4)}.text-white\/50{color:rgba(255,255,255,0.5)}.text-cyan-400{color:rgb(34,211,238)}.text-cyan-500{color:rgb(6,182,212)}.text-accent-cyan{color:#00d2ff}.bg-black{background-color:rgb(0,0,0)}.bg-black\/95{background-color:rgba(0,0,0,0.95)}.bg-\[\#050505\]{background-color:#050505}.bg-\[\#020205\]{background-color:#020205}.bg-white\/\[0\.02\]{background-color:rgba(255,255,255,0.02)}.border{border-width:1px}.border-t{border-top-width:1px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-white\/5{border-color:rgba(255,255,255,0.05)}.border-white\/10{border-color:rgba(255,255,255,0.10)}.border-accent-cyan\/20{border-color:rgba(0,210,255,0.2)}.border-accent-cyan\/30{border-color:rgba(0,210,255,0.3)}.border-cyan-500\/30{border-color:rgba(6,182,212,0.3)}.anduril-border{border-color:rgba(255,255,255,0.08)}.rounded-full{border-radius:9999px}.opacity-10{opacity:0.1}.opacity-20{opacity:0.2}.opacity-30{opacity:0.3}.backdrop-blur-xl{backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}.overflow-hidden{overflow:hidden}.cursor-pointer{cursor:pointer}.scroll-mt-16{scroll-margin-top:4rem}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}.transition-colors{transition-property:color,background-color,border-color;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}.duration-300{transition-duration:300ms}.duration-500{transition-duration:500ms}.duration-700{transition-duration:700ms}.group:hover .group-hover\:opacity-30{opacity:0.3}.group:hover .group-hover\:opacity-40{opacity:0.4}.group:hover .group-hover\:opacity-100{opacity:1}.group:hover .group-hover\:rotate-12{transform:rotate(12deg)}.group:hover .group-hover\:scale-\[1\.48\]{transform:scale(1.48)}.hardware-img-wrapper{overflow:hidden;padding:0;height:650px}.hardware-drone-img{width:100%;height:100%;object-fit:contain;transform:scale(1.2);transition:transform 0.8s cubic-bezier(0.16,1,0.3,1);filter:drop-shadow(0 0 40px rgba(0,210,255,0.12));will-change:transform}.hardware-img-wrapper.group:hover .hardware-drone-img{transform:scale(1.28) translateY(-2%)}.sensor-payload-img{width:100%;height:100%;object-fit:cover;object-position:center center;transform:scale(1.08);transition:transform 0.8s cubic-bezier(0.16,1,0.3,1);will-change:transform}.hover\:text-white:hover{color:rgb(255,255,255)}.hover\:bg-accent-cyan\/10:hover{background-color:rgba(0,210,255,0.1)}.hover\:border-accent-cyan\/40:hover{border-color:rgba(0,210,255,0.4)}.\!px-6{padding-left:1.5rem !important;padding-right:1.5rem !important}.\!py-3{padding-top:0.75rem !important;padding-bottom:0.75rem !important}.\!text-\[8px\]{font-size:8px !important}.\!text-\[9px\]{font-size:9px !important}.\!text-white\/20{color:rgba(255,255,255,0.2) !important}@media (min-width:768px){.md\:flex-row{flex-direction:row}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1024px){.lg\:col-span-4{grid-column:span 4 / span 4}.lg\:col-span-5{grid-column:span 5 / span 5}.lg\:col-span-6{grid-column:span 6 / span 6}.lg\:col-span-7{grid-column:span 7 / span 7}.lg\:col-span-8{grid-column:span 8 / span 8}}@media (min-width:1280px){.xl\:flex{display:flex}}@media (min-width:1536px){.2xl\:block{display:block}}#demo-toast{position:fixed;bottom:2.5rem;left:50%;transform:translateX(-50%) translateY(20px);background:rgba(6,6,16,0.95);border:1px solid rgba(0,210,255,0.3);display:flex;align-items:center;gap:0.75rem;padding:0.75rem 1.5rem;opacity:0;transition:opacity 0.4s ease,transform 0.4s ease;pointer-events:none;z-index:9999}#demo-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}#demo-toast-dot{width:5px;height:5px;border-radius:50%;background:#00d2ff;flex-shrink:0}#demo-toast-msg{font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:0.3em;text-transform:uppercase;color:rgba(255,255,255,0.7)}.gcs-section{position:relative;background:#E8EBF0;border-top:1px solid rgba(255,255,255,0.25);border-bottom:1px solid rgba(255,255,255,0.25);display:flex;flex-direction:column;justify-content:flex-start;z-index:1;min-height:100vh;overflow:hidden}.gcs-inner{padding:3rem 0 4rem}.gcs-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem;padding-bottom:0.75rem;border-bottom:1px solid rgba(0,0,0,0.08)}.gcs-eyebrow{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:0.5em;text-transform:uppercase;color:rgba(0,0,0,0.4);display:flex;align-items:center;gap:0.75rem}.gcs-live-tag{font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:0.4em;text-transform:uppercase;color:#00a8cc;display:flex;align-items:center;gap:0.5rem}.gcs-pulse{display:inline-block;width:6px;height:6px;background:#00a8cc;border-radius:50%;box-shadow:0 0 8px rgba(0,168,204,0.6);animation:livePulse 2.2s ease-in-out infinite;flex-shrink:0}.gcs-pulse-dark{display:inline-block;width:5px;height:5px;background:#00a8cc;border-radius:50%;animation:livePulse 2.2s ease-in-out infinite;flex-shrink:0}.gcs-grid{display:grid;grid-template-columns:5fr 7fr;gap:5rem;align-items:center}.gcs-text-col{display:flex;flex-direction:column}.gcs-heading{font-family:'Inter',sans-serif;font-size:clamp(2.5rem,4.5vw,3.8rem);font-weight:900;line-height:0.95;letter-spacing:-0.02em;text-transform:uppercase;color:#0a0a0a;margin-bottom:1.25rem}.gcs-body{font-size:1rem;font-weight:300;line-height:1.6;color:rgba(0,0,0,0.35);margin-bottom:0.75rem}.gcs-body-secondary{font-size:0.85rem;font-weight:300;line-height:1.6;color:rgba(0,0,0,0.35);margin-bottom:1.5rem}.gcs-stats{display:flex;align-items:center;gap:2rem;padding:1rem 0;border-top:1px solid rgba(0,0,0,0.08);border-bottom:1px solid rgba(0,0,0,0.08);margin-bottom:1.25rem}.gcs-stat-label{font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:0.3em;text-transform:uppercase;color:rgba(0,0,0,0.35);margin-bottom:0.35rem}.gcs-stat-value{font-size:1.25rem;font-weight:900;color:#0a0a0a}.gcs-stat-divider{width:1px;height:40px;background:rgba(0,0,0,0.12);flex-shrink:0}.gcs-tags{display:flex;flex-wrap:wrap;gap:0.4rem;margin-bottom:1rem}.gcs-tag{font-family:'JetBrains Mono',monospace;font-size:8px;letter-spacing:0.25em;text-transform:uppercase;color:rgba(0,0,0,0.45);border:1px solid rgba(0,0,0,0.15);padding:0.4rem 0.75rem;transition:border-color 250ms,color 250ms}.gcs-tag:hover{border-color:#00a8cc;color:#00a8cc}.gcs-image-col{display:flex;align-items:center}.gcs-image-frame{position:relative;width:100%}.gcs-img{width:100%;height:auto;display:block;filter:drop-shadow(0 30px 60px rgba(0,0,0,0.2));transition:transform 0.8s cubic-bezier(0.16,1,0.3,1)}.gcs-image-frame:hover .gcs-img{transform:translateY(-8px)}.gcs-corner{position:absolute;width:16px;height:16px;z-index:4;pointer-events:none}.gcs-corner-tl{top:-4px;left:-4px;border-top:2px solid #00a8cc;border-left:2px solid #00a8cc}.gcs-corner-tr{top:-4px;right:-4px;border-top:2px solid #00a8cc;border-right:2px solid #00a8cc}.gcs-corner-bl{bottom:-4px;left:-4px;border-bottom:2px solid #00a8cc;border-left:2px solid #00a8cc}.gcs-corner-br{bottom:-4px;right:-4px;border-bottom:2px solid #00a8cc;border-right:2px solid #00a8cc}.gcs-badge{position:absolute;z-index:5;font-family:'JetBrains Mono',monospace;font-size:8px;letter-spacing:0.3em;text-transform:uppercase;background:rgba(10,10,10,0.85);color:rgba(255,255,255,0.7);padding:0.4rem 0.75rem;display:flex;align-items:center;gap:0.5rem}.gcs-badge-tl{top:8%;left:2%}.gcs-badge-br{bottom:4%;right:2%}.partner-cell{transition:box-shadow 0.3s ease}.partner-cell:hover{box-shadow:inset 0 0 0 1px rgba(0,210,255,0.25);background:#0d0d0d}.partner-cell img{opacity:0.7;transition:opacity 0.3s ease,transform 0.4s cubic-bezier(0.16,1,0.3,1)}.partner-cell:hover img{opacity:1;transform:translateY(-5px)}body{background-color:#050505;color:#fff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeSpeed}.modal-noise{position:absolute;inset:0;pointer-events:none;opacity:0.018;background-image:url('data:image/svg+xml,%3Csvg viewBox%3D%220 0 200 200%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cfilter id%3D%22n%22%3E%3CfeTurbulence type%3D%22fractalNoise%22 baseFrequency%3D%220.85%22 numOctaves%3D%224%22 stitchTiles%3D%22stitch%22%2F%3E%3C%2Ffilter%3E%3Crect width%3D%22100%25%22 height%3D%22100%25%22 filter%3D%22url(%23n)%22%2F%3E%3C%2Fsvg%3E')}#demo-toast{position:fixed;bottom:2.5rem;left:50%;transform:translateX(-50%) translateY(20px);background:rgba(10,10,15,0.97);border:1px solid rgba(0,210,255,0.3);padding:0.9rem 1.8rem;opacity:0;pointer-events:none;transition:opacity 0.35s ease,transform 0.35s cubic-bezier(0.16,1,0.3,1);z-index:2000;display:flex;align-items:center;gap:0.75rem;box-shadow:0 0 30px rgba(0,210,255,0.08)}#demo-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}#demo-toast-dot{width:5px;height:5px;border-radius:50%;background:#00d2ff;flex-shrink:0;box-shadow:0 0 6px #00d2ff}#demo-toast-msg{font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:0.25em;text-transform:uppercase;color:rgba(255,255,255,0.7)}.demo-label{display:block;font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:0.3em;text-transform:uppercase;color:#fff;margin-bottom:0.6rem}.demo-input{width:100%;background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.08);color:#fff;padding:0.85rem 1rem;font-family:'JetBrains Mono',monospace;font-size:11px;outline:none;transition:border-color 0.3s ease,background 0.3s ease;box-sizing:border-box;resize:none;-webkit-appearance:none;appearance:none}.demo-input::placeholder{color:rgba(255,255,255,0.4);font-size:9px}.demo-input:focus{border-color:rgba(0,210,255,0.4);background:rgba(0,210,255,0.03)}.demo-select option{background:#0a0a0a}#nav-robotics.lit{opacity:1 !important;color:#fff;text-shadow:0 0 12px rgba(0,210,255,0.8),0 0 30px rgba(0,210,255,0.3)}.group:hover .group-hover\:scale-\[1\.03\]{transform:scale(1.03)}.eyebrow{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:0.5em;text-transform:uppercase;color:rgba(255,255,255,0.4)}.hero-title{font-size:clamp(3rem,12vw,10rem);line-height:0.90;letter-spacing:-0.02em;font-weight:900;text-transform:uppercase}#interactive-container{position:relative;background:#060610;border:1px solid rgba(0,210,255,0.15);width:100%;height:750px;overflow:hidden}#iso-canvas{width:100%;height:100%;display:block;cursor:crosshair}.hud-ctrl{display:flex;align-items:center;gap:12px;border-bottom:1px solid rgba(255,255,255,0.03);padding:14px 0}.hud-ctrl label{font-family:'JetBrains Mono',monospace;font-size:9px;color:rgba(255,255,255,0.25);text-transform:uppercase;min-width:100px}input[type=range]{accent-color:#00d2ff;cursor:pointer;width:100%;height:1px;background:rgba(255,255,255,0.1);appearance:none;outline:none}.btn-master{position:relative;border:1px solid rgba(255,255,255,0.1);padding:1.25rem 2.5rem;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:0.3em;text-transform:uppercase;transition:border-color 300ms ease,background-color 300ms ease,transform 300ms ease,box-shadow 300ms ease;display:flex;align-items:center;justify-content:center;gap:0.75rem;overflow:hidden;will-change:transform}.btn-master:hover{border-color:rgba(255,255,255,0.4);background-color:rgba(255,255,255,0.05);transform:translateY(-2px);box-shadow:0 10px 30px -10px rgba(0,210,255,0.2)}.btn-master:active{transform:translateY(0)}.btn-primary{background-color:#fff;color:#000;border:1px solid #fff;padding:1.25rem 2.5rem;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:0.3em;text-transform:uppercase;transition:box-shadow 300ms ease,transform 300ms ease;will-change:transform}.btn-primary:hover{box-shadow:0 0 40px rgba(0,210,255,0.4);transform:scale(1.02)}.tech-frame{border:1px solid rgba(255,255,255,0.05);background-color:rgba(255,255,255,0.01);position:relative;display:flex;align-items:center;justify-content:center;transition:border-color 500ms ease;background-image:radial-gradient(rgba(255,255,255,0.03) 1px,transparent 1px);background-size:40px 40px;transform:translateZ(0)}.tech-frame:hover{border-color:rgba(255,255,255,0.2)}.gsap-reveal{opacity:0;transform:translateY(40px);will-change:opacity,transform}*{cursor:none !important}#cursor-dot{position:fixed;top:0;left:0;width:5px;height:5px;background:#00d2ff;border-radius:50%;pointer-events:none;z-index:9999;will-change:transform;transform:translate(-50%,-50%);box-shadow:0 0 8px #00d2ff,0 0 18px rgba(0,210,255,0.5);transition:width 0.15s,height 0.15s,background 0.15s}#cursor-ring{position:fixed;top:0;left:0;width:30px;height:30px;border:1px solid rgba(0,210,255,0.35);border-radius:50%;pointer-events:none;z-index:9998;will-change:transform;transform:translate(-50%,-50%);transition:width 0.35s cubic-bezier(.16,1,.3,1),height 0.35s cubic-bezier(.16,1,.3,1),border-color 0.3s}.cursor-hover #cursor-ring{width:52px;height:52px;border-color:rgba(0,210,255,0.65)}nav a.eyebrow{position:relative}nav a.eyebrow::after{content:'';position:absolute;bottom:-3px;left:0;width:0;height:1px;background:#00d2ff;box-shadow:0 0 6px #00d2ff;transition:width 0.35s cubic-bezier(.16,1,.3,1)}nav a.eyebrow:hover::after{width:100%}::-webkit-scrollbar{width:3px}::-webkit-scrollbar-track{background:#050505}::-webkit-scrollbar-thumb{background:rgba(0,210,255,0.25);border-radius:2px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;background:#00d2ff;border-radius:50%;box-shadow:0 0 8px #00d2ff;transition:transform 0.2s}input[type=range]:hover::-webkit-slider-thumb{transform:scale(1.4)}body::after{content:'';position:fixed;inset:0;pointer-events:none;z-index:9990;opacity:0.018;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.live-pulse{display:inline-block;width:6px;height:6px;background:#00d2ff;border-radius:50%;box-shadow:0 0 8px #00d2ff;animation:livePulse 2.2s ease-in-out infinite}@keyframes livePulse{0%,100%{opacity:1;box-shadow:0 0 8px #00d2ff,0 0 20px rgba(0,210,255,0.4)}50%{opacity:0.35;box-shadow:0 0 2px #00d2ff}}.tech-frame::before{content:'';position:absolute;top:0;left:10%;right:10%;height:1px;background:linear-gradient(90deg,transparent,rgba(0,210,255,0.5),transparent);opacity:0;transition:opacity 0.5s;z-index:10}.tech-frame:hover::before{opacity:1}.gsap-stagger{opacity:0;transform:translateY(30px);will-change:opacity,transform}.partners-wrap{max-width:1800px;margin:0 auto}.partners-header{display:flex;align-items:center;gap:1.5rem;margin-bottom:3.5rem}.partners-header-label{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:0.5em;text-transform:uppercase;color:rgba(255,255,255,0.3);white-space:nowrap}.partners-header-rule{flex:1;height:1px;background:rgba(255,255,255,0.07)}.partners-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,0.07);overflow:hidden}.partner-cell-inner{display:flex;align-items:center;justify-content:center;padding:3rem 2rem;background:#000;height:100%;box-sizing:border-box}.team-section{min-height:calc(100vh - 64px);padding:5rem 2.5rem;box-sizing:border-box}.team-stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;border-top:1px solid rgba(255,255,255,0.08);border-bottom:1px solid rgba(255,255,255,0.08);padding:2rem 0;margin-bottom:4rem}.founders-layout{display:grid;grid-template-columns:3fr 2fr;gap:5rem;align-items:start}.founders-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}.founders-phrase{display:flex;flex-direction:column;justify-content:flex-start}.founders-phrase-text{font-family:'Inter',sans-serif;font-size:clamp(2rem,3.2vw,3.2rem);font-weight:900;line-height:1.0;letter-spacing:-0.03em;text-transform:uppercase;color:#fff;margin-bottom:2rem}.founders-phrase-sub{font-family:'JetBrains Mono',monospace;font-size:0.85rem;line-height:1.6;color:rgba(255,255,255,0.35);letter-spacing:0.05em}.core-team-layout{display:grid;grid-template-columns:auto 1fr;gap:4rem;align-items:start}.core-team-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;max-width:1200px}.person-card{border:1px solid rgba(255,255,255,0.08);transition:border-color 0.3s ease}.person-card:hover{border-color:rgba(0,210,255,0.2)}.person-card-img{overflow:hidden;border-bottom:1px solid rgba(255,255,255,0.08);position:relative}.person-card-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 0.6s cubic-bezier(0.16,1,0.3,1)}.person-card:hover .person-card-img img{transform:scale(1.04)}.person-card-body{padding:1.5rem}.person-card-body-sm{padding:1.25rem}.founder-aspect{aspect-ratio:4/3}.team-aspect{aspect-ratio:3/4}.sensor-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;border-top:1px solid rgba(255,255,255,0.08);padding-top:1.5rem}.sensor-specs{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem 2rem;border-top:1px solid rgba(255,255,255,0.08);padding-top:1.5rem}.nav-hamburger{display:none;flex-direction:column;gap:5px;padding:8px;background:none;border:none;cursor:pointer;z-index:9100}.nav-hamburger span{display:block;width:22px;height:1.5px;background:rgba(255,255,255,0.7);transition:transform 0.3s ease,opacity 0.3s ease}.nav-hamburger.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}.nav-hamburger.open span:nth-child(2){opacity:0}.nav-hamburger.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}#mobile-menu{display:none;position:fixed;top:3.5rem;left:0;right:0;background:rgba(0,0,0,0.97);border-bottom:1px solid rgba(255,255,255,0.08);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);flex-direction:column;padding:1.5rem 1.5rem;gap:0;z-index:8999;transform:translateY(-8px);opacity:0;transition:opacity 0.25s ease,transform 0.25s ease;max-height:calc(100vh - 3.5rem);overflow-y:auto}#mobile-menu.open{display:flex;opacity:1;transform:translateY(0)}#mobile-menu a{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:0.3em;text-transform:uppercase;color:rgba(255,255,255,0.5);padding:1rem 0;border-bottom:1px solid rgba(255,255,255,0.05);transition:color 0.2s ease}#mobile-menu a:last-child{border-bottom:none}#mobile-menu a:hover{color:#00d2ff}.nav-links{display:flex;align-items:center;gap:2.5rem;margin-left:2.5rem;padding-left:2.5rem;border-left:1px solid rgba(255,255,255,0.08);flex-shrink:1;min-width:0}.nav-team-link{margin-right:2rem;flex-shrink:0;white-space:nowrap}@media (max-width:1023px){.lg\:col-span-4,.lg\:col-span-5,.lg\:col-span-6,.lg\:col-span-7,.lg\:col-span-8{grid-column:span 12 / span 12}}@media (min-width:1024px){.lg\:col-span-4{grid-column:span 4 / span 4}.lg\:col-span-5{grid-column:span 5 / span 5}.lg\:col-span-6{grid-column:span 6 / span 6}.lg\:col-span-7{grid-column:span 7 / span 7}.lg\:col-span-8{grid-column:span 8 / span 8}}@media (min-width:768px){.md\:flex-row{flex-direction:row}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1280px){.xl\:flex{display:flex}}@media (min-width:1536px){.\32xl\:block{display:block}}@media (min-width:1800px){.hero-title{font-size:clamp(4rem,7vw,13rem)}.text-8xl{font-size:clamp(3rem,5.5vw,7rem)}.gcs-heading{font-size:clamp(2.5rem,3.8vw,4.5rem)}}@media (min-width:1024px) and (max-width:1280px){.hero-title{font-size:clamp(3rem,9vw,7rem)}.text-2xl{font-size:1.05rem}#mesh .lg\:col-span-4,#mesh .lg\:col-span-8{grid-column:span 12 / span 12}#mesh .text-7xl{font-size:clamp(2.2rem,5vw,4rem)}#hardware .text-8xl{font-size:clamp(2.5rem,5.5vw,5rem)}.h-\[650px\]{height:440px}.hardware-img-wrapper{height:440px}#sensor .text-8xl{font-size:clamp(2.5rem,5.5vw,5rem)}.tech-frame.p-12{padding:2.5rem}.team-aspect{aspect-ratio:unset;max-height:260px}.founder-aspect{aspect-ratio:unset;max-height:220px}}@media (min-width:1280px) and (max-width:1440px){.hero-title{font-size:clamp(4rem,10vw,9rem)}#hardware .text-8xl{font-size:clamp(3rem,6vw,6rem)}}@media (min-width:1024px) and (max-width:1299.98px){.gcs-grid{grid-template-columns:1fr;gap:3rem}.gcs-text-col,.gcs-image-col{width:100%}.gcs-img{width:100%}}@media (max-width:1299.98px){#hardware .grid.grid-cols-12,#sensor .grid.grid-cols-12{display:flex;flex-direction:column;gap:3rem;align-items:stretch}#hardware .hardware-text-col,#hardware .hardware-img-wrapper,#sensor .sensor-text-col,#sensor .sensor-image-col{width:100%}#hardware .hardware-text-col{order:-1}}@media (min-width:768px) and (max-width:1023px){.lg\:col-span-6{grid-column:span 6 / span 6}.lg\:col-span-4{grid-column:span 6 / span 6}.lg\:col-span-8{grid-column:span 6 / span 6}.gcs-grid{grid-template-columns:1fr;gap:3rem}#interactive-container{height:420px}.h-\[650px\]{height:380px}.hardware-img-wrapper{height:380px}.gap-16{gap:2.5rem}.founders-layout{grid-template-columns:1fr;gap:3rem}.core-team-layout{grid-template-columns:1fr}.core-team-cards{grid-template-columns:1fr;max-width:100%}#mesh .text-7xl{font-size:clamp(2rem,5vw,3.5rem)}.partners-grid{grid-template-columns:repeat(2,1fr)}.team-aspect{aspect-ratio:unset;max-height:240px}.founder-aspect{aspect-ratio:unset;max-height:200px}}@media (max-width:767px){nav>div{padding:0 1.25rem;height:3.5rem}.nav-links{display:none}.nav-team-link{display:none}.nav-hamburger{display:flex}.hero-title{font-size:clamp(2.6rem,13vw,4.5rem)}section.relative.min-h-screen{justify-content:flex-start;padding-top:calc(3.5rem + 50px);padding-bottom:3rem;min-height:100svh}section.relative.min-h-screen p.text-2xl{font-size:1.05rem;line-height:1.6}section.relative.min-h-screen .flex.gap-6{flex-direction:column;gap:0.75rem}section.relative.min-h-screen .flex.gap-6 button{width:100%;justify-content:center}.grid.grid-cols-12{display:flex;flex-direction:column;gap:2rem}.grid.grid-cols-12>*{width:100%}.gap-16{gap:2rem}#interactive-container{height:280px}.h-\[650px\]{height:260px}.hardware-img-wrapper{height:320px}#sensor .tech-frame{height:260px;min-height:unset}.sensor-grid{grid-template-columns:1fr}.sensor-specs{grid-template-columns:repeat(2,1fr)}.gcs-grid{grid-template-columns:1fr;gap:2rem}.gcs-heading{font-size:clamp(2.2rem,10vw,3.5rem)}.gcs-stats{flex-wrap:wrap;gap:1rem}.gcs-stat-divider{display:none}.gcs-inner{padding-left:0;padding-right:0}.grid.grid-cols-1.md\:grid-cols-3{grid-template-columns:1fr;gap:1rem}.tech-frame.p-12{padding:2rem}.partners-grid{grid-template-columns:repeat(2,1fr)}.partner-cell-inner{padding:2rem 1rem}.team-section{padding:4rem 1.25rem 3rem}.team-stats-grid{grid-template-columns:1fr 1fr;gap:1px}.founders-layout{grid-template-columns:1fr;gap:2rem}.founders-cards{grid-template-columns:1fr;gap:1.5rem}.founders-phrase-text{font-size:clamp(1.4rem,6vw,2rem)}.core-team-layout{grid-template-columns:1fr}.core-team-cards{grid-template-columns:1fr;max-width:100%}.team-aspect{aspect-ratio:unset;max-height:55vw}.founder-aspect{aspect-ratio:unset;max-height:60vw}.text-8xl{font-size:clamp(2.4rem,11vw,3.5rem)}.text-7xl{font-size:clamp(2rem,10vw,3rem)}.text-3xl{font-size:1.5rem}.text-2xl{font-size:1rem}footer .flex{flex-direction:column;gap:0.75rem;text-align:center}#demo-inner{width:94vw;max-height:90vh;overflow-y:auto}}@media (max-width:390px){.hero-title{font-size:2.3rem}.text-8xl{font-size:2rem}.text-4xl{font-size:1.5rem}nav>div{padding:0 1rem}}body,#main-page,#team-page{overflow-x:hidden}section{box-sizing:border-box;max-width:100vw}.max-w-\[1800px\]{width:100%;box-sizing:border-box}nav{box-sizing:border-box}nav>div{box-sizing:border-box;min-width:0}nav>div>div:first-child{min-width:0;flex:1 1 auto;overflow:hidden}.core-carousel{position:relative;overflow:hidden}.core-slide{position:absolute;inset:0;opacity:0;transition:opacity 600ms cubic-bezier(0.4,0,0.2,1);pointer-events:none;display:flex;align-items:center;justify-content:center}.core-slide.is-active{opacity:1;pointer-events:auto;z-index:2}.core-img{width:100%;height:100%;object-fit:cover;display:block}.core-arrow{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,0.4);border:1px solid rgba(255,255,255,0.15);color:rgba(255,255,255,0.7);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:10;transition:background 0.25s ease,border-color 0.25s ease,color 0.25s ease,transform 0.25s ease;cursor:pointer;padding:0}.core-arrow:hover{background:rgba(0,210,255,0.12);border-color:rgba(0,210,255,0.5);color:#00d2ff}.core-arrow:active{transform:translateY(-50%) scale(0.95)}.core-arrow-prev{left:1rem}.core-arrow-next{right:1rem}.core-counter{position:absolute;bottom:1rem;right:1rem;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:0.3em;color:rgba(255,255,255,0.6);background:rgba(0,0,0,0.4);border:1px solid rgba(255,255,255,0.1);padding:0.4rem 0.75rem;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:10;display:flex;gap:0.15rem;align-items:center}.core-counter-sep{opacity:0.4}.core-counter-total{color:rgba(255,255,255,0.35)}#core-counter-current{color:#00d2ff}@media (max-width:767px){.core-arrow{width:36px;height:36px}.core-arrow-prev{left:0.5rem}.core-arrow-next{right:0.5rem}.core-counter{font-size:9px;padding:0.3rem 0.6rem;bottom:0.5rem;right:0.5rem}}.marquee-outer{overflow:hidden;width:100%;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 10%,#000 90%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0%,#000 10%,#000 90%,transparent 100%)}.marquee-track{display:flex;align-items:center;width:max-content;animation:marqueeScroll 36s linear infinite}.marquee-track:hover{animation-play-state:paused}.marquee-item{display:flex;align-items:center;justify-content:center;padding:2rem clamp(3rem,6vw,8rem);border-right:1px solid rgba(255,255,255,0.07);flex-shrink:0}.marquee-item img{transition:opacity 0.3s ease,filter 0.3s ease;filter:grayscale(20%)}.marquee-item:hover img{opacity:1!important;filter:grayscale(0%)}@keyframes marqueeScroll{0%{transform:translateX(0)}100%{transform:translateX(-33.333%)}}@media(max-width:767px){.marquee-item{padding:1.5rem 2.5rem}}.sensor-img-frame{position:relative;width:100%;height:100%;overflow:hidden;display:block}.sensor-img-frame:hover .sensor-payload-img{transform:scale(1.14)}


/* =====================================================================
   EXTRACTED INLINE STYLES → SEMANTIC CLASSES
   The rules below were previously inline `style="..."` attributes in the
   markup. They have been lifted out verbatim (same property values) and
   grouped into logical, named classes.
   ===================================================================== */

/* --- Root --- */
html { scroll-behavior: smooth; }

/* --- Small shared helpers --- */
.is-hidden        { display: none; }
.nowrap           { white-space: nowrap; }
.mb-half          { margin-bottom: 0.5rem; }
.arrow-dim        { opacity: 0.4; }
.maxw-48          { max-width: 48rem; }
.text-bright-25   { color: rgba(255,255,255,0.25); }
.text-bright-45   { color: rgba(255,255,255,0.45); }
.text-bright-75   { color: rgba(255,255,255,0.75); }

/* Eyebrow / pulse modifiers reused across sections */
.eyebrow-inline   { display: inline-flex; align-items: center; gap: 0.75rem; }
.live-pulse-sm    { width: 6px; height: 6px; flex-shrink: 0; }
.live-pulse-xs    { width: 4px; height: 4px; flex-shrink: 0; }

/* --- Navigation --- */
.site-nav {
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 9000;
    border-bottom: 1px solid rgba(255,255,255,0.08);
    background: rgba(0,0,0,0.95);
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
    transition: background 300ms ease;
}
.nav-bar {
    width: 100%;
    padding: 0 2.5rem;
    height: 4rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    box-sizing: border-box;
}
.nav-left {
    display: flex;
    align-items: center;
    gap: 0;
    flex: 1;
    min-width: 0;
}
.nav-logo {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    cursor: pointer;
    flex-shrink: 0;
}
.nav-robotics {
    opacity: 0.3;
    transition: opacity 0.4s ease, color 0.4s ease, text-shadow 0.4s ease;
}
.nav-actions {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    margin-left: auto;
    gap: 1rem;
}

/* --- Hero section --- */
.hero-section   { z-index: 0; padding: 8rem clamp(1.25rem,4vw,5rem) 4rem; }
.hero-intro     { line-height: 1; }
.hero-eyebrow-row { margin-bottom: 0.35rem; }
.hero-h1        { margin-top: 0; }

/* --- Operational Domes (mesh) section --- */
.mesh-section   { z-index: 0; padding: 3rem clamp(1.25rem,4vw,5rem) 8rem; }

/* --- Hardware / Core Unit section --- */
.hardware-section  { z-index: 0; padding: 5rem clamp(1.25rem,4vw,5rem) 16rem; }
.hardware-text-col { padding-left: clamp(0rem,4vw,4rem); }

/* --- Sensor / Payload section --- */
.sensor-section {
    scroll-margin-top: 64px;
    z-index: 0;
    padding: 3rem clamp(1.25rem,4vw,5rem) 3rem;
    min-height: 100vh;
    box-sizing: border-box;
}
.sensor-text-col     { display: flex; flex-direction: column; gap: 1.25rem; }
.sensor-heading-group { display: flex; flex-direction: column; gap: 0.2rem; }
.sensor-heading      { margin-top: 0.25rem; font-size: clamp(2.5rem,5vw,4.5rem); }
.sensor-intro        { max-width: 36rem; margin-top: 0.25rem; }
.sensor-spec-label   { font-size: 9px; display: flex; align-items: center; gap: 6px; margin-bottom: 4px; }
.sensor-spec-desc    { font-size: 12px; line-height: 1.5; }
.sensor-stat-label   { font-size: 10px; margin-bottom: 0.5rem; }
.sensor-stat-value   { font-size: 2.25rem; }
.sensor-image-col    { padding: 0; aspect-ratio: 4 / 3; position: relative; }

/* --- Fleet Logic section --- */
.fleet-section { z-index: 0; padding: 2rem clamp(1.25rem,4vw,5rem) 3rem; min-height: 100vh; box-sizing: border-box; }

/* --- Partners section --- */
.partners-section { padding: 4rem 0; background: #000000; border-top: 1px solid rgba(255,255,255,0.08); }
.partners-pad     { padding: 0 clamp(1.25rem,4vw,5rem); }
.marquee-logo      { height: 65px; width: auto; max-width: 180px; object-fit: contain; opacity: 0.7; }
.marquee-logo-wide { height: 55px; width: auto; max-width: 200px; object-fit: contain; opacity: 0.7; }

/* --- Team page --- */
.team-intro    { margin-bottom: 4rem; }
.team-divider  { margin-top: 5rem; border-top: 1px solid rgba(255,255,255,0.08); padding-top: 4rem; }
.person-photo {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 20%;
    display: block;
    transition: transform 0.6s cubic-bezier(0.16,1,0.3,1);
}
.person-photo--top { object-position: center 25%; }

/* --- Footer --- */
.footer-brand       { color: rgba(255,255,255,0.8); }
.footer-brand-light { font-weight: 300; opacity: 0.7; }
.footer-copy        { color: rgba(255,255,255,0.7); }

/* --- Book A Demo modal --- */
.demo-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 1000;
    background: rgba(5,5,5,0.97);
    display: none;
    align-items: center;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.5s cubic-bezier(0.16,1,0.3,1);
}
.demo-overlay-blur {
    position: absolute;
    inset: 0;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    pointer-events: none;
    z-index: 0;
}
.demo-close {
    position: absolute;
    top: 2rem;
    right: 2.5rem;
    font-family: 'JetBrains Mono', monospace;
    font-size: 10px;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.3);
    background: none;
    border: none;
    cursor: none !important;
    transition: color 0.3s ease;
}
.demo-inner {
    position: relative;
    z-index: 1;
    width: 560px;
    max-width: 90vw;
    margin-inline: auto;        /* stay horizontally centered inside the scrollable overlay */
    box-sizing: border-box;
    transform: translateY(40px);
    opacity: 0;
    transition: transform 0.6s cubic-bezier(0.16,1,0.3,1), opacity 0.6s ease;
    will-change: transform, opacity;
}
.demo-head-row    { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 2.5rem; }
.demo-head-row-sm { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 2rem; }
.demo-title {
    font-size: clamp(2.5rem,6vw,5rem);
    line-height: 0.92;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: -0.02em;
    margin: 0 0 1.5rem 0;
}
.demo-title-sm {
    font-size: clamp(2rem,5vw,4rem);
    line-height: 0.88;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: -0.02em;
    margin: 0 0 1.5rem 0;
}
.demo-lead {
    font-size: 1.125rem;
    color: rgba(255,255,255,0.45);
    font-weight: 300;
    line-height: 1.7;
    margin: 0 0 3rem 0;
    max-width: 520px;
}
.demo-success-text {
    color: rgba(255,255,255,0.4);
    font-size: 1rem;
    font-weight: 300;
    line-height: 1.7;
    max-width: 400px;
    margin: 0 0 2.5rem 0;
}
.demo-btn-primary {
    display: inline-flex;
    align-items: center;
    gap: 1rem;
    background: #fff;
    color: #000;
    border: 1px solid #fff;
    padding: 1.1rem 2.5rem;
    font-family: 'JetBrains Mono', monospace;
    font-size: 10px;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    cursor: none !important;
    transition: box-shadow 0.3s ease, transform 0.3s ease;
    will-change: transform;
}
.demo-btn-back {
    font-family: 'JetBrains Mono', monospace;
    font-size: 9px;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.45);
    background: none;
    border: none;
    cursor: none !important;
    transition: color 0.3s;
}
.demo-btn-ghost {
    display: inline-flex;
    align-items: center;
    gap: 1rem;
    border: 1px solid rgba(255,255,255,0.15);
    padding: 1rem 2rem;
    background: none;
    color: rgba(255,255,255,0.4);
    font-family: 'JetBrains Mono', monospace;
    font-size: 9px;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    cursor: none !important;
    transition: border-color 0.3s, color 0.3s;
}
.demo-form         { display: flex; flex-direction: column; gap: 1.5rem; }
.demo-form-2col    { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
.demo-form-actions { display: flex; align-items: center; gap: 1.5rem; margin-top: 0.5rem; }
.demo-success      { display: none; padding: 2rem 0; }

/* =====================================================================
   EASTER EGG — "Designer Mode" reveal
   Every rule is scoped under .easter-egg so nothing leaks into the page.
   Keyframes are namespaced with an `ee-` prefix for the same reason.
   ===================================================================== */
.easter-egg {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 99999;
    background: #000000;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    opacity: 0;
    transition: opacity 0.4s ease;
    padding-top: 64px;
}
.easter-egg.easter-egg-active { display: flex; }

.easter-egg__backdrop {
    position: absolute;
    inset: 0;
    background: #000000;
    opacity: 1;
}
.easter-egg__halo {
    position: absolute;
    width: 600px;
    height: 600px;
    border-radius: 50%;
    background: radial-gradient(ellipse at center, rgba(0,210,255,0.12) 0%, transparent 70%);
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    pointer-events: none;
    z-index: 1;
}
.easter-egg__ghost {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    pointer-events: none;
    z-index: 1;
}
.easter-egg__ghost-text {
    font-family: 'Inter', sans-serif;
    font-weight: 900;
    font-size: clamp(4rem, 10vw, 9rem);
    text-transform: uppercase;
    letter-spacing: -0.02em;
    color: transparent;
    -webkit-text-stroke: 1px rgba(0,210,255,0.07);
    text-align: center;
    line-height: 0.9;
    user-select: none;
    white-space: nowrap;
    text-shadow: 0 0 80px rgba(0,210,255,0.05);
}
.easter-egg__pulse {
    position: absolute;
    width: 500px;
    height: 500px;
    border-radius: 50%;
    background: radial-gradient(ellipse at center, rgba(0,210,255,0.15) 0%, transparent 70%);
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%) scale(0);
    transition: transform 0.6s cubic-bezier(0.16,1,0.3,1);
}
.easter-egg__label {
    font-family: 'JetBrains Mono', monospace;
    font-size: 18px;
    letter-spacing: 0.4em;
    text-transform: uppercase;
    color: #00d2ff;
    opacity: 0;
    margin-bottom: 2rem;
    position: relative;
    z-index: 2;
    text-shadow: 0 0 30px rgba(0,210,255,0.6), 0 0 60px rgba(0,210,255,0.3);
    animation: ee-glow 2s ease-in-out infinite;
}
.easter-egg__emblem {
    position: relative;
    z-index: 2;
    transform: rotateY(0deg) scale(0);
    opacity: 0;
    filter: drop-shadow(0 0 40px rgba(0,210,255,0.4));
}
.easter-egg__emblem-img {
    height: 720px;
    width: auto;
    display: block;
    image-rendering: pixelated;
}
.easter-egg__shockwave {
    position: absolute;
    width: 300px;
    height: 300px;
    border: 2px solid rgba(0,210,255,0.6);
    border-radius: 50%;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%) scale(0);
    opacity: 0;
}
.easter-egg__hint {
    font-family: 'JetBrains Mono', monospace;
    font-size: 12px;
    letter-spacing: 0.4em;
    color: rgba(255,255,255,0.4);
    margin-top: 2.5rem;
    position: relative;
    z-index: 2;
    opacity: 0;
    text-transform: uppercase;
}

@keyframes ee-glow {
    0%, 100% {
        text-shadow: 0 0 20px rgba(0,210,255,0.6), 0 0 40px rgba(0,210,255,0.3), 0 0 80px rgba(0,210,255,0.1);
        opacity: 1;
    }
    50% {
        text-shadow: 0 0 40px rgba(0,210,255,1), 0 0 80px rgba(0,210,255,0.6), 0 0 120px rgba(0,210,255,0.3);
        opacity: 0.85;
    }
}
@keyframes ee-shockwave {
    0%   { transform: translate(-50%,-50%) scale(0); opacity: 0.8; }
    100% { transform: translate(-50%,-50%) scale(3); opacity: 0; }
}
@keyframes ee-coin-flip {
    0%   { transform: rotateY(0deg)   scale(0);    opacity: 0; }
    30%  { transform: rotateY(180deg) scale(0.6);  opacity: 1; }
    60%  { transform: rotateY(360deg) scale(1.1);  opacity: 1; }
    80%  { transform: rotateY(360deg) scale(0.95); }
    100% { transform: rotateY(360deg) scale(1);    opacity: 1; }
}

/* Hardware section — 3-line heading needs a smaller clamp than text-8xl */
.hardware-heading {
    font-size: clamp(2.5rem, 4vw, 4.5rem);
}
@media (max-width: 767px) {
    .hardware-heading { font-size: clamp(2rem, 10vw, 3rem); }
}
@media (min-width: 768px) and (max-width: 1023px) {
    .hardware-heading { font-size: clamp(2.2rem, 5vw, 3.5rem); }
}

/* Ensure <picture> wrappers inside carousel slides fill the slide fully */
.core-slide picture { display: block; width: 100%; height: 100%; }

/* Fleet cards — tighter tracking so longest heading fits in one line */
#fleet h3 { letter-spacing: -0.02em; }

/* LinkedIn button on person name row */
.person-name-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
}
.linkedin-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: rgba(255,255,255,0.3);
    transition: color 0.25s ease;
    cursor: none !important;
    line-height: 1;
}
.linkedin-btn:hover { color: rgba(255,255,255,0.85); }
.linkedin-btn svg   { display: block; }

/* ============================================================
   Mesh: interactive canvas (desktop) vs static SVG (mobile/tablet)
   ============================================================ */
.mesh-cap-static  { display: none; }
/* Static dome image fills the container; shown only below the desktop breakpoint. */
.mesh-static-img  { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; display: none; }

@media (max-width: 1299px) {
    /* Below 1300px the interactive canvas is replaced by the static dome image
       (the mesh engine is also gated off here — see desktopMQ in app.js). */
    #iso-canvas           { display: none; }
    .mesh-static-img      { display: block; }
    .mesh-cap-interactive { display: none; }
    .mesh-cap-static      { display: inline; }
    #interactive-container { cursor: default; }
}

/* ============================================================
   Phone-friendly refinements (mobile audit)
   ============================================================ */

/* Nav: tighter padding on phones; the Quote CTA moves into the menu */
@media (max-width: 767px) {
    .nav-bar     { padding: 0 1.25rem; }
    .nav-actions { gap: 0.5rem; }
    .nav-actions .btn-master { display: none; }   /* CTA available via hamburger menu */
    .demo-close  { top: 1.25rem; right: 1.25rem; }
}

/* Quote CTA shown inside the mobile menu */
#mobile-menu .mobile-menu-cta {
    color: #00d2ff;
    border-bottom: none;
    margin-top: 0.25rem;
}
#mobile-menu .mobile-menu-cta:hover { color: #7fe8ff; }

/* Demo form: stack Name / Company on narrow screens */
@media (max-width: 600px) {
    .demo-form-2col { grid-template-columns: 1fr; }
}

/* Modal: when content is taller than the viewport (short / landscape screens),
   top-align and allow scrolling instead of clipping the buttons. The inner box
   stays horizontally centered (justify-content + margin auto) at its set width. */
@media (max-width: 767px), (max-height: 640px) {
    .demo-overlay { align-items: flex-start; overflow-y: auto; padding: 4.5rem 1.25rem 2.5rem; }
}
/* Only true phones get the full-width modal; everywhere else it stays centered. */
@media (max-width: 767px) {
    .demo-inner { width: 100%; }
}

/* Sensor spec cells: single column on very small phones for readability */
@media (max-width: 420px) {
    .sensor-specs { grid-template-columns: 1fr; }
}

/* ============================================================
   Hero title: smaller on tablet & mobile so the longest line
   ("OPERATIONAL") always fits the screen width.
   Ordered so the smallest-screen rule wins where ranges overlap.
   ============================================================ */
@media (min-width: 768px) and (max-width: 1023px) {
    .hero-title { font-size: clamp(2.8rem, 8vw, 5rem); }
}
@media (max-width: 767px) {
    .hero-title { font-size: clamp(2.3rem, 11vw, 3.8rem); }
}
@media (max-width: 390px) {
    .hero-title { font-size: 2.05rem; }
}

/* ============================================================
   Core Unit "VARIOUS PAYLOADS & MULTI-LAYER OPERATIONAL DOME":
   stack vertically on tablet & phone so each phrase gets full
   width and "OPERATIONAL DOME" no longer overflows its column.
   ============================================================ */
@media (max-width: 1023px) {
    .core-payload-row          { flex-direction: column; gap: 0.75rem !important; }
    .core-payload-row .core-amp { padding-top: 0 !important; }
}

/* ============================================================
   GCS header row: stack on tablet & phone so the long
   "REAL_TIME_SITUATIONAL_AWARENESS" tag drops to its own line.
   ============================================================ */
@media (max-width: 1023px) {
    .gcs-header-row { flex-direction: column; align-items: flex-start; gap: 0.6rem; }
}
@media (max-width: 420px) {
    .gcs-live-tag, .gcs-eyebrow { letter-spacing: 0.2em; }   /* fit on very small phones */
}

/* ============================================================
   Menu items: brighter / higher contrast so they're easily
   readable (scoped to nav + mobile menu only).
   ============================================================ */
.nav-links a,
.nav-team-link            { color: rgba(255,255,255,0.8); }
.nav-links a:hover,
.nav-team-link:hover      { color: #fff; }
#mobile-menu a            { color: rgba(255,255,255,0.85); }
#mobile-menu a:hover      { color: #fff; }

/* ============================================================
   Menu items: slightly larger for readability.
   (!important needed to beat the !text-[9px]/[10px] utilities.)
   ============================================================ */
.nav-links a     { font-size: 10px !important; }
.nav-team-link   { font-size: 11px !important; }
#mobile-menu a   { font-size: 12px; }

/* ============================================================
   Nav menu — responsive sizing:
   • 1200–1500px: shrink the labels a touch so they keep fitting
     as the bar narrows (these win because they come after the
     10px/11px !important base rules above).
   • below 1200px: collapse the inline nav into the hamburger menu.
   ============================================================ */
@media (min-width: 1200px) and (max-width: 1499.98px) {
    .nav-links     { gap: 1.5rem; margin-left: 1.25rem; padding-left: 1.25rem; }
    .nav-links a   { font-size: 8px !important; letter-spacing: 0.15em; }
    .nav-team-link { font-size: 9px !important; }
}
@media (max-width: 1199.98px) {
    .nav-links     { display: none; }
    .nav-team-link { display: none; }
    .nav-hamburger { display: flex; }
    .nav-actions .btn-primary { display: none; }   /* CTA lives in the hamburger menu */
    .nav-bar       { height: 3.5rem; }              /* match #mobile-menu top:3.5rem */
}

/* ============================================================
   Body / gray text: a little lighter for readability (matches
   the brighter menu items). Dark sections lift toward white;
   the light GCS section gets darker text for the same goal.
   ============================================================ */
.text-white\/20 { color: rgba(255,255,255,0.32); }
.text-white\/40 { color: rgba(255,255,255,0.68); }
.text-white\/50 { color: rgba(255,255,255,0.74); }
.text-bright-25 { color: rgba(255,255,255,0.42); }
.text-bright-45 { color: rgba(255,255,255,0.60); }

/* Light GCS section (dark text on #E8EBF0) — raise contrast */
.gcs-body,
.gcs-body-secondary { color: rgba(0,0,0,0.55); }

/* ============================================================
   Demo intro: keep text LEFT-aligned, but shrink the panel to
   its content width so the whole text block is centered on
   screen (instead of hugging the wider box's left edge).
   ============================================================ */
#demo-intro { width: fit-content; max-width: 78%; margin-inline: auto; }

/* ============================================================
   Large displays — 1440p / 4K / big TVs (e.g. 65").
   Scale the root font (all rem-based text + spacing grow with it)
   and widen the max-width container so the site fills the screen
   instead of sitting as a small centered island. Canvas grows too.
   ============================================================ */
@media (min-width: 1920px) {
    html { font-size: 17px; }
    .max-w-\[1800px\] { max-width: 1920px; }
    #interactive-container { height: 820px; }
}
@media (min-width: 2560px) {
    html { font-size: 19px; }
    .max-w-\[1800px\] { max-width: 2300px; }
    #interactive-container { height: 1000px; }
}
@media (min-width: 3840px) {
    html { font-size: 24px; }
    .max-w-\[1800px\] { max-width: 3300px; }
    #interactive-container { height: 1300px; }
}

/* --- Stacked layout (<1300px): trim oversized vertical padding / forced
   100vh heights so sections hug their content instead of leaving big gaps. --- */
@media (max-width: 1299.98px) {
    .mesh-section     { padding-bottom: 4rem; }
    .hardware-section { padding-bottom: 4rem; }
    .sensor-section   { min-height: auto; }
    .gcs-section      { min-height: auto; }
    .fleet-section    { min-height: auto; }
}
