@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#171816;--paper:#f2f1e9;--acid:#d1ff43;--line:#ffffff30}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--ink);color:var(--paper);font-family:Manrope,Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}header{height:95px;display:flex;align-items:center;justify-content:space-between;padding:0 4vw;border-bottom:1px solid var(--line)}.logo{font-size:35px;letter-spacing:-2.5px;font-weight:800}.logo span{font-size:15px;vertical-align:top;letter-spacing:0}nav{display:flex;gap:32px;font-size:13px}.pill{border:1px solid var(--line);border-radius:40px;padding:13px 22px;font-size:13px;display:inline-flex;gap:30px}.pill:hover{background:var(--acid);color:var(--ink)}.hero{padding:32px 4vw 0;overflow:hidden}.eyebrow{display:flex;justify-content:space-between;font-size:10px;letter-spacing:1.6px}.dot{display:inline-block;background:var(--acid);width:7px;height:7px;border-radius:100%;margin:0 8px}h1{font-size:clamp(72px,11.4vw,190px);letter-spacing:-.075em;line-height:1.02;font-weight:800;margin:60px 0 30px}h1 em{color:var(--acid);font-style:normal}.outline{-webkit-text-stroke:1px var(--paper);color:transparent}h1 sup{font-size:.5em;vertical-align:top;margin-left:30px;display:inline-block;color:var(--acid);font-weight:400}.hero-bottom{display:flex;align-items:center;justify-content:space-between;padding:8px 0 45px}.hero-bottom p{font-size:15px;line-height:1.65}.small{font-size:10px;letter-spacing:1.2px;line-height:1.7}.circle-link{width:54px;height:54px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;font-size:25px}.hero-pictures{display:grid;grid-template-columns:1.1fr 1.3fr 1fr;gap:20px;align-items:center;margin-bottom:-70px}.hero-pictures img{width:100%;height:320px;object-fit:cover;transform:rotate(-4deg)}.hero-pictures img:nth-child(2){transform:rotate(4deg);height:360px}.hero-pictures img:nth-child(3){transform:rotate(-6deg)}.section{padding:100px 4vw}.light{background:var(--paper);color:var(--ink)}h2{font-size:clamp(45px,7.5vw,110px);letter-spacing:-.07em;line-height:1.04;font-weight:800;margin:32px 0}h2 em{font-weight:400;font-style:normal}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px 25px;margin-top:55px}a:focus-visible,button:focus-visible{outline:3px solid #94b32e;outline-offset:6px}@media(max-width:700px){header{height:80px}.logo{font-size:27px}nav{gap:14px;font-size:11px}.pill{padding:11px 13px;gap:8px;font-size:11px}.eyebrow{font-size:8px;gap:20px}.eyebrow>span:last-child{max-width:120px;text-align:right}h1{font-size:clamp(52px,12vw,86px);margin-top:65px}h1 sup{margin-left:12px}.hero-bottom p{font-size:12px}.hero-bottom>.small{display:none}.hero-pictures{gap:10px}.hero-pictures img{height:170px}.hero-pictures img:nth-child(2){height:200px}.section{padding:70px 5vw}.project-grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
/* Complete portfolio system */
header{position:sticky;top:0;z-index:20;background:#171816ed;backdrop-filter:blur(16px)}.logo img{width:145px;height:auto;display:block}.outline{-webkit-text-stroke:0;color:var(--paper)}.progress{position:fixed;top:0;left:0;height:3px;background:var(--acid);z-index:100;width:0}.skip{position:fixed;top:-100px;background:var(--acid);color:var(--ink);padding:15px;z-index:101}.skip:focus{top:5px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}button{cursor:pointer}button:disabled{cursor:default}button,a{-webkit-tap-highlight-color:transparent}::selection{background:var(--acid);color:var(--ink)}
.intro{min-height:calc(100svh - 95px);display:flex;flex-direction:column;justify-content:space-between;padding:30px 4vw 45px;position:relative;overflow:hidden}.intro-top{display:flex;justify-content:space-between;color:#a8a99e}.logo-playground{position:relative;width:100%;height:clamp(220px,34vw,470px);display:grid;place-items:center;margin:25px 0}.logo-fallback{width:88%;height:auto}.logo-playground canvas{position:absolute;inset:0;width:100%;height:100%;opacity:0}.logo-playground.ready canvas{opacity:1}.logo-playground.ready .logo-fallback{opacity:0}.intro-caption{display:flex;justify-content:space-between;align-items:end}.intro-caption>button{color:#b9baaf;background:none;border:0;padding:10px;font-size:12px}.intro-caption>button span{color:var(--acid);font-size:20px;margin-left:10px}.intro .circle-link{background:var(--acid);border:0;color:var(--ink)}.hero{padding-top:60px}.hero-pictures{padding:30px 0 120px;margin-bottom:0}.hero-pictures>a{display:block;position:relative;transform:translateY(var(--py,0px)) rotate(-5deg);transition:filter .3s}.hero-pictures>a:nth-child(2){transform:translateY(var(--py,0px)) rotate(5deg)}.hero-pictures>a:nth-child(3){transform:translateY(var(--py,0px)) rotate(-6deg)}.hero-pictures img,.hero-pictures img:nth-child(2),.hero-pictures img:nth-child(3){height:360px;transform:none;display:block}.hero-pictures>a:nth-child(2) img{height:410px}.hero-pictures a span{position:absolute;bottom:15px;left:15px;background:var(--paper);color:var(--ink);font-size:10px;font-weight:700;padding:10px 12px;border-radius:20px}.hero-pictures a:hover{filter:brightness(1.12)}.ticker{background:var(--acid);color:var(--ink);overflow:hidden;padding:17px 0;font-size:22px;font-weight:800;letter-spacing:-.6px}.ticker>div{white-space:nowrap;width:max-content;animation:ticker 32s linear infinite}@keyframes ticker{to{transform:translateX(-50%)}}.section-top{display:flex;justify-content:space-between;gap:24px}.section-top>span:last-child{text-align:right}.section-heading{display:flex;justify-content:space-between;align-items:end}.section-heading p{line-height:1.8;font-size:14px;margin-bottom:40px}.filters{display:flex;flex-wrap:wrap;gap:9px;margin:40px 0 20px}.filters button{padding:11px 18px;border:1px solid #17181633;background:transparent;border-radius:25px;color:var(--ink);font-size:12px;transition:.2s}.filters button.active,.filters button:hover{background:var(--ink);color:var(--paper)}.filters button span{margin-left:8px;opacity:.6}.project-card{min-width:0;transition:opacity .4s,transform .7s}.project-card:nth-child(even){margin-top:70px}.project-image{height:440px;overflow:hidden;position:relative;background:#dfded5}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}.project-card:hover .project-image img{transform:scale(1.06)}.project-image .project-view{position:absolute;right:20px;bottom:20px;width:58px;height:58px;border-radius:50%;background:var(--acid);color:var(--ink);display:grid;place-items:center;font-size:30px;transform:rotate(-45deg);transition:.3s}.project-card:hover .project-view{transform:rotate(0)}.project-meta{display:flex;justify-content:space-between;gap:15px;margin-top:18px;align-items:start}.project-meta h3{font-size:21px;letter-spacing:-.6px;margin:0 0 8px}.project-meta p{font-size:11px;margin:0;opacity:.65}.project-meta>span{font-size:11px;padding-top:4px;opacity:.55}.lab h2 em{color:#8f9287}.lab-intro{display:grid;grid-template-columns:1fr 1fr;align-items:center;margin:65px 0}.asterisk{font-size:180px;color:var(--acid);line-height:1;display:inline-block;transform:rotate(var(--spin,0deg));width:max-content}.lab-intro p{font-size:clamp(22px,2.8vw,38px);line-height:1.4;letter-spacing:-1.2px;max-width:600px}.services{margin-top:35px}.services details{border-top:1px solid var(--line)}.services details:last-child{border-bottom:1px solid var(--line)}.services summary{list-style:none;display:flex;align-items:center;gap:35px;padding:27px 0;cursor:pointer}.services summary::-webkit-details-marker{display:none}.services summary>span{font-size:11px;opacity:.5}.services h3{font-size:clamp(28px,4vw,52px);font-weight:500;letter-spacing:-2px;margin:0}.services summary>b{margin-left:auto;font-size:35px;font-weight:400;color:var(--acid)}.services details[open] summary>b{transform:rotate(45deg)}.services details>div{padding:0 0 35px 55px;max-width:780px}.services details p{font-size:17px;line-height:1.8;color:#bbbdb2}.lab-notes{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:70px}.lab-notes h3{font-size:24px;font-weight:600;letter-spacing:-.8px}.lab-notes p{font-size:14px;line-height:1.8;color:#b8baaf}.lab-notes .small{color:var(--acid)}.bio-layout{display:grid;grid-template-columns:1fr 1fr;gap:6vw;margin-top:35px}.bio-title h2{font-size:clamp(50px,6vw,94px);margin-top:0}.years{font-size:180px;letter-spacing:-15px;font-weight:800;line-height:1.2;display:flex;align-items:center;gap:35px}.years>span{font-size:12px;letter-spacing:1px;font-weight:500;line-height:1.5}.bio .pill{border-color:#17181644;gap:18px}.pill.dark{background:var(--ink);color:var(--paper)}.downloads{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}.bio-copy{padding-top:10px}.large{font-size:clamp(22px,2.5vw,34px);letter-spacing:-.8px;line-height:1.4}.bio-copy>p:not(.large){font-size:15px;line-height:1.9;opacity:.78}.availability{font-size:12px;margin-top:35px;padding:15px 0;border-top:1px solid #17181633}.availability .dot{background:#487800;margin-left:0}.timeline{display:grid;grid-template-columns:1fr 2fr;gap:30px;margin-top:100px}.timeline h3{font-size:35px;letter-spacing:-1.5px;margin:0}.timeline article{display:grid;grid-template-columns:120px 1fr;gap:5px 20px;border-top:1px solid #17181633;padding:24px 0}.timeline article>span{font-size:10px;padding-top:6px}.timeline h4{font-size:22px;margin:0;letter-spacing:-.5px}.timeline article>p{grid-column:2;margin:3px 0 0;font-size:13px;opacity:.65}.awards{margin-top:80px;border-top:1px solid #17181633;padding-top:30px}.awards p{font-size:clamp(25px,3vw,44px);font-weight:700;letter-spacing:-1px;line-height:1.7}.awards i{font-style:normal;color:#737a5b;margin:0 12px}.tools{border-top:1px solid #17181633;border-bottom:1px solid #17181633}.tools summary{padding:25px 0;cursor:pointer;list-style:none;display:flex;justify-content:space-between}.tools summary span{font-size:25px}.tools-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px 45px;padding-bottom:25px}.tools h4{margin-bottom:8px}.tools p{font-size:14px;line-height:1.7;opacity:.7}.contact{background:var(--acid);color:var(--ink)}.contact h2{position:relative;font-size:clamp(43px,7vw,110px)}.contact h2>span{position:absolute;right:0;top:0;font-size:1.3em}.contact h2 em{font-weight:500}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:7vw;margin-top:75px}.email{display:inline-block;border-bottom:1px solid;font-size:clamp(13px,1.6vw,21px);margin:20px 0 35px;overflow-wrap:anywhere}.social{display:flex;gap:20px;font-size:13px;margin-bottom:55px;flex-wrap:wrap}.social a:hover{text-decoration:underline}.form-heading{display:flex;align-items:center;justify-content:space-between}.form-heading h3{font-size:22px;font-weight:600;margin:0;letter-spacing:-.5px}.form-heading>span{font-size:35px}.form-help{font-size:11px;line-height:1.6;opacity:.72}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{display:block;font-size:11px;margin-top:20px}input,select,textarea{width:100%;border:0;border-bottom:1px solid #17181666;background:transparent;border-radius:0;padding:12px 0;color:var(--ink);font-size:14px;outline-offset:3px}input::placeholder,textarea::placeholder{color:#4c581e}select option{background:var(--paper)}textarea{resize:vertical}input:focus,textarea:focus,select:focus{outline:2px solid var(--ink)}.submit{display:flex;justify-content:space-between;align-items:center;background:var(--ink);color:var(--paper);width:100%;border:0;border-radius:40px;padding:19px 24px;font-size:13px;margin-top:25px}.submit:hover{background:#30352a}#booking-result{border-top:1px solid #17181666;margin-top:25px;padding-top:10px;font-size:13px}#copy-request{border:1px solid var(--ink);padding:10px 15px;background:transparent;border-radius:25px}#request-preview{font-size:12px;height:180px}footer{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:45px 4vw}footer p{font-size:10px;letter-spacing:1px}footer>button{background:none;color:#bbb;border:0;font-size:11px}footer>a:last-child{font-size:28px}dialog{position:fixed;inset:0;max-width:none;max-height:none;width:100%;height:100%;margin:0;border:0;background:var(--paper);color:var(--ink);padding:0;overscroll-behavior:contain}dialog::backdrop{background:#000b}.dialog-nav{position:sticky;top:0;background:var(--paper);display:flex;justify-content:space-between;align-items:center;padding:22px 4vw;border-bottom:1px solid #17181622;z-index:1}.dialog-nav button,.project-end button{border:1px solid #17181655;border-radius:30px;padding:12px 20px;background:transparent;font-size:13px}.project-detail{padding:50px 7vw 70px}.project-detail h2{max-width:1100px;font-size:clamp(40px,7vw,100px)}#project-description{max-width:800px;font-size:17px;line-height:1.8;white-space:pre-line;margin-bottom:50px}#project-gallery{display:grid;grid-template-columns:1fr 1fr;gap:25px;align-items:start}#project-gallery img{display:block;width:100%;height:auto;background:#e6e4da}#project-gallery img:first-child{grid-column:1/-1;max-height:850px;object-fit:contain}#project-gallery img:last-child:nth-child(even){grid-column:1/-1;max-height:900px;object-fit:contain}.project-end{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:50px;font-size:13px}body.dialog-open{overflow:hidden}.motion-paused .ticker>div{animation-play-state:paused}.motion-paused .asterisk{transform:none!important}.motion-paused .hero-pictures>a{--py:0px!important}.reveal-ready{opacity:0;transform:translateY(70px) rotate(2deg)}.reveal-ready.in-view{opacity:1;transform:translateY(0) rotate(0)}
@media(min-width:1500px){.section,header,.hero,.intro,footer{padding-left:max(4vw,calc((100vw - 1600px)/2));padding-right:max(4vw,calc((100vw - 1600px)/2))}}@media(max-width:900px){.project-image{height:340px}.section-heading p{display:none}.bio-layout{gap:35px}.years{font-size:140px}.contact-layout{gap:35px}.contact h2>span{display:none}.project-meta h3{font-size:18px}}
@media(max-width:700px){.logo img{width:115px}header{padding:0 5vw}nav{gap:11px}.intro{min-height:calc(86svh - 80px);padding:25px 5vw 30px}.intro-top{font-size:8px;gap:20px}.intro-top>span:last-child{text-align:right}.intro-caption .small{font-size:8px}.intro-caption>button{font-size:10px;max-width:120px;text-align:center}.logo-playground{height:220px}.hero{padding:45px 5vw 0}.hero-pictures{padding-bottom:70px}.hero-pictures img,.hero-pictures img:nth-child(2),.hero-pictures img:nth-child(3){height:180px}.hero-pictures>a:nth-child(2) img{height:230px}.hero-pictures a span{font-size:7px;left:7px;bottom:10px;padding:6px}.ticker{font-size:16px;padding:13px 0}.section-top{font-size:9px}.section-top>span:last-child{max-width:145px;font-size:8px}.project-card:nth-child(even){margin-top:0}.project-grid{gap:35px}.project-image{height:auto;aspect-ratio:1.1}.filters{margin-top:25px;gap:7px}.filters button{font-size:10px;padding:9px 12px}.lab-intro{grid-template-columns:80px 1fr;gap:25px;margin:35px 0}.asterisk{font-size:90px}.lab-intro p{font-size:20px;letter-spacing:-.5px}.services summary{gap:17px}.services h3{font-size:29px;letter-spacing:-1.3px}.services details>div{padding-left:33px}.services details p{font-size:14px}.lab-notes{grid-template-columns:1fr;gap:20px;margin-top:45px}.lab-notes article{border-top:1px solid var(--line);padding-top:25px}.lab-notes h3{margin:15px 0}.bio-layout{grid-template-columns:1fr;gap:30px}.bio-title h2{font-size:58px}.years{font-size:130px;letter-spacing:-10px}.downloads{margin-top:15px}.bio-copy .large{font-size:26px}.timeline{grid-template-columns:1fr;margin-top:55px}.timeline article{grid-template-columns:90px 1fr;gap:8px 10px}.timeline h4{font-size:19px}.timeline article>p{font-size:12px}.awards{margin-top:45px}.awards p{font-size:27px;line-height:1.6}.tools-grid{grid-template-columns:1fr}.contact-layout{grid-template-columns:1fr;margin-top:35px;gap:35px}.contact .large{font-size:27px}.social{margin-bottom:25px}.contact-layout>div>.small{display:none}.email{font-size:17px;margin-top:5px}footer{flex-wrap:wrap;gap:25px;padding:35px 5vw}footer .logo{font-size:32px}footer p{font-size:8px}footer button{padding:0}#project-gallery{grid-template-columns:1fr;gap:15px}.project-detail{padding:35px 5vw}#project-description{font-size:14px}.project-end{flex-direction:column;align-items:stretch}.project-end button{text-align:left}.dialog-nav .logo{font-size:28px}}
@media(max-width:390px){nav{gap:8px;font-size:10px}.logo img{width:92px}header .pill{padding:9px}.form-row{grid-template-columns:1fr;gap:0}.intro-caption>button{max-width:100px}.hero-pictures a span{display:none}}
@media(prefers-reduced-motion:reduce){.reveal-ready{opacity:1;transform:none}.hero-pictures>a{--py:0px!important}.logo-playground.ready .logo-fallback{opacity:1}.logo-playground.ready canvas{opacity:0}}
/* Portrait playground */
.portrait-intro{padding-bottom:28px;min-height:calc(100svh - 95px)}.portrait-composition{position:relative;display:grid;place-items:center;flex:1;min-height:410px}.portrait-playground{width:min(51vw,620px);height:clamp(370px,65svh,700px);position:relative;display:grid;place-items:center;cursor:crosshair;outline-offset:-35px;touch-action:pan-y;z-index:2}.portrait-fallback{display:block;height:84%;width:84%;object-fit:contain;pointer-events:none}.portrait-playground canvas{position:absolute;inset:0;width:100%;height:100%;opacity:0;pointer-events:none}.portrait-playground.active canvas{opacity:1}.portrait-playground.active .portrait-fallback{opacity:0}.portrait-title{position:absolute;inset:0;display:flex;justify-content:space-between;align-items:center;pointer-events:none;font-size:clamp(65px,8.5vw,150px);font-weight:800;line-height:.93;letter-spacing:-.075em;z-index:3}.portrait-title>span:first-child{align-self:center;transform:rotate(-7deg)}.portrait-title>span:last-child{text-align:right}.portrait-title em{font-style:normal;color:#c6b5ff}.portrait-corner{position:absolute;right:-18px;bottom:17%;color:var(--ink);background:var(--acid);padding:14px 17px;transform:rotate(-8deg);pointer-events:none}.portrait-label{position:absolute;left:0;bottom:12%;color:#acaea3}.portrait-controls{display:flex;gap:8px;align-items:center;z-index:4}.portrait-controls button{border:1px solid #ffffff44;border-radius:30px;padding:11px 17px;color:var(--paper);background:transparent;font-size:11px}.portrait-controls button:first-child{background:var(--paper);color:var(--ink)}.portrait-controls button:hover{background:var(--acid);color:var(--ink)}.portrait-controls button span{margin-left:12px}.portrait-controls button:disabled{opacity:.45}.portrait-intro>.intro-caption>.small{font-size:9px;color:#a8a99e}.portrait-playground:focus-visible{outline:2px solid var(--acid)}
@media(max-width:900px){.portrait-title{font-size:8vw}.portrait-corner{font-size:8px;right:-12px}.portrait-playground{width:65vw}}
@media(max-width:700px){.portrait-intro{min-height:calc(100svh - 80px);padding-bottom:25px}.portrait-composition{min-height:390px;margin:20px 0}.portrait-playground{width:100%;height:clamp(390px,60svh,580px)}.portrait-fallback{height:88%;width:88%}.portrait-title{font-size:clamp(42px,9vw,66px);align-items:flex-start;inset:0 -1vw;z-index:3}.portrait-title>span:first-child{align-self:flex-start;transform:rotate(-6deg);padding-top:20px}.portrait-title>span:last-child{align-self:flex-end;padding-bottom:15px}.portrait-corner{right:0;bottom:25%;font-size:7px;padding:9px 11px}.portrait-label{display:none}.portrait-intro>.intro-caption{flex-wrap:wrap;gap:18px;align-items:center}.portrait-intro>.intro-caption>.small{width:100%;font-size:8px;line-height:1.8}.portrait-controls button{padding:11px 14px;font-size:10px}.portrait-intro .circle-link{width:43px;height:43px}.portrait-composition+.intro-caption{margin-top:5px}}
@media(prefers-reduced-motion:reduce){.portrait-playground.active canvas{opacity:0}.portrait-playground.active .portrait-fallback{opacity:1}}
.portrait-playground .portrait-fallback{position:absolute;left:8%;top:8%;width:84%;height:84%;min-width:0;min-height:0;object-fit:contain}
@media(max-width:700px){.portrait-playground .portrait-fallback{left:6%;top:6%;width:88%;height:88%}}
/* Full-screen photographic entrance, with no added copy. */
.fullscreen-portrait.intro{height:calc(100svh - 95px);min-height:0;padding:0;display:block;overflow:hidden}
.fullscreen-portrait .portrait-playground{width:100%;height:100%;min-height:0;display:block;outline-offset:-6px}
.fullscreen-portrait .portrait-playground .portrait-fallback{left:0;top:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.fullscreen-portrait .portrait-scroll{position:absolute;bottom:25px;right:4vw;z-index:4;background:var(--acid);color:var(--ink);border:0;box-shadow:0 2px 20px #0002}
@media(max-width:700px){.fullscreen-portrait.intro{height:calc(100svh - 80px);min-height:0;padding:0}.fullscreen-portrait .portrait-playground{width:100%;height:100%}.fullscreen-portrait .portrait-playground .portrait-fallback{left:0;top:0;width:100%;height:100%}}

.header-actions{display:flex;align-items:center;gap:20px}.language-switch{display:flex;align-items:center;gap:5px;font-size:12px;white-space:nowrap}.language-switch button{border:0;background:none;color:var(--paper);padding:10px 6px;cursor:pointer;opacity:.55}.language-switch button[aria-pressed="true"]{color:var(--acid);opacity:1;font-weight:800}.language-switch button:hover{opacity:1}@media(max-width:700px){.header-actions{gap:8px}header nav{gap:10px}.language-switch{font-size:11px;gap:0}.language-switch button{padding:10px 4px}header .pill{padding:9px 10px}header .logo img{width:105px}}@media(max-width:390px){header{padding:0 3vw}header nav{gap:7px;font-size:10px}header .logo img{width:85px}.header-actions{gap:4px}header .pill{font-size:10px;padding:8px}header .pill span{display:none}}

#project-gallery .gallery-item{margin:0;min-width:0}#project-gallery .gallery-item:first-child{grid-column:1/-1}#project-gallery .gallery-item img{width:100%;height:auto;max-height:850px;object-fit:contain}#project-gallery video{display:block;width:100%;max-height:720px;background:#111;object-fit:contain}#project-gallery figcaption{font-size:12px;margin:12px 0 20px;opacity:.7}#project-gallery .gallery-video{align-self:start}
.elemental-case{margin:60px 0 70px}.elemental-case h3{font-size:clamp(30px,4.5vw,64px);line-height:1.08;letter-spacing:-.05em;margin:15px 0 25px}.elemental-case p{font-size:16px;line-height:1.75;max-width:820px}.elemental-case .small{font-size:11px;letter-spacing:1px}.case-comparison{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:45px 0}.case-comparison figure{margin:0;background:#101010;color:#f4efe5;display:flex;flex-direction:column;justify-content:center}.case-comparison img{display:block;width:100%;object-fit:contain}.case-label{padding:20px 24px;font-size:22px;display:flex;justify-content:space-between;gap:20px;align-items:center}.case-label span{font-size:10px;opacity:.6}.case-old{display:grid;grid-template-columns:1fr 1fr;align-items:center}.case-old img{aspect-ratio:1;object-fit:contain}.case-notes{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin:45px 0 65px}.case-notes article{border-top:1px solid #17181633;padding-top:12px}.case-notes h4{font-size:24px;letter-spacing:-.03em;margin:15px 0}.case-notes p{font-size:14px}.case-system{padding:45px;background:#101010;color:#f4efe5}.case-palette{display:grid;grid-template-columns:repeat(4,1fr);margin:35px 0}.case-palette>div{background:var(--swatch);min-height:150px;padding:20px;display:flex;flex-direction:column;justify-content:space-between;border:1px solid #ffffff20}.case-palette b{font-size:13px}.case-palette span{font-size:11px}.case-type{display:grid;grid-template-columns:1fr 1fr;gap:40px}.case-type p{font-size:14px}.type-specimen{font-size:clamp(24px,3vw,40px);font-weight:800}.case-applications{margin-top:65px}.case-applications img{width:100%;display:block;margin-top:30px}@media(max-width:700px){.case-comparison,.case-notes,.case-type{grid-template-columns:1fr}.case-system{padding:25px}.case-palette{grid-template-columns:1fr 1fr}.case-label{padding:16px}.elemental-case p{font-size:14px}}
/* Selected work: an interactive spatial collage. */
.work-universe{background:#090a09;color:var(--paper);margin:40px -4vw 76px;padding:28px 4vw 24px;overflow:hidden;isolation:isolate}.universe-heading,.universe-footer{display:flex;justify-content:space-between;gap:20px;align-items:center;position:relative;z-index:20}.universe-heading .small{color:var(--acid)}#universe-hint,.universe-footer{font-size:11px;letter-spacing:.06em}.universe-footer{border-top:1px solid #ffffff26;padding-top:20px}.universe-footer a{padding:10px 0}.universe-stage{position:relative;height:clamp(580px,65vw,890px);margin:22px auto;max-width:1500px}.orbit-card{position:absolute;transition:transform 200ms cubic-bezier(.23,1,.32,1)}.orbit-link{display:block;position:relative;transform:translate(-50%,-50%);transition:scale 160ms ease;box-shadow:0 18px 45px #0007;border:1px solid #ffffff18;border-radius:5px;background:#171816}.orbit-link img{display:block;width:100%;aspect-ratio:1;object-fit:cover;border-radius:4px}.orbit-card:nth-child(3) img{aspect-ratio:1.4;object-fit:contain}.orbit-caption{position:absolute;bottom:0;left:0;right:0;padding:28px 12px 12px;background:linear-gradient(transparent,#000e);font-size:12px;line-height:1.4;opacity:0;transition:opacity 160ms ease;border-radius:0 0 4px 4px}.orbit-card:focus-within{z-index:30!important}.orbit-link:focus-visible{outline:3px solid var(--acid);outline-offset:6px;scale:1.04}.orbit-link:focus-visible .orbit-caption{opacity:1}#all-work{scroll-margin-top:120px}
@media(hover:hover) and (pointer:fine){.orbit-card:hover{z-index:30!important}.orbit-link:hover{scale:1.06}.orbit-link:hover .orbit-caption{opacity:1}}
@media(max-width:700px){.work-universe{margin-top:24px;margin-bottom:40px;padding:24px 4vw}.universe-heading{align-items:flex-start;flex-direction:column;gap:8px}.universe-stage{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;height:auto;margin:26px -4vw;padding:12px 9vw 28px;scrollbar-width:thin;scrollbar-color:var(--acid) #292929}.orbit-card{position:relative!important;left:auto!important;top:auto!important;width:78vw!important;flex:0 0 78vw;transform:none!important;scroll-snap-align:center;z-index:auto!important}.orbit-link{transform:none;rotate:0deg!important;box-shadow:none}.orbit-link img,.orbit-card:nth-child(3) img{aspect-ratio:1;object-fit:cover}.orbit-card:nth-child(3) img{object-fit:contain}.orbit-caption{opacity:1}.universe-footer{font-size:10px}}
.motion-paused .orbit-card,.motion-paused .orbit-link{transition:none!important}.motion-paused .orbit-link:hover{scale:1}
@media(prefers-reduced-motion:reduce){.orbit-card,.orbit-link,.orbit-caption{transition:none!important}.orbit-link:hover{scale:1}}
