
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:#080808;color:#f5f5f2;font:15px/1.25 Arial,Helvetica,sans-serif}button,a{color:inherit;font:inherit}a{text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:4px}button{cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid currentColor;outline-offset:5px}h1,h2,h3,p{margin:0;font-weight:400}button{border:0;background:none;padding:0}a,button,summary{-webkit-tap-highlight-color:transparent}.masthead{padding:8px 10px 0;overflow:hidden}.masthead h1{font-size:24.5vw;letter-spacing:-.085em;font-weight:500;line-height:.79;white-space:nowrap;margin-left:-.025em}.masthead-bottom{display:flex;justify-content:space-between;font-size:12px;padding:20px 3px 12px}.bar{display:grid;grid-template-columns:1.05fr 1fr .45fr;gap:30px;padding:17px 14px 18px;position:sticky;top:0;z-index:5;background:#080808}.nav{display:flex;gap:22px;align-items:start;font-size:17px}.intro{font-size:12px;line-height:1.2;max-width:400px}.bar-end{display:flex;justify-content:space-between;gap:15px;font-size:12px}.lead-space{height:120px}.section-line{display:flex;justify-content:space-between;border-top:1px solid #4b4b4b;padding:13px 0;font-size:11px}.portfolio{padding:0 14px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:65px 14px}.project{display:block;width:100%;text-align:left}.project:first-child{grid-column:1/-1}.project figure{margin:0;overflow:hidden;background:#171717;height:52vw;max-height:720px;position:relative}.project:first-child figure{height:70vh;max-height:850px;min-height:420px;background:#ddd}.project img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s}.project:first-child img{object-fit:contain;background:#d1d1d1}.project:hover img{transform:scale(1.025)}.project .number{position:absolute;top:14px;left:14px;z-index:1;font-size:11px;background:#080808;color:white;padding:5px 7px}.project figcaption{display:grid;grid-template-columns:1fr 1fr auto;gap:15px;font-size:12px;padding-top:12px}.project h3{font-size:16px}.project .year{text-align:right}.index-view{display:none}.index-view.active{display:block}.grid.hidden{display:none}.index-row{width:100%;display:grid;grid-template-columns:50px 1.2fr 1fr 100px;gap:15px;text-align:left;border-bottom:1px solid #454545;padding:23px 0;align-items:center}.index-row:hover{background:#1a1a1a}.index-row strong{font-size:26px;font-weight:400}.section{padding:130px 14px 0}.about-body{display:grid;grid-template-columns:1fr 2fr;gap:40px;padding-top:25px}.big-copy{font-size:clamp(30px,4.3vw,66px);line-height:1.04;letter-spacing:-.045em;max-width:1100px}.about-details{display:grid;grid-template-columns:1fr 1fr;gap:45px;margin-top:70px;font-size:16px;line-height:1.4}.about-details h3{font-size:12px;margin-bottom:20px;color:#999}.about-details p+p{margin-top:20px}.services{padding-top:65px}.service{border-top:1px solid #555;padding:18px 0}.service summary{display:flex;justify-content:space-between;cursor:pointer;font-size:24px;list-style:none;letter-spacing:-.03em}.service summary:after{content:'+'}.service[open] summary:after{content:'−'}.service p{font-size:15px;line-height:1.4;max-width:540px;margin-top:20px;color:#c0c0c0}.service summary::-webkit-details-marker{display:none}.contact{margin-top:140px;padding:20px 14px 40px;border-top:1px solid #555}.contact-top{display:flex;justify-content:space-between;font-size:12px}.contact h2{font-size:clamp(45px,9.4vw,145px);line-height:1;letter-spacing:-.065em;margin:80px 0 40px}.contact-email{font-size:clamp(24px,4.7vw,70px);letter-spacing:-.04em}.contact-bottom{display:flex;justify-content:space-between;margin-top:80px;font-size:13px}.footer{padding:24px 14px;border-top:1px solid #555;display:flex;justify-content:space-between;font-size:11px}.footer-logo{padding:10px 8px 22px;font-size:13.4vw;line-height:.85;letter-spacing:-.075em;white-space:nowrap}dialog{border:0;padding:0;background:#101010;color:white;width:96vw;max-width:1500px;max-height:95vh}dialog::backdrop{background:#000b}.dialog-head{display:flex;justify-content:space-between;gap:20px;padding:18px;position:sticky;top:0;background:#101010;z-index:1}.dialog-head h2{font-size:20px}.close{border:1px solid #666;padding:7px 12px}.dialog-image{width:100%;max-height:70vh;object-fit:contain;display:block;background:#1b1b1b}.dialog-meta{display:flex;justify-content:space-between;padding:22px 18px;font-size:13px}.light{background:#f5f5f2;color:#080808}.light .bar{background:#f5f5f2}.light .service p{color:#444}.light .index-row:hover{background:#ddd}.light .about-details h3{color:#555}.light .section-line,.light .service,.light .contact,.light .footer,.light .index-row{border-color:#bbb}@media(max-width:760px){.masthead{padding-top:16px}.masthead-bottom{font-size:10px;padding-top:14px}.bar{grid-template-columns:1fr auto;gap:20px;padding:17px 12px}.nav{gap:17px;font-size:14px}.intro{grid-row:2;grid-column:1/-1;font-size:12px;max-width:350px}.bar-end{font-size:11px}.bar-end .theme-label{display:none}.lead-space{height:65px}.portfolio{padding:0 10px}.grid{gap:40px 10px}.project:first-child figure{height:58vh;min-height:350px}.project figure{height:65vw}.project figcaption{grid-template-columns:1fr auto;gap:5px}.project figcaption .discipline{grid-column:1/-1;grid-row:2;font-size:10px}.project h3{font-size:14px}.project .year{font-size:10px}.section{padding:80px 12px 0}.about-body{grid-template-columns:1fr;gap:25px}.big-copy{font-size:37px}.about-details{gap:25px;margin-top:45px;font-size:14px}.service summary{font-size:21px}.contact{margin-top:90px;padding-left:12px;padding-right:12px}.contact h2{margin-top:55px}.contact-bottom{margin-top:55px}.index-row{grid-template-columns:25px 1fr auto;gap:10px}.index-row strong{font-size:19px}.index-row .index-discipline{grid-column:2;font-size:11px}.index-row .index-year{grid-column:3;grid-row:1}.dialog-meta{gap:20px;font-size:11px}.footer-logo{font-size:13.2vw}.footer{font-size:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.project img{transition:none}}

