:root{--paper:#f5f0e4;--paper2:#ebe3d2;--ink:#231d14;--dim:#665c48;--line:#d7caaa;--rust:#b4632a;--olive:#696943;--display:"Bebas Neue","Arial Narrow",sans-serif;--body:"IBM Plex Sans",sans-serif;--mono:"IBM Plex Mono",monospace}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--paper)}
body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--body);-webkit-font-smoothing:antialiased}
a{color:inherit}
.skip{position:fixed;z-index:9;top:12px;left:12px;padding:10px 14px;background:var(--ink);color:var(--paper);transform:translateY(-150%)}
.skip:focus{transform:none}
.shell{width:min(1320px,calc(100% - 48px));margin:auto}
.nav{height:76px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.12em}
.brand{text-decoration:none;font-weight:500}
.nav-links{display:flex;gap:26px}
.nav-links a{text-decoration:none}
.nav a:hover{color:var(--rust)}
:focus-visible{outline:3px solid var(--rust);outline-offset:4px}
.hero{min-height:calc(100vh - 76px);display:grid;grid-template-columns:1.2fr .8fr;align-items:end;padding:8vh 0 7vh;position:relative}
.eyebrow{font:500 11px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--rust);margin-bottom:20px}
.hero h1{font:400 clamp(72px,13vw,190px)/.76 var(--display);letter-spacing:-.01em;text-transform:uppercase;margin:0;max-width:850px}
.hero-note{align-self:center;justify-self:end;width:min(100%,340px);min-height:calc(4.35em + 19px);border-top:1px solid var(--ink);padding-top:18px;font-size:clamp(17px,1.7vw,23px);line-height:1.45}
.hero-note{transition:opacity .08s ease,transform .08s ease}
.hero-note.is-changing{opacity:0;transform:translateY(8px)}
.scroll{position:absolute;right:0;bottom:7vh;font:10px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;writing-mode:vertical-rl}
.about{display:grid;grid-template-columns:.55fr 1.45fr;gap:8vw;padding:120px 0;border-top:1px solid var(--line)}
.kicker{font:11px/1 var(--mono);color:var(--rust);letter-spacing:.12em;text-transform:uppercase}
.about-copy p{font-size:clamp(27px,4vw,56px);line-height:1.08;letter-spacing:-.035em;margin:0;max-width:1020px}
.about-copy p span{color:var(--rust)}
.about-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px;padding-top:24px;border-top:1px solid var(--line);font:12px/1.5 var(--mono);color:var(--dim)}
.work-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:34px}
.work-head h2,.contact h2{font:400 clamp(64px,10vw,140px)/.8 var(--display);text-transform:uppercase;margin:0}
.section-kicker{margin-bottom:18px}
.work-count{font:11px/1 var(--mono);color:var(--dim);letter-spacing:.1em}
.gallery{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}
.project{grid-column:span 7;display:block;border:0;padding:0;color:inherit;background:none;text-align:left;font:inherit;cursor:pointer}
.project:nth-child(4n+2),.project:nth-child(4n+3){grid-column:span 5}
.frame{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--olive);border-radius:2px}
.project:nth-child(4n+2) .frame,.project:nth-child(4n+3) .frame{aspect-ratio:4/5}
.poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.78) contrast(1.04);transition:transform .7s cubic-bezier(.2,.8,.2,1),filter .4s}
.project:hover .poster{transform:scale(1.035);filter:saturate(1) contrast(1.02)}
.play{position:absolute;inset:50% auto auto 50%;translate:-50% -50%;width:62px;height:62px;border:1px solid rgba(255,255,255,.8);border-radius:50%;display:grid;place-items:center;color:white;background:rgba(35,29,20,.14);backdrop-filter:blur(4px);transition:transform .25s,background .25s}
.project:hover .play{transform:scale(1.08);background:var(--rust)}
.project-info{display:grid;grid-template-columns:1fr auto;gap:16px;padding:14px 0 42px;border-top:1px solid var(--ink)}
.project-title{font-size:18px;font-weight:600}
.project-meta{text-align:right;font:11px/1.5 var(--mono);color:var(--dim)}
.project-number{position:absolute;left:14px;top:14px;background:var(--paper);padding:7px 9px;font:9px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase}
.viewer{width:min(1120px,calc(100% - 32px));max-width:none;padding:0;border:0;background:#17140f;color:var(--paper);box-shadow:0 30px 90px rgba(35,29,20,.45)}
.viewer::backdrop{background:rgba(35,29,20,.84);backdrop-filter:blur(8px)}
.viewer-bar{height:54px;display:flex;align-items:center;justify-content:space-between;padding:0 16px 0 20px;font:11px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase}
.viewer-close{border:1px solid #5a5143;border-radius:50%;width:34px;height:34px;background:transparent;color:var(--paper);font-size:20px;line-height:1;cursor:pointer}
.viewer-close:hover{background:var(--rust);border-color:var(--rust)}
.viewer-video{position:relative;aspect-ratio:16/9;background:#17140f}
.viewer-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.contact{margin-top:110px;padding:100px 0 42px;background:var(--ink);color:var(--paper)}
.contact .shell{position:relative}
.contact-top{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:40px}
.contact-copy{font-size:clamp(18px,2vw,28px);line-height:1.4;max-width:520px}
.contact-links{margin-top:80px;border-top:1px solid #5a5143}
.contact-links a{display:flex;justify-content:space-between;padding:20px 0;border-bottom:1px solid #5a5143;text-decoration:none;font:12px/1 var(--mono);letter-spacing:.06em}
.contact-links a:hover{color:#d89059}
.foot{display:flex;justify-content:space-between;margin-top:64px;color:#aea28e;font:10px/1.4 var(--mono);text-transform:uppercase;letter-spacing:.08em}
@media(prefers-reduced-motion:no-preference){.hero h1,.hero-note{animation:up .8s both}
.hero-note{animation-delay:.12s}
@keyframes up{from{opacity:0;transform:translateY(28px)}
to{opacity:1;transform:none}
}
}
@media(max-width:760px){.shell{width:min(100% - 32px,1320px)}
.nav{height:64px}
.nav-links{gap:14px}
.nav-links a:first-child{display:none}
.hero{min-height:720px;grid-template-columns:1fr;align-content:center}
.hero h1{font-size:clamp(80px,27vw,128px)}
.hero-note{justify-self:start;margin-top:60px}
.scroll{display:none}
.about{grid-template-columns:1fr;padding:80px 0}
.about-meta{grid-template-columns:1fr}
.gallery{display:block}
.project{width:100%}
.project .frame,.project:nth-child(4n+2) .frame,.project:nth-child(4n+3) .frame{aspect-ratio:4/3}
.work-count{display:none}
.contact-top{grid-template-columns:1fr}
.contact-links{margin-top:56px}
.foot{gap:20px;flex-direction:column}
.viewer{width:calc(100% - 20px)}
}
