@font-face{font-family:Inter;src:url('assets/fonts/inter-400.woff2') format('woff2');font-weight:400;font-display:block}
@font-face{font-family:Inter;src:url('assets/fonts/inter-500.woff2') format('woff2');font-weight:500;font-display:block}
@font-face{font-family:Inter;src:url('assets/fonts/inter-600.woff2') format('woff2');font-weight:600 900;font-display:block}
@font-face{font-family:Urbanist;src:url('assets/fonts/urbanist-variable.woff2') format('woff2');font-weight:100 900;font-display:block}
:root{color-scheme:dark;--bg:#070707;--fg:#f1f0ee;--muted:#90908f;--line:#282828;--accent:#c5b6f6;--brand-orange:#f36e27;--pad:clamp(24px,5.1vw,88px);--nav:92px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--bg);color:var(--fg);font-family:Inter,Arial,sans-serif;font-size:14px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button{border:0}button:disabled{cursor:default}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:6px}::selection{background:#c5b6f6;color:#070707}img,svg{display:block;max-width:100%}button[hidden],[hidden]{display:none!important}.skip-link{position:fixed;top:-100px;left:20px;background:white;color:black;padding:16px;z-index:100}.skip-link:focus{top:16px}
.site-header{height:var(--nav);display:flex;align-items:center;justify-content:space-between;padding:0 var(--pad);gap:28px;background:#070707;position:relative;z-index:20;border-bottom:1px solid #191919}.brand{display:flex;align-items:center;gap:0}.brand-wordmark{display:block;width:154px;flex:none;font-family:Inter,Arial,sans-serif;font-size:32px;font-weight:600;line-height:1.5;letter-spacing:-1.1px;text-align:center;color:var(--brand-orange)}.brand-divider{height:21px;width:1px;background:#464646;margin:0 17px 0 9px}.brand-unit{font-size:12px;font-weight:400;letter-spacing:.5px;color:#aaa}.desktop-nav{display:flex;gap:34px;font-size:12px;margin-left:auto;margin-right:36px}.desktop-nav a{color:#a4a4a4;transition:color .2s}.desktop-nav a:hover,.desktop-nav .nav-active{color:#fff}.button{background:#f0efed;border:1px solid #f0efed;color:#111;display:inline-flex;align-items:center;justify-content:space-between;gap:38px;padding:18px 22px;font-size:12px;font-weight:500;border-radius:3px;transition:background .2s,transform .2s}.button:hover{background:#d9cdf9;border-color:#d9cdf9;transform:translateY(-2px)}.button span{font-size:19px;line-height:1}.button-small{padding:13px 17px;gap:30px;font-size:11px}.menu-toggle{display:none;background:none;padding:12px 0 12px 12px;width:38px}.menu-toggle span{height:1px;background:#fff;display:block;margin:6px 0;transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
.hero{min-height:640px;height:calc(100svh - var(--nav));max-height:970px;position:relative;overflow:hidden;background:#000}.hero-media{position:absolute;inset:0;pointer-events:none}.hero-media video{width:100%;height:100%;object-fit:cover;object-position:right center;opacity:.88}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#000 0%,rgba(0,0,0,.78) 30%,transparent 61%),linear-gradient(0deg,#000,transparent 20%)}.hero-content{position:relative;z-index:1;max-width:900px;padding:clamp(75px,10.3vh,132px) var(--pad) 100px}.eyebrow{font-size:10px;font-weight:500;letter-spacing:1.8px;display:flex;align-items:center;gap:10px}.hero .eyebrow{color:#b7b7b7;margin:0 0 35px}.status-dot{width:5px;height:5px;background:var(--accent);border-radius:50%;display:inline-block;flex:none}.hero h1{font-size:clamp(70px,7.8vw,118px);font-weight:400;letter-spacing:-.065em;line-height:1.01;margin:0 0 29px}.hero h1 em{font-style:normal;color:#b9b9b9}.line-mask{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}.line-mask>span{display:block}.hero-description{font-size:14px;line-height:1.85;color:#929292;margin:0 0 31px;letter-spacing:-.1px}.hero-cta{min-width:236px}.hero-footer{position:absolute;bottom:33px;left:var(--pad);right:var(--pad);display:flex;align-items:center;justify-content:space-between;gap:18px;font-size:9px;letter-spacing:1.45px;color:#a4a4a4}.scroll-link{display:flex;align-items:center;gap:13px}.scroll-icon{display:grid;place-items:center;border:1px solid #363636;width:25px;height:35px;border-radius:15px;font-size:14px;color:#ddd}.hero-caption{display:flex;align-items:center;gap:15px;margin-left:auto}.tiny-cross{font-size:18px;color:#ccc}.caption-index{margin-left:22px;color:#626262}.motion-toggle{border:1px solid #333;background:#10101088;border-radius:50%;height:29px;width:29px;display:grid;place-items:center;font-size:10px;color:#ccc;margin-left:18px;letter-spacing:0}.motion-ready [data-hero-enter]{opacity:0}.motion-ready [data-hero-line]{transform:translateY(118%)}
.work-section{padding:102px var(--pad) 53px;max-width:1760px;margin:auto}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:35px;margin-bottom:45px}.section-label{color:#b3b3b3;margin:0 0 30px;font-size:9px}.section-number{color:#666;margin-right:10px}.section-heading h2{font-size:clamp(38px,4vw,62px);letter-spacing:-.055em;font-weight:400;line-height:1.11;margin:0}.section-heading h2>span{color:#898989}.section-intro{font-size:12px;line-height:1.85;color:#959595;margin:0 1px 4px 0;min-width:225px}.collection-toolbar{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:17px 0;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:32px}.filters{display:flex;gap:7px;flex-wrap:wrap}.filter{font-size:10px;background:transparent;color:#9a9a9a;padding:9px 12px;border-radius:3px;white-space:nowrap;transition:color .2s,background .2s}.filter:hover{color:#eee;background:#171717}.filter.active{background:#262626;color:#eee}.filter span{color:#a2a2a2;font-size:9px;margin-left:6px}.collection-note{display:flex;align-items:center;gap:8px;color:#848484;font-size:8px;letter-spacing:1.15px;white-space:nowrap}.collection-note .status-dot{height:4px;width:4px;background:#999}.catalog-message{color:#999;font-size:12px;margin:0;line-height:1.6}.catalog-message:not(:empty){margin:0 0 24px;padding:12px 0;border-bottom:1px solid #252525}.collection-footer{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);margin-top:48px;padding-top:22px;font-size:10px;color:#737373}.collection-footer>span+span{font-size:8px;letter-spacing:1px}.collection-footer>span+span>span{font-size:15px;margin-left:15px}
.section-two{font-family:Urbanist,Inter,Arial,sans-serif;max-width:1760px;margin:auto;padding:91px var(--pad) 102px;border-top:1px solid #202020}.section-two>.eyebrow{font-family:Inter,Arial,sans-serif}.approach-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:38px;gap:25px}.approach-heading h2{font-size:clamp(39px,4.2vw,65px);line-height:1.06;letter-spacing:-2px;font-weight:450;margin:0}.approach-heading h2 .line-mask+span{color:#aaa}.approach-heading>p{color:#999;font-size:13px;line-height:1.8;margin:0 25px 3px 0}.systems-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.systems-card{background:#111;min-height:334px;display:flex;flex-direction:column;padding:24px 27px 30px}.systems-art{flex:1;display:grid;place-items:center;min-height:160px}.systems-art svg{width:100%;max-height:206px;overflow:visible}.systems-copy{padding-top:15px}.systems-number{display:block;font:8px Inter,Arial,sans-serif;letter-spacing:1.3px;color:#6e6e6e;margin-bottom:15px}.systems-copy h3{font-size:21px;font-weight:450;letter-spacing:-.5px;margin:0 0 11px}.systems-copy p{font-size:13px;line-height:1.6;margin:0;color:#999;max-width:280px}.inverted .systems-copy{padding-top:8px}.inverted .systems-art{padding-top:15px}.d-plate-a{--ay:9.6px;--t:2.9s}.d-plate-b{--ay:6.9px;--t:3.4s}.d-plate-c{--ay:4.2px;--t:3.9s}.d-plate-d{--ay:2.1px;--t:4.6s}.d-src-t{--ax:1.5px;--ay:7.65px;--t:3.6s}.d-src-l{--ax:9px;--ay:.45px;--t:3.1s}.d-src-r{--ax:-7.29px;--ay:-4.17px;--t:4.2s}.d-node-t{--ay:5.4px;--t:3.3s}.d-node-b{--ay:-5.1px;--t:4.3s}.d-node-l{--ax:6.3px;--t:3s}.d-node-r{--ax:-6px;--t:3.8s}.section-two.s2-armed [data-enter2]{opacity:0}.section-two.s2-armed [data-line2]{transform:translateY(118%)}.section-two.s2-entering [data-enter2],.section-two.s2-entering [data-line2]{transition:none!important}
.site-footer{padding:45px var(--pad) 25px;background:#0b0b0b;border-top:1px solid #222;display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:30px}.footer-brand{display:flex;align-items:center}.footer-brand>.brand-unit{font-size:11px;letter-spacing:.25px;font-weight:400;color:#aaa;margin-left:15px}.site-footer>p{color:#777;font-size:11px}.back-top{font-size:10px;color:#aaa}.back-top span{margin-left:18px}.footer-bottom{grid-column:1/-1;border-top:1px solid #252525;padding-top:24px;display:flex;justify-content:space-between;font-size:9px;color:#656565}.footer-bottom>span+span{font-size:8px;letter-spacing:1px}.noscript-note{padding:20px var(--pad);font-size:12px;color:#aaa}.mobile-menu{position:fixed;top:var(--nav);inset-inline:0;bottom:0;z-index:19;background:#070707;padding:45px var(--pad);display:flex;flex-direction:column;gap:32px}.mobile-menu>a:not(.button){font-size:27px;display:flex;justify-content:space-between}.mobile-menu .button{margin-top:15px}.menu-open{overflow:hidden}
.demo-main{padding:65px var(--pad) 100px;max-width:1450px;margin:auto}.demo-back{font-size:12px;color:#aaa;display:inline-flex;gap:12px;margin-bottom:60px}.demo-header{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:45px}.demo-header h1{font-size:clamp(46px,6vw,82px);letter-spacing:-.06em;line-height:1.1;font-weight:400;margin:18px 0 0}.demo-header p{color:#999;max-width:370px;font-size:14px;line-height:1.8;margin:0}.demo-visual{background:#111;border:1px solid #292929;border-radius:6px;overflow:hidden}.demo-visual img{width:100%;max-height:670px;object-fit:contain}.demo-info{display:grid;grid-template-columns:1fr 2fr;gap:70px;padding-top:42px}.demo-info h2{font-size:25px;font-weight:400;letter-spacing:-.7px;margin-top:0}.demo-info p{color:#999;font-size:14px;line-height:1.8;margin:0}.demo-info .button{margin-top:25px}.concept-badge{display:inline-flex;gap:8px;align-items:center;border:1px solid #39323f;padding:7px 10px;border-radius:3px;color:var(--accent);font-size:10px;letter-spacing:.4px}.concept-note{font-size:11px!important;margin-top:18px!important;color:#777!important}
@media(min-width:1700px){.hero-content{padding-top:120px}.hero-media video{object-position:right 45%}}
@media(max-width:1100px){:root{--pad:40px;--nav:80px}.desktop-nav{margin-right:5px;gap:24px}.brand-unit{font-size:10px}.hero h1{font-size:86px}.hero-content{padding-top:90px}.hero-caption{font-size:8px}.caption-index{display:none}.collection-note{display:none}.systems-card{padding:19px 20px 25px}.systems-copy h3{font-size:19px}.systems-copy p{font-size:12px}.section-intro{min-width:190px}.hero-media video{width:115%;max-width:none;margin-left:-15%}}
@media(max-width:760px){:root{--pad:24px;--nav:76px}.brand-wordmark{width:134px;font-size:28px}.brand-divider{margin:0 11px;height:18px}.brand-unit{font-size:10px}.desktop-nav,.header-cta{display:none}.menu-toggle{display:block}.hero{height:calc(100svh - var(--nav));min-height:700px;max-height:950px}.hero-content{padding-top:59px;padding-bottom:290px}.hero .eyebrow{font-size:8px;letter-spacing:1.25px;margin-bottom:29px}.hero h1{font-size:clamp(64px,12vw,92px);letter-spacing:-.067em;margin-bottom:24px}.hero-description{font-size:12px;line-height:1.85}.hero-cta{font-size:11px;padding:16px 18px;min-width:225px}.hero-media{top:250px;left:0;bottom:-20px;right:-50px}.hero-media video{width:135%;height:100%;margin-left:-35%;object-position:right center;opacity:.78}.hero-shade{background:linear-gradient(180deg,#000,transparent 35%,transparent 75%,#000),linear-gradient(90deg,#0009,transparent 40%)}.hero-footer{bottom:26px;font-size:8px}.hero-caption{display:none}.motion-toggle{margin-left:auto}.work-section{padding-top:67px;padding-bottom:36px}.section-label{font-size:8px;margin-bottom:25px;letter-spacing:1.4px}.section-heading{display:block;margin-bottom:32px}.section-heading h2{font-size:42px}.section-intro{font-size:12px;margin-top:22px}.section-intro br{display:none}.section-intro{max-width:285px}.collection-toolbar{margin-bottom:25px;overflow:visible;padding:12px 0}.filters{flex-wrap:wrap;gap:4px}.filter{font-size:9px;padding:8px 10px}.collection-footer{margin-top:35px;line-height:1.6}.collection-footer>span+span{display:none}.section-two{padding-top:57px;padding-bottom:60px}.approach-heading{display:block}.approach-heading h2{font-size:43px;letter-spacing:-1.6px}.approach-heading>p{margin-top:22px;font-size:12px}.systems-grid{grid-template-columns:1fr;gap:14px}.systems-card{min-height:300px;display:grid;grid-template-columns:1.05fr 1fr;gap:15px;align-items:center;padding:25px}.systems-copy{padding-top:0}.systems-art{min-height:130px}.systems-art svg{min-width:0}.systems-copy h3{font-size:23px}.systems-copy p{font-size:13px}.inverted .systems-copy{order:2}.inverted .systems-art{padding:0}.systems-number{font-size:7px}.site-footer{padding-top:32px;grid-template-columns:1fr auto;gap:25px}.site-footer>p{grid-column:1/-1;grid-row:2;margin:0}.footer-brand .brand-wordmark{width:134px;font-size:28px}.footer-bottom{gap:20px;font-size:8px;line-height:1.6}.footer-bottom>span+span{font-size:7px;max-width:85px;text-align:right}.demo-main{padding-top:35px;padding-bottom:55px}.demo-back{margin-bottom:35px}.demo-header{display:block;margin-bottom:30px}.demo-header h1{font-size:52px}.demo-header p{margin-top:22px;font-size:13px}.demo-info{grid-template-columns:1fr;gap:12px;padding-top:30px}.demo-info p{font-size:13px}}
@media(max-width:480px){.hero-media{top:300px;right:-70px}.hero{min-height:716px}.hero h1{font-size:clamp(50px,17.2vw,69px)}.hero-description{max-width:280px}.systems-card{min-height:345px;display:flex;padding:22px 28px 30px;gap:0}.systems-art{width:100%;max-height:185px;min-height:180px}.systems-copy{width:100%}.inverted .systems-copy{order:0}.inverted .systems-art{order:1}.systems-copy h3{font-size:23px}.systems-copy p{font-size:14px;max-width:100%}.inverted{padding-bottom:12px}.systems-number{margin-bottom:10px}.footer-brand>.brand-unit{font-size:9px;margin-left:11px}.approach-heading h2{font-size:40px}.section-heading h2{font-size:40px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.motion-ready [data-hero-enter],.s2-armed [data-enter2]{opacity:1!important}.motion-ready [data-hero-line],.s2-armed [data-line2]{transform:none!important}.project-card:hover .project-image img,.button:hover{transform:none}}

/* Tint the animation and its poster while preserving the original media. */
.hero-media{isolation:isolate;background:#000}.hero-media::after{content:"";position:absolute;inset:0;background:var(--brand-orange);mix-blend-mode:multiply;pointer-events:none}


/* Compact project tiles keep their size even when the catalog has one entry. */
.project-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px 20px;align-items:start}
.project-card{min-width:0;overflow:hidden;border:1px solid #252525;border-radius:18px;background:#101010;transition:transform .25s,border-color .25s,box-shadow .25s}
.project-card:hover{transform:translateY(-4px);border-color:#55402f;box-shadow:0 14px 35px #0005}
.project-primary{display:block;padding:10px 10px 17px}
.project-image{position:relative;overflow:hidden;aspect-ratio:1;background:#181818;border-radius:12px;isolation:isolate}
.project-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s}
.project-image-contained img{object-fit:contain}
.project-image-emblem img{object-fit:cover;object-position:3% center}
.project-card:hover .project-image img{transform:scale(1.025)}
.project-index,.project-open{display:none}
.project-meta{display:flex;align-items:center;justify-content:space-between;gap:6px;margin:15px 7px 8px;color:#96938f;font-size:8px;letter-spacing:1px}
.project-status{display:inline-flex;align-items:center;gap:4px;color:#b2a69c;font-size:8px;letter-spacing:0}
.project-status::before{content:"";width:4px;height:4px;flex:none;border-radius:50%;background:var(--brand-orange)}
.project-card h3{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 7px 7px;color:#f0eeeb;font-size:18px;line-height:1.35;font-weight:500;letter-spacing:-.45px;overflow-wrap:anywhere}
.project-card h3>span{display:grid;place-items:center;flex:none;width:24px;height:24px;border-radius:50%;background:#222;color:#c0b9b1;font-size:14px;font-weight:400;transition:color .2s,background .2s}
.project-card:hover h3>span{background:var(--brand-orange);color:#111}
.project-card p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0 7px;color:#8a8885;font-size:11px;line-height:1.7;overflow-wrap:anywhere}
.project-resources{display:flex;flex-wrap:wrap;gap:6px;margin:0 17px 17px}
.project-resources a{display:inline-flex;align-items:center;gap:7px;padding:6px 8px;border:1px solid #35302b;border-radius:7px;color:#bcb2a8;font-size:10px;overflow-wrap:anywhere}
.project-resources a:hover{background:#28211b;color:#fff}
@media(max-width:1100px){.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 16px}}
@media(max-width:760px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}.project-card{border-radius:14px}.project-primary{padding:7px 7px 13px}.project-image{border-radius:9px}.project-meta{font-size:7px;letter-spacing:.65px;margin:12px 5px 7px}.project-status{font-size:7px}.project-card h3{font-size:16px;margin:0 5px 6px;letter-spacing:-.3px}.project-card h3>span{width:20px;height:20px;font-size:12px}.project-card p{font-size:10px;margin:0 5px;line-height:1.65}.project-resources{margin:0 12px 12px}.project-resources a{font-size:9px}}
@media(max-width:360px){.project-grid{gap:16px 10px}.project-card h3{font-size:14px}.project-meta{font-size:6px;letter-spacing:.35px}.project-status{font-size:6px}}
@media(prefers-reduced-motion:reduce){.project-card:hover,.project-card:hover .project-image img{transform:none}}