/* Compact editorial scale; full-width wordmark. */
body{font-size:13px}.masthead{padding:10px 12px 0}.masthead h1{font-size:initial;line-height:0;margin:0;letter-spacing:normal}.masthead svg{display:block;width:100%;height:auto;overflow:visible;fill:currentColor}.masthead svg text{font-family:Arial,Helvetica,sans-serif;font-size:320px;font-weight:500;letter-spacing:-27px}.masthead-bottom{font-size:10px;padding:16px 0 8px}.nav{font-size:13px;gap:20px}.intro{font-size:11px;line-height:1.4;max-width:350px}.bar-end{font-size:12px;align-items:flex-start}.theme-picker{display:flex;gap:7px;white-space:nowrap}.theme-picker button{min-height:24px;opacity:.5}.theme-picker button[aria-pressed=true]{opacity:1;text-decoration:underline;text-underline-offset:4px}.theme-picker span{line-height:24px;opacity:.4}.bar-end>#view{min-height:24px}.project h3{font-size:13px}.project figcaption{font-size:11px}.index-row strong{font-size:18px}.big-copy{font-size:clamp(24px,2.4vw,36px);line-height:1.17;letter-spacing:-.025em;max-width:750px}.about-details{font-size:13px;line-height:1.5;gap:40px;margin-top:45px}.service summary{font-size:17px;letter-spacing:-.015em}.service p{font-size:13px}.contact h2{font-size:clamp(28px,4vw,58px);letter-spacing:-.035em;margin:55px 0 24px}.contact-email{font-size:clamp(20px,2.7vw,38px);letter-spacing:-.025em}.contact-bottom{font-size:12px;margin-top:60px}.dialog-head h2{font-size:17px}.light dialog,.light .dialog-head{background:#f5f5f2;color:#080808}.light .dialog-image{background:#e4e4e1}.light .close{border-color:#aaa}
@media(max-width:760px){.masthead{padding:10px 10px 0}.masthead-bottom{font-size:8px;gap:16px;padding-top:12px}.bar{gap:14px}.nav{font-size:12px;gap:14px}.bar-end{font-size:11px;gap:14px}.intro{font-size:11px}.theme-picker{gap:5px}.big-copy{font-size:26px}.about-details{font-size:12px;gap:24px}.service summary{font-size:16px}.project h3{font-size:12px}.index-row strong{font-size:16px}.contact h2{margin-top:40px}.contact-bottom{font-size:11px}.contact-email{font-size:clamp(18px,5vw,26px)}}

.masthead h1{text-align:center}.masthead svg{overflow:hidden;margin-inline:auto}.masthead svg text{letter-spacing:-18px}
.project:first-child{grid-column:auto}.project figure,.project:first-child figure{height:auto;min-height:0;max-height:none;aspect-ratio:1 / 1}.project img,.project:first-child img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.index-row{grid-template-columns:1.2fr 1fr 100px}
@media(max-width:760px){.index-row{grid-template-columns:1fr auto}.index-row .index-discipline{grid-column:1;grid-row:2}.index-row .index-year{grid-column:2;grid-row:1}}
@media(max-width:520px){.grid{grid-template-columns:1fr}}

