
@property --line-fill { syntax: '<percentage>'; inherits: true; initial-value: 0%; }

:root {
  --black: #010101;
  --white: #f1f1f1;
  --fondo: #0a0a0a;
  --expo-out: cubic-bezier(.16, 1, .3, 1);
  --expo-in-out: cubic-bezier(.87, 0, .13, 1);
}

*, *::before, *::after { box-sizing: border-box; }
html {
  -webkit-text-size-adjust: 100%;
  font-size: clamp(16px, .8333vw, 24px);
  height: 100%;
  background: var(--fondo);
}
body {
  margin: 0;
  min-height: 100%;
  background: var(--fondo);
  color: var(--black);
  font-family: "Fragment Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;
  font-size: .7rem;
  line-height: 1;
  letter-spacing: -.02em;
  text-transform: uppercase;
  overflow: hidden;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
button { font: inherit; letter-spacing: inherit; text-transform: inherit; color: inherit; background: none; border: 0; padding: 0; margin: 0; cursor: pointer; }
img, video { display: block; max-width: 100%; }
p { margin: 0; }
ul { margin: 0; padding: 0; list-style: none; }
::-webkit-scrollbar { width: 0; height: 0; }
.w-inline-block { display: inline-block; max-width: 100%; }
.menu_mobile { display: none; }

.hidden_h1 { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.skip-link {
  position: fixed; top: .75rem; left: .75rem; z-index: 100000; padding: .55rem .85rem; background: #fff; color: #000; border: 1px solid #000;
  font: 400 12px/1 "Fragment Mono", monospace; text-transform: uppercase; text-decoration: none; transform: translateY(-200%); transition: transform .2s ease;
}
.skip-link:focus { transform: translateY(0); outline: 2px solid #000; outline-offset: 2px; }
:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.fixed_menu :focus-visible, .menu_expanded :focus-visible, .pagina :focus-visible { outline-color: #000; }

.txt { font-size: .65rem; }
.txt.forced-small-caps { letter-spacing: .01em; font-size: .7rem; }
.prof_cap { font-size: .65rem; }
.prof_cap.forced-small-caps { opacity: .65; letter-spacing: 0; font-size: .7rem; }


.fixed_menu {
  position: fixed; inset: .75rem .75rem auto; z-index: 999902; width: 35%; height: auto;
  background: #fff; border-radius: .1875em; display: flex; flex-direction: column; overflow: hidden;
}
.wrapper_box { position: relative; display: flex; flex-direction: column; padding: .75rem 0; }
.top_side { display: flex; margin: 0 .75rem; }
.flex_title { display: flex; flex-direction: column; row-gap: .2rem; width: 45%; }
.home-link { transition: all .45s; }
.home-link:hover { opacity: .65; }
.flex_menu { display: flex; width: 50%; margin-left: auto; }
.menu_links { display: flex; flex-direction: column; row-gap: .3rem; justify-content: flex-start; align-items: stretch; width: 40%; }
.h_link { position: relative; display: flex; justify-content: flex-start; align-items: center; transition: transform .9s var(--expo-out); }
.h_link:hover { transform: translate(.8em); }
.h_link .txt { transition: opacity .9s var(--expo-out); }
.h_link.menu_hamburger { display: none; }
.menu_links:has(.h_link:hover) .h_link:not(:hover):not([aria-current]) .txt { opacity: .55; }
.arrow_menu_nav {
  position: absolute; left: -.8em; top: 50%; display: flex; align-items: center; width: .55em; height: 1.05em; opacity: 0;
  transform: translateY(-50%) translateX(-.35em); transition: opacity .9s var(--expo-out), transform .9s var(--expo-out); pointer-events: none; color: var(--black);
}
.arrow_menu_nav svg { display: block; width: 100%; height: 100%; }
.h_link:hover .arrow_menu_nav { opacity: 1; transform: translateY(-50%) translateX(0); }
.expand_btn { margin-left: auto; transition: all .45s; cursor: pointer; user-select: none; }
.expand_btn:hover { opacity: .65; }
.expand_btn_primary { white-space: nowrap; }
.expand_btn_primary.is-scrambling { opacity: .35; }
.expand_btn_primary.is-done { opacity: 1; }
.bottom_side {
  display: flex; justify-content: flex-start; align-items: flex-end; border-top: 1px solid #01010140;
  margin-top: 4rem; padding: .75rem .75rem 0;
}
.counts_box { display: flex; flex-direction: column; row-gap: .3rem; align-items: flex-start; width: 35%; }
.counts_number { display: inline-flex; background: var(--black); color: var(--white); border-radius: .1875em; padding: .4em .7em; font-size: .65rem; }
.comission_box { display: flex; flex-direction: column; row-gap: .3rem; width: 50%; margin-left: auto; }
.email_comission { cursor: pointer; text-decoration: underline; transition: all .4s; }
.email_comission:hover { opacity: .55; }


.flex_expand_menu {
  display: flex; flex: 0 0 auto; position: relative; width: 100%; max-height: 0; opacity: 0; visibility: hidden; overflow: hidden; pointer-events: none;
}
.fixed_menu.is-expanded-layout { height: calc(100vh - 1.5rem); height: calc(100dvh - 1.5rem); }
.fixed_menu.is-expanded-layout .flex_expand_menu { flex: 1 1 auto; min-height: 0; max-height: none; visibility: visible; }
.fixed_menu.is-open .flex_expand_menu { pointer-events: auto; opacity: 1; }
.left_side { display: flex; flex-direction: column; justify-content: space-between; align-items: stretch; row-gap: 1.5em; width: 100%; height: 100%; min-height: 0; padding: 0 0 .75rem; }
.in_progress_projects { border-top: 1px solid #01010140; padding: .75rem .75rem 0 .72rem; flex: 0 0 auto; }
.newest_cap { display: flex; justify-content: space-between; margin-bottom: 1em; font-size: .7rem; opacity: .65; }
.newest_cap.latest_obra { opacity: 1; color: #010101a6; padding: .75rem 0; }
.caption_year { display: flex; justify-content: space-between; width: 50%; }
.current_in_process { display: flex; flex-direction: column; row-gap: .5em; }
.article_latest { display: flex; width: 100%; font-size: .7rem; }
.project_ongoing_name { width: 45%; font-size: .7rem; }
.client_name { width: 50%; margin-left: auto; font-size: .7rem; }
.obra_case_recent { display: flex; flex-direction: column; flex: 0 1 auto; min-height: 0; margin-top: auto; border-top: 1px solid #01010140; padding: 1.2em .75rem 0; }
.recent_project_main { display: flex; flex-direction: column; min-height: 0; width: 100%; }
.recent_project_main .newest_cap { flex: 0 0 auto; }
.visual_obra { position: relative; flex: 0 1 auto; min-height: 5rem; aspect-ratio: 4 / 3; width: 100%; border-radius: .18em; overflow: clip; background: #e9e9e9; }
.visual_obra .image { width: 100%; height: 100%; object-fit: cover; }
.case_name { display: flex; flex: 0 0 auto; margin-top: .45em; }
.name_recent { display: flex; column-gap: 1em; }
.ind_recent { width: 50%; margin-left: auto; }
.flex_recent { display: flex; column-gap: 1.5em; font-size: .68rem; }


.menu_expanded {
  position: fixed; z-index: 999901; top: .75rem; right: .75rem; left: calc(.75rem + 35% + .5rem); height: calc(100% - 1.5rem);
  background: #fff; border-radius: .18em; overflow: hidden; display: none; visibility: hidden;
}
.menu_expanded.is-mounted { display: block; visibility: visible; }
.exp_menu_inside { display: flex; width: 100%; height: 100%; }
.recent_music_visual { position: relative; display: flex; flex-direction: column; width: 49.9%; height: 100%; padding: .75rem; }
.exp_bio { display: flex; flex-direction: column; row-gap: .5em; width: 68%; padding-top: calc(var(--rest-h, 227px) - .75rem + .7rem); font-size: .68rem; line-height: 1.04; }
.exp_notas { margin-top: auto; margin-left: -.75rem; margin-right: -.75rem; padding: 1.2em .75rem 0; border-top: 1px solid #01010140; }
.lista_notas { display: flex; flex-direction: column; row-gap: .6em; padding-top: .6em; }
.date_name { display: flex; column-gap: 1em; width: 86%; }
.read_newest { margin-left: auto; transition: all .45s; }
.read_newest:hover { opacity: .65; }
.ongoing_projects { width: 49%; height: 100%; margin-left: auto; padding: 0 .75rem 0 0; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: none; }
.recent_project { width: 100%; padding: 0 0 .75rem; }
.flex_recent_project { display: flex; flex-direction: column; row-gap: 1.6em; }
.obra_feature { position: relative; display: block; width: 100%; }
.recent_project_item { display: flex; flex-direction: column; row-gap: .5em; }
.recent_image_box { position: relative; width: 100%; border-radius: .18em; overflow: hidden; }
.obra-media-clip { position: relative; z-index: 1; display: block; width: 100%; overflow: hidden; line-height: 0; aspect-ratio: 16 / 9; background: #e9e9e9; }
.obra-media-clip .image { width: 100%; height: 100%; object-fit: cover; transform: scale(1); transition: transform .9s var(--expo-out); will-change: transform; }
.obra-media-clip::after {
  content: ''; position: absolute; inset: 0; z-index: 2; pointer-events: none; opacity: 0; background: rgba(120, 120, 125, .08);
  -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); transition: opacity .85s var(--expo-out);
}
.flex_recent_project:has(.obra_feature:hover) .obra-media-clip .image { transition: transform .55s cubic-bezier(.16, 1, .4, 1); }
.flex_recent_project:has(.obra_feature:hover) .obra_feature:hover .obra-media-clip { z-index: 2; }
.flex_recent_project:has(.obra_feature:hover) .obra_feature:hover .obra-media-clip .image { transform: scale(1.035); }
.flex_recent_project:has(.obra_feature:hover) .obra_feature:not(:hover) .obra-media-clip::after { opacity: 1; }
.obra_feature .flex_recent { transition: opacity .55s cubic-bezier(.16, 1, .4, 1); }
.flex_recent_project:has(.obra_feature:hover) .obra_feature:not(:hover) .flex_recent { opacity: .45; }
.badges { position: absolute; z-index: 10; inset: 0 .5rem auto auto; display: flex; justify-content: flex-end; align-items: flex-start; column-gap: .5em; pointer-events: none; }
.badge_single { display: block; width: 2.6em; transform-origin: 50% 0; animation: cinta 5s ease-in-out infinite alternate; }
.badge_single:nth-child(2) { animation-duration: 6.4s; animation-delay: -1.7s; }
.badge_single svg { display: block; overflow: visible; }
@keyframes cinta { from { transform: rotate(-1.6deg); } to { transform: rotate(1.6deg); } }

.menu-panel-backdrop { position: fixed; inset: 0; z-index: 999900; opacity: 0; visibility: hidden; pointer-events: none; background: rgba(0, 0, 0, .48); }
.menu-panel-backdrop.is-visible { visibility: visible; pointer-events: auto; }


.paginas { position: relative; z-index: 999901; }
.pagina {
  position: fixed; z-index: 999901; top: .75rem; right: .75rem; left: calc(.75rem + 35% + .5rem); height: calc(100% - 1.5rem);
  background: #fff; border-radius: .18em; overflow: hidden; display: none; flex-direction: column;
}
.pagina.is-mounted { display: flex; }
.pg_cab { display: flex; justify-content: space-between; align-items: baseline; padding: .75rem; border-bottom: 1px solid #01010140; opacity: 1; flex: 0 0 auto; }
.pg_cab > span { opacity: .65; }
.pg_cerrar { text-decoration: underline; transition: opacity .4s; }
.pg_cerrar:hover { opacity: .55; }
.pg_cuerpo { flex: 1 1 auto; min-height: 0; padding: .75rem; overflow-y: auto; scrollbar-width: none; }
.pg_intro { max-width: 46em; font-size: .7rem; line-height: 1.25; margin-bottom: .9rem; letter-spacing: -.01em; }
.pg_sub { margin: 1.6rem 0 .6rem; opacity: .65; }
.pg_texto { font-size: .65rem; line-height: 1.25; opacity: .85; }
.pg_ul li { margin-bottom: .45rem; }
.pg_lista { display: flex; flex-direction: column; }
.pg_fila { display: flex; column-gap: 1em; align-items: baseline; padding: .7rem 0; border-top: 1px solid #01010124; }
.pg_fila:last-child { border-bottom: 1px solid #01010124; }
.pg_fila .pg_titulo { flex: 1 1 auto; }
.pg_fila .pg_tipo { width: 30%; opacity: .65; }
.pg_fecha { width: 7.5em; flex: 0 0 auto; opacity: .65; }
.pg_nota .pg_texto, .pg_nota .pg_titulo { line-height: 1.25; }
.pg_nota .pg_texto { margin-top: .4rem; max-width: 38em; text-transform: none; }
.pg_arch .pg_tipo { width: 22%; }
.pg_accion { margin-bottom: .7rem; }
.pg_boton { background: #010101; color: #f1f1f1; border-radius: .1875em; padding: .6em 1em; transition: opacity .4s; }
.pg_boton:hover { opacity: .65; }
.pg_boton:focus-visible { outline-color: #000; outline-offset: 3px; }
.pg_nota { min-height: 1.2em; font-size: .65rem; opacity: .75; }


.fixed_top { position: fixed; inset: 0 0 auto; z-index: 890; width: 55%; margin-left: auto; padding: .75rem; color: var(--white); pointer-events: none; }
.flex_top { display: flex; }
.time_city { display: flex; width: 50%; margin-left: auto; }
.time_dynamic { display: flex; column-gap: .5em; margin-left: auto; }
[data-text='random'], #frase { transition: opacity .35s ease; }
#frase.is-scrambling { opacity: .75; }
#frase.is-done { opacity: 1; }
.clock-colon { display: inline-block; transition: opacity .15s ease; }
.clock-colon.is-off { opacity: .15; }
.bottom_fixed { position: fixed; inset: auto 0 0 0; z-index: 990; width: 47%; padding: .75rem; pointer-events: none; }
.flex_bottom { display: flex; justify-content: flex-start; align-items: flex-end; width: 100%; }
.effects { width: 39%; }
.link_menu { color: var(--white); font-size: .7rem; text-decoration: none; pointer-events: auto; }
.link_menu.effects_spec { cursor: pointer; transition: all .4s; text-align: left; }
.link_menu.effects_spec:hover { opacity: .75; }
.socials_box { display: flex; align-items: center; column-gap: .5em; width: 54%; }
.pie_aviso { text-transform: none; }
.pie_aviso a { text-decoration: underline; text-underline-offset: .2em; transition: opacity .4s; }
.pie_aviso a:hover { opacity: .55; }


.hero { position: relative; z-index: 3; width: 100%; height: 100vh; background: var(--black); overflow: clip; }
.wrapper_hero { position: relative; z-index: 25; display: flex; flex-direction: column; width: 100%; height: 100%; padding: .75rem; }
.features_hero { position: relative; display: flex; justify-content: flex-start; align-items: flex-start; margin-top: auto; margin-bottom: auto; }
.tag { position: sticky; left: 0; display: flex; justify-content: flex-end; align-items: flex-start; width: auto; text-align: right; }
.tag_recent { margin-left: auto; padding: .4375em; border-radius: .1875em; background: var(--white); }
.flex_features { display: flex; width: 55%; margin-left: auto; padding-left: .75rem; }
.cms_features { width: 100%; }
.list_projects { display: flex; flex-direction: column; row-gap: .75em; }
.cms_line {
  position: relative; overflow: visible; opacity: .75; color: var(--white); cursor: pointer; padding-left: 0;
  transition: background-color .5s ease, padding .5s ease, border-radius .5s ease;
}
.cms_line:hover { opacity: 1; padding: 0; }
.cms_line.is-autoplay-current { opacity: 1; padding: .3em .4em; border-radius: .1875em; }
.cms_line:focus-within { opacity: 1; }
.line_features { position: relative; z-index: 1; display: flex; width: 100%; padding: 0; background: transparent; outline-offset: 3px; }
.line_features:focus-visible { outline: 2px solid var(--white); outline-offset: 4px; border-radius: .1875em; }
.lf-layer { display: flex; align-items: center; width: 100%; }
.lf-layer--white { position: relative; z-index: 1; color: var(--white); }
.lf-layer--black { position: absolute; inset: 0; z-index: 2; color: var(--black); pointer-events: none; clip-path: inset(-.5em calc(100% - var(--line-fill, 0%)) -.5em 0); opacity: 0; visibility: hidden; }
.cms_line.is-autoplay-current .lf-layer--black { opacity: 1; visibility: visible; }
.name { width: 50%; }
.industry { width: 40%; }
.year { width: 10%; text-align: right; }
.line_progress { position: absolute; inset: 0; z-index: 0; border-radius: .1875em; background: var(--white); transform: scaleX(0); transform-origin: left center; pointer-events: none; }
.cms_line.is-autoplay-running { --line-fill: 0%; animation: cms-line-fill-text var(--autoplay-duration, 20s) linear forwards; }
.cms_line.is-autoplay-running .line_progress { animation: cms-line-loader var(--autoplay-duration, 20s) linear forwards; }
.cms_line.is-autoplay-resumed.is-autoplay-running, .cms_line.is-autoplay-resumed.is-autoplay-running .line_progress { animation: none; }
@keyframes cms-line-loader { to { transform: scaleX(1); } }
@keyframes cms-line-fill-text { to { --line-fill: 100%; } }

.background_cases { position: absolute; inset: 0; z-index: 10; width: 100%; height: 100%; overflow: hidden; background: #000; isolation: isolate; }
.cms_background { position: absolute; inset: 0; z-index: 1; }
.cms_flex { position: absolute; inset: 0; width: 100%; height: 100%; perspective: 1200px; }
.overlay_slightly { position: absolute; inset: 0; z-index: 15; pointer-events: none; background: transparent; }
.cms_item { position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; overflow: hidden; opacity: 0; visibility: hidden; pointer-events: none; transform-origin: center center; background: #000; }
.cms_item.is-active { opacity: 1; visibility: visible; z-index: 1; }
.cms_item .poster, .cms_item .video { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; filter: brightness(.78); transform-origin: center center; }
.cms_item .video { opacity: 0; }
.cms_item.is-video-ready .video { opacity: 1; }
.background_cases.is-video-switching .cms_item.is-leaving { opacity: 1 !important; visibility: visible !important; z-index: 2; will-change: clip-path; }
.background_cases.is-video-switching .cms_item.is-entering { opacity: 1 !important; visibility: visible !important; z-index: 1; will-change: transform; }
.background_cases.is-video-switching .cms_item.is-leaving .poster, .background_cases.is-video-switching .cms_item.is-leaving .video { will-change: transform; }
.background_cases.is-video-switching .cms_item.is-entering .poster, .background_cases.is-video-switching .cms_item.is-entering .video { will-change: filter; }
.background_cases.is-video-fading .cms_item.is-active { animation: cms-fade-out .45s ease forwards; }
@keyframes cms-fade-out { to { opacity: 0; } }


.home-mode-hold {
  --hold-p: 0; --glyph-morph: 0; position: fixed; right: .75rem; bottom: .75rem; z-index: 10050; display: inline-flex; flex-direction: row; align-items: center; gap: .75rem;
  padding: 0; margin: 0; border: 0; background: transparent; cursor: pointer; touch-action: none; user-select: none; -webkit-user-select: none; letter-spacing: normal;
}
.home-mode-hold[hidden] { display: none; }
.home-mode-hold:focus-visible { outline: 2px solid #fff; outline-offset: 4px; border-radius: 40px; }
.link_menu:focus-visible { outline-color: var(--white); }
.home-mode-hold.is-busy { pointer-events: none; }
.home-mode-hold-label { font: 400 .7rem/1.2 "Fragment Mono", ui-monospace, monospace; letter-spacing: .04em; text-transform: uppercase; color: rgba(255, 255, 255, .92); white-space: nowrap; text-shadow: 0 1px 8px rgba(0, 0, 0, .55); }
.home-mode-hold-dot { position: relative; flex: 0 0 auto; width: 56px; height: 56px; }
.home-mode-hold-ring { display: block; width: 56px; height: 56px; transform: rotate(-90deg); }
.home-mode-hold-ring circle { fill: none; stroke: rgba(255, 255, 255, .28); stroke-width: 1; }
.home-mode-hold-ring .home-mode-hold-progress { stroke: rgba(255, 255, 255, .92); stroke-width: 1; stroke-linecap: round; stroke-dasharray: 175.929; stroke-dashoffset: 175.929; }
.home-mode-hold.is-holding .home-mode-hold-ring circle:first-child { stroke: rgba(255, 255, 255, .42); }
.home-mode-hold-glyphs { --m: var(--glyph-morph, 0); --spread: 11px; --tight: calc(var(--spread) * (1 - var(--m) * .52)); position: absolute; left: 50%; top: 50%; width: 22px; height: 22px; margin: -11px 0 0 -11px; transform: rotate(calc(var(--m) * 90deg)); pointer-events: none; }
.home-mode-hold-glyph { position: absolute; left: 50%; top: 50%; width: 4px; height: 4px; margin: -2px 0 0 -2px; border-radius: 50%; background: rgba(255, 255, 255, .9); will-change: transform, opacity; }
.home-mode-hold-glyph--a { transform: translate(calc(-1 * var(--tight)), 0); }
.home-mode-hold-glyph--b { opacity: calc(1 - var(--m)); transform: translate(0, 0); }
.home-mode-hold-glyph--c { transform: translate(var(--tight), 0); }

.home-immersive-root { position: fixed; inset: 0; z-index: 140; opacity: 0; visibility: hidden; pointer-events: none; background: transparent; }
.home-immersive-root.is-active { opacity: 1; visibility: visible; pointer-events: auto; cursor: grab; touch-action: none; }
.home-immersive-root.is-active:active { cursor: grabbing; }
.home-immersive-root canvas { display: block; width: 100%; height: 100%; }
.home-immersive-ui { position: absolute; inset: 0; z-index: 2; pointer-events: none; color: #fff; }
.home-immersive-caption { position: absolute; left: 0; top: 0; min-width: 0; pointer-events: none; overflow: visible; opacity: 0; }
.home-immersive-caption-main { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, max-content); align-items: baseline; column-gap: 1.25rem; width: 100%; min-width: 0; }
.home-immersive-name, .home-immersive-year, .home-immersive-sub { position: relative; min-width: 0; min-height: 1.2em; overflow: hidden; font: 400 .7rem/1.2 "Fragment Mono", ui-monospace, monospace; letter-spacing: .01em; text-transform: uppercase; white-space: nowrap; }
.home-immersive-name { color: rgba(255, 255, 255, .92); }
.home-immersive-year, .home-immersive-sub { color: rgba(255, 255, 255, .55); }
.home-immersive-sub { text-align: right; max-width: 100%; }
.home-immersive-text { display: block; position: relative; max-width: 100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
html.is-carousel .features_hero { pointer-events: none; }
html.is-carousel .hero .background_cases { visibility: hidden; }


#portfolio-esc-fx { position: fixed; inset: 0; z-index: 99990; pointer-events: none !important; overflow: hidden; }
#portfolio-esc-fx canvas, #portfolio-esc-fx .fx-canvas, #portfolio-esc-fx .fx-layer, #portfolio-esc-fx .fx-lens { pointer-events: none !important; }
#portfolio-esc-fx canvas, #portfolio-esc-fx .fx-canvas, #portfolio-esc-fx .fx-layer { position: absolute; inset: 0; width: 100%; height: 100%; }
#portfolio-esc-fx .fx-canvas--noise { mix-blend-mode: overlay; opacity: .9; image-rendering: pixelated; image-rendering: crisp-edges; }
#portfolio-esc-fx .fx-canvas--pixel-grid { mix-blend-mode: soft-light; opacity: .95; image-rendering: pixelated; image-rendering: crisp-edges; }
#portfolio-esc-fx .fx-canvas--bubbles { z-index: 2; }
#portfolio-esc-fx .fx-canvas--editorial { mix-blend-mode: overlay; opacity: .92; }
#portfolio-esc-fx .fx-cursor-gradient {
  background: radial-gradient(circle 38vmax at var(--fx-x, 50%) var(--fx-y, 50%), rgba(255, 120, 180, .28) 0%, rgba(120, 180, 255, .16) 32%, rgba(255, 220, 120, .08) 52%, transparent 72%),
    radial-gradient(circle 55vmax at calc(var(--fx-x, 50%) + 12vmax) calc(var(--fx-y, 50%) - 8vmax), rgba(90, 255, 200, .12) 0%, transparent 58%);
  mix-blend-mode: screen; opacity: .92;
}
#portfolio-esc-fx .fx-ir-grade { -webkit-backdrop-filter: grayscale(1) contrast(1.65) sepia(1) hue-rotate(300deg) saturate(3.4) brightness(.92); backdrop-filter: grayscale(1) contrast(1.65) sepia(1) hue-rotate(300deg) saturate(3.4) brightness(.92); background: rgba(40, 0, 60, .06); }
#portfolio-esc-fx .fx-ir-scan { background: repeating-linear-gradient(0deg, transparent, transparent 3px, rgba(255, 60, 20, .02) 3px, rgba(255, 60, 20, .02) 4px); opacity: .65; }
#portfolio-esc-fx .fx-ir-vignette { background: radial-gradient(ellipse 88% 78% at 50% 50%, transparent 52%, rgba(20, 0, 40, .32) 100%); }
#portfolio-esc-fx .fx-lens { position: absolute; top: 0; left: 0; border-radius: 50%; border: 2px solid rgba(255, 255, 255, .45); box-shadow: 0 0 0 1px rgba(0, 0, 0, .12), 0 8px 28px rgba(0, 0, 0, .18); overflow: hidden; will-change: transform; }
#portfolio-esc-fx .fx-lens--0 { -webkit-backdrop-filter: invert(1) hue-rotate(160deg) saturate(1.6); backdrop-filter: invert(1) hue-rotate(160deg) saturate(1.6); }
#portfolio-esc-fx .fx-lens--1 { -webkit-backdrop-filter: invert(1) hue-rotate(280deg) contrast(1.3); backdrop-filter: invert(1) hue-rotate(280deg) contrast(1.3); }
#portfolio-esc-fx .fx-lens--2 { -webkit-backdrop-filter: invert(1) sepia(1) hue-rotate(50deg) saturate(2.2); backdrop-filter: invert(1) sepia(1) hue-rotate(50deg) saturate(2.2); }


@media screen and (max-width: 991px) {
  .hero { height: 100vh; height: 100dvh; }
  .fixed_menu, .flex_title { width: 50%; }
  .menu_links { width: 100%; margin-left: auto; margin-right: 0; }
  .expand_btn { position: absolute; inset: 0 0 auto auto; display: block; margin: .75rem .75rem 0 0; }
  .counts_box { width: 50%; }
  .bottom_fixed { width: 70%; }
  .socials_box { column-gap: 1em; width: 100%; margin-left: 0; }
  .effects { display: none; }
  .fixed_top { width: 45%; }
  .time_city { width: 100%; }
  .caption_top { display: none; }
  .features_hero { flex-direction: column; margin-bottom: 12em; }
  .flex_features { width: 100%; padding-left: 0; }
  .tag { position: static; width: auto; margin-bottom: 5em; }
  .menu_expanded, .pagina { left: calc(.75rem + 50% + .5rem); }
  .exp_menu_inside { flex-direction: column; overflow-y: auto; scrollbar-width: none; }
  .recent_music_visual { width: 100%; height: auto; flex: 0 0 auto; }
  .exp_bio { padding-top: .75rem; width: 100%; }
  .exp_notas { margin-top: 1.5rem; }
  .ongoing_projects { width: 100%; height: auto; overflow: visible; padding: 0 .75rem; }
  .home-mode-hold, .home-immersive-root { display: none !important; }
}


@media screen and (max-width: 767px) {
  body { font-size: 12px; }
  .wrapper_hero { padding-left: .45rem; padding-right: .45rem; }
  .fixed_menu { inset: .45rem .45rem auto; width: auto; margin: 0; }
  .txt { font-size: .9em; }
  .txt.forced-small-caps { font-size: 1em; }
  .flex_title { justify-content: flex-start; align-items: flex-start; }
  .bottom_side { margin-top: 2rem; }
  .bottom_fixed { width: 90%; padding: .75rem .45rem 1rem; }
  .link_menu { font-size: .92em; }
  .fixed_top { display: none; }
  .h_link { display: none; }
  .h_link.menu_hamburger { display: flex; }
  .h_link.gen_mobile { font-size: 1.1em; display: flex; }
  .h_link:not([aria-current]) .arrow_menu_nav { display: none; }
  .menu_mobile .h_link.gen_mobile .arrow_menu_nav { left: -.8em; opacity: 1; transform: translateY(-50%); }
  .menu_mobile .h_link.gen_mobile[aria-current] { margin-left: .8em; }
  .features_hero { margin-bottom: 12em; }
  .tag_recent { font-size: 1em; }
  .tag { margin-bottom: 3em; }
  .name, .industry, .year { font-size: 1em; }
  .menu_expanded { display: none !important; }
  .pagina { inset: .45rem; left: .45rem; height: auto; z-index: 999903; }
  .pg_fila .pg_tipo { width: 36%; }
  .menu_mobile {
    position: fixed; z-index: 999; top: 10.95em; left: 0; right: 0; width: 100%; padding: .75rem .45rem; display: none; border-top: 1px solid #01010133; opacity: 0;
  }
  .menu_mobile.is-open { display: block; }
  .menu-mobile-overlay { position: fixed; left: 0; right: 0; bottom: 0; top: var(--menu-overlay-top, 0px); z-index: 998; background: rgba(0, 0, 0, .35); opacity: 0; visibility: hidden; pointer-events: none; }
  .menu-mobile-overlay.is-visible { opacity: 1; visibility: visible; pointer-events: auto; }
  .menu_mobile_ver { background: #fff; border-radius: .18em; overflow: clip; }
  .title_information { opacity: .65; width: 50%; }
  .title_information.mobile_title { width: 100%; padding: .75rem; margin-bottom: 3em; border-bottom: 1px solid #01010140; }
  .mobile_menu { display: flex; flex-direction: column; row-gap: .7em; width: 100%; margin-left: auto; padding: .75rem; }
  .comission_box { width: 50%; }
  .fixed_menu.is-expanded-layout { height: calc(100vh - .45rem); height: calc(100dvh - .45rem); }
}
@media screen and (max-width: 479px) {
  .wrapper_hero { padding-left: .4rem; padding-right: .4rem; }
  .fixed_menu { inset: .4rem .4rem auto; }
  .fixed_menu.is-expanded-layout { height: calc(100vh - .4rem); height: calc(100dvh - .4rem); }
  .txt.forced-small-caps { font-size: .92em; }
  .prof_cap.forced-small-caps { font-size: .92em; }
  .flex_title { width: auto; }
  .top_side { justify-content: flex-start; align-items: flex-start; }
  .bottom_fixed { width: 100%; padding-bottom: 1rem; padding-left: .45rem; }
  .tag_recent { font-size: .92em; }
  .tag { margin-bottom: 4em; }
  .name, .industry, .year { font-size: .92em; }
  .title_information { margin-bottom: 5em; }
  .title_information.mobile_title { margin-bottom: 4em; padding: .75em .75rem .75rem; }
  .h_link.gen_mobile { font-size: 1.2em; }
  .menu_mobile { top: 11.85em; padding: 0 .4rem .4rem; }
  .mobile_menu { row-gap: .85em; padding-bottom: 1rem; padding-left: .75rem; padding-right: .75rem; }
}


@media (prefers-reduced-motion: reduce) {
  .cms_line, .h_link, .expand_btn, .home-link, .email_comission, .link_menu, .read_newest, .arrow_menu_nav { transition: none !important; }
  .cms_line.is-autoplay-running, .cms_line.is-autoplay-running .line_progress { animation: none !important; }
  .badge_single { animation: none !important; }
  .obra-media-clip .image { transition: none !important; }
  .obra-media-clip::after { display: none; }
  .home-mode-hold, .home-immersive-root, #portfolio-esc-fx { display: none !important; }
  .cms_item .video { display: none; }
}
