@font-face{font-family:SpaceGrotesk;src:url('/assets/fonts/space-grotesk-variable.ttf') format('truetype');font-style:normal;font-weight:300 700;font-display:swap}
@font-face{font-family:Onest;src:url('/assets/fonts/onest-regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Onest;src:url('/assets/fonts/onest-semibold.ttf') format('truetype');font-style:normal;font-weight:600;font-display:swap}
:root{--paper:#faf9f6;--ink:#22211f;--muted:#706e68;--line:#d7d4cc;--accent:#d9593f;--serif:Georgia,'Times New Roman',serif;--display:SpaceGrotesk,Arial,sans-serif;--body:Onest,Arial,sans-serif;--page:1320px;--gutter:clamp(24px,5vw,82px);color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.62 var(--body);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none;text-underline-offset:4px}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:5px}img{display:block;max-width:100%}::selection{background:#e9b0a2;color:var(--ink)}
.layout-wrap{width:min(var(--page),100% - var(--gutter)*2);margin-inline:auto}.site-header{height:82px;width:min(var(--page),100% - var(--gutter)*2);margin:auto;display:grid;grid-template-columns:1fr 1fr auto;align-items:center;border-bottom:1px solid var(--line);position:relative;z-index:10}.wordmark{display:flex;align-items:center;gap:10px;font:600 13px/1 var(--display);letter-spacing:.08em}.mark{font-size:21px;color:var(--accent);line-height:1}.header-note{font:400 11px/1 var(--display);color:var(--muted);letter-spacing:.03em}.site-header nav{display:flex;align-items:center;gap:30px;font:500 12px var(--display)}.site-header nav a{position:relative;padding:7px 0}.site-header nav a:after{content:"";height:1px;background:var(--accent);position:absolute;inset:auto 100% 1px 0;transition:right .25s cubic-bezier(.2,.8,.2,1)}.site-header nav a:hover:after,.site-header nav a:focus-visible:after,.site-header nav a.is-current:after{right:0}.site-header nav a span{color:var(--accent)}.menu-toggle,.mobile-nav{display:none}
.intro{display:grid;grid-template-columns:minmax(220px,.72fr) minmax(0,1.55fr);gap:clamp(40px,8vw,120px);padding-top:clamp(46px,7vw,100px);align-items:start}.portrait-frame{position:sticky;top:28px;margin:0;padding-top:12px}.portrait-frame img{width:100%;max-height:650px;object-fit:cover;object-position:50% 9%;mix-blend-mode:multiply}.portrait-frame figcaption{padding-top:12px;color:var(--muted);font:400 10px var(--display);letter-spacing:.04em}.portrait-frame figcaption span{color:var(--accent);padding:0 5px}.intro-copy{max-width:760px}.intro-copy h1{font:500 clamp(46px,6.15vw,84px)/.99 var(--display);letter-spacing:-.045em;margin:-8px 0 25px}.intro-copy h1 span{color:#77736c}.intro-lead{max-width:690px;font:400 clamp(21px,2.4vw,31px)/1.35 var(--display);letter-spacing:-.025em;margin:0 0 22px}.drawn-underline{background-image:url("data:image/svg+xml,%3Csvg width='1200' height='10' viewBox='0 0 1200 10' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 6C260 2 804 1 1197 5' fill='none' stroke='%23d9593f' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");background-size:100% 8px;background-repeat:no-repeat;background-position:0 100%;padding-bottom:4px}.body-copy{max-width:69ch;color:#4d4a44;font-size:16px;line-height:1.72;margin:0 0 35px}.text-section{margin:0 0 28px}.text-section h2{font:600 13px var(--display);margin:0 0 9px;letter-spacing:-.01em}.text-section p{margin:0 0 7px;max-width:69ch;color:#4d4a44;font-size:15px;line-height:1.62}.text-section strong{color:var(--ink);font-weight:600}.oval-link{position:relative;display:inline-block;color:var(--ink);z-index:0;white-space:nowrap}.oval-link:before{content:"";position:absolute;z-index:-1;left:-.18em;right:-.18em;top:.03em;bottom:.02em;border:1px solid var(--accent);border-radius:47% 53% 47% 53%/55% 44% 56% 45%;transform:rotate(-2deg);transition:transform .28s cubic-bezier(.2,.8,.2,1),background .28s}.oval-link:hover:before,.oval-link:focus-visible:before{transform:rotate(2deg) scale(1.08);background:#eac7bb55}.all-work-link{display:inline-flex;gap:12px;align-items:center;margin-top:11px;padding-bottom:3px;border-bottom:1px solid var(--ink);font:500 12px var(--display)}.all-work-link span{color:var(--accent);transition:transform .2s}.all-work-link:hover span{transform:translate(3px,-3px)}
.home-career{margin-top:clamp(60px,8vw,116px);padding:22px 0 30px;border-top:1px solid var(--line);display:grid;grid-template-columns:.42fr 1.15fr 1fr;gap:clamp(24px,5vw,76px)}.margin-label{margin:3px 0;color:var(--muted);font:500 10px var(--display);letter-spacing:.12em}.career-list p{display:grid;grid-template-columns:110px minmax(135px,1fr) minmax(135px,1fr);gap:15px;margin:0;padding:10px 0;border-bottom:1px solid var(--line);font-size:12px;line-height:1.4}.career-list p:first-child{padding-top:0}.career-list span{color:var(--muted);font:400 10px var(--display)}.career-list strong{font:500 12px var(--display)}.career-note p{margin:0 0 10px;color:#4d4a44;font-size:12px;line-height:1.6}.site-footer{display:grid;grid-template-columns:1fr auto;align-items:end;gap:22px;padding-top:28px;padding-bottom:26px;border-top:1px solid var(--line);margin-top:32px}.site-footer h2{font:500 clamp(26px,4vw,44px)/1.08 var(--display);letter-spacing:-.035em;margin:0 0 12px}.site-footer p{font-size:13px;margin:0}.site-footer p a{border-bottom:1px solid var(--accent)}.site-footer p span{color:var(--muted);padding:0 4px}.site-footer small{grid-column:1/-1;color:var(--muted);font:400 9px var(--display);letter-spacing:.05em;margin-top:13px}.back-top{font:400 23px var(--display);color:var(--accent)}
.hover-preview{position:fixed;z-index:20;right:7vw;top:50%;width:min(330px,28vw);aspect-ratio:1.3;opacity:0;visibility:hidden;transform:translateY(15px) rotate(2deg) scale(.96);transition:opacity .22s,transform .32s cubic-bezier(.2,.8,.2,1),visibility .22s;pointer-events:none;background:#eeeae1;box-shadow:0 16px 38px #28231c25;overflow:hidden}.hover-preview.is-visible{opacity:1;visibility:visible;transform:translateY(0) rotate(-1.5deg) scale(1)}.hover-preview img{width:100%;height:100%;object-fit:cover}.hover-preview span{position:absolute;left:0;right:0;bottom:0;padding:28px 13px 11px;color:#fff;background:linear-gradient(transparent,#151410b8);font:500 12px var(--display)}
.work-main{display:grid;grid-template-columns:minmax(270px,.82fr) minmax(0,1.4fr);gap:clamp(40px,9vw,135px);padding-top:clamp(54px,9vw,128px);padding-bottom:80px;position:relative}.page-intro{align-self:start;position:sticky;top:40px}.section-note{display:flex;justify-content:space-between;gap:15px;padding-bottom:12px;border-bottom:1px solid var(--line);margin:0 0 25px;font:500 10px var(--display);letter-spacing:.1em;text-transform:uppercase}.section-note span{color:var(--muted);white-space:nowrap}.page-intro h1{font:500 clamp(58px,8vw,105px)/.87 var(--display);letter-spacing:-.055em;margin:0}.page-intro h1 em{font-family:var(--serif);font-weight:400;color:var(--accent);letter-spacing:-.06em}.page-dek{max-width:33ch;margin:24px 0 0;color:#5e5b55;font-size:15px;line-height:1.65}.project-list{padding-top:5px}.project-row{position:relative;display:grid;grid-template-columns:1fr auto;gap:10px 18px;align-items:baseline;padding:22px 0 24px;border-bottom:1px solid var(--line)}.project-row:first-child{border-top:1px solid var(--line)}.project-row>a{font:500 clamp(24px,3.45vw,47px)/1.08 var(--display);letter-spacing:-.04em;transition:color .2s}.project-row>a:hover,.project-row>a:focus-visible{color:var(--accent)}.project-row .row-meta{font:400 10px var(--display);color:var(--muted);letter-spacing:.04em;white-space:nowrap}.project-row p{grid-column:1/-1;max-width:60ch;margin:0;color:#66635d;font-size:12px;line-height:1.5}.project-row .row-number{position:absolute;right:0;top:5px;color:#8e8a80;font:400 9px var(--display)}
.case-main{padding-top:21px}.case-back{display:inline-flex;gap:9px;align-items:center;color:var(--muted);font:400 10px var(--display);letter-spacing:.08em;text-transform:uppercase}.case-back span{color:var(--accent);font-size:15px}.case-heading{padding:clamp(30px,6vw,80px) 0 27px;display:grid;grid-template-columns:1fr minmax(220px,.58fr);gap:30px;align-items:end}.case-heading h1{font:500 clamp(48px,8.7vw,116px)/.9 var(--display);letter-spacing:-.055em;margin:0;max-width:900px}.case-heading p{margin:0 0 4px;max-width:43ch;color:#5c5952;font-size:15px;line-height:1.65}.case-media{margin:0;width:100%;height:clamp(270px,54vw,670px);overflow:hidden;background:#e4e0d7;position:relative}.case-media img{width:100%;height:100%;object-fit:cover}.case-media figcaption{position:absolute;bottom:13px;left:16px;color:#fff;font:400 10px var(--display);text-shadow:0 1px 7px #0009;letter-spacing:.03em}.case-type{display:flex;align-items:end;padding:clamp(28px,6vw,76px);font:500 clamp(45px,10vw,130px)/.92 var(--display);letter-spacing:-.055em;color:var(--ink);background:#e5dcd0}.case-type.type-coral{background:#e6b9a6}.case-type.type-green{background:#c7cbb7}.case-type.type-blue{background:#c2d1d5}.case-type.type-lilac{background:#d6c9d6}.case-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding:18px 0 24px;border-bottom:1px solid var(--line);font-size:11px}.case-facts div{display:flex;flex-direction:column;gap:4px}.case-facts dt{color:var(--muted);font:400 9px var(--display);text-transform:uppercase;letter-spacing:.08em}.case-facts dd{margin:0;font:500 12px var(--display)}.case-story{max-width:960px;margin:26px auto 0}.story-block{display:grid;grid-template-columns:minmax(130px,.5fr) minmax(0,1.6fr);gap:34px;padding:18px 0 25px;border-bottom:1px solid var(--line)}.story-block h2{margin:3px 0 0;font:500 12px var(--display);letter-spacing:.01em}.story-block p{max-width:67ch;margin:0 0 13px;color:#4d4a44;font-size:15px;line-height:1.75}.story-block p:last-child{margin-bottom:0}.award-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 34px}.award-group h3{font:600 10px var(--display);margin:0 0 7px;color:var(--accent);letter-spacing:.05em}.award-group ul{margin:0;padding:0;list-style:none}.award-group li{font-size:11px;line-height:1.55;color:#55524c}.case-next{display:flex;justify-content:space-between;gap:20px;padding:24px 0;margin-top:20px;border-top:1px solid var(--ink);font:500 14px var(--display)}.case-next a:hover{color:var(--accent)}
@media(max-width:800px){:root{--gutter:26px}.site-header{grid-template-columns:1fr auto;height:68px}.header-note{display:none}.site-header nav{gap:20px}.intro{grid-template-columns:minmax(155px,.65fr) minmax(0,1.5fr);gap:34px;padding-top:50px}.intro-copy h1{font-size:clamp(42px,7.4vw,62px)}.body-copy{font-size:15px}.home-career{grid-template-columns:.35fr 1.4fr;gap:28px}.career-note{grid-column:2}.work-main{grid-template-columns:.7fr 1.3fr;gap:42px}.hover-preview{right:4vw;width:29vw}.case-heading{grid-template-columns:1fr;gap:17px}.case-heading p{max-width:60ch}.case-story{max-width:780px}}
@media(max-width:560px){:root{--gutter:20px}body{font-size:15px}.site-header{height:62px}.site-header nav{display:none}.menu-toggle{display:flex;flex-direction:column;gap:5px;align-items:center;justify-content:center;width:38px;height:38px;border:0;background:none}.menu-toggle span{width:20px;height:1px;background:var(--ink)}.mobile-nav{position:absolute;z-index:9;left:0;right:0;top:62px;padding:0 var(--gutter);background:var(--paper);border-bottom:1px solid var(--line)}.mobile-nav.is-open{display:grid}.mobile-nav a{padding:13px 0;border-top:1px solid var(--line);font:500 13px var(--display)}.intro{display:flex;flex-direction:column;gap:25px;padding-top:32px}.portrait-frame{position:relative;top:auto;width:min(55%,220px);margin-left:auto;padding:0}.portrait-frame img{max-height:265px;object-fit:cover;object-position:top center}.portrait-frame figcaption{font-size:8px}.intro-copy{max-width:none}.intro-copy h1{font-size:clamp(45px,12vw,66px);margin:-2px 0 17px}.intro-lead{font-size:22px;margin-bottom:16px}.body-copy{font-size:14px;line-height:1.7;margin-bottom:27px}.text-section{margin-bottom:24px}.text-section p{font-size:14px}.home-career{margin-top:45px;grid-template-columns:1fr;gap:16px}.career-list p{grid-template-columns:90px 1fr;gap:6px 13px;padding:9px 0}.career-list p span:last-child{grid-column:2}.career-note{grid-column:auto}.site-footer{padding-top:22px}.site-footer h2{font-size:30px}.site-footer p{font-size:12px}.hover-preview{display:none}.work-main{display:block;padding-top:42px;padding-bottom:40px}.page-intro{position:static;margin-bottom:33px}.section-note{margin-bottom:20px}.page-intro h1{font-size:clamp(64px,17vw,90px)}.page-dek{max-width:34ch;font-size:14px;margin-top:15px}.project-row{padding:16px 0 17px;gap:8px}.project-row>a{font-size:clamp(23px,7vw,34px)}.project-row .row-meta{font-size:9px}.project-row p{font-size:11px;max-width:40ch}.case-main{padding-top:17px}.case-heading{padding:36px 0 20px}.case-heading h1{font-size:clamp(46px,13vw,72px)}.case-heading p{font-size:14px}.case-media{height:auto;aspect-ratio:1.12}.case-type{min-height:300px;padding:25px;font-size:clamp(46px,13vw,73px)}.case-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 12px}.story-block{grid-template-columns:1fr;gap:7px;padding:16px 0 20px}.story-block h2{font-size:11px}.story-block p{font-size:14px;line-height:1.72}.award-groups{grid-template-columns:1fr;gap:15px}.case-next{font-size:11px;gap:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* The project index reveals each real cover in-place; all text remains visible. */
.home-page .hover-preview{left:7vw;right:auto;top:45vh}
.hover-preview.is-type-preview{background:#e5dcd0}
.hover-preview.is-type-preview img{display:none}
.profile-reveal-inline{color:inherit;text-decoration:none;white-space:nowrap;cursor:pointer;transition:color .18s ease}
.profile-reveal-inline:hover,.profile-reveal-inline:focus-visible{color:var(--accent);text-decoration:none}
.profile-reveal-inline{position:relative;z-index:0;display:inline-block;padding-inline:.12em}
.profile-reveal-inline::before{content:"";position:absolute;z-index:-1;pointer-events:none;inset:-.12em -.2em;border:1px solid currentColor;border-radius:50%;transform:rotate(-2deg);transition:transform .22s ease,color .18s ease}
.profile-reveal-inline:hover::before,.profile-reveal-inline:focus-visible::before{transform:rotate(2deg) scale(1.04)}
.cv-download{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:max-content;margin:0 0 26px;padding:10px 16px;border:0;border-radius:999px;background:var(--ink);color:var(--paper);font:600 12px/1.2 var(--display);text-decoration:none;transition:background .18s ease,transform .18s ease}
.cv-download span{color:var(--paper);font-size:13px}
.cv-download:hover{background:var(--accent);transform:translateY(-1px);text-decoration:none}
.home-project-list{display:grid;gap:clamp(15px,2vw,23px);padding-top:20px}
.home-project-item{margin:0}
.project-wordmark{display:inline-block;max-width:100%;color:var(--ink);font:600 clamp(18px,1.85vw,25px)/1.16 var(--display);letter-spacing:-.035em;text-decoration:none;transition:color .18s ease,transform .22s cubic-bezier(.2,.8,.2,1)}
.project-wordmark:hover,.project-wordmark:focus-visible{color:var(--accent);transform:translateX(3px);text-decoration:none}
.stage-info{display:none!important}

/* Remove the repetitive rule and underline motif across the home and case pages. */
.site-header,.home-career,.site-footer,.career-list p,.section-note,.project-row,
.project-row:first-child,.case-facts,.story-block,.case-next,.projects-heading,
.home-project-row,.profile-reveal,.stage-frame.is-profile,.career-timeline,
.career-timeline>div,.profile-award-details,.profile-award-group,.cv-download,
.site-footer p a,.mobile-nav,.mobile-nav a{border:0!important}
.site-header nav a:after,.drawn-underline,.oval-link:before{display:none!important;background-image:none!important}
.site-header nav a,.site-footer a,.mobile-nav a,.profile-award-group a,
.profile-award-details summary,.project-row>a,.project-wordmark{ text-decoration:none!important }
.projects-heading{padding-bottom:0}
.project-row,.story-block{padding-block:22px}
.case-facts{padding-block:18px 24px}
.case-next{padding-block:24px}
.career-timeline{gap:12px}
.career-timeline>div{padding:4px 0}
.profile-award-details{padding-top:4px}
.profile-award-group{padding-top:4px}
.home-page .site-footer{padding-top:12px}
.site-footer{padding-top:20px}
.site-footer p a:hover,.site-footer p a:focus-visible,.profile-award-group li a:hover,
.profile-award-group li a:focus-visible{text-decoration:none!important}
.hover-preview.is-type-preview span{color:var(--ink);background:none;font-size:24px}
.project-row{grid-template-columns:minmax(0,1fr) 105px;gap:9px 18px;align-items:center;padding:19px 0 20px}
.row-main{display:flex;flex-direction:column;align-items:flex-start;gap:5px}
.project-row .row-main>a{font:500 clamp(24px,3.45vw,47px)/1.08 var(--display);letter-spacing:-.04em;transition:color .2s}
.project-row .row-main>a:hover,.project-row .row-main>a:focus-visible{color:var(--accent)}
.row-main .row-meta{font:400 9px var(--display);color:var(--muted);letter-spacing:.05em;white-space:normal}
.project-thumb{grid-column:2;grid-row:1;position:relative;width:105px;height:76px;overflow:hidden;display:grid;place-items:center;opacity:0;transform:translateY(5px) rotate(1deg) scale(.96);transition:opacity .2s,transform .28s cubic-bezier(.2,.8,.2,1);background:#e5dcd0;color:var(--ink);font:500 12px/1.05 var(--display);text-align:center;padding:6px}
.project-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.project-thumb>span{position:relative;z-index:1;opacity:0}
.project-row:hover .project-thumb,.project-row:focus-within .project-thumb{opacity:1;transform:translateY(0) rotate(-1deg) scale(1)}
.project-row:hover .project-thumb img,.project-row:focus-within .project-thumb img{transform:scale(1.06)}
.project-row:hover .project-thumb>span,.project-row:focus-within .project-thumb>span{opacity:1}
.project-thumb.type-coral{background:#e6b9a6}.project-thumb.type-green{background:#c7cbb7}.project-thumb.type-blue{background:#c2d1d5}.project-thumb.type-lilac{background:#d6c9d6}
.case-mark{font-size:.46em;vertical-align:.14em;letter-spacing:0}
@media(max-width:560px){.project-row{grid-template-columns:minmax(0,1fr) 72px;padding:16px 0 17px;gap:8px 11px}.project-row .row-main>a{font-size:clamp(23px,7vw,34px)}.row-main .row-meta{font-size:8px}.project-thumb{width:72px;height:60px;opacity:1;transform:none}.project-thumb>span{opacity:1}}
.case-heading{display:block}
.story-block.no-heading{grid-template-columns:1fr}
.case-heading{display:block}
.story-block.no-heading{grid-template-columns:1fr}
.case-video{margin:0;position:relative;overflow:hidden;background:#e4e0d7;aspect-ratio:16/9}
.case-video video{display:block;width:100%;height:100%;object-fit:cover;background:#e4e0d7}
.case-media.case-video{height:clamp(270px,54vw,670px);aspect-ratio:auto}
.case-video-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:28px 0 0}
.case-video-gallery .case-video{width:100%}
.case-video-gallery .case-video.is-portrait{aspect-ratio:.55;grid-row:span 2}
@media(max-width:560px){.case-video-gallery{grid-template-columns:1fr;gap:12px}.case-video-gallery .case-video.is-portrait{aspect-ratio:.72;grid-row:auto}}

/* Homepage: authored copy and every project share one calm two-column canvas. */
.home-layout{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(340px,.96fr);gap:clamp(52px,8vw,120px);align-items:start;padding-top:clamp(38px,6vw,82px)}
.home-copy{min-width:0}.home-page .intro-copy{max-width:720px}.eyebrow{margin:0 0 24px;color:var(--muted);font:500 10px/1.4 var(--display);letter-spacing:.08em;text-transform:uppercase}.eyebrow span{color:var(--accent);padding-inline:5px}
.home-page .intro-copy h1{font-size:clamp(44px,5.2vw,72px);margin:0 0 24px;line-height:.98}.home-page .intro-lead{font-size:clamp(20px,2.1vw,28px)}.home-page .body-copy{font-size:15px;max-width:62ch}
.now-section{padding-top:2px}.all-projects{margin-top:clamp(44px,6vw,78px)}.projects-heading{display:flex;justify-content:space-between;align-items:baseline;padding:0 0 11px;border-bottom:1px solid var(--ink)}.projects-heading h2{font:600 13px var(--display);margin:0}.projects-heading>span{color:var(--muted);font:400 9px var(--display);letter-spacing:.08em}
.home-project-row{display:grid;grid-template-columns:32px minmax(0,1fr) 18px;gap:9px;padding:17px 0 18px;border-bottom:1px solid var(--line)}.home-project-index{padding-top:6px;color:#969188;font:400 9px var(--display);letter-spacing:.04em}.home-project-content>a{display:inline-block;font:500 clamp(20px,2.25vw,30px)/1.12 var(--display);letter-spacing:-.04em;transition:color .2s,transform .25s cubic-bezier(.2,.8,.2,1)}.home-project-content>a:hover,.home-project-content>a:focus-visible{color:var(--accent);transform:translateX(4px)}.home-project-content p{max-width:56ch;margin:5px 0 0;color:#66635d;font-size:11px;line-height:1.5}.project-mark{font-size:.57em;vertical-align:.16em;letter-spacing:0}.home-project-arrow{align-self:start;padding-top:5px;color:var(--accent);font:400 14px var(--display);opacity:0;transform:translate(-3px,3px);transition:opacity .2s,transform .2s}.home-project-row:hover .home-project-arrow,.home-project-row:focus-within .home-project-arrow{opacity:1;transform:translate(0,0)}
.project-stage{position:sticky;top:7vh;padding-top:8px}.stage-frame{position:relative;margin:0;width:100%;aspect-ratio:.88;overflow:hidden;background:#e5dcd0;isolation:isolate;transition:background .25s}.stage-frame>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .24s,transform .7s cubic-bezier(.2,.8,.2,1)}.stage-frame.has-type-only>img{opacity:0}.stage-frame:not(.has-type-only):hover>img{transform:scale(1.025)}.stage-type{position:absolute;z-index:-1;inset:0;display:flex;align-items:flex-end;padding:clamp(24px,4vw,56px);font:500 clamp(42px,7vw,92px)/.88 var(--display);letter-spacing:-.06em;color:#24221f;opacity:0;transition:opacity .22s}.stage-frame.has-type-only .stage-type{opacity:1}.stage-frame.type-coral{background:#e6b9a6}.stage-frame.type-green{background:#c7cbb7}.stage-frame.type-blue{background:#c2d1d5}.stage-frame.type-lilac{background:#d6c9d6}.stage-index{font:400 9px var(--display);letter-spacing:.1em;color:var(--muted)}.stage-title{font:500 16px var(--display);color:var(--ink)}.stage-info{padding-top:13px}.stage-meta{display:flex;align-items:baseline;gap:13px}.stage-description{margin:8px 0 0;max-width:62ch;color:#4d4a44;font-size:13px;line-height:1.55}.home-page .site-footer{display:block;margin-top:clamp(45px,7vw,85px);padding:22px 0 24px}.home-page .site-footer h2{font-size:27px;margin-bottom:8px}.home-page .site-footer p{font-size:12px}.home-page .site-footer small{display:block;margin-top:18px}
.stage-frame.has-type-only>img{display:none}.stage-frame.has-type-only .stage-type{padding-bottom:clamp(94px,12vw,142px)}.stage-frame.is-long-type .stage-type{font-size:clamp(29px,4.8vw,62px);line-height:.94}
.stage-frame.is-portrait{background:transparent}.stage-frame.is-portrait>img{object-fit:contain;padding:0}.all-projects .home-project-item{max-width:69ch;margin:0 0 10px;color:#4d4a44;font-size:15px;line-height:1.62}
.work-main{padding-top:clamp(35px,6vw,76px)}.case-main{padding-top:25px}
@media(max-width:900px){.home-layout{grid-template-columns:minmax(0,1.05fr) minmax(285px,.95fr);gap:clamp(30px,5vw,60px)}.project-stage{top:5vh}.home-page .intro-copy h1{font-size:clamp(42px,5.4vw,58px)}.home-project-content>a{font-size:clamp(20px,2.7vw,26px)}}
@media(max-width:700px){.home-layout{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"intro" "stage" "projects" "footer";gap:27px;padding-top:26px}.home-copy{display:contents}.home-page .intro-copy{grid-area:intro}.project-stage{grid-area:stage;position:relative;top:auto;width:100%;padding:0}.stage-frame{aspect-ratio:1.45}.stage-frame.is-portrait{aspect-ratio:.95}.stage-type{padding:25px;font-size:clamp(45px,11vw,70px)}.stage-frame.has-type-only .stage-type{padding-bottom:94px}.stage-frame.is-long-type .stage-type{font-size:clamp(26px,8vw,42px)}.stage-frame figcaption{padding:48px 15px 13px}.stage-title{font-size:14px}.stage-caption{padding-top:8px}.home-page .intro-copy h1{font-size:clamp(43px,11vw,66px);margin-bottom:20px}.home-page .intro-lead{font-size:21px}.home-page .body-copy{font-size:14px}.career-copy{margin-top:-12px}.all-projects{grid-area:projects;margin-top:13px}.all-projects .home-project-item{font-size:14px;margin-bottom:9px}.home-page .site-footer{grid-area:footer;margin-top:15px}.home-page .site-footer h2{font-size:25px}}

/* About and current-project reveal states */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.profile-reveal{display:inline-flex;align-items:center;gap:8px;margin:0 0 30px;padding:0 0 4px;border:0;border-bottom:1px solid var(--line);background:none;color:var(--ink);font:500 12px var(--display);letter-spacing:.025em;text-align:left;cursor:pointer;transition:border-color .2s,color .2s}
.profile-reveal>span:first-of-type{color:var(--accent);transition:transform .2s}
.profile-reveal:hover,.profile-reveal:focus-visible{border-color:var(--accent);color:var(--accent)}
.profile-reveal:hover>span:first-of-type{transform:translate(2px,-2px)}
.profile-reveal:focus-visible,.current-project:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
.current-projects{display:flex;align-items:center;gap:18px;margin-top:14px}
.current-project{display:grid;place-items:center;width:54px;height:54px;border-radius:14px;transition:transform .25s cubic-bezier(.2,.8,.2,1)}
.current-project:hover,.current-project:focus-visible{transform:translateY(-3px) scale(1.04)}
.current-project img{display:block;width:44px;height:44px;object-fit:contain}
.current-projects-mobile{display:none}
.stage-frame.is-logo{background:#eee9e1}
.stage-frame.is-logo>img{object-fit:contain;padding:clamp(48px,8vw,110px)}
.stage-frame.is-profile{aspect-ratio:auto;min-height:560px;max-height:74vh;overflow:auto;background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.stage-frame.is-profile>.stage-type,.stage-frame.is-profile>img{display:none}
.stage-profile{box-sizing:border-box;min-height:100%;padding:clamp(20px,2.4vw,32px) 0 26px;flex-direction:column;gap:18px;color:var(--ink)}
.stage-profile[hidden]{display:none!important}
.stage-profile:not([hidden]){display:flex}
.stage-profile h2{margin:0;font:500 clamp(28px,3.2vw,42px)/1.05 var(--display);letter-spacing:-.035em}
.career-timeline{display:grid;gap:0;margin:0;padding:0;border-top:1px solid var(--line)}
.career-timeline>div{display:grid;grid-template-columns:92px 1fr;gap:14px;padding:10px 0;border-bottom:1px solid var(--line)}
.career-timeline dt{color:var(--muted);font:400 10px var(--display);letter-spacing:.035em;padding-top:3px}
.career-timeline dd{display:grid;gap:3px;margin:0;font-size:12px;line-height:1.4}
.career-timeline dd strong{font-weight:600}
.career-timeline dd span{color:#5e5a53}
.profile-contribution,.profile-recognition p{max-width:58ch;margin:0;color:#4d4a44;font-size:12px;line-height:1.62}
.profile-recognition{display:grid;gap:7px}
.profile-recognition h3{margin:0;font:600 11px var(--display)}
.profile-award-details{padding-top:8px;border-top:1px solid var(--line)}
.profile-award-details summary{width:max-content;max-width:100%;color:var(--ink);font:500 10px var(--display);cursor:pointer;text-underline-offset:3px}
.profile-awards{display:grid;gap:11px;margin-top:13px}
.profile-award-group{padding-top:9px;border-top:1px solid var(--line)}
.profile-award-group h4{margin:0 0 6px;font:600 10px var(--display)}
.profile-award-group ul{display:grid;gap:5px;margin:0;padding:0;list-style:none}
.profile-award-group li a{display:grid;gap:2px;color:#4d4a44;font-size:10px;line-height:1.4;text-decoration:none}
.profile-award-group li a span{color:var(--muted);font-size:9px}
.profile-award-group li a:hover,.profile-award-group li a:focus-visible{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.cv-download{appearance:none;display:inline-flex;align-items:baseline;gap:12px;align-self:flex-start;margin-top:auto;padding:11px 0 4px;border:0;border-bottom:1px solid var(--ink);background:none;color:var(--ink);font:600 12px var(--display)}
.cv-download span{color:var(--muted);font:400 10px var(--display)}
.is-profile+.stage-info{display:none}
@media(max-width:700px){
  .profile-reveal{margin-bottom:21px}
  .current-projects{gap:15px;margin-top:12px}
  .current-project{width:49px;height:49px}
  .current-project img{width:40px;height:40px}
  .current-projects-mobile{display:grid;gap:7px;margin-top:14px}
  .current-projects-mobile p{margin:0;color:#4d4a44;font-size:13px;line-height:1.55}
  .current-projects-mobile strong{color:var(--ink);font-weight:600}
  .stage-frame.is-profile{min-height:0;max-height:none;overflow:visible;padding:0 17px}
  .stage-profile{gap:14px;padding:20px 0 22px}
  .stage-profile h2{font-size:30px}
  .career-timeline>div{grid-template-columns:80px 1fr;gap:12px;padding:9px 0}
  .profile-contribution,.profile-recognition p{font-size:12px}
  .cv-download{margin-top:2px}
}
@media(prefers-reduced-motion:reduce){.home-project-content>a,.home-project-arrow,.stage-frame>img,.home-project-row{transition:none}}
