

:root {
  --font-sans: "Switzer", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --section-spacing: 5px;
  --section-spacing-half: 6px;
  --section-spacing-2x: 10px;
  --columns-gap: var(--section-spacing);
  --header-ratio: 9vw;
  --dark: #212121;
  --off: #e3e3e3;
  --gray: #b0b0b0;
  --ease-in: cubic-bezier(.54, .15, .15, 1);
  --ease-out: cubic-bezier(.85, 0, .45, .85);
  --p: 0;
  --scroll-y: 0px;
}
@media (min-width: 48rem) { :root { --section-spacing: 12px; --section-spacing-2x: 24px; } }
@media (min-width: 64rem) { :root { --section-spacing: 20px; --section-spacing-2x: 40px; --section-spacing-half: 10px; --header-ratio: 9.3vw; } }

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; border: 0 solid; }
html {
  font-family: var(--font-sans);
  font-size: 14px;
  line-height: 1.2;
  overflow-x: clip;
  min-height: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  overscroll-behavior: none;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
  font-feature-settings: "calt" 1, "liga" 1, "kern" 1;
}
@media (min-width: 80rem) { html { font-size: 16px; } }
@media (min-width: 96rem) { html { font-size: 18px; } }
@media (min-aspect-ratio: 2/1.1) and (min-width: 768px) { html { font-size: 90%; } }
body { background: #fff; color: #000; font-weight: 500; overflow-x: clip; min-height: 100vh; }
::selection { background: #000; color: #fff; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; background: none; cursor: pointer; }
img, svg, video { display: block; max-width: 100%; }
h1, h2, h3 { font-size: inherit; font-weight: inherit; }
ul, ol { list-style: none; }
[hidden] { display: none !important; }
a:focus-visible, button:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
.salto { position: fixed; left: 8px; top: -60px; z-index: 100; background: #000; color: #fff; padding: 8px 12px; }
.salto:focus { top: 8px; }
.font-medium { font-weight: 500; }
.font-disp { font-weight: 600; letter-spacing: -.035em; }
.relative { position: relative; }
.flex { display: flex; }
.px-section { padding-inline: var(--section-spacing); }
.p-section { padding: var(--section-spacing); }
.py-3 { padding-block: .75rem; }
.pb-header-ratio { padding-bottom: var(--header-ratio); }
.pb-15 { padding-bottom: 15%; }
.max-lg-hidden { display: block; }
.lg-hidden { display: none; }
@media (max-width: 1023px) { .max-lg-hidden { display: none; } .lg-hidden { display: block; } }
html.to-load .menu-transition, html.to-load * { transition: none !important; }


.row { display: flex; flex-wrap: wrap; margin-inline: calc(var(--columns-gap) / -2); }
.row > * { padding-inline: calc(var(--columns-gap) / 2); }
.w-full { width: 100%; }
.c3 { width: 50%; }
@media (min-width: 48rem) { .c3 { width: 25%; } }
.mr-2 { margin-right: .5rem; }
.pl-12 { padding-left: 3rem; }
.w-1-3 { width: 33.3333%; }
.w-2-3 { width: 66.6667%; }
.w-5-12 { width: 100%; }
.w-9-12 { width: 100%; }
@media (min-width: 48rem) { .w-5-12 { width: 41.6667%; } .w-9-12 { width: 75%; } }
.contacts-row { font-size: .75rem; row-gap: 2rem; }
@media (min-width: 48rem) { .contacts-row { font-size: 1rem; row-gap: 0; } }
.paragraph { line-height: 1.3; }
.paragraph p { padding-bottom: 1.5rem; }
.paragraph p:last-child { padding-bottom: 0; }
.paragraph a { transition: opacity .3s; }
@media (hover: hover) { .paragraph a:hover { opacity: .5; } }
.paragraph.smaller { font-size: 1rem; line-height: 1.2; }
@media (min-width: 80rem) { .paragraph.smaller { line-height: 1.13; } }
.paragraph .smaller { font-size: .875rem; line-height: 1.13; padding-bottom: .75rem; }
.paragraph .gris { color: var(--gray); }
.text-xs { font-size: .75rem; line-height: 1.3; }
.text-lg { font-size: 1.125rem; line-height: 1.5; }
.text-2xl { font-size: 1.5rem; line-height: 1.3; }
.muestra { font-size: .75rem; padding-top: 1.75rem; }
@media (min-width: 48rem) { .muestra { font-size: 1rem; } }
.muestra a { text-decoration: underline; text-underline-offset: 3px; }


.image-wrap, .video-wrap { width: 100%; position: relative; overflow: hidden; }
.image-wrap img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; pointer-events: none; user-select: none; z-index: 2; }
.video-wrap video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.inset-image { position: absolute; inset: 0; }
.media { position: relative; }
.image-top img { object-position: top; }


b-cursor { display: none; }
@media (min-width: 64rem) and (hover: hover) and (pointer: fine) {
  b-cursor { display: block; visibility: hidden; position: fixed; top: 0; left: 0; z-index: 130; font-size: 1.125rem; line-height: 1.5; font-weight: 500; color: #fff; mix-blend-mode: difference; pointer-events: none !important; }
  b-cursor[visible] { visibility: visible; }
  b-cursor > div > div { translate: -50% -50%; }
  b-cursor .circle { width: 2rem; height: 2rem; background: #fff; border-radius: 99px; animation: cursor-bip .3s both; }
  b-cursor .button { white-space: nowrap; }
  [data-cursor], [data-cursor] * { cursor: none !important; }
}
@keyframes cursor-bip { 0% { translate: -50% -50%; scale: 1; } 50% { translate: -50% -50%; scale: 1.5; } 100% { translate: -50% -50%; scale: 1; } }


.burger-wrap { position: fixed; z-index: 30; top: 0; right: 0; padding: 1rem; display: block; }
@media (min-width: 48rem) { .burger-wrap { padding: var(--section-spacing); } }
.burger { width: 2rem; display: flex; flex-direction: column; gap: .375rem; cursor: pointer; transition: opacity .5s .5s; }
@media (min-width: 64rem) { .burger { gap: .25rem; width: 31px; } }
.burger > div { height: 3px; width: 100%; background: currentColor; transition: transform .3s; }
@media (max-width: 767px) { .burger > div:last-child { display: none; } }
.burger-close { position: absolute; top: 0; right: 0; padding: .75rem 1rem 0; font-weight: 500; opacity: 0; transition: opacity .5s; }
.page-overlay-open .burger-wrap { color: #000; }


.container { position: relative; }
.page-scroll { position: relative; }
#vista-pagina, #vista-detalle { background: #fff; }
#vista-pagina.prep, #vista-detalle.prep { position: fixed; top: 0; left: 0; width: 100%; height: 100vh; overflow: hidden; visibility: hidden; pointer-events: none; }
#vista-detalle.slide-in { position: fixed; inset: 0; z-index: 100; overflow-y: auto; }


.header-spacer { height: 100px; }
@media (min-width: 64rem) { .header-spacer { height: 16vw; } }
.header { position: fixed; inset-inline: 0; top: 0; z-index: 20; pointer-events: none; }
.header.back { position: relative; }
.back { pointer-events: none; }
.hd { position: relative; overflow: hidden; padding-bottom: var(--header-ratio); transform-origin: 0 0; backface-visibility: hidden; }
.hd.height-set { height: var(--header-height); }
.hd-link { display: block; position: absolute; z-index: 1; inset-inline: 0; top: 0; padding: var(--section-spacing) var(--section-spacing) 0; pointer-events: auto; }
.main-header { font-size: 60px; line-height: .77; transform-origin: 0 0; }
@media (min-width: 48rem) { .main-header { font-size: 90px; } }
@media (min-width: 64rem) { .main-header { font-size: 16vw; } }
.header-bg { position: absolute; inset: 0; max-height: var(--header-ratio); background: #fff; }
.header-line { position: absolute; z-index: 10; inset-inline: 0; bottom: calc(var(--section-spacing) * -1); height: var(--section-spacing-2x); background: #fff; pointer-events: none; }
@media (min-width: 64rem) {
  body.scrolled:not(.page-overlay) .header { transition: transform 1s; transform: translateY(0); }
  body.scrolled:not(.page-overlay).scrolling-down .header { transform: translateY(-100%); }
}


.pie { padding: 3rem var(--section-spacing) 0; height: 100svh; min-height: 36rem; }
.pie-in { height: 100%; display: flex; flex-direction: column-reverse; justify-content: space-between; }
@media (min-width: 64rem) { .pie-in { flex-direction: column; } }
.statement { white-space: pre-line; font-size: 7vw; line-height: .9; padding-bottom: 2.5rem; padding-top: 4rem; }
@media (min-width: 48rem) { .statement { font-size: 7.33vw; } }
@media (min-width: 64rem) { .statement { padding-bottom: 0; padding-top: 0; } }
.pie-bajo { padding-bottom: 6%; }
@media (max-width: 1023px) { .pie-bajo { padding-top: 2rem; } }


.cols4 { display: flex; flex-wrap: wrap; margin-inline: -10px; font-size: 1.25rem; line-height: 1.4; }
.col4 { width: 75%; padding: 0 10px 2rem 8px; margin-left: 25%; border-left: 1px solid #000; }
.col4:first-child { margin-top: 0; }
@media (min-width: 48rem) {
  .col4 { width: 25%; padding: 0 10px; margin-left: 0; border-left: 0; border-right: 1px solid #000; }
  .col4:last-child { border-right: 0; }
}
.col4-in { padding-inline: 1rem; }
@media (min-width: 48rem) { .col4-in { padding-inline: var(--section-spacing); } }
.col4-pad { padding-bottom: 2rem; }
@media (min-width: 48rem) { .col4-pad { padding-bottom: 50%; } }
.block-columns { padding-bottom: 15vw; overflow: hidden; }
.blocks .cap { padding-top: var(--section-spacing); font-size: 1rem; line-height: 1.3; }
.large-footnote { padding-bottom: 15vw; }
.half-r { width: 100%; }
@media (min-width: 48rem) { .half-r { margin-left: 50%; width: 50%; } }
.half { width: 100%; }
@media (min-width: 48rem) { .half { width: 50%; } }
.block-media .row { margin-inline: calc(var(--columns-gap) / -2); }
.block-media .row > .relative { padding-inline: calc(var(--columns-gap) / 2); }
.block-media .row > .relative > .media { margin-inline: 0; }
.cols-dark .col4 { border-color: var(--off); }
.columns-alt .alt-cols { display: flex; flex-wrap: wrap; margin-inline: -10px; font-size: 1.25rem; line-height: 1.4; }
.alt-col { width: 100%; padding: 0 10px 2rem; }
@media (min-width: 48rem) { .alt-col { width: 33.3333%; } }
.alt-row { display: flex; flex-wrap: wrap; margin-inline: -10px; }
.alt-row > * { padding-inline: 10px; }
.alt-h { width: 100%; padding-bottom: 1rem; padding-right: 2rem; }
.alt-h h3 { font-size: 1.125rem; line-height: 1.13; width: 66.6667%; }
.alt-t { width: 75%; margin-left: 25%; }
@media (min-width: 48rem) {
  .alt-h { width: 33.3333%; text-align: right; }
  .alt-t { width: 58.3333%; margin-left: 0; }
}


.estudio-top { position: relative; margin-bottom: 2rem; }
@media (min-width: 64rem) { .estudio-top { min-height: 100vh; } }
.estudio-logo { position: absolute; top: 0; inset-inline: 0; z-index: 10; padding: var(--section-spacing); transform-origin: 0 0; }
.logo-link { display: block; font-size: 60px; line-height: .77; }
@media (min-width: 48rem) { .logo-link { font-size: 90px; } }
@media (min-width: 64rem) { .logo-link { font-size: 16vw; } }
.sequence-block .image-wrap { height: auto; aspect-ratio: 1786 / 2459; }
.estudio-contacts-wrap { position: absolute; inset: 0; z-index: 2; display: flex; align-items: flex-end; mix-blend-mode: difference; padding-bottom: 17%; pointer-events: none; }
.estudio-contacts { position: sticky; bottom: 0; width: 100%; padding: var(--section-spacing); color: #fff; transform-origin: 0 100%; pointer-events: auto; }


.work-cats { position: relative; display: flex; flex-direction: column; justify-content: flex-end; font-size: 1.125rem; line-height: .9; transition: opacity .3s; }
.work-cats-height { overflow: hidden; display: block; }
.cats-row { display: flex; justify-content: space-between; align-items: flex-end; position: relative; z-index: 10; }
.cats-main { display: flex; gap: .75rem; color: var(--gray); }
@media (min-width: 48rem) { .cats-main { gap: 2rem; align-items: center; } }
@media (min-width: 64rem) { .cats-main { font-size: 2.25rem; line-height: .9; } }
.cat-main { display: table; transition: color .3s; }
.cat-main.is-on { color: #000; }
@media (hover: hover) { .cat-main:hover { color: #000; } }
.cats-filters { display: none; gap: 2.5rem; align-items: center; }
.container-page.en-archivo .cats-filters { display: flex; }
.cats-filters a { display: table; position: relative; opacity: .45; transition: opacity .3s; }
.cats-filters a.is-on, .cats-filters a:hover { opacity: 1; }
@media (max-width: 767px) { .cats-row { flex-direction: column; align-items: flex-start; gap: 1rem; } .cats-filters { gap: 1rem; flex-wrap: wrap; } }
.work-list { position: relative; }
.masonry-row { position: relative; margin-inline: calc(var(--columns-gap) / -4); }
.grid-item { display: block; width: 50%; padding-inline: calc(var(--columns-gap) / 4); }
.js .grid-item { position: absolute; }
.work-ratio-1 { padding-bottom: 70%; }
.work-ratio-2 { padding-bottom: 120%; }
.work-ratio-3 { padding-bottom: 100%; }
.work-list-item { margin-top: .5rem; padding-top: .5rem; font-size: 1.125rem; line-height: 1; padding-bottom: 20%; transform-origin: 0 0; }
@media (max-width: 767px) { .work-list-item { padding-top: 0; font-size: 1rem; } }
.grid-item .image-wrap img, .grid-item video { transition: transform .5s; }
.modo-archivo { display: none; }
.container-page.en-archivo .modo-archivo { display: block; }
.container-page.en-archivo .modo-destacadas { display: none; }
.container-page.en-archivo .pb-15 { padding-bottom: 6%; }

.archive-list { position: relative; border-top: 1px solid #000; }
.archive-prev { position: fixed; top: 0; inset-inline: 0; padding-inline: var(--section-spacing); z-index: 20; pointer-events: none; opacity: 0; transition: opacity .3s; display: none; }
@media (min-width: 64rem) { .archive-prev { display: block; } }
.archive-list.visible .archive-prev { opacity: 1; }
.archive-prev-in { width: 25%; margin-left: 16.6667%; transform: translateY(-50%); }
.archive-prev-box { position: relative; padding-bottom: 100%; }
.archive-prev-box > * { position: absolute; inset: 0; }
.archive-prev-box img, .archive-prev-box video { width: 100%; height: 100%; object-fit: cover; }
.archive-row { display: block; position: relative; color: var(--gray); }
.archive-in { display: flex; align-items: center; padding-block: .5rem; border-bottom: 1px solid currentColor; font-size: 1rem; line-height: 1.13; transition: color .3s; }
@media (min-width: 48rem) { .archive-in { padding-block: 1rem; font-size: 1.25rem; } }
.a-name { width: 50%; color: #000; }
.a-cli { width: 25%; color: #000; padding-right: .5rem; }
.a-cat { width: 16.6667%; color: #000; }
.a-est { width: 8.3333%; min-width: 7rem; }
.a-info { width: 8.3333%; text-align: right; }
@media (min-width: 48rem) { .a-name { width: 41.6667%; } .a-cli { width: 25%; } .a-cat { width: 16.6667%; } .a-est { width: 8.3333%; min-width: 0; } .a-info { width: 8.3333%; } }
@media (max-width: 767px) { .a-name { width: 50%; } .a-cli { width: 30%; } .a-cat, .a-est { display: none; } .a-info { width: 20%; display: flex; justify-content: flex-end; } .arrow-s { width: 1.25rem; } }
@media (hover: hover) { a.archive-row:hover { color: #000; } }
.hid-prev { display: none; }


.mas-top { background: #fff; overflow: clip; position: relative; }
.page-top { position: sticky; top: var(--header-ratio); }
.page-top-in { display: block; overflow: hidden; height: var(--rows-h, auto); transition: height .5s, opacity .5s; }
body.is-busy .page-top-in { height: 0; }
@keyframes collapse { from { height: var(--rows-h, 376px); } to { height: 0; } }
.zoom-out.zoom-mas .in-transition .page-top-in { animation: collapse 1s both; }
.mas-row { display: flex; justify-content: space-between; align-items: center; white-space: nowrap; line-height: .8; padding: 1rem 1rem 1rem var(--section-spacing); border-top: 1px solid #000; font-size: 7.33vw; }
@media (min-width: 48rem) { .mas-row { padding-block: var(--section-spacing); } }
.w-8 { width: 2rem; }
.page-top-gallery { position: relative; margin-bottom: .75rem; }
@media (min-width: 48rem) { .page-top-gallery { margin-bottom: 2rem; } }
.gal-slide { position: relative; padding-bottom: 120%; }
@media (min-width: 48rem) { .gal-slide { padding-bottom: 80%; } }
@media (min-width: 64rem) { .gal-slide { padding-bottom: 60%; } }
.page-subtitle { display: none; position: absolute; top: 0; inset-inline: 0; padding: 1rem var(--section-spacing) 0; font-size: 3rem; line-height: 1; white-space: pre-line; }
.mas-foto .row { margin-inline: 0; }
.planos { background: var(--dark); }
.planos-svg { position: absolute; inset: 0; width: 100%; height: 100%; }


.neg-mt { margin-top: calc(var(--section-spacing) * -1); }
.det-title { font-size: 1.875rem; line-height: 1.13; letter-spacing: -.025em; }
@media (min-width: 48rem) { .det-title { font-size: 3rem; line-height: 1.13; } }
.gallery { position: relative; }
.gal-viewport { overflow: hidden; }
.gal-container { display: flex; transition: transform .6s var(--ease-in); }
.slide { flex: 0 0 100%; min-width: 0; }
.gal-pag { display: flex; justify-content: flex-end; gap: .5rem; padding-top: 1rem; font-size: .75rem; color: var(--gray); }
.dot { color: inherit; font-weight: 500; }
.dot.is-on { color: #000; }
.meta-sec { padding-top: 8%; padding-bottom: .75rem; }
@media (min-width: 48rem) { .meta-sec { padding-bottom: var(--section-spacing); } }
.meta-row { display: flex; flex-wrap: wrap; gap: .5rem 4rem; }
.det-blk { padding-bottom: 3rem; }
.det-blk .cap-top { padding-top: var(--section-spacing); }
.det-blk + .det-blk { padding-top: 9rem; }
.back-sec { padding-bottom: 3rem; padding-top: 3rem; }
.back-nav { font-size: 1.875rem; line-height: 1; display: inline-block; transition: opacity .3s; }
@media (hover: hover) { .back-nav:hover { opacity: .5; } }


.dark { background: #fff; color: #000; }
.dark-sec { background: var(--dark); color: var(--off); min-height: 100vh; position: relative; }
.ov-head { position: sticky; top: 0; z-index: 3; background: var(--dark); }
.ov-title { display: block; padding: var(--section-spacing); font-size: 7.33vw; line-height: .8; border-bottom: 1px solid var(--off); background: var(--dark); }
.ov-blocks { padding-top: var(--section-spacing); }
.ov-blocks .block-paragraph { padding-bottom: 6vw; }
.ov-blocks .block-columns { padding-bottom: 8vw; }
.dark .paragraph .gris { color: var(--gray); }


#aviso { position: fixed; left: 50%; bottom: 24px; z-index: 140; translate: -50% 20px; background: #000; color: #fff; padding: .75rem 1.25rem; font-size: .9rem; opacity: 0; pointer-events: none; transition: opacity .3s, translate .3s; white-space: nowrap; }
#aviso.on { opacity: 1; translate: -50% 0; }


.homepage-menu { position: relative; height: 100svh; overflow: hidden; background: #fff; }
.homepage-menu.is-dark { background: #000; color: #fff; }
.cover-images { position: relative; z-index: 1; height: 100%; }
.cover-images.hidden { display: none; }
.cover-images .image-wrap { position: absolute; inset: 0; }
.cover-images img { transition: opacity 1s; }
.homepage-menu:not(.images-loaded):not(.all-loaded) img, .homepage-menu:not(.images-loaded):not(.all-loaded) video { opacity: 0 !important; }
.menu-logo-wrap { position: absolute; inset: 0; z-index: 2; display: flex; padding-block: 20%; pointer-events: none; }
.menu-logo { margin: auto; font-size: 23vw; line-height: 1.2; }
@media (min-width: 64rem) { .menu-logo { font-size: 20vw; } }
.homepage-menu.all-loaded .menu-logo-wrap { display: none; }
.the-menu { position: absolute; inset: 0; z-index: 2; display: flex; color: #000; }
.homepage-menu:not(.all-loaded) .the-menu { transform: translateY(100%); }
.homepage-menu.menu-loaded .the-menu, .homepage-menu.menu-loaded .menu-logo { transition: transform 1s var(--ease-in); }
.homepage-menu.menu-loaded .menu-logo { transform: translateY(-100vh); }
.homepage-menu.menu-loaded .the-menu { transform: translateY(0); }

.the-menu-inner { --p: 1; margin: auto; width: 200px; aspect-ratio: 1 / 2.8; }
@media (min-width: 48rem) { .the-menu-inner { width: 280px; } }
@media (min-width: 64rem) { .the-menu-inner { width: 91.6667%; aspect-ratio: 2 / 1; } }
@media (min-width: 80rem) { .the-menu-inner { width: 83.3333%; } }
@media (max-aspect-ratio: 3/2) and (min-width: 1024px) { .the-menu-inner { aspect-ratio: 3 / 1.7; } }
.the-menu-scale-down { height: 100%; transform-origin: top; justify-content: center; display: flex; transform: scale(.33332); }
.the-menu-stretcher { transform-origin: top; flex-shrink: 0; width: 300%; height: 300%; }
@media (min-width: 64rem) { .the-menu-stretcher { display: flex; background: #fff; } }
@media (max-width: 1023px) { .the-menu-stretcher > * + * { margin-top: 3rem; } }

.menu-column { position: relative; display: block; overflow: hidden; background: #fff; width: 100%; height: 32%; padding: 20px; }
@media (min-width: 64rem) {
  .menu-column { height: 100%; padding: 0; }
  .menu-column:nth-child(1) { width: 43%; }
  .menu-column:nth-child(2) { width: 33%; }
  .menu-column:nth-child(3) { width: 24%; }
}
.menu-column .menu-page-wrap { position: relative; transform-origin: 50% 10px; transition: transform .5s; pointer-events: none; height: 100%; }
.menu-column .menu-page-wrap * { pointer-events: none !important; }
@media (min-width: 64rem) { body:not(.is-busy) .menu-column:hover .menu-page-wrap { transform: scale(.98); } }
body.is-busy .menu-column .menu-page-wrap { transition: none !important; }
body.is-busy .menu-column:hover .menu-page-wrap { transform: scale(1); }
.the-menu-link { position: absolute; z-index: 10; inset: 0; display: block; }
.the-menu-link:focus-visible { outline: 3px solid #000; outline-offset: -6px; }
.menu-arrow { position: absolute; z-index: 30; top: 0; right: 0; width: 9rem; padding: 1.75rem 2rem 0; }
@media (min-width: 48rem) { .menu-arrow { top: 1.5rem; } }
@media (min-width: 64rem) { .menu-arrow { display: none; } }


.container-menu .burger-wrap { position: absolute; opacity: 0; transition: opacity 1s; }
.container-menu .menu-page-wrap .page-scroll { height: 100%; transform: translateY(calc(var(--scroll-y) * (1 - var(--p)))); }
.container-menu .menu-estudio .menu-page-wrap, .container-menu .menu-estudio .menu-page-wrap > .page-scroll { height: 100%; }
.container-menu .menu-estudio .estudio-top { height: 100%; min-height: 0; margin-bottom: 0; }
.container-menu .menu-estudio .sequence-block { display: flex; flex-direction: column; min-height: 100%; height: 100%; }
.container-menu .menu-estudio .sequence-block .image-wrap { flex: 1; height: 115%; aspect-ratio: auto; }
.container-menu .menu-estudio .estudio-contacts-wrap { padding-bottom: 0; }
.container-menu .menu-estudio .estudio-contacts { position: absolute; width: 100%; }
@media (min-width: 64rem) { .container-menu .menu-estudio .estudio-contacts { width: 85%; transform: scale(1.7); } }
.container-menu .work-cats, .container-menu .blocks, .container-menu .pie { opacity: 0; }
.container-menu .work-cats-height { height: 0; }
.container-menu .header { position: absolute; }
.container-menu .hd { height: 70%; transform: scale(1.4); }
@media (min-width: 64rem) { .container-menu .hd { height: 142%; transform: scale(.7); } }
.container-menu .header-spacer { height: 85px; }
@media (min-width: 48rem) { .container-menu .header-spacer { height: 125px; } }
@media (min-width: 64rem) { .container-menu .header-spacer { height: 12vw; } }
.container-menu .main-header { transform: translateY(25px); }
.container-menu .estudio-logo { transform: scale(1.5); }
@media (min-width: 64rem) { .container-menu .estudio-logo { transform: scale(1.3); } }
.container-menu .masonry-row { --columns-gap: calc(var(--section-spacing) * 2); }
.container-menu .work-list-item { width: 83%; transform: scale(1.2); }
.container-menu .page-top, .container-menu .page-top-gallery { padding-right: var(--section-spacing); }
.container-menu .page-top-in { height: 0; }
.container-menu .gal-slide { padding-bottom: 50%; }
@media (min-width: 64rem) { .container-menu .gal-slide { padding-bottom: 130%; } }
.container-menu .menu-page .menu-padding { padding-left: 0; }
.container-menu .page-subtitle { display: block; }
.container-menu .menu-page-wrap .page-scroll > .pie { display: none; }


.is-zooming .container-menu .estudio-logo { transform: scale(calc(1 + .5 * var(--p))); }
.is-zooming .container-menu .hd { height: calc(var(--h0, 100px) * (1 - var(--p)) + 59.5px * var(--p)) !important; transform: scale(calc(1 + .4 * var(--p))) !important; }
@media (min-width: 48rem) { .is-zooming .container-menu .hd { height: calc(var(--h0, 100px) * (1 - var(--p)) + 87.5px * var(--p)) !important; } }
@media (min-width: 64rem) {
  .is-zooming .container-menu .estudio-logo { transform: scale(calc(1 + .3 * var(--p))); }
  .is-zooming .container-menu .hd { height: calc(var(--h0, 16vw) * (1 - var(--p)) + 17.04vw * var(--p)) !important; transform: scale(calc(1 - .3 * var(--p))) !important; }
}
.is-zooming .container-menu .main-header { transform: translate3d(0, calc(25px * var(--p)), 0); }
.is-zooming .container-menu .header-spacer { height: calc(85px + (15px * (1 - var(--p)))) !important; }
@media (min-width: 48rem) { .is-zooming .container-menu .header-spacer { height: calc(125px - (25px * (1 - var(--p)))) !important; } }
@media (min-width: 64rem) { .is-zooming .container-menu .header-spacer { height: calc(12vw + (4vw * (1 - var(--p)))) !important; } }
.is-zooming .container-menu .header-line { transform: translateY(calc(50% * var(--p))) !important; }
.is-zooming .container-menu .masonry-row { --columns-gap: calc(var(--section-spacing) * (1 + 1 * var(--p))) !important; }
.is-zooming .container-menu .work-list-item { transform: scale(calc(1 + .2 * var(--p))); width: calc(100% - (17% * var(--p))); }
@media (min-width: 64rem) { .is-zooming .container-menu .estudio-contacts { width: calc(85% + (15% * (1 - var(--p)))) !important; transform: scale(calc(1 + .7 * var(--p))) !important; } }
.is-zooming.zoom-obras .container-menu .work-cats-height { height: calc(var(--cats-h, 52px) * (1 - var(--p))); }
.is-zooming.zoom-mas .container-menu .page-top-gallery { padding-right: calc(var(--section-spacing) * var(--p)); }
.is-zooming.zoom-mas .container-menu .gal-slide { padding-bottom: calc(120% - (70% * var(--p))) !important; }
@media (min-width: 48rem) { .is-zooming.zoom-mas .container-menu .gal-slide { padding-bottom: calc(80% - (50% * (-1 * var(--p)))) !important; } }
@media (min-width: 64rem) { .is-zooming.zoom-mas .container-menu .gal-slide { padding-bottom: calc(60% + (70% * var(--p))) !important; } }
.is-zooming.zoom-mas .container-menu .menu-padding { padding-left: calc(var(--section-spacing) * (1 - var(--p))) !important; }
.is-zooming.zoom-in .container-menu .burger-wrap { opacity: 1; }
.zoom-in.zoom-estudio .menu-estudio .burger-wrap, .zoom-in.zoom-obras .menu-obras .burger-wrap, .zoom-in.zoom-mas .menu-page .burger-wrap { opacity: 1; }
.zoom-in.zoom-obras .work-cats { animation: show .5s both; }
.zoom-in.zoom-mas .page-subtitle, .zoom-in .menu-arrow { animation: hide .5s both; }
.zoom-out .menu-arrow { animation: show .5s .8s both; }
.zoom-out .in-transition .blocks, .zoom-out .in-transition .work-cats { animation: hide 1s both; }
.zoom-out .in-transition .burger-wrap { animation: hide 1s both; position: absolute; }
.zoom-out .in-transition .page-subtitle { animation: show .5s .5s both; display: block !important; }
.zoom-out .in-transition .pie { animation: hide 1s both; }
.container-menu .zoom-keep-blocks .blocks { opacity: 1; }
@keyframes show { from { opacity: 0; } to { opacity: 1; } }
@keyframes hide { from { opacity: 1; } to { opacity: 0; } }
@keyframes to-top { from { transform: translateY(100vh); } to { transform: translateY(0); } }
@keyframes to-bottom { from { transform: translateY(0); } to { transform: translateY(100vh); } }
.slide-in-run { animation: to-top 1s var(--ease-in) both; }
.slide-out-run { animation: to-bottom 1s var(--ease-out) both; }


.muestra-menu { position: absolute; z-index: 4; left: 50%; bottom: 14px; translate: -50% 0; padding: 0; font-size: .75rem; color: #fff; mix-blend-mode: difference; white-space: nowrap; }
.homepage-menu:not(.menu-loaded) .muestra-menu { opacity: 0; }

body.is-zooming .muestra-menu { opacity: 0; transition: opacity .25s; }
body.is-busy { cursor: wait !important; }
body.is-busy > * { pointer-events: none; }


@media (prefers-reduced-motion: reduce) {
  * { animation-duration: .01ms !important; animation-delay: 0s !important; transition-duration: .01ms !important; transition-delay: 0s !important; scroll-behavior: auto !important; }
}
