:focus-visible{outline:2px solid var(--gold);outline-offset:5px}[hidden]{display:none!important}.reveal{opacity:1;transform:none}
.photo-carousel{min-width:0;align-self:start}.photo-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--gold) #111}.photo-slide{flex:0 0 100%;min-width:0;margin:0;scroll-snap-align:start;position:relative}.photo-slide img{width:100%;aspect-ratio:4/3;object-fit:contain;background:#10111a}.photo-slide figcaption{position:absolute;left:12px;bottom:12px;padding:.4rem .65rem;background:rgba(8,8,8,.8);font-size:.8rem}.photo-controls{display:flex;justify-content:space-between;align-items:center;padding:1rem 0;gap:1rem}.photo-controls>span{font-size:1.25rem;font-weight:600}.photo-controls>div{display:flex;gap:.8rem;align-items:center}.photo-controls button{border:1px solid var(--line);background:transparent;color:var(--warm);min-width:44px;min-height:44px;cursor:pointer}.photo-controls button:hover:not(:disabled){background:var(--gold);color:var(--black)}.photo-controls button:disabled{opacity:.3;cursor:default}.photo-controls [data-photo-count]{font-size:.85rem;min-width:40px;text-align:center}
.process-illustrated{grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem}.process-illustrated .process-step{min-width:0;border:0;padding:0;position:relative}.process-illustrated .process-step::before{position:absolute;top:12px;left:12px;background:var(--black);padding:.35rem .65rem;z-index:1;font-size:.85rem}.process-illustrated figure{margin:0}.process-illustrated img{width:100%;aspect-ratio:16/10;object-fit:cover}.process-illustrated figcaption{font-size:.8rem;color:var(--gray);margin-top:.65rem}.process-illustrated .process-step h3{margin:1.3rem 0 .5rem;font-size:1.25rem}.process-illustrated .process-step p{font-size:1rem}.process-illustrated .process-step:last-child img{object-fit:contain;background:#11121a}@media(max-width:900px){.process-illustrated{grid-template-columns:1fr 1fr}}@media(max-width:580px){.process-illustrated{grid-template-columns:1fr;gap:2.5rem}.photo-slide img{aspect-ratio:1}.photo-controls>span{font-size:1rem}}
.hero{min-height:90svh;align-items:center;padding-bottom:90px}.hero-grid{align-items:center;gap:3rem}.hero h1{font-size:clamp(3rem,6.2vw,6.3rem);line-height:1.04;letter-spacing:-.055em;text-transform:none}.hero h1 span{color:var(--gold);-webkit-text-stroke:0}.hero .lead{font-size:1.1rem;max-width:540px}
.hero-emblem{border:0;aspect-ratio:1;background:radial-gradient(circle,rgba(244,185,66,.10),rgba(23,27,58,.45) 43%,transparent 73%)}.hero-emblem::before{opacity:.35}.hero-emblem .showreel-logo{width:64%}.hero-emblem .media-note{justify-content:center;gap:1rem}
.nav-links{gap:1.5rem;letter-spacing:.07em}.brand img{height:43px}section{padding:96px 0}.work-grid{grid-template-columns:1fr 1fr;gap:2.5rem 1.5rem}
.work-grid .work-card,.work-grid .work-card.wide,.work-grid .work-card:nth-child(n),.portfolio-grid .work-card{grid-column:auto;min-height:0;display:flex;flex-direction:column;border:0;background:transparent;overflow:visible}.work-card .work-image{position:relative;inset:auto;width:100%;height:auto;aspect-ratio:1;object-fit:contain;background:#11121a;filter:none;border:1px solid var(--line)}.work-grid .work-image{aspect-ratio:4/3;object-fit:cover}.work-card::after{display:none}.work-card:hover .work-image{transform:translateY(-4px);filter:none}.work-meta{position:static;padding:1.1rem 0;background:none}.work-meta h3{font-size:1.35rem}.work-meta p{line-height:1.6}.work-card .placeholder{top:12px;right:12px;background:rgba(8,8,8,.85);color:var(--warm);font-size:.65rem;border:0}
.portfolio-grid{gap:2rem 1.5rem}.filter{font-size:.8rem}.filter-bar{margin-bottom:1rem}.filter-status{color:var(--gray);font-size:.85rem;margin:0 0 2rem}.page-hero h1{font-size:clamp(2.8rem,7vw,6.8rem);overflow-wrap:anywhere}.page-hero{min-height:0;padding-bottom:65px}
.concert-photo .work-image{aspect-ratio:4/5;object-fit:cover}.concert-photo:nth-of-type(even) .work-image{aspect-ratio:3/4}
.event-card .work-image{aspect-ratio:16/10;object-fit:cover}.featured-event{grid-column:span 2!important}.featured-event .work-image{aspect-ratio:16/8;object-fit:cover}.event-case{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.75fr);gap:4rem;align-items:start}.event-video{grid-column:1/-1;background:#000;border:1px solid var(--line)}.event-video video{display:block;width:100%;max-height:82vh;background:#000}.event-intro{grid-column:2;grid-row:2}.event-intro>p:not(.lead){color:var(--gray)}.event-gallery{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.event-gallery figure{margin:0;min-width:0}.event-gallery .event-featured{grid-column:1/-1}.event-gallery img{width:100%;height:auto;max-height:860px;object-fit:contain;background:#10111a}.event-gallery figure:not(.event-featured) img{aspect-ratio:4/5;object-fit:cover}.event-gallery figcaption{font-size:.8rem;color:var(--gray);padding:.65rem 0 1.2rem}
@media(max-width:900px){.event-case{grid-template-columns:1fr;gap:2rem}.event-intro{grid-column:auto;grid-row:auto}.featured-event{grid-column:auto!important}}
@media(max-width:580px){.event-gallery{grid-template-columns:1fr}.event-gallery .event-featured{grid-column:auto}.event-video{margin-inline:-14px}.event-gallery figure:not(.event-featured) img{aspect-ratio:3/4}}
.case-heading{padding-top:150px}.back-link{display:inline-block;color:var(--gray);margin-bottom:2.5rem}.back-link:hover,.text-link:hover{color:var(--gold)}.case-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:4rem;align-items:start}.case-art figure{margin:0 0 2rem}.case-art img{width:100%;height:auto;max-height:850px;object-fit:contain;background:#0d0e15}.case-art figcaption{color:var(--gray);font-size:.8rem;margin-top:.8rem}.case-description{position:sticky;top:120px}.case-description .lead{margin-top:1rem}.case-description>p:not(.lead){color:var(--gray);font-size:.85rem}.text-link{display:block;margin:1.2rem 0;text-decoration:underline;text-underline-offset:5px}
.contact-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:1.5rem}.contact-email{font-size:clamp(1rem,2.5vw,1.8rem);color:var(--gold);overflow-wrap:anywhere}.detail-card h2{line-height:1.2;font-size:2rem}.form-success{margin-top:2rem}.form-success textarea{width:100%;min-height:260px;background:#0c0d13;border:1px solid var(--line);color:var(--warm);padding:1rem;margin-bottom:1rem;resize:vertical}.footer a{overflow-wrap:anywhere}.footer-bottom{color:var(--gray)}.social-links{display:flex;gap:1.4rem;flex-wrap:wrap;padding-top:1.5rem}.social-links a{font-size:.85rem}.legal-note{font-size:.82rem}
@media(max-width:900px){.hero{min-height:auto;padding-top:105px}.hero-grid{gap:1.5rem}.hero-emblem{order:0;max-width:420px;width:100%;margin:auto}.hero h1{font-size:clamp(3rem,9vw,5rem)}.case-layout{gap:2rem}.case-description{position:static}}
@media(max-width:580px){.hero{padding-bottom:55px}.hero h1{font-size:3rem}.hero-emblem{max-width:300px}.hero-grid{gap:0}.hero .lead{margin:1.5rem 0}.hero .scroll-mark{display:none}.work-grid,.case-layout,.contact-grid{grid-template-columns:1fr}.work-grid .work-image{aspect-ratio:1}.portfolio-grid{grid-template-columns:1fr}section{padding:60px 0}.section-title{font-size:2.6rem}.case-heading{padding-top:130px}.case-layout{gap:1rem}.detail-card{padding:1.4rem}.footer{padding-top:45px}.hero .actions .button{width:auto;font-size:.68rem;padding:.8rem}.project-gallery figure{min-height:0}.project-gallery img{height:auto}.project-gallery figcaption{position:static}.case-art{min-width:0}}

/* Contacto editorial */
.contact-hero{position:relative;display:flex;align-items:flex-end;min-height:88svh;padding:170px 0 90px;overflow:hidden;background:#07080c}
.contact-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,8,12,.98) 0%,rgba(7,8,12,.82) 42%,rgba(7,8,12,.18) 78%),linear-gradient(0deg,rgba(7,8,12,.92) 0%,transparent 48%)}
.contact-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.75) contrast(1.12)}
.contact-hero-copy{position:relative;z-index:1;width:100%}
.contact-hero h1{max-width:880px;font-size:clamp(3.4rem,8vw,8rem);line-height:.91;letter-spacing:-.065em;text-transform:none}
.contact-hero .lead{max-width:660px;margin:2rem 0;color:var(--warm);font-size:clamp(1rem,1.6vw,1.25rem)}
.contact-hero .actions{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}
.contact-hero-mail{color:var(--warm);text-decoration:underline;text-underline-offset:6px;overflow-wrap:anywhere}
.contact-hero-mail:hover{color:var(--gold)}
.contact-hub{background:var(--warm);color:var(--black)}
.contact-hub-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:clamp(2rem,7vw,7rem);align-items:start}
.contact-primary h2{max-width:780px;margin:.8rem 0 1.5rem;font-size:clamp(2.5rem,5vw,5rem);line-height:.98;letter-spacing:-.05em}
.contact-primary p{max-width:660px;margin:0 0 2rem;color:#424242;font-size:1.05rem}
.contact-note{padding:2.2rem;border-top:3px solid var(--gold);background:var(--navy);color:var(--warm)}
.contact-note h3{margin:.8rem 0 1rem;font-size:clamp(1.7rem,3vw,2.5rem);line-height:1.08}
.contact-note p{color:var(--gray)}
.platforms-section{background:#0b0c12}
.platform-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.platform-card{display:flex;min-height:390px;padding:2rem;flex-direction:column;border:1px solid var(--line);background:linear-gradient(155deg,rgba(244,185,66,.06),transparent 48%);transition:transform .25s ease,border-color .25s ease,background .25s ease}
.platform-card:hover{transform:translateY(-6px);border-color:var(--gold);background:linear-gradient(155deg,rgba(244,185,66,.12),transparent 58%)}
.platform-number{color:var(--gold);font-size:.78rem;letter-spacing:.16em}
.platform-card>div{margin:auto 0 1rem}
.platform-name{display:block;margin-bottom:.5rem;color:var(--gray);font-size:.75rem;letter-spacing:.16em;text-transform:uppercase}
.platform-card strong{font-size:clamp(1.35rem,2.3vw,2.2rem);overflow-wrap:anywhere}
.platform-card p{max-width:290px;color:var(--gray)}
.platform-link{margin-top:auto;padding-top:1.5rem;border-top:1px solid var(--line);color:var(--gold);font-size:.82rem;letter-spacing:.08em;text-transform:uppercase}
.contact-cta{background:radial-gradient(circle at 85% 40%,rgba(244,185,66,.16),transparent 30%),var(--navy)}

/* Nosotros editorial */
.about-hero{padding-top:150px;padding-bottom:90px;overflow:hidden}
.about-hero-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);gap:clamp(2rem,6vw,7rem);align-items:center}
.about-hero h1{max-width:760px;font-size:clamp(3.4rem,6.7vw,7rem);line-height:.92;letter-spacing:-.065em;text-transform:none}
.about-hero .lead{max-width:610px;margin-top:2rem;font-size:clamp(1rem,1.5vw,1.2rem)}
.about-intro-link{display:inline-block;margin-top:2.2rem}
.about-hero-media{position:relative;min-height:650px}
.about-hero-media figure{position:absolute;margin:0;overflow:hidden;border:1px solid var(--line);background:#111}
.about-hero-media img{display:block;width:100%;height:100%;object-fit:cover}
.about-image-primary{inset:0 0 90px 14%;transform:rotate(2deg)}
.about-image-secondary{left:0;bottom:0;width:42%;height:48%;transform:rotate(-4deg);box-shadow:0 20px 60px rgba(0,0,0,.55)}
.about-image-secondary img{object-fit:contain;background:#05060a}
.about-stamp{position:absolute;right:-1rem;bottom:1rem;padding:.8rem 1.1rem;background:var(--gold);color:var(--black);font-size:.68rem;font-weight:800;letter-spacing:.12em;transform:rotate(-2deg)}
.about-manifesto{background:var(--gold);color:var(--black)}
.about-manifesto-grid{display:grid;grid-template-columns:minmax(180px,.45fr) minmax(0,1.55fr);gap:4rem;align-items:start}
.about-manifesto .kicker{color:var(--black)}
.about-manifesto h2{max-width:1000px;margin:0 0 1.5rem;font-size:clamp(3rem,6.5vw,6.8rem);line-height:.92;letter-spacing:-.06em}
.about-manifesto p{max-width:760px;margin:0;color:#282116;font-size:1.15rem}
.value-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.value-card{min-height:340px;padding:2.2rem;background:#0b0c12}
.value-card>span{color:var(--gold);font-size:.78rem;letter-spacing:.14em}
.value-card h3{margin:5rem 0 1rem;font-size:clamp(2rem,3vw,3rem)}
.value-card p{color:var(--gray)}
.about-feature{position:relative;display:flex;align-items:flex-end;min-height:78svh;padding:100px 0;overflow:hidden}
.about-feature>img,.about-feature-overlay{position:absolute;inset:0;width:100%;height:100%}
.about-feature>img{object-fit:cover;filter:saturate(.68) contrast(1.12)}
.about-feature-overlay{background:linear-gradient(90deg,rgba(7,8,12,.95),rgba(7,8,12,.5) 55%,rgba(7,8,12,.12)),linear-gradient(0deg,rgba(7,8,12,.8),transparent)}
.about-feature-copy{position:relative;z-index:1}
.about-feature-copy h2{max-width:760px;margin:.8rem 0 1.5rem;font-size:clamp(3rem,6vw,6.5rem);line-height:.92;letter-spacing:-.055em}
.about-feature-copy p{max-width:570px;margin:0 0 2rem;color:var(--warm);font-size:1.05rem}
.about-process-link{background:var(--warm);color:var(--black)}
.about-process-inner{display:flex;justify-content:space-between;gap:3rem;align-items:end}
.about-process-inner h2{max-width:820px;margin:.7rem 0 0;font-size:clamp(2.5rem,5vw,5.2rem);line-height:.98;letter-spacing:-.05em}
.about-process-inner .button-outline{border-color:var(--black);color:var(--black);white-space:nowrap}
.about-process-inner .button-outline:hover{background:var(--black);color:var(--gold)}
.footer-brand img{width:180px;height:auto}

@media(max-width:900px){
  .contact-hero{min-height:78svh}.contact-hub-grid,.about-hero-grid,.about-manifesto-grid{grid-template-columns:1fr}.platform-grid,.value-grid{grid-template-columns:1fr}.platform-card{min-height:300px}.about-hero-media{min-height:560px;max-width:620px;width:100%;margin:0 auto}.about-manifesto-grid{gap:2rem}.value-card{min-height:260px}.value-card h3{margin-top:3rem}.about-process-inner{align-items:flex-start;flex-direction:column}
}
@media(max-width:580px){
  .contact-hero{min-height:82svh;padding:135px 0 60px}.contact-hero::after{background:linear-gradient(0deg,rgba(7,8,12,.97) 0%,rgba(7,8,12,.68) 70%,rgba(7,8,12,.4))}.contact-hero-image{object-position:62% center}.contact-hero h1{font-size:3.65rem}.contact-hub-grid{gap:3rem}.contact-note{padding:1.5rem}.platform-card{min-height:270px;padding:1.5rem}.about-hero{padding-top:125px}.about-hero h1{font-size:3.65rem}.about-hero-media{min-height:430px}.about-image-primary{inset:0 0 65px 8%}.about-image-secondary{width:48%;height:43%}.about-stamp{right:0;font-size:.57rem}.about-manifesto h2,.about-feature-copy h2{font-size:3.2rem}.about-feature{min-height:72svh}.about-process-inner h2{font-size:3rem}
}
