:root{--bg:#020713;--ink:#fff;--blue:#5bd6ff;--red:#ff3657;--muted:rgba(255,255,255,.76);--line:rgba(255,255,255,.14)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,Helvetica,sans-serif;overflow-x:hidden;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}.topbar{position:fixed;top:0;left:0;right:0;z-index:50;height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 4.2vw;background:linear-gradient(180deg,rgba(2,7,19,.78),rgba(2,7,19,0));backdrop-filter:blur(10px)}.brand{font-size:28px;letter-spacing:.16em;font-weight:950;color:#fff;text-decoration:none}.brand span{color:var(--red)}nav{display:flex;gap:18px}nav a{color:rgba(255,255,255,.72);font-size:12px;font-weight:800;text-decoration:none;letter-spacing:.05em}nav a:hover{color:#fff}.scene{position:relative;min-height:100vh;min-height:100svh;overflow:hidden;isolation:isolate;content-visibility:auto;contain-intrinsic-size:1000px}.image-scene{background:#020713;content-visibility:visible;contain-intrinsic-size:auto}.full-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;z-index:1;background:#020713;transform:translateZ(0)}#home canvas,.image-scene canvas{position:absolute;inset:0;width:100%;height:100%;mix-blend-mode:screen;opacity:.42}.down{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);z-index:20;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;color:white;text-decoration:none;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);animation:bob 2.2s ease-in-out infinite}.technology,.short{display:grid;place-items:center;padding:110px 7vw 80px;background:radial-gradient(circle at 72% 50%,rgba(91,214,255,.18),transparent 31%),radial-gradient(circle at 25% 70%,rgba(255,54,87,.13),transparent 34%),linear-gradient(118deg,#020713,#07172e 62%,#020713)}.technology:before,.short:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 88px,rgba(95,208,255,.035) 90px,transparent 92px),linear-gradient(90deg,rgba(2,7,19,.72),rgba(2,7,19,.25));z-index:-1}.ambient,.short-bg{position:absolute;inset:8%;border-radius:50%;background:radial-gradient(circle,rgba(91,214,255,.13),transparent 58%);filter:blur(10px);animation:breathe 7s ease-in-out infinite;z-index:-1}.copy{max-width:980px;position:relative;z-index:4}.copy.center{text-align:center}.kicker{color:var(--blue);font-size:13px;font-weight:950;letter-spacing:.2em;text-transform:uppercase;margin:0 0 22px}.copy h1{font-size:clamp(48px,7vw,112px);line-height:.96;letter-spacing:-.045em;margin:0 0 24px;text-wrap:balance}.copy h2{font-size:clamp(26px,3.2vw,48px);line-height:1.12;margin:0 0 22px;color:rgba(255,255,255,.94)}.copy p{font-size:clamp(19px,1.45vw,27px);line-height:1.58;color:var(--muted);margin:0;text-wrap:balance}.tech-lines{position:absolute;right:8vw;bottom:16vh;width:min(520px,42vw);height:210px;opacity:.55}.tech-lines span{position:absolute;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--blue),transparent);box-shadow:0 0 24px var(--blue);animation:slide 7s ease-in-out infinite}.tech-lines span:nth-child(2){top:48%;animation-delay:-2s;color:var(--red);background:linear-gradient(90deg,transparent,var(--red),transparent)}.tech-lines span:nth-child(3){bottom:0;animation-delay:-4s}.short .copy{max-width:880px}.short .kicker{font-size:clamp(18px,2vw,28px);margin-bottom:28px}.short h1{font-size:clamp(42px,6vw,92px)}.short p{max-width:820px}.short:after{content:"";position:absolute;left:9vw;right:9vw;bottom:18vh;height:1px;background:linear-gradient(90deg,transparent,rgba(91,214,255,.75),rgba(255,54,87,.55),transparent);filter:drop-shadow(0 0 16px rgba(91,214,255,.45));opacity:.6}.cansense{background:radial-gradient(circle at 50% 50%,rgba(91,214,255,.20),transparent 30%),linear-gradient(118deg,#020713,#07172e 62%,#020713)}.canpulse{background:radial-gradient(circle at 55% 48%,rgba(142,91,255,.20),transparent 32%),radial-gradient(circle at 30% 70%,rgba(91,214,255,.12),transparent 35%),linear-gradient(118deg,#020713,#07172e 62%,#020713)}.canmonitor{background:radial-gradient(circle at 62% 62%,rgba(91,214,255,.18),transparent 30%),linear-gradient(118deg,#020713,#061429 62%,#020713)}.canvia{background:radial-gradient(circle at 52% 45%,rgba(91,214,255,.16),transparent 32%),radial-gradient(circle at 70% 65%,rgba(255,54,87,.10),transparent 34%),linear-gradient(118deg,#020713,#07172e 62%,#020713)}.research,.patents,.news,.contact{background:radial-gradient(circle at 52% 45%,rgba(91,214,255,.12),transparent 34%),linear-gradient(118deg,#020713,#061429 62%,#020713)}.email a{display:inline-block;margin-top:18px;color:#fff;text-decoration:none;font-size:clamp(28px,4vw,64px);font-weight:950;letter-spacing:.02em;text-shadow:0 0 26px rgba(91,214,255,.35)}.contact-label{margin-top:14px!important;color:var(--blue)!important;font-size:clamp(14px,1.2vw,18px)!important;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.founder{margin-top:18px!important;font-size:clamp(14px,1.2vw,18px)!important;color:rgba(255,255,255,.68)!important}.founder a{color:#fff;text-decoration:none}.founder a:hover{color:var(--blue)}.email a:hover{color:var(--blue)}@keyframes bob{50%{transform:translateX(-50%) translateY(-8px)}}@keyframes breathe{50%{transform:scale(1.08);opacity:.76}}@keyframes slide{50%{transform:translateX(8%);opacity:.9}}@media(max-width:1100px){.topbar nav{display:none}.topbar{height:64px}.brand{font-size:23px}.technology,.short{padding:92px 6vw 74px}.tech-lines{display:none}}@media(max-width:760px){.image-scene{min-height:72vh}.copy h1{font-size:42px}.copy h2{font-size:24px}.copy p{font-size:17px}.short .kicker{font-size:16px}.email a{font-size:28px}.topbar{padding:0 20px}}

/* BUILD 002 — CANVITAL living signal layer */
#homeCanvas{position:absolute;inset:0;width:100%;height:100%;mix-blend-mode:screen;opacity:.48;z-index:5;pointer-events:none}.light-orchestra{position:absolute;inset:-12%;z-index:6;pointer-events:none;background:radial-gradient(circle at 30% 48%,rgba(255,54,87,.18),transparent 28%),radial-gradient(circle at 70% 46%,rgba(91,214,255,.20),transparent 32%),linear-gradient(100deg,transparent 35%,rgba(255,255,255,.11) 48%,transparent 60%);mix-blend-mode:screen;opacity:.52;animation:orchestra 9.5s ease-in-out infinite}.wave-veil{position:absolute;inset:0;z-index:6;pointer-events:none;opacity:.42;mix-blend-mode:screen;background:repeating-linear-gradient(105deg,transparent 0 96px,rgba(91,214,255,.13) 98px,transparent 103px),repeating-linear-gradient(74deg,transparent 0 130px,rgba(255,54,87,.09) 132px,transparent 137px);mask-image:radial-gradient(circle at 58% 48%,#000 0 44%,transparent 72%);animation:waveDrift 12s linear infinite}.device-shine{position:absolute;inset:0;z-index:7;pointer-events:none;mix-blend-mode:screen;opacity:.0;background:linear-gradient(104deg,transparent 0 46%,rgba(255,255,255,.45) 49%,rgba(91,214,255,.22) 51%,transparent 56%);animation:deviceSweep 9s ease-in-out infinite}.device-wave{opacity:.30;mask-image:radial-gradient(circle at 66% 50%,#000 0 36%,transparent 68%)}.technology:after,.short-bg:after{content:"";position:absolute;inset:-20%;background:linear-gradient(110deg,transparent 38%,rgba(255,255,255,.08) 50%,transparent 62%);animation:softSweep 11s ease-in-out infinite;mix-blend-mode:screen;pointer-events:none}.copy{opacity:0;transform:translateY(22px);transition:opacity .9s ease,transform .9s ease}.copy.seen{opacity:1;transform:translateY(0)}.short:after{animation:linePulse 6.5s ease-in-out infinite}.down{box-shadow:0 0 20px rgba(91,214,255,.16)}
@keyframes orchestra{0%,100%{transform:translate3d(-1%,0,0) scale(1);opacity:.42}45%{transform:translate3d(2%,-1%,0) scale(1.03);opacity:.66}70%{transform:translate3d(0,1%,0) scale(1.01);opacity:.50}}
@keyframes waveDrift{from{background-position:0 0,0 0}to{background-position:260px 0,-220px 0}}
@keyframes deviceSweep{0%,58%,100%{opacity:0;transform:translateX(-42%)}66%{opacity:.62}76%{opacity:0;transform:translateX(42%)}}
@keyframes softSweep{0%,72%,100%{transform:translateX(-35%);opacity:0}82%{opacity:.8}92%{transform:translateX(35%);opacity:0}}
@keyframes linePulse{0%,100%{opacity:.32;filter:drop-shadow(0 0 8px rgba(91,214,255,.18))}50%{opacity:.78;filter:drop-shadow(0 0 22px rgba(91,214,255,.55))}}
@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}#homeCanvas,.light-orchestra,.wave-veil,.device-shine{display:none!important}.copy{opacity:1;transform:none}}


