
:root {
  --tinta: #161515;
  --crema: #f3f1e2;
  --rosa: #ff1b50;
  --fg: var(--crema);
  --bg: var(--tinta);
  --btn: rgba(243, 241, 226, .2);
  --btn-hover: rgba(243, 241, 226, .4);
  --solido: var(--crema);
  --solido-texto: var(--tinta);
  --display: "Archivo", "Arial Black", "Helvetica Neue", Arial, sans-serif;
  --cuerpo: "Hanken Grotesk", "Helvetica Neue", Arial, sans-serif;
  --ease: cubic-bezier(.49, 0, .53, 1);
}
body.light-bg { --fg: var(--tinta); --bg: var(--crema); --btn: rgba(22, 21, 21, .1); --btn-hover: rgba(22, 21, 21, .4); --solido: var(--tinta); --solido-texto: var(--crema); }

*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; padding: 0; font-family: var(--cuerpo); font-size: 16px; overscroll-behavior: none; -webkit-text-size-adjust: 100%; }
html.sin-scroll { overflow: hidden; }
html.layout-ocupado { overflow: hidden; }
body { color: var(--fg); background: var(--bg); text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; transition: background-color .4s, color .4s; }
a { color: var(--fg); text-decoration: none; display: inline-block; position: relative; transition: color .4s; }
a:not(.no-line):not(.button)::after { content: ""; position: absolute; left: 0; bottom: 0; width: 100%; height: .04em; background: currentColor; transform: scaleX(0); transform-origin: 100% 100%; transition: transform .25s; }
@media (hover: hover) and (pointer: fine) { a:not(.no-line):not(.button):hover::after { transform-origin: 0 100%; transform: scaleX(1); } }
::selection { background: rgba(243, 241, 226, .2); color: var(--fg); }
:focus { outline: none; }
:focus-visible { outline: 1.5px solid var(--fg); outline-offset: 3px; }
h1, h2, h3, h4, h5, h6, p { margin: 0; font-weight: 400; position: relative; }
h2, h3 { font-family: var(--display); font-weight: 900; font-stretch: 125%; letter-spacing: .02em; text-transform: uppercase; line-height: .9em; margin-bottom: .9em; font-size: 24px; }
@media (min-width: 768px) { h2 { font-size: 32px; } }
@media (min-width: 1200px) { h2 { font-size: 48px; } h3 { font-size: 32px; } }
h5 { font-family: var(--display); font-weight: 500; font-stretch: 125%; letter-spacing: .01em; line-height: .9em; font-size: 24px; margin-bottom: .9em; }
h6 { font-size: 13px; letter-spacing: .02em; line-height: 1em; margin-bottom: 1em; }
p { letter-spacing: .02em; }
p strong, p b { font-family: var(--display); font-weight: 500; font-stretch: 125%; letter-spacing: .01em; }
.no-margin { margin: 0 !important; }
.opacity-40 { opacity: .4; }
.uppercase { text-transform: uppercase; }
img, video, svg { display: block; max-width: 100%; }
[hidden] { display: none !important; }
.saltar { position: fixed; top: -60px; left: 12px; z-index: 5000; padding: 8px 12px; background: var(--crema); color: var(--tinta); border-radius: 4px; transition: top .2s; }
.saltar:focus { top: 12px; }


.grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: 1.5rem; }
@media (max-width: 1199px) { .grid { grid-template-columns: repeat(6, 1fr); } .dummy-col.tablet { display: none !important; } }
@media (max-width: 767px) { .grid { grid-template-columns: repeat(4, 1fr); } .dummy-col { display: none !important; } }
.col-3-12_lg { grid-column: span 3; } .col-4-12_lg { grid-column: span 4; } .col-5-12_lg { grid-column: span 5; } .col-6-12_lg { grid-column: span 6; } .col-8-12_lg { grid-column: span 8; }
@media (max-width: 1199px) { .col-5-6_md { grid-column: span 5; } .col-6-6_md { grid-column: span 6; } }
@media (max-width: 767px) { .col-4-4_sm { grid-column: span 4; } }
.outer-content-wrap { width: calc(100% - 3rem); margin: 0 auto; position: relative; z-index: 1; }
.h-full { height: 100svh; }
.min-h-full { min-height: 100svh; }
.full-bleed { position: absolute; inset: 0; width: 100%; height: 100%; }
a.full-bleed-link { position: absolute; inset: 0; z-index: 50; width: 100%; height: 100%; }
.curved-edges { border-radius: 8px; overflow: hidden; }
.page-wrap { position: relative; z-index: 20; width: 100%; overflow: hidden; }
.vista { transition: none; }
.media-module { position: absolute; inset: 0; z-index: 5; overflow: hidden; }
.media-module video, .media-module img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; transform: scale(1.02); pointer-events: none; }
.media-module img { opacity: 0; transition: opacity .6s; }
.media-module img.cargada { opacity: 1; }
.full-bleed-video.v02 { filter: hue-rotate(40deg) saturate(1.1); }
.loading-overlay { position: absolute; inset: -4px; z-index: 5; pointer-events: none; overflow: hidden; transition: opacity .6s; }
.loading-overlay::before { content: ""; position: absolute; inset: -80px; background: var(--poster) center / cover no-repeat; filter: blur(50px); }
.loading-overlay::after { content: ""; position: absolute; inset: 0; background: rgba(22, 21, 21, .2); }
.video-loaded .loading-overlay { opacity: 0; }


