*{box-sizing:border-box;margin:0;padding:0}html.lenis{height:auto}.lenis.lenis-smooth{scroll-behavior:auto}
:root{--bg:#f4f2ee;--ink:#111;--mut:#777;--acc:#3c5bff}
body{font-family:"Inter Tight",system-ui,sans-serif;background:var(--bg);color:var(--ink);overflow-x:hidden}
a{color:inherit;text-decoration:none}img{display:block;width:100%}
.loader{position:fixed;inset:0;background:#111;color:#fff;z-index:99;display:grid;place-items:center;font-size:clamp(28px,5vw,64px);font-weight:700}
.nav{position:fixed;top:0;left:0;right:0;display:flex;justify-content:space-between;padding:28px 5vw;z-index:10;mix-blend-mode:difference;color:#fff;font-weight:500}
.nav nav a{margin-left:28px}
section{padding:0 5vw}
.hero{min-height:100vh;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:4vh;padding-top:120px}
.eyebrow{color:var(--mut);font-size:15px;margin-bottom:2vh}
h1{font-size:clamp(64px,15vw,260px);line-height:.88;letter-spacing:-.05em;font-weight:800}
.line{display:block;overflow:hidden}.line span{display:inline-block}
.hero-foot{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:5vh 0}
.lead{font-size:clamp(18px,1.8vw,26px);max-width:520px;line-height:1.3}
.round{width:150px;height:150px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;font-weight:500;position:relative;overflow:hidden}
.dark{background:var(--ink);color:#fff}.accent{background:var(--acc);color:#fff;width:180px;height:180px}
.round::before{content:"";position:absolute;inset:0;background:var(--acc);border-radius:50%;transform:translateY(101%);transition:transform .5s cubic-bezier(.7,0,.3,1)}
.accent::before{background:#111}.round:hover::before{transform:none}.round span{position:relative}
.marquee{overflow:hidden;border-top:1px solid #0002;padding-top:18px;white-space:nowrap}.track{display:inline-block;font-size:clamp(20px,2.4vw,34px);font-weight:500}
.work{padding-top:16vh}.sec-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:6vh;border-bottom:1px solid #0002;padding-bottom:3vh}
h2{font-size:clamp(40px,6vw,96px);letter-spacing:-.04em;line-height:.95;font-weight:700}.sec-head p{color:var(--mut);max-width:340px}
.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:5vw 4vw}
.card{display:block}.thumb{overflow:hidden;border-radius:10px;aspect-ratio:16/10;background:#ddd}
.thumb img{height:100%;object-fit:cover;object-position:top;transform:scale(1.08);transition:transform 1s cubic-bezier(.2,.7,.2,1)}
.card:hover .thumb img{transform:scale(1)}
.meta{display:flex;justify-content:space-between;align-items:baseline;margin-top:18px;border-bottom:1px solid #0002;padding-bottom:14px}
.meta h3{font-size:clamp(22px,2.2vw,34px);letter-spacing:-.02em}.meta span,.url{color:var(--mut);font-size:14px}.url{display:block;margin-top:10px}
.about{padding-top:20vh}.big{max-width:1100px}
.services{display:grid;grid-template-columns:repeat(3,1fr);gap:4vw;margin-top:8vh}
.svc{border-top:1px solid #0003;padding-top:20px}.svc b{color:var(--acc)}.svc h3{font-size:26px;margin:14px 0}.svc p{color:#444;line-height:1.5}
.contact{margin-top:20vh;background:#111;color:#fff;padding-top:18vh;min-height:100vh;display:flex;flex-direction:column}
.huge{font-size:clamp(56px,11vw,190px);margin-bottom:6vh}.mail{margin-top:24px;font-size:22px}
footer{margin-top:auto;display:flex;justify-content:space-between;padding:4vh 0;color:#888;border-top:1px solid #333}
@media(max-width:760px){.grid,.services{grid-template-columns:1fr}.hero-foot,.sec-head{flex-direction:column;align-items:flex-start}.round{width:120px;height:120px}.nav nav a{margin-left:16px}}
