@import url("https://fonts.googleapis.com/css2?family=Oswald:wght@400;500;600;700&family=Urbanist:wght@300;400;500;600;700;800&display=swap");
:root{--black:#030303;--white:#f4f1ec;--muted:rgba(244,241,236,.66);--line:rgba(244,241,236,.24);--red:#ee1d23}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:var(--white);font-family:Urbanist,sans-serif;line-height:1.35;overflow-x:hidden}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}.topbar{position:fixed;inset:0 0 auto 0;z-index:200;display:flex;align-items:center;justify-content:space-between;padding:24px 34px;mix-blend-mode:difference}.brand img{display:block;width:116px;height:auto}.header-actions{display:flex;gap:22px;align-items:center}.lang-toggle,.menu-button{appearance:none;border:0;background:transparent;color:var(--white);font-family:Urbanist,sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:.14em;cursor:pointer;padding:8px 0}.lang-toggle{color:var(--red)}.menu-button:after{content:"";display:inline-block;width:9px;height:9px;margin-left:14px;border-radius:50%;background:var(--red);vertical-align:middle;box-shadow:0 0 18px rgba(238,29,35,.26)}.menu-panel{position:fixed;inset:0;z-index:180;display:grid;place-items:center;background:rgba(3,3,3,.97);opacity:0;pointer-events:none;transition:opacity .35s ease}body.menu-open .menu-panel{opacity:1;pointer-events:auto}.menu-inner{text-align:center;width:min(860px,86vw)}.menu-inner img{width:min(58vw,520px);margin-bottom:70px}.menu-panel nav{display:grid;gap:18px}.menu-panel a{font-family:Oswald,sans-serif;font-size:clamp(3rem,8vw,8rem);font-weight:700;line-height:.88;text-transform:uppercase;letter-spacing:-.035em}.hero{position:relative;min-height:100vh;display:grid;place-items:center;align-content:center;gap:28px;padding:80px 24px;overflow:hidden}.projection,.projection span{position:absolute;inset:0}.projection span{background-image:var(--bg);background-size:cover;background-position:center;opacity:0;filter:saturate(.72) brightness(.3);transform:scale(1.04);animation:projectionFade 24s infinite 3s}.projection span:nth-child(2){animation-delay:11s}.projection span:nth-child(3){animation-delay:19s}.projection:after{content:"";position:absolute;inset:0;background:rgba(3,3,3,.72)}@keyframes projectionFade{0%,22%,100%{opacity:0}34%,56%{opacity:.34}}.hero-logo{position:relative;z-index:1;width:min(78vw,920px);height:auto;display:block;opacity:0;animation:heroLogoEnter 1.25s ease forwards .15s,projectorBreath 7s ease-in-out infinite 2.3s}@keyframes heroLogoEnter{from{opacity:0;transform:scale(.985);filter:blur(8px)}to{opacity:1;transform:scale(1);filter:blur(0)}}@keyframes projectorBreath{0%,100%{transform:scale(1)}50%{transform:scale(1.006)}}.hero p{position:relative;z-index:1;margin:0;font-weight:500;text-transform:uppercase;letter-spacing:.18em;font-size:clamp(.9rem,1.1vw,1.05rem);color:var(--muted);opacity:0;animation:heroMetaEnter .85s ease forwards .75s}@keyframes heroMetaEnter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.hero-red-line{position:relative;z-index:1;display:block;width:min(34vw,310px);min-width:230px;height:2px;margin-top:10px;background:linear-gradient(90deg,rgba(238,29,35,0) 0%,rgba(238,29,35,.18) 10%,rgba(238,29,35,.96) 24%,rgba(238,29,35,.88) 52%,rgba(238,29,35,.96) 76%,rgba(238,29,35,.18) 90%,rgba(238,29,35,0));box-shadow:0 0 18px rgba(238,29,35,.22);transform:scaleX(0);transform-origin:center;animation:redBeamDraw 1.25s cubic-bezier(.22,.8,.22,1) forwards 1.35s,redBeamPulse 9s ease-in-out infinite 2.9s}@keyframes redBeamDraw{0%{opacity:0;transform:scaleX(0)}18%{opacity:1}100%{opacity:1;transform:scaleX(1)}}@keyframes redBeamPulse{0%,100%{opacity:.82;box-shadow:0 0 14px rgba(238,29,35,.18)}50%{opacity:1;box-shadow:0 0 28px rgba(238,29,35,.32)}}.kicker{margin:0 0 34px;font-family:Oswald,sans-serif;text-transform:uppercase;letter-spacing:.1em;font-size:clamp(1.55rem,2.6vw,3rem);font-weight:700}.kicker:before{content:"";display:inline-block;width:.42em;height:.42em;border-radius:50%;background:var(--red);margin-right:.42em;vertical-align:.12em}.about,.team,.chapter{padding:clamp(84px,10vw,150px) clamp(22px,5vw,76px);border-top:1px solid var(--line)}.about{min-height:82vh;display:flex;flex-direction:column;justify-content:center}.about h1{margin:0;max-width:1100px;font-family:Oswald,sans-serif;font-size:clamp(3.4rem,9vw,11rem);font-weight:700;line-height:.87;letter-spacing:-.045em;text-transform:uppercase}.about-copy{margin:42px 0 0 auto;max-width:600px;font-size:clamp(1.16rem,1.85vw,1.55rem)}.team-list{display:grid;gap:1px;background:var(--line);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.bio-card{background:var(--black)}.bio-toggle{width:100%;appearance:none;border:0;background:transparent;color:var(--white);display:grid;grid-template-columns:1fr auto;gap:24px;align-items:end;text-align:left;padding:clamp(26px,4vw,48px) 0;cursor:pointer}.bio-toggle span{font-family:Oswald,sans-serif;font-size:clamp(3rem,7vw,8rem);font-weight:700;line-height:.88;text-transform:uppercase;letter-spacing:-.04em}.bio-toggle small{font-size:.92rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding-bottom:8px}.bio-toggle:after{content:attr(data-label);font-size:.8rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.bio-content{max-height:0;overflow:hidden;transition:max-height .45s ease}.bio-card.open .bio-content{max-height:320px}.bio-content p{max-width:760px;margin:0 0 clamp(28px,5vw,58px);font-size:clamp(1.05rem,1.55vw,1.28rem);color:var(--muted)}.chapter{padding-left:0;padding-right:0;padding-bottom:0}.chapter>.kicker{margin-left:clamp(22px,5vw,76px);margin-bottom:56px}.film{position:relative;min-height:100vh;overflow:hidden;background:#070707;border-top:1px solid rgba(244,241,236,.16)}.film-image{position:absolute;inset:0;background-image:var(--image);background-size:cover;background-position:center;transform:scale(1.001);filter:saturate(.92) contrast(1.05);opacity:.15;transition:transform .75s ease,filter .75s ease,opacity 1.1s ease}.film.is-visible .film-image{opacity:1}.film:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.68),rgba(0,0,0,.04) 52%,rgba(0,0,0,.26)),linear-gradient(90deg,rgba(0,0,0,.28),transparent 48%,rgba(0,0,0,.22));opacity:.82}.film>h2{position:absolute;z-index:2;left:clamp(24px,5vw,76px);bottom:clamp(30px,5vw,80px);max-width:82%;margin:0;font-family:Oswald,sans-serif;font-size:clamp(3.8rem,9.5vw,12rem);font-weight:700;line-height:.84;letter-spacing:-.045em;text-transform:uppercase;text-shadow:0 20px 70px rgba(0,0,0,.9);transition:opacity .38s ease,transform .38s ease}.film-info{position:absolute;z-index:4;inset:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,430px);gap:clamp(28px,6vw,92px);align-items:end;padding:clamp(26px,5vw,76px);background:linear-gradient(90deg,rgba(0,0,0,.88),rgba(0,0,0,.38) 45%,rgba(0,0,0,.88)),linear-gradient(0deg,rgba(0,0,0,.78),rgba(0,0,0,.1) 55%);opacity:0;transition:opacity .42s ease}.film:hover .film-info{opacity:1}.film:hover .film-image{transform:scale(1.025);filter:saturate(.72) contrast(1.1) brightness(.62)}.film:hover>h2{opacity:0;transform:translateY(16px)}.film-info:before{content:"";position:absolute;top:clamp(26px,5vw,76px);bottom:clamp(26px,5vw,76px);left:calc(100% - min(430px,35vw) - clamp(28px,6vw,92px) - clamp(26px,5vw,76px));width:2px;background:linear-gradient(180deg,rgba(238,29,35,0),rgba(238,29,35,.18) 10%,rgba(238,29,35,.96) 24%,rgba(238,29,35,.88) 52%,rgba(238,29,35,.96) 76%,rgba(238,29,35,.18) 90%,rgba(238,29,35,0));box-shadow:0 0 20px rgba(238,29,35,.18);transform:scaleY(0);transform-origin:center;transition:transform .55s cubic-bezier(.22,.8,.22,1)}.film:hover .film-info:before{transform:scaleY(1)}.film-info h3{margin:0 0 26px;font-family:Oswald,sans-serif;font-size:clamp(3.2rem,7.8vw,10.5rem);font-weight:700;line-height:.84;letter-spacing:-.045em;text-transform:uppercase}.film-info p{max-width:780px;margin:0;font-size:clamp(1.05rem,1.7vw,1.38rem);line-height:1.42}dl{margin:0;display:grid;gap:13px;align-self:end;font-size:.92rem;text-transform:uppercase;letter-spacing:.06em}dl div{display:grid;grid-template-columns:112px 1fr;gap:18px}dt{color:var(--muted);font-weight:800}dd{margin:0;font-weight:600}.meta-line{align-self:end;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)!important;font-size:.92rem!important}.contact{min-height:86vh;display:grid;place-items:center;align-content:center;gap:42px;padding:90px 24px;border-top:1px solid var(--line)}.contact img{width:min(72vw,760px);height:auto;display:block}.contact a{font-size:clamp(1.15rem,2vw,1.7rem);color:var(--muted)}.reveal{opacity:0;transition:opacity .9s ease}.reveal.is-visible{opacity:1}[data-es][data-en]{transition:opacity .18s ease}body.lang-switching [data-es][data-en]{opacity:0}@media(max-width:850px){.topbar{padding:18px}.brand img{width:96px}.header-actions{gap:14px}.lang-toggle,.menu-button{font-size:.8rem}.menu-inner img{width:min(68vw,420px);margin-bottom:54px}.bio-toggle{grid-template-columns:1fr}.bio-toggle:after{grid-column:1}.film{min-height:86vh}.film-info{opacity:1;grid-template-columns:1fr;align-content:end;padding:22px;background:linear-gradient(0deg,rgba(0,0,0,.9),rgba(0,0,0,.2) 70%),linear-gradient(90deg,rgba(0,0,0,.62),transparent)}.film-info:before{display:none}.film>h2{display:none}dl div{grid-template-columns:86px 1fr}.hero-red-line{width:240px;min-width:0}}

/* Menu scroll fix */
.menu-panel {
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  padding: 92px 24px 56px;
}

.menu-inner {
  min-height: auto;
  padding: 0;
}

.menu-inner img {
  margin-bottom: clamp(34px, 6vh, 70px);
}

.menu-panel a {
  font-size: clamp(2.3rem, 7vw, 7rem);
}

body.menu-open {
  overflow: hidden;
}

@media (max-height: 760px) {
  .menu-panel {
    place-items: start center;
  }

  .menu-inner img {
    width: min(48vw, 380px);
    margin-bottom: 30px;
  }

  .menu-panel nav {
    gap: 12px;
  }

  .menu-panel a {
    font-size: clamp(2.2rem, 11vh, 5rem);
  }
}

@media (max-width: 700px) {
  .menu-panel {
    padding-top: 82px;
  }

  .menu-panel a {
    font-size: clamp(2.5rem, 14vw, 5.8rem);
  }
}
