:root{--black:#0a0a0a;--ink:#1a1a1a;--grey-700:#4a4a4a;--grey-500:#7a7a7a;--grey-300:#cfcfcf;--grey-100:#f2f2f2;--white:#fff;--font-display:"Inter Tight", "Helvetica Neue", Arial, sans-serif;--font-body:"Inter", "Helvetica Neue", Arial, sans-serif;--gutter:clamp(16px, 4vw, 48px);--section-y:clamp(72px, 12vw, 160px);--header-h:72px;--ease:cubic-bezier(.22, 1, .36, 1)}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--header-h);-webkit-text-size-adjust:100%}body{background:var(--white);color:var(--black);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.6;overflow-x:hidden}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-weight:500;line-height:1.05}p{margin:0}a{color:inherit;text-decoration:none}img,svg{max-width:100%;display:block}::selection{background:var(--black);color:var(--white)}:focus-visible{outline-offset:3px;outline:2px solid}.container{width:100%;max-width:1440px;padding:0 var(--gutter);margin:0 auto}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.eyebrow{letter-spacing:.18em;text-transform:uppercase;color:var(--grey-500);font-size:12px;font-weight:500;display:inline-block}.btn{border:1px solid var(--black);background:var(--black);min-height:52px;color:var(--white);font:500 14px/1 var(--font-body);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:background .3s var(--ease), color .3s var(--ease);justify-content:center;align-items:center;gap:12px;padding:0 28px;display:inline-flex}.btn:hover{background:var(--white);color:var(--black)}.btn:disabled{opacity:.6;cursor:wait}.btn--outline{color:var(--black);background:0 0}.btn--outline:hover{background:var(--black);color:var(--white)}.header{z-index:50;height:var(--header-h);transition:background .3s var(--ease), border-color .3s var(--ease);border-bottom:1px solid #0000;position:fixed;inset:0 0 auto}.header.is-scrolled{-webkit-backdrop-filter:blur(10px);border-bottom-color:var(--grey-300);background:#ffffffeb}.header__inner{justify-content:space-between;align-items:center;height:100%;display:flex}.logo{z-index:2;font-family:var(--font-display);letter-spacing:.24em;align-items:baseline;gap:10px;font-size:20px;font-weight:700;display:inline-flex;position:relative}.logo span{letter-spacing:.2em;text-transform:uppercase;font-size:13px;font-weight:300}.nav__list{gap:clamp(20px,3vw,44px);margin:0;padding:0;list-style:none;display:flex}.nav__list a{letter-spacing:.12em;text-transform:uppercase;padding:6px 0;font-size:13px;font-weight:500;position:relative}.nav__list a:after{content:"";transform-origin:100%;width:100%;height:1px;transition:transform .4s var(--ease);background:currentColor;position:absolute;bottom:0;left:0;transform:scaleX(0)}.nav__list a:hover:after{transform-origin:0;transform:scaleX(1)}.menu-toggle{z-index:2;cursor:pointer;background:0 0;border:0;width:44px;height:44px;margin-right:-10px;display:none;position:relative}.menu-toggle span{height:1.5px;transition:transform .4s var(--ease), top .4s var(--ease);background:currentColor;position:absolute;left:10px;right:10px}.menu-toggle span:first-child{top:17px}.menu-toggle span:last-child{top:26px}.is-open .menu-toggle span:first-child{top:21px;transform:rotate(45deg)}.is-open .menu-toggle span:last-child{top:21px;transform:rotate(-45deg)}.hero{min-height:100svh;padding-top:calc(var(--header-h) + 48px);border-bottom:1px solid var(--grey-300);grid-template-columns:1fr;align-items:end;padding-bottom:clamp(48px,8vw,96px);display:grid;position:relative}.hero__inner{z-index:1;position:relative}.hero__title{letter-spacing:-.04em;margin:24px 0 48px;padding-right:calc(min(30vw,420px) + 32px);font-size:clamp(44px,7.2vw,132px);font-weight:400;line-height:.95}.hero__title em{font-style:italic;font-weight:300}.hero__foot{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:32px;display:flex}.hero__foot p{max-width:440px;color:var(--grey-700);font-size:17px}.hero__art{top:calc(var(--header-h) + 24px);right:var(--gutter);aspect-ratio:4/5;width:min(30vw,420px);position:absolute;overflow:hidden}.hero__art .project-art{width:100%;height:100%}.section{padding:var(--section-y) 0}.section--dark{background:var(--black);color:var(--white)}.section--dark .eyebrow{color:var(--grey-300)}.section--muted{background:var(--grey-100)}.section-head{flex-direction:column;gap:16px;margin-bottom:clamp(40px,6vw,80px);display:flex}.section-head h2{letter-spacing:-.03em;font-size:clamp(36px,6vw,84px);font-weight:400}.projects{grid-template-columns:repeat(3,1fr);gap:clamp(24px,3vw,48px) clamp(16px,2vw,32px);display:grid}.project:nth-child(3n+2){margin-top:clamp(40px,8vw,120px)}.project__media{aspect-ratio:4/5;background:var(--grey-100);overflow:hidden}.project__media .project-art{filter:grayscale();width:100%;height:100%;transition:transform 1.2s var(--ease), filter .6s var(--ease)}.project:hover .project-art{filter:invert();transform:scale(1.05)}.project__meta{border-bottom:1px solid var(--grey-300);justify-content:space-between;align-items:baseline;gap:12px;padding-top:16px;padding-bottom:12px;display:flex}.project__meta h3{font-size:clamp(18px,1.6vw,22px)}.project__meta span{color:var(--grey-500);white-space:nowrap;font-size:13px}.studio{grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,96px);display:grid}.studio .section-head{margin-bottom:0}.studio__body{color:var(--grey-300);flex-direction:column;gap:24px;display:flex}.studio__body .lead{color:var(--white);font-family:var(--font-display);letter-spacing:-.01em;font-size:clamp(22px,2.4vw,32px);font-weight:300;line-height:1.3}.principles{border-top:1px solid var(--grey-700);margin:24px 0 0;padding:0;list-style:none}.principles li{border-bottom:1px solid var(--grey-700);grid-template-columns:140px 1fr;gap:16px;padding:20px 0;display:grid}.principles strong{color:var(--white);letter-spacing:.08em;text-transform:uppercase;padding-top:2px;font-size:13px;font-weight:500}.services{border-top:1px solid var(--black);grid-template-columns:repeat(4,1fr);display:grid}.service{border-right:1px solid var(--grey-300);transition:background .4s var(--ease), color .4s var(--ease);flex-direction:column;gap:16px;padding:32px clamp(16px,2vw,32px) 40px;display:flex}.service:first-child{padding-left:0}.service:last-child{border-right:0}.service__num{color:var(--grey-500);font-size:13px}.service h3{margin-top:40px;font-size:clamp(20px,1.8vw,26px)}.service p{color:var(--grey-700);font-size:15px}.process{grid-template-columns:repeat(4,1fr);gap:clamp(16px,2vw,32px);margin:0;padding:0;list-style:none;display:grid}.process__step{background:var(--white);flex-direction:column;gap:12px;min-height:280px;padding:clamp(24px,3vw,40px);display:flex}.process__step span{font-family:var(--font-display);letter-spacing:-.04em;margin-bottom:auto;font-size:clamp(48px,5vw,72px);font-weight:300;line-height:1}.process__step h3{margin-top:32px;font-size:22px}.process__step p{color:var(--grey-700);font-size:15px}.contact{grid-template-columns:5fr 7fr;gap:clamp(40px,6vw,96px);display:grid}.contact__intro h2{letter-spacing:-.03em;margin:16px 0 24px;font-size:clamp(36px,4.6vw,68px);font-weight:400}.contact__intro>p{color:var(--grey-700);max-width:420px}.contact__details{gap:20px;margin:40px 0 0;display:grid}.contact__details dt{letter-spacing:.18em;text-transform:uppercase;color:var(--grey-500);font-size:12px}.contact__details dd{word-break:break-word;margin:4px 0 0;font-size:18px}.contact__details a{border-bottom:1px solid}.contact-form{flex-direction:column;gap:28px;display:flex}.form-row{grid-template-columns:1fr 1fr;gap:28px;display:grid}.field{flex-direction:column;gap:8px;display:flex}.field label{letter-spacing:.14em;text-transform:uppercase;font-size:12px;font-weight:500}.field input,.field select,.field textarea{border:0;border-bottom:1px solid var(--grey-300);width:100%;color:var(--black);font:16px/1.5 var(--font-body);transition:border-color .3s var(--ease);appearance:none;background:0 0;border-radius:0;padding:12px 0}.field select{background-image:linear-gradient(45deg, transparent 50%, var(--black) 50%), linear-gradient(135deg, var(--black) 50%, transparent 50%);cursor:pointer;background-position:calc(100% - 10px),calc(100% - 5px);background-repeat:no-repeat;background-size:5px 5px}.field textarea{resize:vertical;min-height:120px}.field input:focus,.field select:focus,.field textarea:focus{border-bottom-color:var(--black);outline:none}.field.has-error input,.field.has-error textarea{border-bottom-color:var(--black);border-bottom-width:2px}.field__error,.form-error{font-size:13px;font-weight:500}.field__error:before{content:"— "}.form-error a{border-bottom:1px solid}.contact-form .btn{align-self:flex-start}.form-success{border:1px solid var(--black);flex-direction:column;align-items:flex-start;gap:16px;padding:clamp(32px,4vw,56px);display:flex}.form-success h3{font-size:36px;font-weight:400}.form-success p{color:var(--grey-700);margin-bottom:8px}.footer{background:var(--black);color:var(--white);padding:48px 0}.footer__inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;display:flex}.footer p{color:var(--grey-300);font-size:13px}.footer__top{letter-spacing:.12em;text-transform:uppercase;font-size:13px}.reveal{opacity:0;transition:opacity 1s var(--ease), transform 1s var(--ease);transform:translateY(32px)}.reveal.is-visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transition:none;transform:none}.project__media .project-art{transition:none}}@media (width<=1024px){.hero{align-items:start}.hero__title{padding-right:0;font-size:clamp(44px,9vw,96px)}.hero__art{width:auto;margin:48px var(--gutter) 0;aspect-ratio:16/9;position:relative;top:auto;right:auto}.projects{grid-template-columns:repeat(2,1fr)}.project:nth-child(3n+2){margin-top:0}.project:nth-child(2n){margin-top:clamp(40px,8vw,96px)}.studio,.contact{grid-template-columns:1fr}.services{grid-template-columns:repeat(2,1fr)}.service,.service:first-child{border-right:0;border-bottom:1px solid var(--grey-300);padding-left:0;padding-right:24px}.service:nth-child(odd){border-right:1px solid var(--grey-300)}.service:nth-child(2n){padding-left:24px}.process{grid-template-columns:repeat(2,1fr)}}@media (width<=820px){.menu-toggle{display:block}.nav{background:var(--black);color:var(--white);padding:var(--header-h) var(--gutter) 48px;opacity:0;visibility:hidden;transition:opacity .4s var(--ease), visibility .4s;align-items:center;display:flex;position:fixed;inset:0}.is-open .nav{opacity:1;visibility:visible}.is-open .logo,.is-open .menu-toggle{color:var(--white)}.header.is-open{-webkit-backdrop-filter:none;background:0 0;border-bottom-color:#0000}.nav__list{flex-direction:column;gap:8px}.nav__list a{font-family:var(--font-display);letter-spacing:-.02em;text-transform:none;font-size:clamp(36px,10vw,56px);font-weight:400}}@media (width<=640px){:root{--header-h:64px}.logo span{display:none}.hero__art{aspect-ratio:16/10;margin-top:40px}.hero__title{margin:20px 0 32px}.hero__foot{flex-direction:column;align-items:stretch}.hero__foot .btn{width:100%}.projects{grid-template-columns:1fr}.project:nth-child(2n){margin-top:0}.principles li{grid-template-columns:1fr;gap:4px}.services,.process,.form-row{grid-template-columns:1fr}.service,.service:nth-child(odd),.service:nth-child(2n){border-right:0;padding:28px 0 32px}.service h3{margin-top:16px}.process__step{min-height:0}.contact-form .btn{width:100%}.footer__inner{flex-direction:column;align-items:flex-start}}
