:root{--font-text:"ff-real-text-pro",Arial,sans-serif;--font-heading:"ff-real-headline-pro",Arial,sans-serif;--bg:#121313;--text:#f0f1ed;--muted:#9a9d98;--line:#343633;--paper:#eeefe9;--accent:#d6fe5b;--gutter:clamp(18px,2.05vw,60px);color-scheme:dark;font-family:var(--font-text)}.wordmark,h1,h2,h3{font-family:var(--font-heading)}*{box-sizing:border-box}html{scroll-behavior:smooth}html:has(.site-header){scroll-padding-top:var(--header-height)}body{margin:0;background:var(--bg);color:var(--text);font-size:16px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:5px}img{max-width:100%;display:block}button:disabled{cursor:wait;opacity:.5}.skip-link{position:fixed;top:-100px;left:18px;padding:12px;background:var(--accent);color:#111;z-index:100}.skip-link:focus{top:16px}.site-header{display:flex;align-items:center;justify-content:space-between;gap:32px;margin:0 var(--gutter);padding:29px 0;border-bottom:1px solid var(--line)}.wordmark{font-size:clamp(23px,1.7vw,32px);font-weight:500;letter-spacing:-1.1px;white-space:nowrap}.logo-dot{display:inline-block;font-size:12px;vertical-align:top;margin:3px 0 0 4px}.header-note{font-size:14px;color:var(--muted);line-height:1.35;margin-left:auto;margin-right:8vw}.site-header nav{display:flex;font-size:15px}.site-header nav a{transition:color .2s}.site-header nav a:hover{color:var(--accent)}main{padding:0 var(--gutter)}.intro{display:flex;justify-content:space-between;align-items:flex-end;padding:58px 0 48px;gap:30px}.intro h1{font-size:clamp(42px,4.3vw,96px);font-weight:400;line-height:1.04;letter-spacing:-.06em;margin:0}.intro h1 span{color:var(--muted)}.intro-side{font-size:15px;line-height:1.5;min-width:225px}.intro-side p{color:var(--muted);margin:0 0 25px}.count{color:var(--muted);margin-left:10px;font-size:13px}.project-grid{column-count:4;column-gap:18px}.project-card{display:block;page-break-inside:avoid;break-inside:avoid;margin:0 0 24px}.card-image{position:relative;overflow:hidden;border-radius:6px;background:#252824;aspect-ratio:1}.shape-wide .card-image{aspect-ratio:1.35}.shape-portrait .card-image{aspect-ratio:.8}.card-image .cover-video,.card-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.6,.3,1),filter .4s}.project-card:hover .cover-video,.project-card:hover img{transform:scale(1.035)}.card-open{position:absolute;right:15px;bottom:15px;width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:var(--paper);color:#121313;font-size:24px;transform:translateY(12px);opacity:0;transition:.2s}.project-card:focus-visible .card-open,.project-card:hover .card-open{opacity:1;transform:translateY(0)}.card-caption{display:flex;align-items:baseline;justify-content:space-between;padding:12px 1px 0;gap:16px}.card-caption h2{font-size:15px;margin:0}.card-caption>span{font-size:12px;color:var(--muted)}.locked-label{position:absolute;left:14px;top:14px;border-radius:20px;background:#121313df;padding:8px 12px;font-size:13px}.site-footer{border-top:1px solid var(--line);margin:70px var(--gutter) 0;padding:32px 0 36px;display:flex;justify-content:space-between;gap:35px}.footer-name{font-size:23px;letter-spacing:-.04em}.copyright,.site-footer p{font-size:14px;line-height:1.6;color:var(--muted)}.footer-links{display:flex;gap:28px;align-items:flex-start;font-size:14px}.copyright{text-align:right}.case-top{display:flex;justify-content:space-between;padding:30px 0 20px;color:var(--muted);font-size:14px}.case-layout{display:grid;grid-template-columns:minmax(230px,1fr) minmax(0,3fr);gap:4.3vw}.case-info{align-self:start;position:sticky;top:35px;padding-bottom:40px}.case-info h1{font-size:clamp(34px,3.3vw,72px);letter-spacing:normal;line-height:1.04;margin:17px 0 24px}.case-info .summary{font-size:clamp(16px,1.1vw,21px);line-height:1.5;color:#cccfca;margin:0 0 40px}.case-facts{display:grid;gap:20px}.case-facts dt{font-size:12px;color:var(--muted);margin-bottom:5px;text-transform:uppercase;letter-spacing:.04em}.case-facts dd{line-height:1.5;margin:0}.case-content{min-width:0}.case-image{margin:0 0 16px}.case-image img{width:100%;height:auto;border-radius:4px}.case-image figcaption{font-size:14px;color:var(--muted);padding:10px 0}.case-text{max-width:780px;padding:45px clamp(5px,4vw,80px);margin:auto;line-height:1.65}.case-text h2{font-size:26px;font-weight:500;line-height:1.2;letter-spacing:-.04em}.case-text p{margin:0 0 22px}.case-embed{aspect-ratio:16/9;border:0;border-radius:5px}.case-embed,.case-video{width:100%;margin-bottom:16px}.case-video{display:block;height:auto;border:0;border-radius:4px;background:#000}.video-options{border:0;margin:20px 0;padding:0}.bento-cell .case-video{width:100%;height:100%;object-fit:cover;margin:0}.video-options legend{margin-bottom:12px}.video-options label{display:flex;align-items:center;gap:9px;margin:10px 0;cursor:pointer}.video-options input[type=checkbox]{width:16px;height:16px;margin:0;accent-color:var(--accent)}.award-about-option{display:flex;align-items:center;gap:9px;margin:12px 0;cursor:pointer}.award-about-option input[type=checkbox]{width:16px;height:16px;margin:0;accent-color:var(--accent)}.case-end{margin:45px 0;padding:30px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:35px}.case-end h2{font-size:13px;color:var(--muted);font-weight:400}.case-end p{font-size:15px;line-height:1.5}.next-case{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);margin-top:45px;padding:36px 0}.next-case h2{font-size:clamp(28px,3vw,65px);font-weight:400;letter-spacing:normal;margin:10px 0}.next-case span{font-size:14px;color:var(--muted)}.next-case .next-arrow{font-size:50px;color:var(--text)}.simple-page{max-width:1150px;padding-top:75px;padding-bottom:80px;margin:auto}.simple-page h1{font-size:clamp(46px,6vw,90px);font-weight:400;letter-spacing:-.06em;line-height:1.05;margin:0 0 45px}.simple-page p{max-width:740px;font-size:20px;line-height:1.6}.contact-links{display:flex;flex-direction:column;gap:25px;font-size:24px}.muted{color:var(--muted)}.bento-grid{display:grid;margin-bottom:16px}.bento-cell{width:100%;min-width:0;align-self:stretch;overflow:hidden;border-radius:4px;background:#242524;grid-column:span var(--span)}.bento-cell img{width:100%;height:100%;object-fit:cover}.password-page{max-width:500px;margin:90px auto 160px}.password-page h1{font-weight:400;font-size:40px;letter-spacing:-.04em}.field{display:grid;gap:8px;margin-bottom:20px;font-size:14px}.field input,.field select,.field textarea{width:100%;background:#20221f;border:1px solid #41443d;border-radius:5px;padding:12px;color:var(--text)}.primary-button{padding:12px 20px;background:var(--accent);color:#171a10;border:0;border-radius:4px;font-weight:500}.notice{color:var(--muted);font-size:14px;line-height:1.5}.error-message{color:#ffaca4;font-size:14px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (min-width:2200px){.project-grid{column-gap:26px}.project-card{margin-bottom:32px}.card-caption h2{font-size:18px}.card-caption>span{font-size:14px}}@media (max-width:1450px){.project-grid{column-count:3}}@media (max-width:1000px){.header-note{display:none}.project-grid{column-count:2}.case-layout{grid-template-columns:1fr}.case-info{position:static;max-width:780px}.case-info h1{font-size:56px}.case-facts{grid-template-columns:repeat(3,minmax(0,1fr))}.case-info .summary{max-width:640px;margin-bottom:28px}.case-text{padding:35px 25px}}@media (max-width:600px){.site-header{padding:23px 0;gap:20px}.wordmark{font-size:22px;letter-spacing:-1px}.site-header nav{gap:18px;font-size:14px}.site-header nav a:first-child{display:none}.logo-dot{font-size:10px}.intro{display:block;padding:38px 0 30px}.intro h1{font-size:46px}.intro-side{display:flex;justify-content:space-between;min-width:0;margin-top:26px;font-size:13px}.intro-side p{margin:0;max-width:140px}.project-grid{column-count:1}.project-card{margin-bottom:26px}.shape-portrait .card-image{aspect-ratio:1.02}.shape-wide .card-image{aspect-ratio:1.25}.card-caption h2{font-size:16px}.card-open{opacity:1;transform:none;width:34px;height:34px;font-size:20px}.site-footer{flex-wrap:wrap;margin-top:35px;padding-top:27px}.footer-links{flex-direction:column;gap:14px}.copyright{text-align:left;width:100%}.case-top{padding-top:25px}.case-info h1{font-size:44px}.case-info .summary{font-size:18px}.case-facts{grid-template-columns:1fr 1fr}.case-text{font-size:17px;padding:25px 2px}.case-end{grid-template-columns:1fr}.bento-cell{grid-column:span var(--mobile-span)}.simple-page{padding-top:48px}.simple-page p{font-size:18px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.project-grid{columns:auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:1px;gap:0 18px;align-items:start}.project-card{margin:0;min-width:0}@media (max-width:1450px){.project-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:1000px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:600px){.project-grid{grid-template-columns:1fr}.bento-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}:root{--accent:#0be852;--font-caption:"ff-real-text-pro-2",Arial,sans-serif;--header-height:172px}body{font-weight:300;line-height:1.3}::selection{background:var(--accent);color:#101310}.site-header{position:sticky;top:0;z-index:50;align-items:flex-end;background:var(--bg);margin:0;padding:24px var(--gutter) 20px;gap:28px}.wordmark{display:block;flex:0 0 auto}.wordmark img{width:clamp(96px,7.5vw,144px);height:auto}.header-name,.header-note{font-size:16px;line-height:1.2;margin:0}.header-name{margin-right:auto}.header-note{margin-right:10vw}.site-header nav{font-size:16px;gap:32px;line-height:1.2}.site-header nav a{padding:12px 0 0}.site-header nav a[aria-current=page]{color:var(--accent)}.work-heading{display:flex;justify-content:space-between;align-items:baseline;padding:28px 0 22px}.work-heading h1{font-size:18px;line-height:1.2;font-weight:300;margin:0}.card-tags,.micro-label{font-family:var(--font-caption);font-weight:400;font-size:12px;line-height:1.25;text-transform:uppercase}.micro-label{color:var(--accent)}.card-caption{padding-top:10px}.card-caption h2{font-size:18px;font-weight:400}.card-caption>span{font-family:var(--font-caption);font-weight:400;color:var(--accent)}.card-tags{margin:5px 0 0;color:#a5aaa3}.project-card:focus-visible .card-caption h2,.project-card:hover .card-caption h2{color:var(--accent)}.card-open{display:none}.site-footer{display:grid;grid-template-columns:minmax(140px,1fr) auto auto;align-items:end;gap:clamp(24px,4vw,80px);padding:35px 0}.anniversary-seal{width:clamp(55px,5vw,87.5px);height:auto;flex:0 0 auto}.footer-anniversary{display:flex;align-items:flex-end;gap:20px;justify-self:end}.footer-actions{align-self:stretch;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:16px}.site-footer .footer-anniversary p{color:var(--text);font-size:16px;line-height:1.2;margin:0;white-space:nowrap}.footer-top{align-self:start}.footer-contact,.footer-top{font-size:14px;line-height:1.3;white-space:nowrap}.site-footer .copyright{text-align:left;line-height:1.3}.site-footer a:hover{color:var(--accent)}@media (max-width:1000px){.header-note{display:none}.header-name{font-size:14px}}@media (max-width:600px){.site-header{padding:16px var(--gutter);gap:16px}.wordmark img{width:76px}.header-name{display:none}.site-header nav{margin-left:auto;gap:24px;font-size:16px}.site-header nav a:first-child{display:block}.work-heading{padding:22px 0 18px}.card-caption h2{font-size:18px}.site-footer{grid-template-columns:minmax(0,1fr) auto;gap:28px 20px}.copyright{grid-column:1;grid-row:1;width:auto;font-size:12px}.footer-actions{grid-column:1;grid-row:2}.footer-anniversary{grid-column:2;grid-row:2;gap:12px}.site-footer .footer-anniversary p{font-size:14px}.anniversary-seal{width:55px}}.case-layout{grid-template-columns:minmax(250px,1fr) minmax(0,3fr);gap:clamp(28px,3vw,72px);align-items:start}.case-info{top:var(--aside-top,calc(var(--header-height) + 24px));padding-bottom:24px}.case-info h1{font-size:clamp(32px,2.6vw,54px);font-weight:400;line-height:1.08;margin:0 0 16px}.case-disciplines{margin:0 0 24px;color:var(--accent)}.case-info .summary{font-size:clamp(16px,1vw,19px);font-weight:300;line-height:1.28;color:var(--text);margin:0 0 28px}.summary p{margin:0 0 .85em}.case-facts{grid-template-columns:1fr;gap:16px;margin:0}.case-end h2,.case-facts dt{font-family:var(--font-caption);font-weight:400;font-size:12px;text-transform:uppercase;color:var(--accent)}.case-facts dd{font-size:14px;font-weight:300;line-height:1.25}.case-end{grid-template-columns:1fr;margin:24px 0 0;padding:20px 0 0;gap:18px}.case-end h2,.case-end p{margin:0 0 10px}.case-end p{font-size:14px;line-height:1.25}.credit-group{white-space:pre-line}.credit-role{color:var(--muted)}.case-info a:hover,.case-top a:hover{color:var(--accent)}.case-text{font-size:18px;line-height:1.3;font-weight:300}.case-text h2{font-weight:400;font-size:24px}.case-image figcaption{font-family:var(--font-caption);font-weight:400;font-size:12px;line-height:1.25;text-transform:uppercase}.case-media{min-width:0}.next-case h2{font-size:clamp(28px,2.6vw,48px)}.next-case:hover .next-arrow,.next-case:hover h2{color:var(--accent)}.about-page{padding-top:34px}.about-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:clamp(40px,6vw,150px);align-items:start}.about-portrait{margin:0}.about-portrait img{width:100%;height:auto;border-radius:5px}.about-portrait figcaption{margin-top:12px;color:var(--muted)}.about-biography{max-width:760px}.about-biography h1{font-size:clamp(32px,2.6vw,54px);line-height:1.08;font-weight:400;margin:0 0 22px}.about-biography p{font-size:clamp(16px,1.15vw,21px);line-height:1.3;font-weight:300;margin:0 0 1em}.about-biography .about-lead{font-size:clamp(20px,1.6vw,30px);line-height:1.2;margin-bottom:28px}.about-contact{border-top:1px solid var(--line);margin-top:34px;padding-top:22px;scroll-margin-top:24px}.about-contact h2{margin:0 0 18px}.contact-direct{display:flex;flex-direction:column;align-items:flex-start;gap:10px;font-size:clamp(17px,1.3vw,24px);padding-bottom:calc(1lh + 10px)}.social-links{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:24px;font-size:16px}.about-page a:hover{color:var(--accent)}.resume-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:clamp(40px,6vw,150px);border-top:1px solid var(--line);margin-top:70px;padding-top:28px}.resume-section h2{margin:0;font-size:26px;line-height:1.15;font-weight:300}.resume-entry{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:30px;padding:0 0 22px;margin:0 0 22px;border-bottom:1px solid var(--line)}.resume-entry:last-child{border:0;margin:0;padding-bottom:0}.resume-entry h3{font-size:18px;line-height:1.2;font-weight:400;margin:0 0 5px}.resume-entry p{font-size:16px;line-height:1.25;margin:0 0 4px}.resume-meta{color:var(--muted)}.resume-meta p{font-family:var(--font-caption);font-weight:400;font-size:12px;text-transform:uppercase}.square-cursor{display:none;pointer-events:none;position:fixed;z-index:9999;width:12px;height:12px;background:var(--accent);transform:translate(-50%,-50%);opacity:0;transition:width .18s,height .18s,opacity .12s,transform .12s}@media (hover:hover) and (pointer:fine){.square-cursor{display:block}.square-cursor[data-visible=true]{opacity:1}.square-cursor[data-link=true]{width:30px;height:30px}.square-cursor[data-pressed=true]{transform:translate(-50%,-50%) scale(.75)}.square-cursor[data-unavailable=true]{background:transparent}.square-cursor[data-unavailable=true]:after{content:"×";color:var(--accent);font:36px/30px Arial,sans-serif}html[data-cursor-active] a,html[data-cursor-active] body,html[data-cursor-active] button{cursor:none}html[data-cursor-active] [contenteditable=true],html[data-cursor-active] input,html[data-cursor-active] textarea{cursor:text}}@media (max-width:1000px){.case-layout{grid-template-columns:1fr;gap:28px}.case-info{position:static;top:auto;max-width:none;padding-bottom:0}.case-info h1{font-size:40px}.case-info .summary{max-width:700px;font-size:18px}.case-facts{grid-template-columns:repeat(3,minmax(0,1fr))}.case-end{grid-template-columns:repeat(2,minmax(0,1fr))}.about-intro,.resume-section{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:32px}.resume-entry{grid-template-columns:1fr;gap:10px}}@media (max-width:600px){.case-top{padding:22px 0}.case-info h1{font-size:36px;margin-bottom:14px}.case-info .summary{font-size:17px;line-height:1.28}.case-facts{grid-template-columns:1fr 1fr}.case-end{grid-template-columns:1fr}.case-text{font-size:17px;line-height:1.3}.about-page{padding-top:24px}.about-intro{grid-template-columns:1fr;gap:32px}.about-biography h1{font-size:36px;margin-bottom:18px}.about-biography p{font-size:17px;line-height:1.3}.about-biography .about-lead{font-size:23px}.contact-direct{font-size:17px;overflow-wrap:anywhere}.resume-section{grid-template-columns:1fr;gap:28px;margin-top:44px}.resume-section h2{font-size:26px}.resume-entry{gap:10px}}@media (prefers-reduced-motion:reduce){.square-cursor{transition:none}}.bento-cell{grid-row:span var(--row-span,1)}.case-facts strong,.case-text strong,.summary strong,figcaption strong{font-weight:700}@media (max-width:700px){.bento-cell{grid-row:span 1}}.cookie-notice{position:fixed;z-index:90;bottom:20px;left:var(--gutter);width:min(560px,calc(100vw - 2 * var(--gutter)));padding:22px;border:1px solid var(--line);border-radius:8px;background:var(--bg);box-shadow:0 8px 40px #0005;font-size:16px;line-height:1.25}.cookie-notice p{margin:0 0 18px}.cookie-notice a{color:var(--accent);white-space:nowrap}.cookie-notice>div{display:flex;gap:12px}.cookie-notice button,.privacy-preferences{color:var(--text);background:transparent;border:1px solid var(--muted);border-radius:4px;padding:10px 18px;min-height:44px}.cookie-notice button{flex:1 1}.cookie-notice button:hover,.privacy-preferences:hover{border-color:var(--accent);color:var(--accent)}.privacy-page{min-height:65vh;max-width:900px;margin:70px auto 100px;font-size:clamp(18px,1.4vw,23px);line-height:1.25;font-weight:300}.privacy-page h1{font-size:clamp(36px,4vw,64px);line-height:1;font-weight:300;margin:0 0 42px}.privacy-page h2{font-size:1em;font-weight:500;margin:36px 0 16px}.privacy-page p{margin:0 0 18px}.privacy-page a{text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}@media (max-width:600px){.cookie-notice{bottom:12px;padding:18px;font-size:15px}.privacy-page{margin-top:40px}}