

:root {
  --papel: #FBFBF7;
  --tinta: #000;
  --gris: #94918d;
  --serif: 'EB Garamond', 'Cormorant Garamond', Georgia, serif;
  --mono: 'Cutive Mono', 'Courier Prime', 'Courier New', monospace;
  --humana: 'Cabin', 'Gill Sans', 'Trebuchet MS', sans-serif;
  --marca: 'Cinzel', 'Trajan Pro', Georgia, serif;
  --ease: cubic-bezier(.25, .1, .25, 1);
  --t26: clamp(19.4px, calc(19.4px + 4.6 * (100vw - 393px) / 1047), 24px);
  --t16: clamp(14px, calc(14px + 2 * (100vw - 393px) / 1047), 16px);
  --t14: clamp(11px, calc(11px + 3 * (100vw - 393px) / 1047), 14px);
  --t12: clamp(10px, calc(10px + 2 * (100vw - 393px) / 1047), 12px);
  --pad: .846rem;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-font-smoothing: antialiased; -webkit-text-size-adjust: 100%; }
body {
  margin: 0; background: var(--papel); color: var(--tinta);
  font-family: var(--serif); font-size: var(--t26); line-height: 1; text-rendering: optimizeLegibility;
}
img, video, picture { display: block; width: 100%; height: auto; }
svg { display: block; overflow: visible; }
p, ul { margin: 0 0 .913em; padding: 0; }
p:last-child, ul:last-child { margin-bottom: 0; }
h1, h2, h3 { margin: 0; font: inherit; }
ul { list-style: none; }
button { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; text-align: inherit; }
.sr-only { position: absolute; top: 0; left: 0; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.salto { position: fixed; left: 8px; top: -60px; z-index: 100; background: #000; color: #fff; padding: 8px 12px; font: 12px var(--mono); }
.salto:focus { top: 8px; }


a { position: relative; color: inherit; text-decoration: none; white-space: nowrap; }
a::after { content: ""; display: block; position: absolute; width: 100%; height: 1px; bottom: .2em; left: 0; background-color: currentColor; transition: width .6s var(--ease); }
a:hover::after { width: 0; }
a.sin-raya::after, .fade-link a::after, .menu a::after, .site-header a::after, .site-footer .logo-column a::after { display: none; }
.fade-link a { transition: opacity .6s var(--ease); }
.fade-link a:hover { opacity: .5; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, [tabindex]:focus-visible { outline: 1px solid currentColor; outline-offset: 3px; }


.t14, .t12, .t10, .mono { font-family: var(--mono); }
.t14 { font-size: var(--t14); line-height: 1.5em; letter-spacing: 5px; }
.t12 { font-size: var(--t12); line-height: 1.25em; }
.t12.espaciado { letter-spacing: 2.53px; }
.humana16 { font-family: var(--humana); font-size: var(--t16); line-height: 1.125em; letter-spacing: .6px; }
.humana12 { font-family: var(--humana); font-size: var(--t12); line-height: 1.5em; letter-spacing: .6px; text-transform: uppercase; }
.versales { text-transform: uppercase; }
.centrado { text-align: center; }
.mobile { display: none; }


.flex-between { display: flex; justify-content: space-between; }
.flex-center { align-items: center; }
.ml-22 { margin-left: var(--pad); position: relative; } .mr-22 { margin-right: var(--pad); }
.pl-22 { padding-left: var(--pad); } .pr-22 { padding-right: var(--pad); } .ph-22 { padding-left: var(--pad); padding-right: var(--pad); }
.c3 { width: 7.622%; } .c4 { width: 10.508%; } .c8 { width: 22.052%; } .c9 { width: 24.938%; } .c10 { width: 27.824%; } .c11 { width: 30.71%; } .c12 { width: 33.596%; }
.c13 { width: 36.482%; } .c14 { width: 39.368%; } .c15 { width: 42.254%; } .c16 { width: 45.14%; } .c17 { width: 48.026%; } .c18 { width: 50.912%; }
.c19 { width: 53.798%; } .c20 { width: 56.684%; } .c21 { width: 59.57%; } .c23 { width: 65.342%; } .c24 { width: 68.228%; } .c27 { width: 76.886%; } .c35 { width: 99.974%; }


.out-of-view { transition: opacity .8s var(--ease) .4s; }
.js .out-of-view { opacity: 0; }
.js .out-of-view.in-view { opacity: 1; }
.fade-in, .word-split span { transition: opacity 1.6s var(--ease); }
.js .fade-in, .js .word-split span { opacity: 0; }
.js .fade-in.visible, .js .word-split span.visible { opacity: 1; }
.cargando { background: #e8e5dd; }


.site-header {
  position: fixed; top: 0; left: 0; width: 100%; z-index: 10; padding: .923rem 0; color: #fff; mix-blend-mode: difference;
}
.p-home .site-header, .p-contacto .site-header { mix-blend-mode: normal; }
.menu-open, .menu-close { cursor: pointer; line-height: 1; z-index: 2; position: relative; display: block; }
.menu-open { transition: opacity .6s var(--ease); top: -3px; }
.menu-close { top: -3px; }
@media (min-width: 769px) { .menu-open:hover { font-style: italic; } }
.menu-open.hidden { opacity: 0; pointer-events: none; }
.menu-close { font-style: italic; display: none; position: absolute; left: 0; opacity: 0; visibility: hidden; transition: opacity .6s var(--ease), visibility 0s linear .6s; }
.menu-wrap {
  position: absolute; top: 0; z-index: 3; width: 9em;
  margin-top: -.923rem; margin-left: calc(var(--pad) * -1); padding: calc(.5rem + 25px + .923rem) 0 .923rem var(--pad);
  opacity: 0; visibility: hidden; transition: opacity .4s ease-in-out, visibility 0s linear .4s;
}
.abierto .menu-wrap { opacity: 1; visibility: visible; transition: opacity .4s ease-in-out, visibility 0s; }
.menu .a-fila, .menu li { position: relative; top: -3px; }
.menu-wrap a { color: #fff; display: inline-block; line-height: 24px; vertical-align: top; }
.menu-wrap a:hover { font-style: italic; }
.menu-wrap a[aria-current="page"] { font-style: italic; }
.menu li { display: block; }
.header-logo {
  position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); margin-top: -.12em; z-index: 2;
  color: #fff; opacity: 0; pointer-events: none; transition: opacity .15s linear;
}
.logo-on .header-logo { opacity: 1; pointer-events: auto; transition: opacity 1.2s linear; }
.p-home .header-logo { opacity: 1; pointer-events: none; }
.p-donde .header-logo { opacity: 1; pointer-events: auto; }
.marca { font-family: var(--marca); font-weight: 600; font-size: 14px; letter-spacing: .49em; padding-left: .49em; line-height: 1; white-space: nowrap; display: block; }
.header-logo a { position: absolute; inset: 0; z-index: 50; }
.portfolio-link { opacity: 0; pointer-events: none; z-index: 2; color: #fff; margin-right: var(--pad); transition: opacity .15s linear; line-height: 1; }
.logo-on .portfolio-link { opacity: 1; pointer-events: auto; transition: opacity 1.2s linear; }
.portfolio-link:hover { font-style: italic; }


.site-footer { display: flex; justify-content: space-between; align-items: flex-end; padding-bottom: .538rem; position: relative; }
.site-footer .f-izq { width: 30.71%; }
.site-footer .f-izq p { margin: 0; }
.site-footer .aviso { margin-top: .2em; }
.site-footer .logo-column { position: absolute; left: 50%; bottom: .538rem; transform: translateX(-50%); }
.logo-wrap { width: fit-content; margin: 0 auto; position: relative; }
.logo-wrap a { position: absolute; inset: 0; z-index: 50; }
.site-footer .f-der { width: 30.71%; display: flex; justify-content: flex-end; text-align: left; }
.logo-icon { width: 2.885rem; color: #000; }
.f-der p { margin: 0; }
.p-donde .site-footer, .p-contacto .site-footer { color: #fff; }
.p-donde .site-footer a, .p-contacto .site-footer a { color: #fff; }
.p-donde .logo-icon, .p-contacto .logo-icon { color: #fff; }


.play-film { display: flex; align-items: center; column-gap: .5rem; cursor: pointer; transition: opacity .6s var(--ease); white-space: nowrap; }
.play-film:hover { opacity: .5; }
.play-film svg { width: .385rem; height: .385rem; flex: none; }
.out-of-view.play-film { transition: opacity .8s var(--ease) .4s; }
.out-of-view.in-view.play-film { transition: opacity .6s var(--ease); }


.p-home { overflow: hidden; background: #0b0a09; }
.page-home { position: absolute; top: 0; left: 0; width: 100%; height: 100vh; height: 100dvh; display: flex; flex-direction: column; justify-content: flex-end; color: #fff; }
.film { position: absolute; inset: 0; overflow: hidden; background: #0b0a09; z-index: 1; }
.film-slide { position: absolute; inset: 0; opacity: 0; transition: opacity 1.1s var(--ease); }
.film-slide.on { opacity: 1; }
.film-slide img, .film-slide picture { width: 100%; height: 100%; object-fit: cover; }
.film-slide.on img, .film-slide.sale img { animation: film-zoom 6.4s linear both; }
@keyframes film-zoom { from { transform: scale(1); } to { transform: scale(1.07); } }
.film::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(8,6,4,.34) 0, rgba(8,6,4,.2) 22%, rgba(8,6,4,.2) 70%, rgba(8,6,4,.42) 100%); pointer-events: none; z-index: 3; }
.page-home .headline, .page-home .intro, .page-home .play-film, .page-home .bottom .aviso { text-shadow: 0 0 14px rgba(0,0,0,.4); }
.page-home .bottom, .page-home .headline { z-index: 4; }
.headline-wrap { position: absolute; width: 100%; height: auto; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 4; cursor: default; }
.headline-wrap * { cursor: default; }
.headline { position: absolute; width: 100%; top: 50%; left: 50%; transform: translate(-50%, -50%); text-align: center; transition: opacity .8s var(--ease) .38s; }
.headline.out-of-view { transition: opacity .8s var(--ease) .4s; }
.headline-wrap .intro { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 50; text-align: center; opacity: 0; transition: opacity .4s var(--ease); }
.headline-wrap .intro .max-width { display: block; margin: 0 auto; max-width: 42.31rem; width: 650px; }
.headline-wrap .intro p { margin: 0; }
@media (min-width: 769px) {
  .headline-wrap:hover .headline { opacity: 0; transition: opacity .4s var(--ease); }
  .headline-wrap:hover .intro { opacity: 1; transition: opacity .8s var(--ease) .38s; }
}
.page-home .play-film { position: absolute; top: 50%; transform: translateY(-50%); right: 0; padding-right: var(--pad); z-index: 9; }
.page-home .bottom { display: flex; justify-content: center; align-items: flex-end; padding: 0 var(--pad) .692rem; position: relative; }
.page-home .bottom .logo-icon { margin: 0 auto; color: #fff; }
.page-home .bottom .aviso { position: absolute; left: var(--pad); bottom: .692rem; margin: 0; color: #fff; }
.page-home .bottom .aviso a { color: #fff; }


.home-loader { position: fixed; inset: 0; height: 100vh; height: 100dvh; z-index: 8; display: none; background: #0b0a09; }
.con-portal .home-loader { display: block; }
.home-loader .fill { position: absolute; inset: 0; overflow: hidden; transform: scale(1.05); transition: transform 6s var(--ease); will-change: transform; }
.home-loader .fill.escalada { transform: scale(1); }
.home-loader .fill img, .home-loader .fill picture { width: 100%; height: 100%; object-fit: cover; }
.logo-stacked { position: fixed; top: 50%; left: 50%; width: 5rem; transform: translate(-50%, -50%); z-index: 3; color: #fff; display: flex; flex-direction: column; align-items: center; row-gap: 1.1rem; }
.logo-stacked svg { width: 5rem; height: auto; }
.logo-stacked path, .logo-stacked circle, .logo-stacked .marca { opacity: 0; transition: opacity .4s linear; }
.logo-stacked .marca { font-size: 12px; }
.con-portal .film-slide img { animation-play-state: paused; }
.loader-text { position: fixed; bottom: 1.115rem; left: 50%; transform: translateX(-50%); z-index: 3; color: #fff; width: 100%; text-align: center; padding: 0 var(--pad); opacity: 0; transition: opacity 1.5s ease; }
.loader-text.visible { opacity: 1; }
.home-loader.sale { opacity: 0; transition: opacity 1.5s ease; pointer-events: none; }


.video-overlay { position: fixed; display: none; width: 100%; height: 100vh; height: 100dvh; top: 0; left: 0; background-color: #232323; z-index: 99; opacity: 0; color: #fff; }
.video-overlay.abierta { display: block; }
.video-overlay.aparece { opacity: 1; transition: opacity .6s ease-in-out; }
.video-overlay .vid-wrap { display: flex; flex-direction: column; justify-content: center; align-items: center; height: 100%; padding: 1.615rem; padding-top: calc(1.615rem + 14px); }
.video-overlay .close-film { position: absolute; top: .615rem; right: 1.615rem; color: #fff; cursor: pointer; transition: opacity .6s var(--ease); z-index: 9; }
.video-overlay .close-film:hover { opacity: .5; }
.video-overlay .inner-wrap { width: 100%; pointer-events: none; opacity: 0; transition: opacity .6s var(--ease); height: 100%; display: flex; align-items: center; justify-content: center; }
.video-overlay.visible .inner-wrap { pointer-events: all; opacity: 1; }
.player { width: 100%; max-width: calc((100vh - 6.4rem) * 16 / 9); }
.player video { background: #000; aspect-ratio: 16 / 9; object-fit: cover; }
.player .controles { display: flex; align-items: center; padding-top: .577rem; column-gap: .25rem; }
.player .controles button { color: #fff; line-height: 0; padding: .19rem; }
.player .controles svg { width: .54rem; height: .54rem; }
.player .progreso { flex: 1; height: 2px; background: rgba(255,255,255,.28); position: relative; cursor: pointer; margin: 0 .3rem; }
.player .progreso::before { content: ""; position: absolute; left: 0; top: -9px; bottom: -9px; right: 0; }
.player .progreso i { position: absolute; left: 0; top: 0; bottom: 0; background: #fff; width: 0; display: block; }
.player .tiempo { min-width: 3.4em; text-align: right; }


.top-info { padding-top: .923rem; position: absolute; top: 0; left: 0; width: 100%; }
.top-info .header p { margin: 0; line-height: 24px; }
.top-info .copy-wrap { max-width: 42.31rem; }
.top-info .copy-wrap p:first-of-type { text-indent: 1.538rem; }
.pad-top { padding-top: 216px; }
.p-estudio main, .p-portafolio main, .p-proyecto main { position: relative; }


.carousel-block { margin-bottom: 5rem; }
.carousel-wrap { position: relative; }
.carousel { position: relative; width: 100%; aspect-ratio: 1920 / 1080; overflow: hidden; }
.carousel-cell { position: absolute; inset: 0; opacity: 0; z-index: 0; transition: opacity .6s var(--ease); pointer-events: none; }
.carousel-cell.is-selected { opacity: 1; z-index: 2; pointer-events: auto; }
.carousel-cell img { width: auto; height: 100%; object-fit: contain; object-position: left; }
.carousel-buttons { position: absolute; inset: 0; z-index: 5; display: flex; color: #fff; mix-blend-mode: difference; }
.carousel-buttons .prev-button, .carousel-buttons .next-button { width: 50%; height: 100%; position: relative; cursor: none; }
.carousel-buttons .hover-word { position: absolute; pointer-events: none; z-index: 1000; display: none; }
.carousel-status { margin-top: .346rem; text-align: right; }

.team-block { margin-bottom: 6.308rem; align-items: flex-start; justify-content: flex-start; }
.team-block .header { width: 48%; padding-left: var(--pad); padding-top: .15rem; }
.team-grid { width: 48%; display: grid; grid-template-columns: repeat(2, 1fr); column-gap: 1.85%; row-gap: 3.077rem; margin-left: 1.05%; align-items: start; }
.team-grid .team-thumb { min-width: 0; }
.team-image { aspect-ratio: 334 / 462; overflow: hidden; background: #e8e5dd; transition: opacity .6s var(--ease); }
.team-image img { height: 100%; object-fit: cover; }
.team-name { margin-top: .346rem; margin-bottom: .577rem; transition: opacity .6s var(--ease); }
.team-name div:last-of-type { color: var(--gris); }
.dropdown-opener { cursor: pointer; transition: opacity .6s var(--ease); display: block; }
.dropdown-opener:hover { opacity: .5 !important; }
.dropdown-wrap { width: 100%; }
.dropdown-content { height: 0; overflow: hidden; }
.dropdown-content .inner-wrap { padding-top: 1.538rem; opacity: 0; transition: opacity .6s var(--ease); pointer-events: none; }
.dropdown-wrap.opened .dropdown-content .inner-wrap { opacity: 1; pointer-events: all; }
.dropdown-content p { margin: 0; line-height: 1.02; }
@media (min-width: 769px) { .team-grid.tapa .team-thumb:not(.activa) .team-image { opacity: .25; } .team-grid.tapa .team-thumb:not(.activa) .team-name, .team-grid.tapa .team-thumb:not(.activa) .dropdown-opener { opacity: 0; } }
.careers-block { margin-bottom: 6.423rem; align-items: flex-start; }
.careers-block .header { width: 48%; padding-left: var(--pad); padding-top: .15rem; }
.careers-block .copy { width: 50.912%; }
.careers-block p:first-of-type { text-indent: 1.538rem; }
.sala-block { padding: 1.846rem var(--pad) 1.846rem 41.3px; background-color: #EEEEEB; margin-bottom: 4rem; display: flex; justify-content: space-between; }
.sala-block .copy-wrap { width: 31.63%; display: flex; flex-direction: column; justify-content: space-between; row-gap: 12.96rem; }
.sala-block .copy-wrap .punto { width: 8px; height: 8px; border-radius: 50%; background: #FF4F00; margin-bottom: 2.577rem; }
.sala-block .titulo { margin: 0; }
.sala-block .bottom p { font-family: var(--humana); font-size: var(--t12); line-height: 1.5em; letter-spacing: .6px; margin: 0; }
.sala-block .bottom a { display: inline-block; margin-top: 1.5rem; }
.sala-block .image-wrap { width: 64.32%; aspect-ratio: 875 / 587; overflow: hidden; background: #d8d4cb; }
.sala-block .image-wrap img { height: 100%; object-fit: cover; }


.p-portafolio { background-color: #EAE8E3; }
.projects-wrap { padding: 216px var(--pad) 19rem; display: flex; flex-direction: column; row-gap: 4.615rem; }
.project { display: block; white-space: normal; }
.project::after { display: none; }
.project .video-wrap { overflow: hidden; display: block; transition: opacity .6s var(--ease); background: #d8d4cb; }
.project .video-wrap img { transition: transform .6s var(--ease); will-change: transform; }
.project .video-wrap .deriva { animation: deriva 16s ease-in-out infinite alternate; }
@keyframes deriva { from { transform: scale(1) translate3d(0, 0, 0); } to { transform: scale(1.06) translate3d(-1.2%, -.8%, 0); } }
@media (min-width: 769px) { .project .video-wrap:hover img { transform: scale(1.05); } .projects-wrap.tapa .video-wrap { opacity: .25; } .projects-wrap.tapa .video-wrap.activa { opacity: 1; } }
.project .project-name { letter-spacing: 0; margin-top: .346rem; transition: opacity .6s var(--ease); }
.project:hover .project-name { opacity: .5; }


.p-proyecto { background-color: #EAE8E3; }
.post-single { margin-bottom: 13.46rem; }
.content-wrap { display: flex; flex-direction: column; row-gap: 6.923rem; padding-top: 216px; }
.video-pop-up-module .video-wrap { position: relative; display: block; overflow: hidden; background: #1b1a18; padding: 0 var(--pad); background: none; }
.video-pop-up-module .video-hero { position: relative; overflow: hidden; background: #1b1a18; aspect-ratio: 1920 / 1080; cursor: none; }
.video-pop-up-module .video-hero img { height: 100%; object-fit: cover; }
.play-hover { position: absolute; inset: 0; z-index: 1; color: #fff; mix-blend-mode: difference; }
.play-hover .inner-wrap { width: 100%; height: 100%; position: relative; cursor: none; }
.play-hover .hover-word { position: absolute; pointer-events: none; z-index: 1000; display: none; }
.video-pop-up-module .play-film { margin-top: .346rem; justify-content: flex-end; padding-right: var(--pad); }
.video-pop-up-module .optional-text { margin-top: 2rem; text-indent: 1.538rem; }
.m-un { padding: 0 var(--pad); }
.m-un.centro .fig { width: 39.368%; margin: 0 auto; }
.m-un.der .fig { width: 39.368%; margin-left: auto; }
.m-un.ancho .fig { width: 100%; }
.m-doble { display: flex; column-gap: 1.85%; padding: 0 var(--pad); }
.m-doble .fig { width: 49.075%; }
.fig img { background: #d8d4cb; }
.m-doble .fig img { aspect-ratio: 7 / 6; object-fit: cover; }
.post-nav { display: flex; column-gap: .115rem; text-transform: uppercase; padding: 0 var(--pad); margin-top: 6.923rem; }
.post-nav .disabled { opacity: .7; }
.post-nav a { white-space: nowrap; }


.p-donde { background: linear-gradient(#FBFBF7, 24%, #E9DFD2, 56%, #2d2420); background-attachment: scroll; color: #000; transition: color .6s var(--ease); }
.page-donde { padding: .923rem var(--pad) 3.5rem; line-height: 1.769em; font-size: var(--t26); position: relative; }
.page-donde .flex-between { flex-direction: row; }
.page-donde p { margin: 0 0 .1em; }

.page-donde .row-1 .flex-between { align-items: center; }
.page-donde .row-1 .text { text-align: left; }
.page-donde .row-2 { margin-bottom: .27rem; }
.page-donde .row-2 .flex-between { align-items: center; }
.page-donde .row-3 { margin-bottom: 5.77rem; }
.page-donde .row-4 { margin-bottom: 4.04rem; text-align: center; }
.page-donde .row-4 .text { margin-bottom: .3rem; }
.page-donde .row-4 .play-film { margin-top: .346rem; justify-content: flex-end; }
.page-donde .film-loop { overflow: hidden; background: #1b1a18; aspect-ratio: 1920 / 1080; }
.page-donde .film-loop video { height: 100%; object-fit: cover; }
.page-donde .row-5 { margin-bottom: 7.15rem; }
.page-donde .row-5 .image-wrap { margin-bottom: .77rem; }
.page-donde .row-5 .text-centered { text-align: center; }
.page-donde .row-6 { align-items: flex-end; margin-bottom: 6.96rem; }
.page-donde .row-6 > .flex-between { position: relative; align-items: flex-end; }
.page-donde .row-6 .image-1 { margin-top: 12.42rem; }
.page-donde .row-6 .image-2 { margin-bottom: 6.96rem; align-self: flex-start; }
.page-donde .row-6 .copy-1 { position: absolute; top: 0; left: 0; }
.page-donde .row-6 .copy-2 { position: absolute; top: 10rem; left: 50%; transform: translateX(-50%); }
.page-donde .row-6 .copy-3 { line-height: .957em; margin-bottom: -.35em; display: flex; align-items: flex-end; }
.page-donde .row-7 { margin-bottom: 1.15rem; }
.page-donde .row-8 { margin-bottom: .46rem; }
.page-donde .row-8 .flex-between { align-items: flex-start; }
.page-donde .row-8 p { margin-bottom: 0; }
.page-donde .row-9 { align-items: center; margin-bottom: 3.04rem; }
.page-donde .row-9 .flex-between { align-items: center; }
.page-donde .row-9 .text { padding-right: 4.31rem; height: 100%; width: 100%; display: flex; align-items: center; justify-content: flex-end; }
.page-donde .row-10 { margin-bottom: 7.96rem; }
.page-donde .row-11 { margin-bottom: 15.12rem; text-align: right; padding-right: calc(7.42rem - 1.85%); }
.page-donde .row-12 { margin-bottom: 2.04rem; text-align: center; }
.page-donde .row-12 .text { margin-bottom: .19rem; }
.page-donde .row-13 { margin-bottom: 9.96rem; }
.page-donde .row-13 .flex-between { align-items: stretch; }
.page-donde .row-13 .text-1, .page-donde .row-13 .text-2 { display: flex; justify-content: center; align-items: center; text-align: center; }
.page-donde .row-14 { margin-bottom: .54rem; }
.page-donde .row-14 .flex-between { align-items: stretch; }
.page-donde .row-14 .text { height: 100%; width: 100%; display: flex; align-items: center; }
.page-donde .row-15 { margin-bottom: 11.15rem; }
.page-donde .row-15 .flex-between { align-items: stretch; }
.page-donde .row-15 .copy-wrap { display: flex; flex-direction: column; justify-content: space-between; padding-left: .814%; }
.page-donde .row-15 .copy-2 { padding-left: 25%; }
.page-donde .row-15 .copy-3 { padding-left: 75%; }
.page-donde .row-15 .copy-4 { padding-left: 15%; }
.page-donde .row-15 .copy-5 { margin-bottom: -.7em; padding-left: 50%; }
.page-donde .row-16 { display: flex; flex-direction: column; justify-content: flex-end; align-items: center; padding-bottom: 2.27rem; height: 100vh; position: relative; text-align: center; }
.page-donde .row-16 .text { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 100%; }
.page-donde em { font-style: italic; }
.page-donde .row-17 { margin: 0; }
.page-donde .cierre { overflow: hidden; aspect-ratio: 1920 / 1080; background: #1b1a18; }
.page-donde .cierre img { animation: deriva 16s ease-in-out infinite alternate; }
.p-donde .site-footer { padding-top: 0; }
.p-donde .site-footer .f-izq, .p-donde .site-footer .f-der { color: #fff; }


.p-contacto { display: flex; flex-direction: column; background-color: #4e3e3b; min-height: 100vh; min-height: 100dvh; }
.page-contacto { color: #fff; flex: 1 0 auto; position: relative; }
.page-contacto a { color: #fff; }
.page-contacto .top-info { position: static; }
.page-contacto .top-info { margin-bottom: 5.5rem; }
.contact-wrap { margin-bottom: 13.46rem; align-items: flex-start; }
.contact-wrap .info p { margin: 0 0 .9em; font-family: var(--mono); font-size: var(--t12); line-height: 1.25em; }
.contact-wrap .info .rotulo { display: block; }
.contact-wrap form { width: 42.254%; }
.contact-wrap .campos { display: flex; align-items: flex-start; justify-content: space-between; flex-wrap: wrap; }
.contact-wrap .gfield { width: 100%; }
.contact-wrap .gfield.mitad { width: 48.3%; }
.contact-wrap label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.contact-wrap input, .contact-wrap textarea {
  position: relative; display: block; appearance: none; -webkit-appearance: none; background: transparent; border: 0; outline: none; border-radius: 0; box-shadow: none; resize: none;
  margin: 0; padding: 0; line-height: normal; font-family: var(--serif); font-size: var(--t26); font-weight: 400; color: #fff;
  width: 100%; border-bottom: 1px solid #fff; padding-bottom: .269rem; margin-bottom: .769rem; cursor: text;
}
.contact-wrap input::placeholder, .contact-wrap textarea::placeholder { color: #fff; opacity: 1; }
.contact-wrap input.focus::placeholder, .contact-wrap textarea.focus::placeholder { color: transparent; }
.contact-wrap textarea { margin-bottom: .423rem; }
.contact-wrap input:focus-visible, .contact-wrap textarea:focus-visible { outline: 1px dashed rgba(255,255,255,.6); outline-offset: 4px; }
.contact-wrap .enviar { font-family: var(--serif); font-size: var(--t26); line-height: 1; color: #fff; padding: 0; transition: opacity .6s var(--ease); border-bottom: 0; display: inline-block; margin-top: 0; }
.contact-wrap .enviar:hover { opacity: .5; }
.contact-wrap .gracias { margin-top: .6rem; font-style: italic; }
.contact-wrap .gracias:empty { display: none; }
.p-contacto .site-footer { margin-top: auto; }


@media (max-width: 768px) {
  body { line-height: .98; }
  p, ul { margin-bottom: .905em; }
  .ml-22 { margin-left: .875rem; } .mr-22 { margin-right: .875rem; }
  .pl-22 { padding-left: .875rem; } .pr-22 { padding-right: .875rem; } .ph-22 { padding-left: .875rem; padding-right: .875rem; }
  :root { --pad: .875rem; }
  .desktop { display: none !important; }
  .mobile { display: block; }
  .t14 { line-height: 1.909em; letter-spacing: 4px; }
  .t12 { line-height: 1.3em; }
  .t12.espaciado { letter-spacing: 2.3px; }
  .humana16 { line-height: 1.357em; letter-spacing: .5px; }
  .humana12 { line-height: 1.4em; letter-spacing: .5px; }
  .site-header { padding: 1.5rem 0; }
  .menu-wrap { top: 100%; margin: 0; padding: .5rem 0 0; width: auto; }
  .menu-close, .menu-open { white-space: nowrap; }
  .menu-close { display: block; }
  .abierto .menu-close { opacity: 1; visibility: visible; transition-delay: 0s; }
  .abierto .menu-wrap { transition-duration: .6s; }
  .portfolio-link { display: none; }
  .p-home .site-header { }
  .page-home { height: 100vh; height: 100dvh; }
  .page-home .play-film { padding-right: 0; top: auto; right: auto; bottom: calc(2rem + 3.125rem + 2rem); left: 50%; transform: translateX(-50%); column-gap: .5625rem; }
  .play-film svg { width: .625rem; height: .625rem; }
  .page-home .bottom { padding-bottom: 2rem; padding-left: .875rem; padding-right: .875rem; }
  .page-home .bottom .aviso { left: 50%; transform: translateX(-50%); bottom: .8rem; text-align: center; white-space: nowrap; }
  .logo-icon { width: 2.125rem; }
  .logo-stacked, .logo-stacked svg { width: 5.47rem; }
  .loader-text { bottom: 1.8125rem; padding: 0 .875rem; }
  .video-overlay .vid-wrap { padding: 1.85%; }
  .video-overlay .close-film { top: 1rem; right: 1.85%; }
  .player { max-width: 100%; }
  .top-info { position: static; padding: 1.5rem .875rem 0; flex-direction: column; }
  .top-info > div { width: 100%; }
  .top-info .header { margin-left: 20.8%; width: auto; }
  .top-info .copy-wrap { max-width: none; }
  .top-info .copy { padding-right: 0; }
  .top-info .copy-wrap p:first-of-type { text-indent: 2.5rem; }
  .pad-top-mob { padding-top: 146px; }
  .top-info .copy { margin-top: 3.2rem; }
  .top-info + .carousel-block { margin-top: 4.375rem; }
  .carousel-block { margin-bottom: 5rem; padding-top: 0; }
  .carousel-wrap { width: 100%; padding-right: .875rem; }
  .carousel { aspect-ratio: 5 / 3; height: auto; overflow: hidden; }
  .carousel-cell { position: absolute; width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; }
  .carousel-cell img { width: 100%; height: 100%; object-fit: cover; }
  .carousel-status { margin-top: .56rem; text-align: left; }
  .carousel-buttons .hover-word { display: none !important; }
  .team-block { flex-direction: column; margin-bottom: 9.125rem; position: relative; }
  .team-block .header { position: absolute; top: 0; left: 0; width: auto; padding-top: 0; }
  .team-grid { width: 100%; grid-template-columns: 1fr; row-gap: 2rem; padding: 3rem .875rem 0; margin: 0; }
  .team-image { aspect-ratio: 241 / 333; }
  .team-name { margin-top: .5rem; margin-bottom: .9375rem; }
  .dropdown-content .inner-wrap { padding-top: 2.125rem; padding-bottom: 2.125rem; }
  .careers-block { flex-direction: column; margin-bottom: 5.875rem; row-gap: 1.4rem; }
  .careers-block .header { width: auto; }
  .careers-block .copy { width: 100%; padding-left: .875rem; padding-right: .875rem; }
  .careers-block p:first-of-type { text-indent: 2.5rem; }
  .sala-block { padding: 3.6% 3.6% 1.4375rem; flex-direction: column; margin-bottom: 3.875rem; }
  .sala-block .copy-wrap { width: 100%; row-gap: 3rem; margin-bottom: 1.0625rem; order: 2; }
  .sala-block .image-wrap { width: 100%; aspect-ratio: 365 / 245; margin-bottom: 1.3125rem; order: 1; }
  .sala-block .copy-wrap .punto { margin-bottom: 2.125rem; }
  .sala-block .bottom a { margin-top: 2.4375rem; }
  .projects-wrap { padding: 146px .875rem 16.875rem; row-gap: 4.5625rem; }
  .projects-wrap > div { display: block; }
  .projects-wrap .c18, .projects-wrap .c14, .projects-wrap .c35, .projects-wrap .c27 { width: 100%; }
  .projects-wrap .dummy-col { display: none; }
  .project .project-name { margin-top: .5625rem; }
  .content-wrap { padding-top: 0; row-gap: 3.6875rem; }
  .post-single { margin-bottom: 7.8125rem; }
  .video-pop-up-module .optional-text { margin-top: 2.375rem; text-indent: 2.5rem; }
  .video-pop-up-module .play-film { justify-content: flex-end; }
  .m-un.centro .fig, .m-un.der .fig { width: 100%; }
  .m-un.centro .fig, .m-un.der .fig { width: 76%; margin-left: auto; margin-right: auto; }
  .m-un.der .fig { margin-right: 0; }
  .m-doble { column-gap: .5625rem; }
  .post-nav { margin-top: 3.6875rem; }
  .page-donde { line-height: 1em; }
  .page-donde .flex-between { flex-direction: column; }
  .page-donde .row-1 { margin-top: 11.94rem; margin-bottom: 9.5rem; }
  .page-donde .row-1 .text { text-align: center; margin-bottom: 9.5rem; }
  .page-donde .row-2 { margin-bottom: .375rem; }
  .page-donde .row-2 .text-1 { margin-bottom: 6.75rem; }
  .page-donde .row-2 .text-2 { margin-bottom: 1rem; align-self: flex-end; padding-right: 1.5625rem; }
  .page-donde .row-3 { margin-bottom: 6.875rem; }
  .page-donde .row-4 { margin-bottom: 4.375rem; }
  .page-donde .row-4 .text { margin-bottom: .3125rem; }
  .page-donde .row-4 .play-film { margin-top: .375rem; }
  .page-donde .row-5 { margin-bottom: 7.4375rem; }
  .page-donde .row-5 .image { max-width: 14.8125rem; margin: 0 auto; }
  .page-donde .row-5 .image-wrap { margin-bottom: 1.125rem; }
  .page-donde .row-6 { margin-bottom: 4.9375rem; }
  .page-donde .row-6 > .flex-between { position: static; }
  .page-donde .row-6 .image-1 { margin-top: 0; margin-bottom: 4.1875rem; max-width: 12.875rem; align-self: flex-start; }
  .page-donde .row-6 .image-2 { align-self: flex-end; max-width: 15.0625rem; margin-bottom: 1.6875rem; }
  .page-donde .row-6 .copy-1, .page-donde .row-6 .copy-2 { position: static; transform: none; align-self: center; }
  .page-donde .row-6 .copy-1 { margin-bottom: 7.875rem; }
  .page-donde .row-6 .copy-2 { margin-bottom: 1.125rem; }
  .page-donde .row-6 .copy-3 { text-align: center; max-width: 16rem; margin: 0 auto; display: block; }
  .page-donde .row-7 { margin-bottom: .75rem; }
  .page-donde .row-8 { margin-bottom: .375rem; }
  .page-donde .row-8 .text { margin-bottom: 6.125rem; }
  .page-donde .row-8 .image { max-width: 15.0625rem; align-self: flex-end; }
  .page-donde .row-9 { margin-bottom: 11.25rem; }
  .page-donde .row-9 .image { margin-bottom: 6.3125rem; max-width: 15.0625rem; align-self: flex-end; }
  .page-donde .row-9 .text { padding-right: 0; display: block; }
  .page-donde .row-10 { margin-bottom: 7.0625rem; }
  .page-donde .row-11 { margin-bottom: 11rem; padding-right: .4375rem; }
  .page-donde .row-12 { margin-bottom: 2rem; }
  .page-donde .row-13 { margin-bottom: 1.3125rem; }
  .page-donde .row-13 .text-1 { margin-bottom: 4.625rem; text-align: left; justify-content: flex-start; }
  .page-donde .row-13 .image { max-width: 9.8125rem; margin: 0 auto 2.5625rem; }
  .page-donde .row-14 { margin-bottom: 5.9375rem; }
  .page-donde .row-14 .text { max-width: 12.8125rem; margin: 5.9375rem auto 0; text-align: center; display: block; }
  .page-donde .row-15 { margin-bottom: 5.9375rem; }
  .page-donde .row-15 .image { margin-bottom: .8125rem; }
  .page-donde .row-15 .copy-wrap { padding-left: 0; }
  .page-donde .row-15 .copy-1 { margin-bottom: 2.875rem; }
  .page-donde .row-15 .copy-2 { margin-bottom: 4.625rem; align-self: center; padding-left: 0; }
  .page-donde .row-15 .copy-3 { text-align: right; margin-bottom: 2.25rem; padding-left: 0; }
  .page-donde .row-15 .copy-4 { margin-bottom: 4.875rem; padding-left: 0; }
  .page-donde .row-15 .copy-5 { text-align: right; padding-left: 0; }
  .page-donde .row-16 { height: auto; padding-bottom: 1.375rem; }
  .page-donde .row-16 .text { position: static; transform: none; margin-bottom: 10.1875rem; }
  .page-donde .c10, .page-donde .c14, .page-donde .c21, .page-donde .c12, .page-donde .c13, .page-donde .c11, .page-donde .c23, .page-donde .c19 { width: 100%; }
  .page-contacto .top-info { margin-bottom: 3.8125rem; }
  .contact-wrap { margin-bottom: 4.5rem; flex-direction: column; padding-left: .875rem; padding-right: .875rem; row-gap: 6rem; }
  .contact-wrap form { width: 100%; }
  .contact-wrap .gfield.mitad { width: 100%; }
  .contact-wrap input, .contact-wrap textarea { padding-bottom: .4375rem; margin-bottom: 1.375rem; }
  .contact-wrap textarea { margin-bottom: .6875rem; }
  .contact-wrap .info.desktop { display: none !important; }
  .site-footer { padding-bottom: .875rem; padding-top: 4rem; }
  .site-footer .f-izq, .site-footer .f-der { width: 29.4%; }
  .site-footer .f-izq { width: 34%; }
  .site-footer .logo-column { bottom: .875rem; }
}


@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .out-of-view, .fade-in, .word-split span { opacity: 1 !important; }
  .home-loader { display: none !important; }
  .film-slide.on { opacity: 1; }
  .logo-on .header-logo, .header-logo { opacity: 1; pointer-events: auto; }
  .portfolio-link { opacity: 1; pointer-events: auto; }
}
