@import url('https://fonts.googleapis.com/css2?family=Bodoni+Moda:opsz,wght@6..96,400;6..96,500&family=DM+Mono:wght@400;500&family=Italianno&family=Manrope:wght@400;500;600;700&display=swap');
:root{--ink:#151515;--paper:#e8e6df;--muted:#88877f;--acid:#d8ff35;--line:rgba(21,21,21,.2);--serif:'Oooh Baby',cursive;--sans:'Manrope',Arial,sans-serif;--mono:'DM Mono',monospace;--radius:2px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.5;overflow-x:hidden}.site-noise{position:fixed;inset:0;pointer-events:none;opacity:.06;z-index:10;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.25'/%3E%3C/svg%3E")}.site-header{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 4vw;border-bottom:1px solid var(--line);position:fixed;top:0;width:100%;z-index:20;background:rgba(232,230,223,.82);backdrop-filter:blur(16px)}.wordmark{font-size:15px;letter-spacing:-.06em;color:var(--ink);text-decoration:none;font-weight:700}.wordmark span,.arrow,.footer-email span{color:#648000}.primary-nav{display:flex;gap:28px;margin-left:8vw}.primary-nav a,.language,.socials a{font:11px var(--mono);text-decoration:none;color:var(--ink);background:none;border:0;cursor:pointer}.primary-nav a:hover,.socials a:hover{color:#648000}.language-switcher{display:flex;gap:4px}.language{padding:5px 7px;color:var(--muted)}.language.active{background:var(--ink);color:var(--paper)}.section-pad{padding-left:8vw;padding-right:8vw}.hero{padding-top:145px;min-height:100dvh;display:grid;grid-template-columns:1fr 1.12fr;position:relative;align-items:center;gap:4vw}.hero-copy{align-self:center;position:relative;z-index:2;margin-top:-6vh}.eyebrow,.section-label,.footer-label{font:10px var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}h1,h2{font-weight:500;letter-spacing:-.08em;line-height:.92;margin:18px 0}h1{font-size:clamp(72px,12vw,180px);max-width:650px}h1 em,h2 em{font-family:var(--serif);font-style:normal;font-weight:400;letter-spacing:-.05em}.hero-manifesto{font-size:18px;letter-spacing:-.03em;max-width:230px;margin:32px 0 34px}.text-link{display:inline-flex;gap:16px;align-items:center;border-bottom:1px solid var(--ink);color:var(--ink);text-decoration:none;padding-bottom:8px;font-size:12px}.text-link:hover .arrow{transform:translate(4px,-4px)}.arrow{font-size:18px;transition:transform .3s}.hero-art{height:min(74vh,720px);min-height:430px;position:relative;overflow:hidden;background:#141414;cursor:none;transform-style:preserve-3d}.hero-art img{width:100%;height:100%;object-fit:cover;filter:saturate(.86) contrast(1.06);transition:transform .8s cubic-bezier(.16,1,.3,1)}.hero-art:hover img{transform:scale(1.06)}.art-frame:after{content:"";position:absolute;inset:14px;border:1px solid rgba(232,230,223,.36);pointer-events:none}.art-caption{position:absolute;bottom:18px;left:18px;right:18px;color:var(--paper);display:flex;justify-content:space-between;font:10px var(--mono);z-index:2}.cursor-hint{position:absolute;right:20px;top:20px;border:1px solid var(--acid);color:var(--acid);padding:5px 8px;font:9px var(--mono);z-index:2;opacity:0;transform:translateY(5px);transition:.3s}.hero-art:hover .cursor-hint{opacity:1;transform:none}.hero-orbit{position:absolute;width:45vw;height:45vw;max-width:680px;max-height:680px;right:-15vw;top:16vh;border:1px solid var(--line);border-radius:50%;z-index:-1}.hero-orbit span{position:absolute;width:8px;height:8px;background:var(--acid);border-radius:50%;top:16%;left:15%;animation:orbit 12s linear infinite}.hero-orbit span:nth-child(2){top:auto;left:auto;right:6%;bottom:24%;width:4px;height:4px;animation-duration:16s}.hero-orbit span:nth-child(3){top:45%;left:auto;right:-3%;width:3px;height:3px;animation-duration:20s}.hero-vertical{position:absolute;left:3.2vw;bottom:8vh;writing-mode:vertical-rl;font:10px var(--mono);color:var(--muted);line-height:1.5;text-transform:uppercase}.section-label{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:13px;margin-bottom:50px}.motion-strip{padding-top:15vh;padding-bottom:18vh}.motion-grid{display:grid;grid-template-columns:1fr 1fr 1.35fr;gap:18px;align-items:start}.motion-card{height:30vw;max-height:420px;min-height:240px;position:relative;overflow:hidden;background:#222;cursor:pointer}.motion-card figcaption{position:absolute;bottom:14px;left:14px;color:var(--paper);font:10px var(--mono)}.motion-card img{width:100%;height:100%;object-fit:cover;filter:grayscale(.7);transition:transform .8s}.motion-card:hover img{transform:scale(1.08) rotate(2deg)}.motion-a{background:#c9ff2f}.motion-b{background:#1b1b1b}.ink-shape{position:absolute;width:74%;height:34%;background:var(--ink);top:28%;left:8%;border-radius:55% 40% 8% 75%;transform:rotate(-18deg);animation:float 6s ease-in-out infinite}.motion-b .ink-shape{width:140%;height:24%;left:-16%;top:40%;background:var(--acid);border-radius:70% 25% 80% 10%;transform:rotate(26deg);animation-delay:-1.5s}.statement{min-height:100dvh;padding-top:15vh;padding-bottom:18vh;display:grid;grid-template-columns:.15fr 1.2fr .9fr;gap:4vw;align-items:center;background:#181818;color:var(--paper)}.statement .eyebrow,.statement p{color:#aaa99f}.statement h2,.services h2,.footer-main h2{font-size:clamp(56px,8vw,122px)}.statement-copy p:not(.eyebrow){max-width:380px;font-size:16px;margin:34px 0}.statement .text-link{color:var(--paper);border-color:var(--paper)}.statement-index{font:12px var(--mono);color:var(--acid);align-self:start}.portrait-frame{height:64vh;min-height:420px;position:relative;transform:rotate(3deg);background:#272727;padding:14px}.portrait-placeholder{height:100%;display:flex;align-items:flex-end;justify-content:space-between;padding:18px;background:linear-gradient(145deg,#53605a,#1f2623 50%,#b5b7a3);color:var(--paper);font:10px var(--mono)}.portrait-placeholder span:last-child{writing-mode:vertical-rl;color:rgba(232,230,223,.64)}.portrait-note{position:absolute;bottom:-30px;left:-12px;font:10px var(--mono);color:#aaa99f;transform:rotate(-3deg)}.index-section{padding-top:15vh;padding-bottom:18vh}.index-heading{display:grid;grid-template-columns:1fr .55fr;align-items:end;margin-bottom:10vh}.index-heading h2,.work-heading h2{font-size:clamp(64px,10vw,148px)}.index-heading p{max-width:250px;color:var(--muted);margin-bottom:12px}.index-list{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}.index-list li{display:grid;grid-template-columns:80px 1fr 30px;align-items:center;border-bottom:1px solid var(--line);padding:20px 0}.index-list li span{font:10px var(--mono);color:var(--muted)}.index-list li a{font-size:clamp(22px,3.5vw,48px);letter-spacing:-.05em;text-decoration:none;color:var(--ink)}.index-list li:hover a{font-family:var(--serif);color:#648000}.work-section{padding-top:15vh;padding-bottom:18vh;background:#d6d4cc}.work-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:7vh}.filter-row{display:flex;gap:8px}.filter{border:0;border-bottom:1px solid var(--line);font:10px var(--mono);padding:8px 0;margin-left:12px;background:none;cursor:pointer;color:var(--muted)}.filter.active{color:var(--ink);border-color:var(--ink)}.work-grid{display:grid;grid-template-columns:1.1fr .8fr;gap:6vw 3vw}.work-item.large{grid-row:span 2}.work-item.wide{grid-column:1/-1}.work-visual{position:relative;overflow:hidden;min-height:360px;background:#222;display:flex;align-items:center;justify-content:center}.work-item.large .work-visual{height:65vw;max-height:760px}.visual-one{background:#212121}.visual-one span{font-family:var(--serif);font-size:35vw;color:var(--acid);line-height:.6;transform:rotate(-15deg);transition:transform .7s}.work-item:hover .visual-one span{transform:rotate(-5deg) scale(1.08)}.visual-two{background:#c7ff32;align-items:flex-start;justify-content:flex-start;padding:35px}.visual-two span{font:clamp(32px,5vw,72px) var(--mono);line-height:.8;letter-spacing:-.14em;transform:rotate(-8deg)}.visual-three{background:#b3b2a6;align-items:flex-end;justify-content:flex-end;padding:30px}.visual-three span{font-family:var(--serif);font-size:150px;line-height:.62;writing-mode:vertical-rl;transform:rotate(15deg)}.visual-four{min-height:300px;background:#131313;align-items:center;justify-content:center}.visual-four span{color:var(--paper);font:clamp(40px,7vw,100px) var(--mono);line-height:.85;letter-spacing:-.13em;transform:rotate(-6deg)}.work-meta{display:grid;grid-template-columns:1fr 1fr 20px;padding-top:12px;border-top:1px solid var(--ink);margin-top:12px;align-items:start}.work-meta h3,.work-meta p{margin:0;font-size:12px;font-weight:500}.work-meta p,.work-meta>span{font:10px var(--mono);color:var(--muted)}.services{padding-top:15vh;padding-bottom:18vh}.services-layout{display:grid;grid-template-columns:1fr 1fr;gap:8vw}.service-intro{max-width:340px;margin:34px 0;font-size:16px}.magnetic-button{display:inline-flex;gap:28px;padding:16px 18px;border:1px solid var(--ink);color:var(--ink);text-decoration:none;font:11px var(--mono);transition:background .3s,color .3s,transform .25s}.magnetic-button:hover{background:var(--ink);color:var(--paper)}.magnetic-button span{color:var(--acid)}.service-list{border-top:1px solid var(--line)}.service-list>div{display:grid;grid-template-columns:35px 1fr;gap:10px;padding:18px 0;border-bottom:1px solid var(--line)}.service-list span{font:10px var(--mono);color:var(--muted)}.service-list strong{font-size:17px;font-weight:500}.service-list p{grid-column:2;margin:3px 0 0;color:var(--muted);max-width:300px}.site-footer{padding-top:35px;padding-bottom:32px;background:var(--ink);color:var(--paper);min-height:80vh;display:flex;flex-direction:column}.site-footer .footer-label,.site-footer .footer-bottom span{color:#96958e}.footer-top,.footer-bottom{display:flex;justify-content:space-between;gap:20px}.footer-main{margin:auto 0 12vh}.footer-main h2{margin-bottom:40px}.footer-email{font:clamp(18px,2.5vw,36px) var(--mono);color:var(--paper);text-decoration:none;border-bottom:1px solid #6c6b67;padding-bottom:10px}.footer-email:hover{color:var(--acid)}.socials{display:flex;gap:24px}.site-footer .socials a{color:var(--paper)}.site-footer .socials a:hover{color:var(--acid)}.reveal{opacity:0;transform:translateY(28px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1)}.reveal.visible{opacity:1;transform:translateY(0)}.tilt{transition:transform .3s cubic-bezier(.16,1,.3,1)}@keyframes float{0%,100%{transform:rotate(-18deg) translateY(0)}50%{transform:rotate(-14deg) translateY(-16px)}}@keyframes orbit{to{transform:rotate(360deg) translateX(20px) rotate(-360deg)}}@media (max-width:800px){.site-header{padding:0 5vw}.primary-nav{display:none}.section-pad{padding-left:5vw;padding-right:5vw}.hero{grid-template-columns:1fr;padding-top:120px;gap:30px}.hero-copy{margin-top:0}.hero-art{height:62vh;min-height:370px}.hero-vertical{display:none}.hero-orbit{width:95vw;height:95vw;top:20vh;right:-42vw}.motion-strip{padding-top:12vh}.motion-grid{grid-template-columns:1fr 1fr;gap:10px}.motion-card{height:48vw;min-height:180px}.motion-card:last-child{grid-column:1/-1;height:58vw}.statement{grid-template-columns:1fr;padding-top:13vh;gap:50px}.statement-index{display:none}.portrait-frame{height:110vw;min-height:370px;width:82%;margin-left:auto}.index-heading{grid-template-columns:1fr;gap:20px;margin-bottom:7vh}.work-heading{display:block}.filter-row{margin-top:30px}.work-grid{grid-template-columns:1fr;gap:45px}.work-item.large{grid-row:auto}.work-item.large .work-visual{height:120vw}.work-item.wide{grid-column:auto}.services-layout{grid-template-columns:1fr;gap:70px}.site-footer{min-height:75vh}.footer-main{margin:18vh 0}.footer-bottom{flex-direction:column}.socials{flex-wrap:wrap}}@media (prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
/* Loading, page-to-page transition, and quill cursor layer */
.preloader{position:fixed;inset:0;background:var(--ink);color:var(--paper);z-index:100;display:grid;place-items:center;align-content:center;gap:18px;animation:preloader-out .9s 1.9s cubic-bezier(.76,0,.24,1) forwards;pointer-events:none}.preloader-mark{font:500 42px var(--display);letter-spacing:-.08em}.preloader-mark span{color:var(--acid)}.preloader-line{width:130px;height:1px;background:#575750;overflow:hidden}.preloader-line i{display:block;height:100%;background:var(--acid);transform:translateX(-100%);animation:loading-line 1.45s .15s cubic-bezier(.76,0,.24,1) forwards}.preloader-note{font:9px var(--mono);color:#96958e;text-transform:uppercase;letter-spacing:.1em}.page-transition{position:fixed;inset:0;background:var(--acid);z-index:90;transform:translateY(100%);display:grid;place-items:center;pointer-events:none}.page-transition span{font:500 30px var(--display);opacity:0}.page-transition.active{animation:page-wipe 1.05s cubic-bezier(.76,0,.24,1) both}.page-transition.active span{animation:transition-mark .8s .15s ease both}.quill-cursor{position:fixed;left:0;top:0;width:86px;height:86px;z-index:80;pointer-events:none;opacity:0;transform:translate(-16px,-15px) rotate(-18deg);filter:drop-shadow(0 5px 5px rgba(0,0,0,.18));transition:opacity .25s,filter .25s}.quill-cursor img{width:100%;height:100%;object-fit:contain}.quill-cursor.is-visible{opacity:1}.quill-cursor.is-hovering{filter:drop-shadow(0 0 7px var(--acid));transform:translate(-16px,-15px) rotate(-8deg) scale(1.16)}body.custom-cursor,.custom-cursor a,.custom-cursor button{cursor:none}.artwork-zone{cursor:none}.ink-burst{position:fixed;width:10px;height:10px;border-radius:50%;background:var(--acid);pointer-events:none;z-index:79;animation:ink-burst .7s ease-out forwards}.work-item .work-visual:after{content:"open study ↗";position:absolute;right:16px;top:16px;color:var(--acid);font:9px var(--mono);opacity:0;transform:translateY(5px);transition:.35s}.work-item:hover .work-visual:after{opacity:1;transform:none}@keyframes loading-line{to{transform:translateX(0)}}@keyframes preloader-out{to{opacity:0;visibility:hidden;transform:translateY(-100%)}}@keyframes page-wipe{0%{transform:translateY(100%)}42%{transform:translateY(0)}58%{transform:translateY(0)}100%{transform:translateY(-100%)}}@keyframes transition-mark{0%,100%{opacity:0;transform:translateY(15px)}45%,65%{opacity:1;transform:none}}@keyframes ink-burst{0%{opacity:.9;transform:scale(.3)}100%{opacity:0;transform:scale(4) translateY(-15px)}}
@media (max-width:800px){.quill-cursor{display:none}.artwork-zone{cursor:pointer}}
@media (prefers-reduced-motion:reduce){.preloader{animation-delay:.2s}.page-transition{display:none}}
:root{--display:'Bodoni Moda',Georgia,serif;--serif:'Italianno',cursive}h1,h2{font-family:var(--display)}.project-page{background:#eee9de}.project-hero{min-height:100dvh;padding-top:105px;padding-bottom:7vh}.project-intro{max-width:680px;margin:10vh 0 5vh}.project-intro h1{font-size:clamp(72px,12vw,176px);margin:18px 0}.project-intro h1 em{font-size:.8em}.project-intro>p:last-child{font-size:17px;max-width:330px;color:var(--muted)}.project-hero-art{height:52vh;min-height:360px;background:#a99e8a;position:relative;display:grid;place-items:center;overflow:hidden}.project-hero-art:after{content:"";position:absolute;inset:14px;border:1px solid rgba(42,39,36,.4)}.project-hero-art span{font:clamp(220px,36vw,540px) var(--serif);line-height:.5;color:#2d2925;transform:rotate(-14deg);transition:transform 1.4s cubic-bezier(.16,1,.3,1)}.project-hero-art:hover span{transform:rotate(-4deg) scale(1.08)}.project-notes{display:grid;grid-template-columns:1fr 1fr 1fr;gap:7vw;padding-top:14vh;padding-bottom:14vh;background:#2d2925;color:var(--paper)}.project-notes .eyebrow{color:#a39b8e}.project-notes p:last-child{max-width:260px;font-size:16px}.project-gallery{display:grid;grid-template-columns:1.25fr .75fr;gap:18px;padding-top:14vh;padding-bottom:14vh}.gallery-large{grid-row:span 2;min-height:680px;background:#4a443d;display:grid;place-items:center;overflow:hidden}.gallery-large span{font:clamp(110px,19vw,280px) var(--serif);color:#d8cfbf;transform:rotate(-10deg)}.gallery-small{min-height:320px;display:flex;align-items:flex-end;padding:20px}.gallery-warm{background:#b5aa98}.gallery-dark{background:#1e1c1a;color:var(--paper);font:16px var(--mono);justify-content:flex-end}.project-next{min-height:55vh;padding-top:12vh;padding-bottom:12vh;display:flex;justify-content:space-between;align-items:flex-end}.next-project{display:flex;flex-direction:column;gap:18px;color:var(--ink);text-decoration:none;text-align:right}.next-project span{font:10px var(--mono);color:var(--muted)}.next-project strong{font:clamp(24px,3vw,42px);font-weight:400;letter-spacing:-.06em}@media(max-width:800px){.project-notes{grid-template-columns:1fr;gap:45px}.project-gallery{grid-template-columns:1fr}.gallery-large{grid-row:auto;min-height:100vw}.gallery-small{min-height:60vw}.project-next{min-height:50vh;display:block}.next-project{margin-top:80px;text-align:left}}
:root{--display:'Bodoni Moda',Georgia,serif;--serif:'Italianno',cursive}h1,h2{font-family:var(--display)}.scroll-panel[data-transition="orb"]:before{border-radius:50%;inset:12% 18%;background:rgba(221,214,200,.84);transform:scale(0)}.scroll-panel[data-transition="orb"].is-current:before{animation:orb-reveal 1.25s cubic-bezier(.76,0,.24,1) both}.scroll-panel[data-transition="lift"]:before{background:#2d2925;transform:translateY(100%)}.scroll-panel[data-transition="lift"].is-current:before{animation:lift-reveal 1.15s cubic-bezier(.76,0,.24,1) both}.scroll-panel[data-transition="line"]:before{inset:0 0 0 auto;width:2px;background:var(--acid);transform:scaleY(0);transform-origin:top}.scroll-panel[data-transition="line"].is-current:before{animation:line-reveal 1.1s cubic-bezier(.76,0,.24,1) both}.scroll-panel[data-transition="split"]:before{background:var(--acid);transform:scaleX(0);transform-origin:left}.scroll-panel[data-transition="split"].is-current:before{animation:split-reveal 1.2s cubic-bezier(.76,0,.24,1) both}.scroll-panel[data-transition="soft"]:before{background:rgba(241,238,230,.92);filter:blur(16px);transform:translateY(45%);opacity:0}.scroll-panel[data-transition="soft"].is-current:before{animation:soft-reveal 1.4s cubic-bezier(.16,1,.3,1) both}.work-item{transition:transform .6s cubic-bezier(.16,1,.3,1),filter .6s}.work-item.is-selected{transform:scale(.96) rotate(-1deg);filter:brightness(.75)}.ink-burst-large{width:22px;height:22px;animation:ink-burst-large .65s cubic-bezier(.16,1,.3,1) forwards}@keyframes orb-reveal{0%{transform:scale(0)}55%{transform:scale(1.8)}100%{transform:scale(4)}}@keyframes lift-reveal{0%{transform:translateY(100%)}100%{transform:translateY(-100%)}}@keyframes line-reveal{0%{transform:scaleY(0)}45%{transform:scaleY(1)}100%{transform:scaleY(0) translateY(-100%)}}@keyframes split-reveal{0%{transform:scaleX(0)}50%{transform:scaleX(1)}100%{transform:scaleX(0) translateX(100%)}}@keyframes soft-reveal{0%{opacity:0;transform:translateY(45%)}45%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(-45%)}}@keyframes ink-burst-large{0%{opacity:.9;transform:scale(.2)}100%{opacity:0;transform:scale(13)}}
:root{--display:'Bodoni Moda',Georgia,serif;--serif:'Italianno',cursive}h1,h2{font-family:var(--display)}
/* Scroll narrative and low-saturation palette */
:root{--paper:#f1eee6;--ink:#2a2724;--muted:#8c8880;--acid:#9b927d;--line:rgba(42,39,36,.2);--display:'Bodoni Moda',Georgia,serif;--serif:'Italianno',cursive}body{background:var(--paper);color:var(--ink)}.site-header{background:rgba(241,238,230,.86)}.statement,.site-footer{background:#2d2925}.motion-a,.motion-b,.visual-two{background:#b8b09e}.motion-b .ink-shape{background:#4a443d}.visual-one span{color:#d2c9b4}.visual-three{background:#c8c0b1}.work-section{background:#ddd6c8}.scroll-panel{position:relative;isolation:isolate;transition:transform 1.1s cubic-bezier(.16,1,.3,1),filter 1.1s cubic-bezier(.16,1,.3,1)}.scroll-panel:before{content:"";position:absolute;inset:0;z-index:5;background:linear-gradient(105deg,rgba(241,238,230,.96),rgba(241,238,230,.35) 45%,transparent 72%);transform:translateX(-105%);pointer-events:none}.scroll-panel.is-current:before{animation:section-wipe 1.25s cubic-bezier(.76,0,.24,1) both}.scroll-panel:not(.is-current){filter:saturate(.84);transform:scale(.992)}.scroll-panel.is-current{transform:scale(1)}.scroll-panel .reveal{transform:translateY(34px) skewY(1deg)}.scroll-panel .reveal.visible{transform:translateY(0) skewY(0)}.scroll-rail{position:fixed;right:2vw;top:50%;width:1px;height:84px;background:rgba(42,39,36,.18);z-index:30}.scroll-rail i{display:block;width:3px;margin-left:-1px;background:var(--acid);height:28%;transition:transform .7s cubic-bezier(.16,1,.3,1)}.quill-cursor.is-hidden{opacity:0!important}.feather-drift{position:fixed;width:25px;height:25px;z-index:79;pointer-events:none;opacity:.7;filter:grayscale(1);animation:feather-fall 1.8s cubic-bezier(.16,1,.3,1) forwards}.feather-drift img{width:100%;height:100%;object-fit:contain}.language,.language-switcher{cursor:auto!important}@keyframes section-wipe{0%{transform:translateX(-105%)}55%{transform:translateX(0)}100%{transform:translateX(105%)}}@keyframes feather-fall{0%{opacity:.65;transform:translate(0,0) rotate(-8deg) scale(.8)}100%{opacity:0;transform:translate(var(--drift-x),80px) rotate(38deg) scale(.26)}}
/* Keep the generated artwork subordinate to the warm neutral system. */
.hero-art img,.motion-card img{filter:saturate(.42) sepia(.08) contrast(1.04)}
.visual-max{padding:0;background:#d8d2c7}.visual-max img{width:100%;height:100%;object-fit:cover;object-position:center 48%;filter:saturate(.48) sepia(.06) contrast(1.03);transform:scale(1.01);transition:transform .8s cubic-bezier(.16,1,.3,1),filter .8s cubic-bezier(.16,1,.3,1)}.work-item:hover .visual-max img{transform:scale(1.055);filter:saturate(.58) sepia(.03) contrast(1.05)}
.work-item.large{grid-row:span 1}.work-item.large .work-visual{height:46vw;max-height:620px}.visual-persephone{padding:0;background:#d8d2c7}.visual-persephone img{width:100%;height:100%;object-fit:cover;object-position:center 45%;filter:saturate(.45) sepia(.05) contrast(1.04);transform:scale(1.012);transition:transform .8s cubic-bezier(.16,1,.3,1),filter .8s cubic-bezier(.16,1,.3,1)}.work-item:hover .visual-persephone img{transform:scale(1.06);filter:saturate(.56) sepia(.02) contrast(1.06)}
@media (max-width:800px){.work-item.large .work-visual{height:120vw}}
.index-side{display:grid;gap:22px;justify-items:end}.index-side .typing-copy{width:100%;margin:0}.vertical-index-flow{width:min(100%,330px);height:290px;position:relative;overflow:hidden;cursor:none;isolation:isolate;background:#ddd8ce}.vertical-index-flow:before,.vertical-index-flow:after{content:"";position:absolute;z-index:2;left:0;right:0;height:20%;pointer-events:none}.vertical-index-flow:before{top:0;background:linear-gradient(to bottom,var(--paper),rgba(241,238,230,0))}.vertical-index-flow:after{bottom:0;background:linear-gradient(to top,var(--paper),rgba(241,238,230,0))}.vertical-index-track{display:flex;flex-direction:column;width:100%;will-change:transform}.vertical-index-set{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 10px 10px}.vertical-index-set img{width:100%;height:140px;display:block;object-fit:cover;filter:saturate(.52) sepia(.05) contrast(1.03);transition:filter .45s cubic-bezier(.16,1,.3,1),transform .45s cubic-bezier(.16,1,.3,1)}.vertical-index-flow:hover .vertical-index-set img{filter:saturate(.65) sepia(.02) contrast(1.06)}@media(max-width:800px){.index-side{justify-items:start}.vertical-index-flow{width:100%;height:220px}.vertical-index-set img{height:108px}}@media(prefers-reduced-motion:reduce){.vertical-index-flow{overflow-y:auto;cursor:auto}.vertical-index-track{transform:none!important}.vertical-index-set:nth-child(2){display:none}}
.visual-wedding,.visual-garden{display:block;min-height:0;height:auto;padding:0;background:#efede6}.visual-wedding img,.visual-garden img{display:block;width:100%;height:auto;max-width:100%;object-fit:contain;filter:none;transform:none!important}
.work-heading{margin-bottom:clamp(22px,3vh,38px)}.visual-wedding,.visual-garden{transition:transform .65s cubic-bezier(.16,1,.3,1),box-shadow .65s cubic-bezier(.16,1,.3,1),filter .65s cubic-bezier(.16,1,.3,1);will-change:transform}.work-item:hover .visual-wedding,.work-item:hover .visual-garden{transform:translate3d(0,-10px,0);box-shadow:0 18px 34px rgba(42,39,36,.16);filter:brightness(1.015) contrast(1.025)}.work-item:hover .visual-wedding img,.work-item:hover .visual-garden img{filter:none!important}
.work-heading{margin-bottom:12px!important}.work-grid{margin-top:0!important}
.work-heading>.kinetic-title{display:none!important}.work-heading{min-height:0!important}
.site-noise{contain:paint;will-change:opacity}.scroll-panel,.scroll-panel:not(.is-current),.scroll-panel.is-current{filter:none!important;transform:none!important;transition:none!important}.work-visual{isolation:isolate;transform:translateZ(0)}.work-item,.work-visual,.work-visual img,.portrait-frame,.study-card,.vertical-index-flow{backface-visibility:hidden}
/* Reference-inspired image-led transition: no full-screen cover layer. */
.page-transition{display:none!important}.scroll-panel:before{display:none!important}.hero{position:sticky;top:0;height:100dvh;min-height:100dvh;z-index:1;overflow:visible}.hero-art{transform:scale(calc(1 + var(--hero-progress,0) * .22)) translateY(calc(var(--hero-progress,0) * -5vh));transform-origin:50% 50%;transition:transform .12s linear,filter .7s}.hero-art img{transition:transform .8s cubic-bezier(.16,1,.3,1),filter .8s}.hero-art{filter:blur(calc(var(--hero-progress,0) * 1.8px))}.motion-strip{position:relative;z-index:2;background:var(--paper)}.hero-copy{transition:opacity .2s linear,transform .2s linear;opacity:calc(1 - var(--hero-progress,0) * 1.5);transform:translateY(calc(var(--hero-progress,0) * -4vh))}.motion-strip .section-label,.motion-strip .motion-grid{position:relative;z-index:3}.feather-drift{width:16px;height:16px;opacity:.55;animation-duration:3.2s}.feather-drift img{filter:grayscale(1) contrast(.75)}
.feather-drift img{content:url('assets/feather-fall.png')}.feather-drift:nth-child(3n){animation-duration:3.8s}.feather-drift:nth-child(4n){animation-duration:4.4s}.feather-drift:nth-child(5n){animation-delay:.35s}
.hero{position:relative;top:auto;height:auto;min-height:118dvh;z-index:1;overflow:visible;padding-bottom:18vh}.hero-art{position:relative;top:auto;z-index:2;margin-bottom:-8vh;transform:scale(calc(1 + var(--hero-progress,0) * .2)) translateY(calc(var(--hero-progress,0) * -5vh));transform-origin:50% 50%;transition:transform .12s linear,filter .7s}.hero-copy{position:relative;z-index:3}.motion-strip{position:relative;z-index:4;margin-top:0;padding-top:24vh;background:var(--paper)}
.page-transition{display:none!important;position:fixed;inset:0;z-index:90;pointer-events:none;overflow:hidden}.page-transition.is-running{display:block!important}.t-page-slide .t-page{position:absolute;inset:0;display:grid;place-items:center;opacity:0;pointer-events:none;transform:translateX(8px);filter:blur(3px);background:rgba(241,238,230,.94);transition:opacity 560ms cubic-bezier(.22,1,.36,1),transform 620ms cubic-bezier(.22,1,.36,1),filter 620ms cubic-bezier(.22,1,.36,1);will-change:opacity,transform,filter}.t-page-slide .t-page[data-page-id="1"]{transform:translateX(-24px)}.t-page-slide .t-page[data-page-id="2"]{transform:translateX(24px);background:#d8d0c0}.t-page-slide[data-page="2"] .t-page[data-page-id="2"]{opacity:1;transform:translateX(0);filter:blur(0);pointer-events:auto;transition-delay:70ms}.t-page-slide[data-page="2"] .t-page[data-page-id="1"]{opacity:0;transform:translateX(-34px);filter:blur(5px)}.t-page-slide .t-page span{font:11px var(--mono);text-transform:uppercase;letter-spacing:.12em;color:#5f584e}.t-page-slide .t-page[data-page-id="2"] span{color:#5f584e}@media(prefers-reduced-motion:reduce){.t-page-slide .t-page{transition:none!important}}
.kinetic-title{--kinetic-ink-a:var(--ink);--kinetic-ink-b:#aaa08d;clip-path:inset(0 100% 0 0);transform:scaleX(.78);transform-origin:left center;letter-spacing:-.14em;opacity:.2;background:linear-gradient(90deg,var(--kinetic-ink-a) 0%,var(--kinetic-ink-a) 32%,var(--kinetic-ink-b) 50%,var(--kinetic-ink-a) 68%,var(--kinetic-ink-a) 100%);background-size:230% 100%;background-position:100% 50%;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}.statement .kinetic-title,.site-footer .kinetic-title{--kinetic-ink-a:var(--paper);--kinetic-ink-b:#bbb09e}.scroll-panel.is-current .kinetic-title{animation:title-spread 1.28s cubic-bezier(.16,1,.3,1) forwards}.scroll-panel.is-reversing .kinetic-title{animation:title-spread 1.28s cubic-bezier(.16,1,.3,1) reverse forwards}.typing-copy{min-height:1.5em}.typing-copy .type-char{display:inline-block;white-space:pre;opacity:0;transform:translateY(.28em);animation:type-in .045s cubic-bezier(.16,1,.3,1) forwards}.scroll-panel.is-reversing .typing-copy .type-char{animation:type-in .035s cubic-bezier(.76,0,.24,1) reverse forwards}.project-intro .typing-copy{max-width:36ch}@keyframes title-spread{0%{clip-path:inset(0 100% 0 0);transform:scaleX(.78);letter-spacing:-.14em;opacity:.15;background-position:100% 50%}52%{clip-path:inset(0 0 0 0);transform:scaleX(1.018);letter-spacing:-.055em;opacity:1;background-position:48% 50%}100%{clip-path:inset(0 0 0 0);transform:scaleX(1);letter-spacing:-.08em;opacity:1;background-position:0% 50%}}@keyframes type-in{to{opacity:1;transform:translateY(0)}}

/* Work now opens as a compact archive sheet instead of leaving the portfolio. */
.visual-herself{background:#e8e3d9}.visual-herself img{width:100%;height:100%;object-fit:cover;object-position:center 44%;filter:grayscale(1) contrast(1.04);transition:transform .9s cubic-bezier(.16,1,.3,1),filter .9s cubic-bezier(.16,1,.3,1)}.work-item:hover .visual-herself img{transform:scale(1.045);filter:grayscale(.35) contrast(1.02)}.project-modal{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:4vh 5vw;visibility:hidden;pointer-events:none}.project-modal-backdrop{position:absolute;inset:0;background:rgba(42,39,36,.46);backdrop-filter:blur(0);opacity:0;transition:opacity .52s ease,backdrop-filter .52s ease}.project-modal-sheet{position:relative;z-index:1;display:grid;grid-template-columns:minmax(280px,.86fr) minmax(330px,1fr);width:min(1060px,100%);max-height:91dvh;overflow:auto;background:var(--paper);box-shadow:0 28px 88px rgba(33,30,27,.2);opacity:0;transform:translateY(28px) scale(.965);transition:transform .72s cubic-bezier(.16,1,.3,1),opacity .52s ease}.project-modal.is-open{visibility:visible;pointer-events:auto}.project-modal.is-open .project-modal-backdrop{opacity:1;backdrop-filter:blur(10px)}.project-modal.is-open .project-modal-sheet{opacity:1;transform:translateY(0) scale(1)}.project-modal-close{position:fixed;right:5vw;top:4vh;z-index:2;width:42px;height:42px;border:1px solid rgba(241,238,230,.65);border-radius:50%;background:rgba(42,39,36,.82);color:var(--paper);font:28px/36px var(--display);cursor:pointer;opacity:0;transform:rotate(-80deg) scale(.7);transition:transform .55s cubic-bezier(.16,1,.3,1),opacity .3s}.project-modal.is-open .project-modal-close{opacity:1;transform:rotate(0) scale(1)}.project-modal-close:hover{background:var(--paper);color:var(--ink)}.modal-image-wrap{min-height:560px;background:#e6e0d5;display:grid;place-items:center;padding:5.5vw}.modal-image-wrap img{width:100%;max-height:72dvh;object-fit:contain;display:block;filter:grayscale(1) contrast(1.04)}.modal-copy{padding:clamp(36px,6vw,82px) clamp(28px,5vw,70px);align-self:center}.modal-meta,.modal-details dt{font:10px var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.modal-copy h2{font-size:clamp(54px,6.4vw,94px);line-height:.94;margin:18px 0 28px}.modal-lede{font-size:18px;line-height:1.35;letter-spacing:-.025em;margin:0 0 28px;max-width:30ch}.modal-story{font-size:14px;line-height:1.7;color:#5e5951;max-width:44ch}.modal-story p{margin:0 0 14px}.modal-details{margin:36px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:20px 12px}.modal-details div:last-child{grid-column:1/-1}.modal-details dt{margin-bottom:4px}.modal-details dd{margin:0;font-size:13px}.modal-open{overflow:hidden}@media(max-width:800px){.project-modal{padding:10px}.project-modal-sheet{grid-template-columns:1fr;max-height:94dvh}.modal-image-wrap{min-height:44dvh;padding:28px}.modal-image-wrap img{max-height:48dvh}.modal-copy{padding:38px 28px}.project-modal-close{right:18px;top:16px}.modal-copy h2{font-size:56px}.modal-details{grid-template-columns:1fr}}

/* Preserve the supplied drawing at native quality: no blur, desaturation, or softening filters. */
.hero-art{filter:none!important}.hero-art img,.visual-herself img,.modal-image-wrap img{filter:none!important;image-rendering:auto}.hero-art:hover img{transform:scale(1.018)}.work-item:hover .visual-herself img{filter:none!important}

/* The supplied artwork is a vertical original, so it keeps its full 2547:3142 proportion on the archive page. */
.hero-art{height:auto;min-height:0;aspect-ratio:2547/3142;background:#f7f5ef}.hero-art img{object-fit:contain;object-position:center;transform:none!important}.visual-herself img{object-fit:contain;object-position:center;background:#f7f5ef}@media(max-width:800px){.hero-art{height:auto;min-height:0;aspect-ratio:2547/3142}}

/* Modal: a visible paper-pull path in both directions, with the system cursor restored for reading. */
.project-modal{transition:visibility 0s .82s}.project-modal.is-open{transition-delay:0s}.project-modal::before,.project-modal::after{content:"";position:absolute;z-index:0;pointer-events:none;width:min(880px,88vw);height:min(72dvh,680px);background:rgba(241,238,230,.5);opacity:0;transform:translate3d(-11vw,11vh,0) rotate(-4.5deg) scale(.89);transform-origin:30% 70%;transition:transform .82s cubic-bezier(.16,1,.3,1),opacity .52s ease}.project-modal::after{background:rgba(241,238,230,.26);transform:translate3d(-18vw,17vh,0) rotate(-7deg) scale(.83);transition-delay:.06s}.project-modal.is-open::before{opacity:.72;transform:translate3d(-2vw,2vh,0) rotate(-1.4deg) scale(.98)}.project-modal.is-open::after{opacity:.42;transform:translate3d(-5vw,5vh,0) rotate(-2.8deg) scale(.94)}.project-modal-sheet{transform:translate3d(-13vw,12vh,0) rotate(-4deg) scale(.91);transform-origin:20% 75%;transition:transform .82s cubic-bezier(.16,1,.3,1),opacity .46s ease}.project-modal.is-open .project-modal-sheet{transform:translate3d(0,0,0) rotate(0) scale(1)}.modal-open,.modal-open *{cursor:auto!important}.modal-open .quill-cursor{opacity:0!important}.hero.scroll-panel.is-reversing .kinetic-title{animation:title-spread 1.28s cubic-bezier(.16,1,.3,1) forwards!important}.hero.scroll-panel.is-reversing .typing-copy .type-char{animation:type-in .045s cubic-bezier(.16,1,.3,1) forwards!important}@media(max-width:800px){.project-modal::before{transform:translate3d(-12vw,8vh,0) rotate(-4deg) scale(.9)}.project-modal::after{transform:translate3d(-18vw,12vh,0) rotate(-6deg) scale(.84)}.project-modal-sheet{transform:translate3d(-14vw,10vh,0) rotate(-3deg) scale(.92)}}

/* Keep the paper trail on compositor layers. Animated backdrop blur is intentionally omitted to avoid dropped frames. */
.project-modal-backdrop{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;will-change:opacity;transition:opacity .38s ease!important}.project-modal::before,.project-modal::after,.project-modal-sheet{will-change:transform,opacity;backface-visibility:hidden;contain:paint}.project-modal::before,.project-modal::after{transition:transform .68s cubic-bezier(.22,1,.36,1),opacity .34s ease}.project-modal-sheet{transition:transform .68s cubic-bezier(.22,1,.36,1),opacity .32s ease}.project-modal-close{will-change:transform,opacity}

/* Home opening sequence: name first, then the manifesto after a deliberate breath. */
body.intro-staging .hero .kinetic-title{animation:none!important;clip-path:inset(0 100% 0 0);transform:scaleX(.78);opacity:0}body.intro-staging .hero .typing-copy .type-char{animation:none!important;opacity:0;transform:translateY(.28em)}body.intro-staging .hero-copy .eyebrow,body.intro-staging .hero-copy .text-link{opacity:0}.hero-intro-ready .hero .kinetic-title{animation:title-spread 1.34s cubic-bezier(.16,1,.3,1) forwards!important}.hero-intro-ready .hero-copy .eyebrow,.hero-intro-ready .hero-copy .text-link{animation:hero-fade .5s 1.65s ease forwards}@keyframes hero-fade{to{opacity:1}}

/* Five supplied GIF studies form a continuous moving ribbon. */
.study-marquee{width:100%;overflow:hidden;cursor:none;padding:4px 0}.study-track{display:flex;width:max-content;will-change:transform}.study-set{display:flex;gap:18px;padding-right:18px}.study-card{flex:0 0 clamp(210px,22vw,320px);margin:0;position:relative;overflow:hidden;background:#dcd5c7;transform:translateZ(0);transition:transform .45s cubic-bezier(.16,1,.3,1),filter .45s}.study-card img{display:block;width:100%;height:clamp(300px,34vw,510px);object-fit:cover;transition:transform .7s cubic-bezier(.16,1,.3,1)}.study-card figcaption{position:absolute;left:12px;bottom:10px;color:#f6f2e9;font:9px var(--mono);letter-spacing:.08em;text-transform:uppercase;text-shadow:0 1px 8px rgba(0,0,0,.35);opacity:0;transition:opacity .3s}.study-card:hover{transform:translateY(-8px) scale(1.015);filter:contrast(1.04)}.study-card:hover img{transform:scale(1.035)}.study-card:hover figcaption{opacity:1}@media(max-width:800px){.study-set{gap:12px;padding-right:12px}.study-card{flex-basis:190px}.study-card img{height:285px}}@media(prefers-reduced-motion:reduce){.study-track{overflow-x:auto}.study-marquee{overflow-x:auto}}

.portrait-frame>img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 48%;filter:saturate(.78) contrast(1.02)}

/* Stabilise the self-portrait chapter at the scroll hand-off: no parent filter/scale thrashing. */
.motion-strip.scroll-panel,.statement.scroll-panel{filter:none!important;transform:none!important;transition:none}.statement{isolation:isolate}.statement .portrait-frame{will-change:transform,opacity;backface-visibility:hidden;transform:translate3d(0,28px,0) rotate(3deg)!important;transition:transform .85s cubic-bezier(.16,1,.3,1),opacity .85s cubic-bezier(.16,1,.3,1)!important}.statement .portrait-frame.visible{opacity:1;transform:translate3d(0,0,0) rotate(3deg)!important}.statement .portrait-frame>img{backface-visibility:hidden;transform:translateZ(0)}

/* This chapter settles after its first reveal instead of replaying while the reader scrolls back. */
.statement.scroll-panel.is-reversing .kinetic-title{animation:title-spread 1.28s cubic-bezier(.16,1,.3,1) forwards!important}.statement.scroll-panel.is-reversing .typing-copy .type-char{animation:type-in .045s cubic-bezier(.16,1,.3,1) forwards!important}

/* A small paper hello is anchored above Raven's head while the portrait is being explored. */
.portrait-frame{overflow:visible;cursor:none}.portrait-frame>img{transition:transform .9s cubic-bezier(.16,1,.3,1),filter .9s cubic-bezier(.16,1,.3,1)}.portrait-hello{position:absolute;z-index:3;top:-9%;left:31%;width:43%;opacity:0;pointer-events:none;transform:translate3d(-14px,18px,0) rotate(-5deg) scale(.78);transform-origin:20% 90%;transition:opacity .35s ease,transform .68s cubic-bezier(.16,1,.3,1)}.portrait-hello>img{display:block;width:100%;height:auto;opacity:.64;filter:drop-shadow(0 8px 12px rgba(0,0,0,.12))}.portrait-hello span{position:absolute;left:50%;top:43%;transform:translate(-50%,-50%) rotate(5deg);font:clamp(28px,3.2vw,48px) var(--serif);color:#38332d;white-space:nowrap}.portrait-frame:hover>img{transform:scale(1.025) translateY(4px);filter:saturate(.9) contrast(1.04)}.portrait-frame:hover .portrait-hello{opacity:1;transform:translate3d(0,0,0) rotate(-5deg) scale(1)}.statement:not(.about-revealed) .statement-copy .typing-copy .type-char{animation:none!important;opacity:0}@media(max-width:800px){.portrait-hello{left:25%;top:-6%;width:48%}}

/* Reserve space for italic descenders in every kinetic display headline. */
.kinetic-title{line-height:1.06!important;padding-bottom:.12em;overflow:visible}.kinetic-title em{display:inline-block;padding-bottom:.08em}

.visual-mary{background:#f5f2eb;padding:0}.visual-mary img{width:100%;height:100%;display:block;object-fit:cover;object-position:center;filter:saturate(.78) contrast(1.02);transition:transform .9s cubic-bezier(.16,1,.3,1),filter .9s cubic-bezier(.16,1,.3,1)}.work-item:hover .visual-mary img{transform:scale(1.035);filter:saturate(.96) contrast(1.03)}

/* Selected Work becomes a physical studio wall: pinned papers, not a uniform card grid. */
.work-section{background:#d9d6ce;padding-top:12vh}.work-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-flow:dense;gap:clamp(18px,2.2vw,42px) clamp(14px,1.8vw,32px);align-items:start;padding:18px 1.2vw 4vh}.work-item{--paper-angle:-1.3deg;--paper-swing:1.8deg;position:relative;display:block!important;min-width:0;padding:9px 9px 12px;background:#f0eee8;border:1px solid rgba(73,68,60,.16);box-shadow:2px 5px 11px rgba(54,49,42,.16),inset 0 0 0 1px rgba(255,255,255,.62);transform:rotate(var(--paper-angle)) translateZ(0);transform-origin:50% 0;will-change:transform;transition:box-shadow .42s ease,filter .42s ease;cursor:none}.work-item::before{content:"";position:absolute;z-index:4;top:-6px;left:50%;width:11px;height:11px;border-radius:50%;transform:translateX(-50%);background:radial-gradient(circle at 35% 28%,#fff 0 11%,#8d887d 16%,#34312d 55%,#111 100%);box-shadow:0 1px 1px rgba(255,255,255,.85),0 3px 4px rgba(42,38,32,.28)}.work-item:nth-child(2){--paper-angle:1.1deg;--paper-swing:-1.5deg;margin-top:5.2vw}.work-item:nth-child(3){--paper-angle:-.45deg;--paper-swing:1.35deg;margin-top:1.6vw}.work-item:nth-child(4){--paper-angle:1.75deg;--paper-swing:-2.15deg;margin-top:7.5vw}.work-item:nth-child(5){--paper-angle:-1deg;--paper-swing:1.55deg;margin-top:-1.8vw}.work-item:nth-child(6){--paper-angle:.65deg;--paper-swing:-1.45deg;margin-top:4vw}.work-item.large{grid-row:span 2}.work-item:nth-child(5){grid-column:span 2}.work-item:nth-child(6){grid-column:4}.work-visual,.work-item.large .work-visual{height:auto;min-height:0;aspect-ratio:4/5;overflow:hidden;background:#ebe8e0}.work-item.large .work-visual{aspect-ratio:3/4}.work-item:nth-child(3) .work-visual,.work-item:nth-child(6) .work-visual{aspect-ratio:1/1}.work-item:nth-child(5) .work-visual{aspect-ratio:16/9}.work-visual::after{content:""!important;position:absolute;z-index:3;right:0!important;bottom:0!important;top:auto!important;width:clamp(24px,3vw,46px);height:clamp(24px,3vw,46px);padding:0!important;opacity:1!important;transform:none!important;background:linear-gradient(135deg,rgba(56,52,46,.18) 0 48%,#f0eee8 50% 100%);clip-path:polygon(100% 0,0 100%,100% 100%);filter:drop-shadow(-2px -2px 2px rgba(50,45,38,.12));transition:transform .45s cubic-bezier(.16,1,.3,1)!important}.work-visual img{width:100%;height:100%;display:block;object-fit:cover;filter:saturate(.8) contrast(1.015);transform:translateZ(0);transition:transform .7s cubic-bezier(.16,1,.3,1),filter .7s cubic-bezier(.16,1,.3,1)}.work-meta{grid-template-columns:1fr 18px;gap:8px;margin-top:10px;padding:2px 2px 0;border-top:0}.work-meta h3{font-size:clamp(13px,1.1vw,16px);letter-spacing:-.035em}.work-meta p{grid-column:1;font-size:9px;margin-top:3px;letter-spacing:.01em}.work-meta>span{grid-column:2;grid-row:1;align-self:center;color:#4d493f;font-size:15px}.work-item:hover{animation:paper-sway 1.45s cubic-bezier(.45,0,.2,1) infinite;box-shadow:4px 14px 22px rgba(54,49,42,.22),inset 0 0 0 1px rgba(255,255,255,.78);filter:brightness(1.012)}.work-item:hover .work-visual img{transform:scale(1.028);filter:saturate(.94) contrast(1.025)}.work-item:hover .work-visual::after{transform:scale(1.12) translate(-2px,-2px)!important}.work-item:active{animation:none;transform:rotate(var(--paper-angle)) translateY(1px) scale(.985)}@keyframes paper-sway{0%,100%{transform:rotate(var(--paper-angle)) translate3d(0,0,0)}50%{transform:rotate(calc(var(--paper-angle) + var(--paper-swing))) translate3d(0,-4px,0)}}

/* The detail is pulled from behind the wall in layered paper sheets; closing runs the same track backward. */
.project-modal::before,.project-modal::after{background:#f0eee8!important;box-shadow:1px 3px 10px rgba(40,36,31,.1)}.project-modal-sheet{box-shadow:0 24px 64px rgba(39,35,30,.25),0 2px 0 rgba(255,255,255,.72) inset}.project-modal.is-open .project-modal-sheet{transition-duration:.76s}.project-modal:not(.is-open) .project-modal-sheet{transition-duration:.62s}
@media(max-width:980px){.work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px;padding-inline:0}.work-item:nth-child(n){margin-top:0}.work-item.large{grid-row:auto}.work-item:nth-child(5){grid-column:span 2}.work-item:nth-child(6){grid-column:auto}.work-item.large .work-visual{aspect-ratio:4/5}}
@media(max-width:620px){.work-section{padding-top:10vh}.work-grid{grid-template-columns:1fr;gap:30px;padding:14px 4vw 2vh}.work-item:nth-child(5),.work-item:nth-child(6){grid-column:auto}.work-visual,.work-item.large .work-visual,.work-item:nth-child(3) .work-visual,.work-item:nth-child(5) .work-visual,.work-item:nth-child(6) .work-visual{aspect-ratio:4/5}.work-item:nth-child(even){--paper-angle:1deg}.work-item:nth-child(odd){--paper-angle:-.8deg}.work-meta h3{font-size:16px}}
@media(prefers-reduced-motion:reduce){.work-item,.work-item:hover{animation:none!important;transform:rotate(var(--paper-angle))}.work-item:hover .work-visual img{transform:none}.work-item:hover .work-visual::after{transform:none!important}}
.work-item[style*="display: none"]{display:none!important}
