@font-face{font-family:'DM Sans';font-style:normal;font-weight:300 700;font-display:swap;src:url('assets/dm-sans-latin.woff2') format('woff2')}

.arrow-icon{display:inline-block;width:.82em;height:.82em;margin-left:.12em;vertical-align:-.04em;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.project-arrow .arrow-icon{display:block;width:1em;height:1em;margin:0}

:root{--ink:#151613;--paper:#f2f1e9;--lime:#d9f46b;--tint:#dce0d1;--project-tint:#bfc4a9;--accent-muted:#a1ab7e;--accent-dark:#646f3e;--accent-hover:#e9ffa1;--tool-border:#888f7b;--line:rgba(20,21,17,.18);--light-line:rgba(255,255,255,.22);--muted:#85877e;--ease:cubic-bezier(.19,1,.22,1)}
:root[data-theme="blue"]{--ink:#101b2c;--paper:#edf3f8;--lime:#83c8ff;--tint:#dbeaf5;--project-tint:#bbd5ea;--accent-muted:#7da9d0;--accent-dark:#4777a3;--accent-hover:#bce3ff;--tool-border:#7698b6}
:root[data-theme="mono"]{--ink:#111111;--paper:#f3f3f1;--lime:#fff;--tint:#dededb;--project-tint:#c8c8c8;--accent-muted:#858585;--accent-dark:#666;--accent-hover:#e5e5e5;--tool-border:#888}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--paper);font-family:'DM Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%}::selection{background:var(--lime);color:var(--ink)}

.site-nav{position:fixed;z-index:80;top:0;left:0;width:100%;display:flex;align-items:center;justify-content:space-between;padding:24px 3.2vw;color:#fff;mix-blend-mode:difference;pointer-events:none}.site-nav>*{pointer-events:auto}.brand{display:inline-flex;align-items:center;line-height:1}.brand img{display:block;width:124px;height:auto}.site-nav .brand img{width:124px}.nav-right{display:flex;align-items:center;gap:4rem}.nav-link{font-size:11px}.menu-toggle{display:flex;align-items:center;gap:14px;border:0;background:none;color:inherit;cursor:pointer;padding:8px 0}.menu-toggle span:first-child{font-size:13px}.menu-icon{position:relative;display:block;width:19px;height:19px}.menu-icon:before,.menu-icon:after{content:'';position:absolute;right:0;width:18px;height:1px;background:currentColor;transition:transform .35s var(--ease),top .35s var(--ease)}.menu-icon:before{top:7px}.menu-icon:after{top:12px}.menu-open .menu-icon:before{top:10px;transform:rotate(45deg)}.menu-open .menu-icon:after{top:10px;transform:rotate(-45deg)}
.menu-panel{position:fixed;inset:0;z-index:70;background:var(--ink);padding:120px 3.2vw 4vw;opacity:0;visibility:hidden;transform:translateY(-2%);transition:opacity .45s,transform .6s var(--ease),visibility .45s;display:flex;flex-direction:column}.menu-open .menu-panel{opacity:1;visibility:visible;transform:none}.menu-panel:before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:54px 54px;pointer-events:none}.menu-title{font-size:11px;color:var(--lime);position:relative}.menu-list{list-style:none;margin:4vw 0 auto;padding:0;position:relative}.menu-list li{border-bottom:1px solid var(--light-line)}.menu-list a{display:flex;align-items:baseline;gap:2vw;font-size:clamp(56px,9vw,150px);letter-spacing:-.08em;line-height:1.05;padding:.05em 0;transition:color .3s,transform .45s var(--ease)}.menu-list a:hover{color:var(--lime);transform:translateX(14px)}.menu-meta{position:relative;display:flex;justify-content:space-between;gap:20px;font-size:11px;color:#a7a9a0}.menu-meta a:hover{color:var(--lime)}
.transition-curtain{position:fixed;z-index:200;inset:0;background:var(--lime);transform:translateY(101%);pointer-events:none;display:flex;align-items:center;justify-content:center;color:var(--ink);font-size:clamp(40px,8vw,140px);letter-spacing:-.08em;font-weight:600}.transition-curtain.is-covering{transform:translateY(0);transition:transform .65s var(--ease)}.transition-curtain.is-revealing{transform:translateY(-101%);transition:transform .65s var(--ease)}
.hero{min-height:100svh;position:relative;display:flex;flex-direction:column;justify-content:flex-end;padding:110px 3.2vw 3.2vw;overflow:hidden;background:#111}.hero-visual{position:absolute;inset:-2%;z-index:0;overflow:hidden}.hero-bg{position:absolute;inset:0 0 0 auto;width:min(100%,calc(100svh * .9));background:#101110 url('assets/hero-portrait.jpg') center center/cover no-repeat;filter:grayscale(1) contrast(1.2) brightness(.85);transform:scale(1.04);animation:hero-settle 1.7s var(--ease) forwards}.hero:after{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(0,0,0,.52),transparent 28%),linear-gradient(90deg,rgba(0,0,0,.62),rgba(0,0,0,.24) 44%,rgba(0,0,0,.08) 85%),linear-gradient(0deg,rgba(0,0,0,.62),transparent 60%);pointer-events:none}.hero h1,.hero-bottom{position:relative;z-index:3}.hero-top{position:absolute!important;top:115px;left:3.2vw;right:3.2vw;display:flex;justify-content:space-between;align-items:flex-start}.hero-top .mono{font-size:11px;color:#d8d8d0}.hero-top-right{text-align:right}.hero h1{font-size:clamp(66px,8.2vw,142px);font-weight:400;line-height:.91;letter-spacing:-.075em;margin:0 0 2.7vw;max-width:1100px}.hero h1 em{font-weight:300;font-style:normal;color:var(--lime)}.hero-bottom{display:flex;justify-content:space-between;align-items:end;gap:30px}.hero-copy{font-size:clamp(16px,1.3vw,21px);max-width:440px;line-height:1.45}.hero-actions{display:flex;align-items:end;gap:4vw}.hero-index{font-size:11px;line-height:1.7;text-align:right;color:#d9d9d0}.pill{background:var(--lime);color:var(--ink);font-size:11px;font-weight:500;display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:18px 21px;min-width:175px;clip-path:polygon(0 0,100% 0,100% 78%,92% 100%,0 100%);transition:background .25s,transform .35s var(--ease)}.pill:hover{background:var(--accent-hover);transform:translateY(-4px)}.pill.dark{background:var(--ink);color:var(--paper)}.pill.dark:hover{background:#35372f}.pill.outline{background:none;border:1px solid currentColor;clip-path:none;color:inherit}.pill.outline:hover{background:var(--lime);color:var(--ink);border-color:var(--lime)}
.signal{background:var(--ink);color:#d0d1c9;padding:26px 3.2vw;display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--light-line)}.signal .mono{font-size:10px}.signal-dot{color:var(--lime);margin-right:8px}.signal a:hover{color:var(--lime)}
.process{background:var(--ink);padding:10vw 3.2vw 11vw;position:relative;overflow:hidden}.process:before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:68px 68px;mask-image:linear-gradient(to bottom,black,transparent);pointer-events:none}.section-index{display:flex;align-items:center;gap:12px;font-size:11px;color:var(--lime);margin-bottom:5vw}.section-index:before{content:'';width:8px;height:8px;background:currentColor;border-radius:50%}.process h2{position:relative;font-size:clamp(56px,8vw,135px);font-weight:400;line-height:.94;letter-spacing:-.075em;margin:0 0 8vw;max-width:1200px}.process h2 span{color:#7e8177}.process-grid{position:relative;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--light-line)}.process-item{padding:26px 25px 0 0;min-height:280px;border-right:1px solid var(--light-line)}.process-item:not(:first-child){padding-left:25px}.process-item:last-child{border:0}.process-item .mono{font-size:10px;color:var(--lime)}.process-item h3{font-size:clamp(28px,3vw,51px);font-weight:400;letter-spacing:-.055em;margin:50px 0 14px}.process-item p{font-size:15px;line-height:1.6;color:#a7a9a0;max-width:315px;margin:0}
.statement{background:var(--paper);color:var(--ink);padding:10vw 3.2vw 11vw}.statement .section-index{color:#676c5a}.statement h2{font-size:clamp(52px,7.2vw,122px);font-weight:400;line-height:.98;letter-spacing:-.075em;max-width:1300px;margin:0 0 5vw}.statement h2 span{color:#8e9185}.statement-bottom{border-top:1px solid var(--line);padding-top:27px;display:flex;justify-content:space-between;align-items:flex-start;gap:50px}.statement-bottom .mono{font-size:11px}.statement-bottom p{max-width:500px;font-size:18px;line-height:1.55;margin:0}.statement-bottom .pill{flex:none}
.featured{background:var(--paper);color:var(--ink);padding:0 3.2vw 11vw}.featured-head,.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:4vw}.featured-head h2,.section-head h2{font-size:clamp(52px,7vw,118px);font-weight:400;letter-spacing:-.07em;line-height:.95;margin:0}.featured-head .mono,.section-head .mono{font-size:11px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:5vw 1.8vw}.project-card--offset{margin-top:13vw}.project-card--wide{grid-column:1/3;width:64%;margin-top:1vw}.project-image{aspect-ratio:4/3;background:var(--project-tint);overflow:hidden;position:relative}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}.project-card:hover img{transform:scale(1.06)}.project-image.amv{background:#222}.project-image.lex{background:#e6e5cf}.project-image.notes{background:var(--project-tint)}.image-caption{position:absolute;bottom:16px;left:17px;background:var(--lime);color:var(--ink);font-size:10px;padding:8px 10px}.project-details{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:18px;margin-top:20px}.project-details h3{font-size:clamp(26px,2.8vw,43px);font-weight:400;letter-spacing:-.05em;margin:0 0 6px}.project-meta{font-size:10px;color:#72766b}.project-arrow{font-size:29px;line-height:1;transition:transform .35s var(--ease)}.project-card:hover .project-arrow{transform:translate(5px,-5px)}.notes-ui{position:absolute;inset:13% 12%;display:flex;background:#fbfbf7;border-radius:12px;box-shadow:0 24px 60px rgba(31,38,23,.22);overflow:hidden;transform:rotate(-5deg) scale(1.12)}.notes-side{width:31%;background:#eceee7;border-right:1px solid #d5d8ce;padding:6% 5%;font-size:9px;color:#444}.notes-dot{width:10px;height:10px;border-radius:50%;background:#bbc9a1;margin-bottom:28px}.notes-line{height:6px;background:#c9cec1;border-radius:3px;margin-bottom:10px}.notes-line.short{width:60%}.notes-main{flex:1;padding:8% 7%;color:#333}.notes-title{font-size:clamp(17px,2.5vw,42px);font-weight:600;letter-spacing:-.06em;margin:9% 0}.notes-main .notes-line{background:#e4e7df;margin-bottom:12px;height:7px}.notes-main .notes-line:nth-last-child(1){width:65%}
.capabilities{background:var(--tint);color:var(--ink);padding:10vw 3.2vw}.capabilities .section-head{margin-bottom:6vw}.cap-list{border-top:1px solid var(--line)}.cap-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,430px);gap:4vw;align-items:start;padding:3vw 0;border-bottom:1px solid var(--line)}.cap-row .mono{font-size:11px}.cap-row h3{font-size:clamp(34px,4vw,64px);font-weight:400;letter-spacing:-.06em;line-height:1;margin:0}.cap-row p{max-width:430px;font-size:17px;line-height:1.55;margin:0}.cap-row:hover h3{font-style:italic}
.contact-band{background:var(--ink);color:var(--paper);padding:10vw 3.2vw 0}.contact-band .section-index{margin-bottom:5vw}.contact-band h2{font-size:clamp(70px,11.5vw,190px);line-height:.86;letter-spacing:-.08em;font-weight:400;margin:0 0 8vw}.contact-band h2 span{color:var(--lime)}.contact-band .pill{margin-bottom:10vw}.footer{display:grid;grid-template-columns:2fr 1fr 1fr;gap:3vw;border-top:1px solid var(--light-line);padding:40px 0 26px}.footer h3{font-size:11px;font-weight:400;color:#888b80;margin:0 0 18px;text-transform:uppercase}.footer a:not(.brand){display:block;font-size:15px;margin-bottom:8px}.footer a:hover{color:var(--lime)}.footer .brand img{width:152px}.footer-meta{border-top:1px solid var(--light-line);display:flex;justify-content:space-between;padding:20px 0 26px;font-size:10px;color:#85877e}
.page-hero{min-height:72svh;padding:165px 3.2vw 5vw;display:flex;flex-direction:column;justify-content:space-between}.page-hero.dark{background:var(--ink);color:var(--paper)}.page-hero.light{background:var(--paper);color:var(--ink)}.page-hero .eyebrow{font-size:11px;color:var(--lime)}.page-hero.light .eyebrow{color:var(--accent-dark)}.page-hero h1{font-size:clamp(90px,14vw,230px);font-weight:400;letter-spacing:-.085em;line-height:.8;margin:4vw 0}.page-hero h1 span{color:var(--lime)}.page-hero.light h1 span{color:var(--accent-muted)}.page-hero-bottom{border-top:1px solid currentColor;padding-top:25px;display:flex;justify-content:space-between;gap:40px}.page-hero-bottom .mono{font-size:11px}.page-hero-bottom p{max-width:550px;font-size:20px;line-height:1.45;margin:0}
.work-page-list{background:var(--paper);color:var(--ink);padding:8vw 3.2vw 10vw}.work-feature{display:grid;grid-template-columns:1fr 1fr;gap:4vw;align-items:center;padding:4vw 0;border-top:1px solid var(--line)}.work-feature:last-child{border-bottom:1px solid var(--line)}.work-feature:nth-child(even) .work-feature-visual{order:2}.work-feature-visual{min-height:410px;position:relative;overflow:hidden;background:var(--project-tint)}.work-feature-visual img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.work-feature-visual .notes-ui{inset:11% 8%}.work-feature-copy .mono{font-size:11px;color:#5f6652}.work-feature-copy h2{font-size:clamp(50px,6vw,100px);font-weight:400;letter-spacing:-.075em;line-height:.94;margin:30px 0}.work-feature-copy p{font-size:18px;line-height:1.55;max-width:460px;margin:0 0 35px}.work-feature-copy .pill{margin-top:15px}.work-no{font-size:11px;color:#696d63}
.about-intro{background:var(--paper);color:var(--ink);padding:3vw 3.2vw 10vw;display:grid;grid-template-columns:1fr 1fr;gap:7vw}.about-intro h2{font-size:clamp(42px,5vw,85px);font-weight:400;line-height:1.05;letter-spacing:-.065em;margin:0}.about-intro p{font-size:22px;line-height:1.5;margin:0 0 30px}.about-intro .muted{font-size:17px;color:#606459}.about-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;border-top:1px solid var(--line);padding-top:30px;margin-top:65px}.about-stats strong{display:block;font-size:clamp(38px,4vw,70px);font-weight:300;letter-spacing:-.07em}.tools-section{background:var(--tint);color:var(--ink);padding:9vw 3.2vw}.tools-section h2{font-size:clamp(50px,7vw,118px);font-weight:400;letter-spacing:-.075em;line-height:.95;margin:0 0 6vw}.tool-cloud{display:flex;flex-wrap:wrap;gap:12px}.tool-cloud span{border:1px solid var(--tool-border);border-radius:40px;padding:14px 20px;font-size:16px}.timeline{background:var(--paper);color:var(--ink);padding:9vw 3.2vw}.timeline h2{font-size:clamp(50px,7vw,118px);font-weight:400;letter-spacing:-.075em;margin:0 0 6vw}.timeline-row{display:grid;grid-template-columns:1fr 2fr 1fr;gap:30px;border-top:1px solid var(--line);padding:26px 0}.timeline-row:last-child{border-bottom:1px solid var(--line)}.timeline-row h3{font-size:26px;letter-spacing:-.04em;font-weight:400;margin:0}.timeline-row p{font-size:16px;line-height:1.5;margin:0;max-width:500px}.timeline-row .mono{font-size:11px;text-align:right}
.contact-page{min-height:100svh;background:var(--ink);color:var(--paper);padding:150px 3.2vw 4vw;display:flex;flex-direction:column}.contact-page .eyebrow{font-size:11px;color:var(--lime)}.contact-page h1{font-size:clamp(80px,12vw,205px);line-height:.86;letter-spacing:-.085em;font-weight:400;margin:auto 0 7vw}.contact-page h1 span{color:var(--lime)}.contact-grid{border-top:1px solid var(--light-line);display:grid;grid-template-columns:2fr 1fr 1fr;gap:3vw;padding-top:30px}.contact-grid .mono{font-size:11px;color:#888b80;margin-bottom:20px}.contact-grid a{display:block;font-size:clamp(17px,2vw,31px);letter-spacing:-.04em;margin-bottom:12px;word-break:break-word}.contact-grid a:hover{color:var(--lime)}.contact-small{font-size:10px;color:#85877e;margin-top:7vw;display:flex;justify-content:space-between;gap:25px}
.reveal{opacity:0;transform:translateY(35px);transition:opacity .8s var(--ease),transform .8s var(--ease)}.reveal.in-view{opacity:1;transform:none}@keyframes hero-settle{to{transform:scale(1)}}
@media(max-width:900px){.nav-right{gap:24px}.hero h1{font-size:clamp(65px,10vw,110px)}.project-grid{gap:6vw 2vw}.cap-row{grid-template-columns:minmax(0,1fr) minmax(240px,360px);gap:28px}.cap-row p{grid-column:auto}.work-feature-visual{min-height:330px}.work-feature-copy h2{font-size:clamp(45px,6vw,75px)}}
@media(max-width:650px){.site-nav{padding:20px 5vw}.nav-link{display:none}.menu-panel{padding:110px 5vw 8vw}.menu-list{margin:15vw 0 auto}.menu-list a{font-size:15vw;padding:.12em 0}.menu-meta{font-size:9px;flex-wrap:wrap}.hero{padding:110px 5vw 7vw;min-height:100svh}.hero-bg{inset:0;width:100%;background-position:18% center;background-size:auto 100%}.hero-top{left:5vw;right:5vw;top:92px}.hero-top .mono{font-size:9px}.hero h1{font-size:clamp(58px,13.4vw,85px);max-width:95%;margin-bottom:35px}.hero-bottom{display:block}.hero-copy{font-size:16px;max-width:350px;margin-bottom:26px}.hero-actions{align-items:center;justify-content:space-between}.hero-index{font-size:9px}.signal{padding:20px 5vw}.signal .mono{font-size:9px}.signal .hide-small{display:none}.process,.statement,.capabilities,.contact-band,.tools-section,.timeline{padding:20vw 5vw}.section-index{margin-bottom:11vw}.process h2,.statement h2{font-size:clamp(55px,11vw,85px);margin-bottom:16vw}.process-grid{grid-template-columns:1fr}.process-item,.process-item:not(:first-child){border-right:0;border-bottom:1px solid var(--light-line);padding:23px 0;min-height:auto}.process-item h3{margin:26px 0 8px}.process-item p{max-width:100%}.statement-bottom{display:block}.statement-bottom p{font-size:17px;margin:25px 0}.featured{padding:0 5vw 20vw}.featured-head,.section-head{align-items:start}.featured-head h2,.section-head h2{font-size:clamp(53px,11vw,80px)}.featured-head .mono,.section-head .mono{font-size:9px;padding-top:8px}.project-grid{display:block}.project-card,.project-card--offset,.project-card--wide{display:block;width:100%;margin:0 0 55px}.project-image{aspect-ratio:4/3}.project-details h3{font-size:30px}.cap-list{margin-top:11vw}.cap-row{grid-template-columns:minmax(0,1fr);gap:16px;padding:34px 0}.cap-row h3{font-size:clamp(32px,8vw,37px);line-height:1.08}.cap-row p{grid-column:1;font-size:15px;line-height:1.6;max-width:36ch}.contact-band h2{font-size:clamp(73px,17vw,120px);margin-bottom:15vw}.contact-band .pill{margin-bottom:20vw}.footer{grid-template-columns:1fr 1fr;gap:35px 15px}.footer>div:first-child{grid-column:1/3}.footer-meta{font-size:9px}.page-hero{padding:140px 5vw 9vw;min-height:68svh}.page-hero h1{font-size:clamp(90px,18vw,150px)}.page-hero-bottom{display:block}.page-hero-bottom .mono{display:block;margin-bottom:18px}.page-hero-bottom p{font-size:16px}.work-page-list{padding:10vw 5vw 20vw}.work-feature{display:flex;flex-direction:column;align-items:stretch;padding:11vw 0}.work-feature:nth-child(even) .work-feature-visual{order:0}.work-feature-visual{min-height:310px}.work-feature-copy h2{font-size:60px}.work-feature-copy p{font-size:16px}.about-intro{display:block;padding:6vw 5vw 20vw}.about-intro h2{font-size:46px;margin-bottom:50px}.about-intro p{font-size:19px}.about-stats{gap:10px;margin-top:40px}.about-stats strong{font-size:42px}.tools-section h2,.timeline h2{font-size:62px}.tool-cloud span{font-size:14px;padding:10px 14px}.timeline-row{grid-template-columns:1fr 1fr}.timeline-row p{grid-column:1/3;grid-row:2;font-size:15px}.timeline-row .mono{text-align:right}.contact-page{padding:130px 5vw 8vw}.contact-page h1{font-size:clamp(75px,17vw,120px)}.contact-grid{grid-template-columns:1fr 1fr;gap:40px 15px}.contact-grid>div:first-child{grid-column:1/3}.contact-grid a{font-size:20px}.contact-small{margin-top:80px;font-size:9px}.transition-curtain{font-size:12vw}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}.hero-bg{transform:none}}
.process-item{min-height:230px}
.process-item h3{margin-top:0}
@media(max-width:650px){.process-item{min-height:auto}.process-item h3{margin-top:0}}

/* Spacing after removing monospaced labels and call-to-action text. */
.nav-right{gap:0}.process-item h3{margin-top:26px}.page-hero-bottom{justify-content:flex-end}.work-feature-copy h2 a:hover{text-decoration:underline;text-underline-offset:.08em}.contact-band h2{margin-bottom:10vw}.contact-grid{padding-top:35px}

/* Motion: soft cream page wipes, gently staggered reveals, and a calmer menu. */
:root{--ease-soft:cubic-bezier(.22,1,.36,1);--ease-wipe:cubic-bezier(.76,0,.24,1)}
body.is-transitioning{overflow:hidden}
.transition-curtain{background:var(--paper);transform:translate3d(0,101%,0);transition:none;will-change:transform}
.menu-panel{transform:translate3d(0,-16px,0);transition:opacity .55s var(--ease-soft),transform .75s var(--ease-soft),visibility .55s}
.menu-open .menu-panel{transform:translate3d(0,0,0)}
.menu-list li{opacity:0;transform:translate3d(0,22px,0);transition:opacity .55s var(--ease-soft),transform .8s var(--ease-soft)}
.menu-open .menu-list li{opacity:1;transform:translate3d(0,0,0)}
.menu-open .menu-list li:nth-child(1){transition-delay:.07s}
.menu-open .menu-list li:nth-child(2){transition-delay:.12s}
.menu-open .menu-list li:nth-child(3){transition-delay:.17s}
.menu-open .menu-list li:nth-child(4){transition-delay:.22s}
.reveal{opacity:0;transform:translate3d(0,28px,0);transition:opacity .95s var(--ease-soft),transform 1.1s var(--ease-soft);transition-delay:var(--reveal-delay,0ms)}
.reveal.in-view{opacity:1;transform:translate3d(0,0,0)}
.project-image img,.work-feature-visual img{transition:transform 1.3s var(--ease-soft)}
.project-card:hover .project-image img,.work-feature:hover .work-feature-visual img{transform:scale(1.045)}
@media(prefers-reduced-motion:reduce){.transition-curtain{will-change:auto}.reveal,.menu-list li{opacity:1;transform:none;transition:none!important}.menu-panel{transition:none!important}}

.project-status{grid-column:1/-1;font-size:18px;line-height:1.5;color:#636a5f;margin:0}.work-page-list .project-status{padding:3vw 0}.project-image.notes{background:var(--project-tint)}.work-feature-visual.notes{background:var(--project-tint)}

.transition-curtain img{display:block;width:clamp(216px,38vw,610px);height:auto;filter:brightness(0)}
@media(max-width:650px){.site-nav .brand img{width:104px}.footer .brand img{width:128px}.transition-curtain img{width:70vw}}

/* Portrait treatment: dark gradient and subtle film grain. */
.hero-visual::before{content:'';position:absolute;inset:-5%;background:url('assets/hero-portrait.jpg') center center/cover no-repeat;filter:grayscale(1) blur(32px) brightness(.26)}
.hero-bg{mask-image:linear-gradient(90deg,transparent,#000 24%)}
.hero-grain{position:absolute;inset:-3%;z-index:2;pointer-events:none}
.hero-grain{background:url('assets/grain.svg') repeat;background-size:180px 180px;mix-blend-mode:overlay;opacity:.14;animation:hero-grain-shift .35s steps(2) infinite}
@keyframes hero-grain-shift{0%{transform:translate3d(0,0,0)}25%{transform:translate3d(-7px,5px,0)}50%{transform:translate3d(6px,-4px,0)}75%{transform:translate3d(-3px,-6px,0)}100%{transform:translate3d(5px,3px,0)}}
@media(max-width:650px){.hero-visual::before{display:none}.hero-bg{mask-image:none}.hero:after{background:linear-gradient(180deg,rgba(0,0,0,.5),transparent 28%),linear-gradient(0deg,rgba(0,0,0,.78),rgba(0,0,0,.23) 66%),linear-gradient(90deg,rgba(0,0,0,.32),transparent 75%)}.hero-grain{opacity:.12}}
@media(prefers-reduced-motion:reduce){.hero-grain{animation:none!important}}
.contact-form{border-top:1px solid var(--light-line);margin-top:9vw;padding-top:3vw}.contact-form-heading{display:flex;align-items:end;justify-content:space-between;gap:3vw;margin-bottom:4vw}.contact-form-heading h2{font-size:clamp(45px,6vw,100px);font-weight:400;letter-spacing:-.07em;line-height:.95;max-width:9ch;margin:0}.contact-form-heading p{max-width:31ch;font-size:17px;line-height:1.5;color:#aeb0a8;margin:0}.contact-form-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2.5vw}.contact-form label{display:flex;flex-direction:column;gap:14px;font-size:15px}.contact-form input,.contact-form textarea{width:100%;border:1px solid var(--light-line);border-radius:0;background:transparent;color:var(--paper);font:inherit;font-size:18px;padding:17px 18px;outline:none;transition:border-color .25s ease}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--lime)}.contact-form textarea{resize:vertical;min-height:170px}.contact-form-message{grid-column:1/-1}.contact-honeypot{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.contact-form-bottom{display:flex;align-items:center;justify-content:space-between;gap:3vw;margin-top:2.5vw}.contact-form-bottom p{max-width:48ch;color:#aeb0a8;font-size:13px;line-height:1.55;margin:0}.contact-form-bottom button{flex:none;display:inline-flex;align-items:center;gap:28px;border:1px solid var(--lime);border-radius:99px;background:var(--lime);color:var(--ink);padding:18px 24px;cursor:pointer;transition:background .25s ease,color .25s ease}.contact-form-bottom button:hover{background:transparent;color:var(--lime)}.contact-form-bottom button:disabled{opacity:.55;cursor:wait}.contact-form-bottom .arrow-icon{width:18px;height:18px}.contact-form-status{min-height:1.5em;margin:20px 0 0;font-size:14px;color:var(--lime)}.contact-form-status[data-error="true"]{color:#ff9e8b}
@media(max-width:650px){.contact-form{margin-top:20vw;padding-top:8vw}.contact-form-heading{display:block;margin-bottom:10vw}.contact-form-heading h2{font-size:clamp(46px,11vw,70px)}.contact-form-heading p{margin-top:6vw;font-size:15px}.contact-form-fields{grid-template-columns:1fr;gap:6vw}.contact-form label{font-size:14px}.contact-form input,.contact-form textarea{font-size:16px}.contact-form-bottom{align-items:stretch;flex-direction:column;gap:7vw;margin-top:7vw}.contact-form-bottom button{justify-content:space-between}}
.contact-form-bottom p a,.privacy-copy a{color:var(--lime);text-decoration:underline;text-underline-offset:.2em}.privacy-page{min-height:100svh;padding:160px 3.2vw 10vw;background:var(--ink);color:var(--paper)}.privacy-page h1{font-weight:400;font-size:clamp(90px,14vw,210px);line-height:.9;letter-spacing:-.085em;margin:0 0 8vw}.privacy-page h1 span{color:var(--lime)}.privacy-copy{max-width:820px;margin-left:auto}.privacy-copy p{font-size:clamp(18px,2vw,27px);line-height:1.55;letter-spacing:-.025em;margin:0 0 2.5em}
@media(max-width:650px){.privacy-page{padding:130px 5vw 20vw}.privacy-page h1{font-size:clamp(78px,17vw,120px);margin-bottom:20vw}.privacy-copy p{font-size:17px;margin-bottom:2em}}

.menu-panel{overflow-y:auto}.menu-list{margin:2vw 0 auto}.menu-list a{font-size:clamp(48px,6.3vw,96px);line-height:1;padding:.015em 0}
.anonymous-page{min-height:100svh;padding:clamp(140px,13vw,190px) 3.2vw 8vw;background:linear-gradient(155deg,var(--ink) 5%,var(--accent-dark) 250%);color:var(--paper)}
.anonymous-hero{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(260px,.65fr);align-items:end;gap:5vw;padding-bottom:8vw}
.anonymous-hero h1{font-weight:400;font-size:clamp(76px,10.5vw,170px);line-height:.88;letter-spacing:-.085em;margin:0}
.anonymous-hero h1 span{color:var(--lime)}
.anonymous-hero p{font-size:clamp(18px,1.8vw,27px);line-height:1.4;letter-spacing:-.025em;max-width:36ch;margin:0 0 .35em;color:#d4d6ce}
.anonymous-form{margin-top:0;padding-top:4vw}
.anonymous-form .contact-form-heading h2{max-width:none}
.anonymous-form .contact-form-fields{grid-template-columns:1fr}
.anonymous-form textarea{min-height:250px}
.anonymous-form .contact-form-bottom p{max-width:64ch}
.anonymous-invite{margin:5vw 0 0;font-size:clamp(18px,1.7vw,25px);color:#aeb0a8}
.anonymous-invite a{color:var(--lime);text-decoration:underline;text-underline-offset:.22em}
.anonymous-invite .arrow-icon{width:.7em;height:.7em}
@media(max-width:650px){.menu-list{margin:7vw 0 auto}.menu-list a{font-size:12vw;padding:.12em 0}.anonymous-page{padding:130px 5vw 20vw}.anonymous-hero{display:block;padding-bottom:20vw}.anonymous-hero h1{font-size:clamp(65px,15vw,110px)}.anonymous-hero p{font-size:17px;line-height:1.55;margin:12vw 0 0}.anonymous-form{padding-top:8vw}.anonymous-form textarea{min-height:220px}.anonymous-invite{margin:14vw 0 0;font-size:18px}}

:root[data-theme="mono"] .notes-ui{filter:grayscale(1)}

.films-hero{min-height:76svh;position:relative;overflow:hidden;background:radial-gradient(ellipse at 75% 36%,color-mix(in srgb,var(--accent-dark) 42%,transparent),transparent 47%),var(--ink)}
.films-hero:after{content:'';position:absolute;inset:0;pointer-events:none;background:url('assets/grain.svg') repeat;background-size:180px;opacity:.09}
.films-hero>*{position:relative;z-index:1}
.films-hero h1{max-width:100%;font-size:clamp(100px,18vw,280px)}
.films-hero-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:4vw}
.films-hero-bottom p{max-width:37ch;font-size:clamp(18px,2.1vw,30px);line-height:1.35;letter-spacing:-.035em}
.film-intro{padding:10vw 3.2vw;background:var(--paper);color:var(--ink);display:grid;grid-template-columns:1fr 1fr;gap:5vw}
.film-intro h2{font-size:clamp(48px,7vw,110px);font-weight:400;line-height:.95;letter-spacing:-.075em;margin:0}
.film-intro p{align-self:end;font-size:clamp(18px,1.6vw,23px);line-height:1.5;max-width:38ch;margin:0}
.film-list{background:var(--paper);color:var(--ink);padding:0 3.2vw 12vw}
.film-card{padding:5vw 0 7vw;border-top:1px solid var(--line)}
.film-screen{position:relative;aspect-ratio:16/9;background:linear-gradient(135deg,var(--ink),var(--accent-dark));overflow:hidden}
.film-screen:before{content:'';position:absolute;inset:0;background:linear-gradient(transparent 45%,rgba(0,0,0,.38));pointer-events:none}
.film-screen img,.film-screen iframe{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;border:0}
.film-play{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:15px;border:1px solid rgba(255,255,255,.8);border-radius:99px;background:rgba(12,14,11,.72);color:#fff;padding:16px 22px;white-space:nowrap;cursor:pointer;backdrop-filter:blur(12px);transition:background .3s,transform .35s var(--ease)}
.film-play:hover{background:var(--lime);color:var(--ink);transform:translate(-50%,-50%) scale(1.05)}
.film-play svg{width:21px;height:21px;fill:currentColor}
.film-pending{position:absolute;z-index:2;bottom:26px;left:30px;color:#fff;font-size:clamp(18px,2.5vw,34px);letter-spacing:-.04em}
.film-details{display:grid;grid-template-columns:8vw minmax(0,1fr) minmax(220px,30%);column-gap:2vw;align-items:start;padding-top:24px}
.film-count{font-size:15px;color:var(--accent-dark);padding-top:11px}
.film-details h2{font-size:clamp(40px,6.4vw,100px);font-weight:400;line-height:.96;letter-spacing:-.075em;margin:0}
.film-details p{grid-column:3;font-size:17px;line-height:1.5;margin:9px 0 0}
.film-details .film-meta{color:var(--accent-dark);font-size:13px;margin-top:14px}
.film-list .project-status{font-size:clamp(28px,4vw,60px);line-height:1.1;letter-spacing:-.06em;max-width:22ch;padding:4vw 0 10vw}
.film-teaser{padding:10vw 3.2vw;background:var(--ink);color:var(--paper);border-top:1px solid var(--light-line)}
.film-teaser h2{font-size:clamp(68px,10vw,160px);line-height:.9;font-weight:400;letter-spacing:-.08em;margin:0 0 5vw}
.film-teaser h2 span{color:var(--lime)}
.film-teaser a{display:inline-flex;align-items:center;gap:20px;border-bottom:1px solid var(--lime);font-size:20px;padding-bottom:12px}
.film-teaser a:hover{color:var(--lime)}
@media(max-width:650px){.films-hero{min-height:70svh}.films-hero h1{font-size:clamp(86px,20vw,150px)}.films-hero-bottom{display:block}.films-hero-bottom p{font-size:18px}.film-intro{display:block;padding:20vw 5vw}.film-intro h2{font-size:clamp(53px,12vw,85px)}.film-intro p{margin-top:8vw;font-size:17px}.film-list{padding:0 5vw 20vw}.film-card{padding:9vw 0 14vw}.film-details{grid-template-columns:1fr;gap:0}.film-count{font-size:13px;margin-bottom:14px}.film-details h2{font-size:clamp(42px,11vw,70px)}.film-details p,.film-details .film-meta{grid-column:1;font-size:16px}.film-play{padding:13px 18px;font-size:14px}.film-list .project-status{font-size:40px;padding:13vw 0 25vw}.film-teaser{padding:22vw 5vw}.film-teaser h2{font-size:clamp(65px,15vw,100px)}}

.education-section{background:var(--tint);color:var(--ink);padding:9vw 3.2vw 11vw}
.education-section h2{font-size:clamp(64px,10vw,170px);font-weight:400;line-height:.92;letter-spacing:-.08em;margin:0 0 7vw}
.education-section h2 span{color:var(--accent-dark)}
.education-row{display:grid;grid-template-columns:6vw minmax(0,1fr) minmax(170px,22%);column-gap:3vw;padding:34px 0 42px;border-top:1px solid var(--line);align-items:start}
.education-row:last-child{border-bottom:1px solid var(--line)}
.education-index{font-size:15px;color:var(--accent-dark);padding-top:8px}
.education-body h3{font-size:clamp(30px,3.5vw,55px);font-weight:400;line-height:1.08;letter-spacing:-.055em;margin:0 0 14px}
.education-body p{font-size:clamp(17px,1.5vw,21px);line-height:1.45;margin:0 0 9px}
.education-body .education-detail{font-size:15px;color:var(--accent-dark)}
.education-body .education-detail:first-of-type{margin-top:21px}
.education-date{font-size:16px;line-height:1.4;text-align:right;margin:8px 0 0;color:var(--accent-dark)}
@media(max-width:650px){.education-section{padding:20vw 5vw 24vw}.education-section h2{font-size:clamp(62px,15vw,100px);margin-bottom:14vw}.education-row{grid-template-columns:34px minmax(0,1fr);column-gap:12px;padding:26px 0 34px}.education-index{font-size:13px;padding-top:5px}.education-body h3{font-size:clamp(26px,8vw,38px);margin-bottom:9px}.education-body p{font-size:16px}.education-body .education-detail{font-size:14px}.education-date{grid-column:2;text-align:left;font-size:14px;margin:8px 0 0}}
