/* Identity, directory, project. Motion supports the same hierarchy at every size. */
:root{--paper:#f0f0ed;--ink:#242523;--accent:#646951;--line:#c8c9c1}
body{overflow-x:hidden}.masthead{height:104px}.masthead .brand{font-size:16px;letter-spacing:-.035em}.masthead .mast-note{font-size:10px}.masthead nav{gap:32px}.masthead nav button{font-size:11px}.intro{min-height:700px;height:100svh;padding:0 4.2vw;display:flex;flex-direction:column;position:relative;isolation:isolate;overflow:hidden}.intro-top{height:130px;display:flex;align-items:center;justify-content:space-between;flex:none;animation:quiet-reveal 1s var(--ease) .85s both}.intro-monogram{font-size:25px;letter-spacing:-.08em;font-weight:500;white-space:nowrap}.monogram-slash{display:inline-block;margin:0 10px;font-weight:400;color:#8c8e85}.intro-discipline{font-size:11px;line-height:1.65;letter-spacing:.05em;position:absolute;left:51%;top:50px}.intro-top button{font-size:11px;min-height:44px}.intro-composition{flex:1;display:flex;flex-direction:column;justify-content:center;position:relative}.intro-coordinate{position:absolute;top:10%;right:0;font-size:9px;line-height:1.6;letter-spacing:.07em;color:var(--muted);animation:quiet-reveal 1s var(--ease) 1.5s both}.intro-title{font-weight:500;font-size:clamp(80px,12.7vw,240px);line-height:.86;letter-spacing:-.088em;margin:0 0 6vh;padding-top:8px;outline:none}.type-line{display:block;overflow:hidden;padding:0 .05em .07em 0}.type-line>span{display:block;transform-origin:0 100%;animation:type-enter 1.7s var(--ease) .3s both}.type-line.second{margin-left:14.6%;margin-top:-.015em}.type-line.second>span{animation-delay:.48s}.title-period{color:var(--accent)}.intro-rule{height:1px;background:var(--ink);transform-origin:0 50%;animation:rule-enter 1.2s var(--ease) 1s both}.intro-lower{display:grid;grid-template-columns:1fr 1.7fr;gap:8%;padding-top:30px;animation:quiet-reveal 1.1s var(--ease) 1.25s both}.intro-statement{font-size:11px;letter-spacing:.06em;line-height:1.75;margin:4px 0}.intro-entries{display:flex;gap:8%}.intro-entry{flex:1;display:flex;align-items:flex-start;justify-content:space-between;text-align:left;gap:18px;min-height:60px}.entry-label>span{display:block;font-size:18px;letter-spacing:-.025em}.entry-label small{display:block;font-size:9px;letter-spacing:.055em;color:var(--muted);margin-top:10px}.entry-plus{font-size:28px;font-weight:400;line-height:.8;transition:transform .65s var(--ease)}.intro-entry:hover .entry-plus{transform:rotate(90deg)}.intro-entry .entry-label{transition:transform .65s var(--ease)}.intro-entry:hover .entry-label{transform:translateX(7px)}.intro-bottom{display:flex;justify-content:space-between;align-items:center;height:90px;flex:none;font-size:9px;letter-spacing:.035em;color:var(--muted);animation:quiet-reveal 1s var(--ease) 1.65s both}.intro-status{color:var(--ink)}.intro-shutter{position:absolute;inset:0;background:var(--ink);color:var(--paper);z-index:12;display:grid;place-items:center;pointer-events:none;clip-path:inset(0);animation:shutter-open 1.45s var(--ease) .12s both}.intro-shutter span{font-size:clamp(130px,30vw,500px);font-weight:500;letter-spacing:-.1em;line-height:1;transform:scale(1.3);animation:shutter-letter 1.3s var(--ease) both}
@keyframes shutter-open{0%,12%{clip-path:inset(0)}100%{clip-path:inset(0 0 100% 0)}}@keyframes shutter-letter{0%{opacity:0;transform:scale(1.25) translateY(20px)}28%{opacity:1}100%{opacity:1;transform:scale(1) translateY(-15px)}}@keyframes type-enter{from{transform:translateY(115%) skewY(5deg);filter:blur(7px)}to{transform:none;filter:blur(0)}}@keyframes rule-enter{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes quiet-reveal{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}
.directory{height:calc(100svh - 104px);min-height:630px;padding:48px 42px 36px;display:grid;grid-template-columns:300px minmax(0,1fr);gap:5.2vw}.directory-sidebar{display:flex;flex-direction:column;min-height:0;padding-right:10px}.directory-identity h1{font-size:29px;line-height:.94;letter-spacing:-.06em;font-weight:500;margin:0 0 18px;outline:none}.directory-identity p{font-size:10px;line-height:1.7;letter-spacing:.07em;margin:0;color:var(--muted)}.directory-nav{display:flex;flex-direction:column;align-items:flex-start;gap:3px;margin:32px 0 24px}.directory-nav button{font-size:13px;letter-spacing:.01em;min-height:35px;position:relative;color:#898b80;transition:color .3s,transform .5s var(--ease)}.directory-nav button[aria-pressed=true]{color:var(--ink);transform:translateX(12px)}.directory-nav button[aria-pressed=true]:before{content:'';position:absolute;left:-12px;top:50%;width:5px;height:1px;background:var(--ink)}.directory-nav button:hover{color:var(--ink);transform:translateX(12px)}.directory-nav button span{font-size:8px;margin-left:8px;vertical-align:super}.directory-list-heading{border-top:1px solid var(--line);padding:15px 0 13px;display:flex;justify-content:space-between;font-size:8px;color:var(--muted);letter-spacing:.05em}.directory-list{min-height:100px;flex:1;overflow:auto;scrollbar-width:thin;scrollbar-color:#cccdc5 transparent;padding-right:12px;overscroll-behavior:contain}.directory-row{display:grid;grid-template-columns:26px 1fr;gap:7px;text-align:left;align-items:baseline;width:100%;padding:11px 3px;line-height:1.3;color:#7e8076;transition:color .25s,transform .35s var(--ease)}.directory-row span{font-size:8px}.directory-row strong{font-size:11px;font-weight:400;letter-spacing:0;text-transform:uppercase}.directory-row:hover,.directory-row.is-current{color:var(--ink);transform:translateX(5px)}.directory-row.is-current strong{font-weight:500}.back-intro{font-size:9px;text-align:left;min-height:42px;margin-top:16px;color:var(--muted)}.directory-showcase{min-width:0;display:flex;flex-direction:column;justify-content:center;padding-bottom:0}.showcase-top{display:flex;justify-content:space-between;font-size:9px;letter-spacing:.07em;margin-bottom:18px}.showcase-image{position:relative;width:100%;flex:1;min-height:200px;max-height:640px;background:#d9dbd3;overflow:hidden;view-transition-name:project-frame;isolation:isolate;text-align:left}.showcase-image img{display:block;width:100%;height:100%;object-fit:contain;position:absolute;inset:0;transition:transform 1.25s var(--ease),opacity .4s;mix-blend-mode:multiply;opacity:.72}.showcase-image:hover img{transform:scale(1.035)}.showcase-open{position:absolute;bottom:28px;left:30px;right:30px;display:flex;align-items:center;justify-content:space-between;color:var(--ink);font-size:10px;letter-spacing:.07em;z-index:2}.showcase-open>span{font-size:25px;transition:transform .6s var(--ease)}.showcase-image:hover .showcase-open>span{transform:rotate(90deg)}.showcase-edge{position:absolute;width:20px;height:20px;pointer-events:none;border:solid #777b6d}.top-left{top:15px;left:15px;border-width:1px 0 0 1px}.bottom-right{right:15px;bottom:15px;border-width:0 1px 1px 0}.showcase-caption{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-top:26px}.showcase-eyebrow{font-size:8px;letter-spacing:.07em;color:var(--muted)}.showcase-caption h2{font-size:clamp(20px,2.45vw,40px);font-weight:500;letter-spacing:-.055em;text-transform:uppercase;line-height:1.05;margin:10px 0 0}.showcase-caption>span{font-size:9px;flex:none;margin-bottom:3px}.showcase-bottom{border-top:1px solid var(--line);margin-top:25px;padding-top:15px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:8px;letter-spacing:.035em;color:var(--muted)}.showcase-bottom>div{display:flex;gap:18px;align-items:center}.showcase-bottom button{font-size:10px;min-height:32px}.showcase-bottom>div>span{height:1px;width:35px;background:var(--line)}
body[data-view=directory] #open-index{display:none}body[data-view=project] #open-index{border-bottom:1px solid var(--ink)}body[data-view=project] .mast-note{left:37%}#workspace{height:calc(100svh - 104px)}.monument{display:none}.project-footer h1{font-size:clamp(24px,3vw,45px)}.project-footer{min-height:124px}.view-layout{padding:0 0 0 0}.side-label{display:none}.field-heading{height:48px}.stage-wrap{max-width:none!important}.project-info{width:300px;padding-left:40px}.info-open .stage-wrap{width:calc(100% - 300px)}.mode-switch{gap:27px}.mode-switch #mode-model{font-size:9px}.viewer-bar{height:54px}.stage{view-transition-name:project-frame;background:#dfdfd9}.about-content h2{font-size:clamp(48px,8vw,120px)}.view-enter{animation:quiet-reveal .7s var(--ease)}.detail-loading{position:absolute;inset:0;display:grid;place-items:center;font-size:11px;letter-spacing:.1em}.cursor.is-label{border-radius:0;width:76px;height:29px;border:0;background:var(--ink);color:var(--paper)}.cursor.is-orbit{border-radius:50%;color:var(--ink)}.cursor.is-orbit .cursor-word{color:var(--ink)}::view-transition{pointer-events:none}::view-transition-group(project-frame){animation-duration:.85s;animation-timing-function:var(--ease)}::view-transition-old(root),::view-transition-new(root){animation-duration:.35s}
@media(min-width:1700px){.directory{padding-top:65px;grid-template-columns:330px minmax(0,1fr);gap:7vw}.directory-identity h1{font-size:36px}.directory-nav button{font-size:15px}.directory-row strong{font-size:13px}.directory-list-heading{font-size:10px}.directory-showcase{padding-right:3vw}}
@media(max-width:1100px){.directory{grid-template-columns:240px minmax(0,1fr);gap:4vw;padding-left:25px;padding-right:25px}.directory-identity h1{font-size:26px}.intro-title{font-size:12.5vw}.intro-lower{gap:4%;grid-template-columns:1fr 2fr}.entry-label>span{font-size:15px}.intro-entries{gap:7%}.intro-coordinate{font-size:8px}.project-info{width:280px;padding-left:25px}.info-open .stage-wrap{width:calc(100% - 280px)}}
@media(max-width:700px){.intro{min-height:650px;padding:0 22px}.intro-top{height:110px}.intro-monogram{font-size:22px}.intro-discipline{font-size:8px;top:44px;left:44%;line-height:1.6}.intro-top button{font-size:8px}.intro-coordinate{position:static;font-size:8px;margin-bottom:32px}.intro-title{font-size:13.4vw;line-height:.91;margin:0 0 38px}.type-line.second{margin-left:0}.type-line>span{animation-duration:1.35s}.intro-lower{display:block;padding-top:24px}.intro-statement{font-size:9px;margin:0 0 30px}.intro-entries{display:flex;flex-direction:column;gap:0}.intro-entry{min-height:70px;align-items:center;border-bottom:1px solid var(--line);gap:25px}.entry-label>span{font-size:15px}.entry-label small{font-size:8px;margin-top:6px}.entry-plus{font-size:25px}.intro-bottom{height:80px;font-size:7px}.intro-bottom>span:nth-child(2){display:none}.intro-composition{justify-content:center}.intro-shutter span{font-size:48vw}.masthead{height:88px;margin:0 22px}.masthead .brand{font-size:15px}.masthead nav{gap:22px}.masthead nav button{font-size:9px}.directory{height:auto;min-height:calc(100svh - 88px);padding:32px 22px;grid-template-columns:1fr;gap:26px;display:flex;flex-direction:column}.directory-sidebar{display:contents}.directory-identity{order:0}.directory-identity h1{font-size:29px;line-height:.95;margin:0 0 13px}.directory-identity p{font-size:8px;line-height:1.7;margin:0}.directory-nav{order:1;display:flex;flex-direction:row;flex-wrap:wrap;gap:10px 22px;margin:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 0;align-items:center}.directory-nav button{font-size:10px;min-height:30px}.directory-nav button[aria-pressed=true],.directory-nav button:hover{transform:none}.directory-nav button[aria-pressed=true]:before{top:auto;left:0;right:0;bottom:0;width:100%;height:1px}.directory-nav button span{font-size:7px;margin-left:4px}.directory-showcase{order:2;display:block}.showcase-top{font-size:8px;margin-bottom:12px}.showcase-image{display:block;height:42svh;min-height:250px;max-height:440px;view-transition-name:none}.showcase-open{left:20px;right:20px;bottom:20px;font-size:9px}.showcase-caption{margin-top:18px}.showcase-caption h2{font-size:26px}.showcase-eyebrow{font-size:8px}.showcase-caption>span{font-size:8px}.showcase-bottom{margin-top:18px;padding-top:10px;font-size:7px}.showcase-bottom>div{gap:12px}.showcase-bottom>div>span{width:24px}.showcase-bottom button{font-size:9px}.directory-list-heading{order:3;margin-top:5px;padding-bottom:0;border:0;font-size:9px}.directory-list{order:4;max-height:300px;min-height:120px;padding:0 9px 0 0}.directory-row{grid-template-columns:30px 1fr;padding:12px 0;line-height:1.3}.directory-row strong{font-size:12px}.directory-row span{font-size:9px}.back-intro{order:5;margin-top:0;font-size:9px}.project-info{width:auto;padding:25px;inset:100px 20px 25px}#workspace{height:calc(100svh - 88px);min-height:590px;padding:0 20px}.field-heading{font-size:8px;height:45px}.view-layout{min-height:290px}.project-footer{min-height:127px}.project-footer h1{font-size:26px}.mode-switch{gap:18px}.mode-switch #mode-model{font-size:8px}.image-tools{gap:14px}.model-tools{gap:7px}.viewer-bar{height:52px}.stage{view-transition-name:none}.directory.view-enter{animation-duration:.4s}.intro-entry:hover .entry-label{transform:none}}
@media(prefers-reduced-motion:reduce){.intro-shutter{display:none}.type-line>span,.intro-top,.intro-coordinate,.intro-lower,.intro-bottom,.intro-rule{animation:none;transform:none;opacity:1;filter:none}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation-duration:.01ms!important}}
.type-line>span{white-space:nowrap}.type-line:first-child>span{font-size:.94em}
.intro-title{word-spacing:.04em}#directory-title:focus,#intro-title:focus,.stage:focus{outline:none}
::view-transition-group(*),::view-transition-image-pair(*),::view-transition-old(*),::view-transition-new(*){pointer-events:none}
