:root{--black:#050505;--white:#f4f4f1;--gray:#999;--line:#292929;--pad:clamp(24px,5vw,80px);--display:"Arial Black","Helvetica Neue",Arial,sans-serif;--sans:Inter,"Helvetica Neue",Arial,sans-serif;--mono:"Courier New",monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:var(--white);font-family:var(--sans);line-height:1.5;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.mono{font-family:var(--mono)}.skip-link{position:fixed;left:16px;top:-80px;background:#fff;color:#000;padding:12px;z-index:1001}.skip-link:focus{top:16px}.loader{position:fixed;inset:0;background:#000;display:grid;place-items:center;z-index:2000;transition:opacity .45s,visibility .45s}.loader.is-hidden{opacity:0;visibility:hidden}.loader__inner{width:min(460px,80vw);display:grid;gap:16px;font-family:var(--mono);letter-spacing:.08em}.loader__inner strong{font-family:var(--display);font-size:clamp(22px,4vw,38px)}.loader__bar{height:4px;background:#222}.loader__bar i{display:block;height:100%;background:#fff;animation:load .75s ease forwards}@keyframes load{from{width:0}to{width:100%}}.cursor{animation:blink .8s steps(1) infinite}@keyframes blink{50%{opacity:0}}
.site-header{position:fixed;z-index:1000;top:0;left:0;width:100%;height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--pad);border-bottom:1px solid transparent;transition:.3s}.site-header.is-scrolled,.page-about .site-header,.page-services .site-header,.page-projects .site-header,.page-references .site-header,.page-contact .site-header,.page-404 .site-header{height:72px;background:rgba(5,5,5,.96);border-color:var(--line);backdrop-filter:blur(12px)}.brand{font-family:var(--display);font-size:16px;line-height:.9;letter-spacing:-.05em}.brand span{display:block;color:#777}.site-nav{display:flex;gap:clamp(18px,3vw,48px)}.site-nav a{font-family:var(--mono);font-size:12px;letter-spacing:.08em;padding:8px 0;position:relative}.site-nav a:after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:#fff;transition:.25s}.site-nav a:hover:after,.site-nav a[aria-current]:after{width:100%}.menu-toggle{display:none;color:#fff;background:none;border:0;width:42px;height:42px;padding:9px}.menu-toggle span{display:block;height:1px;background:#fff;margin:5px}.menu-toggle b{position:absolute;clip:rect(0,0,0,0)}
.hero{min-height:100svh;position:relative;display:flex;align-items:center;padding:130px var(--pad) 60px;overflow:hidden;background:radial-gradient(circle at 75% 35%,#171717 0,transparent 30%),#050505}.hero:after{content:"";position:absolute;inset:0;background-image:linear-gradient(#ffffff09 1px,transparent 1px),linear-gradient(90deg,#ffffff09 1px,transparent 1px);background-size:80px 80px;mask-image:linear-gradient(to bottom,black,transparent)}.hero__content{position:relative;z-index:2;max-width:1180px}.eyebrow,.section-label{font-family:var(--mono);font-size:11px;letter-spacing:.16em}.hero h1,.page-hero h1{font:900 clamp(70px,11.5vw,178px)/.77 var(--display);letter-spacing:-.085em;margin:30px 0}.hero h1 span,.page-hero h1 span,.cta h2 span,.statement h2 span{color:transparent;-webkit-text-stroke:1px #fff}.hero__tag{font-size:clamp(13px,1.3vw,18px);letter-spacing:.13em}.hero__copy{width:min(520px,100%);color:#aaa;font-size:17px}.actions{display:flex;gap:12px;margin-top:36px}.button{display:inline-flex;align-items:center;justify-content:center;border:1px solid #fff;padding:16px 22px;font:700 11px var(--mono);letter-spacing:.08em;transition:.25s}.button:hover{background:#fff;color:#000;transform:translateY(-2px)}.button--light{background:#fff;color:#000}.button--light:hover{background:#000;color:#fff}.button--dark{background:#000;color:#fff;border-color:#000}.button--dark:hover{background:#333}.hero__index{position:absolute;right:var(--pad);top:140px;color:#777;font-size:11px}.hero__status{position:absolute;right:var(--pad);bottom:40px;font-size:11px;z-index:2}.hero__status i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#fff;margin-right:8px;box-shadow:0 0 12px #fff}.code-ghost{position:absolute;right:7%;top:28%;font:14px/2 var(--mono);color:#ffffff10;transform:rotate(-3deg)}
.section{padding:clamp(90px,12vw,180px) var(--pad)}.section--light{background:var(--white);color:#080808}.statement h2,.section-head h2,.split h2,.cta h2,.tech-side h2{font:900 clamp(44px,6.5vw,100px)/.88 var(--display);letter-spacing:-.07em;margin:25px 0}.statement__grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw;margin:60px 0 90px}.statement__grid p{grid-column:2;font-size:clamp(20px,2vw,30px);margin:0}.text-link{font:700 11px var(--mono);letter-spacing:.1em;border-bottom:1px solid;padding-bottom:7px;width:max-content}.stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.stats div{padding:45px 0;border-right:1px solid var(--line)}.stats div+div{padding-left:40px}.stats b{display:block;font:900 clamp(56px,7vw,110px)/1 var(--display);letter-spacing:-.07em}.stats span{font:11px var(--mono);letter-spacing:.12em}.section-head{display:flex;align-items:end;justify-content:space-between;gap:60px;margin-bottom:80px}.section-head>p{max-width:340px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-left:1px solid #bbb;border-top:1px solid #bbb}.service-card{min-height:330px;padding:30px;border-right:1px solid #bbb;border-bottom:1px solid #bbb;position:relative;transition:.3s}.service-card span,.service-card p{font:12px var(--mono)}.service-card h3{font:900 clamp(24px,2.5vw,38px)/1 var(--display);letter-spacing:-.05em;margin-top:60px}.service-card p{color:#555}.service-card i{position:absolute;right:25px;bottom:22px;font-size:26px}.service-card:hover{background:#000;color:#fff}.service-card:hover p{color:#aaa}
.terminal-wrap{display:grid;grid-template-columns:1.25fr .75fr;gap:8vw;align-items:center}.terminal{border:1px solid #444;background:#0b0b0b;box-shadow:20px 20px 0 #111}.terminal__bar{display:flex;justify-content:space-between;padding:14px 18px;border-bottom:1px solid #333;font:10px var(--mono);color:#999}.terminal__body{padding:35px;font-size:14px;min-height:390px}.terminal__body p{color:#999;margin:22px 0 8px}.terminal__body em{color:#fff;font-style:normal}.terminal__body strong{font-weight:400}.tech-list{color:#999;font-size:12px;line-height:2}.marquee{overflow:hidden;background:#fff;color:#000;padding:20px 0;border-block:1px solid #000;font:900 24px var(--display);white-space:nowrap}.marquee div{width:max-content;animation:marquee 24s linear infinite}@keyframes marquee{to{transform:translateX(-50%)}}
.project{display:grid;grid-template-columns:1.45fr .55fr;min-height:620px;border-top:1px solid var(--line);padding:60px 0;gap:5vw}.project--reverse{grid-template-columns:.55fr 1.45fr}.project--reverse .project__visual{order:2}.project__visual{min-height:480px;background:#171717;position:relative;overflow:hidden;border:1px solid #292929}.project__visual:before,.project__visual:after{content:"";position:absolute;transition:transform .6s}.project__visual:before{inset:15%;border:1px solid #444;transform:rotate(8deg)}.project__visual:after{width:45%;aspect-ratio:1;left:28%;top:23%;background:#eee;mix-blend-mode:difference}.project__visual:hover:before{transform:rotate(14deg) scale(1.08)}.project__visual:hover:after{transform:scale(1.15)}.project__visual span{position:absolute;top:25px;left:25px;font:10px var(--mono);z-index:2}.project__visual b{position:absolute;right:-10px;bottom:-55px;font:900 220px var(--display);color:#ffffff0c}.visual--two:before{border-radius:50%;transform:none}.visual--two:after{height:60%;width:8%;left:46%;top:20%}.visual--three:after{clip-path:polygon(50% 0,100% 100%,0 100%)}.visual--four:before{inset:10% 25%;transform:skew(-15deg)}.project__info{display:flex;flex-direction:column;justify-content:center}.project__info>span,.case__meta>span{font:10px var(--mono);color:#888}.project__info h3{font:900 clamp(38px,5vw,72px)/.9 var(--display);letter-spacing:-.06em;margin:26px 0}.project__info p,.case__meta p{color:#999;font:12px/1.8 var(--mono)}.project__info a,.case__meta a{margin-top:35px;font:700 11px var(--mono);text-decoration:underline;text-underline-offset:8px}.timeline{list-style:none;padding:0;margin:0;border-top:1px solid #bbb}.timeline li{display:grid;grid-template-columns:80px 1fr 1fr;gap:20px;align-items:center;padding:32px 0;border-bottom:1px solid #bbb}.timeline span{font:11px var(--mono)}.timeline h3{font:900 clamp(24px,3vw,42px) var(--display);letter-spacing:-.04em;margin:0}.timeline p{margin:0}.cta{text-align:center}.cta h2{font-size:clamp(50px,8vw,125px)}
.site-footer{padding:90px var(--pad) 30px;border-top:1px solid var(--line)}.footer-mark{font:900 clamp(65px,11vw,170px)/.75 var(--display);letter-spacing:-.09em}.footer-mark span{color:#222}.footer-row,.footer-bottom{display:flex;justify-content:space-between;align-items:center}.footer-row{margin:80px 0}.footer-row p{font:12px var(--mono)}.footer-row nav{display:flex;gap:28px;font-size:13px}.footer-bottom{padding-top:24px;border-top:1px solid var(--line);color:#777;font:9px var(--mono);letter-spacing:.08em}
.page-hero{min-height:78svh;padding:180px var(--pad) 80px;display:flex;flex-direction:column;justify-content:end;border-bottom:1px solid var(--line)}.page-hero h1{font-size:clamp(64px,10vw,150px)}.page-hero>p:last-child{color:#999;font-size:18px;max-width:600px}.split{display:grid;grid-template-columns:1fr 1fr;gap:8vw}.prose{font-size:clamp(20px,2vw,30px);color:#bbb}.manifesto-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:60px;border-top:1px solid #aaa}.manifesto-grid article{padding:35px;border-right:1px solid #aaa}.manifesto-grid span,.manifesto-grid p{font:12px/1.7 var(--mono)}.manifesto-grid h3{font:900 34px var(--display)}.numbers{padding-top:80px;padding-bottom:80px}.service-detail{padding-top:0;padding-bottom:0}.service-row{display:grid;grid-template-columns:80px 1fr 40px;padding:60px 0;border-bottom:1px solid #aaa}.service-row>span,.service-row small{font:11px var(--mono)}.service-row h2{font:900 clamp(36px,5vw,74px)/1 var(--display);letter-spacing:-.06em;margin:0 0 20px}.service-row p{font-size:18px;max-width:700px}.service-row i{font-size:30px}.case-studies{padding-top:80px}.case{display:grid;grid-template-columns:1.3fr .7fr;gap:6vw;align-items:center;padding:70px 0;border-top:1px solid var(--line)}.case:nth-child(even) .project__visual{order:2}.case__meta h2{font:900 clamp(38px,5vw,74px)/.9 var(--display);letter-spacing:-.06em;margin:25px 0}.case__meta small{color:#777}.contact{display:grid;grid-template-columns:.65fr 1.35fr;gap:8vw}.contact aside>a{font-size:clamp(20px,2vw,30px);text-decoration:underline}.contact-note{margin-top:70px;font-size:10px;line-height:2;color:#555}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:30px}.contact-form label{font:10px var(--mono);letter-spacing:.1em}.contact-form input,.contact-form select,.contact-form textarea{display:block;width:100%;border:0;border-bottom:1px solid #777;background:transparent;padding:15px 0;border-radius:0;outline:none}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:#000}.contact-form .full{grid-column:1/-1}.contact-form .consent{display:flex;align-items:center;gap:10px;letter-spacing:0}.contact-form .consent input{width:16px}.hp{position:absolute!important;left:-9999px!important}.form-message{padding:16px;margin-bottom:30px;border:1px solid}.success{background:#e8f2e8}.error{background:#f5e4e4}.error-page{min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:120px 24px}.error-page h1{font:900 clamp(140px,25vw,360px)/.7 var(--display);letter-spacing:-.1em;margin:40px 0}.error-page h2{font:24px var(--mono)}.error-page p{color:#888}.error-page .button{margin-top:40px}.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s,transform .7s}.reveal.is-visible{opacity:1;transform:none}
.contact{grid-template-columns:.78fr 1.22fr;gap:7vw}.contact-logo{width:min(235px,72%);margin:0 0 38px;overflow:hidden;border:1px solid #bbb;background:#111}.contact-logo img{display:block;width:100%;height:auto;transition:transform .45s,filter .45s}.contact-logo:hover img{transform:scale(1.04);filter:contrast(1.08)}.contact-email{display:inline-block;margin-top:34px;font-size:clamp(20px,2vw,30px);text-decoration:underline;text-underline-offset:7px}.contact-details{margin-top:30px;border-top:1px solid #bbb}.contact-details article{padding:24px 0;border-bottom:1px solid #bbb}.contact-details article>span{display:block;margin-bottom:12px;font-size:9px;letter-spacing:.12em;color:#666}.contact-details address{margin:0;font-style:normal;font-size:13px;line-height:1.7;color:#333}.contact-phones{display:flex;flex-direction:column;align-items:flex-start;gap:14px}.contact-phones a{display:block;width:max-content;font:700 15px var(--mono);line-height:1.35;text-decoration:none;border-bottom:1px solid transparent}.contact-phones a:hover{border-color:#000}.contact-note{margin-top:38px}
.contact-logo{overflow:visible;border:0;background:transparent}.contact-logo img{filter:drop-shadow(0 12px 16px #0002)}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}
.references{padding-top:100px}.reference-grid{border-top:1px solid var(--line)}.reference-card{display:grid;grid-template-columns:minmax(340px,.85fr) 1.15fr;min-height:640px;border-bottom:1px solid var(--line);overflow:hidden}.reference-card__logo{position:relative;display:grid;place-items:center;padding:55px;border-right:1px solid var(--line);background:radial-gradient(circle at 50% 45%,#242424 0,#0b0b0b 42%,#050505 76%);isolation:isolate;overflow:hidden}.reference-card__logo:before{content:"";position:absolute;inset:0;background-image:linear-gradient(#ffffff0a 1px,transparent 1px),linear-gradient(90deg,#ffffff0a 1px,transparent 1px);background-size:42px 42px;opacity:.35}.reference-card__logo:after{content:"";position:absolute;left:10%;right:10%;bottom:13%;height:1px;background:#fff;box-shadow:0 0 18px 3px #fff;opacity:.25;transition:opacity .45s,box-shadow .45s}.reference-card__logo img{position:relative;z-index:3;display:block;width:min(390px,94%);height:auto;filter:grayscale(1) brightness(0) invert(1) drop-shadow(0 0 10px #ffffff55);opacity:1;transition:transform .65s cubic-bezier(.2,.8,.2,1),filter .45s}.tower-halo{position:absolute;z-index:1;width:68%;aspect-ratio:1;border:1px solid #ffffff35;border-radius:50%;box-shadow:0 0 0 35px #ffffff08,0 0 0 75px #ffffff05;opacity:.45;transition:transform .7s,opacity .5s}.tower-beam{position:absolute;z-index:2;top:6%;width:14%;height:70%;background:linear-gradient(to bottom,#ffffffc9,transparent 75%);filter:blur(6px);opacity:0;transform-origin:top center;transition:opacity .35s,transform .65s}.tower-beam--left{left:42%;transform:rotate(-28deg) scaleY(.65)}.tower-beam--right{right:42%;transform:rotate(28deg) scaleY(.65)}.tower-status{position:absolute;z-index:4;bottom:24px;left:28px;font-size:9px;letter-spacing:.12em;color:#777}.reference-card:hover .reference-card__logo img{transform:translateY(-8px) scale(1.08);filter:grayscale(1) brightness(0) invert(1) drop-shadow(0 0 8px #fff) drop-shadow(0 0 28px #fff)}.reference-card:hover .tower-halo{transform:scale(1.12) rotate(12deg);opacity:1}.reference-card:hover .tower-beam{opacity:.8}.reference-card:hover .tower-beam--left{transform:rotate(-36deg) scaleY(1)}.reference-card:hover .tower-beam--right{transform:rotate(36deg) scaleY(1)}.reference-card:hover .reference-card__logo:after{opacity:.8;box-shadow:0 0 28px 6px #fff}.reference-card__meta{display:flex;flex-direction:column;justify-content:center;padding:clamp(40px,7vw,110px)}.reference-card__meta>span{font-size:10px;color:#777}.reference-card__meta h3{font:900 clamp(44px,7vw,100px)/.86 var(--display);letter-spacing:-.07em;margin:35px 0}.reference-card__meta p{color:#999;font:12px var(--mono);letter-spacing:.08em;text-transform:uppercase}@media(hover:none){.reference-card__logo img{animation:towerPulse 3s ease-in-out infinite}.tower-halo{animation:haloPulse 3s ease-in-out infinite}.tower-beam{opacity:.28}}@keyframes towerPulse{50%{transform:translateY(-5px) scale(1.035);filter:grayscale(1) brightness(0) invert(1) drop-shadow(0 0 18px #fff)}}@keyframes haloPulse{50%{transform:scale(1.08);opacity:.8}}
