/* Falling Studio — shared design system */
:root{--green:#4E7C5B;--cream:#EADECF;--black:#050505;--white:#fff;--g12:rgba(78,124,91,.12);--g22:rgba(78,124,91,.22);--c45:rgba(234,222,207,.45);--b08:rgba(5,5,5,.08);--b16:rgba(5,5,5,.16);--w72:rgba(255,255,255,.72);--pad:clamp(1rem,2.5vw,2.5rem);--head:76px;--ease:cubic-bezier(.22,1,.36,1)}
*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--black);overflow-x:hidden}body{margin:0;color:var(--black);background:var(--cream);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;line-height:1.4;-webkit-font-smoothing:antialiased;overflow-x:hidden}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{color:inherit;font:inherit}button,select{cursor:pointer}img,svg{display:block;max-width:100%}h1,h2,h3,p,ul,ol,figure,blockquote{margin:0}ul,ol{padding:0;list-style:none}::selection{color:var(--cream);background:var(--green)}:focus-visible{outline:2px solid var(--green);outline-offset:4px}.skip-link{position:fixed;z-index:200;top:.5rem;left:.5rem;padding:.7rem 1rem;color:var(--cream);background:var(--black);transform:translateY(-150%)}.skip-link:focus{transform:none}.eyebrow{font-size:.68rem;font-weight:800;line-height:1;letter-spacing:.08em;text-transform:uppercase}.section-dark{color:var(--cream);background:var(--black)}.section-cream{color:var(--black);background:var(--cream)}.section-green{color:var(--white);background:var(--green)}.brand-mark{display:block;width:21px;height:28px;background:currentColor;-webkit-mask:url("/assets/logo.svg") center/contain no-repeat;mask:url("/assets/logo.svg") center/contain no-repeat}.site-header{--nav-bg:var(--cream);--nav-fg:var(--black);--nav-button-bg:var(--black);--nav-button-fg:var(--cream);--nav-dot:var(--green);position:fixed;z-index:120;top:0;left:0;right:0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:var(--head);padding:0 var(--pad);color:var(--nav-fg);background:var(--nav-bg);border-bottom:1px solid currentColor;transition:color .5s var(--ease),background-color .5s var(--ease),border-color .5s var(--ease);will-change:color,background-color}.site-header[data-theme="dark"]{--nav-bg:var(--black);--nav-fg:var(--cream);--nav-button-bg:var(--cream);--nav-button-fg:var(--black);--nav-dot:var(--green)}.site-header[data-theme="green"]{--nav-bg:var(--green);--nav-fg:var(--white);--nav-button-bg:var(--cream);--nav-button-fg:var(--black);--nav-dot:var(--cream)}.site-header[data-theme="white"]{--nav-bg:var(--white);--nav-fg:var(--black);--nav-button-bg:var(--black);--nav-button-fg:var(--white);--nav-dot:var(--green)}.site-header.is-menu{color:var(--cream);background:transparent;border-color:var(--c45);will-change:auto}.brand{display:flex;align-items:center;gap:.7rem;width:max-content;font-size:.7rem;font-weight:850;line-height:.9;text-transform:uppercase}.header-status{display:flex;align-items:center;gap:.5rem;font-size:.64rem;font-weight:700;text-transform:uppercase}.header-status i{width:7px;height:7px;background:var(--nav-dot);border-radius:50%;transition:background-color .5s var(--ease)}.menu-toggle{justify-self:end;display:flex;align-items:center;gap:.75rem;min-height:42px;padding:.5rem .7rem .5rem 1rem;color:var(--nav-button-fg);background:var(--nav-button-bg);border:1px solid var(--nav-button-bg);border-radius:999px;font-size:.68rem;font-weight:800;text-transform:uppercase;transition:color .5s var(--ease),background-color .5s var(--ease),border-color .5s var(--ease),transform .3s var(--ease)}.menu-toggle:hover{transform:translateY(-2px)}.site-header.is-menu .menu-toggle{color:var(--black);background:var(--cream);border-color:var(--cream);transform:none}.menu-toggle b{position:relative;width:21px;height:21px;border:1px solid currentColor;border-radius:50%}.menu-toggle i{position:absolute;left:5px;width:9px;height:1px;background:currentColor;transition:.35s var(--ease)}.menu-toggle i:first-child{top:7px}.menu-toggle i:last-child{top:12px}.menu-toggle[aria-expanded=true] i:first-child{top:10px;transform:rotate(45deg)}.menu-toggle[aria-expanded=true] i:last-child{top:10px;transform:rotate(-45deg)}
.full-menu{position:fixed;z-index:110;inset:0;display:grid;grid-template-columns:1.35fr .65fr;grid-template-rows:1fr auto;padding:calc(var(--head) + 2rem) var(--pad) 1rem;color:var(--cream);background:var(--black);visibility:hidden;clip-path:inset(0 0 100% 0);transition:clip-path .75s var(--ease),visibility .75s}.full-menu.is-open{visibility:visible;clip-path:inset(0)}.menu-grid-bg{position:absolute;inset:0;background-image:linear-gradient(to right,var(--c45) 1px,transparent 1px),linear-gradient(to bottom,var(--c45) 1px,transparent 1px);background-size:12.5% 100%,100% 25%;opacity:.18;pointer-events:none}.menu-main,.menu-aside,.menu-foot,.menu-fall{position:relative;z-index:1}.menu-main{display:flex;flex-direction:column}.menu-links{display:flex;flex:1;flex-direction:column;justify-content:center;max-width:760px}.menu-links a{display:grid;grid-template-columns:3rem 1fr;align-items:start;padding:.2rem 0;color:var(--c45);transition:color .25s,transform .4s var(--ease)}.menu-links a:hover,.menu-links a.is-current{color:var(--cream);transform:translateX(1rem)}.menu-links a span{padding-top:.8rem;font-size:.62rem;font-weight:800}.menu-links strong{font-size:clamp(3.2rem,7vw,7.5rem);font-weight:780;line-height:.76;letter-spacing:-.08em;text-transform:uppercase}.menu-links a:hover strong{color:var(--green)}.menu-aside{display:grid;grid-template-columns:1fr 1fr;align-content:center;gap:5rem 2rem;padding-left:3rem;border-left:1px solid var(--c45)}.menu-aside div{display:flex;flex-direction:column;gap:.8rem}.menu-aside p:not(.eyebrow),.menu-aside a{font-size:clamp(.85rem,1.2vw,1.1rem)}.menu-fall{position:absolute;right:8%;top:15%;display:flex;flex-direction:column;align-items:center;pointer-events:none;transform:translateY(calc(var(--menu-index,0)*10vh));transition:transform .6s var(--ease)}.menu-fall .brand-mark{width:42px;height:55px;color:var(--green)}.menu-fall i{width:1px;height:25vh;background:var(--green)}.menu-foot{grid-column:1/-1;display:flex;justify-content:space-between;padding-top:1rem;border-top:1px solid var(--c45);font-size:.62rem;text-transform:uppercase}.full-menu:not(.is-open) .menu-links a{transform:translateY(80px);opacity:0}.full-menu.is-open .menu-links a{opacity:1;transition-delay:calc(var(--i,0)*.06s + .18s)}
.btn{--fill:var(--green);position:relative;display:inline-flex;align-items:center;justify-content:space-between;gap:2rem;min-height:54px;padding:0 .8rem 0 1.2rem;overflow:hidden;border:1px solid currentColor;border-radius:999px;font-size:.68rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;transition:color .3s,transform .3s}.btn:before{position:absolute;inset:0;background:var(--fill);content:"";transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease)}.btn>*{position:relative;z-index:1}.btn b{display:grid;width:36px;height:36px;border:1px solid currentColor;border-radius:50%;place-items:center;transition:transform .4s var(--ease)}.btn:hover{transform:translateY(-3px)}.btn:hover:before{transform:scaleX(1);transform-origin:left}.btn:hover b{transform:rotate(-45deg)}.btn-dark{color:var(--cream);background:var(--black)}.btn-dark:hover{color:var(--black)}.btn-light{--fill:var(--black);color:var(--black);background:var(--cream)}.btn-light:hover{color:var(--cream)}.line-link{position:relative;width:max-content;padding:.25rem 0;font-size:.7rem;font-weight:800;text-transform:uppercase}.line-link:after{position:absolute;right:0;bottom:0;left:0;height:1px;background:currentColor;content:"";transform:scaleX(0);transform-origin:right;transition:.4s var(--ease)}.line-link:hover:after{transform:scaleX(1);transform-origin:left}.section-head{display:flex;justify-content:space-between;gap:1rem;padding-bottom:1rem;border-bottom:1px solid currentColor;font-size:.72rem;text-transform:uppercase}.grid-field{background-image:linear-gradient(to right,var(--b08) 1px,transparent 1px),linear-gradient(to bottom,var(--b08) 1px,transparent 1px);background-size:calc((100vw - 2*var(--pad))/6) 100%,100% 20%}
.hero{position:relative;display:grid;grid-template-rows:auto 1fr auto;min-height:100svh;padding:calc(var(--head) + 2rem) var(--pad) 1.2rem;overflow:hidden}.hero-meta{display:flex;justify-content:space-between;width:38%;gap:1rem}.hero-meta>p:last-child{font-size:clamp(.9rem,1.25vw,1.2rem);line-height:1.1}.hero-title{position:relative;z-index:2;align-self:center;width:76%;padding:5vh 0;font-size:clamp(4.8rem,11.5vw,12.5rem);font-weight:820;line-height:.76;letter-spacing:-.085em;text-transform:uppercase}.hero-title span{display:block}.hero-title span:last-child{padding-left:9vw}.hero-stage{position:absolute;z-index:3;top:17%;right:2vw;width:min(35vw,520px);height:66%;pointer-events:none;transform:translate(var(--stage-x,0),var(--stage-y,0));transition:transform .8s var(--ease)}.hero-axis{position:absolute;z-index:0;top:0;left:50%;width:1px;height:100%;background:var(--black)}.hero-axis:after{position:absolute;right:-3px;bottom:0;width:7px;height:7px;background:var(--black);border-radius:50%;content:""}.hero-logo{position:absolute;z-index:2;top:8%;left:calc(50% - 24px);width:48px;height:63px;color:var(--green);animation:fall 4s var(--ease) infinite alternate}.hero-card{position:absolute;z-index:4;display:flex;align-items:center;justify-content:space-between;width:76%;min-height:56px;padding:.8rem 1rem;border:2px solid var(--black);font-size:.66rem;font-style:normal;font-weight:800;text-transform:uppercase;box-shadow:0 4px 0 var(--b16)}.hero-card b,.hero-card em{font-style:normal}.hero-card.c1{top:31%;left:-3%;background:var(--white);transform:rotate(-2deg)}.hero-card.c2{top:54%;right:-2%;color:var(--white);background:var(--green);transform:rotate(2deg)}.hero-card.c3{top:77%;left:3%;color:var(--cream);background:var(--black);transform:rotate(-1deg)}@keyframes fall{to{transform:translateY(9vh) rotate(4deg)}}.hero-bottom{display:flex;align-items:center;gap:1.5rem}.tag-row{display:flex;gap:.35rem;flex-wrap:wrap;margin-left:auto}.tag-row span{padding:.35rem .6rem;border:1px solid;border-radius:999px;font-size:.58rem;font-weight:800;text-transform:uppercase}
.scroll-story{height:320vh}.story-sticky{position:sticky;top:0;display:grid;grid-template-columns:1fr 3fr 1.2fr;height:100vh;padding:calc(var(--head) + 2rem) var(--pad) 2rem;overflow:hidden}.story-label{display:flex;flex-direction:column;justify-content:space-between;padding-right:2rem;border-right:1px solid var(--c45);font-size:.75rem;text-transform:uppercase}.story-scenes{position:relative}.story-scenes article{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;padding:4vw;opacity:0;transform:translateY(30%);transition:opacity .55s,transform .75s var(--ease)}.story-scenes article.is-active{opacity:1;transform:none}.story-scenes span{font-size:.65rem}.story-scenes h2{font-size:clamp(5rem,13vw,14rem);font-weight:800;line-height:.75;letter-spacing:-.09em;text-transform:uppercase}.story-scenes p{max-width:28ch;margin:2rem 0 0 auto;font-size:clamp(1rem,1.7vw,1.5rem);line-height:1.1}.story-orbit{position:relative;border-left:1px solid var(--c45)}.story-orbit i{position:absolute;top:50%;left:50%;width:65%;aspect-ratio:1;border:1px solid var(--green);border-radius:50%;transform:translate(-50%,-50%)}.story-orbit i:nth-child(2){width:35%}.story-orbit b{position:absolute;top:50%;left:50%;width:48px;height:64px;color:var(--green);transform:translate(-50%,-50%) rotate(calc(var(--story-progress,0)*360deg))}
.home-services,.home-material{padding:clamp(5rem,10vw,10rem) var(--pad)}.service-intro{display:grid;grid-template-columns:2fr 1fr;align-items:end;gap:2rem;padding:clamp(4rem,9vw,8rem) 0}.service-intro h2,.material-stage h2{font-size:clamp(4rem,10vw,10rem);font-weight:800;line-height:.78;letter-spacing:-.08em;text-transform:uppercase}.service-intro em,.material-stage em,.page-hero em{font-weight:300;font-style:normal}.service-intro p{max-width:23ch;font-size:clamp(1.1rem,1.8vw,1.5rem)}.service-lines{border-top:1px solid}.service-lines a{display:grid;grid-template-columns:4rem 2fr 1fr auto;align-items:center;gap:1rem;min-height:135px;padding:1rem 0;border-bottom:1px solid;transition:padding .35s,background .35s,color .35s}.service-lines a:hover{padding-right:1rem;padding-left:1rem;color:var(--white);background:var(--green)}.service-lines span{font-size:.65rem}.service-lines h3{font-size:clamp(2rem,4vw,4.5rem);font-weight:700;line-height:.85;letter-spacing:-.06em;text-transform:uppercase}.service-lines p{font-size:.85rem}.service-lines b{font-size:1.5rem;font-weight:400}
.runway{height:350vh}.runway-sticky{position:sticky;top:0;height:100vh;padding:calc(var(--head) + 1.5rem) var(--pad) 1.5rem;overflow:hidden}.runway-head{display:flex;justify-content:space-between;padding-bottom:1rem;border-bottom:1px solid var(--c45)}.runway-swipe{display:none}.runway-track{display:flex;gap:1.5rem;width:max-content;padding-top:3rem;transform:translate3d(var(--runway-x,0),0,0);will-change:transform}.runway-track>a{display:block;width:min(64vw,780px)}.runway-track figure{position:relative;height:62vh;overflow:hidden;border:1px solid var(--c45)}.runway-track img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}.runway-track a:hover img{transform:scale(1.03)}.runway-track figure span{position:absolute;top:1rem;left:1rem;padding:.35rem .55rem;color:var(--black);background:var(--cream);font-size:.6rem;font-weight:800}.runway-track h3{margin-top:1rem;font-size:clamp(2rem,4vw,4rem);font-weight:700;line-height:.85;letter-spacing:-.06em;text-transform:uppercase}.runway-track p{margin-top:.5rem;font-size:.7rem;text-transform:uppercase}
.home-split{display:grid;grid-template-columns:1fr 1fr;min-height:100vh;padding:clamp(5rem,10vw,10rem) var(--pad)}.home-split>div:first-child{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;padding-right:4vw}.home-split h2{font-size:clamp(4rem,8vw,8rem);font-weight:800;line-height:.78;letter-spacing:-.08em;text-transform:uppercase}.home-split p:not(.eyebrow){max-width:29ch;font-size:clamp(1rem,1.8vw,1.5rem)}.split-letters{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--white)}.split-letters span{display:grid;overflow:hidden;font-size:30vw;font-weight:850;line-height:.7;letter-spacing:-.15em;place-items:center}.split-letters span:first-child{color:var(--green);background:var(--cream)}.split-letters span:last-child{color:var(--cream);background:var(--black)}.material-stage{position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:center;min-height:760px;padding-top:4rem}.material-stage>p{align-self:end;max-width:25ch;margin:0 0 4rem auto;font-size:clamp(1rem,1.8vw,1.5rem)}.material-shape{position:relative;height:70%;color:var(--cream);background:var(--green);clip-path:polygon(15% 0,85% 0,100% 18%,78% 32%,78% 100%,22% 100%,22% 32%,0 18%);transform:rotate(5deg)}.material-shape span{position:absolute;top:14%;left:12%;font-size:.7rem}.material-shape b{position:absolute;top:50%;left:50%;font-size:18vw;line-height:.6;transform:translate(-52%,-50%)}.material-shape i{position:absolute;inset:8%;border:2px dashed var(--cream)}.closing-cta{display:grid;grid-template-columns:1fr 3fr auto;align-items:end;gap:2rem;min-height:75vh;padding:clamp(5rem,10vw,10rem) var(--pad)}.closing-cta h2{font-size:clamp(4.5rem,12vw,13rem);font-weight:820;line-height:.74;letter-spacing:-.09em;text-transform:uppercase}
.page-hero{display:grid;grid-template-columns:1fr 3fr;grid-template-rows:1fr auto;min-height:90vh;padding:calc(var(--head) + 3rem) var(--pad) 3rem}.page-hero h1{grid-column:1/-1;align-self:center;font-size:clamp(5rem,13vw,14rem);font-weight:820;line-height:.74;letter-spacing:-.09em;text-transform:uppercase}.page-hero>p:last-child{grid-column:2;max-width:30ch;margin-left:auto;font-size:clamp(1.1rem,2vw,1.7rem);line-height:1.1}.studio-manifest,.values,.services-detail,.process,.archive,.legal{padding:clamp(5rem,10vw,10rem) var(--pad)}.studio-manifest>h2{max-width:14ch;padding:clamp(5rem,10vw,9rem) 0;font-size:clamp(3.5rem,8vw,8rem);font-weight:650;line-height:.9;letter-spacing:-.065em}.manifest-notes{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-left:35%}.manifest-notes p{max-width:28ch;font-size:clamp(1rem,1.6vw,1.4rem)}.people article{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:85vh;border-bottom:1px solid var(--white)}.people article>div:last-child{display:flex;min-width:0;flex-direction:column;justify-content:space-between;padding:clamp(2rem,5vw,5rem);border-left:1px solid var(--white)}.people article:nth-child(even) .person-letter{grid-column:2;grid-row:1}.people article:nth-child(even)>div:last-child{grid-column:1;grid-row:1;border-right:1px solid var(--white);border-left:0}.person-letter{display:grid;overflow:hidden;color:var(--green);background:var(--cream);font-size:40vw;font-weight:850;line-height:.6;letter-spacing:-.15em;place-items:center}.people article:nth-child(2) .person-letter{color:var(--black);background:var(--white)}.people h2{min-width:0;font-size:clamp(4rem,8vw,8rem);font-weight:800;line-height:.78;letter-spacing:-.08em;text-transform:uppercase}.people article p:last-child{max-width:30ch;font-size:1.1rem}.values ol,.process ol{display:grid;grid-template-columns:repeat(4,1fr);margin-top:7rem;border-top:1px solid}.values li,.process li{display:flex;flex-direction:column;min-height:330px;padding:1rem;border-right:1px solid}.values li:last-child,.process li:last-child{border-right:0}.values span,.process span{font-size:.65rem}.values h3,.process h3{margin-top:auto;font-size:clamp(2.4rem,4vw,4.2rem);font-weight:700;line-height:.85;letter-spacing:-.06em;text-transform:uppercase}.values li p,.process li p{max-width:18ch;margin-top:1rem;font-size:.85rem}
.services-detail article{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:5vw;min-height:72vh;padding:5rem 0;border-bottom:1px solid var(--c45)}.services-detail article>div{min-width:0}.services-detail article>div:first-child{display:grid;grid-template-columns:4rem minmax(0,1fr)}.services-detail article span{font-size:.65rem}.services-detail h2{min-width:0;font-size:clamp(4rem,8vw,8.5rem);font-weight:780;line-height:.78;letter-spacing:-.08em;text-transform:uppercase;overflow-wrap:break-word}.services-detail article>div:last-child{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:1.5rem}.services-detail article p{max-width:28ch;font-size:clamp(1.15rem,2vw,1.7rem);line-height:1.1}.services-detail article strong{max-width:27ch;color:var(--green);font-size:1.15rem}.services-detail article small{max-width:35ch;padding-top:1rem;border-top:1px solid var(--c45);font-size:.7rem;text-transform:uppercase}.process{color:var(--white)}
.portfolio-hero>p:last-child{max-width:35ch}.filter-bar{position:sticky;z-index:20;top:var(--head);display:flex;gap:.5rem;padding:1rem 0;background:var(--cream);border-bottom:1px solid}.filter-bar button{padding:.55rem .85rem;color:var(--black);background:transparent;border:1px solid;border-radius:999px;font-size:.65rem;font-weight:800;text-transform:uppercase}.filter-bar button.is-active,.filter-bar button:hover{color:var(--cream);background:var(--black)}.filter-bar span{margin-left:.4rem}.archive-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:5rem 1.5rem;padding-top:4rem}.archive-card.is-hidden{display:none}.archive-card figure{position:relative;aspect-ratio:1.35;overflow:hidden;background:var(--black)}.archive-card img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease),filter .5s}.archive-card:hover img{transform:scale(1.035);filter:saturate(.7)}.archive-card figure span{position:absolute;top:1rem;left:1rem;padding:.35rem .5rem;color:var(--black);background:var(--cream);font-size:.6rem;font-weight:800}.archive-card>div{display:grid;grid-template-columns:2fr 1fr .4fr auto;align-items:end;gap:1rem;padding:1rem 0;border-bottom:1px solid}.archive-card h2{font-size:clamp(2rem,4vw,4.5rem);font-weight:720;line-height:.85;letter-spacing:-.06em;text-transform:uppercase}.archive-card p,.archive-card b{font-size:.62rem;text-transform:uppercase}.archive-card b{text-align:right}
.contact-page{display:grid;grid-template-columns:1fr 1.25fr;gap:7vw;min-height:100vh;padding:calc(var(--head) + 4rem) var(--pad) 5rem}.contact-intro{display:flex;flex-direction:column;gap:3rem}.contact-intro h1{font-size:clamp(4.5rem,9vw,9.5rem);font-weight:820;line-height:.75;letter-spacing:-.09em;text-transform:uppercase}.contact-intro>p:last-child{max-width:27ch;font-size:clamp(1.1rem,1.8vw,1.5rem)}.project-form{padding-top:1rem}.project-form fieldset{padding:0;border:0}.project-form legend{display:flex;justify-content:space-between;width:100%;padding-bottom:1rem;border-bottom:1px solid;font-size:.7rem;font-weight:800;text-transform:uppercase}.project-form legend span{font-weight:500}.service-checks label{position:relative;display:grid;grid-template-columns:3rem 1fr auto;align-items:center;min-height:72px;border-bottom:1px solid;cursor:pointer}.service-checks input{position:absolute;opacity:0}.service-checks label>span{font-size:.62rem}.service-checks strong{font-size:clamp(1.3rem,2.2vw,2.3rem);font-weight:650;letter-spacing:-.04em;text-transform:uppercase}.service-checks i{display:grid;width:30px;height:30px;border:1px solid;border-radius:50%;font-style:normal;place-items:center;transition:.3s}.service-checks label:has(input:checked){color:var(--black);background:var(--cream);padding:0 .8rem}.service-checks input:checked~i{color:var(--cream);background:var(--black);transform:rotate(45deg)}.selection-count{margin:1rem 0 3rem;font-size:.68rem;text-transform:uppercase}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 1.5rem}.form-grid label{display:grid;grid-template-columns:5rem 1fr;align-items:center;min-height:72px;border-bottom:1px solid}.form-grid label>span{font-size:.62rem;font-weight:800;text-transform:uppercase}.form-grid input,.form-grid select,.form-grid textarea{width:100%;padding:1rem 2.2rem 1rem 0;color:var(--white);background:transparent;border:0;outline:0}.form-grid input::placeholder,.form-grid textarea::placeholder{color:rgba(255,255,255,.88);opacity:1}.form-grid select{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--white) 50%),linear-gradient(135deg,var(--white) 50%,transparent 50%);background-position:calc(100% - 10px) 50%,calc(100% - 4px) 50%;background-size:6px 6px,6px 6px;background-repeat:no-repeat}.form-grid select:has(option[value=""]:checked){color:rgba(255,255,255,.9)}.form-grid select option{color:var(--black);background:var(--cream)}.form-grid textarea{resize:vertical}.form-grid .wide{grid-column:1/-1}.project-form>.btn{margin-top:2rem;border:0}.project-form>.btn:disabled{cursor:wait;opacity:.65;transform:none}.form-note{display:block;width:fit-content;margin-top:1rem;padding:.55rem .7rem;border:1px solid transparent;font-size:.62rem;font-weight:750;text-transform:uppercase;transition:.25s}.form-note.is-loading{color:var(--black);background:var(--cream)}.form-note.is-success{color:var(--black);background:var(--cream);border-color:var(--black)}.form-note.is-error{color:var(--cream);background:var(--black);border-color:var(--cream)}.contact-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.legal{padding-top:calc(var(--head) + 5rem)}.legal h1{margin:5rem 0;font-size:clamp(5rem,12vw,12rem);font-weight:820;line-height:.75;letter-spacing:-.09em;text-transform:uppercase}.legal-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid}.legal-grid article{min-height:250px;padding:1.5rem;border-right:1px solid;border-bottom:1px solid}.legal-grid article:nth-child(2n){border-right:0}.legal-grid h2{font-size:2rem;text-transform:uppercase}.legal-grid p{max-width:36ch;margin-top:3rem}
.case{padding-top:var(--head)}.case-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,3fr);min-height:82vh;padding:3rem var(--pad);color:var(--cream);background:var(--black)}.case-hero>*{min-width:0}.case-kicker{display:flex;flex-direction:column;justify-content:space-between;padding-right:2rem;border-right:1px solid var(--c45)}.case-hero h1{align-self:center;padding-left:4vw;font-size:clamp(5rem,11vw,12rem);font-weight:820;line-height:.73;letter-spacing:-.09em;text-transform:uppercase;overflow-wrap:break-word}.case-meta{grid-column:2;display:flex;min-width:0;align-items:flex-end;justify-content:space-between;gap:1rem;padding-left:4vw}.case-meta>p{font-size:1.2rem;text-transform:uppercase}.case-meta ul{display:flex;min-width:0;gap:.4rem;flex-wrap:wrap;justify-content:flex-end}.case-meta li{padding:.35rem .55rem;border:1px solid;border-radius:999px;font-size:.58rem;text-transform:uppercase}.case-cover{position:relative;height:100vh;overflow:hidden;background:var(--green)}.case-cover img{width:100%;height:100%;object-fit:cover}.case-cover figcaption{position:absolute;right:1rem;bottom:1rem;padding:.5rem .7rem;color:var(--black);background:var(--cream);font-size:.6rem;text-transform:uppercase}.case-intro{display:grid;grid-template-columns:1fr 2fr 1fr;gap:3rem;padding:clamp(5rem,10vw,10rem) var(--pad);background:var(--cream)}.case-intro h2{font-size:clamp(2.8rem,6vw,6.5rem);font-weight:620;line-height:.9;letter-spacing:-.06em}.case-intro>div{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:2rem}.case-intro>div p{font-size:1.05rem}.archive-note{padding:1rem;border:1px solid;font-size:.7rem;text-transform:uppercase}.case-gallery{display:grid;grid-template-columns:1.2fr .8fr;gap:1px;background:var(--black)}.case-gallery figure{height:75vh;overflow:hidden;background:var(--black)}.case-gallery figure:nth-child(2){margin-top:15vh}.case-gallery img{width:100%;height:100%;object-fit:cover}.case-gallery figure:first-child img{object-position:left center;transform:scale(1.18)}.case-gallery figure:nth-child(2) img{object-position:right center;transform:scale(1.35)}.case-quote{grid-column:1/-1;display:grid;grid-template-columns:1fr 3fr;padding:clamp(5rem,9vw,9rem) var(--pad);color:var(--cream);background:var(--black)}.case-quote blockquote{max-width:14ch;font-size:clamp(3rem,7vw,7.5rem);font-weight:650;line-height:.88;letter-spacing:-.06em}.case-services{padding:clamp(5rem,9vw,9rem) var(--pad);background:var(--green);color:var(--white)}.case-services>p{margin-bottom:5rem}.case-services>div{display:grid;grid-template-columns:4rem minmax(0,1fr);padding:1.2rem 0;border-bottom:1px solid}.case-services span{font-size:.65rem}.case-services h3{min-width:0;font-size:clamp(2.5rem,6vw,6rem);font-weight:700;line-height:.85;letter-spacing:-.06em;text-transform:uppercase;overflow-wrap:break-word}.next-case{position:relative;display:block;min-width:0;min-height:70vh;padding:clamp(5rem,8vw,8rem) var(--pad);overflow:hidden;color:var(--black);background:var(--cream)}.next-case p{font-size:.68rem;text-transform:uppercase}.next-case h2{min-width:0;margin-top:10vh;font-size:clamp(5rem,11vw,12rem);font-weight:820;line-height:.72;letter-spacing:-.09em;text-transform:uppercase;overflow-wrap:break-word}.next-case>span{position:absolute;right:var(--pad);bottom:var(--pad);font-size:4rem}.template-film .case-cover:after{position:absolute;inset:2rem;border:1px solid var(--cream);content:"";pointer-events:none}.template-film .case-cover:before{position:absolute;z-index:2;top:3rem;right:3rem;width:10px;height:10px;background:var(--cream);border-radius:50%;content:""}.template-textile .case-cover{padding:5vw;background:var(--green)}.template-textile .case-cover img{transform:rotate(-2deg);border:8px double var(--cream)}
.site-footer{padding:clamp(5rem,9vw,9rem) var(--pad) 1rem;color:var(--cream);background:var(--black)}.footer-call{display:flex;align-items:flex-end;justify-content:space-between;padding-bottom:5rem}.footer-call>a{font-size:clamp(3rem,8vw,8rem);font-weight:780;line-height:.8;letter-spacing:-.07em;text-transform:uppercase}.footer-call span{color:var(--green)}.footer-brand{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:1.5rem;padding:5rem 0;border-top:1px solid var(--c45)}.footer-brand .brand-mark{width:7vw;height:9vw;min-width:55px;min-height:72px}.footer-brand strong{min-width:0;max-width:100%;font-size:clamp(4rem,10vw,10rem);font-weight:800;line-height:.7;letter-spacing:-.09em;text-transform:uppercase}.footer-meta{display:grid;grid-template-columns:2fr 1fr 1fr;border-top:1px solid var(--c45)}.footer-meta>p,.footer-meta>div{display:flex;flex-direction:column;gap:.4rem;min-height:160px;padding:1rem;border-right:1px solid var(--c45);font-size:.8rem}.footer-meta>p{padding-left:0}.footer-meta>div:last-child{border-right:0}.footer-legal{display:flex;justify-content:space-between;padding-top:1rem;border-top:1px solid var(--c45);font-size:.6rem;text-transform:uppercase}.js [data-reveal]{--reveal-delay:0ms;opacity:0;transform:translate3d(0,38px,0);transition:opacity .7s var(--ease) var(--reveal-delay),transform .9s var(--ease) var(--reveal-delay);will-change:opacity,transform}.js [data-reveal="line"],.js [data-reveal="media"]{-webkit-mask-image:linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0);-webkit-mask-position:top;mask-position:top;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 0%;mask-size:100% 0%}.js [data-reveal="line"]{opacity:1;transform:translate3d(0,24px,0);transition:-webkit-mask-size .95s var(--ease) var(--reveal-delay),mask-size .95s var(--ease) var(--reveal-delay),transform .95s var(--ease) var(--reveal-delay)}.js [data-reveal="media"]{opacity:1;transform:none;transition:-webkit-mask-size 1s var(--ease) var(--reveal-delay),mask-size 1s var(--ease) var(--reveal-delay)}.js [data-reveal="media"] img{transform:scale(1.06);transition:transform 1.15s var(--ease) var(--reveal-delay)}.js [data-reveal].is-visible{opacity:1;transform:none;will-change:auto}.js [data-reveal="line"].is-visible,.js [data-reveal="media"].is-visible{-webkit-mask-size:100% 100%;mask-size:100% 100%}.js [data-reveal="media"].is-visible img{transform:scale(1)}
@media(max-width:900px){:root{--head:68px}.header-status{display:none}.site-header{grid-template-columns:1fr auto}.full-menu{grid-template-columns:minmax(0,1fr);padding-top:calc(var(--head) + 1.5rem)}.menu-aside{display:none}.menu-links strong{font-size:clamp(3.2rem,11vw,6rem)}.menu-fall{right:5%;opacity:.45}.hero-meta{width:100%}.hero-title{width:100%;font-size:13.5vw}.hero-stage{right:-5vw;width:45vw;opacity:.8}.story-sticky{grid-template-columns:minmax(0,1fr)}.story-label,.story-orbit{display:none}.service-intro,.home-split,.material-stage,.page-hero,.services-detail article,.contact-page,.case-hero,.case-intro{grid-template-columns:minmax(0,1fr)}.home-split{gap:4rem}.split-letters{min-height:520px}.material-shape{min-height:520px}.closing-cta{grid-template-columns:minmax(0,1fr)}.page-hero h1{grid-column:1}.page-hero>p:last-child{grid-column:1;margin:2rem 0 0}.people article{grid-template-columns:minmax(0,1fr)}.people article:nth-child(even) .person-letter,.people article:nth-child(even)>div:last-child{grid-row:auto;grid-column:auto}.people article:nth-child(even)>div:last-child{border-right:0;border-left:1px solid var(--white)}.person-letter{min-height:55vh}.values ol,.process ol{grid-template-columns:repeat(2,minmax(0,1fr))}.services-detail article>div:first-child{grid-template-columns:3rem minmax(0,1fr)}.archive-grid{grid-template-columns:minmax(0,1fr)}.contact-intro{min-height:60vh}.case-kicker{flex-direction:row;border:0}.case-hero h1{padding:3rem 0}.case-meta{grid-column:1;padding:0}.case-intro>div{grid-column:1}.case-cover{height:75vh}.case-gallery{grid-template-columns:minmax(0,1fr)}.case-gallery figure:nth-child(2){margin:0}.case-quote{grid-column:1;grid-template-columns:minmax(0,1fr)}.case-quote blockquote{margin-top:3rem}.footer-call{align-items:flex-start;flex-direction:column;gap:3rem}}
@media(max-width:600px){.menu-links a{grid-template-columns:2rem minmax(0,1fr)}.menu-links a span{padding-top:.35rem}.menu-links strong{font-size:12.5vw}.hero{min-height:100svh}.hero-meta{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;width:auto;min-width:0;gap:.75rem}.hero-meta>p{min-width:0}.hero-meta>p:first-child{max-width:18ch;white-space:normal}.hero-meta>p:last-child{justify-self:end;max-width:12ch;text-align:right}.hero-title{font-size:19vw;line-height:.78}.hero-title span:last-child{padding-left:0}.hero-stage{top:16%;right:0;width:75vw;height:31%;opacity:.72}.hero-card{width:72%;min-height:44px}.hero-card.c1{top:4%;left:0}.hero-card.c2{top:44%;right:0}.hero-card.c3{top:84%;left:12%}.hero-bottom{align-items:flex-start;flex-direction:column}.hero-bottom .btn{width:100%;max-width:100%}.tag-row{margin:0}.scroll-story{height:260vh}.story-scenes article{padding:var(--pad)}.story-scenes h2{font-size:18vw}.story-scenes p{margin:2rem 0 0}.service-intro{grid-template-columns:minmax(0,1fr)}.service-intro h2,.material-stage h2{font-size:17vw}.service-lines a{grid-template-columns:2rem minmax(0,1fr) auto}.service-lines p{grid-column:2}.runway-track>a{width:86vw}.runway-track figure{height:58vh}.home-split{padding:5rem var(--pad)}.home-split h2{font-size:16vw}.split-letters{min-height:420px}.material-stage{grid-template-columns:minmax(0,1fr)}.material-shape{min-height:500px}.material-stage>p{margin:2rem 0}.closing-cta{min-height:70vh}.closing-cta h2{font-size:18vw}.page-hero{min-height:80vh;padding-top:calc(var(--head) + 2rem)}.page-hero h1{font-size:17.5vw}.manifest-notes{grid-template-columns:minmax(0,1fr);margin-left:0}.people h2{font-size:13vw}.values ol,.process ol{grid-template-columns:minmax(0,1fr)}.values li,.process li{min-height:230px;border-right:0;border-bottom:1px solid}.services-detail article{min-height:80vh}.services-detail h2{font-size:12vw}.filter-bar{overflow:auto}.archive{padding-right:var(--pad);padding-left:var(--pad)}.archive-card>div{grid-template-columns:minmax(0,1fr) auto}.archive-card h2{font-size:10vw}.archive-card p:nth-of-type(1),.archive-card b{grid-column:1}.archive-card p:nth-of-type(2){grid-row:1;grid-column:2}.contact-page{padding-top:calc(var(--head) + 2rem)}.contact-intro h1{font-size:17vw}.form-grid{grid-template-columns:minmax(0,1fr)}.form-grid .wide{grid-column:1}.service-checks strong{font-size:5.7vw}.project-form>.btn{width:100%}.legal h1{font-size:min(19vw,5rem)}.legal-grid{grid-template-columns:minmax(0,1fr)}.legal-grid article,.legal-grid article:nth-child(2n){border-right:0}.case-hero{min-height:75vh}.case-hero h1{font-size:13.2vw;overflow-wrap:anywhere}.case-meta{align-items:flex-start;flex-direction:column;gap:1rem}.case-cover{height:60vh}.case-intro h2{font-size:11vw}.case-gallery figure{height:55vh}.case-services>div{grid-template-columns:3rem minmax(0,1fr)}.case-services h3{font-size:9vw}.next-case h2{font-size:14vw;overflow-wrap:anywhere}.footer-call>a{font-size:14vw}.footer-brand{grid-template-columns:55px minmax(0,1fr);gap:1rem}.footer-brand strong{font-size:15vw;line-height:.72}.footer-meta{grid-template-columns:minmax(0,1fr)}.footer-meta>p,.footer-meta>div{min-height:120px;border-right:0;border-bottom:1px solid var(--c45);padding-left:0}.footer-legal{flex-wrap:wrap;gap:.6rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.js [data-reveal]{opacity:1;-webkit-mask-image:none;mask-image:none;transform:none}.js [data-reveal] img{transform:none}.scroll-story{height:auto}.story-sticky{position:relative}.story-scenes article{position:relative;opacity:1;transform:none}.runway{height:auto}.runway-sticky{position:relative;height:auto}.runway-track{overflow:auto;transform:none!important}}
.hero{grid-template-columns:minmax(0,1fr)}.hero-meta,.hero-title,.hero-bottom{min-width:0;max-width:100%}
html,body{overflow-x:clip}.menu-links a.is-current,.menu-links a.is-current:hover{transform:none}
@media(max-width:600px){.hero-title{font-size:16.7vw}.case-hero h1{font-size:13.2vw;overflow-wrap:anywhere}}

/* Server CMS additions */
.site-marquee{overflow:hidden;color:var(--black);background:var(--cream);border-top:1px solid var(--black);border-bottom:1px solid var(--black)}
.marquee-track{display:flex;width:max-content;animation:falling-marquee 34s linear infinite;will-change:transform}
.marquee-group{display:flex;align-items:center;flex-shrink:0;padding:.8rem 0}
.marquee-group span{padding:0 1.6rem;font-size:clamp(2rem,5vw,5.5rem);font-weight:780;line-height:.9;letter-spacing:-.06em;text-transform:uppercase;white-space:nowrap}
.marquee-group i{font-style:normal}.marquee-logo{display:block;flex:0 0 auto;width:clamp(1.6rem,3vw,3.4rem);height:clamp(1.8rem,3.5vw,3.8rem);margin:0 .4rem;background:var(--black);-webkit-mask:var(--marquee-logo) center/contain no-repeat;mask:var(--marquee-logo) center/contain no-repeat}

.article-rich-content{display:block!important;max-width:920px;margin:0 auto;padding:clamp(4rem,9vw,9rem) var(--pad)!important}.article-rich-content h2{margin:1.5em 0 .45em;font-size:clamp(2.8rem,6vw,6.5rem);line-height:.86;letter-spacing:-.065em}.article-rich-content h3{margin:1.7em 0 .5em;font-size:clamp(2rem,4vw,4rem);line-height:.92;letter-spacing:-.045em}.article-rich-content h4{margin:1.8em 0 .5em;font-size:clamp(1.4rem,2.2vw,2.2rem)}.article-rich-content p,.article-rich-content li{font-size:clamp(1.1rem,1.6vw,1.45rem);line-height:1.6}.article-rich-content p+p{margin-top:1.2em}.article-rich-content ul,.article-rich-content ol{margin:2rem 0;padding-left:1.3em}.article-rich-content ul{list-style:disc}.article-rich-content ol{list-style:decimal}.article-rich-content blockquote{margin:2.5rem 0;padding:1.5rem 0 1.5rem clamp(1rem,3vw,2.5rem);border-left:4px solid var(--green);font-size:clamp(1.8rem,3.5vw,3.5rem);font-weight:650;line-height:1.05;letter-spacing:-.04em}.article-rich-content a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em}.article-rich-content hr{margin:4rem 0;border:0;border-top:1px solid}
.site-marquee:hover .marquee-track{animation-play-state:paused}
@keyframes falling-marquee{to{transform:translate3d(-50%,0,0)}}
.case-editorial{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);gap:8vw;align-items:end;padding:clamp(5rem,10vw,10rem) var(--pad)}
.case-editorial h2{max-width:12ch;margin-top:3rem;font-size:clamp(3rem,7vw,7.5rem);font-weight:700;line-height:.85;letter-spacing:-.065em;text-transform:uppercase}
.case-editorial>p{max-width:34ch;font-size:clamp(1.1rem,2vw,1.6rem);line-height:1.15}
.case-before-after{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;padding:var(--pad);background:var(--black)}
.case-before-after>div{padding:1rem;color:var(--black);background:var(--cream)}
.case-before-after figure{height:75vh;margin-top:1rem;overflow:hidden;background:var(--green)}
.case-before-after img,.case-video video{width:100%;height:100%;object-fit:cover}
.case-video video{max-height:78vh;background:var(--black)}
@media(max-width:700px){.marquee-track{animation-duration:24s}.case-editorial,.case-before-after{grid-template-columns:minmax(0,1fr)}.case-before-after figure{height:55vh}}
@media(prefers-reduced-motion:reduce){.marquee-track{animation:none}}
section[id],article[id]{scroll-margin-top:calc(var(--head) + 1rem)}
.brand-mark{-webkit-mask-image:var(--custom-logo,url("/assets/logo.svg"));mask-image:var(--custom-logo,url("/assets/logo.svg"))}
.menu-links a{color:#6C6760}.menu-links a.is-current{color:var(--cream)}.menu-links a.is-current strong{color:var(--cream)}
.menu-aside{align-content:end;padding-bottom:5rem}
.menu-physics{position:absolute;z-index:2;top:calc(var(--head) + 1rem);right:var(--pad);bottom:46%;left:68%;overflow:hidden;contain:layout paint}.menu-physics .brand-mark{position:absolute;top:50%;left:50%;width:clamp(42px,3.6vw,58px);height:clamp(56px,4.8vw,76px);color:var(--green);filter:drop-shadow(0 12px 22px rgba(78,124,91,.18));transform:translate(-50%,-50%);will-change:transform}
.hero-title,.story-scenes h2,.service-intro h2,.page-hero h1,.case-hero h1,.closing-cta h2,.next-case h2{letter-spacing:-.065em}.story-scenes h2,.page-hero h1,.case-hero h1{line-height:.8}
.home-team{display:grid;grid-template-columns:.9fr 1.1fr;gap:5vw;padding:clamp(6rem,10vw,10rem) var(--pad)}.team-intro{display:flex;flex-direction:column;align-items:flex-start;gap:2rem}.team-intro h2{margin-top:auto;font-size:clamp(4rem,8vw,8rem);font-weight:800;line-height:.82;letter-spacing:-.065em;text-transform:uppercase}.team-intro>p:not(.eyebrow){max-width:26ch;font-size:clamp(1.1rem,1.7vw,1.5rem)}.team-grid{border-top:1px solid}.team-grid article{position:relative;display:grid;grid-template-columns:.55fr 1fr;grid-template-rows:auto 1fr auto;min-height:45vh;border-bottom:1px solid}.team-grid article:before{position:absolute;top:0;bottom:0;left:35.48%;border-left:1px solid;content:""}.team-grid small{grid-column:2;padding:1.5rem 1.5rem 0;font-size:.65rem}.team-letter{grid-row:2;align-self:end;overflow:hidden;padding:0 .2rem;font-size:clamp(8rem,18vw,20rem);font-weight:850;line-height:.7;letter-spacing:-.12em;text-align:center}.team-grid h3{grid-row:2;grid-column:2;align-self:end;padding:0 1.5rem;font-size:clamp(2.6rem,5vw,5.5rem);line-height:.85;letter-spacing:-.055em;text-transform:uppercase}.team-grid article>p{grid-column:2;max-width:30ch;padding:1rem 1.5rem 1.5rem}
.home-textile,.home-film{padding:clamp(6rem,10vw,10rem) var(--pad)}.textile-editorial{display:grid;grid-template-columns:.8fr 1.2fr;gap:5vw;padding-top:5rem}.textile-editorial>div:first-child{display:flex;flex-direction:column;align-items:flex-start;gap:2rem}.textile-editorial h2,.film-copy h2{font-size:clamp(4.5rem,10vw,11rem);font-weight:800;line-height:.8;letter-spacing:-.065em;text-transform:uppercase}.textile-editorial h2 em,.film-copy h2 em{font-weight:300;font-style:normal}.textile-editorial>div>p{max-width:30ch;font-size:clamp(1rem,1.7vw,1.4rem)}.garment-board{display:grid;grid-template-columns:1fr 1fr;gap:1rem;min-height:640px}.garment{position:relative;display:grid;overflow:hidden;border:1px solid;place-items:center;clip-path:polygon(17% 0,83% 0,100% 16%,83% 30%,83% 100%,17% 100%,17% 30%,0 16%)}.garment.front{color:var(--cream);background:var(--green);transform:rotate(-2deg)}.garment.back{color:var(--cream);background:var(--black);transform:translateY(8%) rotate(2deg)}.garment>span,.garment>small{position:absolute;left:12%;font-size:.62rem;text-transform:uppercase}.garment>span{top:13%}.garment>small{bottom:8%}.garment>b{font-size:clamp(3rem,8vw,8rem);line-height:.8;text-align:center}.textile-specs{grid-column:1/-1;display:grid;grid-template-columns:repeat(6,1fr);margin-top:2rem;border-top:1px solid}.textile-specs li{padding:1rem .4rem;border-right:1px solid;font-size:.65rem;text-align:center;text-transform:uppercase}.textile-specs li:last-child{border:0}
.film-stage{display:grid;grid-template-columns:1.25fr .75fr;gap:5vw;padding-top:5rem}.film-monitor{position:relative;min-height:72vh;overflow:hidden;border:1px solid var(--c45);background:linear-gradient(var(--b16),var(--b16)),repeating-linear-gradient(90deg,transparent 0 12.4%,var(--c45) 12.5%)}.film-monitor:after{position:absolute;inset:2rem;border:1px solid var(--c45);content:""}.play-mark{position:absolute;z-index:2;top:1rem;left:1rem;color:var(--green);font-size:.7rem}.film-object{position:absolute;inset:18%;display:grid;background:var(--green);clip-path:polygon(12% 0,88% 0,100% 20%,75% 38%,75% 100%,25% 100%,25% 38%,0 20%);place-items:center;animation:filmFloat 4s var(--ease) infinite alternate}.film-object b{font-size:20vw;line-height:.6}.film-data{position:absolute;z-index:2;right:1rem;bottom:1rem;left:1rem;display:flex;justify-content:space-between;font-size:.62rem}.film-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:2rem}.film-copy>p{max-width:28ch;font-size:clamp(1rem,1.7vw,1.4rem)}.film-tags{display:flex;gap:.4rem;flex-wrap:wrap}.film-tags span{padding:.45rem .7rem;border:1px solid;border-radius:999px;font-size:.6rem;text-transform:uppercase}@keyframes filmFloat{to{transform:translateY(-4%) rotate(2deg)}}
.motion-layout{display:grid;grid-template-columns:7fr 5fr;align-items:center;gap:clamp(2rem,6vw,7rem);padding-top:clamp(5rem,10vw,10rem)}.motion-stage{position:relative;display:grid;aspect-ratio:1.25;overflow:hidden;border:1px solid var(--cream);place-items:center}.motion-stage:before{position:absolute;inset:8%;border:1px solid var(--c45);content:""}.motion-ring{position:absolute;border:1px solid var(--green);border-radius:50%;animation:motionOrbit 14s linear infinite}.motion-ring--one{width:70%;aspect-ratio:1}.motion-ring--two{width:42%;aspect-ratio:1;animation-direction:reverse;animation-duration:9s}.motion-ring:before{position:absolute;top:50%;left:-5px;width:10px;height:10px;background:var(--green);border-radius:50%;content:""}@keyframes motionOrbit{to{transform:rotate(360deg)}}.motion-core{position:relative;z-index:2;display:grid;width:17%;aspect-ratio:1;color:var(--black);background:var(--cream);border-radius:50%;font-size:.65rem;font-weight:800;place-items:center}.motion-code{position:absolute;z-index:2;right:1rem;bottom:1rem;font-size:.58rem;line-height:1.45;text-align:right}.motion-copy h2{font-size:clamp(4.5rem,10vw,11rem);font-weight:800;line-height:.8;letter-spacing:-.065em;text-transform:uppercase}.motion-copy h2 em{font-weight:300;font-style:normal}.motion-copy>p{max-width:28ch;margin:2.5rem 0;font-size:clamp(1.1rem,1.8vw,1.5rem);line-height:1.1}.motion-copy ul{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--cream)}.motion-copy li{padding:.75rem 0;border-bottom:1px solid var(--c45);font-size:.68rem;font-weight:750;text-transform:uppercase}
.case-context{display:grid;grid-template-columns:1.2fr .8fr;gap:8vw;padding:clamp(6rem,10vw,10rem) var(--pad)}.case-context h2{max-width:13ch;margin-top:5rem;font-size:clamp(3rem,6vw,7rem);line-height:.9;letter-spacing:-.055em}.case-context>div:last-child{align-self:end}.case-context>div:last-child p{max-width:34ch;margin-top:1.5rem;font-size:1.05rem}.case-direction{display:grid;grid-template-columns:.35fr 1fr;padding:clamp(6rem,9vw,9rem) var(--pad)}.case-direction blockquote{max-width:14ch;font-size:clamp(3.2rem,7vw,7.5rem);font-weight:650;line-height:.9;letter-spacing:-.055em}.direction-tokens{grid-column:2;display:flex;gap:.4rem;flex-wrap:wrap;margin-top:4rem}.direction-tokens span{padding:.45rem .75rem;border:1px solid;border-radius:999px;font-size:.62rem;text-transform:uppercase}.case-masonry{padding:clamp(6rem,9vw,9rem) var(--pad)}.masonry{margin-top:4rem;column-gap:1rem}.masonry--2{column-count:2}.masonry--3{column-count:3}.masonry--4{column-count:4}.masonry figure{position:relative;min-height:260px;margin:0 0 1rem;overflow:hidden;background:var(--black);break-inside:avoid}.masonry figure:nth-child(3n+1){height:48vw}.masonry figure:nth-child(3n+2){height:31vw}.masonry figure:nth-child(3n){height:39vw}.masonry img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}.masonry figure:hover img{transform:scale(1.035)}.masonry-note{display:flex;flex-direction:column;justify-content:space-between;padding:1.5rem;color:var(--cream);background:var(--green)!important}.masonry-note span{font-size:.65rem}.masonry-note b{white-space:pre-line;font-size:clamp(1.8rem,3vw,3.5rem);line-height:.9}.case-video{padding:clamp(6rem,9vw,9rem) var(--pad)}.video-slider{display:grid;grid-template-columns:2fr .7fr;align-items:start;gap:1rem;margin-top:4rem;overflow:auto}.video-placeholder{position:relative;display:grid;min-width:0;border:1px solid var(--c45);background:repeating-linear-gradient(45deg,var(--b16) 0 1px,transparent 1px 28px);place-items:center}.video-placeholder.landscape{aspect-ratio:16/9}.video-placeholder.portrait{aspect-ratio:9/16}.video-placeholder>span,.video-placeholder>small{position:absolute;left:1rem;font-size:.62rem;text-transform:uppercase}.video-placeholder>span{top:1rem}.video-placeholder>small{bottom:1rem}.video-placeholder>b{display:grid;width:84px;height:84px;border:1px solid;border-radius:50%;font-size:.7rem;place-items:center}.case-3d,.case-techpack{display:grid;grid-template-columns:.35fr 1fr .5fr;gap:3rem;padding:clamp(6rem,9vw,9rem) var(--pad)}.glb-placeholder,.techpack-sheet{position:relative;min-height:65vh;border:1px solid currentColor}.glb-placeholder{display:grid;background:radial-gradient(circle,var(--g22),transparent 45%);place-items:center}.glb-placeholder>span{position:absolute;top:1rem;left:1rem;font-size:.65rem}.glb-placeholder>b{font-size:clamp(3rem,7vw,7rem);line-height:.82;text-align:center;text-transform:uppercase}.glb-placeholder .brand-mark{position:absolute;width:55px;height:72px;color:var(--green);animation:filmFloat 3s infinite alternate}.case-3d>p:last-child,.case-techpack>p:last-child{align-self:end}.techpack-sheet{display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:2rem;background:repeating-linear-gradient(0deg,transparent 0 49px,var(--c45) 50px),repeating-linear-gradient(90deg,transparent 0 49px,var(--c45) 50px)}.techpack-sheet>span{position:absolute;top:1rem;left:1rem;font-size:.62rem}.techpack-sheet>b{font-size:clamp(3rem,6vw,7rem);text-align:center;text-transform:uppercase}.techpack-sheet ul{position:absolute;right:1rem;bottom:1rem;left:1rem;display:flex;justify-content:space-between;font-size:.58rem;text-transform:uppercase}.case-final-cta{display:grid;grid-template-columns:.4fr 1fr auto;align-items:end;gap:2rem;padding:clamp(6rem,9vw,9rem) var(--pad)}.case-final-cta h2{font-size:clamp(4rem,9vw,10rem);line-height:.82;letter-spacing:-.06em;text-transform:uppercase}
.blog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6rem 1.5rem;padding:clamp(6rem,9vw,9rem) var(--pad)}.blog-card{min-width:0;container-type:inline-size}.blog-card figure{position:relative;aspect-ratio:1.45;overflow:hidden;background:var(--black)}.blog-card:nth-child(3n){grid-column:1/-1}.blog-card:nth-child(3n) figure{aspect-ratio:2.2}.blog-card img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}.blog-card:hover img{transform:scale(1.035)}.blog-card figure span{position:absolute;top:1rem;left:1rem;padding:.4rem;background:var(--cream);font-size:.62rem}.blog-card>div{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(9rem,.65fr) auto;grid-template-areas:"meta meta meta" "title excerpt link";align-items:end;gap:1rem;padding:1.2rem 0;border-bottom:1px solid}.blog-card .eyebrow{grid-area:meta;padding-bottom:.35rem}.blog-card h2{grid-area:title;min-width:0;padding-bottom:.12em;font-size:clamp(2rem,5cqw,3.5rem);line-height:.9;letter-spacing:-.05em;overflow-wrap:normal;word-break:normal;hyphens:none}.blog-card>div>p:not(.eyebrow){grid-area:excerpt;max-width:24ch}.blog-card b{grid-area:link;font-size:.65rem;text-transform:uppercase;white-space:nowrap}@supports not (font-size:1cqw){.blog-card h2{font-size:clamp(2rem,2.5vw,3.5rem)}}.article-hero{min-height:90vh;padding:calc(var(--head) + 3rem) var(--pad) 4rem}.article-hero .eyebrow{margin-top:15vh}.article-hero h1{max-width:12ch;margin-top:2rem;font-size:clamp(4rem,10vw,11rem);line-height:.82;letter-spacing:-.06em}.article-hero>p:last-child{max-width:34ch;margin:4rem 0 0 auto;font-size:clamp(1.1rem,2vw,1.6rem)}.article-cover{height:90vh;overflow:hidden;background:var(--black)}.article-cover img{width:100%;height:100%;object-fit:cover}.article-body{padding:clamp(6rem,10vw,10rem) var(--pad)}.article-body section{display:grid;grid-template-columns:.3fr 1fr;max-width:1100px;margin:0 auto;padding:4rem 0;border-top:1px solid}.article-body section>span{font-size:.65rem}.article-body h2{max-width:16ch;font-size:clamp(2.7rem,5vw,5.5rem);line-height:.92;letter-spacing:-.05em}.article-body h3{margin-top:3rem;font-size:1.5rem}.article-body p{max-width:42ch;margin-top:2rem;font-size:1.08rem;line-height:1.6}
@media(max-width:1100px) and (min-width:601px){.blog-card>div{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"meta meta" "title title" "excerpt link";align-items:start}.blog-card b{width:max-content;margin-top:.5rem}}
@media(max-width:900px){.menu-physics{top:var(--head);right:0;bottom:0;left:38%;opacity:.48;pointer-events:none}.home-team,.textile-editorial,.case-context,.case-direction,.case-3d,.case-techpack,.case-final-cta{grid-template-columns:1fr}.team-grid article{min-height:34vh}.garment-board{min-height:540px}.textile-specs{grid-template-columns:repeat(3,1fr)}.motion-layout{grid-template-columns:1fr}.motion-stage{order:2;aspect-ratio:.95}.motion-copy{order:1}.case-direction blockquote,.direction-tokens{grid-column:1}.masonry--4{column-count:3}.case-final-cta .btn{margin-top:2rem}}
@media(max-width:600px){.menu-physics{left:30%;opacity:.38}.menu-physics .brand-mark{width:36px;height:48px}.home-team{padding:5rem var(--pad)}.team-intro h2,.textile-editorial h2,.motion-copy h2{font-size:15vw}.team-grid article{grid-template-columns:.4fr 1fr;min-height:270px}.team-letter{font-size:30vw}.team-grid h3{font-size:11vw}.garment-board{min-height:420px}.garment>b{font-size:10vw}.textile-specs{grid-template-columns:repeat(2,1fr)}.motion-layout{padding-top:4rem}.motion-stage{aspect-ratio:.95}.motion-core{width:24%}.case-context h2{font-size:11vw}.case-direction blockquote{font-size:11vw}.masonry,.masonry--2,.masonry--3,.masonry--4{column-count:1}.masonry figure:nth-child(n){height:72vw;min-height:240px}.video-slider{grid-template-columns:88vw 52vw}.case-3d,.case-techpack{gap:2rem}.glb-placeholder,.techpack-sheet{min-height:52vh}.case-final-cta h2{font-size:14vw}.blog-grid{grid-template-columns:1fr;gap:4rem}.blog-card:nth-child(3n){grid-column:auto}.blog-card:nth-child(3n) figure{aspect-ratio:1.45}.blog-card>div{grid-template-columns:minmax(0,1fr);grid-template-areas:"meta" "title" "excerpt" "link"}.blog-card b{margin-top:1rem}.article-hero{min-height:75vh}.article-hero h1{font-size:14vw;overflow-wrap:anywhere}.article-cover{height:55vh}.article-body section{grid-template-columns:2.5rem 1fr}.article-body h2{font-size:10vw}}
@media(max-width:600px){.hero{grid-template-rows:auto 180px auto auto;gap:1rem;min-height:100svh;padding-top:calc(var(--head) + 1.25rem);padding-bottom:1.5rem}.hero-meta{grid-row:1}.hero-stage{position:relative;grid-row:2;top:auto;right:auto;width:100%;height:180px;margin-top:.25rem;opacity:1}.hero-logo{top:17%;left:calc(50% - 15px);width:30px;height:40px}.hero-card{width:64%;min-height:36px;padding:.5rem .7rem;border-width:1px;font-size:.55rem;box-shadow:0 3px 0 var(--b16)}.hero-card.c1{top:3%;left:7%}.hero-card.c2{top:37%;right:3%}.hero-card.c3{top:71%;left:15%}.hero-title{grid-row:3;align-self:start;padding:.5rem 0;font-size:14.2vw;line-height:.8}.hero-bottom{grid-row:4;gap:1rem}.runway{height:auto}.runway-sticky{position:relative;top:auto;height:auto;min-height:0;padding:calc(var(--head) + 1.5rem) var(--pad) 5rem;overflow:hidden}.runway-head{display:grid;grid-template-columns:1fr auto;align-items:end;gap:.75rem}.runway-head .line-link{grid-column:1/-1;width:max-content}.runway-swipe{display:block;font-size:.58rem;font-weight:800;text-transform:uppercase}.runway-track{width:auto;margin-right:calc(var(--pad)*-1);padding-top:2rem;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scrollbar-width:none;transform:none!important;will-change:auto;-webkit-overflow-scrolling:touch}.runway-track::-webkit-scrollbar{display:none}.runway-track>a{flex:0 0 78vw;width:78vw;scroll-snap-align:start}.runway-track figure{height:auto;aspect-ratio:4/5}.runway-track h3{font-size:10vw}.team-grid article:before{left:28.57%}.team-grid small{padding:1.25rem 1.25rem 0}.team-grid h3{padding:0 1.25rem}.team-grid article>p{padding:1rem 1.25rem 1.25rem}}
/* Every project capture is 1440 x 900. Preserve that complete frame everywhere. */
.runway-track figure,.archive-card figure,.case-cover,.case-gallery figure,.blog-card figure,.blog-card:nth-child(3n) figure{height:auto;min-height:0;aspect-ratio:8/5}
.runway-track figure,.archive-card figure,.case-gallery figure,.blog-card figure{background:var(--black)}
.runway-track img,.archive-card img,.case-cover img,.case-gallery img,.blog-card img{width:100%;height:100%;object-fit:contain}
.case-gallery figure:first-child img,.case-gallery figure:nth-child(2) img{object-position:center;transform:none}
.runway-track a:hover img,.archive-card:hover img,.blog-card:hover img{transform:none}
.masonry-placeholder{background:#b8b7b2}.masonry-placeholder img{filter:saturate(0)}
.article-rich-content h1{margin:1.25em 0 .4em;font-size:clamp(3.5rem,7vw,7.5rem);line-height:.8;letter-spacing:-.075em}.article-rich-content h5{margin:1.8em 0 .5em;font-size:clamp(1.2rem,1.8vw,1.7rem)}.article-rich-content h6{margin:1.8em 0 .5em;font-size:1rem}

.case-brand-system{padding:clamp(5rem,9vw,9rem) var(--pad);color:var(--black);background:var(--cream)}
.case-brand-head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(260px,.9fr);gap:clamp(2rem,7vw,7rem);align-items:end;padding-bottom:clamp(2rem,5vw,4rem);border-bottom:1px solid currentColor}
.case-brand-head h2{margin-top:2rem;font-size:clamp(4rem,10vw,11rem);font-weight:820;line-height:.76;letter-spacing:-.075em;text-transform:uppercase}
.case-brand-head p:not(.eyebrow){max-width:34ch;font-size:clamp(1.05rem,1.8vw,1.45rem);line-height:1.15}
.brand-system-grid{display:grid;gap:1rem;margin-top:1rem}
.brand-color-grid{display:grid;grid-template-columns:repeat(var(--brand-color-cols,3),minmax(0,1fr));gap:1px;border:1px solid currentColor;background:currentColor}
.brand-palette-chip{display:flex;min-height:clamp(150px,18vw,260px);flex-direction:column;justify-content:space-between;padding:1rem;border:0}
.brand-palette-chip{color:var(--chip-fg,var(--black));background:var(--chip-bg,var(--cream))}
.brand-palette-chip span,.brand-combo>span:not(.brand-logo-mask){font-size:.62rem;font-weight:850;text-transform:uppercase}
.brand-palette-chip strong{font-size:clamp(1.05rem,1.6vw,1.65rem);line-height:.9;letter-spacing:-.04em}
.brand-combination-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;border:1px solid currentColor;background:currentColor;background-image:var(--brand-bg)}
.brand-combo{position:relative;display:flex;min-height:clamp(260px,32vw,520px);align-items:center;justify-content:center;overflow:hidden;padding:1rem;color:var(--combo-fg,var(--black));background:var(--combo-bg,var(--cream))}
.brand-combo:before{position:absolute;inset:0;background-image:linear-gradient(to right,currentColor 1px,transparent 1px),linear-gradient(to bottom,currentColor 1px,transparent 1px);background-size:33.333% 100%,100% 33.333%;content:"";opacity:.1}
.brand-combo>span:not(.brand-logo-mask){position:absolute;top:1rem;left:1rem}
.brand-combo strong{position:absolute;right:1rem;bottom:1rem;font-size:.62rem;font-weight:850}
.brand-combo .brand-logo-mask{position:relative;z-index:1;display:block;width:min(50%,360px);height:50%;margin:0 auto;background:var(--logo-color,currentColor);-webkit-mask:var(--logo-src) center/contain no-repeat;mask:var(--logo-src) center/contain no-repeat}
.brand-combo img{position:relative;z-index:1;max-width:50%;max-height:50%;object-fit:contain}
.project-logo-fallback{display:grid;width:100%;height:100%;min-height:inherit;place-items:center;color:var(--fallback-fg,var(--cream));background:var(--fallback-bg,var(--black));background-image:linear-gradient(to right,currentColor 1px,transparent 1px),linear-gradient(to bottom,currentColor 1px,transparent 1px);background-size:33.333% 100%,100% 33.333%;overflow:hidden}
.project-logo-fallback .brand-logo-mask{display:block;width:max(25%,min(48%,360px));height:max(25%,min(48%,260px));background:var(--logo-color,currentColor);-webkit-mask:var(--logo-src) center/contain no-repeat;mask:var(--logo-src) center/contain no-repeat}
@media(max-width:1100px){.brand-color-grid--7,.brand-color-grid--8{grid-template-columns:repeat(3,minmax(0,1fr))}.brand-combination-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.case-brand-head{grid-template-columns:minmax(0,1fr)}}
@media(max-width:600px){.case-brand-head h2{font-size:16vw}.brand-color-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.brand-color-grid--3,.brand-color-grid--6{grid-template-columns:repeat(3,minmax(0,1fr))}.brand-combination-grid{grid-template-columns:minmax(0,1fr)}.brand-combo{min-height:260px}.brand-logo-mask{width:50%;height:50%}}
.project-logo-fallback{position:relative;isolation:isolate;background-image:none!important}
.project-logo-fallback:before{position:absolute;inset:0;z-index:0;background-image:linear-gradient(to right,currentColor 1px,transparent 1px),linear-gradient(to bottom,currentColor 1px,transparent 1px);background-size:33.333% 100%,100% 33.333%;content:"";opacity:.12;pointer-events:none}
.runway-track figure .project-logo-fallback .brand-logo-mask,.archive-card figure .project-logo-fallback .brand-logo-mask,.project-logo-fallback .brand-logo-mask{position:relative!important;inset:auto!important;z-index:1;align-self:center;justify-self:center;margin:auto!important;padding:0!important;color:inherit!important;background:var(--logo-color,currentColor)!important;border:0!important;font-size:inherit!important;font-weight:inherit!important;line-height:1!important;transform:none!important}

