:root{--bg: #0a0a0a;--bg-2: #111111;--surface: #151515;--fg: #f5f5f5;--fg-80: rgba(245, 245, 245, .8);--fg-60: rgba(245, 245, 245, .6);--fg-40: rgba(245, 245, 245, .4);--fg-12: rgba(245, 245, 245, .12);--line: rgba(245, 245, 245, .12);--line-strong: rgba(245, 245, 245, .3);--card: #f5f5f5;--card-fg: #0a0a0a;--card-muted: #5c5c5c;--card-line: #e5e5e5;--accent: #f5f5f5;--accent-hover: #d4d4d4;--on-accent: #0a0a0a;--ghost-bg: rgba(20, 20, 20, .55);--block-1: #3d3d3d;--block-2: #262626;--block-3: #171717;--radius: 3px;--font-sans: "Instrument Sans", ui-sans-serif, system-ui, -apple-system, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--ease: cubic-bezier(.16, 1, .3, 1);--t: .25s var(--ease);--maxw: 1200px;--px: 1.25rem}@media (min-width: 768px){:root{--px: 2.5rem}}[data-theme=light]{--bg: #fafafa;--bg-2: #efefef;--surface: #ffffff;--fg: #0a0a0a;--fg-80: rgba(10, 10, 10, .82);--fg-60: rgba(10, 10, 10, .64);--fg-40: rgba(10, 10, 10, .45);--fg-12: rgba(10, 10, 10, .1);--line: #e5e5e5;--line-strong: rgba(10, 10, 10, .28);--card: #ffffff;--accent: #0a0a0a;--accent-hover: #262626;--on-accent: #fafafa;--ghost-bg: rgba(255, 255, 255, .6);--block-1: #ffffff;--block-2: #e4e4e4;--block-3: #cbcbcb}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;color-scheme:dark}[data-theme=light]{color-scheme:light}body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font-sans);font-size:1rem;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color var(--t),color var(--t)}h1,h2,h3,p{margin:0}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}ul,ol{margin:0;padding:0;list-style:none}:focus-visible{outline:2px solid var(--fg);outline-offset:3px;border-radius:var(--radius)}::selection{background:var(--accent);color:var(--on-accent)}.page{position:relative;min-height:100dvh;overflow-x:clip}.container{max-width:var(--maxw);margin:0 auto;padding:0 var(--px)}.grain{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}[data-theme=light] .grain{opacity:.03}.h2{font-size:clamp(2.25rem,4.6vw,3.5rem);font-weight:500;line-height:1;letter-spacing:-.035em}.lede{font-size:clamp(1.05rem,1.5vw,1.3rem);line-height:1.4;color:var(--fg-60);max-width:40ch}.mono{font-family:var(--font-mono);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase}.mono-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .5rem;font-family:var(--font-mono);font-size:.72rem;font-weight:400;letter-spacing:.14em;text-transform:uppercase;line-height:1.4;color:var(--fg-80);background:var(--fg-12);border:1px solid var(--line);border-radius:var(--radius);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:background-color var(--t),border-color var(--t)}a.mono-chip:hover{background:#f5f5f533;border-color:var(--line-strong)}[data-theme=light] a.mono-chip:hover{background:#0a0a0a24}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;padding:.95rem 1.6rem;font-family:var(--font-sans);font-size:1.05rem;font-weight:500;line-height:1;border-radius:var(--radius);border:1px solid transparent;cursor:pointer;white-space:nowrap;transition:background-color var(--t),border-color var(--t),color var(--t),transform var(--t)}.btn:active{transform:translateY(1px)}.btn svg{transition:transform var(--t)}.btn:hover svg{transform:translate(2px)}.btn-primary{background:var(--accent);color:var(--on-accent)}.btn-primary:hover{background:var(--accent-hover)}.btn-ghost{background:var(--ghost-bg);color:var(--fg);border-color:var(--line-strong);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.btn-ghost:hover{border-color:var(--fg-60)}.btn-sm{padding:.6rem 1rem;font-size:.92rem}.nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:1rem var(--px);background:#0a0a0ac7;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(16px) saturate(1.2);backdrop-filter:blur(16px) saturate(1.2)}[data-theme=light] .nav{background:#fafafad1}.wordmark{display:inline-flex;align-items:center;gap:.6rem;color:var(--fg)}.wordmark-icon{width:28px;height:28px}.wordmark-text{font-size:1.08rem;font-weight:600;line-height:.95;letter-spacing:-.03em}.nav-left{display:flex;align-items:center;gap:1rem}.nav-slogan{display:none;padding-left:1rem;border-left:1px solid var(--line-strong);font-size:.72rem;line-height:1.6;color:var(--fg-60);white-space:nowrap}@media (min-width: 560px) and (max-width: 819px),(min-width: 1040px){.nav-slogan{display:inline-block}}.nav-right{display:flex;align-items:center;gap:.5rem}.nav-links{display:none;gap:.25rem;margin-right:.5rem}@media (min-width: 820px){.nav-links{display:flex}}.nav-link{padding:.5rem .75rem;font-family:var(--font-mono);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-60);transition:color var(--t)}.nav-link:hover{color:var(--fg)}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;color:var(--fg-80);background:transparent;border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;transition:color var(--t),border-color var(--t)}.theme-toggle:hover{color:var(--fg);border-color:var(--line-strong)}.hero{position:relative;min-height:100dvh;display:flex;align-items:flex-end;justify-content:center;padding:7rem var(--px) clamp(4rem,10vh,7rem);overflow:hidden;isolation:isolate;background:radial-gradient(ellipse 70% 55% at 50% 42%,rgba(163,163,163,.16),transparent 70%),radial-gradient(ellipse 120% 60% at 50% 100%,rgba(82,82,82,.28),transparent 70%),var(--bg)}[data-theme=light] .hero{background:radial-gradient(ellipse 70% 55% at 50% 42%,rgba(163,163,163,.3),transparent 70%),radial-gradient(ellipse 120% 60% at 50% 100%,rgba(190,190,190,.25),transparent 70%),var(--bg)}.hero-shade{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:linear-gradient(to bottom,transparent 40%,rgba(10,10,10,.75) 85%,var(--bg))}[data-theme=light] .hero-shade{background:linear-gradient(to bottom,transparent 40%,rgba(250,250,250,.7) 85%,var(--bg))}.hero-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;max-width:62rem}.hero-mark{width:clamp(44px,5vw,64px);height:clamp(44px,5vw,64px);margin-bottom:clamp(1.5rem,3vw,2.25rem);color:var(--fg)}.hero-title{font-size:clamp(3rem,9.5vw,7.5rem);font-weight:500;line-height:.95;letter-spacing:-.045em;text-wrap:balance}.hero-sub{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.5rem;margin-top:1.75rem;font-size:clamp(1.05rem,1.8vw,1.35rem);color:var(--fg-80)}.hero-sub span{margin-right:.15rem}.hero-sub-2{margin-top:.6rem;color:var(--fg-60);max-width:50ch;text-wrap:balance}.hero-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:2.5rem}.block-field{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-2;overflow:hidden;pointer-events:none;contain:strict;--field-scale: 1}.block{--size: calc(var(--s) * var(--field-scale));position:absolute;width:var(--size);height:var(--size);opacity:var(--o);perspective:700px}.block div{position:absolute;top:0;right:0;bottom:0;left:0;transform-style:preserve-3d}.sway-x{animation:sway-x var(--sway-x) ease-in-out var(--sway-x-delay) infinite alternate}.sway-y{animation:sway-y var(--sway-y) ease-in-out var(--sway-y-delay) infinite alternate}@keyframes sway-x{0%{transform:translate(-35%)}to{transform:translate(35%)}}@keyframes sway-y{0%{transform:translateY(-25%)}to{transform:translateY(25%)}}.gimbal{transform:rotateY(var(--yaw)) rotateX(var(--pitch))}.spin{animation:spin var(--tumble) linear var(--tumble-delay) infinite}.gimbal-inv{transform:rotateX(calc(var(--pitch) * -1)) rotateY(calc(var(--yaw) * -1))}.attitude{transform:rotateX(var(--rx)) rotateY(var(--ry))}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.cube{position:absolute;top:0;right:0;bottom:0;left:0;transform-style:preserve-3d}.cube-a{transform:translate3d(calc(var(--size) / -2),calc(var(--size) / -2),calc(var(--size) / -2))}.cube-b{transform:translate3d(calc(var(--size) / 2),calc(var(--size) / 2),calc(var(--size) / 2))}.block-face{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--block-2);backface-visibility:hidden}.block-front{transform:translateZ(calc(var(--size) / 2))}.block-back{transform:rotateY(180deg) translateZ(calc(var(--size) / 2));background:var(--block-3)}.block-right{transform:rotateY(90deg) translateZ(calc(var(--size) / 2));background:var(--block-3)}.block-left{transform:rotateY(-90deg) translateZ(calc(var(--size) / 2))}.block-top{transform:rotateX(90deg) translateZ(calc(var(--size) / 2));background:var(--block-1)}.block-bottom{transform:rotateX(-90deg) translateZ(calc(var(--size) / 2));background:var(--block-3)}.hero[data-paused=true] .sway-x,.hero[data-paused=true] .sway-y,.hero[data-paused=true] .spin{animation-play-state:paused}@media (max-width: 640px){.block-field{--field-scale: .6}}.section{padding:clamp(5rem,12vw,9rem) 0}.section-head{display:flex;flex-direction:column;gap:1.25rem;margin-bottom:clamp(2.5rem,6vw,4.5rem)}@media (min-width: 900px){.section-head-split{flex-direction:row;justify-content:space-between;align-items:flex-end}}.caps{display:grid;gap:2.5rem}@media (min-width: 900px){.caps{grid-template-columns:minmax(260px,.42fr) 1fr;gap:3.5rem}}.caps-side{display:flex;flex-direction:column;gap:2.5rem}.caps-tabs{display:flex;flex-direction:column;align-items:flex-start}@media (max-width: 899px){.caps-tabs{flex-direction:row;flex-wrap:wrap;gap:.25rem 1rem}}.caps-tab{display:inline-flex;align-items:center;gap:0;padding:.15rem 0;font-family:var(--font-sans);font-size:clamp(1.4rem,2.2vw,1.75rem);font-weight:400;letter-spacing:-.02em;color:var(--fg-40);background:none;border:0;cursor:pointer;transition:color var(--t),gap var(--t)}.caps-tab:hover{color:var(--fg-80)}.caps-tab[aria-selected=true]{color:var(--fg);gap:.85rem}.caps-tab-arrow{width:0;opacity:0;transition:width var(--t),opacity var(--t)}.caps-tab[aria-selected=true] .caps-tab-arrow{width:22px;opacity:1}.caps-panel{display:flex;flex-direction:column;gap:1.75rem}.caps-body{font-size:clamp(1.35rem,2.2vw,1.75rem);line-height:1.3;letter-spacing:-.015em;color:var(--fg-80);max-width:34ch;min-height:3.9em}.caps-deliverables{border-top:1px solid var(--line)}.caps-deliverable{display:flex;align-items:baseline;gap:1.25rem;padding:1.1rem 0;font-size:clamp(1.05rem,1.4vw,1.2rem);border-bottom:1px solid var(--line)}.caps-deliverable-n{color:var(--fg-40)}.caps-pager{display:flex;align-items:center;gap:1rem}.pager-count{min-width:3.5rem;text-align:center;color:var(--fg-80)}.pager-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;color:var(--fg-80);background:var(--fg-12);border:0;border-radius:999px;cursor:pointer;transition:background-color var(--t),color var(--t)}.pager-btn:hover{color:var(--fg);background:#f5f5f533}[data-theme=light] .pager-btn:hover{background:#0a0a0a29}.fade-in{animation:fadeIn .5s var(--ease)}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.work-stack{display:flex;flex-direction:column;gap:clamp(2rem,5vw,3.5rem)}.work-field{position:relative;padding:clamp(2.5rem,6vw,4rem) 0}.work-field:before{content:"";position:absolute;inset:0 clamp(0rem,4vw,3.5rem);z-index:0;border-radius:var(--radius);background:repeating-linear-gradient(115deg,rgba(163,163,163,.18) 0 2px,transparent 2px 9px),repeating-linear-gradient(115deg,rgba(220,220,220,.08) 0 1px,transparent 1px 23px),radial-gradient(ellipse 60% 80% at 75% 70%,rgba(163,163,163,.45),transparent 70%),radial-gradient(ellipse 50% 60% at 20% 20%,rgba(82,82,82,.5),transparent 70%),var(--bg-2);-webkit-mask-image:linear-gradient(to right,transparent,#000 15%,#000 85%,transparent);mask-image:linear-gradient(to right,transparent,#000 15%,#000 85%,transparent)}[data-theme=light] .work-field:before{background:repeating-linear-gradient(115deg,rgba(82,82,82,.16) 0 2px,transparent 2px 9px),radial-gradient(ellipse 60% 80% at 75% 70%,rgba(163,163,163,.5),transparent 70%),radial-gradient(ellipse 50% 60% at 20% 20%,rgba(190,190,190,.45),transparent 70%),var(--bg-2)}.work-card{position:relative;z-index:1;display:flex;flex-direction:column;gap:2.25rem;padding:clamp(1.25rem,2.5vw,1.75rem);color:var(--card-fg);background:var(--card);border-radius:var(--radius);box-shadow:0 1px 1px #00000040,0 10px 30px -8px #00000073,0 0 60px #f5f5f50f}[data-theme=light] .work-card{border:1px solid var(--card-line);box-shadow:0 10px 30px -12px #0a0a0a40}.work-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.work-title{font-size:clamp(2.5rem,5.5vw,4rem);font-weight:500;line-height:1;letter-spacing:-.045em}.work-icon{width:52px;height:52px;border-radius:var(--radius);border:1px solid var(--card-line);object-fit:cover}.work-card-mid{display:grid;gap:1.5rem}@media (min-width: 800px){.work-card-mid{grid-template-columns:.55fr 1fr;gap:2rem}}.work-tags{display:flex;flex-direction:column;gap:.3rem}.work-tags li{font-family:var(--font-mono);font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;color:var(--card-muted)}.work-body{font-size:clamp(1.1rem,1.7vw,1.35rem);line-height:1.35;letter-spacing:-.01em;text-indent:4em}.work-card-foot{display:flex;justify-content:flex-end}.work-card .btn-primary{background:#0a0a0a;color:#f5f5f5}.work-card .btn-primary:hover{background:#262626}.steps{display:grid;border-top:1px solid var(--line)}@media (min-width: 800px){.steps{grid-template-columns:repeat(3,1fr)}}.step{display:flex;flex-direction:column;gap:.9rem;padding:2rem 0;border-bottom:1px solid var(--line)}@media (min-width: 800px){.step{padding:2rem 2rem 2.5rem;border-bottom:0}.step+.step{border-left:1px solid var(--line)}.step:first-child{padding-left:0}}.step-n{color:var(--fg-40)}.step-title{font-size:clamp(1.75rem,3vw,2.25rem);font-weight:500;letter-spacing:-.035em;line-height:1}.step-body{color:var(--fg-60);max-width:32ch}.role-rows{border-top:1px solid var(--line)}.role-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:1rem 2rem;padding:1.75rem 0;border-bottom:1px solid var(--line);transition:padding var(--t)}@media (min-width: 800px){.role-row{grid-template-columns:1fr auto auto}}.role-row-title{font-size:clamp(1.5rem,2.6vw,2rem);font-weight:500;letter-spacing:-.03em;line-height:1.1}.role-row-tags{display:none;gap:.4rem}@media (min-width: 800px){.role-row-tags{display:flex}}.role-row-arrow{color:var(--fg-60);transition:transform var(--t),color var(--t)}.role-row:hover .role-row-arrow{color:var(--fg);transform:translate(4px)}.role-row:hover{padding-left:.5rem}.page-hero{padding:clamp(9rem,18vw,13rem) 0 clamp(3rem,6vw,4.5rem)}.page-hero-inner{display:flex;flex-direction:column;gap:1.5rem}.eyebrow{color:var(--fg-60)}.page-title{font-size:clamp(3rem,8vw,6.5rem);font-weight:500;line-height:.95;letter-spacing:-.045em}.section-tight{padding-top:0;padding-bottom:clamp(1rem,3vw,2rem)}.job-title{font-size:clamp(2rem,4.4vw,3.25rem)}.job-cols{display:grid;gap:2rem;padding-top:1.75rem;border-top:1px solid var(--card-line)}@media (min-width: 800px){.job-cols{grid-template-columns:1fr 1fr;gap:3rem}}.job-h{margin:0 0 .9rem;font-family:var(--font-mono);font-size:.78rem;font-weight:400;letter-spacing:.12em;text-transform:uppercase;color:var(--card-muted)}.job-h:not(:first-child){margin-top:1.75rem}.job-list{display:flex;flex-direction:column;gap:.7rem}.job-list li{position:relative;padding-left:1.25rem;line-height:1.45}.job-list li:before{content:"";position:absolute;left:0;top:.55em;width:6px;height:6px;background:var(--card-fg)}.job-chips{display:flex;flex-wrap:wrap;gap:.4rem}.job-chips li{padding:.2rem .5rem;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--card-muted);border:1px solid var(--card-line);border-radius:var(--radius)}.job-foot{justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.job-apply-note{color:var(--card-muted);max-width:40ch}.careers-open{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.5rem;margin-top:clamp(3rem,6vw,4.5rem);padding-top:2rem;border-top:1px solid var(--line)}.cta{position:relative;padding:clamp(6rem,14vw,11rem) var(--px);text-align:center;background:radial-gradient(ellipse 60% 70% at 50% 100%,rgba(163,163,163,.18),transparent 70%),var(--bg)}.cta-inner{display:flex;flex-direction:column;align-items:center}.cta-mark{width:56px;height:56px;margin-bottom:2rem;color:var(--fg-80)}.cta-lede{margin-top:1.5rem;max-width:46ch}.cta-title{font-size:clamp(2.75rem,7vw,5.5rem);font-weight:500;line-height:.98;letter-spacing:-.045em}.footer{padding:4rem var(--px) 2.5rem;border-top:1px solid var(--line)}.footer-top{display:flex;flex-direction:column;gap:3rem;max-width:var(--maxw);margin:0 auto}@media (min-width: 800px){.footer-top{flex-direction:row;justify-content:space-between}}.footer-brand-block{display:flex;flex-direction:column;gap:1rem;align-self:flex-start}.footer-brand{align-self:flex-start}.footer-slogan{font-size:clamp(1.25rem,2vw,1.5rem);font-weight:500;letter-spacing:-.03em;color:var(--fg-80)}.footer-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2.5rem 3rem}@media (min-width: 600px){.footer-cols{grid-template-columns:repeat(3,minmax(140px,auto))}}.footer-col{display:flex;flex-direction:column;gap:.4rem}.footer-col-title{margin-bottom:.5rem;font-size:.95rem;font-weight:500;color:var(--fg)}.footer-link{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-60);transition:color var(--t)}.footer-link:hover{color:var(--fg)}.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;max-width:var(--maxw);margin:4rem auto 0;padding-top:1.5rem;border-top:1px solid var(--line);color:var(--fg-40)}.footer-bottom .mono{font-size:.7rem}.reveal{opacity:0;transform:translateY(22px);transition:opacity .8s var(--ease),transform .8s var(--ease)}.reveal.is-visible{opacity:1;transform:none}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.sway-x,.sway-y,.spin{animation:none}.reveal{opacity:1;transform:none}}
