:root{--paper:#ece9e3;--paper2:#f5f2ec;--ink:#11110f;--orange:#a6532a;--muted:#77716a;--line:rgba(17,17,15,.18)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Inter Tight",Arial,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}
@media(hover:hover) and (pointer:fine){html,body,a,button,[role="button"],input,select,textarea,summary,[tabindex]:not([tabindex="-1"]){cursor:none!important}}
.site-cursor{position:fixed;left:0;top:0;z-index:9999;width:18px;height:18px;border-radius:50%;background:#050505;pointer-events:none;opacity:0;transform:translate3d(-100px,-100px,0);transform-origin:center;will-change:transform;box-shadow:0 0 4px 3px rgba(0,0,0,.28),0 0 10px 8px rgba(0,0,0,.14),0 0 24px 16px rgba(0,0,0,.07);transition:box-shadow .16s ease}.site-cursor.is-visible{opacity:1}.site-cursor.is-interactive{background:#d7d2ca;box-shadow:0 0 5px 4px rgba(0,0,0,.30),0 0 12px 9px rgba(0,0,0,.15),0 0 26px 17px rgba(0,0,0,.075)}
.topbar{position:fixed;top:0;left:0;width:100%;height:54px;z-index:1000;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:26px;padding:0 22px;border-bottom:0;background:transparent;color:#fff;mix-blend-mode:difference;font:10px/1 "IBM Plex Mono",monospace;text-transform:uppercase}.topbar .name{font-family:"Inter Tight";font-size:13px;font-weight:600;letter-spacing:-.03em}.topbar nav{display:flex;gap:18px}.back{color:inherit;opacity:.62}
.hero{padding:78px 22px 0}.kicker{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding-bottom:16px;font:10px/1 "IBM Plex Mono",monospace;text-transform:uppercase}.hero h1{margin:18px 0 26px;font-size:clamp(68px,12vw,188px);line-height:.76;letter-spacing:-.078em;font-weight:500}.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;border-top:1px solid var(--line);padding:18px 0 34px}.hero-grid p{margin:0;font-size:19px;line-height:1.35;max-width:700px}.meta{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;font:10px/1.45 "IBM Plex Mono",monospace;text-transform:uppercase}.meta b{display:block;margin-bottom:8px;color:var(--muted);font-weight:400}
.statement{min-height:64vh;margin:0 22px;background:#11110f;color:#ece9e3;display:flex;align-items:flex-end;padding:28px;overflow:hidden}.statement span{font-size:clamp(58px,9vw,140px);line-height:.79;letter-spacing:-.07em;font-weight:500;max-width:1200px}
.section{padding:88px 22px;border-bottom:1px solid var(--line)}.section-head{display:grid;grid-template-columns:150px 1fr;gap:30px;margin-bottom:42px}.section-head .n{font:10px/1 "IBM Plex Mono",monospace;color:var(--muted);text-transform:uppercase}.section h2{margin:0;font-size:clamp(52px,7.4vw,110px);line-height:.83;letter-spacing:-.065em;font-weight:500}.copy{display:grid;grid-template-columns:1fr 1fr;gap:40px}.copy p{margin:0;max-width:680px;font-size:18px;line-height:1.42}
.media-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:42px}.media{min-height:390px;background:var(--paper2);border:1px solid var(--line);position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:14px}.media.wide{grid-column:1/-1;min-height:560px}.media.dark{background:#11110f;color:#ece9e3}.media.orange{background:var(--orange);color:#ece9e3}.media span{font:9px/1.3 "IBM Plex Mono",monospace;text-transform:uppercase;color:inherit;opacity:.72}
.next{padding:70px 22px 90px;background:#11110f;color:#ece9e3}.next small{font:10px/1 "IBM Plex Mono",monospace;text-transform:uppercase;color:#aaa59d}.next a{display:flex;align-items:flex-end;justify-content:space-between;gap:.18em;margin-top:24px;font-size:clamp(58px,9vw,138px);line-height:.8;letter-spacing:-.07em;min-width:0;max-width:100%;overflow-wrap:anywhere}
.next a::after{content:"\2197";font-family:"Inter Tight",Arial,sans-serif;font-size:.78em;line-height:.72;letter-spacing:0;flex:0 0 auto;font-variant-emoji:text}
.footer{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:18px 22px;border-top:1px solid rgba(255,255,255,.12);background:#11110f;color:#aaa59d;font:10px/1 "IBM Plex Mono",monospace;text-transform:uppercase}
@media(max-width:800px){.site-cursor{display:none!important}.topbar{grid-template-columns:1fr auto;padding:0 14px}.topbar nav{display:none}.hero{padding:74px 14px 0}.hero h1{font-size:clamp(46px,17vw,76px);line-height:.8;letter-spacing:-.065em;margin:22px 0 28px;max-width:100%;overflow-wrap:normal;word-break:normal}.hero-grid,.copy,.media-grid{grid-template-columns:1fr}.meta{grid-template-columns:1fr 1fr}.statement{margin:0 14px;min-height:50vh;padding:18px}.section{padding:66px 14px}.section-head{grid-template-columns:1fr;gap:12px}.media,.media.wide{grid-column:auto;min-height:300px}.next{padding:58px 14px 72px;overflow:hidden}.next a{align-items:flex-end;gap:12px;font-size:clamp(48px,14.5vw,88px);line-height:.82;overflow-wrap:normal;word-break:normal}.next a::first-line{line-height:.82}.next a::after{content:"\2197\FE0E";font-size:.46em;line-height:.85}.footer{padding:16px 14px}}

/* Project pages: authentic artwork, no placeholder tiles */
.case-study-gallery{margin-top:44px}
.case-study-artwork{margin:0;border:1px solid var(--line);background:var(--paper2);overflow:hidden}
.case-study-artwork img{display:block;width:100%;height:auto;max-height:850px;object-fit:contain;background:#11110f}
.case-study-artwork figcaption{display:grid;grid-template-columns:minmax(170px,.36fr) minmax(0,1fr);gap:36px;padding:18px 20px;border-top:1px solid var(--line)}
.case-study-artwork figcaption span{font:10px/1.45 "IBM Plex Mono",monospace;text-transform:uppercase;color:var(--muted)}
.case-study-artwork figcaption p{margin:0;font-size:clamp(14px,1.4vw,19px);line-height:1.4;max-width:760px}
@media(max-width:800px){.case-study-gallery{margin-top:30px}.case-study-artwork figcaption{grid-template-columns:1fr;gap:10px;padding:15px}.case-study-artwork img{max-height:none}}
