@layer reset{*,:before,:after{box-sizing:border-box}body,h1,h2,h3,h4,p{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}img,svg{display:block}img{max-width:100%}button{border:0}}@layer base{:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#f7f3e9;--ink:#3e3030;--muted:#72635d;--clay:#a95167;--line:#d9cfc1;--serif:"Instrument Serif", Georgia, serif;--sans:"DM Sans", Arial, sans-serif;--text-small:13px;--ease:cubic-bezier(.22,.68,0,1);font-size:max(var(--text-small), 100%);font-family:var(--sans);color:var(--ink);background:var(--paper);font-synthesis:none;-webkit-font-smoothing:antialiased}html{scroll-behavior:smooth;scrollbar-width:none;scroll-padding-top:116px}body{scrollbar-width:none;min-width:0}html::-webkit-scrollbar{width:0;height:0;display:none}body::-webkit-scrollbar{width:0;height:0;display:none}.contact-dialog::-webkit-scrollbar{width:0;height:0;display:none}.mobile-menu::-webkit-scrollbar{width:0;height:0;display:none}body:has(dialog[open]){overflow:hidden}::selection{color:var(--paper);background:#8c5148}:focus-visible{outline:2px solid var(--clay);outline-offset:6px}h1,h2,h3,h4{font-family:var(--serif);font-weight:400}h2{letter-spacing:-.035em;font-size:clamp(48px,5.5vw,80px);line-height:1.01}em{font-weight:inherit}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.eyebrow{font-size:var(--text-small);text-transform:uppercase;letter-spacing:.14em;font-weight:500;line-height:1.5}.arrow{transition:transform .35s var(--ease);flex:none}.arrow-down{transform:rotate(90deg)}.timeline-current-mark,.record-current-mark{background:#65775e;border-radius:2px;flex-shrink:0;width:8px;height:8px;display:inline-block;transform:rotate(45deg);box-shadow:0 0 0 2px #65775e18}.section{width:min(1280px,100% - 128px);margin-inline:auto}.site-shell{flex-direction:column;min-height:100svh;display:flex}.site-loading{min-height:100svh}.site-shell>main{flex:1}.page-title:focus-visible,.hero h1:focus-visible{outline:none}.reveal{transition:opacity .85s var(--ease), transform .85s var(--ease)}.reveal[data-reveal=pending]{opacity:0;transform:translateY(22px)}.reveal[data-reveal=visible]{opacity:1;transform:none}.reveal:has(:target){opacity:1;transition:none;transform:none}.text-link{font-size:var(--text-small);background:0 0;border-bottom:1px solid;justify-content:space-between;align-items:center;gap:17px;padding-block:9px;font-weight:500;display:inline-flex}.text-link:hover .arrow{transform:translate(3px,-3px)}}@layer components{.skip-link{background:var(--paper);z-index:100;padding:15px 20px;position:fixed;top:-90px;left:24px}.skip-link:focus{top:24px}.site-header{z-index:30;background:var(--paper);border:1px solid #e6ddcf;border-radius:5px;justify-content:space-between;align-items:center;height:66px;padding:0 24px;display:flex;position:fixed;top:22px;left:24px;right:24px;box-shadow:0 3px 14px #492e3010}.wordmark{font-family:var(--serif);white-space:nowrap;align-items:center;gap:15px;font-size:22px;display:inline-flex}.brand-name{font-family:var(--serif)}.brand-name em{font-style:italic}.monogram{font-family:var(--serif);letter-spacing:-.065em;color:#c77581;align-items:baseline;font-size:42px;line-height:1;display:inline-flex}.monogram em{margin-right:.025em}.monogram>span{color:#a28ac0}.monogram>.monogram-period{color:#b479a2}.desktop-nav{align-items:center;gap:23px;height:100%;display:flex}.desktop-nav a{font-size:var(--text-small);padding-block:14px;position:relative}.desktop-nav a:after{content:"";background:var(--ink);transform-origin:0;height:1px;transition:transform .3s var(--ease);position:absolute;bottom:9px;left:0;right:0;transform:scaleX(0)}.desktop-nav a:hover:after,.desktop-nav a[aria-current]:after{transform:scaleX(1)}.projects-menu{position:relative}.projects-menu summary{cursor:pointer;font-size:var(--text-small);align-items:center;gap:7px;padding-block:14px;list-style:none;display:flex}.projects-menu summary::-webkit-details-marker{display:none}.projects-menu summary>svg{transition:transform .25s}.projects-menu[open] summary>svg{transform:rotate(180deg)}.projects-menu.active summary{text-underline-offset:8px;text-decoration:underline}.projects-menu-links{background:var(--paper);min-width:185px;animation:menu-in .2s var(--ease);border:1px solid #e6ddcf;border-radius:12px;gap:2px;padding:10px;display:grid;position:absolute;top:calc(100% + 10px);left:-22px;box-shadow:0 12px 35px #492e301a}.projects-menu-links:before{content:"";height:12px;position:absolute;top:-12px;left:0;right:0}.desktop-nav .projects-menu-links a{font-size:var(--text-small);border-radius:6px;padding:12px}.desktop-nav .projects-menu-links a:hover,.desktop-nav .projects-menu-links a[aria-current]{background:#eee4ed}.desktop-nav .projects-menu-links a:after{display:none}.header-contact{font-size:var(--text-small);background:0 0;align-items:center;gap:24px;padding-block:10px;display:flex}.header-contact:hover .arrow{transform:translate(3px,-3px)}.menu-toggle{display:none}.mobile-menu{scrollbar-width:none;background:var(--paper);width:calc(100% - 32px);max-width:440px;max-height:calc(100svh - 32px);color:var(--ink);border:1px solid var(--line);border-radius:5px;margin:0;padding:28px;inset:16px 16px auto auto;overflow-y:auto;box-shadow:0 20px 80px #34262b33}.mobile-menu[open]{transform-origin:100% 0;animation:.36s cubic-bezier(.16,1,.3,1) both mobile-menu-open}.mobile-menu::backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#38252b70;animation:.28s both contact-veil-in}.mobile-menu[open] nav>*{animation:mobile-menu-item-in .28s var(--ease) both}.mobile-menu[open] nav>:first-child{animation-delay:40ms}.mobile-menu[open] nav>:nth-child(2){animation-delay:65ms}.mobile-menu[open] nav>:nth-child(3){animation-delay:90ms}.mobile-menu[open] nav>:nth-child(4){animation-delay:.115s}.mobile-menu[open] nav>:nth-child(5){animation-delay:.14s}.mobile-menu[open] nav>:nth-child(6){animation-delay:.165s}.mobile-menu[data-closing]{pointer-events:none;animation:.28s cubic-bezier(.7,0,.84,0) both mobile-menu-close}.mobile-menu[data-closing]::backdrop{animation:.28s both contact-veil-out}.mobile-menu[data-closing] nav>*{animation:.16s ease-in both mobile-menu-item-out}.mobile-menu[data-closing] nav>:first-child{animation-delay:.1s}.mobile-menu[data-closing] nav>:nth-child(2){animation-delay:80ms}.mobile-menu[data-closing] nav>:nth-child(3){animation-delay:60ms}.mobile-menu[data-closing] nav>:nth-child(4){animation-delay:40ms}.mobile-menu[data-closing] nav>:nth-child(5){animation-delay:20ms}.mobile-menu[data-closing] nav>:nth-child(6){animation-delay:0s}.mobile-menu-top{justify-content:space-between;align-items:center;padding-bottom:28px;display:flex}.mobile-menu-top button{font-size:var(--text-small);background:0 0;align-items:center;gap:16px;padding:8px 0 8px 16px;display:flex}.mobile-menu-top button span{font-size:26px}.mobile-menu nav{flex-direction:column;display:flex}.mobile-menu nav a,.mobile-menu nav button{font:clamp(26px, 5.7vw, 36px)/1.2 var(--serif);border-top:1px solid var(--line);text-align:left;background:0 0;justify-content:space-between;align-items:center;padding:14px 0;display:flex}.mobile-menu nav a[aria-current]{color:var(--clay)}.mobile-project-links{border-top:1px solid var(--line);padding-block:14px}.mobile-project-links>span{font:clamp(26px, 5.7vw, 36px)/1.2 var(--serif)}.mobile-menu .mobile-project-links a{color:var(--muted);border-top:0;margin-left:20px;padding-block:10px;font-size:24px}.contact-dialog{width:min(820px,100% - 64px);max-width:none;max-height:calc(100svh - 64px);color:var(--ink);scrollbar-width:none;overscroll-behavior:contain;background:0 0;border:0;border-radius:22px;margin:auto;padding:0;overflow:hidden auto;box-shadow:0 28px 110px #281f3540}.contact-dialog[open]{animation:contact-book-open .75s var(--ease) both}.contact-dialog::backdrop{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#31253c66;animation:.55s both contact-veil-in}.contact-book{perspective:1800px;grid-template-columns:1fr 1.05fr;display:grid;position:relative}.contact-book:after{content:"";pointer-events:none;background:#937d9726;width:1px;position:absolute;top:20px;bottom:20px;left:48.78%}.contact-page{backface-visibility:hidden;min-width:0;padding:44px 40px}.contact-page-left{transform-origin:100%;background:linear-gradient(135deg,#f0e6ed,#e5daed);border-radius:22px 0 0 22px;flex-direction:column;display:flex;box-shadow:inset -14px 0 28px -24px #4e395f77}.contact-page-right{background:var(--paper);transform-origin:0;border-radius:0 22px 22px 0;flex-direction:column;justify-content:center;gap:46px;display:flex;box-shadow:inset 14px 0 28px -26px #4e395f55}.contact-dialog[open] .contact-page-left{animation:contact-unfold-left .8s var(--ease) both}.contact-dialog[open] .contact-page-right{animation:contact-unfold-right .85s var(--ease) both}.contact-page-left>.eyebrow{color:#79657c}.contact-page h2{letter-spacing:-.04em;margin-block:32px 26px;font-size:76px;line-height:.96}.contact-page h2 em{color:#976b94}.contact-page-left>p{color:#6c5c6e;font-size:var(--text-small);margin-top:auto;line-height:1.9}.contact-dialog-controls{z-index:2;pointer-events:none;justify-content:end;height:0;padding-right:12px;display:flex;position:sticky;top:12px}.contact-dialog-close{pointer-events:auto;background:0 0;border-radius:50%;flex-shrink:0;place-items:center;width:44px;height:44px;transition:background .2s;display:grid}.contact-dialog-close:hover{background:#e9e0e5}.contact-dialog-email>.eyebrow{color:var(--muted);margin-bottom:16px;display:block}.contact-dialog-email>a{font:30px/1.2 var(--serif);letter-spacing:-.015em;white-space:nowrap;border-bottom:1px solid #cfc0d1;justify-content:space-between;align-items:center;gap:14px;padding-block:10px 18px;display:flex}.contact-dialog-email>a:hover .arrow,.contact-dialog-socials a:hover .arrow{transform:translate(3px,-3px)}.contact-dialog-socials{justify-content:space-between;gap:28px;display:flex}.contact-dialog-socials a{font-size:var(--text-small);align-items:center;gap:15px;padding-block:12px;display:inline-flex}.contact-dialog-socials .arrow{width:17px}.contact-dialog[data-closing]{animation:.46s both contact-book-close}.contact-dialog[data-closing]::backdrop{animation:.46s both contact-veil-out}.contact-dialog[data-closing] .contact-page-left{animation:contact-fold-left .44s var(--ease) both}.contact-dialog[data-closing] .contact-page-right{animation:contact-fold-right .44s var(--ease) both}.hero{isolation:isolate;color:#fffaf8;flex-direction:column;justify-content:center;min-height:clamp(700px,100svh,1000px);padding:150px 64px 110px;display:flex;position:relative;overflow:clip}.hero-artwork{z-index:-3;background:radial-gradient(at 80% 15%,#aba0d7,#0000 65%),linear-gradient(125deg,#df777b,#be80a0 50%,#a79ad1);position:absolute;inset:0}.hero-artwork canvas{width:100%;height:100%;display:block}.hero-city{z-index:-2;opacity:0;pointer-events:none;transition:opacity .35s;position:absolute;inset:0}.hero-city video{object-fit:cover;object-position:50% 55%;width:100%;height:100%}.hero.city-visible .hero-city{opacity:1}.hero:after{content:"";z-index:-1;pointer-events:none;background:linear-gradient(#30253e0a,#33213b16 50%,#34253d42);transition:background .7s;position:absolute;inset:0}.hero.city-visible:after{background:linear-gradient(#26253520,#26253530 50%,#26253590)}.hero-content{text-align:center;text-shadow:0 2px 35px #33254015;padding-bottom:20px}.hero h1{letter-spacing:-.055em;white-space:nowrap;animation:intro-in 1.3s .12s var(--ease) both;font-size:clamp(100px,12.7vw,215px);line-height:1}.hero h1 em{letter-spacing:-.045em;margin-right:.035em}.hero-period{color:inherit}.hero-role{font:24px/1.5 var(--serif);animation:intro-in 1.1s .25s var(--ease) both;justify-content:center;align-items:center;gap:20px;margin-top:38px;display:flex}.role-separator{background:currentColor;border-radius:50%;width:5px;height:5px}.hero-bottom{font-size:var(--text-small);grid-template-columns:1fr 1fr 1fr;align-items:center;gap:20px;display:grid;position:absolute;bottom:32px;left:40px;right:40px}.hero-location{font-size:inherit;text-align:left;isolation:isolate;background:0 0;justify-self:start;align-items:center;gap:6px;padding:10px 0;display:inline-flex;position:relative}.hero-location:before{content:"";opacity:0;z-index:-1;pointer-events:none;background:#fffaf8;border-radius:50px;transition:opacity .2s;animation:3s 1s infinite location-glow;position:absolute;inset:1px -11px}.hero-location .location-dot:after{content:"";opacity:0;transform-origin:50%;pointer-events:none;border:1px solid;border-radius:50%;width:15px;height:15px;transition:opacity .2s;animation:3s 1s infinite location-ring;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.hero-location:is([data-previewing],:focus-visible):before,.hero-location:is([data-previewing],:focus-visible) .location-dot:after{animation:none}.hero-location[data-previewing]:before{opacity:.07}.hero-location:focus-visible:before{opacity:.1}.hero-location[aria-pressed=true]:before{opacity:.16;box-shadow:0 0 0 1px #fffaf860}.hero-location[aria-pressed=true] .location-dot:after{display:none}.hero-location:focus-visible{outline-color:#fffaf8}.location-prefix{opacity:.85}.location-dot{background:currentColor;border-radius:100%;width:5px;height:5px}.hero-location .location-dot{flex:0 0 5px;margin-left:8px;position:relative}.hero-more{transition:opacity .35s var(--ease), visibility 0s;justify-self:center;align-items:center;gap:18px;padding-block:9px;display:inline-flex}.hero-more[data-hidden]{opacity:0;visibility:hidden;transition:opacity .35s var(--ease), visibility 0s .35s}.about-section{padding-block:104px 112px}.section-label{align-items:center;gap:28px;margin-bottom:60px;display:flex}.section-label .eyebrow{flex-shrink:0}.label-line{background:var(--line);width:100%;height:1px}.about-grid{grid-template-columns:.82fr 1.35fr;align-items:start;gap:clamp(55px,8.5vw,140px);display:grid}.about-copy h2{margin:-7px 0 28px;font-size:clamp(46px,4.7vw,70px)}.body-copy{color:var(--muted);max-width:640px;font-size:16px;line-height:1.85}.profile-detail{margin-top:26px}.currently{border-left:2px solid #a6ad95;margin-top:30px;padding-left:22px}.currently .eyebrow{align-items:center;gap:10px;margin-bottom:12px;display:flex}.status-dot{background:#5f7251;border-radius:100%;width:6px;height:6px}.currently p{color:var(--muted);font-size:14px;line-height:1.8}.about-links{gap:32px;margin-top:24px;display:flex}.work-section{background:#eeeade;padding-block:96px}.section-heading{justify-content:space-between;align-items:end;gap:40px;margin:0 0 48px;display:flex}.section-heading>p{font-size:var(--text-small);color:var(--muted);padding-bottom:5px;line-height:1.8}.work-heading h2{font-size:clamp(43px,5.2vw,76px)}.work-heading>p{flex:0 0 240px}.work-category{margin-top:58px}.work-category+.work-category{margin-top:76px}.category-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:24px;margin-bottom:26px;padding-bottom:18px;display:flex}.category-heading h3{letter-spacing:-.02em;font-size:44px;line-height:1.12}.category-heading h3 em{color:var(--clay)}.projects-grid{grid-template-columns:1fr 1fr;gap:36px;display:grid}.projects-grid>div{min-width:0}.projects-carousel{scroll-snap-type:x mandatory;overscroll-behavior-inline:contain;scrollbar-color:#a697b5 #ded8db;scrollbar-width:thin;padding-bottom:22px;display:flex;overflow-x:auto}.projects-carousel>div{scroll-snap-align:start;flex:0 0 calc(50% - 18px)}.project-controls{justify-content:end;gap:10px;margin-bottom:20px;display:flex}.project-controls button{background:0 0;border:1px solid #a99ba7;border-radius:50%;place-items:center;width:40px;height:40px;transition:background .25s;display:grid}.project-controls button:first-child .arrow{transform:rotate(180deg)}.project-controls button:hover:not(:disabled){background:#ddd4e2}.project-controls button:disabled{opacity:.3;cursor:default}.project-card{display:block}.project-image{aspect-ratio:1.6;background:#d8d0e4;border-radius:4px;padding:35px;position:relative;overflow:hidden}.project-1 .project-image{background:#e8c9c5}.project-image>img{object-fit:contain;mix-blend-mode:multiply;width:100%;height:100%;transition:transform .7s var(--ease)}.project-brand-art{background:linear-gradient(145deg,#ece7ef,#e0d8e9);place-items:center;display:grid}.project-brand-art>.project-brand-logo{mix-blend-mode:normal;filter:drop-shadow(0 18px 24px #8e7ca51c);width:35%;max-width:175px;height:auto}.project-card:hover .project-brand-art>.project-brand-logo{transform:translateY(-4px)}.project-card:hover .project-image>img{transform:scale(1.045)}.project-open{background:var(--paper);width:39px;height:39px;transition:transform .35s var(--ease), background .35s;border-radius:50%;place-items:center;display:grid;position:absolute;bottom:17px;right:17px}.project-card:hover .project-open{background:#fffaf0;transform:rotate(45deg)}.project-meta{color:var(--muted);justify-content:space-between;gap:16px;padding-block:21px 15px;display:flex}.project-meta>span:last-child{font-size:var(--text-small)}.project-card h4{letter-spacing:-.025em;max-width:530px;font-size:clamp(30px,2.8vw,42px);line-height:1.08}.project-card>p{max-width:520px;font-size:var(--text-small);color:var(--muted);margin-top:14px;line-height:1.8}.publications-list{gap:16px;display:grid}.publication{background:var(--paper);border-radius:4px;grid-template-columns:72px 1fr auto;align-items:center;gap:28px;padding:30px 32px;display:grid}.publication-symbol{color:#a06178;width:66px}.publication-bloom-1{color:#8e7baa;transform:rotate(15deg)}.publication-bloom-2{color:#9c786c;transform:rotate(30deg)}.publication .eyebrow{font-size:var(--text-small);color:var(--muted);line-height:1.8}.publication h4{max-width:720px;margin-top:8px;font-size:29px;line-height:1.15}.publication .text-link{white-space:nowrap}.updates-section{padding-block:104px 120px}.news-story{grid-template-columns:1.05fr 1fr;align-items:center;gap:60px;margin-top:40px;display:grid}.news-image{aspect-ratio:16/9;background:#d7c9b8;border-radius:4px;max-height:340px;overflow:hidden}.news-image>img{object-fit:cover;filter:saturate(.75);width:100%;height:100%;transition:transform .8s var(--ease), filter .8s}.news-image:hover>img{filter:saturate();transform:scale(1.025)}.news-copy>.eyebrow{color:var(--muted);margin-bottom:24px}.news-copy h3{letter-spacing:-.025em;font-size:clamp(30px,3vw,44px);line-height:1.09}.news-copy>p:not(.eyebrow){font-size:var(--text-small);color:var(--muted);margin-top:22px;line-height:1.85}.news-links{flex-wrap:wrap;gap:22px;margin-top:22px;display:flex}.news-links .text-link{font-size:var(--text-small);gap:12px}.news-links .arrow{width:15px}.contact-section{color:var(--paper);background:#514657;padding-block:58px 48px}.contact-top{justify-content:space-between;align-items:center;gap:24px;display:flex}.contact-top>span:last-child{font-size:var(--text-small);color:#d5c9c3;max-width:510px;line-height:1.8}.contact-main{justify-content:space-between;align-items:center;gap:32px;margin-block:58px;display:flex}.contact-main h2{letter-spacing:-.03em;font-size:clamp(76px,10vw,150px);line-height:.95}.contact-main h2 em{color:#d4c2e2}.contact-email{white-space:nowrap;border-bottom:1px solid #c7b6ce;align-items:center;gap:30px;padding-block:15px;font-size:15px;display:inline-flex}.contact-email:hover .arrow{transform:translate(3px,-3px)}.contact-bottom{border-top:1px solid #927a7e;justify-content:space-between;align-items:center;gap:30px;padding-top:25px;display:flex}.contact-bottom a{font-size:var(--text-small);align-items:center;gap:30px;padding-block:10px;display:inline-flex}.contact-bottom a:hover .arrow{transform:translate(3px,-3px)}.contact-bottom>a{font-size:18px}.contact-bottom>div{gap:34px;display:flex}.site-footer{justify-content:space-between;align-items:center;gap:24px;min-height:106px;padding:24px 40px;display:flex}.footer-name{font:24px var(--serif)}.footer-name span{color:var(--clay)}.site-footer>span{color:var(--muted);font-size:var(--text-small);line-height:1.8}.site-footer-dark{color:#f7f3e9;background:#3f3546}.site-footer-dark>span{color:#d2c5d4}.site-footer-dark .footer-name>span{color:#e4a2af}.site-footer-dark :focus-visible{outline-color:#e4a2af}.back-top{font-size:var(--text-small);background:0 0;align-items:center;gap:16px;padding-block:10px;display:flex}.back-top .arrow{width:16px;transform:rotate(-90deg)}.image-fallback{text-align:center;height:100%;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:15px;padding:30px;font-size:14px;display:flex}.image-fallback .bloom{width:65px}.resource-message{color:var(--muted);margin-block:25px;font-size:14px}.resource-message .text-link{margin-top:15px}.skeleton{gap:18px;min-height:180px;padding-block:18px;display:grid}.skeleton>span:not(.sr-only){background:#ddd4c7;border-radius:3px;height:18px;display:block}.skeleton>span:nth-child(2){width:90%}.skeleton>span:nth-child(3){width:65%}@keyframes intro-in{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@keyframes menu-in{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}@keyframes mobile-menu-open{0%{opacity:0;clip-path:inset(0 0 28% 8% round 5px);transform:translateY(-16px)scale(.95)}to{opacity:1;clip-path:inset(0 round 5px);transform:none}}@keyframes mobile-menu-item-in{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}@keyframes mobile-menu-close{0%{opacity:1;clip-path:inset(0 round 5px);transform:none}to{opacity:0;clip-path:inset(0 0 28% 8% round 5px);transform:translateY(-16px)scale(.95)}}@keyframes mobile-menu-item-out{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(9px)}}@keyframes location-glow{0%,25%,to{opacity:0}10%{opacity:.1}}@keyframes location-ring{0%{opacity:0;transform:translate(-50%,-50%)scale(.5)}5%{opacity:.45}25%,to{opacity:0;transform:translate(-50%,-50%)scale(1.6)}}@keyframes contact-book-open{0%{opacity:0;transform:translateY(16px)scale(.97)}to{opacity:1;transform:none}}@keyframes contact-book-close{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(10px)scale(.97)}}@keyframes contact-veil-in{0%{opacity:0}to{opacity:1}}@keyframes contact-veil-out{0%{opacity:1}to{opacity:0}}@keyframes contact-unfold-left{0%{opacity:0;transform:rotateY(74deg)}to{opacity:1;transform:rotateY(0)}}@keyframes contact-unfold-right{0%{opacity:0;transform:rotateY(-74deg)}to{opacity:1;transform:rotateY(0)}}@keyframes contact-fold-left{0%{opacity:1;transform:rotateY(0)}to{opacity:0;transform:rotateY(68deg)}}@keyframes contact-fold-right{0%{opacity:1;transform:rotateY(0)}to{opacity:0;transform:rotateY(-68deg)}}@keyframes contact-unfold-top{0%{opacity:0;transform:rotateX(-65deg)}to{opacity:1;transform:rotateX(0)}}@keyframes contact-unfold-bottom{0%{opacity:0;transform:rotateX(65deg)}to{opacity:1;transform:rotateX(0)}}@keyframes contact-fold-top{0%{opacity:1;transform:rotateX(0)}to{opacity:0;transform:rotateX(-60deg)}}@keyframes contact-fold-bottom{0%{opacity:1;transform:rotateX(0)}to{opacity:0;transform:rotateX(60deg)}}.record-page{padding-block:160px 40px}.page-heading{border-bottom:1px solid var(--line);padding-bottom:56px}.page-heading-main{justify-content:space-between;align-items:center;gap:36px;margin-top:28px;display:flex}.page-heading-main .page-title{min-width:0;margin-top:0}.breadcrumb{font-size:var(--text-small);color:var(--muted);flex-wrap:wrap;align-items:center;gap:12px;line-height:1.8;display:flex}.breadcrumb a{transition:color .2s}.breadcrumb a:hover{color:var(--clay)}.breadcrumb>span[aria-hidden]{color:#c6b7c4}.page-title{font:400 clamp(72px, 8.8vw, 132px)/1.02 var(--serif);letter-spacing:-.045em;animation:intro-in .8s var(--ease) both;margin-top:28px}.page-title em{color:#765a77}.page-period{color:#c47c88}.education-entry,.career-entry{border-bottom:1px solid var(--line);grid-template-columns:168px minmax(0,1fr);gap:56px;padding-block:54px;display:grid}.record-aside{padding-top:3px}.record-date{font-size:var(--text-small);color:var(--muted);flex-wrap:wrap;align-items:center;gap:7px;line-height:1.8;display:flex}.record-current-mark{margin-right:3px}.record-expected{font-size:var(--text-small);color:var(--muted);margin-top:10px}.degree-body{grid-template-columns:minmax(0,1fr) 120px;align-items:start;gap:40px;display:grid}.record-institution{color:var(--muted);font-size:var(--text-small);letter-spacing:.08em;text-transform:uppercase;line-height:1.8}.degree-copy h2{letter-spacing:-.025em;max-width:750px;margin-block:12px 22px;font-size:clamp(33px,3.2vw,46px);line-height:1.1}.record-narrative{max-width:780px;color:var(--muted);font-size:14px;line-height:1.95}.record-narrative p+p{margin-top:18px}.record-narrative a{text-underline-offset:4px;overflow-wrap:anywhere;-webkit-text-decoration:underline #cbb5c7;text-decoration:underline #cbb5c7}.record-narrative a:hover{color:var(--clay);text-decoration-color:currentColor}.record-external-link{font-size:var(--text-small);border-bottom:1px solid #c9b6c7;align-items:center;gap:16px;margin-top:24px;padding-block:8px;display:inline-flex}.record-external-link .arrow{width:16px;height:16px}.record-external-link:hover .arrow{transform:translate(3px,-3px)}.grade-note{border-left:1px solid #d6c5da;margin-top:2px;padding-left:22px}.grade-note>span{font-size:var(--text-small);text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:12px;display:block}.grade-note>strong{font:400 31px/1.2 var(--serif);color:#89668b;white-space:nowrap;display:block}.company-aside{padding-top:3px}.company-logo{background:#eee6e9;border-radius:50%;place-items:center;width:58px;height:58px;margin-bottom:20px;display:grid}.company-logo img{object-fit:contain;width:36px;height:36px}.company-logo>span{font:32px/1 var(--serif);color:#9f7b99}.company-aside h2{font:400 17px/1.55 var(--sans);letter-spacing:-.02em}.company-aside h2 a:hover{color:var(--clay)}.company-aside h2 .arrow{vertical-align:baseline;width:13px;height:13px;margin-left:4px;display:inline-block}.position-entry+.position-entry{border-top:1px solid #dfd4dc;margin-top:38px;padding-top:36px}.position-entry h3{letter-spacing:-.025em;max-width:840px;margin-block:12px 22px;font-size:clamp(33px,3.1vw,45px);line-height:1.12}.position-tools{color:#765d74;flex-wrap:wrap;gap:11px 24px;margin:26px 0 0;padding:0;list-style:none;display:flex}.position-tools li{font-size:var(--text-small);align-items:center;gap:9px;line-height:1.8;display:inline-flex}.position-tools li:before{content:"";background:#c08c9c;border-radius:50%;flex-shrink:0;width:4px;height:4px}.adjacent-page{justify-content:space-between;align-items:center;gap:24px;margin-top:32px;padding-block:38px 20px;display:flex}.adjacent-page>.eyebrow{font-size:var(--text-small);color:var(--muted)}.adjacent-page>a{font:36px/1.1 var(--serif);align-items:center;gap:28px;display:inline-flex}.adjacent-page>a .arrow{width:28px;height:28px}.adjacent-page>a:hover .arrow{transform:translate(3px,-3px)}.pending-page{color:var(--muted);padding-block:54px 100px;font-size:14px}.pending-page .text-link{margin-top:24px}}@layer responsive{@media (width>=1700px){.hero h1{font-size:225px}}@media (width<=1120px){.desktop-nav,.header-contact{display:none}.menu-toggle{font-size:var(--text-small);background:0 0;align-items:center;gap:13px;min-height:44px;padding:8px 0 8px 12px;display:inline-flex}.menu-toggle>span{gap:5px;display:grid}.menu-toggle i{background:currentColor;width:17px;height:1px}}@media (width<=1050px){.section{width:calc(100% - 80px)}.desktop-nav{gap:24px}.wordmark{gap:10px;font-size:20px}.site-header{padding-inline:20px}.header-contact{gap:14px}.hero{padding-inline:40px}.hero-bottom{grid-template-columns:1fr 1fr}.hero-more{justify-self:end}.about-grid{grid-template-columns:.8fr 1.2fr;gap:50px}.about-copy h2{font-size:53px}.body-copy{font-size:14px}.currently p{font-size:var(--text-small)}.news-story{gap:36px}.project-image{padding:24px}.publication{grid-template-columns:50px 1fr;gap:20px}.publication-symbol{width:48px}.publication>a{grid-column:2;justify-self:start}}@media (width<=760px){html{scroll-padding-top:96px}.section{width:calc(100% - 40px)}.site-header{height:60px;padding-inline:17px;top:14px;left:14px;right:14px}.wordmark{gap:11px;font-size:21px}.monogram{font-size:35px}.desktop-nav,.header-contact{display:none}.menu-toggle{font-size:var(--text-small);background:0 0;align-items:center;gap:13px;min-height:44px;padding:8px 0 8px 12px;display:inline-flex}.menu-toggle>span{gap:5px;display:grid}.menu-toggle i{background:currentColor;width:17px;height:1px}.hero{min-height:clamp(680px,100svh,950px);padding:130px 20px 100px}.hero h1{white-space:normal;max-width:600px;margin-inline:auto;font-size:clamp(80px,19vw,140px);line-height:.9}.hero h1 em{margin-bottom:5px;margin-right:0;display:block}.hero-role{gap:12px;margin-top:34px;font-size:clamp(17px,4.9vw,20px)}.hero-role>span{white-space:nowrap}.role-separator{width:4px;height:4px}.hero-bottom{font-size:var(--text-small);grid-template-columns:1fr;gap:12px;bottom:20px;left:24px;right:24px}.hero-location{flex-wrap:wrap;justify-content:center;justify-self:center}.hero-more{justify-self:center;gap:10px}.hero-bottom .arrow{width:16px}.about-section{padding-block:66px 72px}.section-label{gap:18px;margin-bottom:38px}.section-label .eyebrow{font-size:var(--text-small)}.about-grid{grid-template-columns:1fr;gap:45px}.portrait-column{width:80%;max-width:400px;margin-inline:auto}.about-copy h2{margin-bottom:24px;font-size:clamp(43px,8.5vw,64px)}.body-copy{font-size:15px}.currently{margin-top:27px;padding-left:18px}.currently p{font-size:14px}.about-links{gap:30px}.work-section{padding-block:64px}.section-heading{margin-bottom:34px;display:block}.section-heading h2{font-size:clamp(45px,8.8vw,65px)}.section-heading>p{font-size:var(--text-small);margin-top:18px}.projects-grid{grid-template-columns:1fr;gap:42px}.projects-carousel{gap:20px}.projects-carousel>div{flex-basis:88%}.category-heading{flex-direction:column;align-items:start;gap:8px;margin-bottom:24px}.category-heading h3{font-size:36px}.work-category{margin-top:36px}.work-category+.work-category{margin-top:48px}.project-image{padding:25px}.project-card h4{font-size:35px}.project-meta{padding-block:18px 12px}.project-meta>span:last-child{font-size:var(--text-small)}.publication{grid-template-columns:1fr;gap:16px;padding:24px 20px}.publication-symbol{width:42px}.publication h4{margin-top:12px;font-size:29px}.publication>a{grid-column:1}.updates-section{padding-block:65px 72px}.news-story{grid-template-columns:1fr;gap:28px;margin-top:30px}.news-image{max-height:240px}.news-copy>.eyebrow{margin-bottom:17px}.news-copy h3{font-size:34px}.news-copy>p:not(.eyebrow){margin-top:18px;font-size:14px}.news-links{gap:18px}.contact-section{padding-block:38px 30px}.contact-top{flex-direction:column;align-items:start;gap:18px}.contact-top .eyebrow{font-size:var(--text-small);white-space:nowrap}.contact-top>span:last-child{font-size:var(--text-small);text-align:left;max-width:100%;line-height:1.8}.contact-main{flex-direction:column;align-items:start;gap:25px;margin-block:50px 38px}.contact-main h2{font-size:clamp(60px,11.5vw,87px)}.contact-email{font-size:14px}.contact-bottom{flex-direction:column;align-items:start;gap:10px;padding-top:18px}.contact-bottom>a{font-size:17px}.contact-bottom>div{gap:28px}.contact-bottom a{gap:20px}.site-footer{grid-template-columns:1fr auto;gap:20px;padding:28px 20px;display:grid}.footer-name{font-size:23px}.site-footer>span{font-size:var(--text-small);grid-area:2/1/auto/-1}.back-top{font-size:var(--text-small);grid-area:1/2;gap:8px}.contact-dialog{border-radius:20px;width:calc(100% - 40px);max-height:calc(100svh - 64px)}.contact-book{perspective:1400px;grid-template-columns:1fr}.contact-book:after{display:none}.contact-page{padding:28px}.contact-page-left{transform-origin:bottom;border-radius:20px 20px 0 0;box-shadow:inset 0 -14px 28px -26px #4e395f55}.contact-page-right{transform-origin:top;border-radius:0 0 20px 20px;gap:22px;box-shadow:inset 0 14px 28px -26px #4e395f55}.contact-page h2{margin-block:20px 18px;font-size:56px}.contact-page-left>p{font-size:var(--text-small);line-height:1.85}.contact-dialog-controls{padding-right:9px;top:9px}.contact-dialog-email>.eyebrow{font-size:var(--text-small);margin-bottom:8px}.contact-dialog-email>a{padding-bottom:14px;font-size:clamp(22px,6.3vw,29px)}.contact-dialog-socials{gap:18px}.contact-dialog-socials a{font-size:var(--text-small);gap:12px;padding-block:8px}.contact-dialog[open] .contact-page-left{animation-name:contact-unfold-top}.contact-dialog[open] .contact-page-right{animation-name:contact-unfold-bottom}.contact-dialog[data-closing] .contact-page-left{animation-name:contact-fold-top}.contact-dialog[data-closing] .contact-page-right{animation-name:contact-fold-bottom}}@media (width<=360px){.wordmark{gap:8px;font-size:17px}.monogram{font-size:31px}.hero-role{gap:10px;font-size:17px}.hero h1{font-size:79px}.hero-more{gap:6px}.portrait-column{width:88%}.contact-main h2{font-size:55px}.project-meta{gap:8px}.project-meta .eyebrow{font-size:var(--text-small)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}.reveal[data-reveal=pending]{opacity:1;transform:none}}@media (width<=1050px){.page-heading-main{gap:26px}.education-entry,.career-entry{grid-template-columns:130px minmax(0,1fr);gap:32px}.degree-body{grid-template-columns:minmax(0,1fr) 102px;gap:24px}.grade-note{padding-left:16px}.grade-note>strong{font-size:27px}}@media (width<=760px){.page-heading-main{margin-top:24px;display:block}.page-heading-main .page-title{margin-top:0}.record-page{padding-block:126px 26px}.page-heading{padding-bottom:36px}.breadcrumb{font-size:var(--text-small);gap:10px}.page-title{margin-top:24px;font-size:clamp(62px,13vw,92px)}.education-entry,.career-entry{grid-template-columns:1fr;gap:24px;padding-block:36px}.record-aside{flex-wrap:wrap;align-items:center;gap:18px;padding-top:0;display:flex}.record-expected{margin-top:0}.degree-body{grid-template-columns:1fr;gap:26px}.degree-copy h2{margin-block:12px 20px;font-size:clamp(31px,7.8vw,42px)}.record-institution{font-size:var(--text-small)}.record-narrative{font-size:14px;line-height:1.9}.grade-note{border-top:1px solid #e4d8e4;border-left:0;justify-content:space-between;align-items:center;padding:16px 0 0;display:flex}.grade-note>span{margin:0}.grade-note>strong{font-size:29px}.company-aside{align-items:center;gap:16px;padding-top:0;display:flex}.company-logo{flex-shrink:0;width:50px;height:50px;margin:0}.company-logo img{width:30px;height:30px}.company-aside h2{max-width:320px;font-size:15px}.position-entry h3{font-size:clamp(31px,7.8vw,42px)}.position-entry+.position-entry{margin-top:30px;padding-top:28px}.position-tools{gap:10px 20px}.adjacent-page{flex-direction:column;align-items:start;gap:16px;margin-top:20px;padding-block:28px 18px}.adjacent-page>a{font-size:32px}.adjacent-page>a .arrow{width:23px;height:23px}}}@font-face{font-family:Instrument Serif;font-style:normal;font-display:swap;font-weight:400;src:url(/portfolio/assets/instrument-serif-latin-400-normal-DnYpCC2O.woff2)format("woff2"),url(/portfolio/assets/instrument-serif-latin-400-normal-BVbkICAY.woff)format("woff")}@font-face{font-family:Instrument Serif;font-style:italic;font-display:swap;font-weight:400;src:url(/portfolio/assets/instrument-serif-latin-400-italic-DKMiL14s.woff2)format("woff2"),url(/portfolio/assets/instrument-serif-latin-400-italic-u__WvvIK.woff)format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/portfolio/assets/dm-sans-latin-400-normal-CW0RaeGs.woff2)format("woff2"),url(/portfolio/assets/dm-sans-latin-400-normal-BwCSEQnW.woff)format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/portfolio/assets/dm-sans-latin-500-normal-B9HHJjqV.woff2)format("woff2"),url(/portfolio/assets/dm-sans-latin-500-normal-Dr3UlScf.woff)format("woff")}
