:root{--k:#0a0a0a;--w:#f2f0ea;--g:#8a8a8a}*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}body{background:var(--k);color:var(--w);font:15px/1.6 "Space Mono",monospace;-webkit-font-smoothing:antialiased}
img{display:block;width:100%;height:auto;filter:grayscale(1) contrast(1.15)}a{color:inherit}
.grain{position:fixed;inset:-50%;z-index:50;pointer-events:none;opacity:.12;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:gr 1s steps(4) infinite}
@keyframes gr{0%{transform:translate(0)}25%{transform:translate(-3%,2%)}50%{transform:translate(2%,-3%)}75%{transform:translate(-2%,-1%)}}
.bar{position:fixed;top:0;left:0;right:0;z-index:40;display:flex;justify-content:space-between;align-items:center;padding:14px 18px;mix-blend-mode:difference}
.logo{font-family:Anton;font-size:22px;letter-spacing:.06em;text-decoration:none}nav a{font-size:11px;text-transform:uppercase;letter-spacing:.15em;margin-left:14px;text-decoration:none}
.hero{position:relative;height:100svh;min-height:620px;overflow:hidden}.hero img{height:100%;object-fit:cover;object-position:30% 20%;transform:scale(1.08);animation:zoom 2.4s ease-out forwards}
@keyframes zoom{to{transform:scale(1)}}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,#000 96%)}
.hero-txt{position:absolute;left:18px;right:18px;bottom:64px;z-index:2}
h1{font-family:Anton;font-weight:400;font-size:clamp(76px,24vw,180px);line-height:.86;letter-spacing:-.01em;text-transform:uppercase}
.tag{font-size:12px;letter-spacing:.2em;text-transform:uppercase;margin-bottom:10px;background:var(--w);color:var(--k);display:inline-block;padding:2px 8px}
.sub{margin-top:10px;font-size:12px;color:#cfcfcf;letter-spacing:.1em}.scroll{position:absolute;bottom:18px;right:18px;z-index:2;font-size:11px;letter-spacing:.2em;animation:b 1.6s infinite}
@keyframes b{50%{transform:translateY(5px)}}
.manifiesto{padding:80px 18px;background:var(--w);color:var(--k)}.manifiesto p{font-family:Anton;font-size:44px;line-height:1;text-transform:uppercase}.manifiesto em{font-style:normal;background:var(--k);color:var(--w);padding:0 6px}
.sec{font-size:12px;font-weight:700;letter-spacing:.25em;text-transform:uppercase;padding:42px 18px 16px;border-top:1px solid #333}
figure{position:relative;margin-bottom:6px;overflow:hidden}figcaption{font-size:11px;letter-spacing:.06em;color:var(--g);padding:8px 18px 18px}
figure img{transition:transform .8s ease,filter .5s}figure:active img,figure:hover img{transform:scale(1.03);filter:grayscale(1) contrast(1.4)}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:6px}.duo img{aspect-ratio:3/4;object-fit:cover}.duo figcaption{padding:8px 10px 18px}
.kun{padding-bottom:40px}.kun p{padding:0 18px 14px}.big{font-family:Anton;font-size:40px;line-height:1.02;text-transform:uppercase}
.punk{display:inline-block;background:var(--w);color:var(--k);padding:0 6px;transform:rotate(-2deg);margin-top:6px}
.roles{list-style:none;margin:8px 18px 0;border-top:1px solid var(--w)}.roles li{padding:12px 0;border-bottom:1px solid #333;text-transform:uppercase;font-size:13px;letter-spacing:.08em}.roles li::before{content:"✕ ";color:var(--g)}
.contacto{padding-bottom:60px}.ig{display:block;margin:0 18px;font-family:Anton;font-size:46px;line-height:1;text-decoration:none;border-bottom:3px solid var(--w);padding-bottom:8px;transition:letter-spacing .3s}.ig:hover,.ig:active{letter-spacing:.03em}
.ph{padding:18px;color:var(--g);font-size:12px}
footer{background:var(--w);color:var(--k);padding:22px 18px;font-size:11px;letter-spacing:.12em;text-transform:uppercase}footer p+p{margin-top:4px}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .9s,transform .9s}.reveal.in{opacity:1;transform:none}

@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
.shot .hero{height:var(--hh,844px);min-height:0}.shot .grain{position:absolute;inset:0;animation:none}
/* ---------- landscape phones ---------- */
@media (orientation:landscape) and (max-height:540px){
.hero{display:grid;grid-template-columns:55% 45%;min-height:0;height:100svh}
.hero::after{background:linear-gradient(90deg,transparent 45%,#000 56%)}
.hero img{grid-column:1;height:100%}
.hero-txt{position:relative;grid-column:2;left:auto;right:auto;bottom:auto;align-self:center;padding:56px 22px 20px 0;z-index:2}
h1{font-size:clamp(56px,10vw,96px)}
.manifiesto{padding:48px 24px}.manifiesto p{font-size:40px}.manifiesto p br{display:none}
.obra{display:grid;grid-template-columns:1fr 1fr;gap:6px}.obra .sec{grid-column:1/-1}
.obra .duo{display:contents}.obra img{aspect-ratio:4/3;object-fit:cover}
.kun,.contacto{display:grid;grid-template-columns:1fr 1fr;column-gap:24px;align-items:start}.kun .sec,.contacto .sec{grid-column:1/-1}
.kun .roles{grid-column:2;grid-row:2/4}.contacto .ig{font-size:40px}
}
/* ---------- desktop ---------- */
@media (min-width:1024px) and (min-height:541px){
body{font-size:16px}.bar{padding:22px 48px}nav a{font-size:12px;margin-left:28px}
.hero-txt{left:48px;bottom:72px;right:auto}h1{font-size:clamp(120px,12vw,210px)}.scroll{right:48px}
.hero img{object-position:50% 30%}
.manifiesto{padding:140px 48px}.manifiesto p{font-size:clamp(64px,7vw,120px);max-width:1200px}.manifiesto p br{display:none}
.sec{padding:64px 48px 24px;font-size:13px}
.obra{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;padding:0 48px 40px}.obra .sec{grid-column:1/-1;padding-left:0;padding-right:0}
.obra .duo{display:contents}.obra figure{grid-column:span 2}.obra img{aspect-ratio:4/5;object-fit:cover}
.obra>figure.full:nth-of-type(1){grid-column:span 4}.obra>figure.full:nth-of-type(1) img{aspect-ratio:auto;height:100%;max-height:620px}
.obra>figure.full:nth-of-type(2){grid-column:span 2}
.obra>figure.full:last-of-type{grid-column:span 2}
figcaption{padding:10px 0 0}
.kun{display:grid;grid-template-columns:1fr 1fr;column-gap:64px;padding:0 48px 80px}.kun .sec{grid-column:1/-1;padding-left:0}.kun p{padding:0 0 16px}
.big{font-size:72px}.kun .roles{grid-column:2;grid-row:2/4;margin:0}
.contacto{padding:0 48px 100px}.contacto .sec{padding-left:0}.ig{margin:0;font-size:clamp(64px,8vw,130px);display:inline-block}.ph{padding:18px 0}
footer{display:flex;justify-content:space-between;padding:28px 48px}footer p+p{margin:0}
}
.analogo{padding-bottom:48px;background:repeating-linear-gradient(90deg,transparent 0 14px,#151515 14px 16px) top/100% 10px no-repeat,var(--k)}
.analogo .big{font-weight:400;padding:0 18px 18px}.analogo-txt p{padding:0 18px 12px;color:#d8d6d0}.analogo .firma{color:var(--w);font-weight:700;text-transform:uppercase;font-size:12px;letter-spacing:.12em;border-left:3px solid var(--w);margin:8px 18px 0;padding:4px 0 4px 12px}
@media (orientation:landscape) and (max-height:540px){h1{font-size:clamp(48px,8.5vw,80px)}.hero-txt{padding-top:48px}
.analogo{display:grid;grid-template-columns:1fr 1fr;column-gap:24px}.analogo .sec{grid-column:1/-1}}
@media (min-width:1024px) and (min-height:541px){.manifiesto p br{display:inline}.manifiesto p{max-width:none}
.hero img{object-position:50% 15%}.analogo{display:grid;grid-template-columns:5fr 6fr;column-gap:64px;padding:0 48px 90px}.analogo .sec{grid-column:1/-1;padding-left:0}.analogo .big{padding:0;font-size:80px}.analogo-txt p{padding:0 0 14px;font-size:17px}.analogo .firma{margin:10px 0 0}}
@media (min-width:1024px) and (min-height:541px){.analogo .big{font-size:64px}}
.shot img,.shot .reveal{filter:none!important;transition:none!important;animation:none!important;transform:none!important}
@media (orientation:landscape) and (max-height:540px){.obra>figure.full:last-of-type{grid-column:1/-1}.obra>figure.full:last-of-type img{aspect-ratio:21/9}}