.button, button.button { appearance: none; border: 0; margin: 0; padding: .3125rem 1.125rem; font: inherit; font-size: 16px; line-height: normal; letter-spacing: .02em; cursor: pointer; white-space: nowrap; text-align: center; color: var(--fg); background-color: var(--btn); backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); border-radius: .25rem; display: inline-flex; justify-content: center; align-items: center; column-gap: .375rem; width: fit-content; min-width: 5.6875rem; height: 2.1875rem; position: relative; transition: background-color .25s, opacity .25s; }
.button *, button.button * { margin: 0; line-height: 1.1em; }
.button .icon { width: .5625rem; height: auto; }
.button.square-button { width: 2.1875rem; min-width: auto; padding: .3125rem; }
.button.square-button .icon { width: .9375rem; }
.button.toggle-button { background-color: transparent; }
.button.toggle-button .icon { opacity: .4; transition: opacity .25s; }
.button.toggle-button.active { background-color: var(--btn); }
.button.toggle-button.active .icon { opacity: 1; }
.button.solid-button { color: var(--solido-texto); background-color: var(--solido); }
@media (hover: hover) and (pointer: fine) {
  .button:hover { background-color: var(--btn-hover); }
  .button.solid-button:hover { background-color: color-mix(in srgb, var(--solido) 70%, transparent); }
}
.button.copiado { cursor: default; }
.buttons-wrap { display: flex; column-gap: .625rem; }


.site-header { position: fixed; z-index: 500; top: 0; left: 0; width: 100%; padding: 1.5rem; pointer-events: none; transition: opacity .4s var(--ease); }
.site-header > * { pointer-events: auto; }
.site-header .column { align-items: center; min-height: 2.1875rem; display: flex; }
.site-header .site-title p { letter-spacing: .02em; }
.site-header .info-col { justify-content: flex-end; }
.site-header .tablet-mobile-menu-col { justify-content: flex-end; display: none; }
.logo-cab { position: absolute; z-index: 50; top: 50%; left: 1.5rem; width: 4.5rem; transform: translateY(-50%); display: none; }
.logo-cab a { display: block; }
.logo { width: 4.5rem; height: auto; color: var(--fg); transition: color .4s; }
[data-chrome="layout"], [data-chrome="info"], [data-chrome="footer"] { transition: opacity .4s var(--ease), visibility .4s; }
.layout-toggle { display: flex; align-items: center; }
body:not([data-vista="trabajos"]) [data-chrome="layout"] { opacity: 0; visibility: hidden; pointer-events: none; }
body[data-vista="info"] .site-header { opacity: 0; pointer-events: none; visibility: hidden; }
body[data-vista="info"] .site-footer { opacity: 0; visibility: hidden; }
@media (max-width: 1199px) {
  .logo-cab { display: block; }
  .site-header .site-title, .site-header .layout-col, .site-header .info-col { display: none; }
  .site-header .tablet-mobile-menu-col { display: flex; }
}
.button.menu-abre { min-width: 5.6875rem; }


