:root{--bg:#efefef;--paper:#f6f6f3;--ink:#141414;--red:#fe003b;--red2:#fe2a33;--coral:#fd6f65;--orange:#fd6229;--line:#d9d9d4;--muted:#666661}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:'Outfit',system-ui,sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}img,video{display:block;max-width:100%}
h1,h2,h3{font-family:'Kumbh Sans',sans-serif;letter-spacing:-.03em;line-height:.88}
.wrap{max-width:1440px;margin:0 auto;padding:0 clamp(20px,4vw,56px)}
.label{font-size:11px;letter-spacing:.24em;font-weight:700;text-transform:uppercase;color:var(--muted)}
/* header */
header{position:fixed;inset:0 0 auto;z-index:60;display:flex;justify-content:space-between;align-items:center;padding:20px clamp(20px,4vw,56px);color:#fff;mix-blend-mode:difference}
header img{height:34px}nav{display:flex;gap:30px;font-size:12px;letter-spacing:.18em;font-weight:700}nav a{position:relative}nav a::after{content:"";position:absolute;left:0;bottom:-4px;height:2px;width:0;background:currentColor;transition:width .25s}nav a:hover::after{width:100%}
/* hero */
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;background:var(--ink);color:#fff}
.hero video,.hero img.cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,20,20,.25),transparent 40%,rgba(20,20,20,.82))}
.hero-inner{position:relative;z-index:2;width:100%;max-width:1440px;margin:0 auto;padding:0 clamp(20px,4vw,56px) clamp(30px,5vw,56px)}
.hero h1{font-size:clamp(64px,11vw,176px);text-transform:uppercase;margin:16px 0 18px}
.hero h1 .outline{color:transparent;-webkit-text-stroke:2px #fff}
.hero h1 .grad{background:linear-gradient(90deg,var(--red),var(--orange));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-sub{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;align-items:flex-end;max-width:1100px}
.hero-sub p{font-size:clamp(16px,1.8vw,21px);max-width:620px;margin:0;opacity:.92}
.scroll{font-size:11px;letter-spacing:.24em;font-weight:700}
/* sections */
section{padding:clamp(64px,9vw,128px) 0}
.sec-head{display:flex;justify-content:space-between;align-items:baseline;gap:20px;flex-wrap:wrap;margin-bottom:36px}
.sec-head h2{font-size:clamp(42px,6vw,88px);text-transform:uppercase;margin:0}
.manifesto{font-size:clamp(28px,4.2vw,56px);font-weight:600;line-height:1.12;max-width:1080px}
.manifesto em{font-style:normal;color:var(--red)}
.poster{background:linear-gradient(120deg,var(--red),var(--orange));color:#fff}
.poster .manifesto{max-width:1200px}
/* work index */
.work-index{border-top:2px solid var(--ink)}
.work-row{display:grid;grid-template-columns:1fr auto 150px;gap:24px;align-items:center;padding:clamp(22px,3vw,36px) 0;border-bottom:1px solid var(--line);transition:background .25s,padding .25s}
.work-row:hover{background:var(--ink);color:#fff;padding-left:16px;padding-right:16px}
.work-row h3{font-size:clamp(30px,4.5vw,64px);text-transform:uppercase;margin:0}
.work-row p{margin:6px 0 0;color:var(--muted)}
.work-row:hover p{color:#bbb}
.work-row img{width:150px;height:100px;object-fit:cover}
.work-row .arrow{font-size:32px;color:var(--red);font-family:'Kumbh Sans'}
#preview{position:fixed;width:320px;height:210px;object-fit:cover;z-index:70;pointer-events:none;opacity:0;transition:opacity .2s;box-shadow:0 20px 50px rgba(0,0,0,.35)}
@media(max-width:820px){#preview{display:none}.work-row{grid-template-columns:1fr auto}.work-row img{display:none}}
/* feature images */
.feature{display:grid;grid-template-columns:1.7fr 1fr;gap:18px}
.feature img{width:100%;height:100%;object-fit:cover;transition:transform .7s}
.feature a{overflow:hidden;display:block}.feature a:hover img{transform:scale(1.03)}
.feature .tall{aspect-ratio:4/5}.feature .wide{aspect-ratio:16/11}
.mosaic{columns:3;column-gap:12px}.mosaic img{width:100%;margin-bottom:12px;break-inside:avoid}
/* clients as type */
.client-names{font-family:'Kumbh Sans';font-size:clamp(28px,4vw,56px);font-weight:800;text-transform:uppercase;line-height:1.05}
.client-names span{color:var(--line)} 
.logos{display:flex;flex-wrap:wrap;gap:28px;align-items:center;margin-top:36px}
.logos img{height:34px;filter:grayscale(1);opacity:.7}
/* services */
.num-list{border-top:2px solid var(--ink)}
.num-list article{display:grid;grid-template-columns:90px 1fr 1.3fr;gap:24px;padding:30px 0;border-bottom:1px solid var(--line)}
.num-list b{font-family:'Kumbh Sans';color:var(--red);font-size:22px}
.num-list h3{margin:0;font-size:clamp(24px,3vw,36px);text-transform:uppercase}
.num-list p{margin:0;color:var(--muted)}
.team{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.person{overflow:hidden;background:var(--paper);border:1px solid var(--line)}
.person img{width:100%;aspect-ratio:4/5;object-fit:cover}
.person div{padding:24px}.person h3{font-size:28px;margin:0 0 8px}.person p{color:var(--muted);margin:0}
/* post */
.meta-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;border-top:2px solid var(--ink);border-bottom:1px solid var(--line);padding:24px 0;margin:32px 0}
.meta-grid b{display:block;font-size:11px;letter-spacing:.2em;color:var(--muted);text-transform:uppercase}
.swatches{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}
.swatches div{width:84px;height:84px;border:1px solid var(--line);display:flex;align-items:flex-end;padding:8px;font-size:11px;font-weight:700}
.two{display:grid;grid-template-columns:1fr 1fr;gap:18px}.two img,.full img{width:100%;object-fit:cover}.full img{aspect-ratio:16/9}
.type-sample{font-family:'Kumbh Sans';font-size:clamp(64px,10vw,140px);font-weight:800;line-height:1;margin:20px 0}
/* contact footer */
.contact{background:var(--ink);color:#fff}
.contact h2{font-size:clamp(52px,9vw,140px);text-transform:uppercase;margin:0 0 32px}
.contact h2 span{color:var(--red)}
form{max-width:720px;display:grid;gap:0}form input,form textarea{width:100%;background:transparent;border:0;border-bottom:1px solid #3a3a3a;color:#fff;padding:18px 0;font:inherit;font-size:18px}form input::placeholder,form textarea::placeholder{color:#888}
form button{margin-top:28px;justify-self:start;background:var(--red);color:#fff;border:0;padding:16px 26px;font-weight:800;letter-spacing:.06em;cursor:pointer}form button:hover{background:var(--red2)}
footer{background:var(--ink);color:#888;border-top:1px solid #2a2a2a;padding:32px clamp(20px,4vw,56px)}
.foot{max-width:1440px;margin:0 auto;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:center}.foot img{height:28px}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s,transform .8s}.reveal.in{opacity:1;transform:none}
@media(max-width:820px){.feature,.team,.two,.meta-grid{grid-template-columns:1fr}.num-list article{grid-template-columns:1fr}.mosaic{columns:2}nav{gap:14px;font-size:11px}}
@media(max-width:520px){.mosaic{columns:1}}
