:root{--accent:#FF5A2E;--accent2:#C8F04B;--ink:#0F0E0D;--cream:#F4F0E8;--muted:#A8A196;--gut:clamp(20px,4vw,48px)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{margin:0;padding:0;background:var(--ink)}
body{color:var(--cream);font-family:'Archivo',Helvetica,sans-serif;overflow-x:clip;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
a:hover{color:var(--accent)}
::selection{background:var(--accent);color:var(--ink)}
input,textarea,button{font:inherit}
img{display:block;max-width:100%}
.mono{font-family:'IBM Plex Mono',monospace;font-size:13px;text-transform:uppercase;letter-spacing:.08em}
.muted{color:var(--muted)}
[data-reveal]{opacity:0}
.no-js [data-reveal]{opacity:1}

.cursor{position:fixed;left:0;top:0;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:var(--accent);pointer-events:none;z-index:100;mix-blend-mode:difference;transition:width .3s,height .3s,margin .3s,opacity .3s;opacity:0}
.cursor.big{width:64px;height:64px;margin:-32px 0 0 -32px}
.progress{position:fixed;left:0;top:0;height:3px;width:0;background:var(--accent);z-index:60}

.nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px var(--gut);mix-blend-mode:difference;color:var(--cream)}
.logo{font-weight:900;font-size:28px;letter-spacing:-.04em;font-variation-settings:'wdth' 118}
.nav-links{display:flex;gap:clamp(14px,3vw,36px);flex-wrap:wrap;justify-content:flex-end}

.hero{min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;padding:140px var(--gut) 40px;position:relative}
.blob{position:absolute;width:60vmax;height:60vmax;right:-20vmax;top:-18vmax;border-radius:50%;background:radial-gradient(circle at 40% 40%,var(--accent) 0%,transparent 62%);opacity:.45;pointer-events:none}
.blob2{position:absolute;width:34vmax;height:34vmax;left:-10vmax;bottom:8vh;border-radius:50%;background:radial-gradient(circle,var(--accent2) 0%,transparent 65%);opacity:.18;pointer-events:none}
.hero-meta{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;color:var(--muted);margin-bottom:24px;position:relative}
.status{display:flex;align-items:center;gap:10px}
.pulse{width:8px;height:8px;border-radius:50%;background:var(--accent2);display:inline-block;animation:pulse 1.6s infinite}
@keyframes pulse{from{box-shadow:0 0 0 0 rgba(200,240,75,.7)}to{box-shadow:0 0 0 12px rgba(200,240,75,0)}}
.hero-title{margin:0;font-weight:900;font-size:clamp(64px,15.5vw,280px);line-height:.84;letter-spacing:-.045em;position:relative}
.line{display:flex;gap:.18em;overflow:hidden;padding-bottom:.04em}
.word{display:inline-flex}
.l{display:inline-block;font-variation-settings:'wdth' 100;transform:translateY(110%)}
.no-js .l{transform:none}
.hero-foot{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap;margin-top:40px;position:relative}
.hero-intro{margin:0;max-width:440px;font-size:clamp(18px,1.6vw,22px);line-height:1.4;color:#D9D3C7;text-wrap:pretty}
.magnet{display:flex;align-items:center;justify-content:center;width:150px;height:150px;border-radius:50%;background:var(--accent);color:var(--ink);font-weight:800;font-size:17px;text-align:center;line-height:1.1;transition:transform .2s ease-out}
.magnet:hover{color:var(--ink)}

.ticker{position:relative;height:clamp(200px,24vw,320px);overflow:hidden}
.band{position:absolute;left:-5%;right:-5%;color:var(--ink);overflow:hidden}
.band1{top:22%;transform:rotate(-3deg);background:var(--accent);padding:18px 0;z-index:2}
.band2{top:44%;transform:rotate(2.5deg);background:var(--accent2);padding:12px 0;z-index:1}
.marquee{display:flex;width:max-content}
.m1{gap:40px;font-weight:900;font-size:clamp(32px,4.5vw,64px);letter-spacing:-.03em;font-variation-settings:'wdth' 120;text-transform:uppercase;animation:mq 22s linear infinite}
.m1 span{display:flex;align-items:center;gap:40px;white-space:nowrap}
.m1 i{width:.4em;height:.4em;background:var(--ink);transform:rotate(45deg);display:inline-block}
.m2{gap:32px;font-weight:500;font-size:clamp(15px,1.4vw,20px);letter-spacing:.06em;animation:mq 30s linear infinite reverse}
.m2 span{white-space:nowrap}
@keyframes mq{from{transform:translateX(0)}to{transform:translateX(-50%)}}

.manifesto{padding:clamp(80px,12vw,180px) var(--gut);max-width:1400px;margin:0 auto}
.kicker{color:var(--accent);margin-bottom:32px}
.manifesto p{margin:0;font-weight:700;font-size:clamp(32px,5.2vw,80px);line-height:1.04;letter-spacing:-.03em;display:flex;flex-wrap:wrap;column-gap:.25em}
.mw{opacity:.14;transition:opacity .25s}
.mw.on,.no-js .mw{opacity:1}

.sec-head{display:flex;justify-content:space-between;align-items:baseline;gap:24px;flex-wrap:wrap;margin:0 auto 48px;max-width:1400px}
.sec-head.wide{max-width:none;padding:0 var(--gut);margin:0;width:100%}
.h2{margin:0;font-weight:900;font-size:clamp(48px,8vw,128px);letter-spacing:-.045em;line-height:.9;font-variation-settings:'wdth' 75}

.services{padding:0 var(--gut) clamp(80px,10vw,140px)}
.cards{max-width:1400px;margin:0 auto;display:flex;flex-direction:column;gap:24px}
.card{position:sticky;min-height:62vh;border-radius:28px;padding:clamp(28px,4vw,56px);display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:40px;box-shadow:0 -20px 60px rgba(0,0,0,.35)}
.card-l{display:flex;flex-direction:column;justify-content:space-between;gap:40px}
.card-n{font-size:14px}
.card h3{margin:0 0 20px;font-weight:900;font-size:clamp(44px,7vw,112px);letter-spacing:-.045em;line-height:.88;font-variation-settings:'wdth' 110}
.card p{margin:0;max-width:480px;font-size:clamp(17px,1.4vw,20px);line-height:1.45;text-wrap:pretty}
.card-r{display:flex;flex-direction:column;justify-content:space-between;gap:24px}
.card-img{aspect-ratio:4/3;border-radius:18px;overflow:hidden;border:1px solid}
.card-img img{width:100%;height:100%;object-fit:cover}
.tags{display:flex;flex-wrap:wrap;gap:8px}
.tags span{border:1.5px solid currentColor;border-radius:999px;padding:8px 14px;font-size:14px;font-weight:600}

.work{height:420vh;position:relative}
.work-sticky{position:sticky;top:0;height:100vh;overflow:hidden;display:flex;flex-direction:column;justify-content:center;gap:40px}
.work-meta{display:flex;align-items:center;gap:16px}
.bar{width:160px;height:2px;background:#2E2B27;position:relative;display:block}
.bar span{position:absolute;left:0;top:0;bottom:0;width:0;background:var(--accent);display:block}
.track{display:flex;gap:28px;padding:0 var(--gut);width:max-content;will-change:transform}
.tile{width:clamp(300px,38vw,560px);display:flex;flex-direction:column;gap:18px;color:var(--cream)}
.tile-img{aspect-ratio:4/5;border-radius:24px;position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:20px;transition:transform .4s cubic-bezier(.2,.8,.2,1)}
.tile:hover .tile-img{transform:scale(.97) rotate(-1deg)}
.tile-img::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(45deg,rgba(15,14,13,.13) 0 1px,transparent 1px 16px)}
.tile-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tile-ph{position:relative;font-size:12px;color:var(--ink);background:rgba(244,240,232,.85);padding:6px 10px;border-radius:6px}
.tile-res{position:absolute;top:20px;right:20px;font-weight:900;font-size:clamp(28px,3vw,44px);letter-spacing:-.03em;color:var(--ink)}
.tile-cap{display:flex;justify-content:space-between;align-items:baseline;gap:16px}
.tile-cap h3{margin:0;font-weight:800;font-size:clamp(24px,2.4vw,34px);letter-spacing:-.025em}
.tile-cap .mono{font-size:12px;white-space:nowrap}
.tile-next{width:clamp(300px,38vw,560px);aspect-ratio:4/5;border-radius:24px;border:2px dashed #3A3631;display:flex;align-items:center;justify-content:center;text-align:center;font-weight:900;font-size:clamp(36px,4vw,60px);letter-spacing:-.04em;line-height:.95;transition:all .3s}
.tile-next:hover{background:var(--cream);color:var(--ink);border-color:var(--cream)}

.process{padding:clamp(80px,12vw,160px) var(--gut);background:var(--cream);color:var(--ink)}
.process .sec-head{margin-bottom:64px}
.wrap{max-width:1400px;margin:0 auto}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));border-top:2px solid var(--ink)}
.step{padding:32px 28px 40px 0;border-right:1px solid #D6CFC2;display:flex;flex-direction:column;gap:20px;transition:background .3s,padding .3s}
.step:hover{background:var(--accent);padding-left:20px}
.step-n{font-weight:900;font-size:72px;letter-spacing:-.05em;line-height:1;font-variation-settings:'wdth' 62}
.step h3{margin:0;font-weight:800;font-size:28px;letter-spacing:-.02em}
.step p{margin:0;font-size:17px;line-height:1.45;color:#3A3631;text-wrap:pretty;max-width:300px}

.contact{padding:clamp(80px,12vw,160px) var(--gut) 0;position:relative}
.contact-grid{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:clamp(40px,6vw,96px)}
.contact .kicker{margin-bottom:28px}
.contact-h{margin:0 0 32px;font-weight:900;font-size:clamp(56px,8.5vw,136px);letter-spacing:-.05em;line-height:.86}
.contact-h span{color:var(--accent2);font-style:italic}
.contact-p{margin:0 0 32px;font-size:20px;line-height:1.45;color:#D9D3C7;max-width:420px;text-wrap:pretty}
.email{font-weight:700;font-size:clamp(22px,2.4vw,32px);border-bottom:2px solid var(--accent);padding-bottom:4px;word-break:break-word}
.form{display:flex;flex-direction:column;gap:28px}
.form label,.chips-wrap{display:flex;flex-direction:column;gap:10px;font-size:12px;color:var(--muted)}
.chips-wrap{gap:12px}
.form input,.form textarea{background:transparent;border:none;border-bottom:1.5px solid #3A3631;color:var(--cream);font-family:'Archivo',sans-serif;font-size:24px;padding:8px 0;outline:none;text-transform:none;letter-spacing:0;border-radius:0;transition:border-color .2s}
.form textarea{font-size:20px;resize:vertical}
.form input:focus,.form textarea:focus{border-bottom-color:var(--accent)}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chip{border:1.5px solid #3A3631;background:transparent;color:var(--cream);border-radius:999px;padding:10px 18px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}
.chip.on{background:var(--cream);color:var(--ink);border-color:var(--cream)}
.submit{align-self:flex-start;background:var(--cream);color:var(--ink);border:none;border-radius:999px;padding:20px 36px;font-size:18px;font-weight:800;cursor:pointer;transition:background .2s,transform .2s}
.submit:hover{background:var(--accent);transform:rotate(-2deg) scale(1.04)}
.sent{display:flex;flex-direction:column;justify-content:center;gap:16px;border-radius:28px;background:var(--accent2);color:var(--ink);padding:48px}
.sent[hidden]{display:none}
.sent span{font-weight:900;font-size:clamp(56px,7vw,104px);letter-spacing:-.05em;line-height:.9}
.sent p{margin:0;font-size:20px;line-height:1.4}

.footer{margin-top:clamp(80px,10vw,140px);border-top:1px solid #2E2B27;padding-top:24px}
.foot-row{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;font-size:12px}
.socials{display:flex;gap:24px}
.footer-word{font-weight:900;font-size:clamp(100px,27vw,460px);letter-spacing:-.06em;line-height:.78;text-align:center;font-variation-settings:'wdth' 100;color:var(--accent);margin-top:24px;user-select:none;transition:font-variation-settings .15s ease-out}

@media (max-width:860px){
  .card{grid-template-columns:1fr;min-height:0;gap:28px}
  .work{height:auto;padding:80px 0}
  .work-sticky{position:static;height:auto;gap:32px}
  .track{width:auto;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:12px;transform:none!important}
  .tile,.tile-next{flex:0 0 78vw;scroll-snap-align:start}
  .work-meta .bar{display:none}
}
@media (max-width:560px){
  .nav-links{display:none}
  .hero{min-height:0;justify-content:flex-start;padding-top:104px;padding-bottom:56px}
  .magnet{width:120px;height:120px;font-size:15px}
}
@media (hover:none){.cursor{display:none}}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .marquee,.pulse{animation:none}
  .l{transform:none}
  [data-reveal]{opacity:1}
  .mw{opacity:1}
}
