:root{
  --paper:#f4f2ed;
  --ink:#121212;
  --muted:#74716b;
  --line:rgba(18,18,18,.18);
  --white:#fff;
  --acid:#ff5a36;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--paper)}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.2;cursor:none}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
::selection{background:var(--ink);color:var(--paper)}
.section-pad{padding:0 2.2vw}
.topbar{height:74px;display:flex;align-items:center;justify-content:space-between;padding:0 2.2vw;position:sticky;top:0;z-index:30;background:rgba(244,242,237,.86);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.brand{font-size:18px;font-weight:700;letter-spacing:-.04em}
.nav{display:flex;gap:25px;font-size:13px}
.nav a{position:relative}
.nav a:after{content:"";position:absolute;left:0;bottom:-4px;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:.25s}
.nav a:hover:after{transform:scaleX(1)}
.hero{min-height:calc(100vh - 74px);display:flex;flex-direction:column;justify-content:space-between;padding-top:5vh;padding-bottom:3vh}
.hero-kicker,.section-head>p,.manifesto-index,.services>p,.contact>p{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}
.hero h1{margin:4vh 0 7vh;font-size:clamp(56px,9.8vw,180px);line-height:.83;letter-spacing:-.078em;font-weight:700;max-width:95vw}
.hero-bottom{display:flex;justify-content:space-between;align-items:flex-end;border-top:1px solid var(--line);padding-top:18px}
.hero-mantra{font-size:clamp(22px,2.3vw,42px);margin:0;letter-spacing:-.045em}
.hero-mantra strong{font-weight:700;font-style:italic}
.hero-note{margin:0;color:var(--muted);font-size:12px}
.hero-film{height:min(82vh,920px);margin:0 2.2vw;position:relative;overflow:hidden;background:#dcdad5 url("assets/posters/heavenly-office.jpg") center/cover no-repeat}
.hero-film video{width:100%;height:100%;object-fit:cover;display:block}
.hero-caption{position:absolute;left:18px;bottom:18px;border:0;background:rgba(244,242,237,.92);padding:14px 16px;text-align:left;min-width:min(360px,80vw);cursor:none;backdrop-filter:blur(10px)}
.hero-caption span{display:block;font-weight:700;font-size:20px;letter-spacing:-.03em}.hero-caption small{display:block;margin-top:4px;color:var(--muted)}
.works{padding-top:14vh;padding-bottom:7vh}
.section-head{display:grid;grid-template-columns:1fr 2fr;align-items:start;margin-bottom:8vh}.section-head h2{font-size:clamp(58px,9vw,150px);line-height:.84;letter-spacing:-.07em;margin:0}
.project-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:4vw 1.2vw;align-items:start}.project{cursor:none}.project-wide{grid-column:span 8}.project-tall{grid-column:span 4}.secondary-grid .project:nth-child(1){grid-column:1/span 4}.secondary-grid .project:nth-child(2){grid-column:5/span 8}.secondary-grid .project:nth-child(3){grid-column:1/span 7}.secondary-grid .project:nth-child(4){grid-column:8/span 5}
.media{background:#ddd;overflow:hidden;position:relative}.media.landscape{aspect-ratio:16/10}.media.portraitish{aspect-ratio:4/5}.media video{width:100%;height:100%;object-fit:cover;display:block;transition:transform .65s cubic-bezier(.2,.7,.2,1)}.project:hover .media video{transform:scale(1.018)}
.project-meta{display:flex;justify-content:space-between;gap:30px;padding-top:12px;border-top:1px solid var(--ink);margin-top:10px}.project-meta h3{margin:0 0 5px;font-size:clamp(23px,2.1vw,38px);letter-spacing:-.05em}.project-meta p{margin:0;color:var(--muted);max-width:46ch;font-size:13px;line-height:1.35}.project-meta>span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;color:var(--muted);padding-top:6px}
.manifesto{background:var(--ink);color:var(--paper);padding-top:10vh;padding-bottom:10vh;display:grid;grid-template-columns:1fr 3fr;gap:2vw;margin-top:7vh}.manifesto-index{color:#96938c}.manifesto-copy h2{font-size:clamp(50px,7vw,124px);line-height:.9;letter-spacing:-.065em;margin:0 0 8vh;max-width:13ch}.manifesto-lead{font-size:clamp(29px,4vw,68px);line-height:1;letter-spacing:-.055em;max-width:15ch;margin:0 0 7vh}.manifesto-lead em{font-family:Georgia,serif;font-weight:400}.feelings{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:9vh}.feelings span{border:1px solid rgba(244,242,237,.4);border-radius:99px;padding:10px 14px;font-size:12px}.manifesto-close{font-size:clamp(30px,4.5vw,78px);line-height:.98;letter-spacing:-.055em;margin:0}.tool-note{margin:5vh 0 0;color:#aaa69e;font-size:12px;text-transform:uppercase;letter-spacing:.1em}
.interludes{padding-top:11vh;padding-bottom:13vh}.interlude-head{margin-bottom:3vh}.interlude-intro{font-size:clamp(22px,2.5vw,42px);letter-spacing:-.04em;max-width:24ch;margin:0 0 6vh 33.333%}.interlude-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;cursor:none}.interlude-grid>div{aspect-ratio:3/4;overflow:hidden;background:#ddd}.interlude-grid img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}.interlude-grid:hover img{transform:scale(1.015)}
.services{border-top:1px solid var(--line);padding-top:8vh;padding-bottom:12vh}.services-row{display:flex;flex-wrap:wrap;gap:9px;margin:5vh 0 10vh}.services-row span{border:1px solid var(--ink);border-radius:100px;padding:10px 17px;font-size:13px}.services h2{font-size:clamp(43px,6.7vw,112px);line-height:.92;letter-spacing:-.065em;margin:0;max-width:14ch}
.contact{background:#dceeff;padding-top:8vh;padding-bottom:3vh;min-height:100vh;display:flex;flex-direction:column}.contact h2{font-size:clamp(62px,10vw,178px);line-height:.82;letter-spacing:-.08em;margin:7vh 0 auto;max-width:9ch}.contact h2 em{font-family:Georgia,serif;font-weight:400}.contact-links{display:flex;gap:24px;flex-wrap:wrap;font-size:clamp(18px,2vw,30px);letter-spacing:-.03em;margin:9vh 0 7vh}.contact-links a{border-bottom:1px solid currentColor}.footer{border-top:1px solid rgba(18,18,18,.3);padding-top:15px;display:flex;justify-content:space-between;font-size:10px;text-transform:uppercase;letter-spacing:.08em}
.cursor{position:fixed;z-index:100;left:0;top:0;pointer-events:none;transform:translate(-50%,-50%);width:60px;height:60px;border-radius:50%;background:var(--ink);color:var(--paper);display:flex;align-items:center;justify-content:center;mix-blend-mode:difference;transition:width .2s,height .2s,background .2s}.cursor span{font-size:8px;font-weight:700;letter-spacing:.07em}.cursor.active{width:86px;height:86px}.cursor.active span:after{content:" ↗"}
.project-dialog{width:100vw;max-width:none;height:100vh;max-height:none;border:0;padding:0;background:var(--paper);color:var(--ink)}.project-dialog::backdrop{background:rgba(0,0,0,.7)}.close{position:fixed;right:20px;top:14px;z-index:3;border:0;background:rgba(244,242,237,.9);width:48px;height:48px;border-radius:50%;font-size:34px;line-height:1;cursor:none}.dialog-inner{padding:9vh 2.2vw 7vh}.dialog-head{display:grid;grid-template-columns:2fr 1fr;gap:2vw;margin-bottom:5vh}.dialog-head h2{font-size:clamp(54px,8vw,140px);line-height:.85;letter-spacing:-.07em;margin:0}.dialog-head .dialog-copy{align-self:end}.dialog-copy p{font-size:clamp(21px,2.5vw,40px);letter-spacing:-.04em;margin:0 0 15px}.dialog-copy small{color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.dialog-video{width:100%;background:#111;max-height:78vh;display:block}.dialog-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.dialog-grid video{width:100%;aspect-ratio:9/16;object-fit:cover;background:#111}.dialog-note{margin-top:5vh;max-width:52ch;font-size:14px;color:var(--muted);line-height:1.5}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .75s ease,transform .75s ease}.reveal.in{opacity:1;transform:none}
@media(max-width:900px){body{cursor:auto}.cursor{display:none}.topbar{height:64px}.nav{gap:13px}.nav a:nth-child(2),.nav a:nth-child(3){display:none}.hero{min-height:calc(100svh - 64px)}.hero h1{font-size:16vw}.hero-bottom{align-items:flex-start;gap:30px}.hero-note{max-width:130px;text-align:right}.hero-film{height:66vw;min-height:370px}.section-head{grid-template-columns:1fr;margin-bottom:5vh}.section-head h2{font-size:17vw;margin-top:15px}.project-grid,.secondary-grid{display:block}.project{margin-bottom:8vh}.media.portraitish{aspect-ratio:4/5}.project-meta{display:block}.project-meta>span{display:block;margin-top:12px}.manifesto{grid-template-columns:1fr;padding-top:8vh}.manifesto-copy h2{font-size:14vw;margin-top:30px}.interlude-intro{margin-left:0}.interlude-grid{grid-template-columns:repeat(2,1fr)}.services h2{font-size:13vw}.contact h2{font-size:17vw}.footer{gap:15px}.footer span:nth-child(2){display:none}.dialog-head{grid-template-columns:1fr}.dialog-head .dialog-copy{margin-top:22px}.dialog-grid{grid-template-columns:repeat(2,1fr)}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.hero-film video{display:none}.reveal{opacity:1;transform:none}}