/* V1 admin-driven project archive refinements */
.filter-bar{align-items:center}
.grid-switch{display:flex;gap:.35rem;margin-left:auto}.grid-switch button{display:grid;grid-auto-flow:column;grid-auto-columns:.38rem;align-items:center;min-width:3rem;gap:.16rem;padding:.55rem .65rem}.grid-switch i{display:block;width:.34rem;height:.9rem;background:currentColor;border-radius:999px;opacity:.9}.grid-switch span{margin-left:.35rem}
.archive-grid[data-columns="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}
.archive-grid[data-columns="3"]{grid-template-columns:repeat(3,minmax(0,1fr));gap:4rem 1.1rem}
.archive-grid[data-columns="4"]{grid-template-columns:repeat(4,minmax(0,1fr));gap:3rem .9rem}
.archive-card>div{grid-template-columns:minmax(0,2fr) minmax(8rem,1fr) .4fr auto}
.archive-card h2{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(1.75rem,3.1vw,3.7rem)}
.archive-grid[data-columns="3"] .archive-card>div,.archive-grid[data-columns="4"] .archive-card>div{grid-template-columns:minmax(0,1fr) auto}
.archive-grid[data-columns="3"] .archive-card h2,.archive-grid[data-columns="4"] .archive-card h2{font-size:clamp(1.25rem,2.1vw,2.6rem)}
.archive-grid[data-columns="3"] .archive-card p:first-of-type,.archive-grid[data-columns="4"] .archive-card p:first-of-type,.archive-grid[data-columns="3"] .archive-card b,.archive-grid[data-columns="4"] .archive-card b{grid-column:1}
.archive-grid[data-columns="3"] .archive-card p:nth-of-type(2),.archive-grid[data-columns="4"] .archive-card p:nth-of-type(2){grid-row:1;grid-column:2}
.project-logo-fallback:before{opacity:.08!important}
.runway-track figure .project-logo-fallback .brand-logo-image,.archive-card figure .project-logo-fallback .brand-logo-image,.project-logo-fallback .brand-logo-image,.brand-combo .brand-logo-image{position:relative!important;inset:auto!important;z-index:1;align-self:center;justify-self:center;display:block;width:max(25%,min(48%,360px));height:max(25%,min(48%,260px));max-width:52%;max-height:52%;margin:auto!important;object-fit:contain!important;transform:none!important}
@media(max-width:900px){.archive-grid[data-columns]{grid-template-columns:minmax(0,1fr)}.grid-switch{display:none}}
@media(max-width:600px){.filter-bar{align-items:flex-start}.archive-card h2{white-space:normal;font-size:10vw}}