:root{--motion-ease:cubic-bezier(.22,1,.36,1)}
body,.bar,dialog,.dialog-head,.dialog-image{transition:background-color .5s ease,color .5s ease}
.section-line,.service,.contact,.footer,.index-row{transition:border-color .5s ease,background-color .5s ease,color .5s ease}
.theme-picker button{transition:opacity .35s ease}.project img{transition:transform 1s var(--motion-ease)}
.project:hover img{transform:none}
@media(hover:hover) and (pointer:fine){.project:hover img{transform:scale(1.035)}.project figcaption{transition:opacity .45s ease}.project:hover figcaption{opacity:.7}}
.nav a,.contact-email,.contact-bottom a,.footer a{position:relative;text-decoration:none}
.nav a:after,.contact-email:after,.contact-bottom a:after,.footer a:after{content:'';position:absolute;left:0;bottom:-4px;height:1px;width:100%;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .5s var(--motion-ease)}
.nav a:hover:after,.contact-email:hover:after,.contact-bottom a:hover:after,.footer a:hover:after{transform:scaleX(1);transform-origin:left}
dialog[open]::backdrop{animation:backdrop-enter .45s ease both}
@keyframes backdrop-enter{from{background:#0000}to{background:#000b}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.project:hover img{transform:none}}

:root{--button-surface:#202020;--button-hover:#343434;--button-selected:#f4f4ef;--button-ink:#080808}
body.light{--button-surface:#e9e9e5;--button-hover:#deded8;--button-selected:#111;--button-ink:#fff}
.bar{grid-template-columns:minmax(270px,1fr) minmax(200px,1fr) auto;gap:24px;align-items:start}
.nav{gap:6px}.nav a,#view,.close,.contact-bottom a,.footer a{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:10px 16px;border-radius:99px;background:var(--button-surface);border:0;white-space:nowrap;text-decoration:none;transition:background-color .5s ease,color .5s ease,transform .55s var(--motion-ease)}
.nav a:after,.contact-bottom a:after,.footer a:after{display:none}
.nav a:hover,#view:hover,.close:hover,.contact-bottom a:hover,.footer a:hover{background:var(--button-hover);transform:translateY(-2px)}
.nav a:active,#view:active,.close:active,.contact-bottom a:active,.footer a:active{transform:scale(.96)}
.bar-end{gap:8px;align-items:center}.theme-picker,.language-picker{position:relative;display:flex;gap:0;padding:3px;border-radius:99px;background:var(--button-surface);isolation:isolate;transition:background-color .5s ease}
.theme-picker span{display:none}.theme-picker button,.language-picker button{min-height:32px;min-width:38px;padding:7px 11px;border-radius:99px;opacity:1;position:relative;z-index:1;transition:color .4s ease,background-color .4s ease;text-decoration:none!important}
.theme-picker:before,.language-picker:before{content:'';position:absolute;z-index:0;left:3px;top:3px;width:calc((100% - 6px)/2);height:calc(100% - 6px);border-radius:99px;background:var(--button-selected);transition:transform .55s var(--motion-ease),background-color .5s ease}
.theme-picker:has([data-theme="light"][aria-pressed="true"]):before,.language-picker:has([data-lang="en"][aria-pressed="true"]):before{transform:translateX(100%)}
.theme-picker button,.language-picker button{flex:1}.theme-picker button[aria-pressed="true"],.language-picker button[aria-pressed="true"]{color:var(--button-ink)}
.project figure:after{content:'↗';position:absolute;right:16px;bottom:16px;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#f5f5f2;color:#080808;font-size:22px;opacity:0;transform:translateY(10px) rotate(-35deg);transition:transform .65s var(--motion-ease),opacity .4s ease}
.project:hover figure:after,.project:focus-visible figure:after{opacity:1;transform:translateY(0) rotate(0)}
.service summary:after{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--button-surface);transition:background-color .5s ease,transform .5s var(--motion-ease)}
.service summary:hover:after{background:var(--button-hover);transform:rotate(90deg)}
@media(max-width:1050px){.bar{grid-template-columns:1fr auto}.intro{grid-row:2;grid-column:1/-1;max-width:480px}}
@media(max-width:620px){.bar{grid-template-columns:1fr;gap:12px}.nav{grid-row:1}.bar-end{grid-row:2;justify-content:flex-start}.intro{grid-row:3}.nav a,#view{min-height:36px;padding:9px 15px}.theme-picker button,.language-picker button{min-height:30px}.project figure:after{width:34px;height:34px;font-size:18px;right:12px;bottom:12px}.footer{align-items:center;gap:12px;flex-wrap:wrap}.contact-bottom{align-items:center;gap:14px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}.nav a:hover,#view:hover,.close:hover{transform:none}}
.inquiry-cta{display:table;border-radius:99px;background:var(--button-selected);color:var(--button-ink);padding:14px 22px;margin-bottom:25px;transition:transform .5s var(--motion-ease)}.inquiry-cta:hover{transform:translateY(-3px);text-decoration:none}.bar{grid-template-columns:minmax(340px,1fr) minmax(180px,1fr) auto}@media(max-width:1120px){.bar{grid-template-columns:1fr auto}.intro{grid-row:2;grid-column:1/-1}}@media(max-width:620px){.bar{grid-template-columns:1fr}.nav{flex-wrap:wrap}.intro{grid-row:3}}
/* Section hierarchy is expressed through spacing. */
.section-line,.service,.contact,.footer,.index-row{border:0!important}
