@import "https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wdth,wght@12..96,100,200..800&display=swap";:root{--bg:#090909;--panel:#141414;--line:#232323;--text:#f4f4f4;--muted:#8a8a8a;--faint:#555;--accent:#ff4b1f;--side:clamp(1rem, 5vw, 7rem);--display:"Bricolage Grotesque", system-ui, sans-serif;--text-font:"Bricolage Grotesque", system-ui, sans-serif;--project-heading-letter-spacing:-.045em}*{box-sizing:border-box}html{scroll-behavior:smooth;background:#22135a}body{background:var(--bg);color:var(--text);font-family:var(--text-font);font-optical-sizing:auto;font-variation-settings:"wdth" 100;margin:0;font-style:normal;font-weight:400;overflow-x:clip}a{color:inherit;text-decoration:none}img{width:100%;display:block}.site-shell{background:var(--bg);width:min(100%,1500px);min-height:100vh;margin:0 auto;overflow:visible}.section{padding-left:var(--side);padding-right:var(--side)}.site-header{border-bottom:1px solid var(--line);letter-spacing:.14em;text-transform:uppercase;justify-content:space-between;align-items:center;height:56px;padding:0 clamp(1rem,2vw,2rem);font-size:.65rem;font-weight:650;display:flex}.brand{white-space:nowrap;align-items:center;gap:.5rem;display:flex}.brand-mark{flex:none;width:34px;height:18px;display:inline-block;position:relative;overflow:hidden}.brand-mark img{width:40px;max-width:none;height:40px;position:absolute;top:-12px;left:-3px}.brand-name{display:inline-block}.site-nav{align-items:center;gap:clamp(1rem,3vw,3rem);display:flex}.hero{border-bottom:1px solid var(--line);min-height:680px;padding-top:clamp(4rem,8vw,8rem);padding-bottom:clamp(4rem,7vw,7rem);position:relative;overflow:hidden}.hero-mark{top:clamp(4.6rem,8.5vw,8.5rem);left:var(--side);z-index:0;color:#171717;font-family:var(--display);pointer-events:none;font-size:clamp(8rem,18vw,18rem);font-weight:800;line-height:.8;position:absolute}.hero-title-wrap{z-index:1;max-width:1100px;position:relative}.hero-title{font-family:var(--display);letter-spacing:-.04em;text-transform:uppercase;margin:0;font-size:clamp(4.8rem,12vw,13rem);font-weight:800;line-height:.82}.hero-title span{padding-bottom:.08em;display:block;overflow:hidden}.hero-title em{font-style:normal;display:block}.title-line{background:var(--accent);width:clamp(4rem,7vw,7rem);height:7px;margin-top:.5rem;margin-left:clamp(13rem,38vw,36rem)}.hero-lower{z-index:1;grid-template-columns:minmax(260px,520px) minmax(240px,1fr);align-items:start;gap:clamp(3rem,10vw,11rem);margin-top:clamp(2rem,4vw,3.5rem);display:grid;position:relative;overflow:hidden}.hero-intro{color:#f0f0f0;max-width:620px;margin:0;font-size:clamp(1rem,1.6vw,1.6rem);font-weight:400;line-height:1.42}.hero-intro strong{color:var(--accent);font-style:italic;font-weight:700}.hero-meta{min-width:0;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;grid-template-columns:repeat(2,minmax(110px,1fr));gap:clamp(2rem,5vw,5rem);font-size:.68rem;font-weight:550;display:grid}.hero-meta small,.statement small{color:var(--accent);letter-spacing:.14em;text-transform:uppercase;margin-bottom:.9rem;font-size:.65rem;font-weight:700;display:block}.hero-meta p{margin:.25rem 0}.work{border-bottom:1px solid var(--line);padding-top:clamp(5rem,9vw,9rem);padding-bottom:clamp(4rem,8vw,8rem)}.section-kicker{color:var(--muted);letter-spacing:.14em;text-transform:uppercase;justify-content:space-between;margin-bottom:clamp(4rem,8vw,8rem);font-size:.65rem;font-weight:650;display:flex}.project-list{gap:clamp(5rem,10vw,11rem);display:grid}.project-preview{grid-template-columns:minmax(0,1.25fr) minmax(260px,.9fr);align-items:center;gap:clamp(2rem,5vw,5rem);display:grid}.project-preview.is-reversed{grid-template-columns:minmax(260px,.9fr) minmax(0,1.25fr)}.project-preview.is-reversed .project-image-link{order:2}.project-preview.is-reversed .project-copy{order:1}.project-image-link{background:var(--panel);border:1px solid #292929;min-height:clamp(250px,32vw,430px);overflow:hidden}.project-image-link img,.project-image-link video{object-fit:cover;width:100%;height:100%;min-height:clamp(250px,32vw,430px)}.project-copy{max-width:420px}.project-kicker{color:var(--accent);letter-spacing:.1em;text-transform:uppercase;margin:0 0 .8rem;font-size:.65rem;font-weight:700}.project-copy h2{font-family:var(--display);letter-spacing:-.06em;text-transform:uppercase;margin:0;font-size:clamp(2.4rem,4vw,4.8rem);font-weight:800;line-height:.88}.project-copy p:not(.project-kicker){max-width:34rem;color:var(--muted);margin:1rem 0 1.5rem;font-size:1rem;font-weight:400;line-height:1.55}.small-button{letter-spacing:.14em;text-transform:uppercase;border:1px solid #383838;padding:.75rem 1rem;font-size:.65rem;font-weight:700;display:inline-flex}@media (width>=851px){.project-preview.frontend-feature{grid-template-columns:minmax(260px,.9fr) minmax(0,1.25fr)}.project-preview.frontend-feature .project-copy{order:initial;grid-area:1/1}.project-preview.frontend-feature .project-image-link{order:initial;grid-area:1/2}}.statement{border-bottom:1px solid var(--line);grid-template-columns:.35fr 1fr;gap:3rem;padding-top:clamp(5rem,8vw,8rem);padding-bottom:clamp(5rem,8vw,8rem);display:grid}.statement p{max-width:900px;font-family:var(--display);letter-spacing:-.06em;text-transform:uppercase;margin:0;font-size:clamp(2.4rem,5vw,6rem);font-weight:800;line-height:.92}.statement strong{color:var(--accent);font-style:italic}.contact-cta{padding:clamp(5rem, 9vw, 9rem) var(--side);background:var(--accent);color:#050505}.contact-cta p{letter-spacing:.1em;text-transform:uppercase;margin:0 0 1.5rem;font-weight:750}.contact-cta h2{font-family:var(--display);letter-spacing:-.04em;text-transform:uppercase;margin:0;font-size:clamp(4.8rem,12vw,13rem);font-weight:800;line-height:.82}.contact-cta a{letter-spacing:.08em;text-transform:uppercase;border-bottom:3px solid #050505;margin-top:2.5rem;padding-bottom:.35rem;font-size:.8rem;font-weight:750;display:inline-block}.site-footer{border-top:1px solid var(--line);min-height:56px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:2rem;padding:0 clamp(1rem,2vw,2rem);font-size:.65rem;font-weight:600;display:flex}.site-footer nav{gap:2rem;display:flex}.back-link{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-size:.7rem;font-weight:650;display:inline-block}.project-title-mask{overflow:hidden}.case-label{color:var(--accent);letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:.68rem;font-weight:750;line-height:1}.next-project{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:1fr auto;align-items:end;gap:2rem;padding-top:clamp(3rem,5vw,4.5rem);padding-bottom:clamp(3rem,5vw,4.5rem);display:grid}.next-project .case-label{color:var(--muted);grid-column:1/-1}.next-project span,.next-project b{font-family:var(--display);text-transform:uppercase;font-size:clamp(4rem,10vw,12rem);font-weight:800;line-height:.86}.next-project span{letter-spacing:var(--project-heading-letter-spacing)}.previous-project{border-top:1px solid var(--line);color:var(--muted);grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:.85rem;padding-top:1.35rem;padding-bottom:1.35rem;display:grid}.previous-project+.next-project{border-top:0}.previous-project b{color:var(--accent);font-size:1.25rem;transition:transform .3s}.previous-project strong{color:var(--text);letter-spacing:.08em;text-align:right;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:.82rem;overflow:hidden}.previous-project:hover b{transform:translate(-.35rem)}.project-case-intro{border-bottom:1px solid var(--line);padding-top:clamp(1.5rem,2.5vw,2.25rem);padding-bottom:clamp(3rem,5vw,4.5rem)}.project-case-intro h1,.showcase-intro h1{max-width:1100px;font-family:var(--display);letter-spacing:var(--project-heading-letter-spacing);text-transform:uppercase;margin:0;font-size:clamp(3.4rem,7.8vw,8.8rem);font-weight:800;line-height:.92}.project-case-intro .back-link{margin-bottom:clamp(1.25rem,2vw,1.75rem)}.project-case-intro .back-link+.project-hero-image-wrap{margin-top:0;margin-bottom:clamp(2.5rem,5vw,4.5rem)}.project-case-intro .project-kicker{margin-bottom:1.5rem}.project-case-intro-text{color:#d8d8d8;max-width:900px;margin:2rem 0 0;font-size:clamp(1.15rem,2vw,1.7rem);line-height:1.4}.project-wip{border:1px solid var(--accent);width:fit-content;color:var(--accent);letter-spacing:.12em;text-transform:uppercase;margin:1.5rem 0 0;padding:.7rem .9rem;font-size:.68rem;font-weight:800;line-height:1.3}.project-hero-image-wrap{background:var(--panel);border:1px solid #292929;width:fit-content;max-width:100%;margin:clamp(2rem,4vw,4rem) auto 0;overflow:hidden}.project-case-intro .project-hero-image-wrap img,.project-case-intro .project-hero-image-wrap video{max-width:100%;max-height:calc(100svh - 11rem);display:block;aspect-ratio:auto!important;object-fit:contain!important;width:auto!important;height:auto!important}.project-facts{border-top:1px solid var(--line);grid-template-columns:repeat(6,1fr);gap:1.25rem;margin:clamp(2rem,4vw,4rem) 0 0;padding:1.5rem 0 0;display:grid}.project-facts div{min-width:0}.project-facts dt{color:var(--faint);letter-spacing:.14em;text-transform:uppercase;margin:0 0 .55rem;font-size:.68rem;font-weight:750;line-height:1}.project-facts dd{color:#f2f2f2;margin:0;font-size:.92rem;line-height:1.45}.project-case-intro>.project-kicker,.project-case-intro>.project-title-mask,.project-case-intro>.project-case-intro-text,.project-case-intro>.project-wip,.project-case-intro>.project-facts{margin-right:var(--project-intro-inset,0);margin-left:var(--project-intro-inset,0)}.site-shell>.project-section,.site-shell>.previous-project,.site-shell>.next-project{padding-right:var(--project-align-side,var(--side));padding-left:var(--project-align-side,var(--side))}.project-section{border-top:1px solid var(--line);grid-template-columns:340px minmax(0,1fr);gap:clamp(2rem,4vw,4rem);padding-top:clamp(3rem,5vw,4.5rem);padding-bottom:clamp(3rem,5vw,4.5rem);display:grid;overflow:visible}.project-section__label{align-self:stretch;min-width:0}.project-section__sticky-copy{max-width:320px;position:sticky;top:5rem}.project-section__sticky-copy p{color:var(--accent);letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:.68rem;font-weight:750;line-height:1}.project-section__sticky-copy h2{color:var(--text);font-family:var(--display);letter-spacing:-.055em;text-transform:uppercase;margin:.85rem 0 0;font-size:clamp(1.8rem,2.7vw,3.1rem);font-weight:800;line-height:.98}.project-section__sticky-copy span{color:#d8d8d8;margin-top:1rem;font-size:.95rem;font-weight:400;line-height:1.65;display:block}.project-section__content{min-width:0}.project-figure{background:var(--panel);border:1px solid #292929;margin:1.5rem 0 0;overflow:hidden}.project-figure:first-child{margin-top:0}.project-figure img{aspect-ratio:16/9;object-fit:cover;min-height:20rem}.project-figure figcaption,.image-grid figcaption{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;border-top:1px solid #292929;padding:.7rem .9rem;font-size:.65rem;font-weight:650;line-height:1.35}.image-grid{gap:.75rem;display:grid}.image-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}.image-grid figure{background:var(--panel);border:1px solid #292929;margin:0;overflow:hidden}.image-grid img{aspect-ratio:4/5;object-fit:cover}@media (width<=1050px){.hero-lower{grid-template-columns:minmax(260px,560px);gap:3rem}.hero-meta{max-width:520px}.project-facts{grid-template-columns:repeat(2,1fr)}.project-section{grid-template-columns:1fr}.project-section__sticky-copy{max-width:760px;position:relative;top:auto}}@media (width<=850px){.site-nav{gap:1rem}.hero{min-height:auto;padding-bottom:5rem}.hero-lower,.project-preview,.project-preview.is-reversed,.statement{grid-template-columns:1fr}.project-preview.is-reversed .project-image-link,.project-preview.is-reversed .project-copy{order:initial}.hero-meta{grid-template-columns:1fr 1fr}.title-line{margin-left:0}.site-footer{flex-direction:column;align-items:flex-start;padding-top:1.5rem;padding-bottom:1.5rem}.project-facts,.image-grid--two{grid-template-columns:1fr}}@media (width<=520px){:root{--side:1rem}.site-header{font-size:.55rem}.brand{max-width:150px;overflow:hidden}.site-nav{gap:.55rem}.hero-title{letter-spacing:-.05em;font-size:clamp(4rem,21vw,7rem);line-height:.92}.hero-intro{font-size:1rem}.contact-cta h2{font-size:clamp(4rem,20vw,7rem)}.next-project{grid-template-columns:1fr}.next-project span,.next-project b{font-size:clamp(3rem,18vw,6rem)}.project-case-intro h1,.showcase-intro h1{font-size:clamp(3rem,16vw,5.4rem)}.project-section__sticky-copy h2{font-size:clamp(2rem,10vw,3.4rem)}.project-figure img{min-height:16rem}}
