:root{--bg:#0b0c0b;--text:#f1f1eb;--muted:#8e918a;--acid:#c4ef5c;--line:#292b27}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Manrope,Arial,sans-serif;font-weight:500}.topbar{height:72px;padding:0 28px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);font-size:11px}.wordmark{font-size:20px;line-height:1;color:var(--text);text-decoration:none;font-weight:700;letter-spacing:-.06em}.wordmark span,h1 span{color:var(--acid)}nav{display:flex;gap:28px;margin-left:8%}nav a,footer a{color:var(--text);text-decoration:none}.availability{color:var(--muted);display:flex;align-items:center;gap:8px}.availability i{width:6px;height:6px;background:var(--acid);display:inline-block;border-radius:50%}.availability span{color:var(--acid);font-size:14px;margin-left:4px}.hero{min-height:calc(100vh - 72px);height:780px;position:relative;overflow:hidden;padding:25px 28px 28px;display:flex;flex-direction:column;justify-content:space-between}.hero-meta,.hero-bottom{display:flex;justify-content:space-between;font:11px 'DM Mono',monospace;color:var(--muted);text-transform:uppercase}.hero-copy{position:relative;z-index:2;display:flex;align-items:flex-end;justify-content:space-between}.intro{color:var(--acid);font-size:13px;line-height:1.5;margin:0 0 20px 34%;letter-spacing:-.02em}.hero h1{font-size:clamp(110px,24vw,350px);font-weight:600;letter-spacing:-.105em;line-height:.68;margin:0 -8px -2px 0}.scroll-label{color:var(--text)}.scroll-label b{color:var(--acid);font-size:18px;font-weight:400;margin-left:8px}.cursor-stage{position:absolute;inset:12% 15% 18% 10%;pointer-events:none}.cursor-hint{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font:10px 'DM Mono',monospace;text-transform:uppercase;color:var(--muted);opacity:.7;transition:opacity .3s}.cursor-stage.active .cursor-hint{opacity:0}.cursor-trail{position:fixed;inset:0;z-index:20;pointer-events:none;overflow:hidden}.cursor-trail-image{position:absolute;width:clamp(105px,13vw,190px);height:clamp(135px,18vw,250px);object-fit:cover;transform:translate(-50%,-50%) rotate(var(--rotation)) scale(.8);opacity:0;animation:trail-in .35s ease-out forwards;filter:saturate(.7)}@keyframes trail-in{0%{opacity:0;transform:translate(-50%,-50%) rotate(var(--rotation)) scale(.72)}18%{opacity:.92}100%{opacity:0;transform:translate(-50%,-50%) rotate(var(--rotation)) scale(1)}}.work,.about{padding:34px 28px 110px;border-top:1px solid var(--line)}.section-head{display:grid;grid-template-columns:1fr 1fr;margin-bottom:32px}.eyebrow{font:11px 'DM Mono',monospace;color:var(--acid);text-transform:uppercase;margin:0}.section-note{font-size:13px;line-height:1.45;margin:0;color:var(--muted)}.masonry{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:11vw;gap:2px}.project{position:relative;display:block;min-height:100%;background-image:var(--image);background-size:cover;background-position:center;overflow:hidden;text-decoration:none;grid-row:span 5;opacity:0;transform:translateY(34px);transition:opacity .7s ease var(--reveal-delay,0ms),transform .7s cubic-bezier(.2,.8,.2,1) var(--reveal-delay,0ms)}.project.is-visible{opacity:1;transform:translateY(0)}.project-short{grid-row:span 4}.project-wide{grid-column:1/-1;grid-row:span 5;background-position:center 42%}.project::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(0,0,0,.65));opacity:0;transition:opacity .3s}.project:hover::after{opacity:1}.project-info{position:absolute;z-index:1;left:17px;right:17px;bottom:16px;display:flex;justify-content:space-between;color:#fff;font:10px 'DM Mono',monospace;text-transform:uppercase;opacity:0;transform:translateY(8px);transition:.3s}.project:hover .project-info{opacity:1;transform:translateY(0)}.about{min-height:650px}.about-body{display:grid;grid-template-columns:1fr 1fr;gap:10%;margin-top:90px}.about h2{font-size:clamp(42px,7vw,98px);font-weight:500;line-height:.95;letter-spacing:-.07em;margin:0}.about h2 em{color:var(--acid);font-style:normal}.about-body>div>p{max-width:330px;color:var(--muted);font-size:14px;line-height:1.65;margin:0 0 26px}.text-link{display:block;color:var(--text);text-decoration:none;font-size:13px;border-bottom:1px solid var(--line);padding-bottom:12px;max-width:330px}.text-link span{float:right;color:var(--acid);font-size:18px}footer{height:72px;padding:0 28px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;color:var(--muted);font:10px 'DM Mono',monospace;text-transform:uppercase}footer a{color:var(--acid)}
.detail-main{padding:0 28px}.detail-hero{min-height:540px;padding:32px 0 58px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:10%}.detail-kicker{color:var(--acid);font:11px 'DM Mono',monospace;text-transform:uppercase;margin:0 0 26px}.detail-title{font-size:clamp(68px,13vw,190px);line-height:.8;letter-spacing:-.09em;font-weight:500;margin:0}.detail-lead{max-width:330px;color:var(--muted);font-size:15px;line-height:1.6;margin:0 0 28px}.detail-meta{display:grid;grid-template-columns:1fr 1fr;gap:20px;border-top:1px solid var(--line);padding-top:14px;font:10px 'DM Mono',monospace;text-transform:uppercase}.detail-meta span:last-child{color:var(--muted);text-align:right}.detail-gallery{padding:2px 0 100px;display:grid;grid-template-columns:1fr 1fr;gap:2px}.detail-gallery img{display:block;width:100%;height:36vw;min-height:270px;object-fit:cover}.detail-gallery img:first-child{grid-column:1/-1;height:57vw}.detail-gallery img:last-child{grid-column:1/-1;height:42vw}.detail-nav{border-top:1px solid var(--line);padding:20px 0 60px;display:flex;justify-content:space-between;font:11px 'DM Mono',monospace;text-transform:uppercase}.detail-nav a{color:var(--text);text-decoration:none}.detail-nav a:last-child{color:var(--acid)}
.home .cursor-trail-image{animation-duration:.4s;filter:saturate(.55) blur(.35px)}
.home .cursor-trail-image{opacity:.68}
.home .cursor-trail-image{animation-duration:.56s;filter:saturate(.45) blur(.65px)}
.home .cursor-trail-image{opacity:.52}
@media(max-width:700px){.home .cursor-trail-image{width:31vw;height:42vw}}
.hero-photo{position:absolute;left:28px;top:100px;width:min(28vw,360px);height:min(48vw,520px);overflow:hidden;opacity:.9;mix-blend-mode:screen;pointer-events:none;z-index:1}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 28%;filter:saturate(.8) contrast(1.08)}
main#top{position:relative}
@media(max-width:700px){.hero-photo{left:18px;top:90px;width:34vw;height:48vw;opacity:.72}.hero-copy{padding-top:34vw}}
