@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;700&family=Playfair+Display:ital,wght@0,400;1,400&display=swap');
:root{--paper:#f2eee7;--ink:#191715;--soft:#827b71;--line:#d5cec3;--acid:#f8d400;--red:#e31b23;--blue:#120a8f;--max:1440px}
body .header-animation{height:clamp(46px,5vw,68px);object-fit:fill;opacity:.96;width:clamp(320px,40vw,560px)}
.site-header{background:var(--paper)}.site-header .header-note{background:var(--paper);isolation:isolate}.site-header .header-animation{mix-blend-mode:multiply}
body .site-header{background:var(--paper)}
*{box-sizing:border-box}html{background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;line-height:1.4;scroll-behavior:smooth}body{margin:0;min-height:100vh}a{color:inherit;text-decoration:none}img,video{display:block;max-width:100%}button{font:inherit}.site-header{align-items:center;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr auto 1fr;padding:20px clamp(18px,4vw,64px);position:sticky;top:0;background:color-mix(in srgb,var(--paper) 84%,transparent);backdrop-filter:blur(18px);z-index:10}.brand{display:inline-flex;flex-direction:column;font-size:1.15rem;font-weight:700;letter-spacing:-.06em;line-height:.78;width:max-content}.brand i{font-family:'Playfair Display',serif;font-size:1.2rem;font-weight:400;letter-spacing:-.07em;margin-left:19px}.header-note,nav a,.eyebrow,.project-meta,.filter,.site-footer{font-family:'DM Mono',monospace;font-size:.68rem;letter-spacing:.06em;text-transform:uppercase}.header-note{display:grid;place-items:center;text-align:center}.header-animation{filter:invert(1) contrast(1.55);height:30px;mix-blend-mode:multiply;object-fit:contain;opacity:.88;width:clamp(132px,16vw,210px)}nav{display:flex;gap:clamp(14px,3vw,42px);justify-content:flex-end}nav a{position:relative}nav a:after{background:var(--ink);bottom:-6px;content:'';height:1px;left:0;position:absolute;transform:scaleX(0);transform-origin:right;transition:transform .35s ease;width:100%}nav a:hover:after,nav a:focus-visible:after{transform:scaleX(1);transform-origin:left}nav sup{color:var(--soft);font-size:.55rem;margin-left:3px}main{margin:0 auto;max-width:var(--max);padding:0 clamp(18px,4vw,64px)}.loading,.not-found{min-height:60vh;padding-top:20vh;color:var(--soft)}.home{overflow:hidden}.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,29%);isolation:isolate;min-height:72vh;overflow:hidden;padding:clamp(80px,12vw,180px) 0 clamp(70px,10vw,140px);position:relative}.hero:before{background-image:linear-gradient(90deg,rgba(242,238,231,.16),rgba(242,238,231,.26)),url('/media/2026/01/img_23edited-less-noise.png');background-position:center 42%;background-size:cover;content:'';inset:0;opacity:.55;position:absolute;z-index:0}.hero h1{font-size:clamp(4.5rem,13.5vw,13rem);font-weight:500;letter-spacing:-.11em;line-height:.75;margin:0;max-width:8ch;position:relative;z-index:2}.hero h1 em{font-family:'Playfair Display',serif;font-weight:400;letter-spacing:-.1em}.hero-copy{align-self:end;display:grid;gap:20px;padding-bottom:8px;position:relative;z-index:2}.hero-copy p{font-family:'Playfair Display',serif;font-size:clamp(1.2rem,2.4vw,2.1rem);line-height:1.05;margin:0;max-width:12ch}.hero-copy .arrow{background:var(--ink);border-radius:50%;color:var(--paper);display:grid;height:52px;place-items:center;transition:transform .4s ease;width:52px}.hero-copy .arrow:hover{transform:rotate(45deg) scale(1.1)}.orb{background:var(--acid);border-radius:50%;height:clamp(150px,22vw,320px);opacity:.7;position:absolute;right:18%;top:14%;width:clamp(150px,22vw,320px);z-index:1;animation:float 7s ease-in-out infinite}@keyframes float{50%{transform:translate(15px,25px) rotate(8deg)}}.marquee{border-bottom:1px solid var(--line);border-top:1px solid var(--line);display:flex;overflow:hidden;white-space:nowrap}.marquee span{animation:marquee 24s linear infinite;font-family:'Playfair Display',serif;font-size:clamp(2rem,5vw,5rem);font-style:italic;padding:12px 0;will-change:transform}@keyframes marquee{to{transform:translateX(-50%)}}.work-section{padding:clamp(70px,10vw,150px) 0}.section-head{align-items:end;display:flex;justify-content:space-between;margin-bottom:32px}.section-head h2,.page-title h1{font-family:'Playfair Display',serif;font-size:clamp(3rem,8vw,8rem);font-weight:400;letter-spacing:-.09em;line-height:.8;margin:0}.section-head h2 em{color:var(--red)}.section-count{color:var(--soft);font-family:'DM Mono',monospace;font-size:.7rem}.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:26px}.filter{background:none;border:1px solid var(--line);border-radius:100px;color:var(--soft);cursor:pointer;padding:9px 13px;transition:background .25s,color .25s,border-color .25s}.filter:hover,.filter.active{background:var(--ink);border-color:var(--ink);color:var(--paper)}.project-list{display:grid;gap:clamp(28px,4vw,64px) 18px;grid-template-columns:repeat(12,1fr)}.project-card{grid-column:span 4;display:grid;gap:13px;transition:opacity .3s,transform .45s}.project-card:nth-child(3n+2){margin-top:clamp(40px,8vw,120px)}.project-card:nth-child(5n+1){grid-column:span 5}.project-card:hover{transform:translateY(-8px)}.project-card.is-hidden{display:none}.project-thumb{aspect-ratio:4/5;background:#ddd4c5;overflow:hidden;position:relative}.project-thumb img{height:100%;object-fit:cover;transition:filter .5s,transform .7s;width:100%}.project-card:hover .project-thumb img{filter:saturate(.55) contrast(1.08);transform:scale(1.045)}.project-thumb:after{background:var(--acid);border-radius:50%;content:'↗';display:grid;font-size:1.2rem;height:46px;place-items:center;position:absolute;right:14px;top:14px;transform:scale(0);transition:transform .35s;width:46px}.project-card:hover .project-thumb:after{transform:scale(1)}.media-placeholder{align-items:center;background:linear-gradient(135deg,var(--blue),var(--red));color:var(--paper);display:grid;font-family:'Playfair Display',serif;font-size:6rem;height:100%;place-items:center;width:100%}.project-info{display:flex;justify-content:space-between;gap:12px}.project-info strong{font-family:'Playfair Display',serif;font-size:1.35rem;font-weight:400;line-height:1}.project-meta{color:var(--soft);font-size:.62rem;text-align:right}.page-title{border-bottom:1px solid var(--line);padding:clamp(90px,15vw,220px) 0 28px}.content{font-size:1rem;padding:clamp(34px,6vw,80px) 0 100px}.content p{max-width:48rem}.content h2,.content h3{font-family:'Playfair Display',serif;font-weight:400;line-height:.95}.content h2{font-size:clamp(2.5rem,6vw,6rem)}.content h3{font-size:clamp(1.7rem,3vw,3rem)}.content .wp-block-columns{display:grid;gap:clamp(30px,7vw,100px);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin:30px 0 70px}.content figure{margin:0 0 30px}.content figure img{height:auto;max-height:78vh;object-fit:cover;width:100%}.content figcaption{color:var(--soft);font-family:'DM Mono',monospace;font-size:.65rem;margin-top:9px;text-transform:uppercase}.content .wp-block-gallery,.content .tiled-gallery__gallery{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin:40px 0}.content .tiled-gallery__row{display:contents}.content .tiled-gallery__col{min-width:0}.content .tiled-gallery__item{margin:0}.content .alignfull{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);max-width:100vw;padding-left:clamp(18px,4vw,64px);padding-right:clamp(18px,4vw,64px);width:100vw}.back-link{color:var(--soft);display:inline-block;font-family:'DM Mono',monospace;font-size:.68rem;margin:20px 0;text-transform:uppercase}.back-link:hover{color:var(--red)}.site-footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;margin:0 clamp(18px,4vw,64px);padding:20px 0 28px;color:var(--soft)}.site-footer a{color:var(--ink)}
.portfolio{padding-bottom:clamp(80px,12vw,160px)}.portfolio-controls{border-bottom:1px solid var(--line);padding:clamp(30px,5vw,68px) 0 20px}.primary-tabs{display:flex;gap:clamp(22px,5vw,80px)}.work-tab{background:none;border:0;color:var(--soft);cursor:pointer;font-family:'Playfair Display',serif;font-size:clamp(2rem,5.6vw,5.7rem);letter-spacing:-.08em;line-height:.9;padding:0;position:relative;transition:color .3s}.work-tab span{font-family:'DM Mono',monospace;font-size:.58rem;letter-spacing:.05em;position:absolute;right:-1.4rem;top:-.3rem}.work-tab:after{background:var(--acid);bottom:-20px;content:'';height:7px;left:0;position:absolute;transform:scaleX(0);transform-origin:right;transition:transform .4s ease;width:100%}.work-tab.active{color:var(--ink)}.work-tab.active:after{transform:scaleX(1);transform-origin:left}.secondary-tabs{display:flex;gap:18px;margin-top:28px}.secondary-tabs[hidden]{display:none!important}.sub-tab{background:none;border:0;color:var(--soft);cursor:pointer;font-family:'DM Mono',monospace;font-size:.7rem;letter-spacing:.05em;padding:0;text-transform:uppercase}.sub-tab.active{color:var(--red);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}.portfolio-intro{align-items:end;display:flex;gap:24px;justify-content:space-between;padding:30px 0}.portfolio-intro p{font-family:'Playfair Display',serif;font-size:clamp(1.4rem,2.8vw,2.5rem);line-height:1.03;margin:0;max-width:25ch}.portfolio-intro span{color:var(--soft);font-family:'DM Mono',monospace;font-size:.64rem;text-align:right;text-transform:uppercase}.portfolio-list{display:grid;gap:0;grid-template-columns:1fr;padding-top:14px}.portfolio-list .project-card,.portfolio-list .project-card:nth-child(3n+2),.portfolio-list .project-card:nth-child(5n+1){align-items:stretch;border-top:1px solid var(--line);display:grid;gap:0;grid-column:auto;grid-template-columns:minmax(230px,38%) 1fr;margin:0;min-height:clamp(210px,25vw,340px);padding:0}.portfolio-list .project-card:last-child{border-bottom:1px solid var(--line)}.portfolio-list .project-card:hover{transform:none}.portfolio-list .project-thumb{aspect-ratio:auto;height:100%}.portfolio-list .project-info{align-items:flex-end;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(18px,3vw,42px)}.portfolio-list .project-info strong{font-size:clamp(2rem,5vw,5.2rem);letter-spacing:-.08em;max-width:12ch}.portfolio-list .project-meta{font-size:.65rem}.portfolio-list .project-card:hover .project-info strong{color:var(--red)}.content .project-video{margin:clamp(40px,7vw,100px) 0}.content .project-video video{background:#111;height:auto;max-height:78vh;width:100%}
@media(pointer:fine){.cursor{background:var(--acid);border-radius:50%;height:14px;left:-7px;pointer-events:none;position:fixed;top:-7px;transition:height .2s,width .2s,background .2s;transform:translate(-100px,-100px);width:14px;z-index:99}.cursor.is-active{background:var(--red);height:24px;left:-12px;top:-12px;width:24px}}
@media(max-width:760px){.site-header{grid-template-columns:1fr auto}.header-note{display:grid}.header-animation{height:23px;width:112px}nav{grid-column:1/-1;justify-content:space-between;padding-top:18px}.hero{display:block;min-height:76vh;padding-top:110px}.hero-copy{margin-top:55px}.orb{right:0;top:11%}.project-card,.project-card:nth-child(5n+1){grid-column:span 6}.project-card:nth-child(3n+2){margin-top:0}.project-card:nth-child(4n+1){grid-column:span 12}.site-footer{flex-wrap:wrap;gap:14px}.site-footer span:nth-child(2){display:none}.primary-tabs{gap:24px}.work-tab{font-size:clamp(1.7rem,9vw,3rem)}.work-tab:after{bottom:-17px;height:5px}.secondary-tabs{gap:13px;flex-wrap:wrap}.portfolio-intro{align-items:start;flex-direction:column}.portfolio-intro span{text-align:left}.portfolio-list .project-card,.portfolio-list .project-card:nth-child(3n+2),.portfolio-list .project-card:nth-child(5n+1){grid-template-columns:minmax(120px,42%) 1fr;min-height:170px}.portfolio-list .project-info{padding:16px}.portfolio-list .project-info strong{font-size:clamp(1.55rem,7vw,2.6rem)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}

/* Keep project links typographic on iOS instead of allowing emoji substitution. */
.mobile-feel-wordmark{display:none}
.project-thumb:after{content:''}.project-open{align-items:center;color:var(--ink);display:grid;height:46px;justify-content:center;opacity:0;pointer-events:none;position:absolute;right:14px;top:14px;transform:scale(.6);transition:opacity .2s,transform .35s;width:46px;z-index:2}.project-arrow{display:block;height:18px;width:18px}.project-meta .project-arrow{display:inline-block;height:12px;vertical-align:middle;width:12px}.project-card:hover .project-open,.project-card:focus-visible .project-open{opacity:1;transform:scale(1)}

/* Mobile Safari does not consistently composite blend modes on video. */
@media(max-width:760px){body .site-header,body .site-header .header-note{background:#000!important;color:#f4f0e8}body .site-header{background-color:#000!important;border-color:rgba(244,240,232,.25);backdrop-filter:none}.site-header .brand,.site-header nav a{color:#f4f0e8}.site-header nav a sup{color:rgba(244,240,232,.62)}.site-header .header-animation{background:#000;display:block;filter:none;mix-blend-mode:normal;opacity:1}.mobile-feel-wordmark{display:none}}
