*{box-sizing:border-box;margin:0;padding:0}
:root{--black:#050505;--white:#f3f1eb;--muted:#a09d96;--line:#2b2925;--gold:#c6a46b;--gold2:#e0c58e}
html{scroll-behavior:smooth}
body{background:var(--black);color:var(--white);font-family:"DM Sans",Arial,sans-serif;line-height:1.55;overflow-x:hidden}
a{color:inherit;text-decoration:none}
.film-grain{position:fixed;inset:-50%;width:200%;height:200%;z-index:99;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180' viewBox='0 0 180 180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:grain .25s steps(2) infinite}
@keyframes grain{0%{transform:translate(0,0)}25%{transform:translate(2%,-1%)}50%{transform:translate(-1%,2%)}75%{transform:translate(1%,1%)}100%{transform:translate(-2%,-2%)}}
.header{height:92px;position:absolute;z-index:20;top:0;left:0;right:0;padding:15px 5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.08)}
.logo-link{width:72px;height:62px;display:block}.logo-link img{width:100%;height:100%;object-fit:contain}
.nav{display:flex;gap:34px;align-items:center;text-transform:uppercase;font-size:10px;letter-spacing:.2em}.nav a{color:#b9b6ae;transition:.25s}.nav a:hover{color:var(--gold2)}
.menu-button{display:none;background:none;border:0}.menu-button i{display:block;width:25px;height:1px;background:#fff;margin:6px}
.hero{height:100vh;min-height:700px;position:relative;display:flex;align-items:center;padding:150px 8vw 80px;overflow:hidden}
.hero-bg{position:absolute;inset:0;background:radial-gradient(ellipse at 75% 45%,rgba(126,91,48,.2),transparent 28%),linear-gradient(90deg,rgba(0,0,0,.98) 0%,rgba(0,0,0,.72) 45%,rgba(0,0,0,.3) 100%),url("assets/leonel-festivales.png") center 31%/cover no-repeat;filter:saturate(.55) contrast(1.12)}
.hero-vignette{position:absolute;inset:0;background:radial-gradient(circle,transparent 30%,rgba(0,0,0,.6) 100%)}
.hero-content{position:relative;z-index:2;max-width:800px}.kicker,.eyebrow{font-size:9px;letter-spacing:.28em;color:#aaa59c;font-weight:600}.kicker{margin-bottom:25px}
h1,h2,h3{font-family:"Cinzel",serif;font-weight:500;line-height:.95;letter-spacing:-.045em}h1{font-size:clamp(55px,8.5vw,130px)}h1 span,h2 em{color:var(--gold2);font-style:normal}
.hero-text{max-width:500px;color:#b9b7b0;font-size:15px;margin:32px 0}.hero-buttons{display:flex;gap:12px;flex-wrap:wrap}.button{padding:15px 20px;font-size:9px;letter-spacing:.18em;text-transform:uppercase}.button.gold{background:var(--gold);color:#090806}.button.line{border:1px solid rgba(255,255,255,.3)}.button:hover{filter:brightness(1.12)}
.hero-credit{position:absolute;right:7vw;bottom:70px;z-index:2;display:flex;gap:25px;color:#777;font-size:8px;letter-spacing:.2em}.scroll-cue{position:absolute;left:8vw;bottom:38px;z-index:2;color:#777;font-size:8px;letter-spacing:.2em}.scroll-cue b{color:#ddd;margin-left:10px}
.section{max-width:1400px;margin:auto;padding:145px 7vw}.intro{display:grid;grid-template-columns:70px 1fr 1fr;gap:50px;border-top:1px solid var(--line)}.section-index{font-size:9px;color:#666;letter-spacing:.15em}.intro-title h2,.team-heading h2,.contact h2{font-size:clamp(48px,6vw,90px);margin-top:18px}.intro-copy{padding-top:18px;max-width:510px;color:#999}.intro-copy .lead{font-size:19px;color:#dedbd4;margin-bottom:28px}.intro-copy p+p{margin-top:22px}.intro-copy strong{color:var(--gold2)}
.film-section{max-width:1400px;margin:auto;padding:120px 7vw;display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw;background:linear-gradient(90deg,#070706,#0a0908)}.film-copy{display:flex;flex-direction:column;justify-content:center}.film-copy h2{font-size:clamp(70px,9vw,130px);margin:10px 0 30px}.laurels{display:grid;grid-template-columns:1fr;gap:15px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;color:#9b958b;font-size:8px;line-height:1.5;letter-spacing:.15em}.laurels span{padding-right:12px}.laurels span+span{border-left:1px solid var(--line);padding-left:15px}.laurels b{color:#d6d1c7;font-weight:500}.tagline{font-family:Cinzel,serif;color:var(--gold2);font-size:16px;margin:30px 0 14px}.synopsis{color:#9a9891;max-width:490px;font-size:14px}.text-button{display:inline-block;margin-top:30px;color:var(--gold2);font-size:9px;letter-spacing:.18em;text-transform:uppercase}.text-button span{margin-left:12px}.poster-wrap{display:flex;justify-content:center;align-items:center}.poster-frame{width:min(100%,550px);padding:12px;background:#111;border:1px solid #302d27;box-shadow:0 35px 100px rgba(0,0,0,.7);transform:rotate(1deg)}.poster-frame img{display:block;width:100%;height:auto}
.credits{max-width:1400px;margin:auto;padding:25px 7vw 75px;border-bottom:1px solid var(--line)}.credits-top{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:18px;color:#666;font-size:8px;letter-spacing:.18em}.credits-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:25px;margin-top:55px}.credits-grid div{border-left:1px solid var(--line);padding-left:18px}.credits-grid span{display:block;color:#777;font-size:8px;letter-spacing:.18em;margin-bottom:10px}.credits-grid b{font-family:"Space Grotesk";font-size:12px;font-weight:600;letter-spacing:.03em}
.team{display:grid;grid-template-columns:70px 1fr 1.3fr;gap:50px}.team-list{border-top:1px solid var(--line)}.person{display:grid;grid-template-columns:45px 1fr auto;gap:20px;align-items:center;padding:27px 0;border-bottom:1px solid var(--line)}.person-no{font-size:9px;color:#555}.person h3{font-family:"Space Grotesk";font-size:20px;letter-spacing:-.03em}.person p{color:#777;font-size:11px;text-transform:uppercase;letter-spacing:.15em;margin-top:4px}.person a{font-size:9px;letter-spacing:.12em;color:var(--gold2)}.person:hover h3{color:var(--gold2)}
.manifesto{padding:155px 8vw;background:#e6e1d7;color:#0b0b0a;display:grid;grid-template-columns:1.5fr .5fr;gap:70px}.manifesto .eyebrow{color:#777}.manifesto h2{font-size:clamp(60px,8vw,125px);margin-top:20px}.manifesto h2 em{color:#8d6b39}.manifesto-copy{align-self:end;color:#666;font-size:14px;max-width:300px}.manifesto-copy p+p{margin-top:18px}
.contact{display:grid;grid-template-columns:70px 1fr 1fr;gap:50px;min-height:70vh;align-items:center}.contact-box{border-top:1px solid var(--line);padding-top:30px;max-width:500px;color:#999}.contact-box>p:first-child{max-width:430px;margin-bottom:35px}.whatsapp,.instagram{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:20px 0}.whatsapp span,.instagram span{font-size:8px;letter-spacing:.18em;color:#777}.whatsapp strong,.instagram strong{font-family:"Space Grotesk";font-size:13px;font-weight:500;color:#ddd}.whatsapp:hover strong,.instagram:hover strong{color:var(--gold2)}.email-note{font-size:10px;color:#555;margin-top:25px}
footer{border-top:1px solid var(--line);padding:30px 7vw;display:flex;justify-content:space-between;align-items:center;color:#555;font-size:8px;letter-spacing:.18em}footer img{width:55px;height:45px;object-fit:contain}footer a:hover{color:#ddd}
@media(max-width:850px){
.header{height:75px}.logo-link{width:58px;height:50px}.menu-button{display:block}.nav{display:none;position:absolute;top:75px;left:0;right:0;background:#050505;padding:25px 7vw;flex-direction:column;align-items:flex-start;gap:20px;border-bottom:1px solid var(--line)}.nav.open{display:flex}
.hero{min-height:680px;padding:120px 7vw 80px}.hero-bg{background-position:62% center}.hero-credit{display:none}.hero-text{font-size:13px}
.intro,.team,.contact{grid-template-columns:1fr;padding:100px 7vw;gap:30px}.section-index{display:none}.intro-copy{padding-top:0}.film-section{grid-template-columns:1fr;padding:90px 7vw;gap:55px}.poster-wrap{order:-1}.film-copy h2{font-size:75px}.credits{padding:20px 7vw 65px}.credits-top{display:block}.credits-top p+p{margin-top:12px}.credits-grid{grid-template-columns:1fr 1fr;gap:30px;margin-top:40px}.credits-grid b{font-size:10px}.person{grid-template-columns:30px 1fr}.person a{grid-column:2}.manifesto{grid-template-columns:1fr;padding:100px 7vw}.manifesto-copy{margin-top:20px}.contact{min-height:0}.contact-box{margin-top:20px}footer{flex-direction:column;gap:18px;align-items:flex-start}
}
@media(max-width:500px){.hero h1{font-size:54px}.laurels{grid-template-columns:1fr}.laurels span+span{border-left:0;border-top:1px solid var(--line);padding-left:0;padding-top:15px}.credits-grid{grid-template-columns:1fr}.person h3{font-size:17px}.manifesto h2{font-size:54px}}
