
:root { --blanco: #fff; --negro: #000; --curva: cubic-bezier(.22, 1, .36, 1); --mono: 'IBM Plex Mono', ui-monospace, monospace; }
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { font-size: 1vw; scrollbar-width: none; -webkit-text-size-adjust: 100%; }
@media (max-width: 991px) { html { font-size: 16px; } }
html::-webkit-scrollbar, body::-webkit-scrollbar { display: none; }
html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
.lenis.lenis-stopped { overflow: clip; }
.lenis.lenis-smooth iframe { pointer-events: none; }
body {
  background: var(--blanco); color: var(--negro);
  font-family: 'Inter Tight', Arial, sans-serif; font-size: 14px; font-weight: 500; line-height: 1.1;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; overflow-x: clip; letter-spacing: -.009em;
}
img, svg, video, canvas { display: block; max-width: 100%; }
img { height: auto; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; background: none; border: 0; cursor: pointer; }
h1, h2, h3, p { margin: 0; letter-spacing: -.019em; }
h1 { font-size: 5rem; font-weight: 500; line-height: 1; }
h2 { font-size: 3.75rem; font-weight: 500; line-height: 1; }
h3 { font-size: 2.5rem; font-weight: 500; line-height: 1; }
p { font-size: 1rem; font-weight: 400; line-height: 1.4; letter-spacing: -.009em; }
::selection { background: #121212; color: #fff; }
:focus-visible { outline: 2px solid #fff; outline-offset: 3px; box-shadow: 0 0 0 4px #000; }
.saltar { position: fixed; left: 1rem; top: -4rem; z-index: 2000; background: #fff; color: #000; padding: .6rem 1rem; border-radius: 6px; font-size: 14px; transition: top .2s; }
.saltar:focus { top: 1rem; }
.solo-lector { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }


.js [data-line], .js [data-opacity] { opacity: 0; }
.js [data-scale] { transform: scale(0); }
.line-child { padding-bottom: .15em; }
.line-mask-child-mask, .lm { margin-bottom: -.15em; }

.container { position: relative; z-index: 1; width: 100%; margin: 0 auto; padding: 1rem 1.25rem 1.625rem; }
.section { position: relative; }
.espacio-24 { width: 100%; padding-top: 1.5rem; }
.espacio-65 { padding-top: 4.0625rem; }
.espacio-87 { padding-top: 5.4375rem; }
.espacio-150 { padding-top: 9.375rem; }


.btn {
  display: inline-flex; align-items: center; justify-content: flex-start; gap: .875rem; position: relative;
  padding: 1rem 2.25rem 1rem 1.25rem; background: var(--negro); color: var(--blanco); white-space: nowrap;
  letter-spacing: .08em; text-transform: uppercase; line-height: 1; font-weight: 500;
  border: 1px solid #ffffff66; border-radius: 6.25rem; transition: border-color .4s; overflow: visible;
}
.btn:hover { border-color: #fff; }
.btn.blanco { background: var(--blanco); color: var(--negro); border-color: var(--negro); }
.btn__texto { font-size: .75rem; font-weight: 500; line-height: 1.4; }
.btn .flecha-w { position: relative; display: flex; align-items: center; justify-content: flex-start; }
.btn .flecha { position: absolute; display: flex; align-items: center; }
.btn .linea-flecha { width: .82rem; height: 1px; margin-top: .1px; margin-right: -.2px; background: currentColor; }
.btn .punta-flecha { position: absolute; right: 0; width: .4rem; height: .4rem; border: solid currentColor; border-width: 1px 1px 0 0; transform: rotate(45deg); }
.btn.arroba .arroba-signo { font-size: .75rem; font-weight: 500; margin-left: 0; }
.btn-todo {
  display: inline-flex; align-items: center; gap: .5rem; padding: 0; background: transparent; color: var(--blanco);
  font-size: 2.5rem; letter-spacing: -.02em; font-weight: 500; line-height: 1;
}
.btn-todo .icono { display: flex; align-items: center; justify-content: center; width: 1.5rem; }
.btn-todo svg { overflow: visible; width: 1.667rem; height: .833rem; transform-origin: 0 50%; }
.enlace { position: relative; letter-spacing: .03em; text-transform: uppercase; font-size: .75rem; font-weight: 700; line-height: 1; display: inline-block; }
.enlace.inerte { pointer-events: none; }
.enlace.solo-tablet { display: none; }
.enlace .subrayado { position: absolute; bottom: -3px; left: 0; width: 0; height: 1px; background: currentColor; pointer-events: none; }
.enlace.pie { letter-spacing: -.009em; text-transform: none; font-size: 1.5625rem; font-weight: 500; margin-bottom: 6px; display: block; width: max-content; }
.enlace-mono { font-family: var(--mono); font-weight: 500; letter-spacing: .03em; text-transform: uppercase; font-size: .75rem; }


.nav {
  position: fixed; inset: 0 0 auto 0; z-index: 1001; width: 100vw; height: 4rem; padding: 1.28125rem 1.25rem 0;
  display: flex; justify-content: space-between; align-items: center; color: #000; pointer-events: none; transition: color .3s;
}
.nav.oscuro { color: #fff; }
.nav-logo-wrap { pointer-events: auto; min-width: 6.2rem; display: flex; align-items: center; height: 1.486rem; }
.nav-logo { height: 1.25rem; width: auto; fill: currentColor; overflow: visible; }
.menu-w { position: relative; pointer-events: auto; letter-spacing: .03em; text-transform: uppercase; font-size: .75rem; font-weight: 700; line-height: 1; }
.menu-btn { position: relative; display: flex; align-items: center; justify-content: flex-end; gap: .375rem; margin-bottom: .1rem; cursor: default; padding: 0; text-transform: inherit; letter-spacing: inherit; font-size: inherit; font-weight: inherit; line-height: inherit; }
.menu-btn-texto { display: block; }
.menu-svg { width: .375rem; height: .375rem; margin-right: -.75rem; position: relative; flex: none; transform-origin: 50% 50%; }
.menu-links-w { position: absolute; right: 0; top: 100%; display: flex; flex-flow: column; gap: .1rem; text-align: right; margin-left: -1.4rem; padding-top: .4rem; }
.link-menu { overflow: hidden; display: block; white-space: nowrap; }
.link-menu > span { display: block; }
.menu-w:not(.abierto) .menu-links-w { pointer-events: none; }
.menu-btn-movil { display: none; }
.menu-movil { display: none; }
.lado {
  transition: opacity .4s;
  position: fixed; left: 0; top: 50%; z-index: 90; transform: translateY(-50%); width: 2.4rem; min-width: 35px; height: 11.8rem; min-height: 170px;
  background: #fff; color: #000; display: flex; flex-direction: column; align-items: center; justify-content: space-between; padding: 12px 0 28px;
  border: 0; font-size: 14px; mix-blend-mode: normal;
}
.lado b { font-size: 21px; font-weight: 700; letter-spacing: -.04em; line-height: 1; }
.lado span { writing-mode: vertical-rl; transform: rotate(180deg); font-size: 12.6px; font-weight: 500; letter-spacing: 0; white-space: nowrap; }


.pregunta { position: fixed; right: 22px; bottom: 40px; z-index: 1000; }
.pregunta-btn {
  width: 66px; height: 66px; border-radius: 50%; background: #fff; color: #333; border: 1px solid #000;
  font-family: var(--mono); font-size: 10.8px; letter-spacing: .08em; text-transform: uppercase; line-height: 1.15; font-weight: 500;
  display: flex; align-items: center; justify-content: center; text-align: center; padding: 0 2px; transition: transform .4s var(--curva);
}
.pregunta-btn:hover { transform: scale(1.06); }
.pregunta-panel {
  position: absolute; right: 0; bottom: 78px; width: 300px; padding: 18px; background: #000; color: #fff; border-radius: 16px;
  border: 1px solid #ffffff55; visibility: hidden; opacity: 0; transform: translateY(8px) scale(.98); transform-origin: 100% 100%;
  transition: opacity .35s var(--curva), transform .35s var(--curva), visibility 0s .35s;
}
.pregunta.abierta .pregunta-panel { visibility: visible; opacity: 1; transform: none; transition-delay: 0s; }
.pregunta-panel .mono { font-family: var(--mono); font-size: 10.8px; letter-spacing: .08em; text-transform: uppercase; color: #8e8e8e; }
.pregunta-panel p { font-size: 15px; line-height: 1.3; color: #fff; margin: 10px 0 14px; }
.pregunta-panel textarea { width: 100%; height: 76px; resize: none; background: transparent; color: #fff; border: 1px solid #ffffff55; border-radius: 10px; padding: 10px 12px; font: inherit; font-size: 14px; font-weight: 400; }
.pregunta-panel textarea::placeholder { color: #ffffff88; }
.pregunta-panel .envia { margin-top: 10px; width: 100%; padding: 13px; border: 1px solid #fff; border-radius: 99px; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: #fff; transition: background .3s, color .3s; }
.pregunta-panel .envia:hover { background: #fff; color: #000; }
.pregunta-panel .gracias { display: none; font-size: 15px; line-height: 1.3; }
.pregunta.enviada .pregunta-form { display: none; }
.pregunta.enviada .gracias { display: block; }


.aviso { position: fixed; left: 50%; bottom: 28px; z-index: 3000; transform: translate(-50%, 24px); background: #fff; color: #000; padding: .75rem 1.1rem; border-radius: 99px; font-size: 14px; font-weight: 500; opacity: 0; pointer-events: none; transition: opacity .35s, transform .35s var(--curva); box-shadow: 0 0 0 1px #00000022; }
.aviso.visible { opacity: 1; transform: translate(-50%, 0); }


.loader { position: fixed; inset: 0; z-index: 1003; width: 100%; height: 100vh; background: var(--negro); color: #fff; display: none; overflow: hidden; }
.js .loader { display: block; }
.loader.fuera { display: none; }
.loader-c { width: 100%; height: 100%; padding: 1.875rem; display: flex; flex-flow: column; justify-content: space-between; align-items: center; letter-spacing: .05em; text-transform: uppercase; font-size: 1rem; font-weight: 700; line-height: 1; }
.fake-top-loader { opacity: 0; }
.loader-anim { display: flex; justify-content: center; align-items: flex-start; height: 7.6rem; }
.loader-anim .n-envoltura { overflow: hidden; display: flex; }
.n-load { width: 6.25rem; margin-right: -.3125rem; opacity: 0; fill: #fff; }
.a-load { width: 6.25rem; margin-left: -.3125rem; fill: #fff; transform: scale(0); }
.loader-img-w { position: relative; display: flex; justify-content: center; align-items: center; width: 1rem; height: 20rem; margin-top: -25%; pointer-events: none; }
.loader-img { position: absolute; width: 20rem; max-width: none; height: 20rem; object-fit: contain; opacity: 0; inset: 0; }
.loader-nbr-w { position: relative; z-index: 99; opacity: 0; visibility: hidden; font-variant-numeric: tabular-nums; }


.section-w { position: relative; width: 100%; height: 300vh; margin-top: -100vh; display: flex; justify-content: center; align-items: center; background: var(--blanco); overflow: hidden; }
.section-w.fluido { background: var(--negro); }
.hero-video { filter: brightness(.86) contrast(1.06); position: absolute; top: 50%; left: 0; width: 100%; height: auto; transform: translateY(-50%); z-index: 0; opacity: 0; }
.section-w.fluido .hero-video { opacity: 1; }
.mask-reveal-canvas { position: absolute; inset: 0; width: 100%; height: 100%; display: block; pointer-events: none; z-index: 1; }
.section-fake-hero {
  position: absolute; z-index: 2; top: 100vh; left: 0; width: 100%; height: 100vh; padding: 1rem 1.25rem;
  display: flex; flex-flow: column; justify-content: space-between; align-items: flex-start; color: #fff; mix-blend-mode: difference;
}
.section-fake-hero .btn { }
.section-fake-hero > div { width: 100%; }
.p-l { font-size: 1.5625rem; line-height: 1; }
.link-hero-bottom-w { position: relative; display: flex; justify-content: space-between; align-items: center; width: 100%; }
.hero-titulo { font-size: .875rem; letter-spacing: -.02em; font-weight: 500; line-height: 1; }
.link-hero-lang-w { display: flex; align-items: center; gap: 1.375rem; }
.link-hero-w { display: flex; align-items: center; gap: .875rem; }
.link-lang { background: var(--blanco); color: var(--negro); letter-spacing: .03em; text-transform: uppercase; border-radius: 4px; padding: .25rem; font-size: .75rem; font-weight: 700; line-height: 1; }
.hero-home { position: relative; z-index: 2; width: 100%; height: 100vh; background: var(--blanco); }
.hero-home.transparente { background: transparent; }
.hero-home .container { display: flex; flex-flow: column; justify-content: center; align-items: center; height: 100%; }
.nothin-hero-w { width: 100%; overflow: hidden; }
.nothin-hero-svg { width: 100%; height: auto; fill: #000; overflow: visible; }
.solo-escritorio { }
.solo-movil { display: none !important; }


.showreel { margin-top: -100vh; }
.showreel .container { padding-bottom: 5.3125rem; }
.h1-home { font-size: 5rem; line-height: 1; letter-spacing: -.02em; font-weight: 500; text-wrap: balance; }
.video-showreel-w { display: flex; justify-content: flex-end; align-items: flex-end; width: 100%; height: 58rem; min-height: 58rem; }
.video-showreel-full-w { position: relative; display: flex; justify-content: flex-end; align-self: flex-end; align-items: flex-end; width: 100%; height: 100%; border-radius: .25rem; overflow: hidden; background: #d9d1ee; }
.showreel-light { position: absolute; z-index: 1; inset: 0; width: 100%; height: 100%; object-fit: cover; padding: 0; }
.video-showreel-flip { position: absolute; left: 0; display: flex; gap: 6.25rem; padding: 0 1.25rem 1.625rem; font-size: 1.125rem; font-weight: 500; line-height: 1.2; white-space: normal; }
.text-block-2 { max-width: 21.625rem; }


.works { background: var(--negro); color: var(--blanco); }
.works .container { height: 100%; }
.works-word-w { position: sticky; top: 3rem; z-index: 10; display: flex; justify-content: space-between; align-items: center; height: 3rem; text-shadow: 0 0 .9rem rgba(0,0,0,.45); }
.div-block-2 { display: flex; justify-content: flex-start; align-items: center; }
.works-word-block-state1 { display: inline-block; }
.works-word { display: inline-block; font-size: 1.875rem; font-weight: 700; letter-spacing: -.03em; text-transform: uppercase; line-height: 1.1; will-change: transform; }
.titile-section-work { display: flex; justify-content: flex-end; align-items: center; padding-right: 3.125rem; }
.h3-style { font-size: 2.5rem; letter-spacing: -.02em; line-height: 1.1; }
.titile-section-work .h3-style { font-size: 2.5rem; }
.work_list { display: grid; grid-template-columns: repeat(12, 1fr); column-gap: 1rem; row-gap: 14.375rem; }
.work_item { position: relative; }
.title-work { margin-bottom: 1rem; color: #8e8e8e; font-family: var(--mono); font-size: .75rem; font-weight: 500; letter-spacing: .03em; text-transform: uppercase; line-height: 1; }
.short-p-work { margin-bottom: 1.25rem; font-size: 1.5625rem; font-weight: 500; line-height: 1; letter-spacing: -.02em; }
.work-link { position: relative; display: inline-block; width: 100%; max-width: 100%; overflow: hidden; vertical-align: baseline; }
.img-work-w { position: relative; border-radius: .25rem; overflow: hidden; background: #111; }
.img-work { position: absolute; left: 0; top: 0; width: 100%; height: 126%; object-fit: cover; border-radius: .25rem; will-change: transform; }
.cursor-work {
  position: absolute; left: 0; top: 0; z-index: 10; display: inline-flex; align-items: center; gap: .375rem; padding: .125rem .75rem; white-space: nowrap;
  background: var(--negro); color: #fff; border-radius: 100px; font-family: var(--mono); font-size: 12px; letter-spacing: .03em; text-transform: uppercase; pointer-events: none;
}
.js .cursor-work { opacity: 0; visibility: hidden; transform: translate(-50%, -50%) scale(0); }
.work-view-all-w { display: flex; justify-content: space-between; align-items: flex-end; }
.nbr-works-w { font-size: 1.125rem; line-height: 1; }
.text-block-3 { text-align: right; min-width: 9.375rem; font-size: 1.125rem; }


.video { background: var(--negro); color: var(--blanco); }
.video .container { padding: 0; }
.musee-w { position: relative; display: flex; justify-content: center; align-items: center; width: 100vw; height: 100vh; overflow: hidden; background: #000; }
.musee-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transform: scale(1.8); filter: brightness(.5) contrast(1.12) saturate(.9); }
.musee-sombra { position: absolute; inset: 0; z-index: 0; pointer-events: none; background: linear-gradient(180deg, transparent 38%, rgba(0, 0, 0, .55) 74%, #000 100%), linear-gradient(90deg, rgba(0,0,0,.35), transparent 22%, transparent 78%, rgba(0,0,0,.35)); }
.video-w { position: relative; z-index: 1; width: 100vw; aspect-ratio: 16 / 9; transform: scale(.6); }
.video-sticky { position: relative; z-index: 1; display: block; width: 100%; height: 100%; object-fit: cover; padding: 0; background: #e8a3b6; }
.video-reflet { position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; opacity: .65; filter: blur(80px); transform: scale(1.12); }
.cadre-video { position: absolute; inset: 0; z-index: 2; pointer-events: none; transform: scale(1.01); border: 1.1rem solid #0a0a0b; box-shadow: inset 0 0 0 1px #2a2a2c, inset 0 0 3.5rem rgba(0, 0, 0, .25), 0 0 0 1px #17171a; }
.btn-sound {
  position: absolute; top: 0; margin-top: 1rem; z-index: 10; display: flex; justify-content: space-between; align-items: center; gap: .625rem; padding: .25rem .5rem .25rem .875rem;
  background: var(--negro); color: #fff; text-transform: uppercase; font-size: .75rem; font-weight: 500; border-radius: 100px; cursor: pointer;
}
.js .btn-sound { opacity: 0; pointer-events: none; }
.toggle-sound { position: relative; display: flex; align-items: center; justify-content: flex-start; width: 1.25rem; height: .5rem; padding: 1px; background: #fff; border-radius: 100px; }
.tick-sound { width: .375rem; height: .375rem; background: #000; border-radius: 50%; }


.info-img { background: var(--negro); color: var(--blanco); }
.section-separator-blur { position: absolute; inset: -10rem 0 auto; z-index: 1; width: 100%; height: 10rem; margin-top: 1px; background: linear-gradient(0deg, #000, transparent); pointer-events: none; }
.info-w { position: relative; display: grid; grid-template-columns: .75fr 1fr; padding: 0 0 1.625rem; font-size: 1.5625rem; line-height: 1.2; }
.info-w > .info-etiqueta { grid-column: 1; grid-row: 1; }
.info-w > .text-block-7 { grid-column: 2; grid-row: 1; max-width: 35rem; }
.info-w > .img-block-grid { grid-column: 1 / span 2; grid-row: 2; margin-top: 2.7rem; }
.img-block-grid { display: grid; grid-template-columns: .75fr 1fr; }
.img-block-left { margin-right: 8.125rem; place-self: end; }
.img-block-left-w { width: 13.5rem; height: 13.5rem; margin-bottom: 1.25rem; overflow: hidden; }
.image { display: block; width: 100%; height: 100%; object-fit: cover; }
.img-block-right-w { width: 43.125rem; height: 26.25rem; margin-bottom: 1.25rem; overflow: hidden; }
.text-block-4 { font-size: 1.125rem; font-weight: 400; line-height: 1.2; }
.infobusiness-grid { display: grid; grid-template-columns: 1fr 1fr; font-size: 1.125rem; font-weight: 400; line-height: 1.2; }
.infobusiness-grid .img-block-grid { grid-column: 1 / span 2; }
.info-grid-left { margin-right: 8.125rem; place-self: start end; }
.fake-img { width: 13.5rem; height: 0; overflow: hidden; }
.info-grid-right { overflow: hidden; }
.div-block-4 { display: grid; grid-template-columns: 1fr 1fr; }
.list { white-space: nowrap; padding-left: 0; list-style: none; }
.list-item { display: flex; align-items: center; justify-content: flex-start; gap: .75rem; }
.list-dot { width: .3rem; height: .3rem; background: var(--blanco); border-radius: 50%; flex: none; }
.formes-w { position: relative; min-height: 55rem; }
.formes-w img { position: absolute; user-select: none; -webkit-user-drag: none; will-change: transform; }
.papier { z-index: 5; width: 22rem; inset: 12% auto auto 30%; }
.chewing-gum { width: 8.875rem; inset: 20% 35% auto auto; }
.bonbon-copy { width: 6.2rem; inset: auto 34% 48% auto; transform: rotate(112deg); }
.etoile { z-index: 4; width: 12rem; inset: 2% auto auto 42%; }
.coeur-copy { width: 11rem; inset: -3% 28% auto auto; transform: rotate(-18deg); }
.letra-flota { position: absolute; font-weight: 700; line-height: 1; color: #fff; will-change: transform; z-index: 6; }
.letra-flota.l-n1 { font-size: 4rem; inset: 29% auto auto 24%; transform: rotate(14deg); }
.letra-flota.l-o { font-size: 4.4rem; inset: 6% auto auto 31%; transform: rotate(-20deg); }
.letra-flota.l-n2 { font-size: 3rem; inset: auto 29% 50% auto; transform: rotate(34deg); }
.letra-flota.l-a1 { font-size: 3.2rem; inset: 20% 31% auto auto; transform: rotate(8deg); }
.letra-flota.l-d { font-size: 3rem; inset: auto auto 50% 31%; transform: rotate(-12deg); }
.letra-flota.l-a2 { font-size: 3.4rem; inset: 64% auto auto 48%; transform: rotate(26deg); }
.marg-40 { margin-bottom: 3rem; }
.mono-titulo { margin-bottom: 1rem; color: #8e8e8e; font-family: var(--mono); font-size: .75rem; font-weight: 500; letter-spacing: .03em; text-transform: uppercase; line-height: 1.1; max-width: 100%; }
.team-lista { font-size: .875rem; line-height: 1.2; }
.info-grid-right.second .list-item { font-size: .875rem; }
.info-img .container { padding-bottom: 1.625rem; }


.glitch { position: relative; overflow: clip; background: var(--negro); color: var(--blanco); }
.glitch-img-w img { width: 100%; opacity: .8; display: block; filter: brightness(.42) contrast(1.12); }
.glitch-text-w { position: absolute; inset: 0; display: flex; justify-content: center; align-items: flex-start; width: 100%; }
.glitch-text-sticky-w { position: sticky; top: 0; width: 100vw; min-height: 100vh; display: grid; grid-template-columns: 1fr 1fr 1fr; grid-template-rows: auto auto; }
.div-block-5 { position: relative; display: block; }
.text-block-6 { font-family: 'Inter Tight', Arial, sans-serif; font-size: 1.125rem; font-weight: 400; line-height: 1; letter-spacing: -.009em; white-space: nowrap; }
.text-block-6.b1 { position: absolute; inset: 23% auto auto -18%; }
.text-block-6.b2 { position: absolute; inset: 40% auto auto 23%; }
.text-block-6.b3 { position: absolute; inset: auto 29% 23% auto; }
.text-block-6.b4 { position: absolute; inset: 6% 0% auto auto; }
.text-block-6.b6 { position: absolute; inset: 9% auto auto 36%; }
.div-block-5.nada { opacity: 0; }
.finaltext { position: absolute; top: 35%; left: 50%; transform: translate(-50%, -50%); font-size: 1.125rem; font-weight: 400; line-height: 1; letter-spacing: -.009em; white-space: nowrap; text-align: left; }
.js .finaltext span { opacity: 0; }
.img-glitch-w { position: absolute; inset: auto 0 0 0; z-index: 10; display: flex; justify-content: center; align-items: flex-end; gap: 9rem; background-image: linear-gradient(0deg, #000, transparent); }
.merguez { width: 28.25rem; height: 23.125rem; overflow: hidden; }
.ballon { width: 13.4375rem; height: 18.9375rem; overflow: hidden; }
.merguez-img, .ballon-img { width: 100%; height: 105%; object-fit: cover; display: block; }


.black { background: #000; color: #fff; }
.faq-fila { display: grid; grid-template-columns: repeat(12, 1fr); column-gap: 1rem; align-items: center; }
.faq-title-section { display: flex; justify-content: space-between; align-items: center; font-size: 1.25rem; font-weight: 700; line-height: 1.1; }
.faq-title-section.c1 { grid-area: 1 / 1 / 2 / 2; }
.faq-title-section.c2 { grid-area: 1 / 5 / 2 / 6; }
.faq-title-section.c3 { grid-area: 1 / 8 / 2 / 9; }
.faq-title-section.c4 { grid-area: 1 / 10 / 2 / 11; }
.faq-title-section.c5 { grid-area: 1 / 12 / 2 / 13; justify-self: end; }
.faq3_component { display: grid; grid-template-columns: repeat(12, 1fr); column-gap: 0; align-items: flex-start; margin-top: 5rem; }
.faq3_content-left { grid-area: span 1 / span 3 / span 1 / span 3; }
.faq3_content { grid-area: 1 / 5 / 2 / 13; display: flex; align-items: start; }
.p-m { font-size: 1.125rem; font-weight: 500; line-height: 1.2; white-space: normal; }
.faq3_list { width: 100%; list-style: none; }
.faq3_accordion { display: flex; flex-direction: column; align-items: stretch; overflow: visible; }
.faq3_question { display: flex; justify-content: space-between; align-items: center; gap: 1.5rem; padding: 0; width: 100%; text-align: left; cursor: pointer; }
.p-xl { font-size: 1.875rem; font-weight: 500; line-height: 1.2; letter-spacing: -.009em; }
.faq3_icon-wrapper { display: flex; width: .75rem; flex: none; }
.cross-faq { display: flex; justify-content: center; align-self: center; width: 100%; overflow: visible; }
.faq-separator-w { opacity: 0; display: flex; align-items: center; justify-content: flex-start; width: 100%; height: 2.1875rem; }
.faq-separator { width: 100%; height: .02rem; min-height: 1px; background: #ffffff80; }
.faq3_answer { position: relative; display: flex; flex-flow: column; gap: 1rem; max-width: 31.5rem; height: auto; margin-left: auto; padding: 0 3rem 0 0; font-size: .875rem; overflow: hidden; }
.faq3_answer p { font-size: .9rem; font-weight: 400; line-height: 1.4; }
.faq3_answer .mas { align-self: flex-end; font-size: 1rem; font-weight: 500; text-decoration: underline; }
.spacing-faq { height: 4.375rem; }


.section-footer { position: relative; display: flex; justify-content: flex-start; align-items: flex-end; min-height: 100vh; background: #000; color: #fff; }
.section-footer .container { padding-bottom: 1rem; }
.div-block-7 { display: grid; grid-template-columns: repeat(12, 1fr); column-gap: 1rem; align-items: start; }
.div-block-6 { display: flex; align-items: center; justify-content: flex-start; gap: .75rem; }
.div-block-7 .botones { grid-column: 1 / span 6; }
.div-block-7 .sociales { grid-column: 9 / span 4; width: 19.3rem; justify-self: end; }
.social-links-w { display: flex; flex-flow: column; justify-content: flex-start; align-items: flex-start; }
.footer-svg-w { width: 100%; overflow: hidden; }
.footer-nothin-svg { width: 100%; height: auto; fill: #fff; overflow: visible; }
.footer-svg-w path { will-change: transform; }
.footer-info-w { display: flex; justify-content: space-between; align-items: center; gap: 2rem; }
.footer-info { font-size: .875rem; font-weight: 400; line-height: 1.2; letter-spacing: -.009em; }
.footer-info a { text-decoration: underline; text-underline-offset: 2px; }
.lang-footer { display: flex; align-items: center; justify-content: flex-start; gap: 6rem; }
.footer-link-new { display: flex; align-items: center; justify-content: flex-start; gap: 1rem; }
.footer-izq { display: flex; gap: 1.5rem; align-items: center; }


@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .loader { display: none !important; }
  .js [data-line], .js [data-opacity] { opacity: 1; }
  .js [data-scale] { transform: none; }
  .js .btn-sound { opacity: 1; pointer-events: auto; }
  .js .finaltext span { opacity: 1; }
  .btn, .pregunta-btn, .enlace .subrayado { transition: none; }
}


@media (max-width: 991px) {
  .solo-escritorio { display: none !important; }
  .solo-movil { display: block !important; }
  .nav { height: auto; padding-top: 1rem; }
  .menu-links-w { display: none; }
  .menu-w { display: flex; justify-content: space-between; align-items: center; width: 100%; position: static; }
  .menu-btn { justify-content: space-between; align-items: center; width: 100%; padding-right: 0; margin-bottom: 0; cursor: pointer; }
  .menu-svg { width: .75rem; height: .7rem; margin-right: 0; position: relative; }
  .menu-btn-texto { margin-left: -6.2rem; opacity: 0; pointer-events: none; }
  .menu-movil { position: fixed; inset: 0; z-index: 90; width: 100%; height: 100svh; padding: 1rem; background: #fff; color: #000; display: none; flex-flow: column; justify-content: space-between; align-items: center; }
  .menu-movil .div-b10 { display: flex; flex-flow: column; gap: 8.125rem; }
  .menu-movil .link-mob-w { display: flex; flex-flow: column; text-align: center; padding-top: 3rem; }
  .link-mob { font-size: 1.875rem; font-weight: 700; letter-spacing: .03em; text-transform: uppercase; line-height: 1.15; }
  .menu-movil .link-btn-menu { display: flex; flex-flow: column; gap: 1rem; padding-bottom: 1.5rem; }
  .menu-movil .btn { justify-content: space-between; align-self: center; }
  .menu-movil .btn.blanco { border-style: none; border-width: 0; background: #000; color: #fff; }
  .lado { display: none; }
  .loader { height: 100svh; }
  .loader-img-w { width: 1rem; height: 10rem; }
  .loader-img { width: 10rem; height: 10rem; }
  .n-load { width: 3rem; margin-right: 0; }
  .a-load { width: 3.3rem; }
  .section-w { height: 100svh; margin-top: 0; }
  .section-fake-hero { top: 0; height: 100svh; margin-top: 0; padding-left: 1rem; padding-right: 1rem; }
  .hero-home { height: 100svh; }
  .hero-video { top: 0; transform: none; height: 100%; object-fit: cover; }
  .p-l { font-size: 1.25rem; }
  .enlace.oculta-tablet { display: none; }
  .enlace.solo-tablet { display: inline-block; }
  .showreel { margin-top: 0; }
  .espacio-150.mob-100, .espacio-150.mob-50 { padding-top: 6.25rem; }
  .h1-home { font-size: 2.5rem; }
  .showreel-light { position: relative; height: auto; aspect-ratio: 16 / 9; }
  .video-showreel-w { flex-flow: column; justify-content: flex-start; align-items: flex-start; gap: 2.375rem; height: auto; min-height: 0; }
  .video-showreel-full-w { align-self: auto; height: auto; }
  .video-showreel-flip { position: relative; left: auto; padding: 0; }
  .works-word { font-size: .625rem; }
  .works-word-w { height: auto; }
  .div-block-2 { justify-content: space-between; align-items: center; width: 100%; }
  .titile-section-work { justify-content: flex-start; margin-bottom: 5rem; padding-right: 0; }
  .h3-style, .titile-section-work .h3-style { font-size: 1.5625rem; }
  .work_list { column-gap: 3.25rem; row-gap: 3.25rem; grid-template-columns: 1fr; }
  .short-p-work { font-size: 1.25rem; }
  .text-block-3 { display: none; }
  .img-work { height: 100%; }
  .musee-bg { transform: none; }
  .musee-w { height: 80vh; }
  .img-block-right-w { width: 100%; }
  .img-block-grid { margin-bottom: 5.625rem; }
  .formes-w { min-height: 40rem; }
  .etoile { width: 18rem; left: 28%; }
  .coeur-copy { right: 13%; }
  .bonbon-copy { width: 5rem; }
  .merguez { width: 20rem; height: 14rem; }
  .ballon { width: 9rem; height: 15rem; }
  .text-block-7 { max-width: none; }
  .info-w { font-size: 1.25rem; }
  .p-xl { font-size: 1.5rem; }
  .faq-fila { column-gap: 0; }
  .faq3_answer { max-width: 25rem; padding-right: 0; }
  .faq3_component { display: flex; flex-flow: column; gap: 2rem; }
  .faq3_content { width: 100%; }
  .faq-separator-w { height: 1rem; }
  .div-block-7 { display: flex; justify-content: space-between; align-items: flex-start; }
  .footer-info-w { justify-content: center; align-items: center; }
}
@media (max-width: 767px) {
  .loader-img-w { }
  .musee-w { height: 60vh; }
  .info-w { display: flex; flex-flow: column; padding-left: 0; padding-right: 0; }
  .info-w > .info-etiqueta, .info-w > .text-block-7 { grid-area: auto; }
  .info-w > .img-block-grid { margin-top: 0; }
  .img-block-left { margin-right: 0; }
  .img-block-right-w { order: -9999; margin-bottom: 2.5rem; }
  .img-block-grid { display: flex; flex-flow: column; }
  .infobusiness-grid .img-block-grid { margin-bottom: 0; }
  .text-block-6 { font-size: .75rem; }
  .glitch-img-w img { object-fit: cover; height: 100%; }
  .glitch-img-w { height: 100vh; }
  .ballon { height: 12rem; }
  .div-block-7 { display: grid; grid-template-columns: 1fr; gap: 1rem; }
  .footer-info-w { flex-flow: column; gap: 0; }
  .video-reflet { filter: blur(20px); margin-top: 2rem; }
  .text-block-7 { margin-top: 2.5rem; }
  .p-xl { font-size: 1.25rem; }
  .faq3_question { padding: 1rem 0; }
  .faq3_content { }
  .info-grid-right.second { width: 100%; }
}
@media (max-width: 479px) {
  .container.footer-c { padding-bottom: 1.5rem; }
  .video-showreel-w { height: auto; min-height: 0; }
  .video-showreel-flip { gap: 2.5rem; flex-flow: column; }
  .mono-titulo { max-width: 8rem; text-wrap: balance; }
  .video-w { transform: scale(.7); }
  .musee-w { height: 50vh; }
  .div-block-4 { grid-template-columns: 1fr 1fr; }
  .fake-img { display: none; }
  .formes-w { pointer-events: none; min-height: 40rem; }
  .chewing-gum { top: 29%; right: 65%; }
  .etoile { left: 1%; }
  .coeur-copy { top: -6%; right: -6%; }
  .bonbon-copy { bottom: 45%; right: 17%; }
  .finaltext { top: 45%; }
  .img-glitch-w { flex-flow: column; justify-content: flex-end; align-items: flex-end; padding: 0 1.25rem; }
  .merguez { align-self: flex-start; width: 12rem; height: 8rem; margin-bottom: -14.4rem; }
  .ballon { width: 7rem; height: 9rem; margin-bottom: 1.8rem; }
  .div-block-6 { flex-flow: column; justify-content: flex-start; align-items: center; }
  .div-block-7 { gap: 3.75rem; }
  .footer-info { text-wrap: balance; }
  .footer-info-w { gap: .5rem; text-align: center; }
  .video-reflet { filter: blur(10px); margin-top: 1rem; }
  .menu-svg { z-index: 10; }
  .faq3_question { text-wrap: balance; }
  .faq-title-section { font-size: 1.25rem; }
  .link-lang.mob { background: #000; color: #fff; }
}


@media (min-width: 992px) {
  .work_item:nth-child(1) { grid-column: 1 / 7; grid-row: 1; }
  .work_item:nth-child(2) { grid-column: 9 / 13; grid-row: 1; align-self: end; }
  .work_item:nth-child(3) { grid-column: 3 / 11; grid-row: 2; }
  .work_item:nth-child(4) { grid-column: 1 / 5; grid-row: 3; align-self: end; }
  .work_item:nth-child(5) { grid-column: 7 / 13; grid-row: 3; }
  .work_item:nth-child(1) .img-work-w, .work_item:nth-child(5) .img-work-w { height: 43.125rem; }
  .work_item:nth-child(2) .img-work-w, .work_item:nth-child(4) .img-work-w { height: 26.875rem; }
  .work_item:nth-child(3) .img-work-w { height: 42.25rem; }
}
@media (max-width: 991px) {
  .work_list { grid-template-columns: repeat(6, 1fr); grid-auto-flow: row dense; align-items: start; }
  .work_item { display: flex; flex-direction: column; grid-column: 1 / 7; }
  .work_item:nth-child(3n+1) .img-work-w { width: 100%; aspect-ratio: 1 / 1; }
  .work_item:nth-child(3n+2) { grid-column: 3 / 7; }
  .work_item:nth-child(6n+5) { grid-column: 1 / 5; }
  .work_item:nth-child(3n+2) .img-work-w { width: 100%; aspect-ratio: 253 / 241; }
  .work_item:nth-child(3n) .img-work-w { width: 100%; aspect-ratio: 343 / 550; }
  .img-work { height: 100%; }
}
.visually-hidden { }
.sin-mov .menu-links-w .link-menu > span { transform: none; }
.sin-mov .menu-w:not(:hover):not(:focus-within) .menu-links-w { visibility: hidden; }

.info-img { overflow-x: clip; }
.glitch { overflow: clip; }
.pregunta-panel { max-width: calc(100vw - 44px); }

@media (max-width: 991px) { .div-block-7 .botones, .div-block-7 .sociales { grid-column: auto; } }

.lado.oculto { opacity: 0; }

@media (max-width: 991px) {
  .papier { width: 14rem; inset: 14% auto auto 22%; }
  .etoile { width: 8rem; inset: 4% auto auto 46%; }
  .chewing-gum { width: 6rem; inset: 26% 10% auto auto; }
  .bonbon-copy { width: 4.2rem; inset: auto 30% 44% auto; }
  .coeur-copy { width: 8rem; inset: -2% 6% auto auto; }
  .letra-flota.l-n1 { font-size: 2.6rem; } .letra-flota.l-o { font-size: 3rem; } .letra-flota.l-n2 { font-size: 2.2rem; } .letra-flota.l-a1 { font-size: 2.4rem; } .letra-flota.l-d { font-size: 2.2rem; } .letra-flota.l-a2 { font-size: 2.4rem; }
}
@media (max-width: 767px) {
  .footer-izq { flex-flow: column; align-items: center; gap: .5rem; }
  .footer-link-new { justify-content: center; }
  .div-block-7 .sociales { justify-self: end; width: auto; }
  .footer-izq { width: 100%; }
  .footer-info { width: 100%; text-align: center; }
  .img-block-grid { gap: 0; }
  .img-block-grid.p-s { gap: 2.5rem; }
}

.sin-mov .nav-l { display: none; }
video::-webkit-media-controls, video::-webkit-media-controls-enclosure, video::-webkit-media-controls-panel { display: none !important; }
