@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&display=swap');
:root{--bg:#060a10;--panel:#0c131d;--ink:#edf3fa;--muted:#8c9cac;--line:#213040;--cyan:#74e4f7}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:2px solid var(--cyan);outline-offset:6px}header{height:92px;padding:0 5%;display:flex;align-items:center;max-width:1600px;margin:auto;border-bottom:1px solid #20314080;position:relative;z-index:5}.brand{display:inline-flex;align-items:center}.brand img{width:128px;height:36px;object-fit:contain}nav{margin-left:auto;margin-right:45px;display:flex;gap:30px;font-size:13px;color:#b4c1cd}nav a:hover{color:var(--cyan)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;padding:18px 24px;font-size:13px;font-weight:600;border-radius:3px;background:var(--cyan);color:#05202b;border:1px solid #8ef1ff;box-shadow:0 0 26px #3fd4ee15;transition:transform .2s,box-shadow .2s}.button:hover{transform:translateY(-2px);box-shadow:0 0 30px #47dfff38}.button span{font-size:20px;line-height:1}.button.small{padding:12px 20px;background:#101b26;color:#d9faff;border:1px solid #314d60;box-shadow:none}.menu{display:none}.hero{max-width:1600px;margin:auto;padding:80px 5% 78px;display:grid;grid-template-columns:1.05fr 1fr;gap:20px;min-height:680px;align-items:center;position:relative}.hero:before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 78% 38%,#0c3b563b,transparent 55%),linear-gradient(90deg,transparent 49.9%,#16334730 50%,transparent 50.1%)}.hero-copy{position:relative;z-index:1}.hero-copy:before{content:'';display:block;width:42px;height:3px;background:var(--cyan);box-shadow:0 0 18px #58ddff80;margin-bottom:28px}h1{font-size:clamp(54px,5.5vw,85px);font-weight:500;line-height:1.06;letter-spacing:-3.7px;margin:0 0 30px;max-width:740px}.serif{font-family:inherit;font-style:normal;font-weight:inherit;letter-spacing:inherit}h1 .serif{color:#87dbef;background:linear-gradient(105deg,#c7f8ff,#71c7eb 60%,#8f95ec);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.intro{font-size:14px;line-height:1.95;color:var(--muted);max-width:530px;margin:0}.actions{margin-top:30px}.hero-art{position:relative;min-width:0;min-height:490px;align-self:stretch;overflow:hidden}.hero-art:before{content:'';position:absolute;inset:0;background-image:linear-gradient(#73dfff0a 1px,transparent 1px),linear-gradient(90deg,#73dfff0a 1px,transparent 1px);background-size:36px 36px;mask-image:radial-gradient(ellipse,black,transparent 73%)}#globe{position:absolute;inset:0;width:100%;height:100%}.art-top,.art-bottom{position:absolute;left:18px;right:5px;display:flex;justify-content:space-between;font:12px monospace;color:#5e859e;z-index:1}.art-top{top:12px}.art-bottom{bottom:12px;border-top:1px solid #345b703b;padding-top:15px}.press-strip{padding:24px 5%;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;background:#0a1018}.press-spark{font-size:27px;color:#65cde5}.press-strip>div{display:flex;align-items:center;gap:25px}.press-strip>div>span{font:9px monospace;letter-spacing:2px;color:#71889c}.press-strip strong{font-size:20px;font-weight:500;letter-spacing:1px}.section{max-width:1440px;margin:auto;padding:90px 5%}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:38px}h2{font-size:clamp(36px,4vw,55px);font-weight:500;line-height:1.15;letter-spacing:-1.8px;margin:0}.section-heading p{color:var(--muted);font-size:13px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service{position:relative;background:linear-gradient(140deg,#111d29,#0a111a 75%);border:1px solid #233646;padding:27px 29px 33px;border-radius:6px;overflow:hidden;transition:border-color .25s,transform .25s}.service:hover{transform:translateY(-5px);border-color:#4a899c}.service:after{content:'';position:absolute;left:28px;top:0;width:50px;height:1px;background:#7fdefa;box-shadow:0 0 15px #66dfff}.service-top{display:flex;justify-content:space-between;color:#5d879e;font:11px monospace}.service-top span+span{font-size:18px}.service-graphic{height:135px;display:flex;align-items:center;justify-content:center;margin:12px 0 20px}h3{font-size:22px;letter-spacing:-.5px;font-weight:500;margin:0 0 15px}.service p{font-size:13px;line-height:1.85;color:var(--muted);margin:0}.graphic-generate{gap:7px;transform:rotate(-18deg)}.graphic-generate b{width:19px;height:50px;background:#13334a;border:1px solid #397f9e;box-shadow:4px 4px 0 #09151f;border-radius:2px}.graphic-generate b:nth-child(2),.graphic-generate b:nth-child(4){height:75px}.graphic-generate b:nth-child(3){height:100px;background:linear-gradient(#9df5ff,#207eaf);border-color:#a4f4ff;box-shadow:0 0 22px #48daff25}.graphic-label{gap:16px;color:#72b7d5;font:70px monospace}.graphic-label div{width:68px;display:grid;gap:12px}.graphic-label i{height:7px;background:#275d7b;border-radius:2px}.graphic-label i:nth-child(2){width:48px;background:#7de4f5;box-shadow:0 0 15px #7de4f520}.graphic-label i:nth-child(3){width:59px}.graphic-verify{position:relative}.graphic-verify div{height:76px;width:76px;border:1px solid #498da6;background:#13364a;border-radius:50%;display:grid;place-items:center;font-size:32px;color:#8eeaff;box-shadow:0 0 35px #3de4ff12}.verify-ring{position:absolute;width:104px;height:104px;border:1px dashed #356078;border-radius:50%}.expertise{max-width:none;background:radial-gradient(ellipse at 15% 55%,#10354b66,transparent 65%),#0a111a;border-block:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center;padding:76px 7%}.challenge-spark{font-size:55px;color:var(--cyan);display:block;margin-bottom:35px}.expertise h2{font-size:clamp(36px,4vw,58px);max-width:520px;line-height:1.18}.expertise h2 .serif{color:#7ddcf3}.original-caption{color:#8299aa;font:11px monospace;margin-top:27px;letter-spacing:1px}.challenge-image{margin:0;max-width:430px;justify-self:center;padding:14px;background:#dce4e7;border-radius:6px;box-shadow:0 0 0 1px #7693a255,0 25px 80px #0005;transform:perspective(1200px) rotateY(-4deg)}.challenge-image img{display:block;width:100%;height:auto;border-radius:2px}.original-quality>h2{text-align:center;line-height:1.18}.original-quality>h2 .serif{color:#7793a8}.quality-body{display:grid;grid-template-columns:1fr 1.3fr;gap:10%;margin-top:55px;padding-top:42px;border-top:1px solid var(--line)}.quality-body h3{font-size:29px;line-height:1.4;max-width:340px}.quality-body p{font-size:14px;line-height:1.9;color:var(--muted);margin:0 0 23px}.quality-body .quality-final{color:#9deaff;margin:0}.about-redesign{border-top:1px solid var(--line)}.about-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:35px}.about-heading>span{font-size:30px;color:#5792b1}.about-cards{display:grid;grid-template-columns:1.12fr 1fr;gap:18px}.about-card{padding:30px 34px;border:1px solid #243648;border-radius:6px;background:#0c141e}.mission-card{grid-row:span 2;display:flex;flex-direction:column;justify-content:space-between;padding:35px 38px;background:radial-gradient(ellipse at 0 0,#16415b55,transparent 70%),#0c141e}.about-card-heading{display:flex;align-items:center;gap:13px;margin-bottom:23px}.about-card h3{font-size:19px;font-weight:500;margin:0;letter-spacing:-.2px}.about-symbol{display:grid;place-items:center;width:34px;height:34px;border:1px solid #365a70;border-radius:50%;font-size:22px;color:#7bd9ef}.about-card p{font-size:15px;line-height:1.8;color:#9cacba;margin:0}.mission-card p{font-size:19px;line-height:1.85;color:#bdccd7}.vision-card{background:radial-gradient(ellipse at 100% 0,#1a5d7b55,transparent 75%),#0b2030;border-color:#28516b}.vision-card p{color:#cdf4ff;font-size:25px;line-height:1.4;max-width:400px;letter-spacing:-.5px}.contact{margin:0 5% 65px;padding:52px 5%;border:1px solid #335b73;border-radius:7px;background:radial-gradient(ellipse at 60% 110%,#12517380,transparent 60%),linear-gradient(115deg,#112a3e,#0b1723);display:flex;align-items:center;justify-content:space-between;position:relative;overflow:hidden}.contact:before{content:'';position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(#96e8ff07 1px,transparent 1px),linear-gradient(90deg,#96e8ff07 1px,transparent 1px);background-size:26px 26px}.contact h2{font-size:51px;position:relative}.contact .button{position:relative}footer{padding:0 5% 30px}.footer-top{display:flex;align-items:center;justify-content:space-between;padding-bottom:32px}.footer-top>a:last-child{font-size:13px;color:#a2bacb}.footer-bottom{border-top:1px solid var(--line);padding-top:24px;display:flex;justify-content:space-between;color:#76899a;font-size:10px}.footer-bottom>div{display:flex;gap:25px}footer a:hover{color:var(--cyan)}@media(min-width:1600px){.expertise{padding-inline:calc((100% - 1250px)/2)}}@media(max-width:1000px){h1{font-size:60px}.hero{gap:5px;padding-top:60px;padding-bottom:60px}.hero-art{min-height:470px}.section{padding-top:70px;padding-bottom:70px}.service{padding:22px}.mission-card{padding:28px}.mission-card p{font-size:17px}.about-card{padding:28px}.expertise{gap:6%}}@media(max-width:700px){header{height:78px;padding:0 6%}.brand img{width:112px;height:auto}.nav-cta{margin-left:auto;margin-right:16px}.button.small{padding:11px 13px;gap:15px}nav{display:none;position:absolute;top:77px;left:0;right:0;background:#0d1620;margin:0;padding:25px 6%;border-bottom:1px solid var(--line);z-index:10}nav.open{display:flex}.menu{display:block;background:none;border:0;color:#d6ecf8;font-size:22px;padding:4px}.hero{padding:44px 6% 25px;grid-template-columns:1fr;gap:10px;min-height:0}.hero:before{background:radial-gradient(ellipse at 50% 90%,#0c3b5644,transparent 55%)}h1{font-size:52px;letter-spacing:-2.6px;line-height:1.08;margin-bottom:24px}.hero-copy:before{margin-bottom:24px;width:33px}.intro{font-size:13px;line-height:1.95}.actions{margin-top:26px}.hero-art{height:330px;min-height:330px}.press-strip{padding:20px 6%}.press-strip>div{gap:14px}.press-strip strong{font-size:15px}.press-strip>div>span{font-size:8px;letter-spacing:1px}.press-spark{font-size:24px}.section{padding:55px 6%}h2{font-size:35px;letter-spacing:-1.3px}.section-heading{display:block;margin-bottom:28px}.section-heading p{font-size:12px;line-height:1.8;margin-top:17px}.service-grid{grid-template-columns:1fr;gap:14px}.service{padding:24px}.service-graphic{height:95px;float:right;width:100px;transform:scale(.7);margin:5px 0 0 10px}.service-top{margin-bottom:26px}.service h3{font-size:21px;line-height:1.3;padding-top:5px}.service p{font-size:13px;min-height:75px}.expertise{grid-template-columns:1fr;gap:30px;padding:50px 6%}.expertise h2{font-size:38px}.challenge-spark{font-size:37px;margin-bottom:25px}.challenge-image{padding:10px;transform:none;max-width:100%}.original-caption{font-size:10px}.original-quality>h2{font-size:32px}.quality-body{grid-template-columns:1fr;gap:15px;margin-top:33px;padding-top:29px}.quality-body h3{font-size:25px}.quality-body p{font-size:13px}.about-heading{margin-bottom:25px}.about-cards{grid-template-columns:1fr;gap:14px}.about-card,.mission-card{padding:26px;grid-row:auto}.mission-card p{font-size:16px}.about-card h3{font-size:18px}.vision-card p{font-size:23px}.contact{margin:0 6% 44px;padding:32px 26px;display:block}.contact h2{font-size:38px}.contact .button{margin-top:28px;font-size:12px}.footer-top{padding-bottom:26px}.footer-top>a:last-child{font-size:11px}.footer-bottom{flex-direction:column;gap:22px;font-size:9px}.footer-bottom>div{gap:25px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Motion: entrance choreography, pointer light and subtle depth. */
@keyframes hero-enter{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@keyframes glow-breathe{0%,100%{opacity:.4}50%{opacity:1}}
@media(prefers-reduced-motion:no-preference){.hero-copy:before{animation:glow-breathe 4s ease-in-out infinite}.hero h1{animation:hero-enter .9s cubic-bezier(.2,.7,.2,1) both}.hero .intro{animation:hero-enter .9s .12s both}.hero .actions{animation:hero-enter .9s .24s both}.hero-art{animation:hero-enter 1.3s .12s both}.reveal{opacity:0;translate:0 25px;transition:opacity .8s ease var(--delay),translate .8s cubic-bezier(.2,.7,.2,1) var(--delay),border-color .25s,transform .35s}.reveal.arrived{opacity:1;translate:0 0}.service:hover,.about-card:hover{transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));border-color:#4e8094}.service,.about-card{position:relative;overflow:hidden}.service:before,.about-card:after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;background:radial-gradient(300px circle at var(--mx,50%) var(--my,50%),#62dbff12,transparent 75%);transition:opacity .4s}.service:hover:before,.about-card:hover:after{opacity:1}.button{overflow:hidden;position:relative}.button:after{content:'';position:absolute;top:-60%;left:-65%;height:220%;width:35%;background:linear-gradient(90deg,transparent,#e2fcff55,transparent);transform:rotate(25deg);transition:left .6s}.button:hover:after{left:140%}}
/* A live data pipeline: generate, label, verify. */
.pipeline{height:34px;margin:0 16.66% 18px;position:relative;border-top:1px solid #264657;top:16px}.pipeline span{position:absolute;top:-4px;width:7px;height:7px;background:#62c8e2;border:1px solid #adf6ff;border-radius:50%;box-shadow:0 0 14px #51dfff60}.pipeline span:nth-child(1){left:0}.pipeline span:nth-child(2){left:50%}.pipeline span:nth-child(3){left:100%}.pipeline:before,.pipeline:after{content:'';position:absolute;top:0;width:1px;height:25px;background:linear-gradient(#518ba4,transparent)}.pipeline:before{left:0}.pipeline:after{right:0}.pipeline i{position:absolute;left:0;top:-2px;width:45px;height:3px;background:linear-gradient(90deg,transparent,#a4f5ff);border-radius:10px;box-shadow:4px 0 12px #6fe8ff66;opacity:0}.graphic-label{position:relative}.graphic-label div{overflow:hidden}.graphic-verify:after{content:'';position:absolute;width:106px;height:2px;top:28%;background:linear-gradient(90deg,transparent,#b8f7ff,transparent);box-shadow:0 0 14px #62dcff;opacity:0}.contact-rays{position:absolute;inset:0;pointer-events:none;overflow:hidden}.contact-rays i{position:absolute;right:16%;top:50%;height:1px;width:70%;transform-origin:right center;background:linear-gradient(90deg,transparent,#72dfff30,transparent);transform:rotate(var(--angle));opacity:.6}.contact-rays i:nth-child(1){--angle:-22deg}.contact-rays i:nth-child(2){--angle:-11deg}.contact-rays i:nth-child(3){--angle:0deg}.contact-rays i:nth-child(4){--angle:11deg}.contact-rays i:nth-child(5){--angle:22deg}.contact-rays i:after{content:'';position:absolute;left:0;top:-1px;height:3px;width:65px;background:linear-gradient(90deg,transparent,#a7edff);opacity:0}.contact{transition:border-color .4s,box-shadow .4s}.contact:hover,.contact:focus-within{border-color:#68b9d0;box-shadow:0 0 55px #38d7ff10}.contact:hover .contact-rays i,.contact:focus-within .contact-rays i{opacity:1}.contact h2,.contact>.button{z-index:1}
@keyframes pipeline-travel{0%{left:0;opacity:0}8%{opacity:1}90%{opacity:1}100%{left:calc(100% - 45px);opacity:0}}
@keyframes generate-data{0%,100%{scale:1 .65;opacity:.45;translate:0 6px}40%,65%{scale:1 1;opacity:1;translate:0 0}}
@keyframes label-lines{0%,12%{clip-path:inset(0 100% 0 0);opacity:.35}40%,80%{clip-path:inset(0 0 0 0);opacity:1}100%{clip-path:inset(0 0 0 0);opacity:.4}}
@keyframes verify-scan{0%,15%{top:25%;opacity:0}25%{opacity:.9}65%{top:76%;opacity:.9}75%,100%{top:76%;opacity:0}}
@keyframes verify-confirm{0%,35%{opacity:.3;scale:.94;box-shadow:0 0 0 #4ce0ff00}65%,85%{opacity:1;scale:1;box-shadow:0 0 30px #4ce0ff35}100%{opacity:.3;scale:.94}}
@keyframes ring-turn{to{rotate:360deg}}
@keyframes ray-arrival{0%{left:0;opacity:0}20%{opacity:.65}85%{opacity:.8}100%{left:100%;opacity:0}}
@media(prefers-reduced-motion:no-preference){.pipeline i{animation:pipeline-travel 4s linear infinite;animation-play-state:paused}.pipeline i:nth-of-type(2){animation-delay:2s}.graphic-generate b{transform-origin:bottom;animation:generate-data 3.8s ease-in-out infinite;animation-play-state:paused}.graphic-generate b:nth-child(2){animation-delay:.2s}.graphic-generate b:nth-child(3){animation-delay:.4s}.graphic-generate b:nth-child(4){animation-delay:.6s}.graphic-generate b:nth-child(5){animation-delay:.8s}.graphic-label i{animation:label-lines 3.8s ease-in-out infinite;animation-play-state:paused}.graphic-label i:nth-child(2){animation-delay:.4s}.graphic-label i:nth-child(3){animation-delay:.8s}.graphic-verify:after{animation:verify-scan 4s ease-in-out infinite;animation-play-state:paused}.graphic-verify>div{animation:verify-confirm 4s ease-in-out infinite;animation-play-state:paused}.verify-ring{animation:ring-turn 22s linear infinite;animation-play-state:paused}.contact-rays i:after{animation:ray-arrival 4.8s ease-in infinite;animation-play-state:paused}.contact-rays i:nth-child(2):after{animation-delay:1.5s}.contact-rays i:nth-child(3):after{animation-delay:.7s}.contact-rays i:nth-child(4):after{animation-delay:2.6s}.contact-rays i:nth-child(5):after{animation-delay:3.4s}.motion-active .pipeline i,.motion-active .graphic-generate b,.motion-active .graphic-label i,.motion-active .graphic-verify:after,.motion-active .graphic-verify>div,.motion-active .verify-ring,.motion-active .contact-rays i:after{animation-play-state:running}}
@media(max-width:700px){.pipeline{display:none}.service-grid{gap:29px}.service{overflow:visible}.service:not(:last-child):after{left:50%;top:auto;bottom:-29px;width:1px;height:28px;background:linear-gradient(#74e4f7,#274251);box-shadow:0 0 8px #62d7f755}.service:before{border-radius:6px}.contact-rays i{right:25%;width:100%;top:70%}.contact-rays{opacity:.6}}
@media(max-width:700px) and (prefers-reduced-motion:no-preference){.service:not(:last-child):after{background:linear-gradient(180deg,transparent,#a5f5ff,transparent);background-size:100% 200%;animation:mobile-flow 2.3s linear infinite;animation-play-state:paused}.motion-active .service:not(:last-child):after{animation-play-state:running}}@keyframes mobile-flow{from{background-position:0 100%}to{background-position:0 -100%}}
