@import url('assets/fonts/fonts.css');

:root{--paper:#ffffff;--ink:#111111;--accent:#111111;--brand:#d32f2f;--line:#d1d1d1;--muted:#666666;--gutter:32px;--font:'Be Vietnam Pro',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font:400 14px/1.65 var(--font);-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;border:0;background:none}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:5px}img{display:block;width:100%;height:auto}h1,h2,h3,p{margin:0}svg{fill:none;stroke:currentColor;stroke-width:1.5}::selection{background:var(--accent);color:white}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link{position:fixed;top:-100px;left:20px;z-index:100;padding:12px 20px;background:var(--accent);color:white}.skip-link:focus{top:12px}.header,main,footer,.mobile-nav{max-width:2000px;margin-inline:auto}
.header{display:flex;align-items:center;gap:40px;padding:25px var(--gutter) 28px}.wordmark{color:var(--brand);font-size:54px;font-weight:900;line-height:1.1;letter-spacing:-.075em;white-space:nowrap}.header-note{font-size:9px;line-height:1.6;margin-left:10px;letter-spacing:.02em}.main-nav{display:flex;align-items:center;gap:35px;margin-left:auto;font-size:13px}.main-nav a{position:relative;padding:10px 0}.main-nav a::after{position:absolute;content:'';height:1px;background:currentColor;bottom:3px;left:0;right:100%;transition:right .25s}.main-nav a:hover::after{right:0}.main-nav .active{color:var(--accent)}.nav-count{font-size:9px;vertical-align:super;margin-left:5px}.main-nav a:last-child{display:flex;gap:15px}.menu-toggle{display:none;width:44px;height:44px;padding:10px 5px}.menu-toggle span{display:block;height:1.5px;background:currentColor;margin:7px 0;transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4.25px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4.25px) rotate(-45deg)}.mobile-nav{padding:0 var(--gutter) 25px}.mobile-nav a{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:15px 0;font-size:22px}.mobile-nav a span{font-size:12px}
.hero{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr);align-items:end;gap:clamp(30px,5vw,90px);padding:38px var(--gutter) 64px}.eyebrow{font-size:10px;letter-spacing:.075em;font-weight:500;line-height:1.5}.hero .eyebrow{display:flex;align-items:center;gap:9px;margin-bottom:24px}.status-dot{width:6px;height:6px;border-radius:50%;background:var(--accent)}h1{font-size:clamp(43px,5.5vw,106px);font-weight:900;line-height:1.2;letter-spacing:-.055em}h1>span{display:block;white-space:nowrap}.outline{color:transparent;-webkit-text-stroke:1px var(--ink)}.hero-final{color:var(--accent)}.expertise{padding-bottom:5px}.expertise h2{font-size:11px;font-weight:500}.expertise ul{display:grid;grid-template-columns:1fr 1fr;gap:18px 22px;margin:22px 0 0;padding:0;list-style:none;font-size:11px}.expertise li{border-top:1px solid var(--line);padding-top:10px}.hero-explore{display:inline-flex;align-items:center;gap:24px;margin-top:35px;font-size:10px}.hero-explore svg{width:20px;height:20px;transition:transform .2s}.hero-explore:hover svg{transform:translateY(4px)}
.work{scroll-margin-top:12px}.work-toolbar{display:flex;justify-content:space-between;align-items:center;padding:14px var(--gutter) 18px}.work-toolbar h2 span{margin-left:20px;color:var(--muted);font-size:9px}.work-period{font-size:10px;color:var(--muted)}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:auto;gap:8px}.project{min-width:0;position:relative;aspect-ratio:1}.project:nth-child(1){grid-column:span 2;grid-row:span 2}.project:nth-child(7){grid-column:2 / span 2;grid-row:4 / span 2}.project:nth-child(8){grid-column:1;grid-row:4}.project:nth-child(9){grid-column:1;grid-row:5}.project-link{display:block;width:100%;height:100%;position:relative;overflow:hidden;container-type:inline-size;background:#e8e8e8}.project-visual{height:100%;width:100%;object-fit:cover;transition:transform .65s cubic-bezier(.2,.65,.2,1)}.project-hover{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;gap:20px;padding:6%;background:#262626;color:#fff;opacity:0;transition:opacity .25s ease;pointer-events:none}.project-hover h3{font-size:clamp(23px,7cqw,72px);font-weight:400;line-height:1.15;letter-spacing:-.04em}.project-hover-footer{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.project-hover p{font-size:clamp(12px,3.8cqw,36px);line-height:1.3;letter-spacing:-.025em;max-width:100%}.project-link:focus-visible{outline-offset:-4px;z-index:1}.project-link:focus-visible .project-hover{opacity:1}.project-mobile-caption{display:none}.work-bottom{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:25px var(--gutter) 55px;font-size:11px}.text-link{display:inline-flex;align-items:center;justify-content:center;gap:28px;border:1px solid #b9b9b9;border-radius:4px;min-height:44px;padding:10px 17px;font-size:11px;transition:border-color .2s,color .2s}.text-link:hover{color:var(--accent);border-color:var(--accent)}
.section-grid{display:grid;grid-template-columns:28% 1fr;gap:45px;padding:54px var(--gutter) 65px;border-top:1px solid var(--line)}.section-label>span{font-size:10px;letter-spacing:.035em}.section-label>p{font-size:12px;line-height:1.8;margin-top:25px;color:var(--muted)}.studio-main h2{font-size:clamp(32px,3.7vw,66px);line-height:1.3;font-weight:500;letter-spacing:-.055em}.studio-main h2 em{font-style:normal;color:var(--accent)}.studio-copy{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin:32px 0 45px}.studio-copy p{font-size:12px;line-height:1.9;color:#555555}.principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.principles>div{border-top:1px solid var(--line);padding-top:15px}.principle-number{font-size:11px;color:var(--accent)}.principles h3{font-size:15px;font-weight:500;margin:24px 0 10px;letter-spacing:-.035em}.principles p{font-size:11px;color:var(--muted);line-height:1.8}.services-overview{padding-top:45px;padding-bottom:75px}.services details{border-top:1px solid var(--line)}.services details:first-of-type{border-top:0}.services details:last-of-type{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:26px;padding:22px 0;font-size:clamp(19px,2vw,32px);font-weight:400;letter-spacing:-.045em}summary::-webkit-details-marker{display:none}.service-number{font-size:10px;letter-spacing:0;min-width:20px;color:var(--muted)}.plus{position:relative;display:block;width:18px;height:18px;margin-left:auto;flex-shrink:0}.plus::before,.plus::after{content:'';position:absolute;background:currentColor;top:8px;left:0;width:18px;height:1px}.plus::after{transform:rotate(90deg);transition:transform .2s}details[open] .plus::after{transform:rotate(0)}.service-body{padding:0 35px 25px 46px;max-width:650px}.service-body p{font-size:12px;line-height:1.85;color:var(--muted)}.service-body>span{display:block;font-size:9px;margin-top:16px;color:var(--accent);letter-spacing:.01em}
.contact{padding:28px var(--gutter) 32px;background:var(--accent);color:#fff}.contact-top{display:flex;justify-content:space-between;gap:25px;font-size:10px}.contact-link{display:flex;align-items:center;justify-content:space-between;gap:40px;margin:48px 0 44px}.contact h2{font-size:clamp(52px,8vw,150px);font-weight:900;line-height:1.13;letter-spacing:-.065em}.contact h2>span{color:transparent;-webkit-text-stroke:1px #fff}.contact-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:35px;font-size:11px}.contact-bottom a{border-bottom:1px solid #ffffff70;padding-bottom:5px;display:flex;justify-content:space-between;gap:40px}.contact a:focus-visible{outline-color:#fff}footer{display:flex;align-items:center;gap:55px;padding:34px var(--gutter);background:#202020;color:#ffffff}footer .wordmark{font-size:45px}footer p{font-size:10px;color:#c6c6c6}footer>span{font-size:9px;margin-left:auto;color:#c6c6c6}.back-top{font-size:10px;display:flex;gap:18px}
.project-dialog{padding:0;width:min(1100px,calc(100% - 64px));max-height:calc(100dvh - 64px);border:0;background:var(--paper);color:var(--ink);overscroll-behavior:contain}.project-dialog::backdrop{background:#111b;backdrop-filter:blur(5px)}.case-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--paper);position:sticky;top:0;z-index:2;padding:10px 25px;border-bottom:1px solid var(--line);font-size:9px;letter-spacing:.04em}.close-dialog{min-height:40px;display:flex;align-items:center;gap:25px;font-size:11px}.close-dialog span{font-size:28px;line-height:1}.case-heading{padding:30px 32px 15px;display:flex;justify-content:space-between;align-items:flex-end;gap:24px}.case-heading h2{font-size:clamp(32px,5vw,64px);line-height:1.2;letter-spacing:-.055em;font-weight:500;margin-top:10px}.case-description{font-size:13px;line-height:1.8;padding:0 32px 30px;max-width:760px;color:var(--muted)}.case-artwork{background:#e9e9e9;min-height:150px}.case-loading{padding:45px 25px;text-align:center;font-size:12px}.case-artwork img{width:100%;height:auto}.case-bottom{display:flex;justify-content:space-between;align-items:center;padding:20px 32px;gap:20px;font-size:11px}.case-bottom button{min-height:44px;display:flex;gap:25px;align-items:center}.case-bottom button:hover{color:var(--accent)}
@media(hover:hover) and (pointer:fine){.project-link:hover .project-hover{opacity:1}.project-link:hover .project-visual{transform:scale(1.025)}}
@media(min-width:1600px){:root{--gutter:3.5vw}.hero{padding-top:55px;padding-bottom:75px}.header-note{font-size:11px}.main-nav{font-size:15px}.expertise h2,.expertise ul{font-size:13px}.hero-explore{font-size:12px}.studio-copy p{font-size:14px}.principles p{font-size:13px}.service-body p{font-size:14px}}
@media(max-width:1050px){.header-note{display:none}.header{gap:25px}.main-nav{gap:25px}.hero{grid-template-columns:minmax(0,1.5fr) minmax(250px,1fr);gap:28px}h1{font-size:5.4vw}.expertise ul{font-size:10px;gap:16px}.expertise h2{font-size:10px}.hero-explore{margin-top:22px}.section-grid{grid-template-columns:23% 1fr;gap:35px}.principles{gap:20px}.studio-copy{gap:25px}footer{gap:30px}}
@media(max-width:760px){:root{--gutter:22px}.header{padding-top:22px;padding-bottom:20px}.wordmark{font-size:43px}.main-nav{gap:20px;font-size:11px}.hero{grid-template-columns:1fr;padding-top:28px;padding-bottom:38px;gap:32px}.hero .eyebrow{font-size:9px;margin-bottom:22px}h1{font-size:8.45vw;line-height:1.22;letter-spacing:-.05em}.expertise{max-width:560px}.expertise h2{font-size:11px}.expertise ul{font-size:12px;gap:15px 24px;margin-top:18px}.hero-explore{font-size:11px;margin-top:24px}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.project:nth-child(n){grid-column:auto;grid-row:auto}.project:first-child,.project:nth-child(7){grid-column:span 2}.work-toolbar{padding-bottom:16px}.work-period{font-size:9px}.work-bottom{font-size:10px;padding-bottom:40px}.section-grid{display:block;padding-top:30px;padding-bottom:45px}.section-label{margin-bottom:30px;display:flex;align-items:center;justify-content:space-between;gap:20px}.section-label>p{margin:0;font-size:10px}.studio-main h2{font-size:clamp(31px,5.7vw,44px)}.studio-copy p{font-size:12px}.principles h3{font-size:14px}.services-overview{padding-bottom:45px}.contact-link{margin:40px 0}.contact h2{font-size:9vw}.contact-bottom{font-size:10px;gap:20px}.contact-bottom a{gap:18px}footer{flex-wrap:wrap;gap:25px}footer>span{margin-left:0}.back-top{margin-left:auto}.project-dialog{width:calc(100% - 32px);max-height:calc(100dvh - 32px)}}
@media(max-width:540px){:root{--gutter:18px}.header{padding-top:18px;padding-bottom:16px}.wordmark{font-size:40px}.main-nav{display:none}.menu-toggle{display:block;margin-left:auto}.hero{padding-top:24px;padding-bottom:28px}.hero .eyebrow{font-size:8px;letter-spacing:.035em}.expertise ul{font-size:11px}.work-toolbar{padding-top:14px}.work-toolbar h2{font-size:9px}.work-toolbar h2 span{margin-left:12px}.work-period{display:none}.project-grid{display:block}.project:nth-child(n){aspect-ratio:auto;margin-bottom:7px}.project-link{height:auto}.project-visual{aspect-ratio:1;object-fit:cover;transition:none}.project-mobile-caption{display:flex;justify-content:space-between;align-items:center;gap:20px;background:var(--paper);padding:13px var(--gutter) 19px}.project-mobile-caption h3{font-size:13px;font-weight:500}.project-mobile-caption p{font-size:9px;color:var(--muted);margin-top:2px}.project-hover{display:none}.work-bottom{align-items:flex-start;flex-direction:column;gap:18px;padding-top:14px;padding-bottom:35px}.text-link{font-size:10px;min-height:44px}.studio-copy{display:block;margin:25px 0 30px}.studio-copy p+p{margin-top:15px}.principles{grid-template-columns:1fr;gap:22px}.principles>div{display:grid;grid-template-columns:28px 1fr;column-gap:15px;padding-top:15px}.principle-number{grid-row:span 2;padding-top:3px}.principles h3{font-size:15px;margin:0 0 7px}.principles p{font-size:11px;max-width:30em}.studio-main h2{font-size:8vw}.section-label>span{font-size:9px}summary{font-size:19px;gap:16px;padding:20px 0;letter-spacing:-.055em}.service-number{min-width:14px;font-size:9px}.plus{width:14px;height:14px}.plus::before,.plus::after{width:14px;top:6px}.service-body{padding:0 10px 23px 30px}.service-body p{font-size:11px}.service-body>span{font-size:8px;line-height:1.8}.contact{padding-top:24px;padding-bottom:25px}.contact-top{font-size:8px;gap:20px}.contact-top>span:last-child{max-width:125px;text-align:right}.contact-link{margin:35px 0 30px;gap:10px}.contact h2{font-size:10.3vw}.contact-bottom{display:grid;grid-template-columns:1fr 1fr;gap:18px;font-size:9px}.contact-bottom p{grid-column:span 2}.contact-bottom a{gap:8px}footer{padding:25px var(--gutter);display:grid;grid-template-columns:1fr 1fr;gap:25px 15px}footer .wordmark{font-size:39px}footer p{font-size:9px;text-align:right}footer>span{font-size:8px}.back-top{font-size:9px}.project-dialog{width:100%;max-height:calc(100dvh - 24px);margin:24px 0 0}.case-bar{padding:7px 18px;font-size:8px}.case-heading{padding:25px 18px 16px;display:block}.case-heading .text-link{margin-top:18px}.case-heading h2{font-size:38px}.case-description{padding:0 18px 25px;font-size:11px}.case-bottom{padding:16px 18px;font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.project-link:hover .project-visual{transform:none}}