.main-menu-root { position: fixed; inset: 0; z-index: 600; pointer-events: none; }
nav.main-menu { position: fixed; top: 50%; left: 1.5rem; width: fit-content; transform: translateY(-50%); pointer-events: auto; z-index: 600; transition: opacity .4s var(--ease); }
nav.main-menu .logo-nav { display: block; width: 4.5rem; height: 35px; color: var(--fg); will-change: transform, opacity; }
nav.main-menu .logo-nav .logo { width: 100%; height: auto; }
nav.main-menu .menu { position: absolute; top: 50%; left: 7.25rem; width: 0; height: 0; }
nav.main-menu .menu-item { position: absolute; left: 0; top: -17.5px; transform-origin: 0 50%; overflow: hidden; background-color: transparent; will-change: transform, opacity, width; }
nav.main-menu .menu-item.active { background-color: var(--btn); }
nav.main-menu .menu-item .text { transition: none; }
nav.main-menu .menu-item .icon { opacity: 0; pointer-events: none; width: 1.125rem; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
nav.main-menu .menu-item.active a { display: none; }
nav.main-menu .menu-item:not(.active) { background-color: transparent; }
@media (hover: hover) and (pointer: fine) { nav.main-menu .menu-item:not(.active):hover { opacity: .8 !important; } nav.main-menu .menu-item:not(.active):hover { background-color: transparent; } }
nav.main-menu .menu-item.es-disparador { cursor: pointer; }
nav.main-menu.scrolling:not(.is-overlay-expanded) .menu-item:not(.active) { opacity: 0 !important; pointer-events: none !important; }
nav.main-menu.no-menu { opacity: 0; pointer-events: none; visibility: hidden; }
body[data-vista="info"] nav.main-menu { opacity: 0; pointer-events: none; visibility: hidden; }
nav.main-menu.is-withheld { pointer-events: none !important; }
body.light-bg nav.main-menu .menu-item:not(.active):hover { background-color: transparent; }
@media (max-width: 1199px) {
  nav.main-menu { opacity: 0; pointer-events: none; transform: translateY(-50%) translateX(-50vw); transition: transform .85s cubic-bezier(.65, 0, .35, 1), opacity .85s cubic-bezier(.65, 0, .35, 1); }
  nav.main-menu.is-responsive-open { opacity: 1; pointer-events: auto; transform: translateY(-50%); }
  nav.main-menu.is-responsive-open .logo-nav { color: var(--crema); }
  nav.main-menu.is-responsive-open .menu-item { color: var(--crema); }
}
#nav-overlay { position: fixed; inset: 0; z-index: 550; display: none; pointer-events: auto; background: var(--tinta); opacity: 0; }
#nav-overlay .inner-content { position: absolute; inset: 0; z-index: 10; }
#nav-overlay .close-button { position: absolute; top: 1.5rem; right: 1.5rem; color: var(--crema); background-color: rgba(243, 241, 226, .2); }
#nav-overlay .button.info-button-ov { position: absolute; right: 1.5rem; bottom: 1.5rem; display: none; color: var(--crema); background-color: rgba(243, 241, 226, .2); }
@media (max-width: 1199px) { #nav-overlay .button.info-button-ov { display: inline-flex; } }
nav.main-menu.is-overlay-expanded, nav.main-menu.is-overlay-expanded .logo-nav, nav.main-menu.is-overlay-expanded .menu-item { color: var(--crema); }
nav.main-menu.is-overlay-expanded .menu-item.active { background-color: rgba(243, 241, 226, .2); }
body.menu-abierto { overflow: hidden; }
.gradient-blob { position: fixed; inset: 0; z-index: -1; overflow: hidden; width: 100%; height: 100%; filter: blur(40px); transform: scale(1.08);
  background:
    radial-gradient(90% 75% at 100% 0, #030302 0%, #1a1008 22%, #0000 58%),
    radial-gradient(55% 50% at 92% 12%, #2a1810 0%, #0000 48%),
    radial-gradient(circle at 15% 80%, #003cff 0%, #0000 35%),
    radial-gradient(circle at 45% 75%, #19b8ff 0%, #0000 35%),
    radial-gradient(circle at 85% 85%, #ff9a52 0%, #0000 35%),
    radial-gradient(circle at 78% 38%, #a24b00 0%, #0000 42%),
    radial-gradient(circle at 15% 15%, #c27a8a 0%, #0000 45%),
    radial-gradient(circle at 28% 90%, #000b2e 0%, #0000 30%),
    radial-gradient(circle at 58% 82%, #00141c 0%, #0000 26%),
    radial-gradient(circle at 6% 20%, #14030a 0%, #0000 34%),
    linear-gradient(135deg, #b96f76, #4a1f58 45%, #0aa6ff); }
.gradient-blob::after { content: ""; position: absolute; inset: -20%; background: inherit; animation: deriva 18s ease-in-out infinite alternate; }
#nav-overlay .gradient-blob { background:
    radial-gradient(100% 85% at 0 0, #010102 0%, #060a14 30%, #0000 65%),
    radial-gradient(70% 60% at 5% 5%, #020308 0%, #0000 55%),
    radial-gradient(55% 50% at 92% 12%, #6a7098 0%, #0000 48%),
    radial-gradient(circle at 18% 60%, #0c3488 0%, #0000 38%),
    radial-gradient(circle at 15% 85%, #00a8e8 0%, #0000 38%),
    radial-gradient(circle at 45% 75%, #12b8e8 0%, #0000 35%),
    radial-gradient(circle at 85% 85%, #ff9a68 0%, #0000 38%),
    radial-gradient(circle at 78% 50%, #8a5cd8 0%, #0000 42%),
    radial-gradient(circle at 85% 18%, #8890b0 0%, #0000 45%),
    radial-gradient(circle at 28% 90%, #000610 0%, #0000 30%),
    radial-gradient(circle at 8% 25%, #020408 0%, #0000 40%),
    linear-gradient(135deg, #4a5278, #1a1a58 50%, #0890d8); }
@keyframes deriva { 0% { transform: translate(-3%, -2%) scale(1); } 100% { transform: translate(3%, 2%) scale(1.12); } }


#video-toggle { position: fixed; z-index: 650; left: 1.5rem; bottom: 1.5rem; width: 5.6rem; height: 3.375rem; cursor: pointer; transition: opacity .4s var(--ease); }
#video-toggle .vt-opcion { position: absolute; appearance: none; border: 0; background: transparent; font: inherit; letter-spacing: .02em; line-height: 16px; padding: .375rem; border-radius: .25rem; cursor: pointer; color: rgba(243, 241, 226, .2); transition: color .4s, background-color .4s; }
body.light-bg #video-toggle .vt-opcion { color: rgba(22, 21, 21, .2); }
#video-toggle .vt-opcion.fija { top: 0; left: 0; }
#video-toggle .vt-opcion.video { bottom: 0; right: 0; }
#video-toggle .vt-opcion.activo { color: var(--fg); background-color: var(--btn); }
#video-toggle .icon { position: absolute; top: .3125rem; right: 1.6rem; width: .8125rem; color: var(--fg); transition: transform .4s; }
#video-toggle:has(.fija.activo) .icon { transform: rotate(90deg); }
@media (max-width: 1199px) { #video-toggle { z-index: 600; opacity: 0; visibility: hidden; pointer-events: none; width: fit-content; height: fit-content; display: flex; align-items: center; } #video-toggle .vt-opcion { position: relative; height: 2.1875rem; padding: .375rem .5625rem; display: flex; align-items: center; } #video-toggle .icon { display: none; } body.menu-abierto #video-toggle { opacity: 1; visibility: visible; pointer-events: auto; } body.menu-abierto #video-toggle .vt-opcion { color: rgba(243, 241, 226, .3); } body.menu-abierto #video-toggle .vt-opcion.activo { color: var(--crema); background-color: rgba(243, 241, 226, .2); } }


.site-footer { position: fixed; z-index: 100; left: 0; bottom: 0; width: 100%; height: auto; pointer-events: none; transition: opacity .4s var(--ease), visibility .4s; }
.site-footer .live-time { position: absolute; right: 1.5rem; bottom: 1.5rem; width: fit-content; display: flex; justify-content: flex-end; align-items: center; column-gap: .5rem; line-height: 1.1em; margin: 0; pointer-events: auto; }
.site-footer .live-time .location { display: flex; justify-content: flex-end; align-items: center; column-gap: .5rem; }
.site-footer .live-time .location-name { color: rgba(243, 241, 226, .2); }
body.light-bg .site-footer .live-time .location-name { color: rgba(22, 21, 21, .2); }
.site-footer .live-time p { line-height: 1.1em; font-variant-numeric: tabular-nums; }
.site-footer .dot { width: .625rem; height: .625rem; border-radius: 50%; background: var(--rosa); animation: pulso 3s infinite; }
@keyframes pulso { 0% { opacity: 0; } 40% { opacity: 1; } }
body:not([data-vista="trabajos"]):not([data-vista="efectos"]):not([data-vista="equipo"]):not([data-vista="novedades"]):not([data-vista="direccion"]) .site-footer { opacity: 0; }
@media (max-width: 1199px) { .site-footer .live-time { width: calc(100% - 3rem); } .site-footer .live-time .location { flex: 1; } .site-footer .live-time .location-name { position: absolute; left: 0; } }


.aviso { position: fixed; z-index: 700; left: 50%; bottom: 1.5rem; transform: translateX(-50%); margin: 0; font-size: 12px; line-height: 1.1em; letter-spacing: .02em; white-space: nowrap; color: #fff; mix-blend-mode: difference; pointer-events: auto; }
.aviso a { text-decoration: none; opacity: .6; transition: opacity .2s ease-out; }
.aviso a::after { display: none; }
.aviso a:hover, .aviso a:focus-visible { opacity: 1; }
@media (max-width: 1199px) { .aviso { bottom: 3.5rem; } }
body[data-vista="info"] .aviso { mix-blend-mode: normal; color: var(--crema); left: 1.5rem; bottom: auto; top: 1.5rem; transform: none; }
@media (max-width: 1199px) { body[data-vista="info"] .aviso { top: auto; bottom: .5rem; left: 50%; transform: translateX(-50%); } }


#loader-blur { position: fixed; inset: 0; z-index: 2147483000; backdrop-filter: blur(40px); -webkit-backdrop-filter: blur(40px); background-color: rgba(22, 21, 21, .5); overflow: hidden; }
#loader-blur.is-complete { opacity: 0; visibility: hidden; pointer-events: none; backdrop-filter: none; -webkit-backdrop-filter: none; }


#trabajos-page { overflow: hidden; }
.projects-wrap { width: 100%; padding: 5.5rem 0; }
.projects-wrap .project { flex-shrink: 0; position: relative; overflow: hidden; }
.project-thumbnail__clip { position: absolute; inset: 0; overflow: hidden; }
.project-thumbnail__media { position: absolute; inset: 0; z-index: 10; }
.project__overlay { position: absolute; inset: 0; z-index: 20; pointer-events: none; }
.project .project-name { position: absolute; z-index: 50; will-change: transform, opacity; }
.project .project-client { position: absolute; z-index: 50; width: 55%; bottom: 1.25rem; left: 1.25rem; }
.project .project-year { position: absolute; z-index: 50; bottom: 1.25rem; right: 1.25rem; }
.projects-wrap.is-flipping .project-name, .projects-wrap.is-flipping .project-client, .projects-wrap.is-flipping .project-year { pointer-events: none; }
.projects-wrap.list-view { display: flex; justify-content: flex-start; align-items: center; column-gap: 1.25rem; }
.projects-wrap.list-view .project { aspect-ratio: 16 / 9; width: 67rem; }
.projects-wrap.list-view h2.project-name { transform: translateY(-50%) translateX(var(--project-title-stick-x, 0px)); opacity: 1; visibility: visible; text-wrap: balance; padding: 0 1.5rem; top: 50%; left: 0; }
.projects-wrap.list-view h5.project-name { opacity: 0; visibility: hidden; }
.projects-wrap.list-view .project__overlay { background: linear-gradient(90deg, #000 -13.29%, #0000000d 31.18% 100%); }
.projects-wrap.grid-view { display: flex; flex-flow: column wrap; place-content: flex-start; align-items: flex-start; gap: 1.5rem; }
.projects-wrap.grid-view .project { width: 17.5rem; height: calc(50% - .75rem); }
.projects-wrap.grid-view h2.project-name { opacity: 0; visibility: hidden; }
.projects-wrap.grid-view h5.project-name { opacity: 1; visibility: visible; text-wrap: balance; width: 100%; height: auto; padding: 1.25rem; top: 0; left: 0; }
.projects-wrap.grid-view .project__overlay { background: linear-gradient(#00000080 -3.9%, #0000000d 21.6% 95.21%); }
.project .full-bleed-link:focus-visible { outline-offset: -3px; }
@media (max-width: 1199px) {
  .projects-wrap { padding: 6.875rem 0 6.25rem; }
  .projects-wrap::after { content: ""; flex-shrink: 0; width: 1px; height: 50px; display: block; }
  .projects-wrap.list-view .project { aspect-ratio: 396 / 704; width: 24.75rem; max-height: 100%; }
}
@media (max-width: 767px) {
  .projects-wrap::after { width: 8px; }
  .projects-wrap.list-view { column-gap: 1rem; }
  .projects-wrap.list-view .project { aspect-ratio: 345 / 613; width: 100%; }
}

html.is-native-horizontal-scroll .page-wrap[data-horizontal-scroll] { -webkit-overflow-scrolling: touch; overscroll-behavior-x: contain; height: 100svh; min-height: 100svh; overflow-y: visible; overflow-x: auto !important; scrollbar-width: none; }
html.is-native-horizontal-scroll .page-wrap[data-horizontal-scroll]::-webkit-scrollbar { display: none; }
html.is-native-horizontal-scroll [data-horizontal-scroll-viewport] { width: auto; max-width: none; overflow: visible; }
html.is-native-horizontal-scroll [data-horizontal-scroll-track] { will-change: auto; transform: none !important; }


#paginas { position: relative; }
.vista.es-fija { position: fixed; inset: 0; width: 100%; height: 100svh; }
#info-page { position: fixed; inset: 0; z-index: 300; overflow-x: hidden; overflow-y: auto; scrollbar-width: none; }
#info-page::-webkit-scrollbar { display: none; }


#efectos-page .background-wrap { z-index: 0; }
#efectos-page .vfx-velo { position: absolute; inset: 0; z-index: 8; background: rgba(8, 8, 14, .38); }
#efectos-page .outer-content-wrap { height: 100%; }
#efectos-page .content-wrap { padding-top: calc(50svh - 20px); }
#efectos-page .description h5 { margin-bottom: 1.5rem; }
#efectos-page .buttons-wrap { margin-top: 1.5rem; }
#efectos-page .button .icon { width: .5rem; }
#efectos-page .full-bleed-video { filter: blur(1.5px); transform: scale(1.06); }


#novedades-page .content-col { padding: 6.5rem 0 5.75rem; }
.updates--posts { gap: 1.5rem; height: 100%; }
.updates--posts .update-thumbnail { flex-shrink: 0; position: relative; overflow: hidden; }
.update-thumbnail__clip { position: absolute; inset: 0; overflow: hidden; }
.update-media { position: absolute; inset: 0; }
.update-media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.update-thumbnail__overlay { position: absolute; inset: 0; z-index: 10; pointer-events: none; background: linear-gradient(#0006 -.03%, #0000 37.19% 73.57%, #0000 100.03%); }
.update-thumbnail .update-title { position: absolute; z-index: 20; top: 0; left: 0; width: 100%; height: auto; padding: 1rem 2rem 1rem 1rem; pointer-events: none; text-wrap: balance; }
.update-thumbnail .button.read-more-button { position: absolute; z-index: 50; bottom: 1rem; left: 1rem; }
@media (hover: hover) and (pointer: fine) { .update-thumbnail:hover .button.read-more-button { background-color: rgba(243, 241, 226, .4); } }
.updates--posts.list-view { display: flex; }
.updates--posts.list-view .update-thumbnail { aspect-ratio: 396 / 704; width: auto; height: 100%; }
@media (max-width: 1199px) {
  .updates--posts { gap: 1.25rem; }
  .updates--posts::after { content: ""; flex-shrink: 0; width: 1px; height: 50px; display: block; }
  .updates--posts.list-view { justify-content: flex-start; align-items: center; }
  .updates--posts.list-view .update-thumbnail { aspect-ratio: 396 / 704; width: 24.75rem; height: auto; max-height: 100%; }
  .update-thumbnail .update-title { max-width: 19.5625rem; }
  #novedades-page .content-col { padding: 6.875rem 0 6.25rem; }
}
@media (max-width: 767px) { .updates--posts { gap: 1rem; } .updates--posts.list-view .update-thumbnail { aspect-ratio: 345 / 613; width: 100%; } .updates--posts::after { width: 8px; } }


#equipo-page { overflow: hidden; display: flex; flex-direction: column; }
#equipo-page .outer-content-wrap { flex: 1; height: 100svh; }
#equipo-page .content-col { display: flex; justify-content: flex-start; align-items: center; height: 100%; }
.team-members { display: flex; justify-content: flex-start; align-items: flex-start; column-gap: 4.375rem; width: fit-content; height: 66svh; padding-right: 6.25rem; }
.team-member { flex-shrink: 0; width: fit-content; height: 66svh; position: relative; overflow: visible; cursor: none; }
.team-member__photo { width: fit-content; height: 66svh; position: relative; border-radius: 8px; overflow: hidden; }
.team-member__photo img { width: auto; height: 66svh; max-width: none; display: block; transition: transform .6s var(--ease), filter .4s; filter: saturate(.9); }
@media (hover: hover) and (pointer: fine) { .team-member:hover .team-member__photo img { transform: scale(1.04); filter: saturate(1.1); } }
.info { position: absolute; top: 0; left: 0; z-index: 50; width: fit-content; padding: .6875rem 1.125rem; background: rgba(243, 241, 226, .2); backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); border-radius: .25rem; display: flex; flex-direction: column; row-gap: .5rem; white-space: nowrap; visibility: hidden; opacity: 0; pointer-events: none; }
.info h6 { margin: 0; font-size: 16px; line-height: 1.1em; }
.info p { margin: 0; font-size: 13px; line-height: 1.1em; }
@media (max-width: 1199px) {
  .team-members { align-items: center; column-gap: 10.9375rem; height: 78svh; padding-right: 10.9375rem; }
  .team-member:first-child { margin-left: 8vw; }
  .team-member, .team-member__photo, .team-member__photo img { height: 72svh; max-height: 43.875rem; }
  .team-member { cursor: default; }
  .team-member::after { content: attr(data-nombre); position: absolute; left: 50%; bottom: -2.4rem; transform: translateX(-50%); font-size: 13px; letter-spacing: .02em; white-space: nowrap; opacity: .6; }
  #equipo-page .outer-content-wrap { width: 100%; }
}
@media (max-width: 767px) { .team-members { column-gap: 6rem; padding-right: 4.375rem; } }


#direccion-page { overflow: hidden; }
.directors-wrap { width: 100%; }
.directors-wrap .director { flex-shrink: 0; border-radius: 8px; overflow: hidden; }
.directors-wrap .director-thumbnail__clip { position: absolute; inset: 0; overflow: hidden; }
.directors-wrap .director-thumbnail__media { position: absolute; inset: 0; z-index: 10; }
.directors-wrap .director-thumbnail__media img, .directors-wrap .director-thumbnail__media video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.directors-wrap .director__overlay { position: absolute; inset: 0; z-index: 20; pointer-events: none; background: linear-gradient(90deg, #00000099 0%, #0000000d 45% 100%); }
.directors-wrap .director .director-name { position: absolute; z-index: 50; will-change: transform, opacity; color: var(--crema); }
.directors-wrap .director .button.info-button { position: absolute; z-index: 50; color: var(--crema); background-color: rgba(243, 241, 226, .2); }
.directors-wrap.list-view { height: 100%; position: relative; }
.directors-wrap.list-view .director { aspect-ratio: 16 / 9; transform-origin: 0%; will-change: transform, opacity; width: 100%; position: absolute; top: 50%; left: 0; }
.directors-wrap.list-view .director .director-name { top: 50%; left: 1.5rem; transform: translateY(-50%); max-width: 70%; }
.directors-wrap.list-view .director .button.info-button { top: 50%; right: 1.5rem; transform: translateY(-50%); }
@media (max-width: 1199px) {
  .directors-wrap.list-view .director { aspect-ratio: 400 / 720; transform-origin: 50%; width: 25rem; top: 50%; left: 50%; }
  .directors-wrap.list-view .director .director-name { top: 0; left: 0; width: 100%; text-align: center; padding: 1.5rem; transform: none; max-width: none; }
  .directors-wrap.list-view .director .button.info-button { top: auto; right: auto; bottom: 1.5rem; left: 50%; transform: translate(-50%); }
  #direccion-page .outer-content-wrap { width: 100%; }
  #direccion-page .content-col { grid-column: 1 / -1; }
}
@media (max-width: 767px) { .directors-wrap.list-view .director { aspect-ratio: 315 / 560; width: 19.6875rem; max-height: 31.875rem; } }


.info-pagina .gradient-blob { position: fixed; }
.info-pagina .outer-content-wrap { padding: 5.1875rem 0 .875rem; }
.info-pagina .button.close-button { position: absolute; z-index: 50; top: 1.5rem; right: 0; }
.info-pagina .content-col { display: flex; flex-direction: column; justify-content: space-between; row-gap: 2.5rem; }
.info-pagina section.top { display: flex; flex-direction: column; row-gap: 1.5rem; }
.info-pagina section.top .block { backdrop-filter: blur(102px); -webkit-backdrop-filter: blur(102px); background: #f3f1e233; border-radius: .4375rem; padding: 1.5rem; }
.info-pagina section.top p.header { margin-bottom: 3rem; }
.info-pagina section.top .mobile-intro { display: none; }
.info-pagina section.top .services-list { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 1.5rem; }
.info-pagina section.top .services-list > div { width: calc(50% - .75rem); }
.info-pagina section.top .services-list h6 { margin-bottom: 1.5rem; }
.info-pagina section.top .services-list p { text-wrap: balance; line-height: 1; }
.info-pagina section.top .block.contact-work-together { column-gap: 1.5rem; display: flex; }
.info-pagina section.top .block.contact-work-together p.header { margin-bottom: 1.5rem; }
.info-pagina section.top .block.contact-work-together h6 { text-wrap: balance; }
.info-pagina section.top .block.contact-work-together .contact { width: calc(40% - .75rem); }
.info-pagina section.top .block.contact-work-together .work-together { width: calc(60% - .75rem); }
.info-pagina .cuerpo { font-size: 13px; line-height: 1.0; }
.info-pagina section.bottom { display: flex; flex-direction: column; row-gap: 1.5rem; }
.info-pagina section.bottom .copyright-social { display: flex; justify-content: space-between; align-items: baseline; }
.info-pagina section.bottom .social-links { display: flex; column-gap: 1.5rem; }
.palabra { width: 100%; height: auto; fill: var(--crema); }
.palabra text { font-family: var(--display); font-weight: 900; font-stretch: 125%; }
@media (max-width: 1199px) {
  .info-pagina .outer-content-wrap { padding: 1.5rem 0 5.1875rem; }
  .info-pagina .button.close-button { top: auto; bottom: 1.5rem; }
  .info-pagina section.top p.header.services { display: none; }
}
@media (max-width: 767px) {
  .info-pagina section.top p.header.services { margin-bottom: 1em; display: block; }
  .info-pagina section.top .mobile-intro { padding-right: 2.75rem; display: block; }
  .info-pagina section.top .mobile-intro h6.mobile-read-more { cursor: pointer; }
  .info-pagina section.top .mobile-intro .read-less, .info-pagina section.top .block.services.is-expanded .mobile-intro .read-more { display: none; }
  .info-pagina section.top .block.services.is-expanded .mobile-intro .read-less { display: block; }
  .info-pagina section.top .services-list { row-gap: 1.5rem; padding-top: 2.75rem; display: none; }
  .info-pagina section.top .block.services.is-expanded .services-list { display: flex; }
  .info-pagina section.top .services-list > div { width: 100%; }
  .info-pagina section.top .block.contact-work-together { flex-direction: column; row-gap: 1.5rem; }
  .info-pagina section.top .block.contact-work-together .contact, .info-pagina section.top .block.contact-work-together .work-together { width: 100%; }
  .info-pagina section.top .block.contact-work-together p.header { margin-bottom: 1.25rem; }
  .info-pagina section.bottom { row-gap: 1rem; }
  .info-pagina section.bottom .hide-mobile { display: none; }
  .info-pagina section.bottom .social-links { column-gap: .5rem; }
}


#media-lightbox { position: fixed; inset: 0; z-index: 50000; display: flex; justify-content: center; align-items: center; background: rgba(243, 241, 226, .2); backdrop-filter: blur(25px); -webkit-backdrop-filter: blur(25px); opacity: 0; pointer-events: none; transition: opacity .4s; }
#media-lightbox.is-active { pointer-events: auto; }
#media-lightbox.is-visible { opacity: 1; }
#media-lightbox .media-lightbox__content { width: min(100% - 3rem, 1200px); max-height: calc(100svh - 3rem); position: relative; opacity: 0; transition: opacity .4s; }
#media-lightbox.is-content-visible .media-lightbox__content, #media-lightbox.is-content-visible .close-button { opacity: 1; }
#media-lightbox .close-button { position: absolute; z-index: 50; top: 1.5rem; right: 1.5rem; color: var(--tinta); background-color: rgba(22, 21, 21, .1); opacity: 0; transition: opacity .4s; }
.media-lightbox__video { width: 100%; max-height: calc(100svh - 8rem); border-radius: 8px; background: #000; object-fit: contain; }
.lb-titulo { margin-top: 1rem; font-size: 16px; text-align: center; color: var(--tinta); font-family: var(--display); font-weight: 500; font-stretch: 125%; }


#glare-overlay { position: fixed; inset: 0; z-index: 2147483600; visibility: hidden; pointer-events: none; isolation: isolate; overflow: hidden; }
.glare-wipe { position: absolute; inset: 0; }
.glare-beam { position: absolute; top: 50%; left: 50%; width: 340vmax; height: 380vmax; margin-top: -190vmax; margin-left: -170vmax; transform: rotate(-45deg); pointer-events: none; will-change: transform, opacity; opacity: 0; }
.glare-beam--spectrum { filter: blur(80px);
  background: linear-gradient(#0000 0%, #ff2d8a14 8%, #ff1b5059 16%, #ff3d3094 24%, #ff6a00ad 32%, #ff9a18b3 40%, #ffd479ad 48%, #fff2d0a8 56%, #fff6e4ad 64%, #bfefff9e 72%, #00e8ff8c 80%, #0272fa66 88%, #4a40ff38 93%, #0000 100%),
    linear-gradient(168deg, #0000 12%, #00e8ff2e 32%, #ffe6c224 45%, #fc82b629 58%, #ff6a001f 72%, #0000 88%); }
.glare-beam--bloom { height: 490vmax; margin-top: -245vmax; filter: blur(130px); background: linear-gradient(#0000 0%, #f3f1e22e 18%, #fc82b63d 34%, #f3f1e25c 50%, #ffe6a029 62%, #00e8ff1a 74%, #0000 90%); }
@media (max-width: 1199px) { .glare-beam { width: 160vw; height: 240vh; margin-top: -120vh; margin-left: -80vw; } .glare-beam--spectrum { filter: blur(20px); } .glare-beam--bloom { display: none; } }


@media (prefers-reduced-motion: reduce) {
  #loader-blur { display: none; }
  .gradient-blob::after { animation: none; }
  .site-footer .dot { animation: none; }
  .team-member__photo img { transition: none; }
  * { scroll-behavior: auto !important; }
}
