@font-face{font-family:Inter;src:url(/fonts/inter-latin.woff2) format("woff2");font-style:normal;font-weight:100 900;font-display:swap}:root{font-family:Inter,Arial,sans-serif;color:#f0efed;background:#111113;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--bg: #111113;--surface: #171719;--text: #f0efed;--muted: #a7a6ad;--accent: #b79aee;--line: #303034}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:6px}::selection{color:var(--bg);background:var(--accent)}img{display:block;max-width:100%;height:auto}svg{flex-shrink:0}p,h1,h2,h3{margin:0}p{line-height:1.7}h1,h2,h3{font-weight:500;letter-spacing:-.045em;line-height:1.12}h2{font-size:clamp(32px,4vw,48px)}h3{font-size:24px}ul{padding-left:20px}.container{width:min(1200px,calc(100% - 80px));margin-inline:auto}.section{--section-space: 104px;padding-block:104px}.section.section-compact{padding-block:calc(var(--section-space) * .8)}.section-compact .section-heading{margin-bottom:40px}.section-muted{background:var(--surface);border-block:1px solid var(--line)}.eyebrow{font-size:11px;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);line-height:1.7}.eyebrow span{color:var(--accent)}.section-heading{margin-bottom:52px}.section-heading .eyebrow{margin-bottom:22px}.section-intro{font-size:16px;color:var(--muted);max-width:620px;margin-top:20px}.text-link{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-size:14px;font-weight:500;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:5px;transition:color .18s ease,text-decoration-color .18s ease}.text-link:hover{color:var(--accent);text-decoration-color:currentColor}.text-link svg{transition:transform .18s ease}.text-link:hover svg{transform:translate(2px,-2px)}.button{display:inline-flex;justify-content:center;align-items:center;gap:20px;min-height:48px;padding:12px 22px;border:1px solid #4a494e;border-radius:5px;font-size:14px;font-weight:500;transition:background .18s ease,border-color .18s ease,color .18s ease}.button:hover{background:#242327;border-color:var(--muted)}.button-primary{background:var(--accent);border-color:var(--accent);color:#17121f}.button-primary:hover{background:#c7b0f3;border-color:#c7b0f3}.button-quiet{border-color:transparent}.button-small{min-height:44px;padding:9px 16px;gap:12px}.skip-link{position:fixed;top:10px;left:20px;z-index:100;background:var(--text);color:var(--bg);padding:14px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.site-header{position:sticky;top:0;z-index:20;background:var(--bg);border-bottom:1px solid var(--line)}.nav{height:80px;display:flex;align-items:center;justify-content:space-between;gap:20px}.wordmark{font-weight:650;font-size:21px;letter-spacing:-.055em;white-space:nowrap;padding-block:10px}.wordmark span{color:var(--accent)}.nav-actions,.nav-links{display:flex;align-items:center;gap:32px}.nav-links a{font-size:13px;color:var(--muted);padding-block:14px;transition:color .18s}.nav-links a:hover{color:var(--text)}.menu-button{display:none;background:none;color:var(--text);border:1px solid var(--line);border-radius:4px;width:44px;height:44px;align-items:center;justify-content:center}.mobile-navigation{display:none}.menu-button{list-style:none;cursor:pointer}.menu-button::-webkit-details-marker{display:none}.menu-button:focus-visible{outline:2px solid var(--accent);outline-offset:6px}.hero{padding-top:94px;padding-bottom:80px;border-bottom:1px solid var(--line)}.hero-eyebrow{margin-bottom:32px}.hero-eyebrow span{margin-inline:10px}.hero h1{font-size:clamp(48px,6.2vw,84px);font-weight:500;line-height:1.035;letter-spacing:-.065em;text-wrap:balance}.hero h1 span{color:var(--accent)}.hero-bottom{display:grid;grid-template-columns:1.6fr 1fr;gap:70px;margin-top:40px;align-items:end}.hero-description{color:#bdbcc2;font-size:18px;max-width:610px;line-height:1.75}.hero-ctas{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}.hero-aside{justify-self:end}.hero-aside>p{font-size:14px;color:var(--muted);margin-bottom:25px}.hero-proof{display:flex;align-items:center;gap:14px;font-size:14px;line-height:1.5;color:var(--text);margin-bottom:24px;transition:color .18s}.hero-proof:hover{color:var(--accent)}.hero-proof>span{display:flex;flex-direction:column;gap:2px}.hero-proof .stars{font-size:12px}.hero-portrait{width:56px;height:56px;border-radius:50%;object-fit:cover;border:1px solid var(--line);flex-shrink:0}.social-links{display:flex;flex-wrap:wrap;gap:18px}.social-links .text-link{font-size:12px;color:var(--muted);gap:6px}.social-links .text-link:hover{color:var(--text)}.social-links svg{width:14px}.client-section{position:relative}.anchor-alias{position:absolute;top:0}.client-list{display:grid;gap:64px}.client-project{display:grid;grid-template-columns:.85fr 1.5fr;gap:70px;align-items:center;padding-bottom:64px;border-bottom:1px solid var(--line)}.client-project:last-child{padding-bottom:0;border:0}.client-project:nth-child(2n){grid-template-columns:1.5fr .85fr}.client-project:nth-child(2n) .client-copy{order:2}.client-copy h3{font-size:clamp(30px,3vw,40px);margin-top:24px}.project-number{margin-right:16px}.category{color:var(--accent);font-size:13px;margin-top:10px}.project-description{color:var(--muted);font-size:15px;margin-block:23px;max-width:370px}.client-copy .text-link{border-bottom:1px solid #626067}.client-preview{display:block;border:1px solid #414046;border-radius:6px;overflow:hidden;background:#202023;transition:border-color .2s ease,transform .2s ease}.client-preview:hover{border-color:var(--accent);transform:translateY(-3px)}.preview-caption{display:flex;justify-content:space-between;align-items:center;padding:12px 18px;font-size:11px;color:#c2c1c8;letter-spacing:.03em;background:#252528}.client-preview img{width:100%;aspect-ratio:1280/900;object-fit:cover;object-position:top}.capability-strip{display:flex;align-items:baseline;flex-wrap:wrap;gap:12px 32px;padding-block:22px;border-bottom:1px solid var(--line)}.capability-strip ul{display:flex;flex-wrap:wrap;gap:12px 28px;list-style:none;padding:0;margin:0;font-size:13px;color:var(--muted)}.architecture{margin-top:22px}.architecture ol{display:flex;flex-wrap:wrap;align-items:center;gap:12px 8px;list-style:none;padding:0;margin:16px 0 0}.architecture li{display:flex;align-items:center;gap:8px;font-size:12px;line-height:1.5}.architecture li>span:first-child{border:1px solid var(--line);padding:8px 10px;border-radius:3px}.flow-arrow{color:var(--accent)}.architecture-preview{margin:0;padding:28px;aspect-ratio:16 / 9;display:flex;flex-direction:column;justify-content:center;background:#202023;border-bottom:1px solid var(--line)}.technical-copy .project-role{font-size:12px}.technical-copy .image-caption{margin:0 0 14px;color:var(--muted)}.project-role span{color:var(--text);margin-right:12px}.technical-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 28px}.technical-card{border:1px solid var(--line);border-radius:6px;overflow:hidden;display:flex;flex-direction:column;background:var(--surface)}.technical-image{display:grid;grid-template-rows:minmax(0,1fr);place-items:center;min-width:0;background:#202023;border-bottom:1px solid var(--line);padding:20px;aspect-ratio:16 / 9;transition:background-color .18s ease}.technical-image img{min-height:0;min-width:0;width:100%;height:100%;object-fit:contain;object-position:center}.technical-image:hover,.technical-image:focus-visible{background-color:#29282d}.technical-image:focus-visible{outline-offset:-4px}.technical-copy{padding:28px;display:flex;flex-direction:column;flex:1}.technical-copy h3{font-size:24px;margin-top:14px}.technical-copy>p:not(.eyebrow){font-size:14px;color:var(--muted);margin-top:16px}.tags{list-style:none;display:flex;flex-wrap:wrap;gap:7px;padding:0;margin:22px 0}.tags li{font-size:11px;padding:5px 9px;border:1px solid #38373d;border-radius:3px;color:#c4c2ca}.technical-copy .text-link{margin-top:auto;align-self:flex-start}.technical-card-featured{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}.technical-card-featured>.technical-image{aspect-ratio:3 / 4;border-bottom:0}.technical-card-featured>.technical-copy{align-self:center;padding:36px}.technical-card-featured h3{font-size:30px}.project-details{grid-column:1 / -1;border-top:1px solid var(--line)}.project-details summary{padding:20px 28px;min-height:44px;cursor:pointer;font-size:14px;color:var(--text)}.project-details summary:hover{color:var(--accent)}.project-details summary:focus-visible{outline:2px solid var(--accent);outline-offset:-4px}.project-details .visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.project-details-content{padding:0 28px 28px}.project-details h4{margin:0 0 14px;font-size:19px;font-weight:500;letter-spacing:-.025em}.project-details p,.project-details li{color:var(--muted);font-size:14px;line-height:1.8;max-width:800px}.project-detail-section{border-top:1px solid var(--line);padding-top:28px;margin-top:28px}.project-gallery{display:flex;flex-wrap:wrap;gap:24px;margin-top:20px}.project-gallery figure{flex:1 1 300px;min-width:0;margin:0}.project-gallery a{display:block;padding:16px;background:#202023;border:1px solid var(--line)}.project-gallery img{width:100%;height:auto;max-height:520px;object-fit:contain}.project-gallery figcaption{font-size:12px;color:var(--muted);line-height:1.6;margin-top:10px}.additional-work{border-bottom:1px solid var(--line);padding-block:30px;display:flex;align-items:center;justify-content:space-between;gap:20px}.additional-work>p{font-size:12px;color:var(--muted)}.additional-work>div{display:flex;flex-wrap:wrap;gap:24px}.additional-work .text-link{font-size:12px}.experience-section{padding-top:16px;padding-bottom:83px;display:grid;grid-template-columns:240px minmax(0,1fr);gap:48px}.experience-row{display:grid;grid-template-columns:145px minmax(0,1fr);gap:24px;padding-block:24px;border-top:1px solid var(--line)}.experience-row:first-child{padding-top:0;border-top:0}.experience-date{font-size:12px;color:var(--muted);padding-top:4px}.experience-row h3{font-size:20px;letter-spacing:-.025em}.company{color:var(--accent);font-size:14px;margin-top:7px}.experience-row ul{margin:16px 0 0;padding-left:16px;color:var(--muted);font-size:13px;line-height:1.8}.experience-row li+li{margin-top:8px}.about-layout{display:grid;grid-template-columns:1fr 1.3fr;gap:72px}.about-portrait{width:300px;max-width:100%;border-radius:6px;border:1px solid var(--line);margin-bottom:28px}.about-facts{margin:0;padding-top:20px;border-top:1px solid var(--line);max-width:360px;display:grid;gap:16px}.about-facts dt{color:var(--muted);font-size:11px;margin-bottom:5px}.about-facts dd{margin:0;color:var(--text);font-size:13px;line-height:1.6}.about-layout h2{max-width:360px}.about-copy p{font-size:15px;color:var(--muted);margin-bottom:20px}.about-copy .about-lead{color:var(--text);font-size:23px;line-height:1.5;letter-spacing:-.025em}.about-copy .about-note{font-size:13px;border-top:1px solid var(--line);padding-top:22px;margin-bottom:0}.contact-section{padding-block:112px 90px}.contact-section h2{font-size:clamp(44px,6.5vw,82px);margin-top:28px;letter-spacing:-.055em}.contact-bottom{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-top:38px}.contact-bottom p{color:var(--muted);font-size:15px}.contact-ctas{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.contact-email{display:inline-flex;align-items:center;gap:22px;font-size:clamp(18px,2.5vw,28px);letter-spacing:-.025em;border-bottom:1px solid #65616e;margin-top:24px;padding-block:10px;transition:color .18s}.contact-email:hover{color:var(--accent)}.footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;align-items:center;padding-block:26px;color:var(--muted);font-size:11px}.footer .text-link{font-size:11px}.testimonials{overflow:hidden}.testimonials-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:40px}.testimonials-heading .eyebrow{margin-bottom:18px}.testimonials-heading h2{font-size:clamp(28px,3.2vw,40px)}.review-summary{font-size:14px;color:var(--muted);max-width:320px;text-align:right}.review-summary .text-link{min-height:0;color:var(--text);gap:6px}.review-summary .text-link svg{width:14px}.marquee{--marquee-gap: 20px;--marquee-duration: 70s;position:relative;-webkit-mask-image:linear-gradient(to right,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(to right,transparent,#000 8%,#000 92%,transparent)}.marquee-track{display:flex;gap:var(--marquee-gap);width:max-content;list-style:none;padding:0;margin:0;animation:marquee var(--marquee-duration) linear infinite}.marquee:hover .marquee-track,.marquee:focus-within .marquee-track{animation-play-state:paused}@keyframes marquee{to{transform:translate(calc(-50% - var(--marquee-gap) / 2))}}.review-card{width:340px;flex-shrink:0;display:flex;flex-direction:column;padding:24px;border:1px solid var(--line);border-radius:6px;background:var(--bg)}.stars{color:var(--accent);font-size:13px;letter-spacing:.12em}.review-card blockquote{margin:14px 0 20px;flex:1}.review-card blockquote p{font-size:14px;line-height:1.7;color:var(--text)}.review-card footer{display:flex;flex-direction:column;gap:3px;padding-top:14px;border-top:1px solid var(--line)}.review-name{font-size:13px;font-weight:500}.review-meta{font-size:12px;color:var(--muted)}@media(min-width:1440px){.hero{padding-top:112px}}@media(max-width:1023px){.container{width:calc(100% - 56px)}.nav-actions,.nav-links{gap:22px}.hero-bottom{gap:30px}.hero-aside{max-width:230px}.client-project,.client-project:nth-child(2n){gap:36px;grid-template-columns:1fr 1.4fr}.client-project:nth-child(2n){grid-template-columns:1.4fr 1fr}.client-copy h3{font-size:30px}.experience-section{grid-template-columns:1fr;gap:0}.experience-row{grid-template-columns:200px 1fr}.about-layout{gap:50px}.section{--section-space: 80px;padding-block:80px}.experience-section{padding-top:0;padding-bottom:64px}}@media(max-width:767px){html{scroll-padding-top:92px}.container{width:calc(100% - 40px)}.nav{height:70px}.wordmark{font-size:20px}.nav-actions{gap:10px}.menu-button{display:flex}.mobile-navigation{display:block}.nav-links{display:none;position:absolute;top:70px;left:0;right:0;background:var(--bg);padding:16px 20px 24px;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0}.mobile-navigation[open] .nav-links{display:flex}.nav-links a{padding:16px 0;font-size:16px}.button-small{padding:9px 12px;font-size:12px}.hero{padding-top:62px;padding-bottom:56px}.hero-eyebrow{font-size:10px;letter-spacing:.1em;margin-bottom:26px}.hero-eyebrow span{margin-inline:5px}.hero h1{font-size:clamp(43px,8.8vw,66px);letter-spacing:-.06em}.hero-bottom{display:block;margin-top:28px}.hero-description{font-size:16px;line-height:1.75}.hero-aside{max-width:none;margin-top:28px}.hero-proof{margin-bottom:18px}.hero-ctas{margin-top:24px}.hero .social-links{gap:24px}.section{--section-space: 64px;padding-block:64px}.section-compact .section-heading{margin-bottom:28px}.section-heading{margin-bottom:34px}.section-heading .eyebrow{font-size:10px;margin-bottom:16px}.section-intro{font-size:14px}.client-list{gap:40px}.client-project,.client-project:nth-child(2n){grid-template-columns:1fr;gap:26px;padding-bottom:40px}.client-project:nth-child(2n) .client-copy{order:0}.client-copy h3{font-size:32px;margin-top:16px}.project-description{max-width:520px;margin-block:16px;font-size:14px}.client-preview{border-radius:4px}.preview-caption{padding:10px 12px}.testimonials-heading{flex-direction:column;align-items:flex-start;gap:14px;margin-bottom:28px}.review-summary{text-align:left;max-width:none}.marquee{-webkit-mask-image:none;mask-image:none}.marquee-track{animation:none;width:auto;overflow-x:auto;scroll-snap-type:x mandatory;padding-inline:20px;padding-bottom:8px;scrollbar-width:none}.marquee-track::-webkit-scrollbar{display:none}.review-card{width:min(300px,82vw);scroll-snap-align:start}.review-card[aria-hidden]{display:none}.technical-grid{grid-template-columns:1fr;gap:24px}.technical-card-featured{grid-template-columns:1fr}.technical-card-featured>.technical-copy{padding:24px}.technical-card-featured h3{font-size:26px}.project-details-content{padding-inline:24px}.technical-copy{padding:24px}.technical-copy h3{font-size:23px}.additional-work{align-items:flex-start;flex-direction:column;gap:10px}.additional-work>div{flex-direction:column;gap:0}.experience-section{padding-top:0;padding-bottom:51px}.experience-row{grid-template-columns:1fr;gap:10px}.experience-row:first-child{border-top:1px solid var(--line);padding-top:24px}.about-layout{grid-template-columns:1fr;gap:28px}.about-copy .about-lead{font-size:21px}.about-portrait{width:160px;margin-bottom:20px}.contact-section h2{font-size:clamp(40px,8.5vw,60px)}.contact-bottom{align-items:flex-start;flex-direction:column;gap:30px}.contact-email{font-size:clamp(17px,4.6vw,25px);gap:12px}.footer{flex-wrap:wrap;gap:4px 16px;padding-block:20px}.footer>p:nth-child(2){display:none}.footer .text-link{margin-left:auto}}@media(max-width:359px){.hero h1{font-size:40px}.contact-section h2{font-size:36px}.nav-actions{gap:8px}}@media(min-width:1920px){.container{width:min(1320px,calc(100% - 80px))}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.client-preview:hover,.text-link:hover svg{transform:none}.marquee{-webkit-mask-image:none;mask-image:none}.marquee-track{width:auto;overflow-x:auto;padding-inline:max(20px,calc((100% - 1200px)/2));padding-bottom:8px}.review-card[aria-hidden]{display:none}}.client-contribution{font-size:14px;line-height:1.8;color:var(--muted);margin:20px 0}.client-contribution span{display:block;color:var(--text);font-size:12px;margin-bottom:4px}
