:root{--ink:#07101c;--navy:#06111f;--navy2:#0a2034;--cyan:#00d9ff;--cyan2:#69eeff;--paper:#f4f7f8;--line:rgba(8,28,45,.14);--muted:#607080;--white:#fff;--display:"Space Grotesk",sans-serif;--body:"DM Sans",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.55}button,a{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}img{display:block;width:100%}.skip{position:fixed;top:0;left:-999px;z-index:100;background:#fff;padding:1rem}.skip:focus{left:0}.header{position:fixed;z-index:40;top:0;left:0;right:0;height:82px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 clamp(1.2rem,4vw,5rem);color:#fff;border-bottom:1px solid rgba(255,255,255,.16);transition:.3s}.header.scrolled{height:68px;background:rgba(6,17,31,.92);backdrop-filter:blur(15px)}.brand{display:flex;align-items:center;gap:.75rem;width:max-content}.brand-mark{display:grid;place-items:center;width:38px;height:38px;background:var(--cyan);color:var(--navy);font:700 1.5rem var(--display);clip-path:polygon(0 0,100% 0,100% 74%,74% 100%,0 100%)}.brand>span:last-child{display:flex;flex-direction:column;line-height:1}.brand strong{font:700 1rem var(--display);letter-spacing:.13em}.brand small{text-transform:uppercase;font-size:.58rem;letter-spacing:.18em;margin-top:.35rem;opacity:.62}.nav{display:flex;gap:2.2rem;font-size:.82rem;font-weight:600;letter-spacing:.03em}.nav a{position:relative;padding:.6rem 0}.nav a:after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:var(--cyan);transition:.25s}.nav a:hover:after,.nav a:focus-visible:after{right:0}.nav-cta{justify-self:end;border:1px solid rgba(255,255,255,.35);background:transparent;color:#fff;padding:.7rem 1rem;font-size:.8rem;font-weight:600}.nav-cta span{color:var(--cyan);margin-left:.65rem}.menu{display:none;border:0;background:transparent;color:#fff}.hero{position:relative;min-height:800px;height:100svh;color:#fff;overflow:hidden;background:var(--navy)}.hero-image{position:absolute;inset:0;height:100%;object-fit:cover;object-position:center;filter:saturate(.65) contrast(1.1)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,15,28,.96) 0%,rgba(5,18,32,.76) 48%,rgba(5,17,30,.34) 100%),linear-gradient(0deg,rgba(4,15,28,.7),transparent 45%)}.grid-lines,.contact-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(105,238,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(105,238,255,.07) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(90deg,#000,transparent 82%)}.hero-content{position:relative;z-index:2;padding:clamp(10rem,21vh,14rem) clamp(1.25rem,8vw,9rem) 8rem;max-width:980px}.kicker{margin:0 0 1.35rem;text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;font-weight:700;color:var(--cyan2);display:flex;align-items:center;gap:.75rem}.kicker span{width:34px;height:1px;background:currentColor}.kicker.dark{color:#247184}.hero h1,.section h2,.contact h2,.quote h2{font-family:var(--display);font-weight:600;letter-spacing:-.055em;line-height:.93;margin:0}.hero h1{font-size:clamp(4rem,9vw,8.5rem);max-width:950px}.hero h1 em,.section h2 em,.contact h2 em{font-style:normal;color:var(--cyan)}.lead{max-width:620px;color:rgba(255,255,255,.77);font-size:clamp(1.05rem,1.5vw,1.25rem);margin:2rem 0}.hero-actions{display:flex;gap:.8rem;flex-wrap:wrap}.button{min-height:52px;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;padding:.9rem 1.25rem;font-size:.85rem;font-weight:700}.button span{margin-left:1rem}.primary{background:var(--cyan);color:var(--navy)}.primary:hover{background:var(--cyan2)}.secondary{border-color:rgba(255,255,255,.33);color:#fff;background:rgba(255,255,255,.03);backdrop-filter:blur(8px)}.hero-stats{position:absolute;z-index:2;right:clamp(1.25rem,5vw,6rem);bottom:3rem;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.24);min-width:min(530px,50vw)}.hero-stats div{padding:1.2rem;border-right:1px solid rgba(255,255,255,.15)}.hero-stats strong{display:block;font:600 1.35rem var(--display);color:var(--cyan2)}.hero-stats span{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.56);margin-top:.25rem}.scroll{position:absolute;z-index:2;bottom:2.6rem;left:clamp(1.25rem,3vw,3.5rem);font-size:.66rem;text-transform:uppercase;letter-spacing:.18em;color:rgba(255,255,255,.62);transform:rotate(-90deg);transform-origin:left center}.scroll span{display:inline-block;width:36px;height:1px;background:var(--cyan);vertical-align:middle;margin-right:.8rem}.marquee{overflow:hidden;background:var(--cyan);color:var(--navy);padding:.8rem 0;white-space:nowrap;text-transform:uppercase;font:700 .7rem var(--display);letter-spacing:.18em}.marquee div{width:max-content;animation:slide 24s linear infinite}.marquee i{font-style:normal;margin:0 2rem;font-size:.5rem}.section{padding:clamp(5rem,9vw,9rem) clamp(1.25rem,7vw,8rem)}.section-heading{display:grid;grid-template-columns:1fr 360px;column-gap:4rem;align-items:end;margin-bottom:4rem}.section-heading .kicker{grid-column:1/-1}.section h2{font-size:clamp(2.8rem,5.8vw,6.1rem)}.section-heading>p:last-child{color:var(--muted);margin:0 0 .6rem}.services{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line)}.service{position:relative;background:#fff;padding:2rem;min-height:340px;display:flex;flex-direction:column}.service.featured{grid-row:span 2;min-height:681px;padding:0;overflow:hidden}.service.featured:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,16,28,.96),transparent 65%)}.service.featured img{height:100%;object-fit:cover}.service-visual-copy{position:absolute;z-index:2;bottom:0;padding:2.2rem;color:#fff}.service-visual-copy>span,.number{color:var(--cyan);font:600 .72rem var(--display);letter-spacing:.14em}.service h3{font:600 1.55rem/1.1 var(--display);letter-spacing:-.03em;margin:1rem 0}.service p{color:var(--muted);margin:0;max-width:42ch}.service-visual-copy p{color:rgba(255,255,255,.7)}.service .icon{margin-top:auto;font:400 3rem var(--display);color:#8ba1ad}.service button{border:0;border-top:1px solid var(--line);background:transparent;text-align:left;padding:1.2rem 0 0;margin-top:2rem;font-weight:700;font-size:.78rem}.service button span{float:right;color:#1e8299}.method{background:var(--navy);color:#fff;display:grid;grid-template-columns:minmax(300px,1fr) minmax(420px,1fr);gap:clamp(4rem,8vw,10rem);align-items:center}.method-copy h2{font-size:clamp(3rem,5.3vw,5.6rem)}.method-copy>p:not(.kicker){color:#91a2b0;max-width:580px;margin:2rem 0}.method-copy>a{font-size:.8rem;font-weight:700;border-bottom:1px solid #35516a;padding-bottom:.65rem}.method-copy>a span{color:var(--cyan);margin-left:2rem}.steps{list-style:none;margin:0;padding:0;border-top:1px solid #254057}.steps li{display:grid;grid-template-columns:60px 1fr;gap:1.4rem;padding:1.5rem 0;border-bottom:1px solid #254057}.steps li>span{color:var(--cyan);font:600 .72rem var(--display)}.steps h3{margin:0;font:600 1.35rem var(--display)}.steps p{margin:.3rem 0 0;color:#8295a4;font-size:.88rem}.projects{background:#eaf0f2}.projects-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:3rem}.projects-head h2{font-size:clamp(3rem,6vw,6rem)}.filters{display:flex;gap:.4rem}.filters button{border:1px solid #b9c5ca;background:transparent;padding:.65rem 1rem;font-size:.75rem;font-weight:700}.filters button.active{background:var(--navy);color:#fff;border-color:var(--navy)}.project-grid{display:grid;grid-template-columns:1.25fr .75fr;grid-template-rows:repeat(2,360px);gap:1rem}.project{position:relative;overflow:hidden;background:var(--navy);color:#fff;transition:.35s}.project.large{grid-row:span 2}.project[hidden]{display:none}.project img{height:100%;object-fit:cover;filter:saturate(.7);transition:.6s}.project:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,15,28,.94),transparent 58%)}.project:hover img{transform:scale(1.03);filter:saturate(1)}.project>div:last-child{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:1.5rem}.project span{font-size:.66rem;text-transform:uppercase;letter-spacing:.13em;color:var(--cyan2)}.project h3{font:600 clamp(1.4rem,2vw,2.1rem)/1.1 var(--display);letter-spacing:-.03em;margin:.45rem 3rem 0 0}.project b{position:absolute;right:1.5rem;bottom:1.5rem;color:rgba(255,255,255,.42);font:500 .72rem var(--display)}.text-project{background:#0b2438;padding:1.5rem}.text-project:after{background:radial-gradient(circle at 70% 40%,rgba(0,217,255,.14),transparent 42%)}.project-tag{position:relative;z-index:2}.technical-ring{position:absolute!important;width:180px;height:180px;left:auto!important;right:8%;top:15%;bottom:auto!important;border:1px solid #2f5468;border-radius:50%;display:grid;place-items:center}.technical-ring:before,.technical-ring:after{content:"";position:absolute;inset:22px;border:1px dashed #2f5468;border-radius:50%}.technical-ring:after{inset:66px;background:var(--cyan);border:0}.technical-ring span{position:relative;z-index:2;color:var(--navy);font:700 1rem var(--display)}.technical-ring i{position:absolute;width:1px;height:230px;background:#2f5468}.technical-ring i:last-of-type{transform:rotate(90deg)}.contact{position:relative;overflow:hidden;background:var(--navy);color:#fff;padding:clamp(5rem,9vw,9rem) clamp(1.25rem,8vw,9rem);display:grid;grid-template-columns:1.2fr .8fr;gap:6rem;align-items:center}.contact-grid{mask-image:radial-gradient(circle at 20% 50%,#000,transparent 70%)}.contact>*:not(.contact-grid){position:relative;z-index:2}.contact h2{font-size:clamp(4rem,8vw,8rem)}.contact-main>p:not(.kicker){max-width:580px;color:#91a2b0;font-size:1.05rem;margin:2rem 0}.contact-cards{border-top:1px solid #294256}.contact-cards a{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;padding:1.25rem .25rem;border-bottom:1px solid #294256}.contact-cards span{font-size:.68rem;text-transform:uppercase;letter-spacing:.14em;color:#7890a0}.contact-cards strong{font:600 1.08rem var(--display);margin-top:.25rem}.contact-cards b{grid-row:1/3;grid-column:2;align-self:center;color:var(--cyan);font-size:1.3rem}footer{background:#030b13;color:#fff;padding:2rem clamp(1.25rem,4vw,5rem);display:flex;align-items:center;justify-content:space-between;gap:1.5rem;border-top:1px solid #172a3a}footer p{color:#738696;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em}.quote{width:min(660px,calc(100% - 2rem));max-height:90vh;border:0;padding:clamp(1.5rem,4vw,3rem);background:#f5f8f9;color:var(--ink);box-shadow:0 30px 100px rgba(0,0,0,.5)}.quote::backdrop{background:rgba(2,9,16,.82);backdrop-filter:blur(5px)}.quote-close{position:absolute;right:1rem;top:1rem;border:0;background:#dfe7ea;width:38px;height:38px;font-size:1.4rem}.quote h2{font-size:clamp(2.2rem,5vw,4rem)}.quote>p:not(.kicker){color:var(--muted)}.quote form{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:2rem}.quote label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.quote label:last-of-type,.quote form .button,.quote form small{grid-column:1/-1}.quote input,.quote select,.quote textarea{display:block;width:100%;margin-top:.45rem;border:1px solid #c3d0d5;background:#fff;padding:.8rem;font:400 .9rem var(--body);text-transform:none;letter-spacing:0}.quote textarea{min-height:110px;resize:vertical}.quote form small{color:var(--muted)}.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s,transform .7s}.reveal.visible{opacity:1;transform:none}@keyframes slide{to{transform:translateX(-50%)}}
@media(max-width:980px){.header{grid-template-columns:1fr auto}.nav-cta{display:none}.menu{display:flex;flex-direction:column;gap:5px;align-items:flex-end}.menu span{display:block;width:26px;height:1px;background:#fff}.menu b{position:absolute;clip:rect(0 0 0 0)}.nav{position:fixed;top:68px;left:0;right:0;display:none;flex-direction:column;background:var(--navy);padding:1.5rem}.nav.open{display:flex}.hero-stats{right:1.25rem;bottom:1.25rem;min-width:0;width:calc(100% - 2.5rem)}.scroll{display:none}.section-heading{grid-template-columns:1fr}.section-heading>p:last-child{margin-top:1.5rem;max-width:600px}.services{grid-template-columns:1fr 1fr}.service.featured{grid-column:1/-1;grid-row:auto;min-height:520px}.method{grid-template-columns:1fr}.contact{grid-template-columns:1fr}.project-grid{grid-template-columns:1fr;grid-template-rows:520px 340px 340px}.project.large{grid-row:auto}footer{flex-wrap:wrap}}
@media(max-width:640px){.header{height:68px;padding:0 1rem}.hero{min-height:760px}.hero-content{padding:9.5rem 1.25rem 12rem}.hero h1{font-size:clamp(3.4rem,17vw,5.5rem)}.hero-stats{grid-template-columns:repeat(3,1fr)}.hero-stats div{padding:.8rem .45rem}.hero-stats strong{font-size:1rem}.hero-stats span{font-size:.54rem}.section{padding:5rem 1.25rem}.section-heading{margin-bottom:2.5rem}.services{grid-template-columns:1fr}.service.featured{grid-column:auto;min-height:480px}.service{min-height:300px}.projects-head{display:block}.filters{margin-top:1.5rem;overflow:auto}.project-grid{grid-template-rows:460px 330px 330px}.contact{padding:5rem 1.25rem;gap:4rem}.contact h2{font-size:clamp(3.5rem,18vw,6rem)}footer{display:block}footer p{margin-top:1.5rem}.quote form{grid-template-columns:1fr}.quote label{grid-column:1/-1}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.marquee div{animation:none}.reveal{opacity:1;transform:none;transition:none}}