/* BUILD 003 — visibly alive, still premium */
#homeCanvas{opacity:.82;filter:drop-shadow(0 0 10px rgba(91,214,255,.35)) drop-shadow(0 0 14px rgba(255,54,87,.22));}
.light-orchestra{opacity:.82;background:radial-gradient(circle at 30% 48%,rgba(255,54,87,.28),transparent 27%),radial-gradient(circle at 70% 46%,rgba(91,214,255,.31),transparent 31%),linear-gradient(100deg,transparent 30%,rgba(255,255,255,.20) 48%,transparent 64%);animation:orchestraStrong 8.5s ease-in-out infinite;}
.wave-veil{opacity:.78;background:repeating-linear-gradient(105deg,transparent 0 84px,rgba(91,214,255,.24) 86px,rgba(91,214,255,.12) 90px,transparent 98px),repeating-linear-gradient(74deg,transparent 0 118px,rgba(255,54,87,.18) 120px,rgba(255,54,87,.08) 124px,transparent 132px);filter:drop-shadow(0 0 12px rgba(91,214,255,.28));animation:waveDriftStrong 8.5s linear infinite;}
.device-wave{opacity:.56;mask-image:radial-gradient(circle at 66% 50%,#000 0 44%,transparent 73%)}
.device-shine{background:linear-gradient(104deg,transparent 0 42%,rgba(255,255,255,.70) 48%,rgba(91,214,255,.36) 51%,rgba(255,54,87,.16) 53%,transparent 60%);animation:deviceSweepStrong 8.5s ease-in-out infinite;}
.ambient,.short-bg{background:radial-gradient(circle,rgba(91,214,255,.22),rgba(255,54,87,.08) 34%,transparent 62%);animation:breatheStrong 5.8s ease-in-out infinite;}
.tech-lines{opacity:.88}.tech-lines span{height:3px;box-shadow:0 0 32px var(--blue),0 0 8px rgba(255,255,255,.6);animation:slideStrong 5.5s ease-in-out infinite}.tech-lines span:nth-child(2){box-shadow:0 0 32px var(--red),0 0 8px rgba(255,255,255,.45)}
.short:after{height:2px;opacity:.88;animation:linePulseStrong 4.8s ease-in-out infinite}.down{box-shadow:0 0 22px rgba(91,214,255,.42);border-color:rgba(91,214,255,.38)}
.image-scene.locked::after{content:"";position:absolute;inset:0;z-index:8;pointer-events:none;background:linear-gradient(115deg,transparent 0 38%,rgba(255,255,255,.12) 48%,rgba(91,214,255,.08) 51%,transparent 62%);mix-blend-mode:screen;opacity:0;animation:sceneSweep 10s ease-in-out infinite;}
.story::after{animation-delay:1.5s}.device::after{animation-delay:2.5s}
@keyframes orchestraStrong{0%,100%{transform:translate3d(-1.5%,0,0) scale(1);opacity:.58}42%{transform:translate3d(2.5%,-1.2%,0) scale(1.045);opacity:.92}72%{transform:translate3d(.5%,1.4%,0) scale(1.02);opacity:.70}}
@keyframes waveDriftStrong{from{background-position:0 0,0 0}to{background-position:420px 0,-360px 0}}
@keyframes deviceSweepStrong{0%,55%,100%{opacity:0;transform:translateX(-48%)}64%{opacity:.92}76%{opacity:0;transform:translateX(48%)}}
@keyframes breatheStrong{0%,100%{transform:scale(.98);opacity:.56}50%{transform:scale(1.13);opacity:.92}}
@keyframes slideStrong{0%,100%{transform:translateX(-6%);opacity:.45}50%{transform:translateX(12%);opacity:1}}
@keyframes linePulseStrong{0%,100%{opacity:.42;filter:drop-shadow(0 0 10px rgba(91,214,255,.22))}50%{opacity:1;filter:drop-shadow(0 0 34px rgba(91,214,255,.78)) drop-shadow(0 0 14px rgba(255,54,87,.38))}}
@keyframes sceneSweep{0%,70%,100%{opacity:0;transform:translateX(-42%)}80%{opacity:.68}92%{opacity:0;transform:translateX(42%)}}


/* BUILD 004 — first opening stability and professional contact layer */
html{background:#020713}
main{position:relative;z-index:1}
.image-scene.locked{min-height:100vh;min-height:100svh}
#homeCanvas,.light-orchestra,.wave-veil,.device-shine,.image-scene.locked::after{will-change:transform,opacity}
.copy{will-change:transform,opacity}
.copy.seen,.no-js .copy{opacity:1;transform:translateY(0)}
@media(max-width:760px){.scene{min-height:100svh}.image-scene{min-height:78svh}.full-bg{object-position:center center}.contact .copy{max-width:92vw}.founder{line-height:1.55}}
