
/* assets/site-base.css */
:root {--b: #000000; --w: #f2f0ec; --az: #0000FF; --az2: #1a1aff; --az-text: #6470ff; --az-light: rgba(0,0,255,.1); --az-glow: 0 0 32px rgba(0,0,255,.4),0 0 64px rgba(0,0,255,.12); --s1: #0c0c0c; --s2: #141414; --s3: #1e1e1e; --s4: #2c2c2c; --s5: #888888; --s6: #aaaaaa; --s7: #bbbbbb; --s8: #cccccc; --br: rgba(242,240,236,.06); --br2: rgba(242,240,236,.12); --br3: rgba(242,240,236,.2); --ff: 'Plus Jakarta Sans','Helvetica Neue',sans-serif; --fd: 'Plus Jakarta Sans','Helvetica Neue',sans-serif; --fi: 'Plus Jakarta Sans','Helvetica Neue',sans-serif; --fm: 'Plus Jakarta Sans','Helvetica Neue',sans-serif; --ease: cubic-bezier(.4,0,.2,1); --spring: cubic-bezier(.34,1.56,.64,1); --t: .26s var(--ease); --r: 8px; --nav-scrolled-bg: rgba(4,4,4,.92); --em-color: rgba(242,240,236,.55);}
:root[data-theme="light"] {--az-text: #0000cc; --b: #f0ede8; --w: #0c0c0c; --s1: #e6e3de; --s2: #dad7d2; --s3: #c8c5c0; --s4: #aaa8a4; --s5: #606060; --s6: #505050; --s7: #333; --s8: #111; --br: rgba(0,0,0,.07); --br2: rgba(0,0,0,.13); --br3: rgba(0,0,0,.22); --nav-scrolled-bg: rgba(240,237,232,.94); --em-color: rgba(12,12,12,.62);}
*,  ::before,  ::after {box-sizing: border-box; margin: 0px; padding: 0px;}
html {scroll-behavior: smooth; text-size-adjust: 100%;}
body {background: var(--b); color: var(--w); font-family: var(--ff); font-size: 16px; font-weight: 400; line-height: 1.65; overflow-x: hidden; -webkit-font-smoothing: antialiased; text-rendering: optimizelegibility;}
body.loading {overflow: hidden;}
a {color: inherit; text-decoration: none;}
img,  video {display: block; max-width: 100%; height: auto;}
ul,  ol {list-style: none;}
button {cursor: pointer; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; background: none; font-family: inherit; color: inherit; touch-action: manipulation;}
:focus-visible {outline: 1px solid var(--az); outline-offset: 4px;}
::selection {background: rgba(26, 26, 255, 0.22); color: var(--w);}
::-webkit-scrollbar {width: 2px;}
::-webkit-scrollbar-track {background: transparent;}
::-webkit-scrollbar-thumb {background: var(--s4);}
::-webkit-scrollbar-thumb:hover {background: var(--az);}
svg.mm-ast {fill: currentcolor; display: block; flex-shrink: 0;}
.nav-logo-img {height: 26px; width: 26px; display: block; flex-shrink: 0;}
.nav-logo-img ~ .nav-logo-text {display: block;}
.footer-logo-img {height: 34px; width: 34px; display: block;}
.footer-logo-img ~ span {display: none;}
.pre-logo-img {height: clamp(52px, 9vw, 80px); width: clamp(52px, 9vw, 80px); display: block; margin: 0px auto; animation: 2.2s ease-in-out 0s infinite normal none running preLogoPulse;}
@keyframes preLogoPulse { 
  0%, 100% { opacity: 0.75; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.04); }
}
.pre-logo-img ~ .pre-logo-text {display: none;}
#preloader {position: fixed; inset: 0px; z-index: 9999; background: var(--b); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 32px; transition: opacity .9s var(--ease),visibility .9s;}
#preloader.done {opacity: 0; visibility: hidden; pointer-events: none;}
#preloader.done,  #preloader.done * {animation: auto ease 0s 1 normal none running none !important;}
.pre-eyebrow {font-family: var(--fm); font-weight: 700; font-size: 9px; letter-spacing: 0.32em; text-transform: uppercase; color: var(--s6); opacity: 0; animation: 0.5s ease 0.1s 1 normal both running fadeIn;}
.pre-logo {font-family: var(--fd); font-weight: 800; font-size: clamp(56px, 12vw, 108px); letter-spacing: -0.03em; text-transform: uppercase; color: var(--w); display: flex; align-items: baseline; overflow: hidden;}
.pre-logo span {display: inline-block; transform: translateY(110%); animation: preSlide .75s var(--ease) both; will-change: transform;}
.pre-logo span:nth-child(1) {animation-delay: 0.04s;}
.pre-logo span:nth-child(2) {animation-delay: 0.09s;}
.pre-logo span:nth-child(3) {animation-delay: 0.14s;}
.pre-logo span:nth-child(4) {animation-delay: 0.19s;}
.pre-logo span:nth-child(5) {animation-delay: 0.24s;}
.pre-ast {color: var(--az-text); font-size: 0.6em; vertical-align: top; margin-top: 0.18em; animation-delay: 0.3s !important;}
@keyframes preSlide { 
  0% { transform: translateY(110%); }
  100% { transform: translateY(0px); }
}
@keyframes fadeIn { 
  0% { opacity: 0; }
  100% { opacity: 1; }
}
.pre-track {width: 180px; height: 1px; background: var(--s3);}
.pre-fill {height: 100%; width: 0px; background: var(--az); animation: preLoad 1.8s var(--ease) .4s both;}
@keyframes preLoad { 
  0% { width: 0px; }
  100% { width: 100%; }
}
body::after {content: ""; position: fixed; inset: 0px; pointer-events: none; z-index: 8000; background-image: none; opacity: 0.18; mix-blend-mode: overlay;}
.cd,  .cr {position: fixed; left: 0px; top: 0px; pointer-events: none; border-radius: 50%; z-index: 7999; will-change: transform;}
.cd {width: 5px; height: 5px; background: var(--w); mix-blend-mode: difference; transition: width 0.1s, height 0.1s, opacity 0.2s;}
.cr {width: 32px; height: 32px; border: 1px solid rgba(242, 240, 236, 0.25); transition: width .28s var(--ease),height .28s var(--ease),border-color .2s,opacity .25s,background .25s; display: flex; align-items: center; justify-content: center;}
.cr-label {position: absolute; font-family: var(--fm); font-size: 6px; font-weight: 500; letter-spacing: 0.14em; text-transform: uppercase; color: var(--w); opacity: 0; transition: opacity 0.2s; pointer-events: none; white-space: nowrap; transform: translate(-50%, -50%); left: 50%; top: 50%;}
body.chov .cr {width: 48px; height: 48px; border-color: rgba(26, 26, 255, 0.6);}
body.c-play .cd {opacity: 0;}
body.c-play .cr {width: 72px; height: 72px; background: rgba(26, 26, 255, 0.88); border-color: transparent;}
body.c-play .cr-label {opacity: 1; font-size: 8px;}
body.c-ver .cd {opacity: 0;}
body.c-ver .cr {width: 60px; height: 60px; background: rgba(242, 240, 236, 0.1); border-color: rgba(242, 240, 236, 0.45);}
body.c-ver .cr-label {opacity: 1;}
body.c-cta .cr {width: 44px; height: 44px; border-color: var(--az-text); background: var(--az-light);}
body.cclick .cr {width: 24px; height: 24px; opacity: 0.5;}
@media (hover: none) {
.cd,  .cr {display: none;}
}
.skip {position: absolute; top: -100%; left: 16px; padding: 8px 20px; background: var(--az); font-size: 13px; font-weight: 700; z-index: 10001; border-radius: 0px 0px 6px 6px;}
.skip:focus {top: 0px;}
.nav {position: fixed; inset: 0px 0px auto; z-index: 500; height: 68px; display: flex; align-items: center; padding: 0px clamp(20px, 4vw, 52px); transition: height .3s var(--ease),background .3s,border-color .3s;}
.nav.scrolled {height: 56px; background: var(--nav-scrolled-bg); backdrop-filter: none; border-bottom: 1px solid var(--br); box-shadow: 0 1px 0 var(--br);}
.nav-inner {width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 16px;}
.nav-logo {font-family: var(--fd); font-size: 24px; letter-spacing: 0.08em; color: var(--w); display: flex; align-items: center; gap: 8px; transition: opacity var(--t);}
.nav-logo:hover {opacity: 0.7;}
.nav-logo em {color: var(--az-text); font-style: normal; font-size: 0.58em; vertical-align: top; margin-top: 0.22em;}
.nav-links {display: flex; align-items: center; gap: 32px;}
.nav-links a,  .nav-logo-text {white-space: nowrap;}
.nav-cta {white-space: nowrap; flex-shrink: 0;}
.nav-links a {font-family: var(--fm); font-size: 10px; font-weight: 400; letter-spacing: 0.18em; text-transform: uppercase; color: var(--s7); transition: color var(--t); position: relative; padding-bottom: 2px;}
.nav-links a::after {content: ""; position: absolute; bottom: 0px; left: 0px; width: 0px; height: 1px; background: var(--az); transition: width .3s var(--ease);}
.nav-links a:hover {color: var(--w);}
.nav-links a:hover::after,  .nav-links a.on::after {width: 100%;}
.nav-links a.on {color: var(--w);}
.nav-cta {display: inline-flex; align-items: center; gap: 8px; background: transparent; color: var(--w); font-family: var(--fm); font-weight: 500; font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; border: 1px solid var(--br2); border-radius: 2px; padding: 9px 20px; transition: background var(--t),border-color var(--t),color var(--t),transform .2s;}
.nav-cta:hover {background: var(--az); border-color: var(--az-text); transform: translateY(-1px);}
.nav-cta svg {width: 11px; height: 11px; transition: transform var(--t);}
.nav-cta:hover svg {transform: translateX(2px);}
.ham {display: none; flex-direction: column; gap: 5px; width: 26px; padding: 4px 0px;}
.nav-right {display: flex; align-items: center; gap: 8px; padding-left: 20px; border-left: 1px solid var(--br2);}
@media (max-width: 1100px) {
.nav-links {gap: 16px;}
.nav-cta {padding: 9px 14px;}
.nav-right {padding-left: 12px;}
}
@media (max-width: 1000px) {
.nav-links,  .nav-cta {display: none;}
.ham {display: flex;}
}
.ham span {display: block; height: 1px; background: var(--w); border-radius: 1px; transition: transform .3s var(--ease),opacity .2s,width .3s;}
.ham span:nth-child(2) {width: 65%;}
.ham.on span:nth-child(1) {transform: translateY(6px) rotate(45deg);}
.ham.on span:nth-child(2) {opacity: 0; width: 0px;}
.ham.on span:nth-child(3) {transform: translateY(-6px) rotate(-45deg);}
.drawer {position: fixed; inset: 0px; z-index: 400; background: rgba(4, 4, 4, 0.97); backdrop-filter: none; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; opacity: 0; pointer-events: none; transition: opacity .3s var(--ease);}
.drawer.on {opacity: 1; pointer-events: all;}
.drawer a {font-family: var(--fd); font-size: clamp(38px, 9vw, 68px); letter-spacing: 0.03em; color: rgba(242, 240, 236, 0.4); transition: color 0.2s, transform 0.2s; padding: 4px 0px; transform: translateX(-16px); opacity: 0;}
.drawer.on a {opacity: 1; transform: translateX(0px); transition: color .2s,transform .4s var(--ease),opacity .4s var(--ease);}
.drawer.on a:nth-child(1) {transition-delay: 0.04s;}
.drawer.on a:nth-child(2) {transition-delay: 0.09s;}
.drawer.on a:nth-child(3) {transition-delay: 0.14s;}
.drawer.on a:nth-child(4) {transition-delay: 0.19s;}
.drawer.on a:nth-child(5) {transition-delay: 0.24s;}
.drawer.on a:nth-child(6) {transition-delay: 0.29s;}
.drawer a:hover {color: rgb(242, 240, 236); transform: translateX(6px) !important;}
.drawer-div {width: 40px; height: 1px; background: var(--br2); margin: 16px 0px;}
.drawer-cta {margin-top: 8px; background: var(--az); color: rgb(255, 255, 255); font-family: var(--fm); font-size: 11px; font-weight: 500; letter-spacing: 0.14em; text-transform: uppercase; border-radius: 2px; padding: 14px 40px; transition: background 0.2s 0.28s, transform 0.2s;}
.drawer.on .drawer-cta {opacity: 1; transform: translateX(0px) !important;}
.drawer .drawer-cta:hover {background: rgb(32, 32, 255); transform: translateY(-2px) !important;}
.drawer-social {display: flex; gap: 20px; margin-top: 24px; opacity: 0; transition: opacity 0.4s 0.32s;}
.drawer.on .drawer-social {opacity: 1;}
.drawer-social a {font-family: var(--fm); font-size: 9px; letter-spacing: 0.14em; color: var(--s6); transition: color 0.2s;}
.drawer-social a:hover {color: rgb(242, 240, 236);}
.ticker {position: absolute; bottom: 0px; left: 0px; right: 0px; z-index: 10; background: var(--az); overflow: hidden; height: 36px; display: flex; align-items: center;}
.ticker-inner {display: flex; white-space: nowrap; animation: 35s linear 0s infinite normal none running tickerScroll;}
.ticker-track {display: flex; align-items: center;}
.ticker-item {font-family: var(--fd); font-size: 13px; letter-spacing: 0.2em; color: rgba(255, 255, 255, 0.75); padding: 0px 28px; display: flex; align-items: center; gap: 20px;}
.ticker-dot {width: 3px; height: 3px; background: rgba(255, 255, 255, 0.4); border-radius: 50%; flex-shrink: 0;}
@keyframes tickerScroll { 
  0% { transform: translateX(0px); }
  100% { transform: translateX(-50%); }
}
.hero {position: relative; height: 100svh; min-height: 600px; overflow: hidden; background: rgb(0, 0, 0); display: flex; flex-direction: column;}
.hero-video-fallback {position: absolute; inset: 0px; z-index: 0; background: none;}
.hero-video-fallback::before {content: ""; position: absolute; inset: 0px; background: none; pointer-events: none;}
.hero-grad-overlay {position: absolute; inset: 0px; z-index: 1; background: none;}
.hero-gif-panel {position: absolute; right: 0px; top: 0px; bottom: 0px; width: 46%; z-index: 1; clip-path: polygon(10% 0px, 100% 0px, 100% 100%, 0px 100%); overflow: hidden;}
.hero-gif-grid {display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr 1fr; height: 100%; gap: 2px;}
.hero-gif-cell {overflow: hidden; position: relative; background: var(--s2);}
.hero-gif-cell:nth-child(1) {grid-row: span 2;}
.hero-gif-cell video,  .hero-gif-cell img {width: 100%; height: 100%; object-fit: cover; display: block;}
.hero-gif-panel::after {content: ""; position: absolute; inset: 0px; z-index: 2; background: none;}
.hgc-1 {background: none;}
.hgc-2 {background: none;}
.hgc-3 {background: none;}
.hgc-4 {background: none;}
.hgc-5 {background: none;}
.hgc-inner {width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; font-family: "Plus Jakarta Sans", sans-serif; color: rgba(255, 255, 255, 0.05); letter-spacing: 0.06em;}
.hero-content {position: absolute; inset: 0px; z-index: 2; display: flex; flex-direction: column; justify-content: space-between; padding: clamp(80px, 10vh, 112px) clamp(20px, 4vw, 52px) clamp(44px, 6vh, 64px);}
.hero-top {display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; flex-wrap: wrap;}
.agenda-badge {display: inline-flex; align-items: center; gap: 10px; background: rgba(255, 255, 255, 0.05); backdrop-filter: none; border: 1px solid rgba(255, 255, 255, 0.12); border-radius: 2px; padding: 9px 18px 9px 12px; font-family: var(--fm); font-size: 9px; letter-spacing: 0.26em; text-transform: uppercase; color: var(--w); opacity: 0; animation: fadeUp .6s var(--spring) .7s both;}
.agenda-dot-wrap {position: relative; width: 8px; height: 8px; flex-shrink: 0;}
.agenda-dot {width: 8px; height: 8px; background: rgb(0, 0, 255); border-radius: 50%; position: relative; z-index: 1; animation: 2.6s ease 0s infinite normal none running agendaPulse;}
.agenda-ring {position: absolute; inset: -5px; border-radius: 50%; border: 1px solid rgb(0, 0, 255); animation: 2.6s ease 0s infinite normal none running agendaRing;}
@keyframes agendaPulse { 
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.35; transform: scale(0.65); }
}
@keyframes agendaRing { 
  0% { transform: scale(1); opacity: 0.6; }
  70% { transform: scale(3); opacity: 0; }
  100% { transform: scale(1); opacity: 0; }
}
.hero-microcopy {font-family: var(--fm); font-size: 9px; letter-spacing: 0.18em; text-transform: uppercase; color: rgba(255, 255, 255, 0.3); padding: 7px 14px; border-radius: 2px; border: 1px solid rgba(255, 255, 255, 0.07); backdrop-filter: none; transition: color 0.3s, border-color 0.3s; cursor: default; display: inline-block;}
.hero-mid {flex: 1 1 0%; display: flex; flex-direction: column; justify-content: flex-end; padding-bottom: 16px;}
.hero-year {font-family: var(--fm); font-size: 10px; letter-spacing: 0.14em; color: rgba(255, 255, 255, 0.28); margin-bottom: 14px;}
.hero-name {font-family: var(--fd); font-size: clamp(72px, 13vw, 156px); line-height: 0.86; letter-spacing: 0.025em; color: var(--w); overflow: hidden;}
.hero-name-line {display: block; transform: translateY(112%); opacity: 0; animation: slideUp .9s var(--spring) both;}
.hero-name-line:nth-child(1) {animation-delay: 0.9s;}
.hero-name-line:nth-child(2) {animation-delay: 1s;}
.hero-name-blue {color: var(--az);}
.hero-sub {margin-top: 22px; display: flex; align-items: center; gap: 20px; opacity: 0; animation: 0.7s ease 1.2s 1 normal both running fadeUp;}
.hero-sub-txt {font-size: clamp(13px, 1.4vw, 15px); color: rgba(255, 255, 255, 0.55); max-width: 360px; line-height: 1.7;}
.hero-sub-txt em {font-style: normal; color: rgba(255, 255, 255, 0.85);}
.hero-sub-line {width: 1px; height: 44px; background: rgba(255, 255, 255, 0.15); flex-shrink: 0;}
.hero-bottom {display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; opacity: 0; animation: 0.7s ease 1.4s 1 normal both running fadeUp; flex-wrap: wrap;}
.hero-stat-row {display: flex; gap: 28px; align-items: flex-end; flex-wrap: wrap;}
.hero-stat {text-align: center;}
.hero-stat-val {font-family: var(--fd); font-size: 30px; color: var(--w); line-height: 1; letter-spacing: 0.04em;}
.hero-stat-lbl {font-family: var(--fm); font-size: 8px; letter-spacing: 0.22em; text-transform: uppercase; color: rgba(255, 255, 255, 0.35); margin-top: 2px;}
.hero-stat-div {width: 1px; height: 36px; background: rgba(255, 255, 255, 0.1); align-self: center;}
.hero-scroll {display: flex; flex-direction: column; align-items: center; gap: 8px; cursor: pointer;}
.hero-scroll-txt {font-family: var(--fm); font-size: 7px; letter-spacing: 0.24em; text-transform: uppercase; color: rgba(255, 255, 255, 0.3);}
.hero-scroll-line {width: 1px; height: 44px; background: none; animation: 2.2s ease 0s infinite normal none running scrollPulse;}
@keyframes scrollPulse { 
  0%, 100% { opacity: 0.35; transform: scaleY(1); }
  50% { opacity: 0.9; transform: scaleY(0.55); }
}
@keyframes slideUp { 
  0% { transform: translateY(112%); opacity: 0; }
  100% { transform: translateY(0px); opacity: 1; }
}
@keyframes fadeUp { 
  0% { opacity: 0; transform: translateY(18px); }
  100% { opacity: 1; transform: translateY(0px); }
}
.wrap {max-width: 1320px; margin: 0px auto; padding: 0px clamp(20px, 4vw, 52px);}
.sec {padding: clamp(72px, 10vw, 128px) 0px;}
.sec-sm {padding: clamp(56px, 7vw, 80px) 0px;}
.bg1 {background: var(--s1);}
.dvd {height: 1px; background: none; margin: 0px;}
.label {display: inline-flex; align-items: center; gap: 10px; font-family: var(--fm); font-size: 9px; letter-spacing: 0.28em; text-transform: uppercase; color: var(--az-text); margin-bottom: 20px;}
.label::before {content: ""; width: 20px; height: 1px; background: var(--az-text); flex-shrink: 0;}
.h-xl {font-family: var(--fd); font-weight: 800; font-size: clamp(44px, 6.5vw, 88px); line-height: 0.92; letter-spacing: -0.03em; text-transform: uppercase;}
.h-mix {font-family: var(--fd); font-weight: 800; font-size: clamp(34px, 5vw, 64px); line-height: 1; letter-spacing: -0.025em; text-transform: uppercase;}
.h-mix em {font-family: var(--fi); font-weight: 300; font-style: normal; color: var(--em-color); text-transform: none; letter-spacing: 0px;}
.body-lg {font-size: clamp(14px, 1.6vw, 17px); color: var(--s7); line-height: 1.75; font-weight: 400;}
.rv {opacity: 0; transform: translateY(28px) scale(0.985); filter: blur(3px); transition: opacity .75s var(--ease),transform .75s var(--ease),filter .75s var(--ease);}
.rv.vis {opacity: 1; transform: none; filter: none;}
.rv-d1 {transition-delay: 0.1s;}
.rv-d2 {transition-delay: 0.2s;}
.rv-d3 {transition-delay: 0.3s;}
.rv-d4 {transition-delay: 0.4s;}
.rv-d5 {transition-delay: 0.5s;}
.stats-bar {background: var(--s1); border-top: 1px solid var(--br); border-bottom: 1px solid var(--br); padding: 28px 0px;}
.stats-inner {display: flex; align-items: center; justify-content: center; gap: 0px; flex-wrap: wrap;}
.stat-item {display: flex; flex-direction: column; align-items: center; padding: 8px 40px;}
.stat-val {font-family: var(--fd); font-weight: 800; font-size: clamp(28px, 4vw, 48px); color: var(--w); line-height: 1; letter-spacing: -0.02em;}
.stat-lbl {font-family: var(--fm); font-weight: 700; font-size: 8px; letter-spacing: 0.24em; text-transform: uppercase; color: var(--s6); margin-top: 4px;}
.stat-divider {width: 1px; height: 44px; background: var(--br2);}
@media (max-width: 600px) {
.stat-item {padding: 8px 20px;}
.stat-divider {display: none;}
}
.btn {display: inline-flex; align-items: center; gap: 10px; font-family: var(--fm); font-size: 10px; font-weight: 500; letter-spacing: 0.16em; text-transform: uppercase; border-radius: 2px; padding: 13px 26px; transition: all .2s var(--ease); cursor: pointer;}
.btn-pri {background: var(--az); color: rgb(255, 255, 255); border: 1px solid var(--az);}
.btn-pri:hover {background: rgb(32, 32, 255); transform: translateY(-2px); box-shadow: var(--az-glow);}
.btn-sec {background: transparent; color: var(--w); border: 1px solid var(--br2);}
.btn-sec:hover {border-color: var(--w); transform: translateY(-1px);}
.suites-intro {display: grid; grid-template-columns: 1fr 1fr; gap: clamp(32px, 5vw, 80px); align-items: center; margin-bottom: clamp(40px, 6vw, 72px);}
.suites-intro-visual {display: flex; flex-direction: column; gap: 12px;}
.suites-split-viz {display: grid; grid-template-columns: 1fr 1fr; gap: 10px;}
.suite-viz-half {display: flex; flex-direction: column; justify-content: flex-end; padding: 28px 20px; background: var(--s1); min-height: 180px; border: 1px solid var(--br2); border-radius: 8px; transition: background 0.3s, border-color 0.3s; position: relative; overflow: hidden; cursor: pointer;}
.suite-viz-half::before {content: ""; position: absolute; inset: 0px; background: none; opacity: 0; transition: opacity 0.3s;}
.suite-viz-half:hover {background: var(--s2);}
.suite-viz-half:hover::before {opacity: 1;}
.suite-viz-ico {font-size: 20px; margin-bottom: 10px; color: var(--az-text); width: 28px; height: 28px; display: flex; align-items: center; justify-content: center;}
.suite-viz-ico svg {width: 28px; height: 28px; flex-shrink: 0;}
.suite-viz-lbl {font-family: var(--fm); font-size: 9px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--s7); transition: color 0.2s;}
.suite-viz-half:hover .suite-viz-lbl {color: var(--w);}
.suite-viz-arr {margin-top: 8px; width: 16px; height: 16px; color: var(--s5); transition: transform 0.2s, color 0.2s;}
.suite-viz-arr svg {width: 16px; height: 16px;}
.suite-viz-half:hover .suite-viz-arr {transform: translate(2px, -2px); color: var(--az-text);}
.suite-tags-row {display: flex; gap: 6px; flex-wrap: wrap;}
.suite-tag-sm {font-family: var(--fm); font-size: 8px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--s6); border: 1px solid var(--br); padding: 5px 12px; border-radius: 2px;}
.suites-tabs {display: flex; gap: 2px; border: 1px solid var(--br2); border-radius: 8px; overflow: hidden; margin-bottom: 14px; flex-wrap: wrap;}
.suite-tab {flex: 1 1 0%; padding: 12px 20px; font-family: var(--fm); font-size: 9px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--s6); background: var(--s2); transition: background 0.2s, color 0.2s; min-width: 120px; min-height: 44px; cursor: pointer;}
.suite-tab.on {background: var(--az); color: rgb(255, 255, 255);}
.suite-tab:hover:not(.on) {background: var(--s3); color: var(--w);}
.suite-panel {display: block;}
.suite-panel--hidden {display: none;}
@keyframes suitePanelIn { 
  0% { opacity: 0; transform: translateY(14px) scale(0.995); }
  100% { opacity: 1; transform: none; }
}
.suite-panel--enter {animation: suitePanelIn .42s var(--ease);}
@keyframes suiteCardIn { 
  0% { opacity: 0; transform: translateY(16px); }
  100% { opacity: 1; transform: none; }
}
.suite-panel--enter .svc-card {animation: suiteCardIn .5s var(--ease) both;}
.suite-panel--enter .svc-card:nth-child(1) {animation-delay: 0.05s;}
.suite-panel--enter .svc-card:nth-child(2) {animation-delay: 0.12s;}
.suite-panel--enter .svc-card:nth-child(3) {animation-delay: 0.19s;}
.suite-panel--enter .svc-card:nth-child(4) {animation-delay: 0.26s;}
.svc-grid {display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 12px;}
.svc-card {background: var(--s1); padding: clamp(24px, 3vw, 40px) clamp(24px, 3vw, 40px) clamp(52px, 5vw, 68px); position: relative; overflow: hidden; transition: background 0.3s;}
.svc-card:hover {background: var(--s2); box-shadow: rgba(26, 26, 255, 0.3) 0px 0px 0px 1px inset;}
.svc-card-glow {position: absolute; top: -60px; right: -60px; width: 160px; height: 160px; background: none; opacity: 0; transition: opacity 0.4s;}
.svc-card:hover .svc-card-glow {opacity: 1;}
.svc-num {font-family: var(--fm); font-size: 9px; letter-spacing: 0.2em; color: var(--s5); margin-bottom: 20px;}
.svc-icon {width: 36px; height: 36px; color: var(--az-text); margin-bottom: 16px;}
.svc-icon svg {width: 100%; height: 100%; stroke-width: 1.25;}
.svc-title {font-family: var(--fd); font-size: clamp(22px, 2.5vw, 30px); letter-spacing: 0.03em; margin-bottom: 12px;}
.svc-desc {font-size: 14px; color: var(--s7); line-height: 1.75;}
.svc-tags {display: flex; gap: 6px; flex-wrap: wrap; margin-top: 20px;}
.svc-tag {font-family: var(--fm); font-size: 8px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--s6); border: 1px solid var(--br); padding: 4px 10px; border-radius: 2px;}
.suites-book-strip {display: flex; align-items: center; justify-content: space-between; gap: 24px; background: var(--s1); border: 1px solid var(--br2); border-radius: 8px; margin-top: 16px; padding: clamp(22px, 3vw, 34px) clamp(24px, 3vw, 40px); flex-wrap: wrap;}
.strip-eyebrow {display: flex; align-items: center; gap: 10px; font-family: var(--fm); font-size: 9px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--s6); margin-bottom: 10px;}
.strip-text {font-size: 14px; color: var(--s7); max-width: 480px; line-height: 1.7;}
.remote-callout {margin-top: 14px; border: 1px solid var(--br2); border-radius: 8px; overflow: hidden; background: none; padding: clamp(24px, 3vw, 40px); display: grid; grid-template-columns: 1fr auto; gap: 24px; align-items: center;}
.remote-callout-body {min-width: 0px;}
.remote-callout-label {font-family: var(--fm); font-size: 9px; letter-spacing: 0.24em; text-transform: uppercase; color: var(--az-text); margin-bottom: 12px; display: flex; align-items: center; gap: 8px;}
.remote-callout-label::before {content: ""; width: 14px; height: 1px; background: var(--az);}
.remote-callout-title {font-family: var(--fd); font-size: clamp(22px, 2.8vw, 36px); letter-spacing: 0.02em; margin-bottom: 10px;}
.remote-callout-desc {font-size: 14px; color: var(--s7); line-height: 1.72; max-width: 560px;}
.remote-services {display: flex; gap: 6px; flex-wrap: wrap; margin-top: 16px;}
.remote-tag {font-family: var(--fm); font-size: 8px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--s6); border: 1px solid var(--br2); padding: 4px 10px; border-radius: 2px; background: rgba(26, 26, 255, 0.05);}
@media (max-width: 700px) {
.remote-callout {grid-template-columns: 1fr;}
.suites-intro {grid-template-columns: 1fr;}
.suites-book-strip {flex-direction: column; align-items: flex-start;}
}
.port-header {display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: clamp(28px, 4vw, 48px); flex-wrap: wrap;}
.port-filters--desktop {display: flex; gap: 6px; flex-wrap: wrap;}
.pf-btn {font-family: var(--fm); font-size: 8px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--s6); border: 1px solid var(--br); padding: 7px 16px; border-radius: 2px; transition: 0.2s; background: transparent;}
.pf-btn.on,  .pf-btn:hover {background: var(--w); color: var(--b); border-color: var(--w);}
.port-sticky-bar {position: sticky; top: 56px; z-index: 100; background: var(--nav-scrolled-bg); backdrop-filter: none; border-bottom: 1px solid var(--br); display: none; overflow-x: auto; padding: 12px clamp(20px, 4vw, 52px);}
.port-sticky-inner {display: flex; gap: 6px; min-width: max-content;}
.port-grid-wrap {overflow: hidden; padding: 0px clamp(20px, 4vw, 52px);}
.port-grid {display: grid; grid-template-columns: repeat(6, 1fr); grid-auto-rows: 200px; grid-auto-flow: dense; gap: 6px;}
.port-item {position: relative; overflow: hidden; background: var(--s2); cursor: pointer; border-radius: 5px;}
.port-item--v {grid-area: span 2 / span 1;}
.port-item--v-xl {grid-area: span 3 / span 2;}
.port-item--sq {grid-area: span 2 / span 2;}
.port-item--h {grid-area: span 2 / span 3;}
.port-item--h-xl {grid-area: span 3 / span 4;}
.port-thumb-bg {position: absolute; inset: 0px; transition: transform .6s var(--ease);}
.port-item:hover .port-thumb-bg {transform: scale(1.04);}
.c-artistas {background: none;}
.c-videoclip {background: none;}
.c-djset {background: none;}
.c-foto {background: none;}
.c-brand {background: none;}
.c-ig {background: none;}
.port-num-bg {position: absolute; bottom: 16px; right: 16px; font-family: var(--fd); font-size: clamp(48px, 8vw, 120px); color: rgba(255, 255, 255, 0.03); line-height: 1; letter-spacing: 0.06em; pointer-events: none;}
.port-overlay {position: absolute; inset: 0px; z-index: 2; display: flex; flex-direction: column; justify-content: flex-end; padding: clamp(14px, 2vw, 20px); background: none; opacity: 0; transition: opacity .3s var(--ease);}
.port-item:hover .port-overlay,  .port-item:focus .port-overlay {opacity: 1;}
.port-cat {font-family: var(--fm); font-size: 8px; letter-spacing: 0.2em; text-transform: uppercase; color: rgba(255, 255, 255, 0.55); margin-bottom: 4px;}
.port-title {font-family: var(--fd); font-size: clamp(16px, 2vw, 24px); color: rgb(255, 255, 255); line-height: 1; letter-spacing: 0.04em;}
.port-artist {font-size: 11px; color: rgba(255, 255, 255, 0.6); margin-top: 4px;}
.port-play {position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 3; width: 44px; height: 44px; background: rgba(26, 26, 255, 0.85); border-radius: 50%; display: flex; align-items: center; justify-content: center; opacity: 0; transition: opacity .3s,transform .3s var(--spring); backdrop-filter: none;}
.port-play svg {width: 14px; height: 14px; margin-left: 2px;}
.port-item:hover .port-play {opacity: 1; transform: translate(-50%, -50%) scale(1.08);}
.port-arrow {position: absolute; top: 14px; right: 14px; z-index: 3; width: 30px; height: 30px; background: rgba(242, 240, 236, 0.08); border-radius: 2px; display: flex; align-items: center; justify-content: center; opacity: 0; transition: opacity 0.2s; backdrop-filter: none;}
.port-arrow svg {width: 14px; height: 14px;}
.port-item:hover .port-arrow {opacity: 1;}
.port-ig-box {display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; position: absolute; inset: 0px; z-index: 2;}
.port-ig-box::before {content: ""; position: absolute; inset: 0px; z-index: -1; background: none;}
.port-item::after {content: ""; position: absolute; inset: 0px; z-index: 1; pointer-events: none; background-image: none; opacity: 0.04; mix-blend-mode: overlay;}
.port-item--featured {box-shadow: rgba(26, 26, 255, 0.5) 0px 0px 0px 1px, rgba(26, 26, 255, 0.12) 0px 0px 28px;}
.port-badge {position: absolute; top: 12px; left: 12px; z-index: 4; font-family: var(--fm); font-size: 7px; letter-spacing: 0.2em; text-transform: uppercase; padding: 4px 10px; border-radius: 2px; background: var(--az); color: rgb(255, 255, 255);}
.port-badge--new {background: rgba(255, 255, 255, 0.12); border: 1px solid rgba(255, 255, 255, 0.2); backdrop-filter: none;}
.port-featured-strip {margin: 0px clamp(20px, 4vw, 52px) 3px; background: var(--s1); border: 1px solid var(--br2); border-radius: 2px; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 24px; padding: clamp(20px, 2.5vw, 32px) clamp(24px, 3vw, 40px); overflow: hidden; position: relative;}
.port-featured-strip::before {content: ""; position: absolute; inset: 0px; background: none; pointer-events: none;}
.port-fs-label {font-family: var(--fm); font-size: 8px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--az-text); display: flex; align-items: center; gap: 8px; margin-bottom: 10px;}
.port-fs-label::before {content: ""; width: 14px; height: 1px; background: var(--az);}
.port-fs-title {font-family: var(--fd); font-size: clamp(24px, 3.5vw, 42px); letter-spacing: 0.03em; line-height: 1; color: var(--w);}
.port-fs-meta {font-family: var(--fm); font-size: 9px; letter-spacing: 0.14em; color: var(--s6); margin-top: 8px;}
.port-fs-actions {display: flex; gap: 10px; align-items: center; flex-shrink: 0;}
.port-fs-play {display: flex; align-items: center; gap: 9px; font-family: var(--fm); font-size: 8px; letter-spacing: 0.18em; text-transform: uppercase; color: rgb(255, 255, 255); background: var(--az); border-radius: 2px; padding: 11px 20px; cursor: pointer; transition: background 0.2s, transform 0.2s; border-width: medium; border-style: none; border-color: currentcolor; border-image: none;}
.port-fs-play:hover {background: rgb(32, 32, 255); transform: translateY(-1px);}
.port-fs-play svg {width: 11px; height: 11px; flex-shrink: 0;}
.port-fs-stat {font-family: var(--fd); font-size: 22px; color: var(--s5); letter-spacing: 0.04em; text-align: right;}
.port-fs-stat-lbl {font-family: var(--fm); font-size: 7px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--s5);}
@media (max-width: 700px) {
.port-featured-strip {grid-template-columns: 1fr;}
.port-fs-actions {display: none;}
}
#video-modal {position: fixed; inset: 0px; z-index: 10000; display: flex; align-items: center; justify-content: center; opacity: 0; pointer-events: none; transition: opacity .3s var(--ease);}
#video-modal.on {opacity: 1; pointer-events: all;}
.vm-bg {position: absolute; inset: 0px; background: rgba(0, 0, 0, 0.92); backdrop-filter: none;}
.vm-box {position: relative; z-index: 1; width: min(880px, 92vw); background: rgb(0, 0, 0); border-radius: 4px; overflow: hidden; box-shadow: rgba(0, 0, 0, 0.7) 0px 40px 100px; transform: scale(0.95); transition: transform .35s var(--spring);}
#video-modal.on .vm-box {transform: scale(1);}
.vm-ratio {position: relative; width: 100%; padding-top: 56.25%;}
.vm-ratio iframe {position: absolute; inset: 0px; width: 100%; height: 100%; border: 0px;}
.vm-close {position: absolute; top: -40px; right: 0px; z-index: 2; width: 34px; height: 34px; display: flex; align-items: center; justify-content: center; border: 1px solid rgba(255, 255, 255, 0.2); border-radius: 2px; color: rgba(255, 255, 255, 0.7); cursor: pointer; background: rgba(255, 255, 255, 0.06); font-size: 18px; line-height: 1; transition: background 0.2s, color 0.2s;}
.vm-close:hover {background: rgba(255, 255, 255, 0.15); color: rgb(255, 255, 255);}
@media (max-width: 900px) {
.port-grid {grid-template-columns: repeat(2, 1fr); grid-auto-rows: auto;}
.port-item--h,  .port-item--h-xl {grid-area: auto / span 2; aspect-ratio: 3 / 2;}
.port-item--sq {grid-area: auto / span 2; aspect-ratio: 4 / 3;}
.port-item--v,  .port-item--v-xl {grid-area: auto / span 1; aspect-ratio: 2 / 3;}
.port-overlay {opacity: 1;}
}
@media (max-width: 560px) {
.port-grid {grid-template-columns: repeat(2, 1fr); grid-auto-rows: auto;}
.port-filters--desktop {display: none;}
.port-sticky-bar {display: block;}
}
.reviews-sec {overflow: hidden;}
.reviews-header {display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: clamp(28px, 4vw, 48px); flex-wrap: wrap;}
.reviews-nav {display: flex; gap: 8px;}
.rnav-btn {width: 40px; height: 40px; border-radius: 2px; border: 1px solid var(--br2); display: flex; align-items: center; justify-content: center; transition: background 0.2s, border-color 0.2s;}
.rnav-btn svg {width: 16px; height: 16px;}
.rnav-btn:hover {background: var(--w); border-color: var(--w); color: var(--b);}
.reviews-track-wrap {overflow: hidden; margin: 0px clamp(20px, 4vw, 52px);}
.reviews-track {display: flex; gap: 14px; transition: transform .5s var(--ease); will-change: transform;}
.review-card {flex: 0 0 clamp(280px, 33%, 400px); background: var(--s1); border-radius: 10px; padding: clamp(24px, 3vw, 36px); border: 1px solid var(--br); position: relative; overflow: hidden; display: flex; flex-direction: column;}
.review-card::after {content: "“"; position: absolute; top: 16px; right: 20px; font-family: var(--fi); font-size: 80px; color: rgba(100, 112, 255, 0.22); line-height: 1;}
.review-stars {display: flex; gap: 4px; margin-bottom: 16px;}
.review-star {color: var(--az-text); font-size: 12px;}
.review-text {font-family: var(--fi); font-style: normal; font-size: clamp(14px, 1.6vw, 17px); line-height: 1.72; color: var(--s8); margin-bottom: 20px;}
.review-author {display: flex; align-items: center; gap: 12px; margin-top: auto;}
.review-avatar {width: 38px; height: 38px; border-radius: 2px; background: var(--s3); display: flex; align-items: center; justify-content: center; font-family: var(--fm); font-size: 10px; color: var(--s6); flex-shrink: 0;}
.review-name {font-family: var(--fm); font-size: 9px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--w); margin-bottom: 2px;}
.review-handle {font-family: var(--fm); font-size: 8px; letter-spacing: 0.12em; color: var(--s6);}
@media (max-width: 560px) {
.review-card {flex: 0 0 85vw;}
}
.faq-grid {display: grid; grid-template-columns: 1fr 340px; gap: clamp(32px, 5vw, 72px); align-items: start;}
.faq-item {border-bottom: 1px solid var(--br);}
.faq-q {width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 20px 0px; text-align: left; font-size: clamp(13px, 1.5vw, 15px); color: var(--w); transition: color 0.2s;}
.faq-q:hover {color: var(--s7);}
.faq-ico {width: 20px; height: 20px; flex-shrink: 0; transition: transform .35s var(--ease);}
.faq-ico svg {width: 100%; height: 100%; stroke: currentcolor; stroke-width: 1.25; stroke-linecap: round;}
.faq-item.open .faq-ico {transform: rotate(45deg);}
.faq-a {max-height: 0px; overflow: hidden; transition: max-height .4s var(--ease),padding .4s; font-size: 14px; color: var(--s7); line-height: 1.75;}
.faq-item.open .faq-a {max-height: 300px; padding-bottom: 20px;}
.faq-a em {font-style: normal; color: var(--s8);}
.faq-visual {display: flex; flex-direction: column; gap: 12px; position: sticky; top: 80px;}
.faq-card {background: var(--s1); border-radius: 8px; padding: 24px; border: 1px solid var(--br2);}
[data-theme="light"] .faq-card {background: rgb(255, 255, 255); box-shadow: rgba(0, 0, 0, 0.06) 0px 1px 4px;}
.faq-card-icon {font-size: 20px; margin-bottom: 10px; color: var(--az-text);}
.faq-card-title {font-family: var(--fd); font-size: 20px; letter-spacing: 0.03em; margin-bottom: 8px;}
.faq-card-text {font-size: 13px; color: var(--s7); line-height: 1.7;}
@media (max-width: 860px) {
.faq-grid {grid-template-columns: 1fr;}
.faq-visual {display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); position: static;}
}
.ig-header {margin-bottom: clamp(28px, 4vw, 48px);}
.ig-header h2 {font-family: var(--fd); font-size: clamp(32px, 4.5vw, 56px); letter-spacing: 0.03em; margin-bottom: 6px;}
.ig-header em {font-family: var(--fi); font-style: normal; color: var(--em-color);}
.ig-header p {font-family: var(--fm); font-size: 9px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--s6);}
.ig-grid {display: grid; grid-template-columns: repeat(6, 1fr); gap: 3px;}
.ig-item {aspect-ratio: 1 / 1; overflow: hidden; position: relative; cursor: pointer; border-radius: 2px; background: var(--s2);}
.ig-item-bg {width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; font-family: var(--fd); font-size: clamp(16px, 2vw, 22px); color: rgba(255, 255, 255, 0.05); letter-spacing: 0.08em; transition: transform .5s var(--ease);}
.ig-item:hover .ig-item-bg {transform: scale(1.06);}
.ig-overlay {position: absolute; inset: 0px; background: none; display: flex; align-items: center; justify-content: center; opacity: 0; transition: opacity 0.3s;}
.ig-item:hover .ig-overlay {opacity: 1;}
@media (max-width: 860px) {
.ig-grid {grid-template-columns: repeat(3, 1fr);}
}
@media (max-width: 560px) {
.ig-grid {grid-template-columns: repeat(2, 1fr);}
}
.cta-sec {background: none; border-top: 1px solid var(--br); border-bottom: 1px solid var(--br);}
.cta-inner {display: grid; grid-template-columns: 1fr 1fr; gap: clamp(40px, 6vw, 100px); align-items: center;}
.cta-left h2 {font-family: var(--fd); font-size: clamp(42px, 6vw, 80px); line-height: 0.92; letter-spacing: 0.02em; margin-bottom: 16px;}
.cta-left h2 em {font-family: var(--fi); font-style: normal; color: var(--em-color);}
.cta-left p {font-size: 14px; color: var(--s7); line-height: 1.75; margin-bottom: 28px;}
.cta-contact-items {display: flex; flex-direction: column; gap: 12px; margin-bottom: 28px;}
.cta-contact-item {display: flex; align-items: center; gap: 12px;}
.cta-contact-ico {width: 32px; height: 32px; background: var(--s2); border-radius: 2px; display: flex; align-items: center; justify-content: center; flex-shrink: 0;}
.cta-contact-ico svg {width: 15px; height: 15px; stroke: var(--az); stroke-width: 1.5; fill: none;}
.cta-contact-label {font-family: var(--fm); font-size: 8px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--s6); margin-bottom: 2px;}
.cta-contact-val {font-size: 13px; color: var(--w);}
.cta-right {min-width: 0px;}
.cta-map-placeholder {aspect-ratio: 4 / 3; background: var(--s2); border-radius: 2px; border: 1px solid var(--br2); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; position: relative; overflow: hidden;}
.cta-map-placeholder::before {content: ""; position: absolute; inset: 0px; background: none;}
.cta-map-pin {font-size: 28px; color: var(--az-text); animation: 2s ease 0s infinite normal none running mapBounce;}
@keyframes mapBounce { 
  0%, 100% { transform: translateY(0px); }
  50% { transform: translateY(-6px); }
}
.cta-map-txt {font-family: var(--fm); font-size: 9px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--s6);}
.cta-map-sub {font-family: var(--fm); font-size: 8px; letter-spacing: 0.14em; color: var(--az-text); display: flex; align-items: center; gap: 6px;}
.cta-map-sub::before {content: ""; width: 6px; height: 6px; background: var(--az); border-radius: 50%; animation: 2s ease 0s infinite normal none running agendaPulse;}
@media (max-width: 860px) {
.cta-inner {grid-template-columns: 1fr;}
}
.footer {background: var(--s1); border-top: 1px solid var(--br); padding: clamp(48px, 7vw, 80px) 0px clamp(32px, 4vw, 48px);}
.footer-inner {display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: clamp(24px, 4vw, 56px);}
.footer-brand {display: flex; flex-direction: column; gap: 16px;}
.footer-logo {font-family: var(--fd); font-size: 34px; letter-spacing: 0.06em; color: var(--w); display: flex; align-items: baseline;}
.footer-logo em {color: var(--az-text); font-style: normal; font-size: 0.55em; vertical-align: top; margin-top: 0.2em;}
.footer-tagline {font-size: 13px; color: var(--s6); line-height: 1.72; max-width: 240px;}
.footer-col-title {font-family: var(--fm); font-size: 8px; letter-spacing: 0.24em; text-transform: uppercase; color: var(--s5); margin-bottom: 18px;}
.footer-links {display: flex; flex-direction: column; gap: 10px;}
.footer-links a {font-size: 13px; color: var(--s7); transition: color 0.2s;}
.footer-links a:hover {color: var(--w);}
.footer-bottom {display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: clamp(36px, 5vw, 56px); padding-top: 20px; border-top: 1px solid var(--br); flex-wrap: wrap;}
.footer-copy {font-family: var(--fm); font-size: 9px; letter-spacing: 0.14em; color: var(--s5);}
.footer-designer {font-family: var(--fm); font-size: 9px; letter-spacing: 0.12em; color: var(--s6);}
.footer-intl {font-family: var(--fm); font-size: 9px; letter-spacing: 0.14em; color: var(--az-text); display: flex; align-items: center; gap: 6px;}
.footer-intl::before {content: ""; width: 6px; height: 6px; background: var(--az); border-radius: 50%; animation: 2.4s ease 0s infinite normal none running agendaPulse;}
@media (max-width: 860px) {
.footer-inner {grid-template-columns: 1fr 1fr;}
}
@media (max-width: 520px) {
.footer-inner {grid-template-columns: 1fr;}
.footer-bottom {flex-direction: column; text-align: center; gap: 8px;}
}
.btt-btn {position: fixed; bottom: 28px; right: 28px; z-index: 300; width: 40px; height: 40px; border-radius: 2px; background: var(--s2); border: 1px solid var(--br3); display: flex; align-items: center; justify-content: center; cursor: pointer; opacity: 0; transform: translateY(10px); transition: opacity .3s var(--ease),transform .3s var(--ease),background .2s,border-color .2s; pointer-events: none;}
.btt-btn.vis {opacity: 1; transform: translateY(0px); pointer-events: all;}
.btt-btn:hover {background: var(--az); border-color: var(--az-text);}
.btt-btn svg {width: 15px; height: 15px; stroke: var(--w); stroke-width: 1.75; stroke-linecap: round; fill: none; transition: stroke 0.2s;}
.btt-btn:hover svg {stroke: rgb(255, 255, 255);}
.sr-only {position: absolute; width: 1px; height: 1px; padding: 0px; margin: -1px; overflow: hidden; clip: rect(0px, 0px, 0px, 0px); clip-path: inset(50%); white-space: nowrap; border: 0px;}
.float-wa-btn {width: 40px; height: 40px; border-radius: 50%; background: var(--s2); border: 1px solid var(--br3); display: flex; align-items: center; justify-content: center; box-shadow: rgba(0, 0, 0, 0.35) 0px 4px 18px; transition: transform .25s var(--spring),background .2s,border-color .2s,box-shadow .2s; cursor: pointer;}
.float-wa-btn:hover {transform: scale(1.12); background: var(--az); border-color: var(--az-text); box-shadow: rgba(26, 26, 255, 0.4) 0px 6px 26px;}
.float-wa-btn svg {width: 20px; height: 20px; fill: var(--s6); transition: fill 0.2s;}
.float-wa-btn:hover svg {fill: rgb(255, 255, 255);}
@media (max-width: 860px) {
.hero-gif-panel {display: none;}
.nav-links {display: none;}
.nav-cta {display: none;}
.ham {display: flex;}
.hero-content {padding: clamp(72px, 12vw, 90px) clamp(20px, 5vw, 28px) clamp(40px, 7vw, 56px);}
.hero-sub-line {display: none;}
.hero-sub {gap: 0px;}
.suites-intro {grid-template-columns: 1fr;}
.suites-intro-visual {display: none;}
}
@media (max-width: 600px) {
.hero-stat-row {gap: 14px;}
.hero-stat-div {display: none;}
.hero-scroll {display: none;}
.hero-bottom {justify-content: flex-start;}
body::after {display: none;}
.suite-tab {flex: 1 1 calc(50% - 1px); min-width: 0px; padding: 10px 12px; font-size: 8px;}
.footer-tagline {max-width: 100%;}
.faq-q {font-size: 13px;}
.rnav-btn {width: 44px; height: 44px;}
}
section,  header,  footer,  .wrap,  .port-grid-wrap {max-width: 100vw; word-break: break-word;}
.port-item {transition: opacity .35s var(--ease),transform .35s var(--ease);}
.port-item[style*="none"] {opacity: 0; transform: scale(0.96); pointer-events: none;}
@keyframes statBounce { 
  0% { transform: scale(1); }
  40% { transform: scale(1.06); }
  70% { transform: scale(0.97); }
  100% { transform: scale(1); }
}
.stat-val.bounce {animation: statBounce .22s var(--spring);}
.svc-card:hover .svc-title {color: var(--w);}
.cta-sec {background: none;}
[data-theme="light"] .review-star {color: rgb(26, 26, 255);}
.ticker {box-shadow: rgba(26, 26, 255, 0.2) 0px 2px 24px;}
.nav-logo em {color: var(--az-text) !important;}
.hero {background: rgb(0, 0, 0) !important;}
.h-xl.rv,  .h-mix.rv {transform: translateY(38px);}
.pf-count {font-family: var(--fm); font-size: 7px; letter-spacing: 0.14em; background: var(--az); color: rgb(255, 255, 255); border-radius: 10px; padding: 1px 6px; margin-left: 4px;}
.reviews-sec {background: none;}
body,  .stats-bar,  .svc-card,  .review-card,  .review-avatar,  .faq-item,  .faq-card,  .faq-a,  .faq-q,  .footer,  .footer-inner,  .dvd,  .bg1,  .book-form-fields input,  .book-form-fields select,  .confirm-detail,  .confirm-row,  .remote-callout,  .suites-book-strip,  .suite-viz-half,  .faq-visual .faq-card {transition: background-color .38s var(--ease),color .38s var(--ease),border-color .38s var(--ease);}
.theme-btn {width: 34px; height: 34px; border-radius: 2px; border: 1px solid var(--br2); flex-shrink: 0; display: flex; align-items: center; justify-content: center; transition: background .2s var(--ease),border-color .2s; color: var(--w);}
.theme-btn:hover {background: var(--s3); border-color: var(--br3);}
.theme-btn svg {width: 15px; height: 15px; stroke: currentcolor; stroke-width: 1.5; fill: none; stroke-linecap: round; stroke-linejoin: round;}
.theme-btn .ico-sun {display: none;}
.theme-btn .ico-moon {display: block;}
[data-theme="light"] .theme-btn .ico-sun {display: block;}
[data-theme="light"] .theme-btn .ico-moon {display: none;}
 #drawer-login-btn[hidden] {display: none !important;}
@media (max-width: 480px) {
.nav-inner {gap: 8px;}
}
[data-theme="light"] .svc-card {border: 1px solid var(--br2);}
[data-theme="light"] .review-card {border-color: var(--br2);}
[data-theme="light"] .faq-card {border-color: var(--br2);}
[data-theme="light"] .stat-divider {background: var(--br2);}
[data-theme="light"] .dvd {background: var(--br2);}
[data-theme="light"] .ig-item-bg {color: rgba(0, 0, 0, 0.08);}
[data-theme="light"] .strip-eyebrow,  [data-theme="light"] .remote-callout-body,  [data-theme="light"] .remote-callout-desc,  [data-theme="light"] .strip-text {color: var(--s6);}
[data-theme="light"] .confirm-row-label {color: var(--s6);}
[data-theme="light"] .svc-tag,  [data-theme="light"] .suite-tag-sm {color: var(--s6); border-color: var(--br2); background: rgba(0, 0, 0, 0.03);}
[data-theme="light"] .remote-tag {color: var(--s6); border-color: var(--br2);}
[data-theme="light"] .nav-links a {color: var(--s6);}
[data-theme="light"] .nav-links a:hover,  [data-theme="light"] .nav-links a.on {color: var(--w);}
[data-theme="light"] .footer-copy,  [data-theme="light"] .footer-designer {color: var(--s6);}
[data-theme="light"] #preloader {background: rgb(4, 4, 4);}
 [data-theme="light"] .book-input,  [data-theme="light"] input[type="email"],  [data-theme="light"] input[type="password"],  [data-theme="light"] input[type="text"],  [data-theme="light"] textarea {background: rgba(0, 0, 0, 0.04); border-color: rgba(0, 0, 0, 0.15); color: var(--w);}
 [data-theme="light"] input::placeholder,  [data-theme="light"] textarea::placeholder {color: var(--s4);}
[data-theme="light"] .nav-cta {border-color: rgba(0, 0, 0, 0.2);}
[data-theme="light"] .nav:not(.scrolled) .nav-logo {color: rgb(242, 240, 236);}
[data-theme="light"] .nav:not(.scrolled) .nav-logo em {color: var(--az-text);}
[data-theme="light"] .nav:not(.scrolled) .nav-links a {color: rgba(242, 240, 236, 0.72);}
[data-theme="light"] .nav:not(.scrolled) .nav-links a:hover,  [data-theme="light"] .nav:not(.scrolled) .nav-links a.on {color: rgb(242, 240, 236);}
[data-theme="light"] .nav:not(.scrolled) .nav-links a::after {background: rgb(242, 240, 236);}
[data-theme="light"] .nav:not(.scrolled) .nav-cta {color: rgb(242, 240, 236); border-color: rgba(242, 240, 236, 0.28);}
[data-theme="light"] .nav:not(.scrolled) .nav-cta:hover {background: var(--az); border-color: var(--az-text);}
[data-theme="light"] .nav:not(.scrolled) .theme-btn {color: rgb(242, 240, 236); border-color: rgba(242, 240, 236, 0.22);}
[data-theme="light"] .stat-val,  [data-theme="light"] .hero-stat-val {color: var(--w);}
[data-theme="light"] .drawer {background: rgba(4, 4, 4, 0.97);}
[data-theme="light"] .footer {background: var(--s1);}
[data-theme="light"] .footer-brand span,  [data-theme="light"] .footer-tagline,  [data-theme="light"] .footer-col-title,  [data-theme="light"] .footer-links a {color: var(--w);}
[data-theme="light"] .suite-tag-sm,  [data-theme="light"] .footer-links a:hover {color: var(--w);}
[data-theme="light"] .stat-lbl {color: var(--s7);}
[data-theme="light"] .svc-desc {color: var(--s8);}
[data-theme="light"] .review-text {color: var(--s8);}
[data-theme="light"] .body-lg {color: var(--s8);}
[data-theme="light"] .faq-a {color: var(--s7);}
[data-theme="light"] .strip-text {color: var(--s7);}
[data-theme="light"] .faq-card-text {color: var(--s7);}
[data-theme="light"] .footer-tagline {color: rgba(242, 240, 236, 0.75);}
[data-theme="light"] .dvd {background: var(--br3);}
[data-theme="light"] .label {color: var(--az-text);}
.ticker {opacity: 1;}
#page-progress {position: fixed; top: 0px; left: 0px; height: 2px; background: none; z-index: 10000; width: 0%; pointer-events: none; box-shadow: rgba(26, 26, 255, 0.6) 0px 0px 10px; transition: width 0.1s linear;}
.hero-spotlight {position: absolute; inset: 0px; z-index: 0; pointer-events: none; background: none;}
[data-theme="light"] .stats-bar {border-bottom: 1px solid var(--br2);}
[data-theme="light"] .suites-tabs {border-color: var(--br2);}
[data-theme="light"] .suite-tab {background: var(--s2);}
[data-theme="light"] .suite-tab:hover:not(.on) {background: var(--s3);}
[data-theme="light"] .suite-viz-half {background: rgb(255, 255, 255); box-shadow: rgba(0, 0, 0, 0.06) 0px 1px 3px;}
[data-theme="light"] .suite-viz-half:hover {background: var(--s2);}
[data-theme="light"] .suite-viz-half:hover .suite-viz-lbl {color: var(--w);}
[data-theme="light"] .suites-split-viz {border-color: var(--br3);}
[data-theme="light"] .svc-card {background: rgb(255, 255, 255) !important; box-shadow: rgba(0, 0, 0, 0.07) 0px 1px 4px !important; border-color: var(--br2) !important;}
[data-theme="light"] .svc-card:hover {background: var(--s2) !important;}
[data-theme="light"] .svc-title {color: var(--w);}
[data-theme="light"] .svc-grid {border-color: var(--br2);}
[data-theme="light"] .suites-book-strip {background: var(--s2); border-color: var(--br2);}
[data-theme="light"] .remote-callout {background: none;}
[data-theme="light"] .remote-tag {border-color: var(--br2); color: var(--s6);}
[data-theme="light"] .proceso-step {background: rgb(255, 255, 255); box-shadow: rgba(0, 0, 0, 0.06) 0px 1px 3px; border: 1px solid transparent;}
[data-theme="light"] .proceso-step:hover,  [data-theme="light"] .proceso-step.expanded {background: var(--s2) !important;}
[data-theme="light"] .proceso-num-bg {color: rgba(0, 0, 0, 0.04);}
[data-theme="light"] .proceso-title {color: var(--w);}
[data-theme="light"] .proceso-desc {color: var(--s6);}
[data-theme="light"] .marcas-sec {background: var(--s2); border-color: var(--br2);}
.svc-card {cursor: pointer; user-select: none;}
.svc-card::after {content: "Ver detalle"; position: absolute; bottom: clamp(24px, 3vw, 40px); right: clamp(24px, 3vw, 40px); font-family: var(--fm); font-size: 8px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--az-text); opacity: 0; transform: translateX(-5px); transition: opacity 0.25s, transform 0.25s; pointer-events: none;}
.svc-card:hover::after {opacity: 1; transform: translateX(0px);}
#svc-modal {position: fixed; inset: 0px; z-index: 9100; display: none; align-items: flex-end; justify-content: center; background: rgba(4, 4, 4, 0.78); backdrop-filter: none;}
#svc-modal.open {display: flex; animation: svcBdIn .28s var(--ease) both;}
@keyframes svcBdIn { 
  0% { opacity: 0; }
  100% { opacity: 1; }
}
.svc-modal-inner {width: 100%; max-width: 960px; max-height: 92vh; overflow-y: auto; background: var(--s1); border-top-color: ; border-top-style: ; border-top-width: ; border-right-color: ; border-right-style: ; border-right-width: ; border-left-color: ; border-left-style: ; border-left-width: ; border-image-source: ; border-image-slice: ; border-image-width: ; border-image-outset: ; border-image-repeat: ; border-bottom-width: medium; border-bottom-style: none; border-bottom-color: currentcolor; border-radius: 16px 16px 0px 0px; padding: clamp(24px, 4vw, 56px) clamp(20px, 4vw, 56px) clamp(32px, 5vw, 64px); position: relative; animation: svcSlideUp .38s var(--spring) both;}
@keyframes svcSlideUp { 
  0% { transform: translateY(100%); }
  100% { transform: translateY(0px); }
}
.svc-modal-handle {width: 40px; height: 3px; background: var(--s4); border-radius: 2px; margin: 0px auto 28px; cursor: ns-resize;}
.svc-modal-close {position: absolute; top: 14px; right: 14px; width: 36px; height: 36px; border-radius: 50%; background: var(--s3); border: 1px solid var(--br2); display: flex; align-items: center; justify-content: center; font-size: 13px; cursor: pointer; color: var(--s6); transition: 0.22s;}
.svc-modal-close:hover {background: var(--s4); color: var(--w); transform: rotate(90deg);}
.svc-modal-eyebrow {font-family: var(--fm); font-size: 8px; letter-spacing: 0.26em; color: var(--az-text); margin-bottom: 10px; display: flex; align-items: center; gap: 8px;}
.svc-modal-eyebrow::before {content: ""; width: 14px; height: 1px; background: var(--az);}
.svc-modal-title {font-family: var(--fd); font-size: clamp(34px, 6vw, 84px); letter-spacing: 0.02em; line-height: 0.88; margin-bottom: 10px;}
.svc-modal-sub {font-size: 14px; color: var(--s6); margin-bottom: 32px; font-family: var(--fi); font-style: normal;}
.svc-modal-body {display: grid; grid-template-columns: 1.1fr 1fr; gap: clamp(24px, 4vw, 52px); margin-bottom: 28px;}
@media (max-width: 640px) {
.svc-modal-body {grid-template-columns: 1fr;}
}
.svc-modal-desc {font-size: 14px; color: var(--s7); line-height: 1.8; margin-bottom: 24px;}
.svc-modal-sec-title {font-family: var(--fm); font-size: 8px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--s5); margin-bottom: 14px;}
.svc-modal-features {display: flex; flex-direction: column; gap: 9px;}
.svc-modal-feat {font-size: 13px; color: var(--s7); display: flex; align-items: flex-start; gap: 10px; line-height: 1.55;}
.svc-modal-feat::before {content: "→"; color: var(--az-text); flex-shrink: 0; font-family: var(--fm); font-size: 10px; margin-top: 2px;}
.svc-modal-meta {border-top: 1px solid var(--br); padding-top: 20px; display: flex; flex-direction: column; gap: 9px; margin-top: 22px;}
.svc-modal-meta-row {display: flex; justify-content: space-between; align-items: center; font-family: var(--fm); font-size: 9px; gap: 12px; letter-spacing: 0.08em;}
.svc-modal-meta-key {color: var(--s5); text-transform: uppercase; letter-spacing: 0.16em;}
.svc-modal-meta-val {color: var(--w);}
.svc-modal-footer {display: flex; gap: 12px; flex-wrap: wrap; padding-top: 24px; border-top: 1px solid var(--br);}
[data-theme="light"] .svc-modal-inner {background: var(--s2); border-color: var(--br2);}
[data-theme="light"] .svc-modal-close {background: var(--s3); border-color: var(--br3);}
[data-theme="light"] .svc-modal-handle {background: var(--s4);}
[data-theme="light"] .svc-modal-title {color: var(--w);}
.proceso-step {cursor: pointer;}
.proceso-step-expand-ico {position: absolute; bottom: clamp(18px, 2.5vw, 28px); right: clamp(14px, 2vw, 22px); width: 22px; height: 22px; border: 1px solid var(--br2); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 13px; color: var(--s5); transition: 0.25s; line-height: 1;}
.proceso-step.expanded .proceso-step-expand-ico {transform: rotate(45deg); border-color: var(--az-text); color: var(--az-text); background: rgba(26, 26, 255, 0.1);}
.proceso-step.expanded {background: var(--s2) !important; box-shadow: rgba(26, 26, 255, 0.3) 0px 0px 0px 1px inset !important;}
.proceso-detail-wrap {grid-column: 1 / -1; overflow: hidden; max-height: 0px; transition: max-height .4s var(--ease); margin-top: 0px;}
.proceso-detail-wrap.open {max-height: 500px; margin-top: 12px;}
.proceso-detail-inner {background: var(--s2); border-radius: 8px; border: 1px solid rgba(26, 26, 255, 0.18); padding: clamp(20px, 3vw, 36px); animation: expandFadeIn .3s var(--ease);}
@keyframes expandFadeIn { 
  0% { opacity: 0; transform: translateY(-6px); }
  100% { opacity: 1; transform: translateY(0px); }
}
.proceso-detail-grid {display: grid; grid-template-columns: repeat(auto-fit, minmax(185px, 1fr)); gap: clamp(16px, 2.5vw, 32px);}
.proceso-detail-col-title {font-family: var(--fm); font-size: 8px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--az-text); margin-bottom: 12px; display: flex; align-items: center; gap: 8px;}
.proceso-detail-col-title::before {content: ""; width: 10px; height: 1px; background: var(--az);}
.proceso-detail-col ul {padding: 0px; list-style: none; display: flex; flex-direction: column; gap: 7px;}
.proceso-detail-col li {font-size: 13px; color: var(--s7); line-height: 1.55; display: flex; align-items: flex-start; gap: 8px;}
.proceso-detail-col li::before {content: "·"; color: var(--az-text); flex-shrink: 0; font-size: 18px; line-height: 1.05;}
.proceso-detail-duration {margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--br); font-family: var(--fm); font-size: 9px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--s5); display: flex; align-items: center; gap: 12px; flex-wrap: wrap;}
.proceso-detail-duration strong {color: var(--w); letter-spacing: 0.06em;}
[data-theme="light"] .proceso-detail-inner {background: var(--s2); border-color: var(--br2);}
[data-theme="light"] .proceso-detail-col li {color: var(--s8);}
.sound-bars {display: inline-flex; align-items: flex-end; gap: 2.5px; height: 18px; vertical-align: middle;}
.sb {width: 3px; background: var(--az); border-radius: 2px; animation: sbAnim var(--d,.7s) ease infinite alternate;}
@keyframes sbAnim { 
  0% { height: 3px; }
  100% { height: var(--h,16px); }
}
.nav-sessions {display: inline-flex; align-items: center; gap: 5px;}
.nav-sessions::before {content: ""; width: 5px; height: 5px; background: var(--az); border-radius: 50%; animation: 2s ease 0s infinite normal none running agendaPulse; flex-shrink: 0;}
[data-count].vis-count {color: var(--az-text); transition: color 0.3s;}
.cta-contact-val[data-copy] {cursor: copy; position: relative;}
.cta-contact-val[data-copy]:hover::after {content: "Copiar"; position: absolute; top: -26px; left: 50%; transform: translateX(-50%); font-family: var(--fm); font-size: 7px; letter-spacing: 0.14em; text-transform: uppercase; background: var(--s3); color: var(--s7); padding: 3px 8px; border-radius: 2px; white-space: nowrap; pointer-events: none;}
.svc-card:hover {transform: translateY(-4px); transition: background 0.3s, transform 0.28s cubic-bezier(0.165, 0.84, 0.44, 1), box-shadow 0.28s cubic-bezier(0.165, 0.84, 0.44, 1); box-shadow: rgba(26, 26, 255, 0.3) 0px 0px 0px 1px inset, rgba(0, 0, 0, 0.35) 0px 12px 32px !important;}
.svc-card {transition: background 0.3s, transform 0.28s cubic-bezier(0.165, 0.84, 0.44, 1), box-shadow 0.28s cubic-bezier(0.165, 0.84, 0.44, 1);}
.hero .btn-pri,  .cta-sec .btn-pri {box-shadow: var(--az-glow);}
:focus-visible {outline: 2px solid var(--az); outline-offset: 3px; border-radius: 2px;}
a:focus-visible,  button:focus-visible,  .btn:focus-visible,  .suite-tab:focus-visible,  .faq-q:focus-visible,  .svc-card:focus-visible,  .pf-btn:focus-visible {outline: 2px solid var(--az2); outline-offset: 3px; box-shadow: rgba(26, 26, 255, 0.18) 0px 0px 0px 4px;}
.btn {position: relative;}
.btn-pri {background: none; box-shadow: rgba(255, 255, 255, 0.12) 0px 1px 0px inset, rgba(26, 26, 255, 0.22) 0px 6px 18px;}
.btn-pri:hover {background: none; transform: translateY(-2px); box-shadow: 0 1px 0 rgba(255,255,255,.18) inset,var(--az-glow),0 10px 28px rgba(26,26,255,.3);}
.btn-sec {backdrop-filter: none;}
.btn-sec:hover {border-color: var(--w); background: rgba(242, 240, 236, 0.04); transform: translateY(-1px);}
.svc-card {border: 1px solid var(--br2); border-radius: 8px;}
.svc-card::before {content: ""; position: absolute; left: 0px; top: 0px; height: 2px; width: 100%; background: none; transform: scaleX(0); transform-origin: left center; opacity: 0; transition: transform .35s var(--ease),opacity .35s var(--ease);}
.svc-card:hover::before {transform: scaleX(1); opacity: 1;}
.proceso-step {border: 1px solid var(--br2); border-radius: 8px;}
.review-card {border: 1px solid var(--br2); transition: border-color .3s var(--ease),transform .3s var(--ease),box-shadow .3s var(--ease);}
@media (hover: hover) {
.review-card:hover {border-color: rgba(26, 26, 255, 0.35); transform: translateY(-3px); box-shadow: rgba(0, 0, 0, 0.4) 0px 14px 34px;}
}
.review-star {filter: drop-shadow(rgba(26, 26, 255, 0.25) 0px 0px 6px);}
.label {font-weight: 500; color: var(--az-text);}
[data-theme="light"] .label {color: var(--az-text);}
.review-avatar {border: 1px solid var(--br2);}
.cta-form input:hover:not(:focus),  .cta-form select:hover:not(:focus),  .cta-form textarea:hover:not(:focus) {border-color: var(--br3);}
.footer-links a {color: var(--s8); position: relative; width: fit-content;}
.footer-links a::after {content: ""; position: absolute; left: 0px; bottom: -2px; height: 1px; width: 100%; background: var(--az); transform: scaleX(0); transform-origin: left center; transition: transform .28s var(--ease);}
.footer-links a:hover::after {transform: scaleX(1);}
.cta-contact-item .cta-contact-val {transition: color .2s var(--ease);}
.cta-contact-ico {border: 1px solid transparent; transition: border-color .2s var(--ease),background .2s var(--ease);}
.cta-contact-item:hover .cta-contact-ico {border-color: rgba(26, 26, 255, 0.4); background: var(--az-light);}
.faq-q:hover {color: var(--w);}
@media (prefers-reduced-motion: reduce) {
*,  ::before,  ::after {animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important;}
}
@keyframes statBounce { 
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.08); }
}
.stat-val.bounce {animation: 120ms cubic-bezier(0.34, 1.56, 0.64, 1) 0s 1 normal none running statBounce;}
@keyframes preFillFlash { 
  0%, 100% { opacity: 1; }
  50% { opacity: 0.4; filter: brightness(2); }
}
.pre-fill.flash {animation: 0.25s ease 0s 1 normal none running preFillFlash;}
.hero-cta-micro {font-family: var(--fm); font-size: 9px; color: var(--s6); letter-spacing: 0.14em; margin-top: 8px; text-align: center;}
html.theme-tx body,  html.theme-tx .nav,  html.theme-tx .svc-card,  html.theme-tx .faq-card,  html.theme-tx .review-card,  html.theme-tx .footer,  html.theme-tx .stats-bar,  html.theme-tx .bg1,  html.theme-tx .dvd,  html.theme-tx .suite-viz-half,  html.theme-tx .port-sticky-bar,  html.theme-tx .strip-section,  html.theme-tx .drawer {transition: background-color 0.35s, border-color 0.35s, color 0.35s !important;}
.theme-btn.spin svg {animation: themeSpin .42s var(--spring);}
@keyframes themeSpin { 
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
:root[data-theme="light"] {--b: #f5f2ec; --w: #111; --s1: #eae7e1; --s2: #dedad3; --s3: #cbc8c1; --s4: #aaa7a1; --s5: #5a5a5a; --s6: #444; --s7: #333; --s8: #111; --br: rgba(0,0,0,.09); --br2: rgba(0,0,0,.16); --br3: rgba(0,0,0,.26); --nav-scrolled-bg: rgba(245,242,236,.95); --em-color: rgba(17,17,17,.55); --az: #0b0be0; --az-light: rgba(11,11,224,.08); --az-glow: 0 0 28px rgba(11,11,224,.35),0 0 56px rgba(11,11,224,.1);}
[data-theme="light"] .review-card {background: rgb(255, 255, 255);}
[data-theme="light"] .faq-card {background: rgb(255, 255, 255); border-color: rgba(0, 0, 0, 0.1);}
[data-theme="light"] .port-num-bg {color: rgba(0, 0, 0, 0.04);}
[data-theme="light"] .hero-video-fallback {background: none;}
.spark-wrap {width: 100%; height: 36px; margin-top: 8px; overflow: hidden;}
.spark-wrap svg {width: 100%; height: 100%;}
.spark-line {fill: none; stroke: var(--az); stroke-width: 1.5; vector-effect: non-scaling-stroke;}
.spark-area {fill: url("#sparkGrad"); opacity: 0.2;}
.spark-dot {fill: var(--az);}
.act-timeline {display: flex; flex-direction: column; gap: 0px; padding: 4px 0px;}
.act-event {display: flex; gap: 12px; position: relative; padding-bottom: 14px;}
.act-event:not(:last-child)::before {content: ""; position: absolute; left: 10px; top: 22px; bottom: 0px; width: 1px; background: var(--br);}
.act-ico {width: 22px; height: 22px; border-radius: 50%; flex-shrink: 0; display: flex; align-items: center; justify-content: center; font-size: 9px; font-family: var(--fm); letter-spacing: 0px; margin-top: 1px;}
.act-ico.upload {background: rgba(0, 220, 130, 0.12); color: rgb(0, 220, 130);}
.act-ico.msg {background: var(--az-light); color: var(--az-text);}
.act-ico.meet {background: rgba(255, 180, 0, 0.1); color: rgb(255, 180, 0);}
.act-ico.pay {background: rgba(0, 200, 120, 0.1); color: rgb(0, 200, 120);}
.act-ico.file {background: var(--s3); color: var(--s6);}
.act-body {flex: 1 1 0%;}
.act-title {font-family: var(--fm); font-size: 11px; color: var(--w); letter-spacing: 0.03em; line-height: 1.4;}
.act-time {font-family: var(--fm); font-size: 9px; color: var(--s5); letter-spacing: 0.1em; margin-top: 2px;}
.prog-ring-wrap {display: flex; align-items: center; gap: 12px;}
.prog-ring {flex-shrink: 0; transform: rotate(-90deg);}
.prog-ring-bg {fill: none; stroke: var(--s3); stroke-width: 3;}
.prog-ring-fill {fill: none; stroke: var(--az); stroke-width: 3; stroke-linecap: round; transition: stroke-dasharray 1.4s var(--ease) .2s;}
.prog-ring-label {font-family: var(--fd); font-size: 18px; letter-spacing: 0.04em; color: var(--az-text); min-width: 36px;}
.proceso-grid {display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; margin-top: clamp(32px, 4vw, 52px);}
@media (max-width: 960px) {
.proceso-grid {grid-template-columns: repeat(3, 1fr);}
}
@media (max-width: 560px) {
.proceso-grid {grid-template-columns: 1fr 1fr;}
}
.proceso-step {background: var(--s1); padding: clamp(22px, 3vw, 36px) clamp(18px, 2.5vw, 28px); position: relative; overflow: hidden; transition: background 0.3s, box-shadow 0.3s;}
.proceso-step:hover {background: var(--s2); box-shadow: rgba(26, 26, 255, 0.25) 0px 0px 0px 1px inset;}
.proceso-num-bg {position: absolute; bottom: -12px; right: 10px; font-family: var(--fd); font-size: clamp(64px, 10vw, 110px); color: rgba(255, 255, 255, 0.024); line-height: 1; pointer-events: none; letter-spacing: 0.04em;}
.proceso-ico {width: 34px; height: 34px; border: 1px solid var(--br2); border-radius: 50%; display: flex; align-items: center; justify-content: center; color: var(--az-text); margin-bottom: 18px; transition: background 0.25s, border-color 0.25s;}
.proceso-step:hover .proceso-ico {background: var(--az-light); border-color: var(--az-text);}
.proceso-ico svg {width: 16px; height: 16px; stroke: currentcolor; fill: none; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round;}
.proceso-step-num {font-family: var(--fm); font-size: 8px; letter-spacing: 0.26em; color: var(--az-text); margin-bottom: 10px; text-transform: uppercase;}
.proceso-title {font-family: var(--fd); font-size: clamp(18px, 2vw, 24px); letter-spacing: 0.04em; margin-bottom: 8px; color: var(--w);}
.proceso-desc {font-size: 13px; color: var(--s6); line-height: 1.75;}
.proceso-connector {display: none; position: absolute; top: 50%; right: -1px; width: 2px; height: 24px; background: var(--br2); transform: translateY(-50%); z-index: 1;}
.proceso-step:last-child .proceso-connector {display: none;}
@media (max-width: 960px) {
.proceso-connector {display: none;}
}
.marcas-sec {padding: clamp(40px, 5vw, 60px) 0px; background: var(--s1); border-top: 1px solid var(--br); border-bottom: 1px solid var(--br);}
.marcas-inner {display: flex; align-items: center; justify-content: center; gap: clamp(24px, 4vw, 60px); flex-wrap: wrap; opacity: 0.45; transition: opacity 0.4s;}
.marcas-inner:hover {opacity: 0.7;}
.marca-item {font-family: var(--fd); font-size: clamp(13px, 1.8vw, 20px); letter-spacing: 0.18em; color: var(--s7); white-space: nowrap; cursor: default; transition: color 0.25s;}
.marcas-inner:hover .marca-item:hover {color: var(--w);}
.marcas-label {text-align: center; font-family: var(--fm); font-size: 8px; letter-spacing: 0.26em; text-transform: uppercase; color: var(--s5); margin-bottom: 20px;}
.nav-links .nav-new-page {color: var(--az-text); opacity: 1;}
.nav-links .nav-new-page:hover {opacity: 1;}
#progress-bar {position: fixed; top: 0px; left: 0px; z-index: 9998; height: 2px; width: 0%; pointer-events: none; background: none; transition: width 0.07s linear; box-shadow: rgba(26, 26, 255, 0.5) 0px 0px 6px;}
.side-nav {position: fixed; right: 18px; top: 50%; transform: translateY(-50%); z-index: 200; display: flex; flex-direction: column; gap: 12px; opacity: 0; transition: opacity .4s var(--ease); pointer-events: none;}
.side-nav.vis {opacity: 1; pointer-events: all;}
.side-dot {width: 5px; height: 5px; border-radius: 50%; background: var(--br3); cursor: pointer; transition: background 0.3s, transform 0.3s, height 0.3s; display: block; position: relative; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; padding: 0px;}
.side-dot.on {background: var(--az); height: 16px; border-radius: 3px;}
.side-dot::before {content: attr(data-label); position: absolute; right: 14px; top: 50%; transform: translateY(-50%); font-family: var(--fm); font-size: 8px; letter-spacing: 0.14em; text-transform: uppercase; white-space: nowrap; color: var(--w); background: rgba(4, 4, 4, 0.88); padding: 4px 10px; border-radius: 2px; opacity: 0; pointer-events: none; transition: opacity 0.18s; border: 1px solid var(--br2);}
.side-dot:hover::before {opacity: 1;}
.side-dot:hover:not(.on) {background: var(--br3); transform: scale(1.6);}
@media (max-width: 900px) {
.side-nav {display: none;}
}
#lightbox {position: fixed; inset: 0px; z-index: 8500; background: rgba(0, 0, 0, 0.96); display: flex; align-items: center; justify-content: center; opacity: 0; pointer-events: none; transition: opacity .28s var(--ease);}
#lightbox.on {opacity: 1; pointer-events: all;}
#lb-img-wrap {position: relative; display: flex; align-items: center; justify-content: center; max-width: 90vw; max-height: 88vh;}
#lightbox-img {max-width: 90vw; max-height: 86vh; object-fit: contain; border-radius: 2px; transform: scale(0.94) translateY(8px); transition: transform .4s var(--spring),opacity .3s; opacity: 0;}
#lightbox.on #lightbox-img {transform: scale(1) translateY(0px); opacity: 1;}
#lightbox-close {position: absolute; top: 18px; right: 20px; font-family: var(--fm); font-size: 9px; letter-spacing: 0.2em; text-transform: uppercase; color: rgba(255, 255, 255, 0.45); cursor: pointer; padding: 8px 16px; border: 1px solid rgba(255, 255, 255, 0.12); border-radius: 2px; transition: color 0.2s, border-color 0.2s, background 0.2s; background: none;}
#lightbox-close:hover {color: rgb(255, 255, 255); border-color: rgba(255, 255, 255, 0.35); background: rgba(255, 255, 255, 0.05);}
#lightbox-counter {position: absolute; bottom: 18px; left: 50%; transform: translateX(-50%); font-family: var(--fm); font-size: 8px; letter-spacing: 0.2em; color: rgba(255, 255, 255, 0.3); text-transform: uppercase; white-space: nowrap;}
#lightbox-prev,  #lightbox-next {position: absolute; top: 50%; transform: translateY(-50%); color: rgba(255, 255, 255, 0.35); cursor: pointer; padding: 16px 20px; border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 2px; transition: color 0.2s, border-color 0.2s, background 0.2s; background: none; font-family: var(--fm); font-size: 14px; letter-spacing: 0.04em;}
#lightbox-prev {left: 16px;}
#lightbox-next {right: 16px;}
#lightbox-prev:hover,  #lightbox-next:hover {color: rgb(255, 255, 255); border-color: rgba(255, 255, 255, 0.3); background: rgba(255, 255, 255, 0.06);}
@media (max-width: 640px) {
#lightbox-prev,  #lightbox-next {padding: 10px 14px; font-size: 12px;}
}
.strip-section {padding: clamp(28px, 4vw, 44px) 0px; background: var(--s1); border-top: 1px solid var(--br); border-bottom: 1px solid var(--br); overflow: hidden;}
.strip-header {display: flex; align-items: center; justify-content: space-between; padding: 0px clamp(20px, 4vw, 52px); margin-bottom: 18px;}
.strip-label {font-family: var(--fm); font-size: 9px; letter-spacing: 0.28em; text-transform: uppercase; color: var(--az-text); display: flex; align-items: center; gap: 10px;}
.strip-label::before {content: ""; width: 20px; height: 1px; background: var(--az);}
.strip-hint {font-family: var(--fm); font-size: 8px; letter-spacing: 0.14em; color: var(--s5); text-transform: uppercase;}
.photo-strip-wrap {overflow: hidden; position: relative; user-select: none;}
.photo-strip-wrap::before,  .photo-strip-wrap::after {content: ""; position: absolute; top: 0px; bottom: 0px; width: 80px; z-index: 2; pointer-events: none;}
.photo-strip-wrap::before {left: 0px; background: none;}
.photo-strip-wrap::after {right: 0px; background: none;}
.photo-strip {display: flex; gap: 3px; width: max-content; animation: 55s linear 0s infinite normal none running stripScroll;}
.photo-strip:hover {animation-play-state: paused;}
.photo-strip-item {width: clamp(160px, 14vw, 220px); height: clamp(110px, 10vw, 150px); flex-shrink: 0; overflow: hidden; border-radius: 2px; cursor: zoom-in; position: relative;}
.photo-strip-item img {width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s var(--ease);}
picture {display: contents;}
.port-thumb-bg > img,  .port-thumb-bg picture > img {width: 100%; height: 100%; object-fit: cover; display: block;}
.ig-item-bg {position: relative;}
.ig-item-bg > img {position: absolute; inset: 0px; width: 100%; height: 100%; object-fit: cover; display: block;}
.photo-strip-item:hover img {transform: scale(1.06);}
.photo-strip-item::after {content: ""; position: absolute; inset: 0px; background: rgba(0, 0, 0, 0); transition: background 0.3s;}
.photo-strip-item:hover::after {background: rgba(26, 26, 255, 0.08);}
@keyframes stripScroll { 
  0% { transform: translateX(0px); }
  100% { transform: translateX(-50%); }
}
.port-item::before {content: ""; position: absolute; inset: 0px; z-index: 3; pointer-events: none; background: none; opacity: 0; transition: opacity 0.25s;}
.port-item:hover::before {opacity: 1;}
.port-item {transition: box-shadow .35s var(--ease);}
.port-item:hover {box-shadow: rgba(26, 26, 255, 0.3) 0px 0px 0px 1px, rgba(0, 0, 0, 0.55) 0px 12px 40px;}
.port-item--featured:hover {box-shadow: rgba(26, 26, 255, 0.65) 0px 0px 0px 1px, rgba(26, 26, 255, 0.18) 0px 0px 40px, rgba(0, 0, 0, 0.5) 0px 12px 40px;}
.port-item.stagger-init {opacity: 0; transform: translateY(22px) scale(0.97); filter: blur(4px);}
.port-item.stagger-vis {filter: none; transition: opacity .55s var(--ease),transform .55s var(--ease),filter .55s var(--ease),box-shadow .35s var(--ease); opacity: 1 !important; transform: none !important;}
.port-item.stagger-vis.port-hidden {filter: blur(2px); pointer-events: none; opacity: 0 !important; transform: scale(0.94) !important;}
.stat-val.counted {animation: statPop .4s var(--spring);}
@keyframes statPop { 
  0% { transform: scale(1); }
  50% { transform: scale(1.12); color: var(--az-text); }
  100% { transform: scale(1); }
}
.mm-toast {position: fixed; bottom: 28px; left: 50%; transform: translateX(-50%) translateY(12px); z-index: 9999; background: var(--az); color: rgb(255, 255, 255); font-family: var(--fm); font-size: 9px; letter-spacing: 0.18em; text-transform: uppercase; padding: 10px 24px; border-radius: 2px; pointer-events: none; opacity: 0; transition: opacity .25s,transform .25s var(--spring); white-space: nowrap; box-shadow: rgba(26, 26, 255, 0.35) 0px 4px 20px;}
.mm-toast.show {opacity: 1; transform: translateX(-50%) translateY(0px);}
.kbd-hint {position: fixed; bottom: 28px; left: 28px; z-index: 190; display: flex; flex-direction: column; gap: 5px; opacity: 0; transition: opacity 0.3s; pointer-events: none;}
.kbd-hint.vis {opacity: 1; pointer-events: all;}
.kbd-item {display: flex; align-items: center; gap: 8px; font-family: var(--fm); font-size: 7px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--s5);}
.kbd-key {border: 1px solid var(--br2); border-radius: 3px; padding: 2px 6px; font-size: 8px; color: var(--s6); background: var(--s1);}
@media (max-width: 860px) {
.kbd-hint {display: none;}
}
body {counter-reset: sec 0;}
.sec,  .sec-sm {counter-increment: sec 1;}
.sec .label::before,  .sec-sm .label::before {content: "0" counter(sec); width: auto; height: auto; background: none; color: var(--s5); letter-spacing: 0.08em; margin-right: 2px; font-variant-numeric: tabular-nums;}
[data-theme="light"] .dvd {background: none;}
[data-theme="light"] .nav-right {border-color: var(--br3);}
.sessions-header {display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; margin-bottom: clamp(32px, 5vw, 56px); flex-wrap: wrap;}
.sessions-grid {display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px;}
.sessions-sub {display: flex; align-items: baseline; gap: 18px; flex-wrap: wrap; margin: clamp(28px, 4vw, 44px) 0px 16px;}
.sessions-sub-p {font-family: var(--ff); font-size: 13px; color: var(--s6); margin: 0px; max-width: 520px;}
.sec .sessions-sub .label::before {content: ""; width: 20px; height: 1px; background: var(--az-text); margin-right: 0px;}
.cine-grid {grid-template-columns: repeat(4, 1fr);}
.cine-grid .session-thumb {aspect-ratio: 16 / 9;}
.cine-grid .session-title {font-size: clamp(13px, 1.15vw, 16px); line-height: 1.15; letter-spacing: 0.03em;}
@media (max-width: 1100px) {
.cine-grid {grid-template-columns: repeat(3, 1fr);}
}
@media (max-width: 860px) {
.sessions-grid,  .cine-grid {grid-template-columns: repeat(2, 1fr);}
}
@media (max-width: 480px) {
.sessions-grid,  .cine-grid {grid-template-columns: 1fr;}
}
.session-card {display: flex; flex-direction: column; cursor: pointer; border: 1px solid var(--br2); border-radius: 8px; overflow: hidden; background: var(--s1); transition: transform .28s var(--ease),box-shadow .28s,border-color .28s; color: var(--w); text-decoration: none;}
.session-card:hover {transform: translateY(-4px); box-shadow: rgba(0, 0, 0, 0.38) 0px 16px 48px;}
[data-theme="light"] .session-card {background: rgb(255, 255, 255); box-shadow: rgba(0, 0, 0, 0.06) 0px 1px 4px;}
.session-thumb {position: relative; aspect-ratio: 16 / 10; overflow: hidden; display: flex; align-items: center; justify-content: center;}
.session-thumb-img {position: absolute; inset: 0px; width: 100%; height: 100%; object-fit: cover; display: block; z-index: 0; transition: transform .5s var(--ease),filter .3s;}
.session-card:hover .session-thumb-img {transform: scale(1.05); filter: brightness(1.08);}
.session-thumb::after {content: ""; position: absolute; inset: 0px; z-index: 1; pointer-events: none; background: none;}
.session-play,  .session-ep,  .session-waveform {z-index: 2;}
.sc-1 {background: rgb(10, 10, 10);}
.sc-2 {background: rgb(10, 10, 10);}
.sc-3 {background: rgb(10, 10, 10);}
.sc-4 {background: rgb(10, 10, 10);}
.sc-5 {background: rgb(10, 10, 10);}
.sc-more {background: var(--s2); flex-direction: column; gap: 10px;}
.session-play {width: 48px; height: 48px; border-radius: 50%; background: rgba(26, 26, 255, 0.9); backdrop-filter: none; display: flex; align-items: center; justify-content: center; opacity: 0; transform: scale(0.72); transition: opacity .25s,transform .3s var(--spring); position: relative; z-index: 2;}
.session-card:hover .session-play {opacity: 1; transform: scale(1);}
.session-ep {position: absolute; top: 10px; right: 10px; z-index: 3; font-family: var(--fm); font-size: 8px; letter-spacing: 0.22em; text-transform: uppercase; color: rgba(255, 255, 255, 0.92); background: rgba(0, 0, 0, 0.62); backdrop-filter: none; padding: 4px 10px; border-radius: 2px;}
.session-waveform {position: absolute; bottom: 12px; left: 12px; right: 12px; z-index: 2; display: flex; align-items: flex-end; gap: 2px; height: 18px; opacity: 0; transition: opacity 0.3s;}
.session-card:hover .session-waveform {opacity: 1;}
.session-waveform span {flex: 1 1 0%; background: rgba(26, 26, 255, 0.75); border-radius: 1px; animation: 1.1s ease-in-out 0s infinite normal none running waveBar;}
.session-waveform span:nth-child(1) {animation-delay: 0s; height: 30%;}
.session-waveform span:nth-child(2) {animation-delay: 0.12s; height: 70%;}
.session-waveform span:nth-child(3) {animation-delay: 0.22s; height: 50%;}
.session-waveform span:nth-child(4) {animation-delay: 0.06s; height: 90%;}
.session-waveform span:nth-child(5) {animation-delay: 0.16s; height: 60%;}
.session-waveform span:nth-child(6) {animation-delay: 0.26s; height: 40%;}
.session-waveform span:nth-child(7) {animation-delay: 0.09s; height: 75%;}
.session-waveform span:nth-child(8) {animation-delay: 0.19s; height: 55%;}
@keyframes waveBar { 
  0%, 100% { transform: scaleY(1); }
  50% { transform: scaleY(2.2); }
}
.session-waveform span {animation-play-state: paused;}
.session-card:hover .session-waveform span,  .session-card:focus-visible .session-waveform span {animation-play-state: running;}
.session-info {padding: 14px 16px; background: var(--s1); border-top: 1px solid var(--br);}
.session-title {font-family: var(--fd); font-size: clamp(15px, 2vw, 21px); letter-spacing: 0.04em; color: var(--w); line-height: 1;}
.session-meta {font-family: var(--fm); font-size: 8px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--s6); margin-top: 4px;}
.sessions-strip {display: flex; align-items: center; background: var(--s1); border: 1px solid var(--br2); border-radius: 8px; margin-top: 16px; flex-wrap: wrap;}
.sessions-strip-item {display: flex; align-items: center; gap: 16px; padding: clamp(18px, 2.5vw, 28px) clamp(24px, 3.5vw, 44px); flex: 1 1 0%; min-width: 190px;}
.sessions-strip-ico {width: 26px; height: 26px; color: var(--az-text); flex-shrink: 0;}
.sessions-strip-ico svg {width: 100%; height: 100%;}
.sessions-strip-title {font-size: 13px; font-weight: 500; color: var(--w); line-height: 1.2;}
.sessions-strip-sub {font-family: var(--fm); font-size: 9px; letter-spacing: 0.14em; color: var(--s6); margin-top: 3px;}
.sessions-strip-div {width: 1px; height: 44px; background: var(--br2); flex-shrink: 0;}
@media (max-width: 600px) {
.sessions-strip {flex-direction: column; align-items: flex-start;}
.sessions-strip-div {width: 100%; height: 1px;}
}
[data-theme="light"] .sessions-strip,  [data-theme="light"] .session-info {background: var(--s1);}
[data-theme="light"] .session-title {color: var(--w);}
[data-theme="light"] .sessions-strip-title {color: var(--w);}
[data-theme="light"] .marcas-label {color: var(--s6);}
[data-theme="light"] .marca-item {color: var(--s5); border-color: var(--br2);}
[data-theme="light"] .suites-split-viz {border-color: var(--br2);}
[data-theme="light"] .suite-viz-half {background: var(--s2);}
[data-theme="light"] .suite-viz-lbl {color: var(--s7);}
[data-theme="light"] .remote-callout {background: var(--s2); border-color: var(--br2);}
[data-theme="light"] .remote-callout-title {color: var(--w);}
[data-theme="light"] .port-fs-title {color: var(--w);}
[data-theme="light"] .port-featured-strip {background: var(--s1);}
[data-theme="light"] .cta-map-placeholder {background: var(--s2); border-color: var(--br2);}
[data-theme="light"] .cta-map-txt,  [data-theme="light"] .cta-contact-label {color: var(--s6);}
[data-theme="light"] .cta-contact-val {color: var(--w);}
[data-theme="light"] .review-author {color: var(--s7);}
[data-theme="light"] .review-card {background: var(--s1);}
[data-theme="light"] .faq-card {background: var(--s1);}
[data-theme="light"] .strip-section {background: var(--s1);}
[data-theme="light"] .strip-label,  [data-theme="light"] .strip-hint {color: var(--s6);}
[data-theme="light"] .ig-item-bg {filter: brightness(0.95);}
[data-theme="light"] .cta-sec {background: none;}
[data-theme="light"] .h-xl,  [data-theme="light"] .h-mix {color: var(--w);}
[data-theme="light"] .label {color: var(--az-text);}
.hero {background: rgb(2, 2, 8);}
.hero,  [data-theme="light"] .hero {--hw: #f4f2ee;}
[data-theme="light"] .hero-name,  [data-theme="light"] .hero-stat-val {color: var(--hw);}
[data-theme="light"] .hero-video-fallback {background: none;}
.hero-aurora {position: absolute; inset: -12%; z-index: 0; pointer-events: none; filter: blur(70px); opacity: 0.6; will-change: transform;}
.aurora-blob {position: absolute; border-radius: 50%; mix-blend-mode: screen; will-change: transform;}
.aurora-blob.ab1 {width: 46vw; height: 46vw; left: 6%; top: 14%; background: none; animation: 19s ease-in-out 0s infinite normal none running auroraA;}
.aurora-blob.ab2 {width: 40vw; height: 40vw; right: 4%; top: 2%; background: none; animation: 24s ease-in-out 0s infinite normal none running auroraB;}
.aurora-blob.ab3 {width: 36vw; height: 36vw; left: 40%; bottom: -10%; background: none; animation: 28s ease-in-out 0s infinite normal none running auroraC;}
@keyframes auroraA { 
  0%, 100% { transform: translate(0px, 0px) scale(1); }
  50% { transform: translate(8%, 6%) scale(1.12); }
}
@keyframes auroraB { 
  0%, 100% { transform: translate(0px, 0px) scale(1); }
  50% { transform: translate(-7%, 9%) scale(1.08); }
}
@keyframes auroraC { 
  0%, 100% { transform: translate(0px, 0px) scale(1); }
  50% { transform: translate(6%, -8%) scale(1.15); }
}
.hero-mark {position: absolute; z-index: 1; left: 44%; top: 46%; width: min(82vh, 72vw); aspect-ratio: 1 / 1; transform: translate(-50%, -50%); pointer-events: none; opacity: 0.22; filter: drop-shadow(rgba(26, 26, 255, 0.5) 0px 0px 70px); will-change: transform;}
.hero .hero-grad-overlay {background: none;}
.hero-mark-spin {width: 100%; height: 100%; animation: 64s linear 0s infinite normal none running markSpin;}
.hero-mark svg {width: 100%; height: 100%; display: block; overflow: visible;}
.hero-mark .am-ring {fill: none; stroke: rgba(26, 26, 255, 0.5); stroke-width: 0.6; stroke-dasharray: 3, 5;}
@keyframes markSpin { 
  100% { transform: rotate(360deg); }
}
.hero-ast-inline {display: inline-block; color: var(--az-text); font-size: 0.52em; width: 0.92em; height: 0.92em; fill: currentcolor; vertical-align: 0.42em; margin-left: 0.04em; filter: drop-shadow(rgba(80, 90, 255, 0.5) 0px 0px 14px); animation: 3.4s ease-in-out 0s infinite normal none running astPulse;}
@keyframes astPulse { 
  0%, 100% { transform: rotate(0deg) scale(1); opacity: 0.9; }
  50% { transform: rotate(90deg) scale(1.1); opacity: 1; }
}
.hero-rotator {margin-top: 18px; font-family: var(--fi); font-style: normal; font-size: clamp(17px, 2.1vw, 26px); color: rgba(244, 242, 238, 0.62); opacity: 0; animation: 0.7s ease 1.15s 1 normal both running fadeUp; display: flex; align-items: baseline; gap: 0.4em; flex-wrap: wrap;}
.hero-rot-word {position: relative; display: inline-block; min-width: 1ch; font-family: var(--ff); font-style: normal; font-weight: 500; font-size: 0.72em; letter-spacing: 0.02em; color: var(--hw); padding-bottom: 2px;}
.hero-rot-word::after {content: ""; position: absolute; left: 0px; bottom: -2px; width: 100%; height: 1px; background: none;}
.hero-rot-word.swap {animation: rotWord .5s var(--ease);}
@keyframes rotWord { 
  0% { opacity: 0; transform: translateY(10px) rotateX(-40deg); }
  100% { opacity: 1; transform: none; }
}
.hero-gif-panel.hero-stage {position: absolute; inset: 0px auto 0px 0px; width: 100%; clip-path: none; z-index: 0; overflow: hidden;}
.hero-gif-panel.hero-stage::after {display: none;}
.hero-stage-inner {position: absolute; inset: -3%; will-change: transform;}
.hero-slide {position: absolute; inset: 0px; opacity: 0; will-change: opacity, transform; animation: 32s ease-in-out 0s infinite normal none running heroCycle;}
.hero-slide img {width: 100%; height: 100%; object-fit: cover; display: block; filter: grayscale(0.32) contrast(1.06) brightness(0.6) saturate(1.28);}
.hero-slide:nth-child(1) {animation-delay: 0s;}
.hero-slide:nth-child(2) {animation-delay: 6.4s;}
.hero-slide:nth-child(3) {animation-delay: 12.8s;}
.hero-slide:nth-child(4) {animation-delay: 19.2s;}
.hero-slide:nth-child(5) {animation-delay: 25.6s;}
@keyframes heroCycle { 
  0% { opacity: 0; transform: scale(1.17); }
  4% { opacity: 1; }
  18% { opacity: 1; transform: scale(1.05); }
  22% { opacity: 0; }
  100% { opacity: 0; transform: scale(1); }
}
.hero-spotlight {mix-blend-mode: screen;}
.hero-hud {position: absolute; inset: clamp(14px, 2.4vw, 30px); z-index: 3; pointer-events: none; font-family: var(--fm);}
.vf-corner {position: absolute; width: 26px; height: 26px; border: 1.5px solid rgba(244, 242, 238, 0.45);}
.vf-corner.tl {top: 0px; left: 0px; border-right-width: medium; border-right-style: none; border-right-color: currentcolor; border-bottom-width: medium; border-bottom-style: none; border-bottom-color: currentcolor;}
.vf-corner.tr {top: 0px; right: 0px; border-left-width: medium; border-left-style: none; border-left-color: currentcolor; border-bottom-width: medium; border-bottom-style: none; border-bottom-color: currentcolor;}
.vf-corner.bl {bottom: 0px; left: 0px; border-right-width: medium; border-right-style: none; border-right-color: currentcolor; border-top-width: medium; border-top-style: none; border-top-color: currentcolor;}
.vf-corner.br {bottom: 0px; right: 0px; border-left-width: medium; border-left-style: none; border-left-color: currentcolor; border-top-width: medium; border-top-style: none; border-top-color: currentcolor;}
.vf-rec {position: absolute; top: 0px; left: 50%; transform: translateX(-50%); display: flex; align-items: center; gap: 8px; font-size: 10px; letter-spacing: 0.22em; color: rgba(244, 242, 238, 0.72);}
.vf-rec-dot {width: 8px; height: 8px; border-radius: 50%; background: rgb(255, 46, 46); box-shadow: rgb(255, 46, 46) 0px 0px 10px; animation: 1.4s steps(1) 0s infinite normal none running recBlink;}
@keyframes recBlink { 
  0%, 49% { opacity: 1; }
  50%, 100% { opacity: 0.12; }
}
.vf-tc {color: var(--az-text); font-variant-numeric: tabular-nums;}
.vf-spec {position: absolute; bottom: 0px; right: 0px; font-size: 9px; letter-spacing: 0.24em; color: rgba(244, 242, 238, 0.5);}
.vf-reticle {position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: min(40vh, 32vw); height: min(40vh, 32vw);}
.vf-reticle span {position: absolute; width: 16px; height: 16px; border: 1.5px solid rgba(26, 26, 255, 0.5);}
.vf-reticle span:nth-child(1) {top: 0px; left: 0px; border-right-width: medium; border-right-style: none; border-right-color: currentcolor; border-bottom-width: medium; border-bottom-style: none; border-bottom-color: currentcolor;}
.vf-reticle span:nth-child(2) {top: 0px; right: 0px; border-left-width: medium; border-left-style: none; border-left-color: currentcolor; border-bottom-width: medium; border-bottom-style: none; border-bottom-color: currentcolor;}
.vf-reticle span:nth-child(3) {bottom: 0px; left: 0px; border-right-width: medium; border-right-style: none; border-right-color: currentcolor; border-top-width: medium; border-top-style: none; border-top-color: currentcolor;}
.vf-reticle span:nth-child(4) {bottom: 0px; right: 0px; border-left-width: medium; border-left-style: none; border-left-color: currentcolor; border-top-width: medium; border-top-style: none; border-top-color: currentcolor;}
.hero-scan {position: absolute; inset: 0px; z-index: 1; pointer-events: none; opacity: 0.5; background: none;}
.hero-reel {display: inline-flex; align-items: center; gap: 11px; position: relative; overflow: hidden; padding: 12px 22px 12px 14px !important;}
.hero-reel .reel-ico {width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; background: rgba(255, 255, 255, 0.16); flex-shrink: 0; transition: background 0.3s, transform 0.3s;}
.hero-reel:hover .reel-ico {background: rgba(255, 255, 255, 0.28); transform: scale(1.08);}
.hero-reel .reel-ico svg {width: 11px; height: 11px; margin-left: 1px;}
@media (max-width: 860px) {
.hero-gif-panel.hero-stage {display: block;}
.hero-mark {opacity: 0.14; width: 108vw; top: 42%;}
.hero-aurora {opacity: 0.5; filter: blur(48px);}
.hero-scan {opacity: 0.35;}
.vf-reticle {display: none;}
.vf-spec {display: none;}
.vf-corner {width: 18px; height: 18px;}
}
@media (prefers-reduced-motion: reduce) {
.aurora-blob,  .hero-mark-spin,  .hero-ast-inline,  .vf-rec-dot {animation: auto ease 0s 1 normal none running none !important;}
.hero-slide {animation: auto ease 0s 1 normal none running none; opacity: 0;}
.hero-slide:nth-child(1) {opacity: 1;}
}
 .pf-btn,  .suite-tab,  .rnav-btn {transition: background .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease),transform .14s var(--ease);}
.btn:active {transform: scale(0.96);}
.svc-card:active {transform: translateY(-2px) scale(0.992);}
 .pf-btn:active,  .suite-tab:active,  .rnav-btn:active {transform: scale(0.96);}
 .theme-btn:active,  .ham:active {transform: scale(0.9);}
@media (prefers-reduced-motion: reduce) {
.btn:active,  .svc-card:active,  .pf-btn:active,  .suite-tab:active,  .rnav-btn:active,  .theme-btn:active,  .ham:active {transform: none;}
}
.hero-bg-video {position: absolute; inset: 0px; width: 100%; height: 100%; object-fit: cover; z-index: 0; opacity: 0; transition: opacity 1.4s var(--ease); pointer-events: none; filter: grayscale(0.3) contrast(1.08) brightness(0.52) saturate(1.2);}
.hero-bg-video.playing {opacity: 1;}
.hero .hero-mark {opacity: 0.08; left: 50%; top: 50%; width: min(78vh, 62vw); filter: drop-shadow(rgba(0, 0, 255, 0.3) 0px 0px 48px);}
.hero .hero-scan {opacity: 0.22;}
.hero .hero-aurora {opacity: 0.42;}
.hero .vf-reticle {opacity: 0.35;}
.hero .vf-reticle span {border-color: rgba(244, 242, 238, 0.18);}
.hero .vf-corner {border-color: rgba(244, 242, 238, 0.28);}
.hero .hero-grad-overlay {background: none;}
.hero-eyebrow {display: inline-flex; align-items: center; gap: 10px; font-family: var(--fm); font-weight: 700; font-size: 9px; letter-spacing: 0.28em; text-transform: uppercase; color: rgba(244, 242, 238, 0.45); margin-bottom: clamp(16px, 2.4vh, 24px); opacity: 0; animation: fadeUp .6s var(--spring) .78s both;}
.hero-eyebrow-dot {width: 5px; height: 5px; border-radius: 50%; background: rgb(0, 0, 255); box-shadow: rgb(0, 0, 255) 0px 0px 10px; flex-shrink: 0; animation: 2.6s ease 0s infinite normal none running agendaPulse;}
.hero-name {font-family: var(--fd); font-weight: 800; font-size: clamp(72px, 12.8vw, 160px); line-height: 0.86; letter-spacing: -0.04em; text-transform: uppercase; text-shadow: rgba(0, 0, 0, 0.7) 0px 4px 40px;}
.hero-name-blue {color: rgb(0, 0, 255); -webkit-text-fill-color: rgb(0, 0, 255);}
[data-theme="light"] .hero-name-blue {color: rgb(0, 0, 255); -webkit-text-fill-color: rgb(0, 0, 255);}
.hero-ast-inline {display: inline-block; color: rgb(0, 0, 255); font-size: 0.48em; vertical-align: 0.44em; margin-left: 0.05em; animation: 3.4s ease-in-out 0s infinite normal none running astPulse;}
.hero-rotator {font-family: var(--fi); font-weight: 300; font-style: normal; font-size: clamp(15px, 1.8vw, 22px); color: rgba(244, 242, 238, 0.58); margin-top: clamp(14px, 2vh, 20px); letter-spacing: 0.01em;}
.hero-rot-word {font-family: var(--ff); font-style: normal; font-weight: 600; font-size: 0.82em; letter-spacing: 0.01em; color: rgb(242, 240, 236); padding-bottom: 2px;}
.hero-rot-word::after {content: ""; position: absolute; left: 0px; bottom: -2px; width: 100%; height: 1px; background: none;}
.hero-sub-txt {font-family: var(--ff); font-weight: 400; font-size: clamp(13px, 1.3vw, 15px); color: rgba(244, 242, 238, 0.6); max-width: 400px; line-height: 1.75; margin-top: clamp(12px, 1.8vh, 18px);}
.hero-sub-txt em {color: rgb(242, 240, 236); font-style: normal; font-weight: 300;}
.hero-cta-row {display: flex; gap: 12px; margin-top: clamp(22px, 3.2vh, 32px); flex-wrap: wrap; align-items: center; opacity: 0; animation: 0.7s ease 1.28s 1 normal both running fadeUp;}
.hero-cta-row::before {content: ""; display: none;}
.hero-reel {box-shadow: var(--az-glow);}
.hero-reel-txt {display: inline-flex; flex-direction: column; align-items: flex-start; line-height: 1.04; text-align: left;}
.hero-reel-yr {font-size: 7px; letter-spacing: 0.18em; opacity: 0.55; font-weight: 400; margin-top: 2px; text-transform: uppercase;}
.hero-port-btn {font-size: 9px; font-weight: 600; letter-spacing: 0.16em; padding: 13px 22px !important;}
.hero-meta {display: flex; align-items: center; gap: 16px; margin-top: clamp(20px, 3vh, 28px); opacity: 0; animation: 0.6s ease 1.5s 1 normal both running fadeUp;}
.agenda-badge {font-family: var(--fm); font-weight: 700; font-size: 8px; letter-spacing: 0.28em; color: rgba(244, 242, 238, 0.7); background: rgba(255, 255, 255, 0.04); border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 2px; padding: 7px 14px 7px 10px; backdrop-filter: none;}
.hero-scroll-hint {font-family: var(--fm); font-weight: 600; font-size: 8px; letter-spacing: 0.22em; text-transform: uppercase; color: rgba(244, 242, 238, 0.35); display: flex; align-items: center; gap: 8px; background: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; cursor: pointer; padding: 0px;}
.hsh-line {display: block; width: 1px; height: 28px; background: none;}
.hero-name-line:nth-child(1) {animation-delay: 0.86s;}
.hero-name-line:nth-child(2) {animation-delay: 1s;}
.hg-tile img {filter: grayscale(0.22) contrast(1.08) brightness(0.72) saturate(1.18); transition: filter .5s var(--ease);}
.hg-tile:hover img {filter: grayscale(0.1) contrast(1.06) brightness(0.82) saturate(1.28);}
.hero-gallery-badge {position: absolute; bottom: 20px; left: 50%; transform: translateX(-50%); font-family: var(--fm); font-weight: 700; font-size: 8px; letter-spacing: 0.22em; text-transform: uppercase; color: rgba(244, 242, 238, 0.75); background: rgba(0, 0, 0, 0.55); backdrop-filter: none; border: 1px solid rgba(255, 255, 255, 0.12); border-radius: 2px; padding: 7px 16px; display: flex; align-items: center; gap: 8px; white-space: nowrap;}
.hgb-dot {width: 5px; height: 5px; border-radius: 50%; background: rgb(0, 0, 255); box-shadow: rgb(0, 0, 255) 0px 0px 8px; flex-shrink: 0;}
@media (max-width: 860px) {
.hero .hero-mark {opacity: 0.1; width: 110vw; top: 42%;}
.hero-name {font-size: clamp(62px, 16vw, 108px); text-shadow: rgba(0, 0, 0, 0.65) 0px 3px 28px;}
.hero-reel-yr {display: none;}
.hero-sub-txt {max-width: 100%;}
}
@media (max-width: 480px) {
.hero-name {font-size: clamp(52px, 18vw, 88px); letter-spacing: -0.035em;}
.hero-cta-row {flex-direction: column; align-items: flex-start;}
}
@media (prefers-reduced-motion: reduce) {
.hero-eyebrow,  .hero-cta-row,  .hero-meta {animation: auto ease 0s 1 normal none running none !important; opacity: 1 !important;}
.hero-reel,  .hero-eyebrow-dot,  .hero-ast-inline {animation: auto ease 0s 1 normal none running none !important;}
}
.cta-inner {align-items: start;}
.cta-form {background: var(--s1); border: 1px solid var(--br2); border-radius: 14px; padding: clamp(22px, 3vw, 30px); display: flex; flex-direction: column; gap: 14px; box-shadow: rgba(0, 0, 0, 0.7) 0px 30px 80px -42px; position: relative; overflow: hidden;}
.cta-form::before {content: ""; position: absolute; top: 0px; left: 0px; right: 0px; height: 1px; background: none; opacity: 0.55;}
.cta-form-head {margin-bottom: 2px;}
.cta-form-eyebrow {display: inline-flex; align-items: center; gap: 8px; font-family: var(--fm); font-size: 9px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--s7); margin-bottom: 10px;}
.cta-form-dot {width: 6px; height: 6px; border-radius: 50%; background: var(--az); box-shadow: 0 0 10px var(--az);}
.cta-form-title {font-family: var(--fd); font-size: clamp(24px, 3vw, 34px); letter-spacing: 0.02em; line-height: 1;}
.cf-hp {position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; pointer-events: none;}
.cf-row {display: grid; grid-template-columns: 1fr 1fr; gap: 12px;}
.cf-field {display: flex; flex-direction: column; gap: 6px; min-width: 0px;}
.cf-field label {font-family: var(--fm); font-size: 9px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--s6);}
.cta-form input,  .cta-form select,  .cta-form textarea {width: 100%; background: var(--b); border: 1px solid var(--br2); border-radius: 8px; padding: 11px 13px; color: var(--w); font-family: var(--ff); font-size: 13px; line-height: 1.4; transition: border-color .2s var(--ease),box-shadow .2s var(--ease),background .2s;}
.cta-form textarea {resize: vertical; min-height: 72px;}
.cta-form input::placeholder,  .cta-form textarea::placeholder {color: var(--s5);}
.cta-form input:focus,  .cta-form select:focus,  .cta-form textarea:focus {outline: none; border-color: var(--az-text); box-shadow: 0 0 0 3px var(--az-light);}
.cta-form .cf-invalid {border-color: rgb(255, 77, 77) !important; box-shadow: rgba(255, 77, 77, 0.14) 0px 0px 0px 3px !important;}
.cf-err {color: rgb(255, 107, 107); font-family: var(--fm); font-size: 11px; letter-spacing: 0.02em;}
.cf-err:empty {display: none;}
.cf-submit {position: relative; justify-content: center; gap: 9px; margin-top: 2px;}
.cf-submit-ico {width: 14px; height: 14px; flex-shrink: 0;}
.cf-submit.loading .cf-submit-label,  .cf-submit.loading .cf-submit-ico {opacity: 0;}
.cf-spinner {display: none; position: absolute; width: 16px; height: 16px; border-width: 2px; border-style: solid; border-color: rgb(255, 255, 255) rgba(255, 255, 255, 0.32) rgba(255, 255, 255, 0.32); border-image: none; border-radius: 50%; animation: 0.7s linear 0s infinite normal none running cfSpin;}
.cf-submit.loading .cf-spinner {display: block;}
@keyframes cfSpin { 
  100% { transform: rotate(360deg); }
}
.cf-submit.ok {background: rgb(16, 185, 129) !important; border-color: rgb(16, 185, 129) !important; color: rgb(255, 255, 255) !important; animation: auto ease 0s 1 normal none running none !important;}
.cf-alt {font-family: var(--fm); font-size: 10px; letter-spacing: 0.04em; color: var(--s6); text-align: center; margin-top: 2px;}
.cf-alt a,  .cf-alt-link {color: var(--az-text); text-decoration: none; font: inherit; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; background: none; cursor: pointer; padding: 0px;}
.cf-alt a:hover,  .cf-alt-link:hover {text-decoration: underline;}
@media (max-width: 520px) {
.cf-row {grid-template-columns: 1fr;}
}
@media (prefers-reduced-motion: reduce) {
.cf-spinner {animation-duration: 1.4s;}
}
.hero {position: relative; min-height: 100svh; height: auto; overflow: hidden; background: var(--b); display: flex; flex-direction: column; isolation: isolate;}
.hero-aurora--split {position: absolute; inset: 0px; z-index: 0; filter: blur(80px); opacity: 0.5; pointer-events: none;}
.hero-aurora--split .ab1 {width: 42vw; height: 42vw; left: -8%; top: 4%; background: none; animation: 22s ease-in-out 0s infinite normal none running auroraA;}
.hero-aurora--split .ab3 {width: 34vw; height: 34vw; left: 12%; bottom: -14%; background: none; animation: 30s ease-in-out 0s infinite normal none running auroraC;}
.hero-grain {position: absolute; inset: 0px; z-index: 1; pointer-events: none; opacity: 0.045; mix-blend-mode: overlay; background-image: none;}
.hero-grid {position: relative; z-index: 2; flex: 1 1 0%; display: grid; grid-template-columns: minmax(0px, 1.04fr) minmax(0px, 0.96fr); align-items: center; gap: clamp(28px, 4.5vw, 72px); width: 100%; max-width: 1640px; margin: 0px auto; padding: clamp(104px, 13vh, 140px) clamp(20px, 4vw, 56px) clamp(34px, 5vh, 52px);}
.hero-left {display: flex; flex-direction: column; align-items: flex-start; max-width: 600px;}
.hero-left .hero-name {font-size: clamp(58px, 8vw, 118px); line-height: 0.84; margin-top: 8px;}
.hero-left .hero-rotator {margin-top: 16px;}
.hero-left .hero-sub-txt {margin-top: 18px; max-width: 440px; opacity: 0; animation: 0.7s ease 1.2s 1 normal both running fadeUp;}
.hero-left .hero-cta-row {margin-top: clamp(22px, 3vh, 30px);}
.hero-meta {display: flex; align-items: center; gap: 16px; margin-top: clamp(24px, 3.2vh, 32px); flex-wrap: wrap; opacity: 0; animation: 0.7s ease 1.5s 1 normal both running fadeUp;}
.hero-meta .agenda-badge {margin: 0px; animation: auto ease 0s 1 normal none running none; opacity: 1;}
.hero-scroll-hint {display: inline-flex; align-items: center; gap: 9px; font-family: var(--fm); font-size: 9px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--s6); background: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; cursor: pointer; transition: color 0.25s;}
.hero-scroll-hint:hover {color: var(--w);}
.hsh-line {width: 26px; height: 1px; background: var(--br3); position: relative; overflow: hidden; display: inline-block;}
.hsh-line::after {content: ""; position: absolute; inset: 0px; width: 45%; background: var(--az); animation: hshSlide 1.9s var(--ease) infinite;}
@keyframes hshSlide { 
  0% { transform: translateX(-110%); }
  100% { transform: translateX(260%); }
}
.hero-right {position: relative; z-index: 2; height: min(74vh, 600px); overflow: hidden; opacity: 0; animation: fadeUp .9s var(--ease) .45s both; mask-image: none;}
.hero-gallery {display: grid; grid-template-columns: 1fr 1fr; gap: clamp(10px, 1vw, 16px); height: 100%;}
.hg-col {display: flex; flex-direction: column; gap: clamp(10px, 1vw, 16px); will-change: transform;}
.hg-col-a {animation: 38s linear 0s infinite normal none running hgUp;}
.hg-col-b {animation: 38s linear 0s infinite normal none running hgDown; margin-top: clamp(-64px, -6vh, -40px);}
.hero-right:hover .hg-col {animation-play-state: paused;}
.hg-tile {position: relative; flex-shrink: 0; aspect-ratio: 3 / 4; border-radius: 14px; overflow: hidden; border: 1px solid var(--br2); background: var(--s2); box-shadow: rgba(0, 0, 0, 0.85) 0px 18px 40px -26px;}
.hg-tile img {width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s var(--ease),filter .4s; filter: saturate(1.06) contrast(1.02);}
.hg-tile::after {content: ""; position: absolute; inset: 0px; background: none; opacity: 0.55; transition: opacity 0.4s;}
.hg-tile:hover img {transform: scale(1.05); filter: saturate(1.12) contrast(1.04) brightness(1.03);}
.hg-tile:hover::after {opacity: 0.15;}
@keyframes hgUp { 
  0% { transform: translateY(0px); }
  100% { transform: translateY(-50%); }
}
@keyframes hgDown { 
  0% { transform: translateY(-50%); }
  100% { transform: translateY(0px); }
}
.hero-gallery-badge {position: absolute; left: 50%; bottom: 14px; transform: translateX(-50%); z-index: 3; display: inline-flex; align-items: center; gap: 8px; font-family: var(--fm); font-size: 9px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--w); background: rgba(8, 8, 12, 0.62); backdrop-filter: none; border: 1px solid var(--br2); border-radius: 999px; padding: 7px 15px; white-space: nowrap;}
.hgb-dot {width: 6px; height: 6px; border-radius: 50%; background: var(--az); box-shadow: 0 0 10px var(--az); animation: 2.6s ease 0s infinite normal none running agendaPulse;}
.hero .ticker {position: relative; z-index: 2; border-top: 1px solid var(--br);}
[data-theme="light"] .hg-tile::after {background: none;}
@media (max-width: 980px) {
.hero-grid {gap: clamp(20px, 3vw, 40px);}
.hero-left .hero-name {font-size: clamp(54px, 9vw, 96px);}
}
@media (max-width: 860px) {
.hero {min-height: auto;}
.hero-grid {grid-template-columns: 1fr; align-items: start; gap: 26px; padding-top: clamp(96px, 18vw, 116px); padding-bottom: 28px;}
.hero-left {max-width: none;}
.hero-left .hero-name {font-size: clamp(60px, 16vw, 104px);}
.hero-right {order: 2; height: auto; mask: none; animation-delay: 0.2s;}
.hero-gallery {display: flex; grid-template-columns: none; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 8px; scrollbar-width: none;}
.hero-gallery::-webkit-scrollbar {display: none;}
.hg-col {flex-direction: row; gap: 12px; margin: 0px; animation: auto ease 0s 1 normal none running none !important;}
.hg-tile {width: 58vw; max-width: 230px; aspect-ratio: 4 / 5; scroll-snap-align: start;}
.hg-dup {display: none;}
.hero-gallery-badge {position: static; transform: none; margin-top: 12px; align-self: flex-start;}
.hero-aurora--split {opacity: 0.4; filter: blur(54px);}
}
@media (max-width: 560px) {
.hero-left .hero-name {font-size: clamp(52px, 15vw, 86px);}
.hg-tile {width: 70vw;}
}
@media (prefers-reduced-motion: reduce) {
.hg-col-a,  .hg-col-b {animation: auto ease 0s 1 normal none running none !important;}
.hero-right,  .hero-meta,  .hero-left .hero-sub-txt {animation: auto ease 0s 1 normal none running none !important; opacity: 1 !important;}
.hsh-line::after,  .hgb-dot {animation: auto ease 0s 1 normal none running none !important;}
.hero-aurora--split .ab1,  .hero-aurora--split .ab3 {animation: auto ease 0s 1 normal none running none !important;}
}
.h30 {position: relative; z-index: 3; flex: 1 1 0%; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; width: 100%; max-width: 1080px; margin: 0px auto; padding: clamp(92px, 13vh, 130px) clamp(22px, 5vw, 44px) clamp(80px, 11vh, 110px);}
.h30-bg {position: absolute; inset: 0px; z-index: 0; overflow: hidden; background: rgb(0, 0, 0);}
.h30-plate {position: absolute; top: 0px; bottom: 0px; overflow: hidden;}
.h30-plate--l {left: 0px; width: 44%;}
.h30-plate--r {right: 0px; width: 42%; opacity: 0.42;}
.h30-plate--l {mask-image: none;}
.h30-plate--r {mask-image: none;}
.h30-bg-img {width: 100%; height: 100%; object-fit: cover; filter: grayscale(0.42) contrast(1.14) brightness(0.62) saturate(0.92);}
.h30-plate--l .h30-bg-img {object-position: 40% 34%; transform: scale(1.04); filter: grayscale(0.68) contrast(1.16) brightness(0.6) saturate(0.7);}
.h30-plate--r .h30-bg-img {object-position: 58% 44%; transform: scale(1.08); filter: grayscale(0.2) contrast(1.1) brightness(0.62) saturate(1.05);}
@media (max-width: 760px) {
.h30-plate--l {width: 100%; mask-image: none;}
.h30-plate--l .h30-bg-img {object-position: 50% 32%;}
.h30-plate--r {display: none;}
}
.h30-bg::after {content: ""; position: absolute; inset: 0px; background: none;}
.h30-name {margin: 0px; font-size: clamp(44px, 8.6vw, 106px); line-height: 0.9; opacity: 0; animation: fadeUp .9s var(--spring) .8s both;}
.h30-lead {font-family: var(--ff); font-weight: 400; font-size: clamp(15px, 1.9vw, 21px); line-height: 1.6; letter-spacing: 0.005em; color: rgba(244, 242, 238, 0.86); text-wrap: balance; max-width: 540px; margin: clamp(18px, 2.6vh, 26px) auto 0px; opacity: 0; animation: 0.7s ease 1.05s 1 normal both running fadeUp;}
.h30 .hero-cta-row {justify-content: center; margin-top: clamp(26px, 3.6vh, 36px);}
.h30 .hero-meta {justify-content: center; margin-top: clamp(20px, 2.8vh, 28px);}
.hero .btn-sec {color: var(--hw,#f4f2ee); border-color: rgba(244, 242, 238, 0.42); background: rgba(0, 0, 0, 0.34); backdrop-filter: none;}
.hero .btn-sec:hover {border-color: var(--hw,#f4f2ee); background: rgba(0, 0, 0, 0.5);}
.h30-scroll {position: absolute; left: 50%; bottom: clamp(18px, 3.2vh, 28px); transform: translateX(-50%); z-index: 3; flex-direction: column; gap: 8px; opacity: 0; animation: 0.6s ease 1.7s 1 normal both running fadeUp;}
.h30-scroll .hsh-line {width: 1px; height: 30px; background: none;}
@media (max-width: 640px) {
.h30 {padding-top: clamp(104px, 22vh, 150px); padding-bottom: clamp(70px, 12vh, 96px);}
.h30-name {font-size: clamp(40px, 13vw, 72px);}
.h30-lead {font-size: clamp(14px, 4vw, 17px); max-width: 340px;}
.h30 .hero-cta-row {flex-direction: column; width: 100%; max-width: 300px;}
.h30 .hero-cta-row .btn {width: 100%; justify-content: center;}
}
@media (prefers-reduced-motion: reduce) {
.h30-name,  .h30-lead,  .h30-scroll {animation: auto ease 0s 1 normal none running none !important; opacity: 1 !important; transform: none !important;}
.h30-bg-img {transform: scale(1.06);}
}
.anim-off,  .anim-off * {animation-play-state: paused !important;}
#client-portal:not(.on) {content-visibility: hidden;}
#lightbox-caption {position: absolute; bottom: 44px; left: 50%; transform: translateX(-50%); max-width: min(90vw, 760px); text-align: center; font-family: var(--ff); font-size: 12px; letter-spacing: 0.04em; color: rgba(255, 255, 255, 0.62); pointer-events: none; line-height: 1.5;}
#lightbox-caption b {color: rgb(255, 255, 255); font-weight: 600; letter-spacing: 0.08em;}
.pf-btn {display: inline-flex; align-items: center; gap: 7px;}
.pf-n {font-size: 8px; opacity: 0.5; font-variant-numeric: tabular-nums;}
.pf-btn.on .pf-n {opacity: 0.6;}
.pf-btn[disabled] {opacity: 0.35; cursor: not-allowed;}
.pf-btn[disabled]:hover {background: transparent; color: var(--s6); border-color: var(--br);}


/* assets/site-refinement.css */
@font-face { font-family: "Plus Jakarta Sans"; font-style: normal; font-weight: 400 800; font-display: swap; src: url("fonts/plus-jakarta-sans-latin.woff2") format("woff2"); unicode-range: U+0-FF, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Plus Jakarta Sans"; font-style: normal; font-weight: 400 800; font-display: swap; src: url("fonts/plus-jakarta-sans-latin-ext.woff2") format("woff2"); unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
:root {--az: #0000ff; --az2: #1a1aff; --az-text: #aaaaff; --ff: 'Plus Jakarta Sans',sans-serif; --fd: var(--ff); --fi: var(--ff); --fm: var(--ff); --s5: #aaa; --s6: #b8b8b8;}
:root[data-theme="light"] {--az-text: #0000cc; --s5: #505050; --s6: #414141;}
[hidden] {display: none !important;}
:focus-visible {outline: 3px solid var(--az-text); outline-offset: 5px;}
.nav-logo {flex-shrink: 0; display: flex; align-items: center; gap: 10px;}
.nav-logo-text {font-weight: 800; white-space: nowrap; font-family: var(--ff) !important; font-size: 20px !important; letter-spacing: -0.04em !important;}
.nav-logo svg {width: 26px; height: 26px; flex-shrink: 0;}
.nav-cta {font-size: 12px; letter-spacing: 0px; white-space: nowrap; min-height: 44px;}
.ham {min-width: 44px; flex: 0 0 44px; align-items: center; justify-content: center; gap: 5px; width: 44px !important; height: 44px !important;}
.ham span {width: 24px; flex-shrink: 0;}
.drawer,  :root[data-theme="light"] .drawer {overflow-y: auto; overscroll-behavior: contain; background: var(--b); padding: 80px 24px 28px; justify-content: flex-start;}
.drawer > * {flex-shrink: 0;}
.drawer a,  .drawer a.nav-new-page,  .drawer a.nav-sessions {color: var(--w);}
.drawer-close {margin-left: auto; margin-bottom: 12px;}
.drawer-close {align-self: flex-end; min-width: 44px; min-height: 44px; background: transparent; border: 1px solid var(--br3); border-radius: 4px; color: var(--w); font: 600 14px var(--ff); padding: 10px 14px;}
.drawer .drawer-cta {font-size: 16px; line-height: 1.4; letter-spacing: 0px; padding: 14px 18px; background: rgb(0, 0, 255); color: rgb(255, 255, 255);}
.drawer .drawer-social a {font-size: 13px; color: var(--s6); letter-spacing: 0px;}
.h-xl.rv.vis,  .h-mix.rv.vis {transform: none;}
.suite-tab,  .pf-btn,  .filter-btn {font-size: 12px; min-height: 44px; letter-spacing: 0.03em;}
.suite-tab.on,  :root[data-theme="light"] .suite-tab.on {background: rgb(0, 0, 255); color: rgb(255, 255, 255); border-color: rgb(0, 0, 255);}
.footer-tagline,  :root[data-theme="light"] .footer-tagline {color: var(--s6);}
.skip,  .skip-link,  :root[data-theme="light"] .skip {background: rgb(0, 0, 255); color: rgb(255, 255, 255);}
.label,  .stat-lbl,  .port-fs-label,  .port-fs-meta,  .port-cat,  .session-cat,  .svc-modal-eyebrow,  .svc-modal-sec-title,  .case-cat-badge,  .case-client,  .case-metric,  .filter-count {font-size: 12px; letter-spacing: 0.04em;}
.case-metric-highlight,  .case-metric,  .filter-count {color: var(--w); background: var(--s2);}
.case-cat-badge,  .case-year-badge {background: rgb(17, 17, 17); color: rgb(255, 255, 255);}
.case-title,  .casos-hero-title,  .timeline-title {font-weight: 800; letter-spacing: -0.04em;}
.casos-hero-title {font-size: clamp(44px, 7vw, 100px); line-height: 1.06;}
.case-title {font-size: clamp(24px, 3vw, 36px); line-height: 1.15;}
.casos-hero-title em,  .timeline-title em {font-style: normal;}
.case-cta {font-size: 14px; min-height: 44px; color: var(--w);}
.case-desc,  .casos-hero-desc {font-size: 16px; color: var(--s6);}
.case-thumb img {aspect-ratio: 16 / 10; object-fit: cover;}
.case-card .case-footer {gap: 12px; flex-wrap: wrap;}
.case-contact {font-size: 13px; text-decoration: underline; text-underline-offset: 4px;}
.cta-wa {background: rgb(0, 0, 255); color: rgb(255, 255, 255); font-size: 14px; animation: auto ease 0s 1 normal none running none;}
.filter-status {padding: 18px 0px; color: var(--s6); font-size: 13px;}
.mm-proof-grid {display: grid; grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 24px; margin-top: 32px;}
.mm-proof-grid article {padding: 28px; border: 1px solid var(--br3); border-radius: 8px;}
.mm-proof-grid h3 {font-size: 24px; letter-spacing: -0.03em; margin-bottom: 12px;}
.mm-proof-grid p,  .mm-contact-note p {font-size: 16px; color: var(--s6); line-height: 1.7;}
.mm-contact-note {padding: 32px; border: 1px solid var(--br3); border-radius: 8px;}
.mm-contact-note h3 {font-size: 28px; margin-bottom: 16px; letter-spacing: -0.04em;}
.mm-contact-note ol {padding-left: 22px; margin: 20px 0px; color: var(--s6); line-height: 2;}
.mm-expand {display: flex; margin: 28px auto 0px; min-height: 44px;}
.mm-collapsible:not(.is-expanded) > :nth-child(n+4) {display: none;}
.mm-selection {display: grid; grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 16px; margin-bottom: 28px;}
.mm-selection article {min-width: 0px;}
.mm-selection a {display: block;}
.mm-selection img {width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 6px;}
.mm-selection h3 {font-size: 20px; line-height: 1.3; margin: 14px 0px 6px;}
.mm-selection p {font-size: 13px; color: var(--s6);}
.mm-catalog {margin: 32px 0px;}
.mm-catalog > summary {cursor: pointer; font-size: 16px; font-weight: 600; padding: 20px 0px; border-block: 1px solid var(--br3);}
.mm-catalog[open] > summary {margin-bottom: 24px;}
.mm-work-link {display: inline-block; margin: 12px 0px; color: var(--az-text); text-decoration: underline; text-underline-offset: 4px; font-size: 14px;}
.svc-modal-footer {flex-wrap: wrap;}
.svc-modal-footer .btn {white-space: normal;}
.footer {padding: 60px 0px 24px; border-top: 1px solid var(--br3); background: var(--s1);}
.footer-inner {display: grid; grid-template-columns: 2fr repeat(3, 1fr); gap: 36px;}
.footer-logo {display: flex; align-items: center; gap: 12px; margin-bottom: 18px; font-size: 26px; font-weight: 800;}
.footer-logo svg {fill: var(--az-text);}
.footer-tagline {font-size: 14px; max-width: 36ch; line-height: 1.7;}
.footer-links {display: flex; flex-direction: column; gap: 12px; font-size: 13px;}
.footer-col-title {font-size: 12px; font-weight: 700; margin-bottom: 20px; color: var(--s6);}
.footer-bottom {display: flex; flex-wrap: wrap; gap: 16px; justify-content: space-between; border-top: 1px solid var(--br3); padding-top: 24px; margin-top: 40px;}
.footer-bottom p {font-size: 12px; color: var(--s6);}
.mm-ast {fill: var(--az-text);}
.h30-context {max-width: 530px; font-size: 16px; line-height: 1.7; color: var(--s6); margin: 20px 0px;}
.hero .h30-context,  .hero .hero-eyebrow,  .hero .hero-scroll-hint {color: rgb(204, 204, 204);}
.hero .hero-eyebrow {font-size: 11px; letter-spacing: 0.12em;}
.nav,  :root[data-theme="light"] .nav {background: var(--b) !important;}
.nav .nav-logo-text,  .nav .nav-links a,  .nav .nav-cta,  :root[data-theme="light"] .nav .nav-logo-text,  :root[data-theme="light"] .nav .nav-links a,  :root[data-theme="light"] .nav .nav-cta {color: var(--w) !important;}
.nav .nav-logo svg {fill: rgb(0, 0, 255); color: rgb(0, 0, 255);}
.btn.btn-pri,  :root[data-theme="light"] .btn.btn-pri {background: rgb(0, 0, 255); color: rgb(255, 255, 255); font-size: 13px; letter-spacing: 0.02em;}
.btn.btn-pri:hover {background: rgb(26, 26, 255);}
.pf-n,  .pf-btn.on .pf-n {opacity: 1; font-size: 12px;}
.label,  .timeline-step-num,  .cta-eyebrow,  .cta-title em {color: var(--az-text);}
.timeline-step-num {font-size: 12px;}
.suite-viz-label,  .suite-viz-arrow,  .hero-cta-micro {color: var(--s6); font-size: 12px;}
.port-badge.port-badge--new {background: rgb(17, 17, 17); color: rgb(255, 255, 255);}
.casos-eyebrow,  .casos-hero-title em,  .casos-hero-accent {color: var(--w);}
.casos-eyebrow {font-size: 12px; letter-spacing: 0.1em;}
.casos-hero-accent {font-size: clamp(20px, 3vw, 36px); font-style: normal; color: var(--s6);}
.filter-inner {display: flex; flex-wrap: wrap; gap: 8px;}
.filter-btn {padding: 10px 14px;}
.filter-bar {position: static;}
.port-item--v-xl {color: rgb(255, 255, 255); background: rgb(17, 17, 17) !important;}
.port-item--v-xl * {color: rgb(255, 255, 255) !important;}
.mm-selection .mm-work-link {margin-top: 8px;}
#vm-direct {margin: 12px 0px; background: rgb(17, 17, 17); color: rgb(255, 255, 255); border-color: rgb(136, 136, 136); font-size: 13px;}
.casos-hero {padding: 120px 0px 60px;}
.casos-hero-stats {margin-top: 32px;}
.casos-eyebrow span {color: var(--s6);}
.casos-actions {display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px;}
.drawer a.nav-new-page,  .drawer a.nav-sessions {color: var(--w) !important;}
.cases-grid {grid-template-columns: repeat(3, minmax(0px, 1fr));}
.mm-selection img {height: auto;}
.mm-selection picture {display: block;}
.mm-deferred-image {aspect-ratio: 16 / 10; overflow: hidden; border-radius: 6px; background: var(--s2);}
.mm-deferred-image picture,  .mm-deferred-image img {width: 100%; height: 100%; object-fit: cover;}
@media (min-width: 701px) and (max-width: 1000px) {
.cases-grid {grid-template-columns: repeat(2, minmax(0px, 1fr));}
}
@media (max-width: 700px) {
.cases-grid {grid-template-columns: 1fr;}
.mm-deferred-image {aspect-ratio: 16 / 9;}
#portafolio .h-xl {font-size: 32px; line-height: 1.1; word-break: normal;}
.casos-hero {padding: 104px 0px 40px;}
.casos-stat-val {font-size: 28px;}
.casos-actions .btn {font-size: 13px; letter-spacing: 0px;}
}
:root {--az-glow: none; --meeting-note: #b8b8b8;}
:root[data-theme="light"] {--meeting-note: #414141;}
body::after {content: none !important;}
body {cursor: auto !important;}
a,  button,  [role="button"],  summary {cursor: pointer !important;}
.rv,  .rv.vis,  .stagger-init,  .stagger-vis,  .hero-name,  .h30-name,  .h30-lead,  .hero-cta-row,  .hero-meta,  .h30-scroll {opacity: 1 !important; transform: none !important; filter: none !important; animation: auto ease 0s 1 normal none running none !important; transition: none !important;}
.port-item.port-hidden {display: none !important;}
*,  ::before,  ::after {backdrop-filter: none !important;}
.hero *,  .hero ::before,  .hero ::after,  .stat-val,  .marquee-track,  .brand-track {animation: auto ease 0s 1 normal none running none !important;}
.hero-cta-row::before,  .hero-name::before,  .hero-name::after,  .svc-card::before,  .svc-card::after,  .port-item::after,  .case-card::before,  .cta-section::before {content: none !important;}
.hero-name,  .hero-name-blue,  .h30-name,  .cta-title em,  .h-xl em,  .h-mix em {background-image: none !important; -webkit-text-fill-color: currentcolor !important; background-clip: border-box !important; font-style: normal !important;}
.h30-name {line-height: 1.05; letter-spacing: -0.055em; color: rgb(255, 255, 255) !important;}
.hero-name-blue {color: rgb(255, 255, 255) !important;}
.h30-bg::after {background: rgba(0, 0, 0, 0.6) !important;}
.h30-plate {mask-image: none !important;}
.h30-plate--l,  .h30-plate--r {opacity: 0.6;}
.hero .h30-context,  .hero .h30-lead {color: rgb(255, 255, 255) !important;}
.h30-context {margin-inline: auto; max-width: 560px;}
.mm-meeting-note {font-size: 14px; line-height: 1.5; color: var(--meeting-note); margin-top: 16px;}
.hero .mm-meeting-note {color: rgb(255, 255, 255);}
.h30-scroll {left: 50%; transform: translateX(-50%) !important;}
.hsh-line {background: rgb(170, 170, 170) !important;}
.hero .btn-sec {background: rgb(17, 17, 17) !important; border-color: rgb(136, 136, 136) !important; color: rgb(255, 255, 255) !important;}
.hero .btn-sec:hover {background: rgb(38, 38, 38) !important;}
.nav .nav-cta,  .nav .nav-cta:hover,  :root[data-theme="light"] .nav .nav-cta {background: rgb(0, 0, 255) !important; color: rgb(255, 255, 255) !important; border-color: rgb(0, 0, 255) !important;}
.btn-pri,  .nav-cta,  .drawer-cta,  .cta-wa {box-shadow: none !important;}
.btn:hover,  .nav-cta:hover,  .drawer-cta:hover,  .cta-wa:hover {opacity: 1 !important; transform: none !important;}
.cta-wa:hover {background: rgb(26, 26, 255) !important; box-shadow: none !important;}
.nav,  .filter-bar,  .drawer,  .svc-modal-box {background: var(--b) !important;}
.case-card,  .svc-card,  .suite-intro-card,  .mm-contact-note,  .mm-proof-grid article {border-color: var(--br3) !important; box-shadow: none !important; background: var(--s1) !important;}
.case-card:hover,  .svc-card:hover,  .suite-intro-card:hover {border-color: var(--s6) !important; box-shadow: none !important; transform: none !important;}
.mm-proof-grid {grid-template-columns: 1fr; gap: 0px;}
.mm-proof-grid article {border-right: 0px; border-bottom: 0px; border-left: 0px; border-image: none; border-top: 1px solid var(--br3); border-radius: 0px; padding: 24px 0px; background: transparent !important;}
.mm-contact-note {border-radius: 0px;}
main em {font-style: normal !important;}
.cta-section > .wrap > .mm-meeting-note,  .cta-section .mm-meeting-note {text-align: center;}
.casos-hero-title,  .casos-hero-accent,  .casos-hero-desc,  .casos-hero-stats {animation: auto ease 0s 1 normal none running none !important; opacity: 1 !important; transform: none !important;}
.nav-sessions,  .nav-sessions::before,  .footer-intl,  .footer-intl::before {animation: auto ease 0s 1 normal none running none !important;}
.suites-split-viz {grid-template-columns: 1fr !important; gap: 0px !important;}
.suite-viz-half {min-height: 0px !important; padding: 24px 0px !important; border-top: 0px !important; border-right: 0px !important; border-left: 0px !important; border-image: none !important; border-bottom: 1px solid var(--br3) !important; background: transparent !important; border-radius: 0px !important; box-shadow: none !important; display: flex !important; flex-direction: row !important; align-items: center !important; justify-content: space-between !important; gap: 16px !important;}
.suite-viz-lbl {font-size: 18px !important; text-transform: none !important; letter-spacing: 0px !important; color: var(--w) !important;}
.svc-grid {grid-template-columns: repeat(2, minmax(0px, 1fr)) !important; gap: 24px !important;}
.svc-card {border-right: 0px !important; border-bottom: 0px !important; border-left: 0px !important; border-image: none !important; border-top: 1px solid var(--br3) !important; border-radius: 0px !important; background: transparent !important; padding: 24px 0px !important;}
.svc-num {font-size: 13px !important; color: var(--s6) !important;}
.svc-title {font-size: 26px !important; line-height: 1.3 !important;}
.suite-tags-row {display: none;}
.suites-intro h2 {font-size: clamp(32px, 4vw, 56px); line-height: 1.1; max-width: 15ch; margin-bottom: 24px;}
#contacto h2 {font-size: clamp(36px, 5vw, 64px); line-height: 1.1; max-width: 14ch; margin-bottom: 24px;}
.casos-hero-desc {color: var(--s6) !important;}
.casos-hero,  .casos-hero-bg {background: var(--b) !important;}
.casos-hero-bg::before {content: none !important;}
.port-num-bg,  .proceso-num-bg {display: none !important;}
.port-overlay {background: rgba(0, 0, 0, 0.85) !important;}
.session-info,  .film-info {background: rgba(0, 0, 0, 0.85);}
.mm-meeting-note {letter-spacing: 0px !important; text-transform: none !important;}
.mm-no-js {margin-top: 76px; padding: 16px 24px; background: var(--s1); color: var(--w); position: relative; line-height: 1.8;}
@media (max-width: 700px) {
.mm-meeting-note {font-size: 13px;}
.h30-name {font-size: clamp(40px, 13vw, 72px);}
.svc-grid {grid-template-columns: 1fr !important;}
.suite-viz-half {padding: 18px 0px !important;}
}
@media (max-width: 700px) {
.nav-inner {gap: 8px;}
.nav-logo-text {font-size: 18px !important;}
.nav-logo svg {width: 22px; height: 22px;}
.nav-right {margin-left: auto; gap: 4px;}
.drawer > a:not(.drawer-cta) {font-size: clamp(24px, 7vw, 34px);}
.mm-proof-grid,  .mm-selection {grid-template-columns: 1fr;}
.mm-proof-grid {gap: 14px;}
.mm-proof-grid article {padding: 22px;}
.mm-selection {gap: 24px;}
.mm-selection img {aspect-ratio: 16 / 9;}
.h30-context {font-size: 15px; max-width: 32ch;}
.hero-cta-row {flex-wrap: wrap; gap: 12px;}
.hero-cta-row .btn {font-size: 13px; min-height: 48px;}
.port-fs-meta {line-height: 1.6;}
.suite-tab {padding: 12px 10px;}
.mm-contact-note {padding: 24px;}
.cta-inner {gap: 28px;}
.case-client {flex-wrap: wrap;}
.cases-grid {grid-template-columns: 1fr;}
.casos-hero-stats {flex-wrap: wrap;}
.footer-inner {grid-template-columns: 1fr 1fr; gap: 28px;}
.footer-brand {grid-column: 1 / -1;}
}
@media (prefers-reduced-motion: reduce) {
html {scroll-behavior: auto;}
*,  ::before,  ::after {animation: auto ease 0s 1 normal none running none !important; transition: none !important; scroll-behavior: auto !important;}
.rv,  .stagger-init {opacity: 1 !important; transform: none !important;}
.cd,  .cr,  #cd,  #cr,  .cursor-dot,  .cursor-ring {display: none !important;}
body,  a,  button {cursor: auto !important;}
}
.nav .theme-btn,  :root[data-theme="light"] .nav:not(.scrolled) .theme-btn {color: var(--w); border-color: var(--br3); width: 44px; height: 44px; flex: 0 0 44px;}
@media (max-width: 700px) {
html {scroll-padding-top: 80px;}
.wrap {padding-inline: 20px;}
.sec {padding-block: 52px;}
.nav-inner {min-height: 64px;}
.nav-right {padding-left: 0px; border-left: 0px;}
.hero {min-height: 0px; height: auto;}
.h30 {padding: 104px 20px 36px;}
.h30-name {font-size: clamp(36px, 11.8vw, 54px); line-height: 1.08;}
.h30-lead,  .h30-scroll {display: none;}
.h30-context {font-size: 16px; line-height: 1.55; max-width: 35ch; margin: 20px auto 0px;}
.h30 .hero-cta-row {margin-top: 24px; max-width: 350px; gap: 10px;}
.hero-cta-row .btn,  .casos-actions .btn {font-size: 14px; letter-spacing: 0px; min-height: 48px;}
.mm-meeting-note {font-size: 14px; line-height: 1.5; margin-top: 12px;}
.h-xl,  .h-mix,  .suites-intro h2,  #contacto h2 {font-size: clamp(28px, 8vw, 36px); line-height: 1.15; letter-spacing: -0.035em;}
.suites-intro h2 {max-width: 20ch;}
.svc-title {font-size: 24px !important;}
.svc-desc,  .faq-q,  .faq-a,  .body-txt {font-size: 16px; line-height: 1.6;}
.suite-tab {font-size: 13px; letter-spacing: 0px; line-height: 1.35; padding: 12px 8px;}
.suites-tabs {display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr));}
.svc-grid {gap: 12px !important;}
.svc-card {padding-block: 20px !important;}
.mm-selection {gap: 28px;}
.mm-selection h3 {font-size: 21px;}
.mm-work-link,  .case-contact {display: flex; align-items: center; min-height: 44px; font-size: 14px; line-height: 1.5;}
.session-thumb {aspect-ratio: 16 / 9;}
.session-title {font-size: 18px; line-height: 1.3; letter-spacing: 0px;}
.session-cat,  .film-cat,  .session-ep {font-size: 12px; letter-spacing: 0.03em;}
.sessions-grid,  .cine-grid {gap: 20px;}
.casos-hero {padding: 96px 0px 28px;}
.casos-hero-title {font-size: clamp(34px, 10vw, 44px); line-height: 1.08;}
.casos-hero-accent {font-size: 18px; margin-top: 12px;}
.casos-hero-desc {margin-top: 16px; line-height: 1.6;}
.casos-actions {display: grid; grid-template-columns: 1fr; margin-top: 20px; gap: 10px;}
.casos-actions .btn {justify-content: center; width: 100%;}
.casos-hero-stats {flex-direction: row; margin-top: 24px;}
.casos-stat {min-width: 0px; padding: 16px 12px; border-bottom: 0px; border-right: 1px solid var(--br); flex: 1 1 0%;}
.casos-stat-val {font-size: 22px; letter-spacing: -0.02em;}
.casos-stat-lbl {font-size: 12px; letter-spacing: 0px; line-height: 1.4; margin-top: 6px;}
.filter-bar {padding-block: 12px;}
.filter-inner {gap: 8px; overflow: visible;}
.filter-btn {font-size: 13px; letter-spacing: 0px; padding: 10px 12px;}
.cases-section {padding-top: 8px;}
.filter-status {padding: 12px 0px; font-size: 14px;}
.case-body {padding: 20px;}
.case-title {font-size: 24px; line-height: 1.2;}
.case-footer {gap: 4px !important;}
.case-cta {min-height: 48px;}
.cta-contact-val {display: inline-flex; align-items: center; min-height: 44px; font-size: 16px;}
.cta-contact-label {font-size: 12px; letter-spacing: 0.04em;}
.cta-contact-item {margin-bottom: 8px;}
.mm-contact-note {padding: 20px;}
.mm-contact-note h3 {font-size: 25px; line-height: 1.3;}
.footer {padding-top: 40px;}
.footer-links {gap: 0px; font-size: 14px;}
.footer-links a {display: flex; align-items: center; min-height: 44px;}
.footer-col-title {font-size: 13px; margin-bottom: 8px;}
.footer-inner {gap: 24px;}
.drawer,  :root[data-theme="light"] .drawer {padding: 16px 24px max(24px,env(safe-area-inset-bottom)); height: 100dvh; gap: 4px; align-items: stretch;}
.drawer-close {order: -2; position: sticky; top: 0px; background: var(--b); z-index: 1; margin-bottom: 4px;}
.drawer .drawer-cta {order: -1; text-align: center; margin: 0px 0px 12px; padding: 14px 8px;}
.drawer > a:not(.drawer-cta) {font-size: 24px; line-height: 1.4; padding: 6px 0px; min-height: 44px;}
.drawer-social {flex-wrap: wrap; margin-top: 8px;}
.drawer-social a {display: flex; align-items: center; min-height: 44px; font-size: 14px;}
.drawer-div {margin: 8px 0px;}
.svc-modal-inner {max-height: calc(100dvh - 16px); overscroll-behavior: contain; padding-bottom: max(24px,env(safe-area-inset-bottom));}
.svc-modal-close,  .vm-close,  #lightbox-close {min-width: 44px; min-height: 44px; font-size: 16px; color: var(--w); background: var(--b);}
.svc-modal-close {position: sticky; top: 0px; margin-left: auto; display: block; z-index: 3;}
#lightbox-close {top: max(12px,env(safe-area-inset-top)); right: 12px; background: rgb(17, 17, 17); color: rgb(255, 255, 255);}
#lb-img-wrap,  #lightbox-img {max-height: calc(100dvh - 160px); max-width: calc(-24px + 100vw);}
#lightbox-prev,  #lightbox-next {top: auto; bottom: max(16px,env(safe-area-inset-bottom)); transform: none; min-width: 48px; min-height: 48px; background: rgb(17, 17, 17); color: rgb(255, 255, 255); font-size: 14px;}
#lightbox-counter {bottom: max(30px,env(safe-area-inset-bottom)); font-size: 14px; color: rgb(255, 255, 255); letter-spacing: 0px;}
.vm-box {max-height: calc(100dvh - 24px); overflow-y: auto;}
.vm-close {color: rgb(255, 255, 255); background: rgb(17, 17, 17);}
#vm-direct {font-size: 14px; white-space: normal; min-height: 48px; line-height: 1.5;}
}
@media (hover: none) {
.session-play {opacity: 1; transform: none; background: rgb(0, 0, 255);}
.port-play-btn,  .film-play {opacity: 1;}
.session-card:hover,  .case-card:hover {transform: none; box-shadow: none;}
.session-card:hover .session-thumb-img,  .case-card:hover .case-thumb img {transform: none; filter: none;}
.session-waveform {display: none;}
}
@media (max-width: 700px) {
#lightbox-close,  #lightbox-prev,  #lightbox-next,  #lightbox-counter {z-index: 3;}
#lightbox-caption {bottom: 80px; max-width: calc(-40px + 100vw); font-size: 13px; line-height: 1.4; z-index: 2; background: rgb(17, 17, 17); padding: 6px 10px;}
}
.vm-close {position: relative; top: auto; right: auto; margin: 10px 10px 10px auto;}
@media (max-width: 700px) {
.drawer {z-index: 1200;}
.vm-box {padding-bottom: 8px;}
#vm-direct {margin: 12px; width: calc(100% - 24px); justify-content: center;}
.svc-modal-spec-key,  .svc-modal-spec-val {font-size: 12px;}
}
.drawer > a:not(.drawer-cta) {color: var(--w) !important;}


/* assets/visual-system.css */
:root {--mm-ease: cubic-bezier(.22,1,.36,1); --mm-radius: 16px; --mm-line: var(--br3);}
html {scroll-padding-top: 108px;}
.wrap {max-width: 1320px;}
.sec {padding-block: clamp(72px, 7vw, 112px);}
.h-xl,  .h-mix {font-size: clamp(36px, 4.7vw, 68px); line-height: 1.06; letter-spacing: -0.045em; text-wrap: balance;}
.body-txt,  .svc-desc,  .case-desc {line-height: 1.7;}
.nav {top: 12px; left: 20px; right: 20px; width: auto; border: 1px solid var(--br3); border-radius: 18px; overflow: hidden;}
.nav-inner {min-height: 64px; padding-inline: 22px;}
.nav-links {gap: 22px;}
.nav-links a {font-size: 11px; letter-spacing: 0.04em;}
.nav-right {border-left: 0px; padding-left: 0px;}
.nav-cta,  .btn,  .theme-btn,  .drawer-close {border-radius: 999px !important;}
.btn {min-height: 48px; padding-inline: 24px; text-transform: none; font-weight: 600; letter-spacing: 0px !important;}
.nav-cta {text-transform: none; letter-spacing: 0px;}
.btn svg {flex-shrink: 0; width: 16px !important; height: 16px !important;}
.hero {min-height: min(900px, 100svh); height: auto;}
.h30 {padding-block: 160px 104px;}
.h30-name {font-size: clamp(56px, 8vw, 106px); letter-spacing: -0.04em !important;}
.h30-name .hero-name-blue {margin-left: 0.08em;}
.h30-context {max-width: 50ch; line-height: 1.7;}
.hero .mm-meeting-note {color: rgb(204, 204, 204);}
.h30-scroll {bottom: 24px;}
.mm-selection {gap: 24px; margin-top: 40px;}
.mm-selection article {display: flex; flex-direction: column; padding: 8px 8px 20px; border: 1px solid var(--br3); border-radius: 20px; background: var(--s1);}
.mm-deferred-image {border-radius: 12px; aspect-ratio: 4 / 3;}
.mm-selection img {border-radius: 12px; aspect-ratio: auto;}
.mm-selection h3 {font-size: clamp(20px, 1.65vw, 25px); line-height: 1.25; letter-spacing: -0.03em; margin: 20px 12px 8px;}
.mm-selection p {margin-inline: 12px; font-size: 13px; line-height: 1.5;}
.mm-selection .mm-work-link {margin: 16px 12px 0px; padding-top: 12px; border-top: 1px solid var(--br3); font-size: 13px; min-height: 44px; display: flex; align-items: center; color: var(--w); text-decoration: none;}
.mm-selection article > a:first-child {flex: 1 1 0%;}
.mm-catalog {max-width: 1216px; margin: 36px auto 0px;}
.mm-catalog > summary {display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 22px 24px; border: 1px solid var(--br3); border-radius: 12px; list-style: none; background: var(--s1); font-size: 15px; line-height: 1.5;}
.mm-catalog > summary::-webkit-details-marker {display: none;}
.mm-catalog > summary::after {content: "+"; font-size: 24px; font-weight: 400; flex-shrink: 0;}
.mm-catalog[open] > summary::after {content: "−";}
.suites-tabs {padding: 6px; gap: 6px; border: 1px solid var(--br3); border-radius: 16px; background: var(--s1);}
.suite-tab {border: 0px; border-radius: 10px; min-height: 48px; text-transform: none; font-weight: 600; letter-spacing: 0px;}
.svc-grid {gap: 20px !important;}
.svc-card {padding: 28px !important; border: 1px solid var(--br3) !important; border-radius: 16px !important; background: var(--s1) !important;}
.svc-num {font-size: 13px; color: var(--s6);}
.svc-title {font-weight: 700; letter-spacing: -0.03em; font-size: 27px !important;}
.svc-tags span {font-size: 10px; letter-spacing: 0.04em; padding: 6px 9px; border-radius: 6px;}
.mm-proof-grid {grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 32px;}
.mm-proof-grid article {padding: 28px 0px;}
.mm-proof-grid h3 {font-size: 28px;}
.mm-contact-note {border-radius: 20px; padding: 36px;}
.mm-contact-note ol {line-height: 1.7; display: grid; gap: 12px; margin-block: 24px;}
.case-card,  .session-card,  .film-card {border-radius: 16px; overflow: hidden;}
.case-body {padding: 26px;}
.case-title {font-size: 28px;}
.session-title {letter-spacing: -0.02em; line-height: 1.3;}
.faq-q {min-height: 64px; line-height: 1.5;}
.h-mix em {color: var(--s6); letter-spacing: -0.035em;}
#contacto h2 {letter-spacing: -0.045em; text-wrap: balance;}
.cta-contact-label,  .proceso-detail-col-title,  .proceso-detail-duration {font-size: 12px; letter-spacing: 0.04em; line-height: 1.6;}
.cta-contact-val {font-size: 16px; display: inline-flex; align-items: center; min-height: 44px;}
.proceso-step {border-radius: 16px;}
.proceso-detail-wrap {transition: none;}
.proceso-detail-wrap.open {max-height: none;}
.session-cat,  .film-cat,  .session-ep {font-size: 12px; letter-spacing: 0.04em; color: rgb(204, 204, 204);}
.kbd-hint,  .side-nav {display: none !important;}
#page-progress {width: 100%; transform: scaleX(0); transform-origin: left center; background: rgb(0, 0, 255); box-shadow: none; transition: none;}
.btn,  .nav-cta,  .theme-btn,  .drawer-close,  .suite-tab,  .filter-btn {transition: background-color 180ms var(--mm-ease),border-color 180ms var(--mm-ease),transform 180ms var(--mm-ease);}
.mm-deferred-image img,  .case-thumb img {transition: transform 500ms var(--mm-ease);}
.drawer {transition: opacity 240ms var(--mm-ease),transform 240ms var(--mm-ease);}
.btn:active,  .nav-cta:active {transform: scale(0.98) !important;}
@media (hover: hover) and (pointer: fine) {
.mm-selection article:hover .mm-deferred-image img,  .case-card:hover .case-thumb img {transform: scale(1.025);}
.btn:hover,  .nav-cta:hover {transform: translateY(-2px) !important;}
.suite-tab:not(.on):hover,  .filter-btn:not(.on):hover {background: var(--s2);}
.mm-work-link:hover {text-decoration: underline; text-underline-offset: 5px;}
}
@media (max-width: 1100px) {
.nav-links {gap: 12px;}
.nav-inner {padding-inline: 16px;}
.nav-logo-text {font-size: 18px !important;}
.mm-catalog {margin-inline: 32px;}
}
@media (max-width: 700px) {
html {scroll-padding-top: 88px;}
.nav {top: 8px; left: 10px; right: 10px; border-radius: 14px;}
.nav-inner {padding-inline: 10px; min-height: 58px;}
.sec {padding-block: 56px;}
.h-xl,  .h-mix {font-size: clamp(30px, 8vw, 42px);}
.hero {min-height: 0px;}
.h30 {padding: 112px 20px 40px;}
.h30-name {font-size: clamp(36px, 11.8vw, 54px);}
.h30-context {font-size: 15px; line-height: 1.6;}
.hero-cta-row .btn {padding-inline: 20px;}
.mm-selection {gap: 24px; margin-top: 28px;}
.mm-selection h3 {font-size: 23px;}
.mm-selection p {font-size: 14px;}
.mm-deferred-image {aspect-ratio: 16 / 10;}
.mm-selection img {aspect-ratio: auto;}
.mm-catalog {margin-inline: 20px;}
.mm-catalog > summary {padding: 18px; font-size: 14px;}
.svc-card {padding: 24px !important;}
.svc-title {font-size: 25px !important;}
.svc-tags span {font-size: 11px;}
.mm-proof-grid {grid-template-columns: 1fr; gap: 0px;}
.mm-proof-grid article {padding: 24px 0px;}
.mm-contact-note {padding: 24px;}
.case-body {padding: 22px;}
.case-title {font-size: 26px;}
.proceso-grid {grid-template-columns: 1fr;}
.proceso-step {padding: 24px;}
.proceso-step-num {font-size: 12px;}
.proceso-desc {font-size: 15px; line-height: 1.65;}
}
@media (prefers-reduced-motion: reduce) {
.btn,  .nav-cta,  .theme-btn,  .drawer-close,  .suite-tab,  .filter-btn,  .mm-deferred-image img,  .case-thumb img,  .drawer {transition: none;}
.btn:hover,  .nav-cta:hover,  .btn:active,  .nav-cta:active,  .mm-selection article:hover .mm-deferred-image img,  .case-card:hover .case-thumb img {transform: none !important;}
}
.mm-project-heading {max-width: 760px; margin-bottom: 40px;}
.mm-project-heading .label {margin-bottom: 18px;}
.mm-project-heading .body-lg {margin-top: 24px; max-width: 62ch;}
.mm-project-grid {display: grid; grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 20px;}
.mm-project-grid article {padding: 32px; border: 1px solid var(--br3); border-radius: 18px; background: var(--s1); display: flex; flex-direction: column; align-items: flex-start;}
.mm-project-number {font-size: 12px; letter-spacing: 0.06em; color: var(--s6);}
.mm-project-grid h3 {font-size: 28px; line-height: 1.2; letter-spacing: -0.04em; margin: 28px 0px 16px;}
.mm-project-grid p,  .mm-project-grid li {font-size: 15px; line-height: 1.7; color: var(--s6);}
.mm-project-grid ul {padding-left: 18px; margin: 22px 0px 28px; flex: 1 1 0%;}
.mm-project-grid .btn {font-size: 13px; white-space: normal;}
.mm-project-close {margin-top: 32px; display: flex; align-items: center; justify-content: space-between; gap: 24px;}
.mm-project-close p {font-size: 15px; color: var(--s6);}
#sessions-selection-2 {grid-template-columns: repeat(2, minmax(0px, 1fr));}
@media (max-width: 900px) {
.mm-project-grid {grid-template-columns: 1fr;}
.mm-project-grid article {padding: 26px;}
.mm-project-grid h3 {margin-top: 16px;}
.mm-project-close {align-items: flex-start; flex-direction: column;}
}
@media (max-width: 700px) {
#sessions-selection-2 {grid-template-columns: 1fr;}
.mm-project-grid h3 {font-size: 26px;}
}


/* assets/entrance-v37.css */
.mm-v37 {position: relative; isolation: isolate; color: rgb(255, 255, 255); min-height: 820px; max-height: 1100px; background: rgb(8, 8, 8) !important; height: 100svh !important; display: block !important; padding: 0px !important;}
.v37-image {position: absolute; inset: 0px 0px 0px 46%; overflow: hidden; background: rgb(17, 17, 17);}
.v37-image picture,  .v37-image img {display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 34%;}
.v37-image::after {content: ""; position: absolute; inset: 0px; background: linear-gradient(90deg, rgb(8, 8, 8) 0%, transparent 24%), linear-gradient(0deg, rgb(8, 8, 8) 0%, transparent 22%);}
.v37-image-credit {position: absolute; bottom: 124px; right: 40px; z-index: 1; display: flex; flex-direction: column; gap: 7px; text-align: right; color: rgb(255, 255, 255); font: 500 11px / 1.4 "Plus Jakarta Sans", sans-serif; letter-spacing: 0.07em; text-shadow: rgb(0, 0, 0) 0px 1px 8px;}
.v37-image-credit span:last-child {color: rgb(221, 221, 221); font-size: 10px;}
.v37-content {position: relative; z-index: 2; padding: 142px 0px 120px; margin: 0px 5.55%; width: 62%; min-height: 100%; display: flex; flex-direction: column; align-items: flex-start; pointer-events: none;}
.v37-content a {pointer-events: auto;}
.v37-eyebrow {display: flex; align-items: center; gap: 12px; color: rgb(204, 204, 204); font: 500 11px / 1.5 "Plus Jakarta Sans", sans-serif; letter-spacing: 0.08em; margin: 0px 0px 44px;}
.v37-eyebrow > span {width: 8px; height: 8px; background: rgb(0, 0, 255); flex-shrink: 0;}
.mm-v37 h1 {font-family: "Plus Jakarta Sans", sans-serif !important; font-weight: 800 !important; font-size: clamp(58px, 6.55vw, 100px) !important; line-height: 1.02 !important; letter-spacing: -0.065em !important; color: rgb(255, 255, 255) !important; margin: 0px !important; text-align: left !important; text-transform: none !important; opacity: 1 !important; animation: auto ease 0s 1 normal none running none !important;}
.mm-v37 h1 > span {display: inline; color: rgb(255, 255, 255); white-space: nowrap;}
.v37-bottom {margin-top: auto; padding-top: 38px;}
.v37-bottom p {font: 400 14px / 1.7 "Plus Jakarta Sans", sans-serif; color: rgb(204, 204, 204); margin: 0px 0px 22px;}
.v37-actions {display: flex; align-items: center; gap: 24px; flex-wrap: wrap;}
.mm-v37 .btn {min-height: 50px; display: inline-flex; gap: 28px; background: rgb(0, 0, 255) !important; color: rgb(255, 255, 255) !important; font: 600 13px / 1.4 "Plus Jakarta Sans", sans-serif !important; letter-spacing: 0px !important; padding: 15px 22px !important; border-radius: 3px !important; box-shadow: none !important; border: 0px !important;}
.v37-contact {font: 500 12px / 1.5 "Plus Jakarta Sans", sans-serif; color: rgb(255, 255, 255); display: inline-flex; align-items: center; gap: 18px; min-height: 48px; border-bottom: 1px solid rgb(102, 102, 102); text-decoration: none;}
.v37-foot {position: absolute; z-index: 3; bottom: 28px; left: 5.55%; right: 40px; padding-top: 20px; border-top: 1px solid rgba(255, 255, 255, 0.19); display: flex; align-items: center; justify-content: space-between; gap: 12px;}
.v37-foot a,  .v37-replay {color: rgb(204, 204, 204); font: 500 11px / 1.5 "Plus Jakarta Sans", sans-serif; text-decoration: none; letter-spacing: 0.03em; min-height: 44px; display: inline-flex; align-items: center; gap: 12px;}
.v37-replay {position: absolute; left: 5.55%; bottom: 28px; z-index: 4; cursor: pointer; background: rgb(8, 8, 8); border: 0px; padding: 0px 8px 0px 0px; color: rgb(204, 204, 204); font: 500 11px / 1.5 "Plus Jakarta Sans", sans-serif; min-height: 44px; display: inline-flex; align-items: center; gap: 12px;}
.v37-foot > span {color: rgb(170, 170, 170); font-size: 9px; letter-spacing: 0.08em; visibility: hidden;}
.v37-replay[hidden] {display: none;}
.mm-v37 a:focus-visible,  .v37-replay:focus-visible,  .v37-skip:focus-visible {outline: rgb(255, 255, 255) solid 2px; outline-offset: 6px;}
@media (max-width: 1000px) {
.v37-content {margin-inline: 32px; padding-top: 132px; width: 72%;}
.v37-eyebrow {font-size: 10px; margin-bottom: 48px;}
.mm-v37 h1 {font-size: 76px !important;}
.v37-image {left: 35%;}
.v37-foot {left: 32px; right: 32px;}
.v37-image-credit {right: 32px; bottom: 132px;}
.v37-actions {gap: 15px;}
}
@keyframes v37-mark-small { 
  0% { opacity: 0.16; transform: translateX(var(--v37-shift)) scale(.72); }
  18% { opacity: 0.45; transform: translateX(var(--v37-shift)) scale(.94); }
  42%, 57% { opacity: 1; transform: translateX(var(--v37-shift)); }
  73%, 100% { opacity: 1; transform: translateX(0px); }
}
@media (max-width: 700px) {
.mm-v37 {min-height: 900px; max-height: none; height: auto !important;}
.v37-content {width: auto; margin: 0px 22px; padding: 112px 0px 116px; min-height: 900px;}
.v37-eyebrow {font-size: 9px; letter-spacing: 0.025em; margin-bottom: 30px; gap: 9px;}
.mm-v37 h1 {font-size: clamp(43px, 12.2vw, 70px) !important; line-height: 1.07 !important; letter-spacing: -0.055em !important;}
.v37-image {inset: 255px 0px 125px;}
.v37-image img {object-position: 50% 27%;}
.v37-image::after {background: linear-gradient(rgb(8, 8, 8) 0%, rgba(8, 8, 8, 0.125) 25%, transparent 40%, rgb(8, 8, 8) 94%);}
.v37-bottom {padding-top: 290px; margin-top: auto;}
.v37-bottom p {font-size: 12px; margin-bottom: 18px;}
.v37-actions {gap: 12px;}
.mm-v37 .btn {gap: 20px; font-size: 12px !important; padding: 14px 16px !important;}
.v37-contact {font-size: 11px; gap: 8px;}
.v37-foot {left: 22px; right: 22px; bottom: 22px; padding-top: 14px;}
.v37-foot a,  .v37-replay {font-size: 10px; gap: 8px;}
.v37-image-credit {bottom: 135px; right: 22px; font-size: 9px;}
.v37-image-credit span:last-child {font-size: 8px;}
.v37-intro-label {top: 26px; left: 22px; font-size: 8px; letter-spacing: 0.09em;}
.v37-intro-foot {left: 22px; right: 22px; bottom: 24px;}
.v37-phase {font-size: 8px; letter-spacing: 0.06em;}
.v37-skip {font-size: 11px; gap: 15px; padding: 12px;}
.v37-lockup {gap: 12px;}
.v37-mark {width: 40px; height: 40px;}
.v37-word {font-size: 38px;}
.v37-intro-tag {font-size: 11px; top: calc(50% + 64px);}
}
@keyframes v37-mark-mobile { 
  0% { opacity: 0.16; transform: translateX(var(--v37-shift)) scale(.72); }
  18% { opacity: 0.45; transform: translateX(var(--v37-shift)) scale(.94); }
  42%, 57% { opacity: 1; transform: translateX(var(--v37-shift)); }
  73%, 100% { opacity: 1; transform: translateX(0px); }
}
@media (max-width: 350px) {
.v37-word {font-size: 32px;}
.v37-mark {width: 34px; height: 34px;}
.v37-actions {gap: 5px;}
.v37-contact {font-size: 10px;}
.v37-intro-tag {font-size: 10px;}
}
@media (max-width: 1000px) and (min-width: 701px) {
.v37-replay {left: 32px;}
}
@media (max-width: 700px) {
.v37-replay {inset: 79px 22px auto auto; font-size: 9px; gap: 8px; background: transparent;}
.v37-foot > span {visibility: visible; font-size: 8px;}
}
@media (prefers-reduced-motion: reduce) {
.v37-intro *,  .v37-intro.leaving {animation: auto ease 0s 1 normal none running none !important; transition: none !important;}
.v37-light {display: none;}
.v37-mark {filter: none;}
.v37-word,  .v37-mark,  .v37-intro-tag {opacity: 1; transform: none;}
.mm-v37 * {animation: auto ease 0s 1 normal none running none !important; transition: none !important;}
}
.v37-intro[hidden] {display: none !important;}
.v37-intro {position: fixed; inset: 0px; z-index: 10000; isolation: isolate; background: transparent; overflow: hidden; color: rgb(255, 255, 255); font-family: "Plus Jakarta Sans", sans-serif;}
.v37-shade {position: absolute; inset: 0px; background: rgb(0, 0, 0);}
.v37-lockup {position: absolute; top: 50%; left: 50%; display: flex; align-items: center; justify-content: center; width: max-content; gap: 8px; transform: translate(-50%, -50%); transform-origin: center center; opacity: 0; pointer-events: none; will-change: transform, opacity;}
.v37-lockup svg {width: 26px; height: 26px; flex-shrink: 0; fill: rgb(255, 255, 255);}
.v37-lockup > span {font-family: "Plus Jakarta Sans", sans-serif; font-weight: 800; font-size: 24px; letter-spacing: -0.04em; line-height: 1; white-space: nowrap;}
.v37-skip {position: absolute; right: 40px; bottom: 26px; min-height: 44px; display: inline-flex; align-items: center; gap: 20px; padding: 10px 4px; color: rgb(204, 204, 204); background: transparent; border-width: 0px 0px 1px; border-style: none none solid; border-color: currentcolor currentcolor rgba(255, 255, 255, 0.25); border-image: none; cursor: pointer; font: 500 11px / 1.5 "Plus Jakarta Sans", sans-serif;}
.v37-skip:focus-visible {outline: rgb(255, 255, 255) solid 2px; outline-offset: 5px;}
.v37-replay {font-size: 11px;}
@media (max-width: 700px) {
.v37-skip {right: 22px; bottom: 20px; font-size: 11px;}
.v37-replay {font-size: 10px;}
}
@media (prefers-reduced-motion: reduce) {
.v37-lockup {opacity: 1; will-change: auto;}
.v37-intro * {animation: auto ease 0s 1 normal none running none !important; transition: none !important; filter: none !important;}
}


/* assets/entrance-v39.css */
.v39-intro .v37-lockup {gap: clamp(10px, 1.8vw, 22px); opacity: 0; transform: translate(-50%, -50%); will-change: filter, opacity;}
.v39-intro .v37-lockup > span {font-size: clamp(32px, 6vw, 72px); font-weight: 800; letter-spacing: -0.04em; line-height: 1; color: rgb(255, 255, 255);}
.v39-intro .v37-lockup svg {width: clamp(29.44px, 5.52vw, 66.24px); height: clamp(29.44px, 5.52vw, 66.24px); fill: rgb(255, 255, 255);}
.v39-intro .v37-skip {color: rgb(189, 189, 189); border: 0px; gap: 10px; right: 32px; bottom: 22px; font-size: 11px; min-height: 44px; padding: 12px 8px;}
.v39-intro .v37-skip:focus-visible {outline: rgb(255, 255, 255) solid 1px; outline-offset: 2px; border-radius: 2px;}
@media (max-width: 700px) {
.v39-intro .v37-skip {right: 14px; bottom: 16px;}
}
@media (prefers-reduced-motion: reduce) {
.v39-intro .v37-lockup {filter: none; will-change: auto;}
}


/* assets/portfolio-v38.css */
.v38-photography {padding-top: 72px; padding-bottom: 54px; border-top: 1px solid var(--br3); margin-top: 60px;}
.v38-photo-heading {display: flex; align-items: flex-end; justify-content: space-between; gap: 28px; margin-bottom: 32px;}
.v38-photo-label {font: 600 10px / 1.5 "Plus Jakarta Sans", sans-serif; letter-spacing: 0.16em; text-transform: uppercase; color: var(--s6); margin: 0px 0px 12px;}
.v38-photo-heading h3 {font: 800 clamp(28px, 3vw, 42px) / 1.12 "Plus Jakarta Sans", sans-serif; letter-spacing: -0.04em; color: var(--w); margin: 0px;}
.v38-photo-heading > p {font-size: 13px; color: var(--s6); margin: 0px 0px 4px;}
.v38-photo-grid {columns: 3; column-gap: 28px;}
.v38-photo-card {break-inside: avoid; display: inline-block; width: 100%; margin: 0px 0px 28px; vertical-align: top;}
.v38-photo {padding: 0px; border: 0px; overflow: hidden; cursor: zoom-in; appearance: none; position: relative !important; display: block !important; width: 100% !important; height: auto !important; aspect-ratio: auto !important; border-radius: 0px !important; background: rgb(8, 8, 8) !important;}
.v38-photo img {display: block !important; width: 100% !important; height: auto !important; aspect-ratio: auto !important; object-fit: contain !important; opacity: 1 !important; filter: none !important; transform: none !important; border-radius: 0px !important;}
.v38-enlarge {position: absolute; right: 12px; bottom: 12px; width: 30px; height: 30px; display: grid; place-items: center; background: rgba(8, 8, 8, 0.85); color: rgb(255, 255, 255); font: 500 18px "Plus Jakarta Sans", sans-serif; pointer-events: none;}
.v38-photo-card figcaption {padding: 12px 0px 0px; font: 500 12px / 1.5 "Plus Jakarta Sans", sans-serif; color: var(--s6);}
.v38-photo:focus-visible,  .v38-more summary:focus-visible {outline: 2px solid var(--w); outline-offset: 5px;}
.v38-more {border-top: 1px solid var(--br3); margin-top: 12px;}
.v38-more summary {min-height: 54px; display: flex; justify-content: space-between; align-items: center; cursor: pointer; font: 600 13px "Plus Jakarta Sans", sans-serif; color: var(--w); list-style: none;}
.v38-more summary::-webkit-details-marker {display: none;}
.v38-more[open] summary {margin-bottom: 24px;}
.v38-more[open] summary span {transform: rotate(45deg);}
@media (max-width: 1000px) {
.v38-photo-grid {columns: 2; column-gap: 22px;}
.v38-photo-heading {align-items: flex-start; flex-direction: column; gap: 16px;}
}
@media (max-width: 700px) {
.v38-photography {padding-top: 44px; padding-bottom: 28px; margin-top: 36px;}
.v38-photo-heading {margin-bottom: 24px;}
.v38-photo-grid {column-gap: 12px;}
.v38-photo-card {margin-bottom: 20px;}
.v38-photo-card figcaption {font-size: 10px; padding-top: 9px;}
.v38-photo-heading h3 {font-size: 28px;}
.v38-photo-heading > p {font-size: 12px;}
.v38-enlarge {right: 7px; bottom: 7px; width: 26px; height: 26px; font-size: 15px;}
}


/* assets/hero-v40.css */
.mm-v40 {min-height: 740px; max-height: 1100px; background: rgb(8, 8, 8) !important;}
.mm-v40 .v37-image {inset: 0px 0px 0px 38%; background: rgb(8, 8, 8);}
.mm-v40 .v37-image::after {z-index: 3; pointer-events: none; background: linear-gradient(90deg, rgb(8, 8, 8) 0%, rgba(8, 8, 8, 0.7) 8%, transparent 33%), linear-gradient(0deg, rgb(8, 8, 8) 0%, rgba(8, 8, 8, 0.133) 25%, transparent 45%), linear-gradient(rgba(8, 8, 8, 0.376), transparent 25%);}
.v40-stage {position: absolute; inset: 0px; overflow: hidden;}
.v40-layer {inset: 0px; width: 100%; height: 100%; margin: 0px; opacity: 0; overflow: hidden; position: absolute !important;}
.v40-layer:first-child {opacity: 1;}
.mm-v40 .v40-layer img {width: 100%; height: 100%; object-fit: cover; object-position: var(--focus-desktop,50% 34%); transform: scale(1.025); transform-origin: 50% 50%; will-change: transform;}
.mm-v40 .v37-content {width: 34%; min-height: 100%; margin-left: 5.55%; padding: 150px 0px 146px; justify-content: center;}
.mm-v40 .v37-eyebrow {font-size: 10px; line-height: 1.6; letter-spacing: 0.045em; margin: 0px 0px 30px;}
.mm-v40 h1 {font-size: clamp(34px, 3.2vw, 48px) !important; line-height: 1.15 !important; letter-spacing: -0.04em !important; font-weight: 700 !important;}
.mm-v40 .v37-bottom {margin-top: 30px; padding: 0px;}
.mm-v40 .v37-bottom p {font-size: 13px; line-height: 1.7; margin-bottom: 28px; max-width: 260px; color: rgb(204, 204, 204);}
.mm-v40 .v37-actions {display: flex; align-items: flex-start; flex-direction: column; gap: 13px;}
.mm-v40 .v37-contact {font-size: 11px; min-height: 40px; border: 0px; color: rgb(187, 187, 187);}
.mm-v40 .v37-image-credit {right: 40px; bottom: 154px; z-index: 4; text-align: right; max-width: 220px; line-height: 1.5; font-size: 11px;}
.v40-motion {position: absolute; bottom: 100px; right: 40px; z-index: 4; display: flex; align-items: center; gap: 20px; color: rgb(187, 187, 187); font: 500 10px / 1.5 "Plus Jakarta Sans", sans-serif;}
.v40-pause {background: rgba(8, 8, 8, 0.7); color: rgb(221, 221, 221); border: 1px solid rgba(255, 255, 255, 0.19); border-radius: 2px; min-height: 44px; padding: 10px 13px; font: 500 10px / 1.5 "Plus Jakarta Sans", sans-serif; cursor: pointer;}
.v40-pause[hidden] {display: none;}
.v40-pause:focus-visible {outline: rgb(255, 255, 255) solid 2px; outline-offset: 4px;}
@media (max-width: 1000px) and (min-width: 701px) {
.mm-v40 .v37-content {margin-left: 32px; width: 35%; padding-top: 130px;}
.mm-v40 h1 {font-size: 36px !important;}
.mm-v40 .v37-image {left: 37%;}
.mm-v40 .v37-eyebrow {font-size: 9px; letter-spacing: 0.01em;}
.mm-v40 .v37-image-credit,  .v40-motion {right: 28px;}
}
@media (max-width: 700px) {
.mm-v40 {min-height: 100svh; max-height: none; flex-direction: column; height: auto !important; padding-bottom: 93px !important; display: flex !important;}
.mm-v40 .v37-content {order: 0; min-height: 0px; width: auto; margin: 0px 22px; padding: 126px 0px 30px; display: block;}
.mm-v40 .v37-eyebrow {font-size: 9px; margin-bottom: 19px; letter-spacing: 0.025em;}
.mm-v40 h1 {font-size: 34px !important; line-height: 1.15 !important; letter-spacing: -0.04em !important;}
.mm-v40 h1 br:first-child {display: none;}
.mm-v40 .v37-bottom {margin-top: 18px; padding: 0px;}
.mm-v40 .v37-bottom p {font-size: 12px; margin-bottom: 19px; max-width: none;}
.mm-v40 .v37-actions {flex-direction: row; align-items: center; gap: 13px;}
.mm-v40 .v37-contact {font-size: 10px; min-height: 44px; gap: 5px;}
.mm-v40 .v37-image {position: relative; order: 1; inset: auto; height: clamp(450px, 65svh, 620px); flex-shrink: 0; width: 100%;}
.mm-v40 .v37-image::after {background: linear-gradient(rgb(8, 8, 8) 0%, transparent 20%, transparent 70%, rgb(8, 8, 8) 100%);}
.mm-v40 .v40-layer img {object-position: var(--focus-mobile,50% 34%);}
.mm-v40 .v37-image-credit {right: 22px; bottom: 76px; font-size: 10px; max-width: 220px;}
.v40-motion {right: 22px; bottom: 20px; gap: 18px;}
.v40-pause {font-size: 10px;}
.mm-v40 .v37-replay {inset: 79px 22px auto auto;}
.mm-v40 .v37-foot {left: 22px; right: 22px; bottom: 20px;}
}
@media (max-width: 350px) {
.mm-v40 h1 {font-size: 30px !important;}
.mm-v40 .v37-actions {flex-direction: column; align-items: flex-start; gap: 0px;}
.mm-v40 .v37-contact {min-height: 38px;}
.mm-v40 .v37-image {height: 480px;}
}
@media (prefers-reduced-motion: reduce) {
.mm-v40 .v40-layer img {will-change: auto; transform: none !important;}
.v40-pause {display: none;}
}


/* assets/entrance-1.0.css */
.v41-intro .v37-lockup{opacity:1;filter:none;will-change:opacity}
.v41-intro .v37-lockup>svg,.v41-intro .v37-lockup>span{opacity:0;will-change:filter,opacity}
.v41-field{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;opacity:0}
.v41-intro .v37-lockup>span{mask:none}
.v41-intro[data-state="static"] .v37-lockup>svg,.v41-intro[data-state="static"] .v37-lockup>span{opacity:1;filter:none;mask:none;will-change:auto}
.v41-intro[data-state="static"] .v41-field{display:none}
@media(prefers-reduced-motion:reduce){.v41-field{display:none}.v41-intro .v37-lockup>svg,.v41-intro .v37-lockup>span{opacity:1;mask:none;will-change:auto}}


/* assets/release.css */
/* Final editorial rhythm and progressive enhancement. */
/* Integral review 2026-10-01: offer first, compact process, complete cases dialogs. */
html[data-page=casos] #video-modal,html[data-page=casos] #lightbox{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;background:#000f;z-index:10000}
html[data-page=casos] #video-modal.on,html[data-page=casos] #lightbox.on{opacity:1;pointer-events:auto}
html[data-page=casos] .vm-bg{position:absolute;inset:0;background:#000e}
html[data-page=casos] .vm-box{position:relative;z-index:1;width:min(880px,92vw);background:#000;border-radius:4px}
html[data-page=casos] .vm-ratio{position:relative;width:100%;padding-top:56.25%}
html[data-page=casos] .vm-ratio iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
html[data-page=casos] #lb-img-wrap{position:relative;display:flex;align-items:center;justify-content:center}
html[data-page=casos] #lightbox-img{width:auto;height:auto;object-fit:contain;opacity:1;transform:none}
html[data-page=casos] #lightbox-close,html[data-page=casos] #lightbox-prev,html[data-page=casos] #lightbox-next,html[data-page=casos] #lightbox-counter{position:absolute}
html[data-page=casos] #lightbox-prev{left:16px}html[data-page=casos] #lightbox-next{right:16px}
html[data-page=casos] #lightbox-counter{left:50%;transform:translateX(-50%);text-transform:none}
[hidden]{display:none!important}
:root{--az:#0000ff;--az2:#1a1aff;--s5:#999;--s6:#aaa;--ff:'Plus Jakarta Sans','Helvetica Neue',sans-serif;--fd:var(--ff);--fi:var(--ff);--fm:var(--ff)}
:root[data-theme=light]{--s5:#5e5e5e;--s6:#505050}
.mm-fallback-nav{display:flex;gap:18px;flex-wrap:wrap;padding:100px 24px 16px;font-size:13px;background:var(--b)}
.mm-ready .mm-fallback-nav{display:none}
html:not(.mm-ready) .suites-tabs,html:not(.mm-ready) .mm-service-detail,html:not(.mm-ready) .ham,html:not(.mm-ready) #theme-btn,html:not(.mm-ready) #btt,html:not(.mm-ready) .v37-replay,html:not(.mm-ready) .v40-pause{display:none!important}
html:not(.mm-ready) .suite-panel--hidden{display:block!important}
html:not(.mm-ready) .faq-a{max-height:none!important;opacity:1!important;padding-bottom:20px!important}
html:not(.mm-ready) .faq-plus,html:not(.mm-ready) .port-filters,html:not(.mm-ready) .port-sticky-bar,html:not(.mm-ready) .filter-bar,html:not(.mm-ready) [data-expand]{display:none!important}
html:not(.mm-ready) .mm-collapsible>*{display:block!important}
.mm-ready .suite-panel[hidden]{display:none!important}
.suites-tabs{max-width:820px;margin-inline:auto}
.mm-scope-note{max-width:760px;margin:22px auto 36px;color:var(--s6);font-size:14px;text-align:center;line-height:1.7}
.mm-service-detail{display:inline-flex;align-items:center;min-height:44px;margin-top:24px;border-bottom:1px solid var(--br3);font-size:13px;font-weight:600}
.svc-card{display:flex;flex-direction:column;align-items:flex-start;cursor:default!important;box-shadow:none!important}
.svc-card .mm-service-detail{margin-top:auto;padding-top:22px}
.svc-card .svc-tags{margin-bottom:12px}.svc-title{line-height:1.25}
#servicios h2{max-width:900px;font-size:clamp(32px,4.2vw,64px);line-height:1.1;letter-spacing:-.05em}
.suites-intro{grid-template-columns:1fr!important;max-width:900px}
.faq-item.open .faq-a{max-height:none!important}
.proceso-step{align-content:start;display:flex!important;flex-direction:column;justify-content:flex-start}
.proceso-step:disabled{opacity:1;cursor:default}
.mm-selection img[src*="mm_web_port_03"]{object-position:50% 35%}
.mm-selection img[src*="mm_web_port_07"]{object-position:50% 35%}
@media(min-width:1101px){.svc-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
.proceso-step{text-align:left;display:block;width:100%;line-height:1.6}.proceso-step>span{display:block}.proceso-ico{display:none!important}.proceso-title{font-size:19px;margin:20px 0 10px}.proceso-desc{font-size:14px}.proceso-step-expand-ico{position:absolute}
#proceso h2{font-size:clamp(30px,3.8vw,52px)}
.mm-proof-grid h3{font-size:24px}.mm-proof-grid p{color:var(--s6);line-height:1.7}
#cine-selection-1{grid-template-columns:repeat(3,minmax(0,1fr))}
.session-play{opacity:1!important;width:44px;height:44px;background:#0009!important;border:1px solid #ffffff70;border-radius:50%}
.session-card:focus-visible .session-play,.session-card:hover .session-play{background:#0000ff!important}
.session-waveform{display:none!important}
.mm-project-grid{gap:0;border-top:1px solid var(--br3)}
.mm-project-grid article{padding:28px 30px 28px 0;border:0;border-bottom:1px solid var(--br3);border-radius:0;background:transparent}
.mm-project-grid article+article{padding-left:30px;border-left:1px solid var(--br3)}
.mm-project-grid h3{margin:20px 0 14px}.mm-project-grid p{font-size:15px;flex:1}
.mm-project-link{font-size:13px;font-weight:600;min-height:44px;display:flex;align-items:center;margin-top:20px;text-decoration:underline;text-underline-offset:5px}
.faq-layout,.faq-grid{grid-template-columns:1fr!important;max-width:900px}
.faq-wrap{max-width:900px;margin-inline:auto}.faq-q{font-size:16px;gap:18px;text-align:left}.faq-q span:first-child{flex:1}.faq-a p{max-width:72ch}.faq-a[hidden]{display:none!important}
.cta-inner{grid-template-columns:1fr!important;max-width:980px}.cta-left{max-width:850px}.cta-contact-items{display:flex;flex-wrap:wrap;gap:26px 48px;margin-block:30px!important}.cta-contact-item{margin:0!important}
.mm-deferred-image,.case-thumb{position:relative}.mm-play-label{position:absolute;bottom:16px;left:16px;display:inline-flex;align-items:center;gap:8px;padding:8px 12px;background:#000c;color:#fff;font-size:12px;line-height:1.5;border:1px solid #ffffff50;border-radius:4px}
.mm-selection article{padding:0 0 16px;border-radius:8px}.mm-deferred-image{border-radius:8px 8px 0 0}.mm-work-link{color:var(--s6)!important}.mm-filter-status{font-size:13px;color:var(--s6);padding:18px 24px 0}
.mm-no-js{display:none}.mm-image-fallback{background:var(--s2);min-height:100px}.mm-image-failed{font:14px/1.6 var(--ff);color:var(--w)}
#lightbox-counter{color:#ddd;font-size:13px;max-width:80%;text-align:center;line-height:1.6}#lightbox-error{color:#fff;text-align:center;position:absolute;bottom:100px;left:10%;right:10%}
#lightbox-counter{white-space:normal!important}
@media(max-width:700px){#lightbox-counter{bottom:76px;max-width:calc(100% - 40px);width:max-content;padding:6px 10px;background:#000b}}
#lightbox-img{touch-action:pan-x pan-y;transition:none!important}#vm-direct{margin:16px auto 0;display:flex;width:max-content;background:#151515;color:#fff;border:1px solid #555}
.svc-modal-close,.vm-close{min-width:44px;min-height:44px;font-size:26px}.svc-modal-title{line-height:1.2}.svc-modal-feat{line-height:1.6}.svc-modal-inner{max-height:90svh;overflow-y:auto}.svc-modal-sec-title{font-size:13px;font-weight:600}
.case-preview{display:block}.case-thumb .mm-play-label{bottom:14px}.case-cta{min-height:44px}.case-contact{font-size:12px}
.nav-cta{font-size:12px}.drawer a{color:var(--w)!important}.drawer-close{margin-left:auto}
.cta-contact-items{flex-direction:row!important}
.footer-logo{color:var(--w);font-size:26px;letter-spacing:-.055em;font-weight:800;text-transform:none}
.footer-logo .mm-ast,.footer-logo .mm-ast use{color:#0000ff!important;fill:#0000ff!important}
.footer-logo-img~span{display:inline!important}
.mm-selection .photo-strip-item{display:block;width:100%!important;height:auto!important;aspect-ratio:auto;flex:none;border:0}
img[src*="mm_web_port_03"],img[src*="mm_web_port_07"]{object-position:50% 35%}
html[data-page=casos] .cta-title{font-size:clamp(32px,4.2vw,60px);letter-spacing:-.05em;line-height:1.15}
html[data-page=casos] .cta-title em{color:var(--w)}
html[data-page=casos] .cta-subtitle{font-size:16px;line-height:1.7;color:var(--s6)}
html[data-page=casos] .cta-btns .btn,html[data-page=casos] .cta-btns .cta-wa{min-height:48px;border-radius:999px;font-size:13px;font-weight:600;letter-spacing:0;text-transform:none}
html[data-page=casos] .cta-wa,html[data-page=casos] .cta-wa:hover{background:#0000ff!important;border-color:#0000ff!important;box-shadow:none}
html[data-page=casos] .cta-section{padding-block:88px}
@media(max-width:1000px){#cine-selection-1{grid-template-columns:repeat(3,minmax(0,1fr))}.mm-project-grid{grid-template-columns:1fr}.mm-project-grid article,.mm-project-grid article+article{padding:24px 0;border-left:0}.mm-project-grid h3{font-size:25px;margin-top:12px}.mm-project-grid p{max-width:58ch}.mm-project-link{margin-top:10px}}
@media(max-width:700px){#cine-selection-1{grid-template-columns:1fr}.mm-scope-note{text-align:left;font-size:13px}.suites-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.suite-tab{font-size:13px;white-space:normal;padding:12px}.mm-proof-grid h3{font-size:23px}.mm-project-heading{margin-bottom:28px}.mm-project-grid article{padding:22px 0}.mm-project-grid p{font-size:14px}.faq-q{font-size:15px}.cta-contact-items{gap:18px 32px}.cta-contact-val{font-size:14px}.proceso-step{padding:22px!important}.proceso-grid{gap:12px}#contacto h2{font-size:clamp(30px,9vw,42px)}.nav-cta{font-size:11px;min-height:44px}.svc-modal-inner{padding:28px 20px}.svc-modal-title{font-size:30px!important}.svc-modal-body{grid-template-columns:1fr;gap:26px}.svc-modal-footer{flex-wrap:wrap}.mm-selection article{border-radius:8px}.mm-play-label{bottom:12px;left:12px}}
/* A quieter hierarchy for supporting information keeps the image sections prominent. */
.v38-photo img{aspect-ratio:var(--photo-ratio)!important}
.mm-own-work{display:grid;grid-template-columns:minmax(0,450px) minmax(0,1fr);gap:32px;align-items:center;margin-top:36px;padding-top:32px;border-top:1px solid var(--br3)}
.mm-own-mark{display:flex;align-items:center;justify-content:center;gap:14px;min-height:220px;background:#080808;color:#f2f0ec}
.mm-own-mark svg{width:52px;height:52px;fill:#0000ff;flex:none}
.mm-own-mark>span{font-size:36px;font-weight:800;letter-spacing:-.04em;line-height:1}
.mm-own-label{font-size:11px!important;letter-spacing:.08em;text-transform:uppercase;color:var(--s6);margin-bottom:12px}
.mm-own-work h3{font-size:24px;line-height:1.3;letter-spacing:-.04em;margin-bottom:12px}
.mm-own-work p{font-size:14px;line-height:1.7;color:var(--s6);max-width:56ch}
.mm-own-web{display:block}.mm-own-web img{display:block;width:100%;height:auto;aspect-ratio:8/5}
.mm-project-link+.mm-project-link{margin-top:0}
#servicios .suites-intro{margin-bottom:36px;gap:0;max-width:900px}
#servicios h2{font-size:clamp(32px,3.8vw,54px);max-width:21ch}
#servicios .body-lg{max-width:64ch;line-height:1.65}
#servicios .suites-tabs{margin-inline:0}
#servicios .mm-scope-note{margin:18px 0 30px;text-align:left;max-width:76ch;font-size:13px}
#proceso h2{font-size:clamp(29px,3.2vw,46px);text-transform:none;line-height:1.18;letter-spacing:-.045em}
#testimonios h2{font-size:clamp(29px,3.2vw,46px);text-transform:none;line-height:1.18;letter-spacing:-.045em;max-width:26ch}
#faq h2{font-size:clamp(29px,3.2vw,46px);text-transform:none;line-height:1.18;letter-spacing:-.045em}
.proceso-detail-wrap.open{max-height:none;overflow:visible}
.proceso-detail-wrap{transition:none}
.proceso-detail-col-title{font-size:12px;letter-spacing:.04em;line-height:1.6}
.proceso-detail-duration{font-size:12px;line-height:1.6;letter-spacing:0;text-transform:none}
html[data-page=casos] .casos-hero-title{font-size:clamp(36px,5.5vw,80px);line-height:1.08;letter-spacing:-.055em;max-width:18ch}
html[data-page=casos] .casos-hero-accent{font-size:clamp(20px,2.4vw,30px);line-height:1.4;margin-top:16px}
html[data-page=casos] .casos-hero{padding-bottom:48px}
html[data-page=casos] .filter-bar{padding-inline:0}
html[data-page=casos] .filter-inner{max-width:1320px;margin-inline:auto;padding-inline:clamp(20px,4vw,52px);gap:8px}
html[data-page=casos] .filter-btn{min-height:44px;text-transform:none;font-size:13px;letter-spacing:0;border-radius:4px;transition:border-color 180ms var(--mm-ease),transform 180ms var(--mm-ease)}
html[data-page=casos] .filter-btn:not(.on):hover{color:var(--w)}
html[data-page=casos] .cases-section{padding-top:24px}
@media(max-width:700px){
 .mm-own-work{grid-template-columns:1fr;gap:22px;margin-top:24px;padding-top:24px}
 .mm-own-mark{min-height:180px}.mm-own-mark>span{font-size:30px}.mm-own-mark svg{width:44px;height:44px}
 #servicios .suites-intro{margin-bottom:28px}
 #servicios h2{font-size:32px}
 #servicios .mm-scope-note{margin-bottom:24px}
 .proceso-grid{gap:0}
 .proceso-step{display:grid!important;grid-template-columns:30px 1fr;gap:6px 12px;padding:22px 36px 22px 0!important;border-radius:0!important;border:0!important;border-top:1px solid var(--br3)!important;background:transparent!important;box-shadow:none!important}
 .proceso-connector{display:none!important}
 .proceso-step>span{grid-column:2}
 .proceso-step>.proceso-step-num{grid-column:1;grid-row:1;padding-top:4px}
 .proceso-title{font-size:19px;margin:0;line-height:1.4}
 .proceso-desc{font-size:14px;line-height:1.65}
 .proceso-step-expand-ico{top:22px;right:0;bottom:auto}
 .proceso-step.expanded{background:transparent!important;box-shadow:none!important}
 .proceso-step.expanded .proceso-title{color:var(--az-text)}
 .proceso-detail-wrap.open{margin:0 0 22px}
 .proceso-detail-inner{padding:22px 20px}
 html[data-page=casos] .filter-inner{padding-inline:20px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.session-play,.mm-play-label,.svc-card,.suite-panel,.case-card,.proceso-detail-inner{transition:none!important;animation:none!important}}


/* assets/launch.css */
/* Ajustes de publicación: aviso de videos, enlaces legales y contraste sobre foto. */
.mm-legal-links{display:flex;flex-wrap:wrap;gap:8px 24px;align-items:center;width:100%;margin-top:20px;font-size:13px;color:var(--s6,#aaa)}
.mm-legal-links a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:4px}
.mm-legal-links a:focus-visible{outline:3px solid currentColor;outline-offset:4px}
.mm-video-consent{padding:36px;color:#fff;background:#111;max-height:70svh;overflow:auto}
.mm-video-consent h2{font-family:var(--ff,sans-serif);font-size:clamp(23px,4vw,32px);line-height:1.25;letter-spacing:-.035em;margin:12px 0 20px;color:#fff}
.mm-video-consent p{font-family:var(--ff,sans-serif);font-size:15px;line-height:1.75;max-width:60ch;margin:16px 0;color:#ccc}
.mm-video-consent .mm-consent-eyebrow{font-size:11px;font-weight:700;letter-spacing:.18em;color:#ccc}
.mm-video-consent a{color:#fff;text-decoration:underline;text-underline-offset:4px}
.mm-consent-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.mm-consent-actions button{font-family:var(--ff,sans-serif);font-size:14px;font-weight:600;background:#fff;color:#111;border:1px solid #fff;min-height:48px;padding:12px 18px;border-radius:4px;cursor:pointer}
.mm-consent-actions button:focus-visible,.mm-video-consent a:focus-visible{outline:3px solid #aaaaff;outline-offset:5px}
#video-modal .vm-box{max-height:90svh;overflow:auto}
#video-modal .vm-ratio{min-height:200px}
.v37-image-credit{background:rgba(0,0,0,.82)!important;color:#fff!important;padding:5px 9px;border-radius:3px;text-shadow:none!important}
.v37-image-credit *{color:inherit!important}
@media(max-width:480px){.mm-video-consent{padding:28px 22px}.mm-consent-actions{flex-direction:column}.mm-consent-actions button{width:100%}.mm-legal-links{gap:8px 18px}}


/* assets/portfolio-collage.css */
/* Full-frame photographs: only layout changes, with no image effects. */
.portfolio-collage.v38-photography {
  --collage-gap: 8px;
  width: auto;
  max-width: none;
  margin-inline: clamp(20px, 2.2vw, 32px);
  padding-inline: 0;
  box-sizing: border-box;
}
.portfolio-collage .portfolio-collage-heading {
  gap: 20px;
  margin-bottom: 24px;
}
.portfolio-collage-heading > p {
  max-width: 30ch;
  line-height: 1.6;
}
/* Natural grid remains usable before JS and when JavaScript is unavailable. */
.portfolio-collage-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: start;
  gap: var(--collage-gap);
  min-width: 0;
}
.portfolio-collage-grid[data-collage-ready="true"] {
  display: flex;
  flex-direction: column;
}
.portfolio-collage-row {
  display: flex;
  align-items: flex-start;
  gap: var(--collage-gap);
  width: 100%;
  min-width: 0;
}
.portfolio-collage .portfolio-collage-photo {
  display: block;
  position: relative;
  flex: var(--photo-ratio) 1 0%;
  min-width: 0;
  width: 100%;
  height: auto;
  aspect-ratio: auto;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  overflow: hidden;
  appearance: none;
  background: transparent;
  color: #fff;
  cursor: zoom-in;
  touch-action: manipulation;
}
.portfolio-collage-row > .portfolio-collage-photo:only-child {
  flex-grow: 1;
}
.portfolio-collage .portfolio-collage-photo img {
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
  aspect-ratio: auto;
  object-fit: contain;
  border-radius: 0;
  opacity: 1;
  filter: none;
  transform: none;
  animation: none;
  transition: none;
}
.portfolio-collage .portfolio-collage-photo:hover img,
.portfolio-collage .portfolio-collage-photo:focus-visible img {
  filter: none;
  transform: none;
}
.portfolio-collage .portfolio-collage-photo::after {
  content: none;
}
.portfolio-collage .portfolio-collage-photo:focus-visible {
  outline: 3px solid var(--w, #fff);
  outline-offset: 2px;
  z-index: 1;
}
.portfolio-collage-enlarge {
  position: absolute;
  right: 10px;
  bottom: 10px;
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  background: rgb(0 0 0 / 72%);
  color: #fff;
  pointer-events: none;
}
.portfolio-collage-enlarge svg {
  display: block;
  width: 18px;
  height: 18px;
}
@media (max-width: 700px) {
  .portfolio-collage.v38-photography {
    --collage-gap: 6px;
    margin-inline: 12px;
  }
  .portfolio-collage .portfolio-collage-heading {
    align-items: flex-start;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 20px;
    padding-inline: 4px;
  }
  .portfolio-collage-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .portfolio-collage-enlarge {
    right: 7px;
    bottom: 7px;
    width: 28px;
    height: 28px;
  }
  .portfolio-collage-enlarge svg {
    width: 16px;
    height: 16px;
  }
}


/* assets/releases-20261006.css */
/* MAGIC MEDIA — verified releases and live sessions, 2026-10-06. */
.mm-release-section{color:var(--w);overflow:clip}
.mm-release-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:32px}
.mm-release-eyebrow{font-size:11px;font-weight:700;line-height:1.5;letter-spacing:.11em;text-transform:uppercase;color:var(--s6);margin:0 0 10px}
.mm-release-intro{font-size:clamp(15px,1.5vw,18px);line-height:1.65;color:var(--s6);margin-top:18px;max-width:45ch}
.mm-release-channel{display:inline-flex;align-items:center;gap:10px;flex-shrink:0;min-height:48px;padding:10px 0;font-size:13px;font-weight:650;white-space:nowrap;color:var(--w)}
.mm-release-icon{display:block;width:20px;height:20px;flex:0 0 20px;color:inherit}
.mm-release-featured,.mm-release-new-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}
.mm-release-featured{grid-template-columns:minmax(0,1.08fr) minmax(0,1fr)}
.mm-release-card{min-width:0;border:1px solid var(--br3);border-radius:16px;background:var(--b);overflow:hidden;color:var(--w)}
.mm-release-card--single{background:var(--s2)}
.mm-release-video{display:block;color:inherit;text-decoration:none;touch-action:manipulation;border-radius:inherit}
.mm-release-poster{position:relative;aspect-ratio:16/9;background:var(--s2);overflow:hidden}
.mm-release-poster picture,.mm-release-poster img{display:block;width:100%;height:100%}
.mm-release-poster img{object-fit:contain;transition:transform .5s var(--ease)}
.mm-release-play{position:absolute;left:20px;bottom:20px;display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:#fff;color:#000;box-shadow:0 2px 18px #0003;transition:transform .25s var(--ease)}
.mm-release-play .mm-release-icon{width:24px;height:24px;transform:translateX(1px)}
.mm-release-duration{position:absolute;right:14px;bottom:14px;padding:4px 7px;border-radius:4px;background:#000d;color:#fff;font-size:11px;font-weight:650;line-height:1.3;letter-spacing:.02em}
.mm-release-body{padding:26px 26px 28px}
.mm-release-body h3{font-size:clamp(28px,3.3vw,46px);font-weight:750;line-height:1.1;letter-spacing:-.045em;text-wrap:balance;overflow-wrap:anywhere;margin:0 0 12px}
.mm-release-card--single .mm-release-body h3{font-size:clamp(32px,4.15vw,58px)}
.mm-release-subtitle{font-size:12px;letter-spacing:.06em;font-weight:650;line-height:1.5;color:var(--s7);margin:0}
.mm-release-meta{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;color:var(--s6);font-size:12px;line-height:1.6;margin-top:16px}
.mm-release-meta time{white-space:nowrap}
.mm-release-watch{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:48px;margin-top:22px;padding-top:15px;border-top:1px solid var(--br3);font-size:13px;font-weight:650}
.mm-release-watch .mm-release-icon{transition:transform .25s var(--ease)}
.mm-release-listen{padding:0 26px 24px}
.mm-release-listen a{display:flex;align-items:center;gap:11px;min-height:48px;border:1px solid var(--br3);border-radius:999px;padding:12px 17px;background:var(--w);color:var(--b);font-size:13px;font-weight:700;line-height:1.35;touch-action:manipulation}
.mm-release-listen a>.mm-release-icon:last-child{margin-left:auto}
.mm-release-video:focus-visible,.mm-release-channel:focus-visible,.mm-release-listen a:focus-visible,.mm-release-archive>summary:focus-visible{outline:3px solid var(--az-text);outline-offset:5px}
.mm-release-card:focus-within{overflow:visible}
.mm-release-card:focus-within .mm-release-poster{border-radius:15px 15px 0 0}
.mm-release-archive{margin-top:36px;border-block:1px solid var(--br3)}
.mm-release-archive>summary{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:72px;padding:20px 4px;cursor:pointer;list-style:none;font-size:16px;font-weight:650;touch-action:manipulation}
.mm-release-archive>summary::-webkit-details-marker{display:none}
.mm-release-archive>summary small{font-size:11px;font-weight:500;color:var(--s6);margin-left:14px;white-space:nowrap}
.mm-release-archive>summary>.mm-release-icon{transition:transform .25s var(--ease)}
.mm-release-archive[open]>summary>.mm-release-icon{transform:rotate(180deg)}
.mm-release-archive-grid{margin:0 0 28px;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.mm-release-archive-grid .session-title{font-size:clamp(19px,2vw,24px)}
.mm-release-archive-grid .session-meta{font-size:12px;line-height:1.6}
.mm-release-archive-grid .session-thumb,.mm-release-live-grid .session-thumb{aspect-ratio:16/9}
.mm-release-archive-grid .session-play,.mm-release-live-grid .session-play{color:#fff;display:grid;place-items:center}
.mm-release-archive-grid .session-play .mm-release-icon,.mm-release-live-grid .session-play .mm-release-icon{margin:0;width:22px;height:22px;transform:translateX(1px)}
.mm-release-live{margin-top:44px}
.mm-release-subheading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:22px}
.mm-release-subheading h3{font-size:24px;font-weight:700;line-height:1.2;letter-spacing:-.03em}
.mm-release-subheading p{font-size:13px;color:var(--s6);line-height:1.6}
.mm-release-live-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.mm-release-card--new .mm-release-meta{margin:0 0 16px}
.mm-release-card--new .mm-release-body h3{font-size:clamp(30px,3.7vw,48px)}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
  .mm-release-video:hover .mm-release-poster img{transform:scale(1.018)}
  .mm-release-video:hover .mm-release-play{transform:scale(1.05)}
  .mm-release-video:hover .mm-release-watch .mm-release-icon{transform:translateX(3px)}
}
@media(max-width:1000px){
  .mm-release-featured,.mm-release-new-grid{gap:18px}
  .mm-release-body{padding:22px}
  .mm-release-listen{padding:0 22px 22px}
  .mm-release-archive-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .mm-release-section .wrap{padding-inline:16px}
  .mm-release-heading{align-items:flex-start;gap:16px;margin-bottom:24px;flex-direction:column}
  .mm-release-channel{padding:0;min-height:44px}
  .mm-release-intro{margin-top:12px}
  .mm-release-featured,.mm-release-new-grid{grid-template-columns:minmax(0,1fr);gap:22px}
  .mm-release-body{padding:22px 20px}
  .mm-release-body h3{font-size:clamp(30px,8vw,46px)}
  .mm-release-card--single .mm-release-body h3{font-size:clamp(36px,10vw,58px)}
  .mm-release-listen{padding:0 20px 22px}
  .mm-release-play{width:48px;height:48px;left:16px;bottom:16px}
  .mm-release-subheading{align-items:flex-start;flex-direction:column;gap:9px}
  .mm-release-live-grid{grid-template-columns:minmax(0,1fr);gap:20px}
  .mm-release-archive-grid{gap:14px}
  .mm-release-archive-grid .session-info{padding:16px 12px}
  .mm-release-archive-grid .session-title{font-size:18px;line-height:1.25}
  .mm-release-archive-grid .session-meta{font-size:11px}
}
@media(max-width:460px){
  .mm-release-archive-grid{grid-template-columns:minmax(0,1fr)}
  .mm-release-archive>summary small{display:block;margin:3px 0 0}
}
@media(prefers-reduced-motion:reduce){
  .mm-release-poster img,.mm-release-play,.mm-release-watch .mm-release-icon,.mm-release-archive>summary>.mm-release-icon{transition:none!important;animation:none!important}
}


/* assets/responsive-20261006.css */
/* Local review: compact mobile opening, consistent symbols and touch controls. */
.mm-icon{display:inline-block;width:1em;height:1em;flex:none;vertical-align:-.12em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:square;stroke-linejoin:miter;pointer-events:none}
.mm-icon--play{fill:currentColor;stroke:none}
.v37-contact .mm-icon,.v37-foot .mm-icon,.mm-play-label .mm-icon{width:16px;height:16px}
.mm-play-label{gap:8px}
.mm-magic-toggle{display:grid!important;place-items:center;width:32px;height:32px;line-height:0;padding:0;color:var(--w);border:1px solid var(--br3);border-radius:50%;transform:none!important;background:transparent!important}
.mm-magic-toggle svg{display:block;width:19px;height:19px;fill:currentColor;stroke:none;transform-box:view-box;transform-origin:50% 50%;transform:rotate(0deg);transition:transform .45s cubic-bezier(.22,.61,.36,1)}
.proceso-step.expanded .mm-magic-toggle{color:var(--w);border-color:currentColor}
.proceso-step.expanded .mm-magic-toggle svg{transform:rotate(108deg)}
.btt-btn{width:48px;height:48px}
.btt-btn svg{width:20px;height:20px}
.drawer{max-height:100dvh;overflow-y:auto;overscroll-behavior:contain;padding-bottom:max(28px,env(safe-area-inset-bottom))}
.drawer-close{min-width:72px;min-height:44px}
.sec,.v38-photography{scroll-margin-top:0}
#lightbox-close,#lightbox-prev,#lightbox-next{min-width:48px;min-height:48px;display:flex;align-items:center;justify-content:center;gap:8px}
#lightbox-close .mm-icon,#lightbox-prev .mm-icon,#lightbox-next .mm-icon{width:20px;height:20px}
.mm-v40 .v37-contact{color:#eee;gap:8px;min-height:44px}
.mm-v40 .v37-contact:hover{color:#fff}
.mm-v40 .v37-replay .mm-icon{width:16px;height:16px}

@media(max-width:1000px){
 .nav .nav-logo{flex-shrink:0}
 .nav .nav-right{margin-left:auto}
 .nav .nav-cta{display:none}
 .nav .theme-btn{width:44px;height:44px;min-width:44px;min-height:44px}
}
@media(max-width:700px){
 html{scroll-padding-top:86px}
 .nav,.nav.scrolled{top:8px;left:12px;right:12px;height:60px;padding:0;border-radius:12px}
 .nav .nav-inner{min-height:58px;height:58px;padding:0 10px;gap:8px}
 .nav .nav-logo{gap:8px}
 .nav .nav-logo-text{font-size:18px!important;letter-spacing:-.04em!important;white-space:nowrap}
 .nav .nav-logo-img{width:23px!important;height:23px!important}
 .nav .nav-right{gap:0}
 .nav .ham{margin:0}
 .mm-v40{min-height:0;max-height:none;padding:0 0 68px!important;overflow:hidden}
 .mm-v40 .v37-content{margin:0 20px;padding:96px 0 24px;min-height:0;width:auto;pointer-events:auto}
 .mm-v40 .v37-eyebrow{font-size:10px;line-height:1.6;letter-spacing:0;margin:0 0 14px}
 .mm-v40 h1{font-size:clamp(30px,8.2vw,42px)!important;line-height:1.1!important;letter-spacing:-.045em!important;max-width:18ch}
 .mm-v40 h1 br:first-child{display:none}
 .mm-v40 .v37-bottom{margin-top:16px}
 .mm-v40 .v37-bottom p{font-size:13px;line-height:1.55;margin:0 0 17px;max-width:30ch}
 .mm-v40 .v37-actions{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px 16px}
 .mm-v40 .hero-port-btn{font-size:12px!important;min-height:46px;padding:12px 16px!important;letter-spacing:0!important}
 .mm-v40 .v37-contact{font-size:12px;min-height:46px;gap:7px;white-space:nowrap}
 .mm-v40 .v37-image{height:clamp(340px,50svh,440px);min-height:0;width:100%;margin:0;order:1}
 .mm-v40 .v37-image::after{background:linear-gradient(0deg,rgba(8,8,8,.65),transparent 32%)}
 .mm-v40 .v40-layer[data-photo=TOA] img{object-position:50% 60%}
 .mm-v40 .v37-image-credit{left:20px;right:auto;bottom:70px;text-align:left;max-width:calc(100% - 40px);font-size:10px;padding:6px 9px;line-height:1.5}
 .mm-v40 .v40-motion{left:20px;right:20px;bottom:14px;justify-content:space-between;gap:12px}
 .mm-v40 .v40-pause{font-size:11px;background:#080808c9;color:#fff;padding:10px 12px}
 .mm-v40 .v37-replay{inset:auto auto 12px 20px;margin:0;padding:0;min-height:44px;font-size:10px;gap:6px;background:transparent}
 .mm-v40 .v37-foot{inset:auto 20px 12px 20px;min-height:44px;padding:0;border:0;justify-content:flex-end;pointer-events:none}
 .mm-v40 .v37-foot>span{display:none}
 .mm-v40 .v37-foot a{pointer-events:auto;min-height:44px;font-size:10px;gap:6px}
 .sec{padding-block:52px;scroll-margin-top:0}
 .proceso-step{padding-right:46px!important}
 .proceso-step-expand-ico{top:22px;right:0;bottom:auto}
 .proceso-detail-inner{padding:20px 16px}
 .mm-catalog{margin-inline:20px}
 .mm-catalog>summary{line-height:1.5;min-height:56px}
 .btt-btn{position:relative;bottom:auto;right:auto;margin:18px 20px 20px auto;transform:none!important}
 .btt-btn:not(.vis){display:none}
 #lightbox-close{top:max(14px,env(safe-area-inset-top));right:14px;font-size:13px}
 #lightbox-prev{left:12px}#lightbox-next{right:12px}
 #lightbox-counter{bottom:max(78px,calc(env(safe-area-inset-bottom) + 56px));font-size:12px}
 #lightbox-img{max-width:calc(100vw - 24px);max-height:calc(100dvh - 160px)}
 .mm-video-consent{padding:28px 20px}
}
@media(max-width:360px){
 .mm-v40 .v37-content{padding-top:90px;margin-inline:18px}
 .mm-v40 .v37-eyebrow{font-size:9px}
 .mm-v40 h1{font-size:30px!important}
 .mm-v40 .v37-actions{gap:4px 12px}
 .mm-v40 .hero-port-btn{font-size:11px!important;padding-inline:12px!important}
 .mm-v40 .v37-contact{font-size:11px}
 .mm-v40 .v37-image{height:350px}
}
@media(prefers-reduced-motion:reduce){
 .mm-magic-toggle svg{transition:none;animation:none}
 .mm-icon,.btt-btn,.drawer{transition:none!important}
}


/* assets/hero-cover-v13.css */
/* v1.3 extends the preserved v1.2 cover with an on-demand photographic selector. */
.mm-cover{position:relative;isolation:isolate;display:grid!important;min-height:clamp(760px,94svh,1080px);height:auto!important;max-height:none;padding:0!important;overflow:hidden;background:#080808!important;color:#fff}
.mm-cover:focus{outline:none}
.mm-cover .v37-image{position:absolute;inset:0;width:100%;height:100%;margin:0;order:0}
.mm-cover .v37-image::after{background:linear-gradient(90deg,#080808e8 0%,#080808a6 23%,transparent 62%),linear-gradient(0deg,#080808 0%,#08080855 24%,transparent 55%);z-index:3}
.mm-cover .v40-layer{background:#080808}
.mm-cover .v40-layer img{object-position:var(--focus-desktop,50% 35%);width:100%;height:100%;margin:0;filter:none;opacity:1}
.mm-cover .v40-layer[data-photo="TOA"] img,.mm-cover .v40-layer[data-photo="DSCF2176"] img{width:74%;margin-left:26%}
.mm-cover .v37-content{position:relative;z-index:4;display:flex;flex-direction:column;justify-content:center;width:auto;min-height:inherit;margin:0;padding:150px 5.55% 180px;pointer-events:auto}
.mm-cover .v37-eyebrow{margin:0 0 24px;font-size:11px;letter-spacing:.045em;color:#eee}
.mm-cover h1{max-width:11ch;font-size:clamp(64px,6.65vw,112px)!important;font-weight:750!important;letter-spacing:-.065em!important;line-height:.98!important;text-wrap:balance;position:relative;margin:0;color:#fff}
.mm-cover h1 br{display:block!important}
.mm-cover h1 span{color:inherit}
.mm-cover .v37-bottom{margin-top:26px}
.mm-cover .v37-bottom p{font-size:14px;line-height:1.5;max-width:34ch;margin:0 0 22px;color:#ededed}
.mm-cover .v37-actions{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:14px 26px}
.mm-cover .hero-port-btn{font-size:13px!important;min-height:48px;padding:13px 24px!important;border-radius:2px;letter-spacing:0!important}
.mm-cover .v37-contact{font-size:13px;min-height:48px;color:#fff;gap:10px}
.mm-cover .v37-image-credit{z-index:4;right:5.55%;bottom:190px;max-width:280px;text-align:right;font-size:11px;line-height:1.6;color:#fff;background:#0808089c;padding:7px 10px}
.mm-cover .v40-motion{position:static;display:flex;align-items:center;gap:12px;min-height:44px;justify-content:flex-end}
.mm-cover .v40-counter{font-size:12px;font-weight:700;letter-spacing:.12em;color:#c5c5ff;background:#0000ff40;padding:8px 10px;border-left:3px solid #0000ff;white-space:nowrap}
.mm-cover .v40-pause{min-height:44px;font-size:11px;line-height:1.4;border:1px solid #ffffff55;padding:10px 12px;background:#080808ba;color:#fff}
.mm-cover-tools{position:absolute;z-index:5;bottom:28px;left:5.55%;right:5.55%;display:flex;align-items:flex-end;justify-content:space-between;gap:32px;padding-top:20px;border-top:1px solid #ffffff36}
.mm-cover .v37-replay{position:static;inset:auto;margin:0;padding:0;display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:11px;color:#eee;background:transparent;letter-spacing:0;white-space:nowrap}
.mm-cover-picker{display:flex;gap:10px;align-items:center}
.mm-cover-picker button{position:relative;width:100px;height:67px;padding:0;background:#080808;border:1px solid #ffffff55;cursor:pointer;overflow:hidden;flex:none;transition:border-color .25s,transform .25s}
.mm-cover-picker img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 35%;opacity:.6;transition:opacity .25s}
.mm-cover-picker button[aria-pressed="true"]{border:2px solid #0000ff;transform:translateY(-5px)}
.mm-cover-picker button[aria-pressed="true"] img{opacity:1}
.mm-cover-picker button>span{position:absolute;left:6px;bottom:4px;font-size:10px;font-weight:700;color:#fff;text-shadow:0 1px 4px #000;background:#0009;padding:0 3px}
.mm-cover-picker button:focus-visible,.mm-cover .v37-replay:focus-visible{outline:3px solid #fff;outline-offset:4px}
.mm-cover-control-stack{display:grid;gap:9px}
.mm-cover-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
html.mm-on-cover .nav,html.mm-on-cover .nav.scrolled{background:#080808dc;border-color:#ffffff36;color:#fff}
html.mm-on-cover .nav .nav-logo,html.mm-on-cover .nav .nav-logo-text,html.mm-on-cover .nav a:not(.nav-cta),html.mm-on-cover .nav .theme-btn{color:#fff!important}
html.mm-on-cover .nav .ham span{background:#fff}
html.mm-on-cover .nav .theme-btn{border-color:#ffffff55}
@media(max-width:1000px){
 .mm-cover{min-height:clamp(700px,90svh,980px)}
 .mm-cover .v37-content{padding:150px 32px 175px}
 .mm-cover h1{font-size:clamp(54px,7.2vw,78px)!important;max-width:11ch}
 .mm-cover .v37-image-credit{right:32px;bottom:180px}
 .mm-cover-tools{left:32px;right:32px;gap:20px}
 .mm-cover-picker button{width:84px;height:60px}
}
@media(max-width:700px){
 .mm-cover{min-height:max(650px,84svh);height:auto!important;display:grid!important;padding:0!important}
 .mm-cover .v37-image{position:absolute;inset:0;width:100%;height:100%;min-height:0}
 .mm-cover .v40-layer[data-photo="TOA"] img,.mm-cover .v40-layer[data-photo="DSCF2176"] img{width:100%;margin:0}
 .mm-cover .v40-layer img{object-position:var(--focus-mobile,50% 35%)}
 .mm-cover .v40-layer[data-photo="TOA"] img{object-position:50% 32%}
 .mm-cover .v37-image::after{background:linear-gradient(0deg,#080808 0%,#080808dc 18%,#08080894 40%,transparent 73%)}
 .mm-cover .v37-content{justify-content:flex-end;min-height:inherit;padding:180px 20px 170px;margin:0;width:auto;order:0}
 .mm-cover .v37-eyebrow{font-size:9px;line-height:1.5;letter-spacing:.015em;margin:0 0 14px}
 .mm-cover h1{font-size:clamp(37px,10.25vw,49px)!important;line-height:1!important;max-width:11ch;letter-spacing:-.055em!important}
 .mm-cover .v37-bottom{margin-top:15px}
 .mm-cover .v37-bottom p{font-size:12px;line-height:1.45;margin:0 0 14px;max-width:32ch}
 .mm-cover .v37-actions{gap:10px 22px;flex-direction:row;align-items:center}
 .mm-cover .hero-port-btn{font-size:12px!important;min-height:46px;padding:12px 18px!important}
 .mm-cover .v37-contact{font-size:12px;min-height:46px;gap:7px}
 .mm-cover .v37-image-credit{top:92px;bottom:auto;left:20px;right:auto;max-width:230px;text-align:left;font-size:9px;background:#080808a8;padding:6px 8px}
 .mm-cover-tools{left:20px;right:20px;bottom:15px;padding-top:12px;gap:12px;align-items:flex-end}
 .mm-cover .v37-replay{font-size:9px;max-width:82px;white-space:normal;text-align:left;line-height:1.4;gap:6px;min-height:44px}
 .mm-cover .v37-replay .mm-icon{width:14px;height:14px}
 .mm-cover-control-stack{gap:9px}
 .mm-cover-picker{gap:7px}
 .mm-cover-picker button{width:66px;height:47px}
 .mm-cover .v40-motion{gap:8px;justify-content:space-between;min-height:44px}
 .mm-cover .v40-counter{font-size:10px;padding:6px 7px;letter-spacing:.06em}
 .mm-cover .v40-pause{font-size:10px;min-height:44px;padding:7px 9px}
}
@media(max-width:360px){
 .mm-cover .v37-content{padding-inline:18px;padding-bottom:166px}
 .mm-cover h1{font-size:37px!important}
 .mm-cover .v37-image-credit{left:18px}
 .mm-cover-tools{left:18px;right:18px;gap:10px}
 .mm-cover-picker button{width:57px;height:44px}
 .mm-cover-picker{gap:5px}
 .mm-cover .v37-replay{max-width:74px}
 .mm-cover .v37-actions{gap:8px 16px}
}
@media(prefers-reduced-motion:reduce){
 .mm-cover-picker button,.mm-cover-picker img{transition:none}
 .mm-cover .v40-layer img{transform:none!important;will-change:auto}
}

/* The controls form one row. The image browser exists only while requested. */
.mm-cover-v13 .v40-layer img,
.mm-cover-v13 .v40-layer[data-photo="TOA"] img,
.mm-cover-v13 .v40-layer[data-photo="DSCF2176"] img{width:76%;margin-left:24%;object-fit:cover;mask-image:linear-gradient(90deg,transparent 0%,#000 22%)}
.mm-cover-v13 .v37-content{padding-bottom:128px}
.mm-cover-v13 .v37-image-credit{bottom:122px}
.mm-cover-v13 .mm-cover-tools{align-items:center;bottom:25px;gap:18px;padding-top:16px}
.mm-cover-controls{display:flex;align-items:center;gap:10px;min-width:0}
.mm-frame-disclosure{position:relative}
.mm-frame-trigger{display:flex;align-items:center;gap:12px;min-height:48px;border:1px solid #ffffff55;border-radius:3px;padding:5px 12px 5px 5px;background:#080808e8;color:#fff;text-align:left}
.mm-frame-trigger>img{width:42px;height:34px;object-fit:cover;object-position:50% 35%;background:#151515}
.mm-frame-trigger-label{font-size:11px;font-weight:600;line-height:1.25}
.mm-cover-v13 .v40-counter{display:block;padding:0;margin-top:3px;color:#fff;font-size:10px;letter-spacing:.11em;border:0;background:transparent}
.mm-frame-trigger>.mm-icon{width:14px;height:14px;color:#aaaaff;transition:transform .25s}
.mm-frame-disclosure.is-open .mm-frame-trigger>.mm-icon{transform:rotate(180deg)}
.mm-cover-v13 .v40-pause{border:1px solid #ffffff55;background:#080808c9;border-radius:3px;min-height:48px;font-size:11px;white-space:nowrap}
.mm-frame-panel{position:absolute;bottom:calc(100% + 12px);right:0;width:min(580px,calc(100vw - 48px));padding:14px;background:#0b0b0b;border:1px solid #ffffff42;border-radius:6px;box-shadow:0 18px 70px #0009;color:#fff;max-height:min(470px,calc(100svh - 170px));overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#777 transparent}
.mm-frame-panel::after{content:"";position:absolute;left:0;right:0;bottom:-13px;height:13px}
.mm-frame-panel-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:8px}
.mm-frame-panel-head p{font-size:12px;font-weight:600;letter-spacing:.015em}
.mm-frame-close{display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;border:1px solid #ffffff30;border-radius:50%;color:#fff}
.mm-frame-close .mm-icon{width:18px;height:18px}
.mm-frame-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 9px}
.mm-frame-grid button{position:relative;min-width:0;min-height:70px;text-align:left;color:#fff;border:1px solid #ffffff3b;border-radius:2px;overflow:hidden;background:#191919;transition:border-color .2s}
.mm-frame-grid img{display:block;width:100%;aspect-ratio:1.5;object-fit:cover;object-position:50% 35%;background:#222;opacity:.8;transition:opacity .2s}
.mm-frame-grid button[aria-pressed="true"]{border-color:#0000ff;box-shadow:0 0 0 1px #0000ff}
.mm-frame-grid button[aria-pressed="true"] img,.mm-frame-grid button:hover img{opacity:1}
.mm-frame-grid button>span{display:block;padding:8px 6px;font-size:11px;line-height:1.35}
.mm-frame-grid button b{position:absolute;left:5px;top:5px;padding:0 3px;background:#000b;font-size:9px;color:#fff;font-weight:700;font-variant-numeric:tabular-nums}
.mm-frame-grid button i{display:block;font-style:normal;min-width:0;overflow-wrap:normal}
.mm-frame-trigger:focus-visible,.mm-frame-close:focus-visible,.mm-frame-grid button:focus-visible,.mm-cover-v13 .v40-pause:focus-visible{outline:3px solid #fff;outline-offset:4px}
html.mm-intro-active .mm-cover-v13 .mm-cover-tools{visibility:hidden;pointer-events:none}
@media(max-width:1000px){.mm-cover-v13 .v37-content{padding-bottom:130px}.mm-cover-v13 .v37-image-credit{bottom:130px}}
@media(max-width:700px){
 .mm-cover-v13 .v40-layer img,.mm-cover-v13 .v40-layer[data-photo="TOA"] img,.mm-cover-v13 .v40-layer[data-photo="DSCF2176"] img{width:100%;height:var(--mobile-image-height,100%);margin:0;object-position:var(--focus-mobile,50% 35%);mask-image:none}
 .mm-cover-v13 .mm-frame-landscape img{mask-image:linear-gradient(#000 75%,transparent 100%)}
 .mm-cover-v13 .v37-content{padding-bottom:115px}
 .mm-cover-v13 .v37-image-credit{bottom:auto;top:92px}
 .mm-cover-v13 .mm-cover-tools{left:20px;right:20px;bottom:17px;gap:10px;align-items:center;padding-top:12px}
 .mm-cover-v13 .v37-replay{max-width:76px;font-size:9px;flex-shrink:0}
 .mm-cover-controls{gap:7px}
 .mm-frame-trigger{min-height:46px;gap:8px;padding:5px 8px 5px 5px}
 .mm-frame-trigger>img{width:32px;height:32px}
 .mm-frame-trigger-label{font-size:10px}
 .mm-cover-v13 .v40-counter{font-size:9px;letter-spacing:.07em}
 .mm-frame-trigger>.mm-icon{width:11px;height:11px}
 .mm-cover-v13 .v40-pause{min-height:46px;font-size:10px;max-width:80px;white-space:normal;padding:5px 8px;line-height:1.35}
 .mm-frame-panel{width:calc(100vw - 40px);padding:12px;max-height:min(430px,calc(100svh - 160px))}
 .mm-frame-panel-head{gap:8px;margin-bottom:6px}
 .mm-frame-panel-head p{font-size:11px}
 .mm-frame-grid{gap:9px 6px}
 .mm-frame-grid button>span{display:block;padding:6px 5px;min-height:39px;font-size:11px}
 .mm-frame-grid button b{margin-right:3px;font-size:9px}
}
@media(max-width:360px){
 .mm-cover-v13 .v37-content{padding-inline:18px;padding-bottom:118px}
 .mm-cover-v13 .mm-cover-tools{left:18px;right:18px;gap:7px}
 .mm-cover-v13 .v37-replay{max-width:66px}
 .mm-cover-v13 .v40-pause{max-width:66px;font-size:9px;padding-inline:6px}
 .mm-cover-controls{gap:5px}
 .mm-frame-trigger{gap:6px;padding-right:6px}
 .mm-frame-trigger>img{width:27px;height:30px}
 .mm-frame-panel{width:calc(100vw - 36px)}
}
@media(prefers-reduced-motion:reduce){.mm-frame-trigger>.mm-icon,.mm-frame-grid img,.mm-frame-grid button{transition:none}}
/* Tablet portrait needs the complete source frame rather than a desktop slit. */
@media(min-width:701px) and (max-width:1000px){
 .mm-cover-v13 .v40-layer img,.mm-cover-v13 .v40-layer[data-photo="TOA"] img,.mm-cover-v13 .v40-layer[data-photo="DSCF2176"] img{width:100%;margin-left:0;height:70%;object-fit:contain;object-position:50% 25%;mask-image:linear-gradient(#000 75%,transparent)}
 .mm-cover-v13 .v37-content{justify-content:flex-end;padding-bottom:140px}
 .mm-cover-v13 h1{font-size:clamp(54px,7.2vw,68px)!important}
}


/* assets/selected-work-v12.css */
/* Native details remains usable when JavaScript or the helper is unavailable. */
.mm-selection[data-selected-work]{--mm-work-paging:1;overflow-anchor:none}
.mm-selection[data-selected-work] .mm-deferred-image{aspect-ratio:16/9;height:auto;background:#080808;overflow:hidden}
.mm-selection[data-selected-work] .mm-deferred-image img{display:block;width:100%;height:100%;object-fit:contain;filter:none}
.mm-selection[data-selected-work] article h3{font-size:clamp(19px,1.8vw,25px);line-height:1.25;overflow-wrap:anywhere;letter-spacing:-.025em;margin-top:17px}
.mm-selection[data-selected-work] article p{font-size:13px;line-height:1.6}
.mm-selection>.mm-work-fallback{grid-column:1/-1;min-width:0}
.mm-work-fallback>summary{display:list-item;width:fit-content;min-height:44px;padding:12px 16px;cursor:pointer;border:1px solid var(--br3);border-radius:8px;color:var(--w);font-size:14px;line-height:1.4}
.mm-work-fallback-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding-top:24px}
.mm-selection article[data-mm-paged=hidden]{display:none!important}
.mm-work-pagination{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:0 0 28px;overflow-anchor:none}
.mm-work-pagination-status{color:var(--s6);font-size:13px;line-height:1.5;margin:0}
.mm-work-pagination-actions{display:flex;gap:12px;flex-wrap:wrap}
.mm-work-pagination button{min-width:104px;min-height:44px;font:inherit;font-size:13px;cursor:pointer}
.mm-work-pagination button[hidden]{display:none!important}
.mm-work-fallback>summary:focus-visible,.mm-work-pagination button:focus-visible{outline:2px solid currentColor;outline-offset:4px}
@media(max-width:700px){.mm-work-fallback-grid{grid-template-columns:1fr}.mm-work-pagination{align-items:flex-start;flex-direction:column}.mm-work-pagination-actions{width:100%}.mm-work-pagination button{flex:1}}


/* assets/portfolio-rotation-v12.css */
/* Independent of the portfolio category filter's hidden state. */
.portfolio-rotation-v12 .portfolio-collage-unused,
.portfolio-rotation-v12 .portfolio-collage-photo[data-mm-photo-hidden="true"] {
  display: none !important;
}
.portfolio-rotation-v12 .portfolio-collage-photo img {
  /* Width and height attributes reserve each complete source frame before decoding. */
  height: auto;
  aspect-ratio: var(--photo-ratio);
  object-fit: contain;
}


/* assets/catalogue-entry-v12.css */
/* v1.2: only the top-level portfolio catalogue summary. Native details remains intact. */
#portfolio-catalog > .mm-catalog-entry {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 420px);
  grid-template-areas: "copy frames" "action frames";
  align-items: center;
  gap: 20px 36px;
  box-sizing: border-box;
  padding: 28px 32px;
  color: var(--w);
  background: var(--s1);
  border: 1px solid var(--br3);
  border-radius: 12px;
  cursor: pointer;
  list-style: none;
  text-align: left;
  touch-action: manipulation;
}
#portfolio-catalog > .mm-catalog-entry::after {content: none;}
#portfolio-catalog > .mm-catalog-entry::marker {content: "";}
#portfolio-catalog > .mm-catalog-entry::-webkit-details-marker {display: none;}
#portfolio-catalog > .mm-catalog-entry:focus-visible {
  outline: 3px solid var(--az-text);
  outline-offset: 5px;
}
.mm-catalog-entry-copy {grid-area: copy;display: block;align-self: end;min-width: 0;}
.mm-catalog-entry-eyebrow {
  display: block;
  margin-bottom: 12px;
  color: var(--s6);
  font-size: 10px;
  font-weight: 650;
  line-height: 1.5;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.mm-catalog-entry-title {
  display: block;
  max-width: 15ch;
  font-size: clamp(28px, 3vw, 42px);
  font-weight: 700;
  line-height: 1.12;
  letter-spacing: -.04em;
  text-wrap: balance;
}
.mm-catalog-entry-note {
  display: block;
  margin-top: 14px;
  max-width: 35ch;
  color: var(--s6);
  font-size: 13px;
  font-weight: 400;
  line-height: 1.65;
}
.mm-catalog-entry-frames {
  grid-area: frames;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  min-width: 0;
  align-items: start;
}
.mm-catalog-entry-frame {display: block;min-width: 0;overflow: hidden;}
.mm-catalog-entry-frame img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 2 / 3;
  object-fit: contain;
  filter: none;
  transform: none;
  border-radius: 0;
}
.mm-catalog-entry-action {
  grid-area: action;
  display: inline-flex;
  justify-self: start;
  align-self: start;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  min-height: 48px;
  padding: 0 18px;
  border: 1px solid currentColor;
  border-radius: 999px;
  background: var(--w);
  color: var(--b);
  font-size: 13px;
  font-weight: 650;
  line-height: 1.4;
}
.mm-catalog-entry-action svg {
  display: block;
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: square;
  stroke-linejoin: miter;
  transition: transform .22s ease;
}
#portfolio-catalog > .mm-catalog-entry .mm-catalog-when-open {display: none;}
#portfolio-catalog[open] > .mm-catalog-entry .mm-catalog-when-open {display: inline;}
#portfolio-catalog[open] > .mm-catalog-entry .mm-catalog-when-closed {display: none;}
#portfolio-catalog[open] > .mm-catalog-entry .mm-catalog-entry-action svg {transform: rotate(180deg);}
@media (max-width: 900px) and (min-width: 701px) {
  #portfolio-catalog > .mm-catalog-entry {grid-template-columns: minmax(0, 1fr) minmax(0, 42%);gap: 18px 24px;padding: 24px;}
}
@media (max-width: 700px) {
  #portfolio-catalog > .mm-catalog-entry {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "frames" "copy" "action";
    gap: 18px;
    padding: 18px;
  }
  .mm-catalog-entry-title {max-width: none;font-size: 30px;}
  .mm-catalog-entry-eyebrow {margin-bottom: 8px;font-size: 9px;}
  .mm-catalog-entry-note {margin-top: 10px;font-size: 12px;}
  .mm-catalog-entry-action {justify-self: stretch;}
}
@media (max-width: 360px) {
  #portfolio-catalog > .mm-catalog-entry {padding: 14px;gap: 16px;}
  .mm-catalog-entry-title {font-size: 27px;}
  .mm-catalog-entry-action {font-size: 12px;}
}
@media (prefers-reduced-motion: reduce) {
  .mm-catalog-entry-action svg {transition: none;}
}



/* assets/faq-v12.css */
/* FAQ v1.2: topics remain visible; existing site.js owns accordion state. */
#faq.mm-faq { scroll-margin-top: 0; }
.mm-faq-heading { max-width: 770px; margin-bottom: clamp(32px, 5vw, 60px); }
.mm-faq-heading .h-mix { margin-bottom: 18px; }
.mm-faq-intro { max-width: 610px; color: var(--s7); font-size: clamp(16px, 1.5vw, 18px); line-height: 1.7; }
.mm-faq-layout { display: grid; grid-template-columns: minmax(220px, .72fr) minmax(0, 1.8fr); gap: clamp(32px, 7vw, 100px); align-items: start; }
.mm-faq-guide { position: sticky; top: 110px; }
.mm-faq-topics { display: grid; gap: 4px; margin-bottom: 30px; }
.mm-faq-topics a { min-height: 48px; display: flex; align-items: center; gap: 12px; border-bottom: 1px solid var(--br2); padding: 10px 0; color: var(--s7); font-size: 14px; line-height: 1.45; }
.mm-faq-topics a:hover { color: var(--w); }
.mm-faq-topics a span { color: var(--az-text); font-size: 11px; font-weight: 700; font-variant-numeric: tabular-nums; }
.mm-faq-contact { border: 1px solid var(--br2); border-radius: 8px; padding: clamp(20px, 2.4vw, 30px); background: var(--s1); }
.mm-faq-contact h3 { font-size: clamp(20px, 2vw, 25px); font-weight: 700; line-height: 1.25; letter-spacing: -.03em; margin-bottom: 14px; }
.mm-faq-contact p { color: var(--s7); font-size: 14px; line-height: 1.7; margin-bottom: 18px; }
.mm-faq-contact a { display: inline-flex; gap: 10px; align-items: center; min-height: 48px; color: var(--w); font-size: 14px; font-weight: 700; text-decoration: underline; text-underline-offset: 5px; }
.mm-faq-contact a svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.6; flex: 0 0 18px; }
.mm-faq-groups { min-width: 0; }
.mm-faq-group { scroll-margin-top: 0; margin-bottom: clamp(30px, 4vw, 50px); }
.mm-faq-group:last-child { margin-bottom: 0; }
.mm-faq-group-title { display: flex; align-items: baseline; gap: 16px; padding-bottom: 16px; border-bottom: 1px solid var(--br3); font-size: clamp(21px, 2.2vw, 29px); font-weight: 700; letter-spacing: -.03em; line-height: 1.25; }
.mm-faq-group-title span { flex: 0 0 auto; color: var(--az-text); font-size: 12px; font-weight: 600; letter-spacing: .04em; font-variant-numeric: tabular-nums; }
.mm-faq .faq-item { border-bottom-color: var(--br2); }
.mm-faq .faq-question { margin: 0; font: inherit; }
.mm-faq .faq-q { min-height: 70px; padding: 16px 0; gap: 20px; color: var(--w); font-size: 16px; line-height: 1.5; font-weight: 600; letter-spacing: -.015em; }
.mm-faq .faq-q > span:first-child { min-width: 0; }
.mm-faq-toggle { width: 34px; height: 34px; flex: 0 0 34px; border: 1px solid var(--br3); border-radius: 50%; display: grid; place-items: center; }
.mm-faq-toggle svg { display: block; width: 17px; height: 17px; fill: currentColor; transform-box: view-box; transform-origin: 50% 50%; transform: rotate(0deg); transition: transform .3s var(--ease); animation: none; }
.mm-faq .faq-item.open .mm-faq-toggle svg { transform: rotate(108deg); }
.mm-faq .faq-a, .mm-faq .faq-item.open .faq-a { max-height: none; overflow: visible; padding: 0 54px 23px 0; color: var(--s7); font-size: 15px; line-height: 1.8; transition: none; }
.mm-faq .faq-a p + p { margin-top: 12px; }
.mm-faq .faq-a ul { padding-left: 19px; margin-top: 10px; list-style: disc; }
.mm-faq .faq-a ul + p { margin-top: 14px; }
.mm-faq .faq-a li + li { margin-top: 4px; }
.mm-faq .faq-a strong { color: var(--w); font-weight: 600; }
@media (max-width: 800px) {
  .mm-faq-layout { grid-template-columns: minmax(0, 1fr); gap: 34px; }
  .mm-faq-guide { position: static; }
  .mm-faq-topics { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 20px; margin-bottom: 22px; }
  .mm-faq-contact { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 0 25px; align-items: center; }
  .mm-faq-contact h3 { font-size: 21px; }
  .mm-faq-contact p { margin-bottom: 0; }
  .mm-faq-contact a { grid-column: 2; grid-row: 1 / 3; }
}
@media (max-width: 520px) {
  .mm-faq-heading { margin-bottom: 26px; }
  .mm-faq-topics { gap: 0 16px; }
  .mm-faq-topics a { gap: 8px; font-size: 13px; }
  .mm-faq-contact { display: block; padding: 20px; }
  .mm-faq-contact h3 { font-size: 20px; }
  .mm-faq-contact p { margin-bottom: 10px; }
  .mm-faq .faq-q { min-height: 76px; gap: 13px; font-size: 15px; }
  .mm-faq .faq-a, .mm-faq .faq-item.open .faq-a { padding-right: 0; }
  .mm-faq-group-title { gap: 12px; font-size: 23px; }
}
@media (prefers-reduced-motion: reduce) {
  .mm-faq-toggle svg { transition: none; }
}


/* assets/selected-work-v13.css */
/* Respect every official cover. Cropped assets remove verified black padding only. */
.mm-work-pagination{width:calc(100% - 64px);max-width:1216px;margin:0 auto 28px}
@media(max-width:700px){.mm-work-pagination{width:calc(100% - 24px)}}
.mm-selection[data-selected-work] article[data-work-id] .mm-deferred-image {
  --work-frame-ratio: 16 / 9;
  display: grid;
  grid-template-rows: auto auto;
  height: auto;
  aspect-ratio: auto;
  overflow: hidden;
  background: var(--s2, #101010);
  border-radius: 8px 8px 0 0;
}
.mm-selection[data-selected-work] article[data-work-id] .mm-deferred-image > img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: var(--work-frame-ratio);
  object-fit: contain;
  object-position: 50% 50%;
  margin: 0;
  border-radius: 0;
  background: transparent;
  filter: none;
  transform: none !important;
  transition: none;
}
.mm-selection[data-selected-work] article[data-work-id] .mm-play-label {
  position: static;
  inset: auto;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 7px;
  width: 100%;
  min-height: 36px;
  box-sizing: border-box;
  padding: 8px 12px;
  border: 0;
  border-top: 1px solid var(--br3, #ffffff20);
  border-radius: 0;
  background: var(--s2, #101010);
  color: var(--w, #fff);
  font-size: 11px;
  line-height: 1.5;
}
/* Collage/lettering edges remain visible; controls cannot sit over the artwork. */
.mm-selection[data-selected-work] article[data-work-id="QWAVbZg3FwM"] .mm-deferred-image > img,
.mm-selection[data-selected-work] article[data-work-id="k2LTHS1cKoI"] .mm-deferred-image > img {
  object-position: 50% 50%;
  object-fit: contain;
}
/* VVS remains the complete official close-up, without any additional enlargement. */
.mm-selection[data-selected-work] article[data-work-id="IdPRIHTLdtQ"] .mm-deferred-image > img {
  object-position: 50% 50%;
  object-fit: contain;
  transform: none !important;
}
/* FINALLY WINNING's 16:9 content now fills the frame; horse and grass are intact. */
.mm-selection[data-selected-work] article[data-work-id="Wyf1hVgCUdM"] .mm-deferred-image > img {
  object-position: 50% 50%;
  object-fit: contain;
}
@media (max-width: 700px) {
  .mm-selection[data-selected-work] article[data-work-id] .mm-play-label {
    min-height: 36px;
    padding-inline: 12px;
  }
}


/* assets/diversity-v13.css */
/* Only the additional gallery strip and Instagram profile selection. */
main>section[id]{scroll-margin-top:96px}
.mm-diverse-strip,.mm-diverse-instagram{scroll-margin-top:96px}
.mm-diverse-strip .strip-header{gap:12px;align-items:center}
.mm-diverse-strip .strip-label{white-space:nowrap;flex:none}
.mm-diverse-strip .strip-hint{min-width:0;text-align:right}
.mm-diverse-instagram>.wrap{width:100%;padding-inline:0}
@media(max-width:700px){.port-sticky-bar{position:static}}
.mm-diverse-strip { --strip-h: clamp(170px,16vw,220px); }
.mm-diverse-strip .photo-strip-item {
  width: calc(var(--strip-h) * var(--strip-ratio));
  height: var(--strip-h);
  flex: 0 0 auto;
  aspect-ratio: var(--strip-ratio);
}
.mm-diverse-strip .photo-strip-item img {
  width: 100%; height: 100%; object-fit: contain;
  filter: none; transform: none; transition: none;
}
.mm-diverse-strip .photo-strip-item:hover img,
.mm-diverse-instagram .ig-item:hover .ig-item-bg { transform: none; }
.mm-diverse-strip .photo-strip-item::after { content: none; }
.mm-diverse-strip .photo-strip { animation-name: mm-diverse-strip-scroll; }
.mm-diverse-strip .strip-hint-touch { display:none; }
.mm-diverse-strip .photo-strip-wrap:focus-within { overflow-x: auto; }
.mm-diverse-strip .photo-strip-wrap:focus-within .photo-strip { animation: none; }
.mm-diverse-strip .photo-strip-item:focus-visible { outline: 3px solid var(--az,#0000ff); outline-offset: -3px; }
.mm-diverse-instagram .ig-item-bg,
[data-theme="light"] .mm-diverse-instagram .ig-item-bg { filter: none; }
.mm-diverse-instagram .ig-item-bg img { aspect-ratio: 1; object-fit: contain; filter: none; }
.mm-diverse-instagram .ig-item:focus-visible { outline: 3px solid var(--az,#0000ff); outline-offset: -3px; }
@keyframes mm-diverse-strip-scroll { to { transform: translateX(calc(-50% - 1.5px)); } }
@media (max-width:700px), (pointer:coarse) {
  .mm-diverse-strip { --strip-h:170px; }
  .mm-diverse-strip .strip-hint-desktop { display:none; }
  .mm-diverse-strip .strip-hint-touch { display:inline; }
  .mm-diverse-strip .photo-strip-wrap { overflow-x:auto; -webkit-overflow-scrolling:touch; }
  .mm-diverse-strip .photo-strip { animation:none; }
  .mm-diverse-strip [data-strip-clone] { display:none; }
}
@media (prefers-reduced-motion:reduce) {
  .mm-diverse-strip .photo-strip { animation:none; }
  .mm-diverse-strip .photo-strip-wrap { overflow-x:auto; }
  .mm-diverse-strip [data-strip-clone] { display:none; }
}


/* assets/interaction-rotation-v13.css */
/* A half-turn follows the existing disclosure state: 0deg closed, 180deg open.
   Closing reverses the half-turn. Interrupted clicks reverse from the visible
   angle instead of queuing rotations or accumulating 360deg/540deg targets. */
.proceso-step .mm-magic-toggle,
.mm-faq .mm-faq-toggle{
 display:grid!important;
 place-items:center;
 transform:none!important;
 animation:none!important;
 transition:none!important;
}
.proceso-step .mm-magic-toggle svg,
.mm-faq .mm-faq-toggle svg{
 display:block;
 transform-box:view-box;
 transform-origin:50% 50%;
 transform:rotate(0deg)!important;
 animation:none!important;
 transition:transform .32s cubic-bezier(.2,.7,.2,1)!important;
}
.proceso-step[aria-expanded="true"] .mm-magic-toggle svg,
.mm-faq .faq-q[aria-expanded="true"] .mm-faq-toggle svg{
 transform:rotate(180deg)!important;
}
@media(prefers-reduced-motion:reduce){
 .proceso-step .mm-magic-toggle svg,
 .mm-faq .mm-faq-toggle svg{transition:none!important}
}


/* assets/intro-v13.css */
/* Preserve the original symbol geometry, including blur beyond SVG bounds. */
.v41-intro .v37-lockup,.v41-intro .v37-lockup>svg{overflow:visible;clip-path:none;mask:none}


/* assets/video-viewer-v14.css */
/* A dark screening room; every MAGIC control stays outside the provider's picture. */
html #video-modal.mm-cinema{--cinema-line:#303033;--cinema-muted:#b8b8be;display:flex;position:fixed;inset:0;align-items:center;justify-content:center;padding:18px;background:#050506f7;color:#fff;z-index:10000;font-family:'Plus Jakarta Sans',sans-serif;opacity:0;pointer-events:none;transition:opacity .14s ease}
html #video-modal.mm-cinema.on{opacity:1;pointer-events:auto}
html #video-modal.mm-cinema[hidden]{display:none!important}
html #video-modal.mm-cinema .vm-bg{position:absolute;inset:0;background:transparent}
html #video-modal.mm-cinema .vm-box{position:relative;z-index:1;width:min(1320px,100%);max-height:calc(100svh - 36px);overflow:auto;overscroll-behavior:contain;padding:0 30px 22px;background:#0c0c0e;color:#fff;border:1px solid var(--cinema-line);border-radius:0;box-shadow:none;transform:translateY(6px);transition:transform .14s ease;scrollbar-width:thin;scrollbar-color:#555 #111}
html #video-modal.mm-cinema.on .vm-box{transform:none}
.mm-cinema-header{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:76px;border-bottom:1px solid var(--cinema-line);margin-bottom:24px}
.mm-cinema-brand{display:flex;align-items:center;gap:18px;font-size:15px;font-weight:800;letter-spacing:-.035em;line-height:1.2}
.mm-cinema-brand:before{content:'';width:7px;height:23px;background:#0000ff;flex-shrink:0}
.mm-cinema-brand .mm-cinema-room{padding-left:18px;border-left:1px solid var(--cinema-line);font-size:10px;line-height:1.5;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--cinema-muted)}
html #video-modal.mm-cinema .mm-cinema-close{position:static;display:flex;align-items:center;justify-content:center;gap:8px;flex-shrink:0;width:auto;min-width:44px;min-height:44px;padding:0 12px;border:1px solid #555;border-radius:0;background:transparent;color:#fff;font:600 12px 'Plus Jakarta Sans',sans-serif;cursor:pointer;line-height:1}
.mm-cinema-close svg,.mm-cinema-provider svg,.mm-cinema-arrows svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;flex-shrink:0}
.mm-cinema-stage{display:flex;align-items:center;justify-content:center;width:100%;min-width:0;background:#000}
html #video-modal.mm-cinema .vm-ratio{position:relative;padding:0;aspect-ratio:var(--mm-video-aspect,1.7777778);width:min(100%,calc((100svh - 440px)*var(--mm-video-aspect,1.7777778)));min-width:0;min-height:0;margin:0 auto}
html #video-modal.mm-cinema .vm-ratio iframe{display:block;position:absolute;inset:0;width:100%;height:100%;border:0;object-fit:contain;background:#000}
.mm-cinema-information{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:21px 0 9px}
.mm-cinema-caption{min-width:0}
.mm-cinema-kind{font-size:10px;line-height:1.4;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--cinema-muted);margin:0 0 8px}
#video-modal.mm-cinema #vm-title{font-size:clamp(22px,2.4vw,34px);font-weight:800;letter-spacing:-.04em;line-height:1.12;color:#fff;margin:0;text-wrap:balance}
.mm-cinema-artist{margin:8px 0 0;font-size:14px;line-height:1.5;color:#ccc;font-weight:500}
.mm-cinema-credits{margin:10px 0 0;max-width:700px;font-size:12px;line-height:1.5;color:#bbb}
.mm-cinema-provider{display:flex;align-items:flex-end;flex-direction:column;flex-shrink:0;gap:2px}
html #video-modal.mm-cinema #vm-direct{display:flex;align-items:center;gap:10px;min-height:44px;width:auto;margin:0;padding:0;background:transparent;border:0;color:#fff;font-size:12px;font-weight:600;text-decoration:none}
.mm-cinema-help-toggle{min-height:36px;padding:0;border:0;background:none;color:#bbb;font:400 11px 'Plus Jakarta Sans',sans-serif;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.mm-cinema-state{min-height:16px;margin:4px 0 12px;font-size:10px;line-height:1.5;color:var(--cinema-muted)}
.mm-cinema-navigation{border-top:1px solid var(--cinema-line);padding-top:10px}
.mm-cinema-nav-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
#vm-position{margin:0;color:#b8b8be;font-size:10px;letter-spacing:.09em;text-transform:uppercase;line-height:1.4}
.mm-cinema-arrows{display:flex;gap:6px}
.mm-cinema-arrows button{display:grid;place-items:center;min-width:44px;min-height:44px;background:transparent;border:1px solid #3c3c40;border-radius:0;color:#fff;cursor:pointer}
#vm-prev svg{transform:rotate(180deg)}
.mm-cinema-list{display:flex;gap:10px;overflow-x:auto;overscroll-behavior-inline:contain;padding:8px 2px 4px;scrollbar-width:thin;scrollbar-color:#555 #111}
.mm-cinema-item{display:flex;align-items:center;gap:10px;flex:0 0 180px;min-height:55px;padding:5px;background:#151517;color:#b8b8be;border:1px solid #333;border-radius:0;font:500 10px/1.45 'Plus Jakarta Sans',sans-serif;text-align:left;cursor:pointer}
.mm-cinema-item img{width:auto;height:auto;max-width:80px;max-height:44px;flex:0 1 auto;object-fit:contain;background:#000}
.mm-cinema-item span{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.mm-cinema-item[aria-current=true]{color:#fff;border-color:#fff;box-shadow:inset 3px 0 #0000ff}
.mm-cinema-item:hover,.mm-cinema-arrows button:hover,html #video-modal.mm-cinema .mm-cinema-close:hover{background:#27272b;color:#fff}
.mm-cinema button:focus-visible,.mm-cinema a:focus-visible,.mm-cinema iframe:focus-visible{outline:2px solid #fff;outline-offset:4px}
.mm-cinema-consent{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;width:100%;min-height:270px;background:#101013;border:1px solid #2b2b30}
.mm-cinema-poster{display:block;width:100%;height:100%;max-height:400px;object-fit:contain;background:#000}
.mm-cinema-consent-copy{padding:32px;max-width:490px}
.mm-cinema-consent-copy h3{font-size:clamp(22px,2.6vw,34px);font-weight:800;line-height:1.12;letter-spacing:-.045em;color:#fff;margin:0 0 16px}
.mm-cinema-consent-copy>p:not(.mm-cinema-kind){font-size:12px;line-height:1.7;color:#bbb;margin:0 0 18px}
.mm-cinema-consent-copy button{min-height:46px;border:0;border-radius:0;background:#0000ff;color:#fff;padding:12px 18px;font:600 12px 'Plus Jakarta Sans',sans-serif;cursor:pointer}
.mm-cinema-consent-copy .mm-cinema-privacy{margin:16px 0 0!important;font-size:10px!important}
.mm-cinema-privacy a{display:inline-flex;align-items:center;min-height:32px;color:#ccc;text-underline-offset:3px}
.mm-cinema-help{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 18px;margin:4px 0 12px;border:1px solid #444;background:#17171b}
.mm-cinema-help p{margin:0;color:#ccc;font-size:12px;line-height:1.6;max-width:800px}
.mm-cinema-help button{flex-shrink:0;min-height:44px;border:1px solid #888;border-radius:0;padding:8px 14px;color:#fff;background:none;font:600 11px 'Plus Jakarta Sans',sans-serif;cursor:pointer}
.mm-cinema [hidden]{display:none!important}
@media(max-width:700px){
 html #video-modal.mm-cinema{padding:0}
 html #video-modal.mm-cinema .vm-box{width:100%;max-height:100svh;height:100svh;padding:0 max(16px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));border:0}
 .mm-cinema-header{position:sticky;top:0;z-index:2;background:#0c0c0e;min-height:calc(66px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top);margin-bottom:16px}
 .mm-cinema-brand{font-size:13px;gap:10px}.mm-cinema-brand .mm-cinema-room{display:none}
 .mm-cinema-close span{display:none}
 html #video-modal.mm-cinema .mm-cinema-close{padding:0;width:44px}
 html #video-modal.mm-cinema .vm-ratio{width:min(100%,calc((100svh - 250px)*var(--mm-video-aspect,1.7777778)))}
 .mm-cinema-information{display:block;padding-top:20px}
 .mm-cinema-kind{font-size:9px}.mm-cinema-artist{font-size:13px}
 .mm-cinema-provider{flex-direction:row;align-items:center;justify-content:space-between;gap:14px;margin-top:10px}
 html #video-modal.mm-cinema #vm-direct{font-size:11px}.mm-cinema-help-toggle{min-height:44px;font-size:10px}
 .mm-cinema-state{margin:0 0 12px;font-size:10px}.mm-cinema-navigation{padding-top:10px}
 .mm-cinema-item{flex-basis:165px}.mm-cinema-help{display:block;padding:14px}.mm-cinema-help button{margin-top:12px}
 .mm-cinema-consent{display:block;min-height:0}.mm-cinema-poster{max-height:220px;aspect-ratio:16/9;width:100%;height:auto}
 .mm-cinema-consent-copy{padding:22px}.mm-cinema-consent-copy h3{font-size:25px}.mm-cinema-consent-copy>p:not(.mm-cinema-kind){font-size:11px;margin-bottom:14px}
 .mm-cinema-privacy a{min-height:44px}.mm-cinema-consent-copy .mm-cinema-privacy{margin-top:8px!important}
}
@media(max-height:540px) and (orientation:landscape){
 html #video-modal.mm-cinema{padding:0}html #video-modal.mm-cinema .vm-box{max-height:100svh;height:100svh;padding:0 max(20px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));border:0}
 .mm-cinema-header{position:sticky;top:0;background:#0c0c0e;z-index:2;min-height:58px;margin-bottom:12px}
 html #video-modal.mm-cinema .vm-ratio{width:min(100%,calc((100svh - 90px)*var(--mm-video-aspect,1.7777778)))}
 .mm-cinema-consent{display:grid;grid-template-columns:1fr 1fr}.mm-cinema-poster{max-height:260px}.mm-cinema-consent-copy{padding:20px}.mm-cinema-consent-copy h3{font-size:23px}
}
@media(prefers-reduced-motion:reduce){html #video-modal.mm-cinema,html #video-modal.mm-cinema .vm-box{transition:none;transform:none}}
/* Confirmed external-only playback: preserve the work and provide its real destination. */
.mm-cinema-external-link{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 20px;background:#0000ff;color:#fff!important;text-decoration:none;font-weight:600;border:1px solid #fff}
.mm-cinema-external-link:focus-visible{outline:3px solid #fff;outline-offset:4px}


/* assets/hero-composition-v14.css */
/* A dedicated photographic plane preserves the whole frame, in either orientation. */
.mm-cover.mm-cover-v13{min-height:clamp(700px,88svh,920px);background:#080808!important}
.mm-cover-v13 .v37-content{width:44%;min-height:inherit;padding:145px 0 145px 5.55%;justify-content:center}
.mm-cover-v13 h1{font-size:clamp(48px,4.25vw,82px)!important;line-height:1.06!important;letter-spacing:-.05em!important;max-width:10ch}
.mm-cover-v13 .v37-eyebrow{font-size:11px;line-height:1.5;margin-bottom:23px}
.mm-cover-v13 .v37-bottom{margin-top:24px}
.mm-cover-v13 .v37-bottom p{font-size:14px;line-height:1.6;max-width:28ch;margin-bottom:24px}
.mm-cover-v13 .v37-image{inset:118px 5.55% 145px 46%;width:auto;height:auto;min-height:0;overflow:visible}
.mm-cover-v13 .v37-image::after{display:none}
.mm-cover-v13 .v40-stage,.mm-cover-v13 .v40-layer{inset:0;width:100%;height:100%;overflow:hidden;background:transparent}
.mm-cover.mm-cover-v13 .v40-layer img,.mm-cover.mm-cover-v13 .v40-layer[data-photo] img{width:100%;height:100%;margin:0;object-fit:contain;object-position:50% 50%;mask-image:none;filter:none}
.mm-cover-v13 .v37-image-credit{right:0;bottom:-37px;top:auto;left:auto;max-width:100%;padding:0;background:transparent;color:#ccc;text-align:right;display:flex;gap:12px;font-size:10px;line-height:1.5}
.mm-cover-v13 .v37-image-credit span:first-child{color:#fff;font-weight:600}
.mm-cover-v13 .mm-cover-tools{bottom:25px;border-top-color:#555}
.mm-cover-v13 .mm-frame-panel{border-color:#777}
.mm-cover-v13 .mm-frame-trigger,.mm-cover-v13 .v40-pause,.mm-cover-v13 .mm-frame-close{border-color:#777}
.mm-cover-v13 .mm-frame-trigger>.mm-icon{color:#fff}
@media(min-width:701px) and (max-width:1000px){
 .mm-cover.mm-cover-v13{min-height:900px}
 .mm-cover-v13 .v37-image{inset:110px 32px auto;height:400px}
 .mm-cover-v13 .v37-content{width:100%;padding:560px 32px 130px;justify-content:flex-end}
 .mm-cover-v13 h1{font-size:54px!important;max-width:100%}
 .mm-cover-v13 h1 span{display:inline}
 .mm-cover-v13 h1 span+span:before{content:' '}
 .mm-cover-v13 .v37-eyebrow{margin-bottom:14px}
 .mm-cover-v13 .v37-bottom{margin-top:15px}
 .mm-cover-v13 .v37-bottom p{max-width:none;margin-bottom:15px}
}
@media(max-width:700px){
 .mm-cover.mm-cover-v13{min-height:790px}
 .mm-cover-v13 .v37-image{inset:91px 20px auto;height:300px}
 .mm-cover-v13 .v37-content{width:100%;min-height:790px;padding:447px 20px 118px;justify-content:flex-end}
 .mm-cover-v13 h1{font-size:clamp(34px,9.6vw,43px)!important;line-height:1.03!important;max-width:12ch}
 .mm-cover-v13 .v37-eyebrow{font-size:10px;margin-bottom:14px}
 .mm-cover-v13 .v37-bottom{margin-top:15px}
 .mm-cover-v13 .v37-bottom p{font-size:12px;max-width:none;margin-bottom:15px}
 .mm-cover-v13 .v37-image-credit{top:auto;bottom:-36px;left:0;right:0;max-width:100%;justify-content:space-between;font-size:9px;background:none;padding:0;text-align:left}
 .mm-cover-v13 .v37-image-credit span{max-width:65%}
 .mm-cover-v13 .v37-image-credit span:last-child{text-align:right;max-width:33%}
 .mm-cover-v13 .mm-cover-tools{bottom:17px}
}
@media(max-width:360px){
 .mm-cover-v13 .v37-image{left:18px;right:18px;height:280px}
 .mm-cover-v13 .v37-content{padding:425px 18px 118px;min-height:780px}
 .mm-cover.mm-cover-v13{min-height:780px}
 .mm-cover-v13 h1{font-size:34px!important}
}
@media(max-height:500px) and (min-width:701px){
 .mm-cover.mm-cover-v13{min-height:600px}
 .mm-cover-v13 .v37-image{inset:108px 32px 150px 49%;height:auto}
 .mm-cover-v13 .v37-content{width:46%;padding:130px 0 130px 32px;min-height:600px;justify-content:center}
 .mm-cover-v13 h1{font-size:40px!important}
 .mm-cover-v13 h1 span{display:block}
 .mm-cover-v13 h1 span+span:before{content:none}
}


/* assets/contrast-v14.css */
/* Theme-aware controls; photographic and cinema surfaces keep their own dark palette. */
html .nav .theme-btn,html.mm-on-cover .nav .theme-btn{color:var(--w)!important;border:1px solid var(--s5)!important;background:var(--b)!important;width:44px;height:44px}
html .nav .theme-btn:hover{color:var(--w)!important;background:var(--s2)!important;border-color:var(--w)!important}
html .nav .theme-btn svg{width:19px;height:19px;stroke-width:1.8}
html .nav .theme-btn:focus-visible{outline:3px solid var(--w);outline-offset:4px}
html[data-theme='light'] .nav .theme-btn,html[data-theme='light'].mm-on-cover .nav .theme-btn{color:#141414!important;background:#f2f0ec!important;border-color:#696969!important}
html[data-theme='light'] .nav .theme-btn:hover{background:#ddd!important;border-color:#141414!important}
html[data-theme='light'] .nav .ham span{background:#141414!important}
:root{--az-text:#fff;--em-color:#aaa;--s5:#999;--br-control:#888}
:root[data-theme='light']{--az-text:#0000cc;--em-color:#555;--s5:#555;--br-control:#777}
:where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--w);outline-offset:4px}
html[data-theme='light'] :where(a,button,input,select,textarea,summary):focus-visible{outline-color:#0000ff}
.mm-cover :where(a,button):focus-visible,.mm-cinema :where(a,button):focus-visible{outline-color:#fff!important}
.filter-btn,.pf-btn,.suite-tab{border-color:var(--br-control)}
.mm-faq-toggle,.mm-magic-toggle{border-color:var(--br-control)}
.mm-cover .mm-frame-grid button{border-color:#777}
.mm-cover .mm-frame-grid button[aria-pressed='true']{outline:2px solid #fff;outline-offset:2px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.theme-btn.spin svg{animation:none!important}}
html .nav,html.mm-on-cover .nav,html .nav.scrolled{background:#101010!important;color:#fff!important;border-color:#555!important}
html[data-theme='light'] .nav,html[data-theme='light'].mm-on-cover .nav,html[data-theme='light'] .nav.scrolled{background:#f2f0ec!important;color:#141414!important;border-color:#777!important}
html .nav .nav-logo-text,html.mm-on-cover .nav .nav-logo-text,html .nav a:not(.nav-cta),html.mm-on-cover .nav a:not(.nav-cta){color:var(--w)!important}
.session-ep{background:#141414!important;color:#fff!important}


/* assets/thumbs-v14.css */
/* Each thumbnail owns its frame ratio. The video player is intentionally untouched. */
.mm-selection[data-selected-work] article[data-work-id]{align-self:start}
.mm-selection[data-selected-work] article[data-work-id] .mm-deferred-image{height:auto;aspect-ratio:auto;background:transparent}
.mm-selection[data-selected-work] article[data-work-id] .mm-deferred-image>img{
  display:block;width:100%;height:auto;aspect-ratio:var(--mm-thumb-ratio,16 / 9);object-fit:contain;object-position:center;
  background:transparent;filter:none;transform:none!important;
}
.mm-release-video .mm-release-poster,
.session-card .session-thumb:has(img){display:block;height:auto;aspect-ratio:auto;background:transparent}
.session-card .session-thumb:has(img) .session-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)!important}
.mm-release-video .mm-release-poster picture,
.session-card .session-thumb picture{display:block;width:100%;height:auto;aspect-ratio:auto}
.mm-release-video .mm-release-poster img,
.session-card .session-thumb img.session-thumb-img{
  position:static;display:block;width:100%;height:auto;max-height:none;aspect-ratio:var(--mm-thumb-ratio,16 / 9);
  object-fit:contain;object-position:center;background:transparent;filter:none;transform:none!important;
}
.mm-catalog .mm-catalog-video .mm-deferred-image>img{aspect-ratio:var(--mm-thumb-ratio,16 / 9)}
/* The explicit ratio is stamped from file bytes and survives cold lazy loading. */
.mm-release-new-grid,.mm-release-featured,.sessions-grid{align-items:start}


/* assets/service-request-v14.css */
/* Service scope and local enquiry: follows the site's dark/light palette. */
.mm-service-request{--sr-bg:#101010;--sr-field:#181818;--sr-text:#fff;--sr-muted:#c4c4c4;--sr-line:#3d3d3d}
[data-theme="light"] .mm-service-request{--sr-bg:#fff;--sr-field:#f4f4f4;--sr-text:#111;--sr-muted:#505050;--sr-line:#b8b8b8}
#svc-modal.mm-service-request{align-items:center;padding:16px;box-sizing:border-box}
.mm-service-request .svc-modal-inner{padding:0;width:min(100%,940px);max-height:calc(100dvh - 32px);background:var(--sr-bg);color:var(--sr-text);border:1px solid var(--sr-line);border-radius:14px;overscroll-behavior:contain;scrollbar-gutter:stable;animation:sr-enter .2s ease-out both}
.mm-request-header{display:flex;gap:24px;justify-content:space-between;align-items:flex-start;padding:28px 32px 20px;border-bottom:1px solid var(--sr-line);background:var(--sr-bg);position:sticky;top:0;z-index:2}
.mm-request-eyebrow{font-size:10px;font-weight:700;letter-spacing:.14em;color:var(--sr-muted);margin:0 0 10px}
.mm-request-header h2{font-size:clamp(25px,3.2vw,38px);font-weight:800;letter-spacing:-.04em;line-height:1.15;margin:0;color:var(--sr-text)}
.mm-request-header h2:focus{outline:none}
.mm-request-close{width:44px;height:44px;flex:0 0 44px;display:grid;place-items:center;color:var(--sr-text);border:1px solid var(--sr-line);border-radius:50%;background:var(--sr-bg);cursor:pointer}
.mm-request-close svg,.mm-request-actions svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;flex-shrink:0}
.mm-request-body{padding:24px 32px 32px}
.mm-request-lead{font-size:16px;line-height:1.65;color:var(--sr-muted);max-width:68ch;margin:0 0 24px}
.mm-request-scope{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin:0 0 28px}
.mm-request-scope p,.mm-request-scope li{font-size:14px;line-height:1.75;color:var(--sr-muted)}
.mm-request-scope h3{font-size:12px;text-transform:uppercase;letter-spacing:.1em;margin:0 0 14px;color:var(--sr-text)}
.mm-request-scope ul{padding-left:18px;margin:0;display:grid;gap:8px}
.mm-request-scope dl{margin:20px 0 0}.mm-request-scope dl>div{padding:12px 0;border-bottom:1px solid var(--sr-line);display:grid;gap:5px}
.mm-request-scope dt{font-size:11px;color:var(--sr-muted)}.mm-request-scope dd{font-size:13px;color:var(--sr-text);margin:0}
.mm-request-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:24px}
.mm-request-actions .btn{font-size:13px;line-height:1.35;min-height:48px;padding:13px 18px;gap:12px;border-radius:4px;white-space:normal;text-align:center;justify-content:center}
.mm-service-request .btn-pri{color:#fff;background:#0000ff;border:1px solid #0000ff}
.mm-service-request .btn-sec{color:var(--sr-text);background:transparent;border:1px solid var(--sr-line)}
.mm-request-note,.mm-request-status{font-size:12px;line-height:1.7;color:var(--sr-muted);margin:18px 0 0;max-width:72ch}
.mm-request-switch{display:inline-flex;border:1px solid var(--sr-line);padding:4px;border-radius:6px;gap:4px;margin:0 0 24px}
.mm-request-switch button{min-height:44px;padding:9px 18px;border:0;border-radius:3px;background:transparent;color:var(--sr-muted);font:600 13px var(--font,'Plus Jakarta Sans',sans-serif);cursor:pointer}
.mm-request-switch button[aria-pressed="true"]{background:#0000ff;color:#fff}
.mm-request-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px 22px}
.mm-request-field--wide{grid-column:1/-1}
.mm-request-field label,.mm-request-summary-label{display:block;font-size:13px;line-height:1.5;font-weight:700;color:var(--sr-text);margin-bottom:8px}
.mm-request-optional{font-size:10px;font-weight:400;margin-left:5px;color:var(--sr-muted)}
.mm-request-field input,.mm-request-field textarea,.mm-request-field select,#mm-request-summary{box-sizing:border-box;width:100%;min-height:48px;border:1px solid var(--sr-line);border-radius:5px;background:var(--sr-field);color:var(--sr-text);padding:12px 13px;font:400 16px/1.6 'Plus Jakarta Sans',sans-serif;box-shadow:none}
.mm-request-field textarea,#mm-request-summary{resize:vertical;min-height:130px}
.mm-request-field input::placeholder,.mm-request-field textarea::placeholder{color:var(--sr-muted);opacity:.85}
.mm-request-field input[aria-invalid="true"],.mm-request-field textarea[aria-invalid="true"],.mm-request-field select[aria-invalid="true"]{border:2px solid var(--sr-text)}
.mm-request-field [hidden],.mm-request-validation[hidden]{display:none!important}
.mm-request-hint,.mm-request-error{font-size:11px;line-height:1.55;margin:6px 0 0;color:var(--sr-muted)}
.mm-request-error{color:var(--sr-text);font-weight:700}.mm-request-hint:empty{display:none}
.mm-request-validation{font-size:13px;line-height:1.6;padding:12px 16px;border-left:3px solid #0000ff;background:var(--sr-field);color:var(--sr-text);margin:0 0 22px}
.mm-request-text-button,.mm-request-text-link{display:inline-flex;gap:8px;align-items:center;min-height:44px;padding:10px 4px;background:none;border:0;font:600 12px/1.5 'Plus Jakarta Sans',sans-serif;color:var(--sr-text);text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.mm-request-secondary{display:flex;gap:24px;flex-wrap:wrap;margin-top:18px}
#mm-request-summary{font-size:14px;min-height:300px;line-height:1.8}
.mm-service-request button:focus-visible,.mm-service-request a:focus-visible,.mm-service-request input:focus-visible,.mm-service-request select:focus-visible,.mm-service-request textarea:focus-visible,.mm-service-callout a:focus-visible,.mm-service-callout button:focus-visible,.mm-request-card-button:focus-visible{outline:3px solid #6060ff;outline-offset:3px}
.mm-request-card-button{display:inline-flex;width:fit-content;min-height:44px;margin:8px 0 0;padding:10px 0;border:0;background:transparent;color:var(--w,#fff);font:600 12px 'Plus Jakarta Sans',sans-serif;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.mm-service-callout{display:flex;justify-content:space-between;align-items:center;gap:32px;margin-top:38px;padding:28px;border:1px solid var(--br3,#3d3d3d);border-left:3px solid #0000ff;background:var(--s1,#111)}
.mm-service-callout h3{font-size:22px;letter-spacing:-.03em;line-height:1.25;margin:0 0 10px;color:var(--w,#fff)}
.mm-service-callout p{font-size:13px;line-height:1.7;margin:0;color:var(--g2,#bbb);max-width:560px}
[data-theme="light"] .mm-service-callout p{color:#505050}
.mm-service-callout-actions{display:flex;gap:10px;flex-wrap:wrap;flex-shrink:0;max-width:360px;justify-content:flex-end}
.mm-service-callout .btn{min-height:48px;font-size:12px;text-align:center;white-space:normal;justify-content:center}
.mm-service-callout [hidden]{display:none!important}
@keyframes sr-enter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:700px){#svc-modal.mm-service-request{padding:8px;align-items:flex-end}.mm-service-request .svc-modal-inner{max-height:calc(100dvh - 16px);border-radius:12px;scrollbar-gutter:auto}.mm-request-header{gap:16px;padding:20px 18px 16px}.mm-request-header h2{font-size:26px}.mm-request-body{padding:20px 18px max(24px,env(safe-area-inset-bottom))}.mm-request-scope,.mm-request-fields{grid-template-columns:1fr;gap:18px}.mm-request-scope{gap:28px}.mm-request-lead{font-size:14px;margin-bottom:20px}.mm-request-actions{align-items:stretch}.mm-request-actions .btn{width:100%}.mm-request-switch{display:flex}.mm-request-switch button{flex:1}.mm-service-callout{display:block;padding:22px 18px}.mm-service-callout-actions{justify-content:flex-start;margin-top:20px;max-width:none}.mm-service-callout-actions .btn{width:100%}#mm-request-summary{min-height:280px}.mm-request-eyebrow{font-size:9px;letter-spacing:.1em}}
@media(prefers-reduced-motion:reduce){#svc-modal.mm-service-request,.mm-service-request .svc-modal-inner{animation:none!important;transition:none!important}}


/* assets/catalogue-v14.css */
/* Scoped catalogue: stable controls, complete frames, independent collections. */
#portfolio-catalog[data-catalogue-version="14"] {scroll-margin-top: 12px; overflow-anchor: none;}
#portfolio-catalog[open] > .mm-catalog-entry {grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"copy action";gap:20px;padding:22px 24px;margin-bottom:0;border-radius:12px 12px 0 0;border-bottom:0;}
#portfolio-catalog[open] .mm-catalog-entry-frames,
#portfolio-catalog[open] .mm-catalog-entry-note,
#portfolio-catalog[open] .mm-catalog-entry-eyebrow {display:none;}
#portfolio-catalog[open] .mm-catalog-entry-copy {align-self:center;}
#portfolio-catalog[open] .mm-catalog-entry-title {font-size:clamp(22px,2.2vw,30px);max-width:none;}
#portfolio-catalog[open] .mm-catalog-entry-action {align-self:center;gap:20px;min-height:44px;font-size:12px;background:transparent;color:var(--w);}
.mm-cat-content {border:1px solid var(--br3);border-top:0;border-radius:0 0 12px 12px;padding:0 24px 24px;background:var(--s1);}
.mm-cat-toolbar {padding:4px 0 24px;}
.mm-cat-filters {display:flex;gap:8px;flex-wrap:wrap;}
.mm-cat-filter,.mm-cat-paging button,.mm-cat-footer button {font:600 12px/1.4 'Plus Jakarta Sans',sans-serif;min-height:44px;border:1px solid var(--br-control,#777);padding:10px 16px;color:var(--w);background:transparent;border-radius:6px;cursor:pointer;touch-action:manipulation;}
.mm-cat-filter {transition:none;}
.mm-cat-filter[aria-pressed="true"] {background:#0000ff;border-color:var(--w);color:#fff;}
.mm-cat-filter:hover:not([aria-pressed="true"]),.mm-cat-paging button:hover,.mm-cat-footer button:hover {background:var(--s2);}
.mm-cat-status {font-size:12px;line-height:1.6;color:var(--s6);margin:14px 0 0;min-height:20px;}
.mm-cat-group {max-width:none;padding:0;margin:0 0 36px;}
.mm-cat-group-heading {display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:18px 0;margin-bottom:2px;border-top:1px solid var(--br3);}
.mm-cat-group-heading h3 {font-size:20px;line-height:1.3;letter-spacing:-.025em;margin:0;}
.mm-cat-group-heading>span {font-size:11px;color:var(--s6);white-space:nowrap;}
#portfolio-catalog[data-catalogue-ready="true"]:not([data-catalogue-active="all"]) .mm-cat-group-heading {display:none;}
#portfolio-catalog:not([data-catalogue-ready]) .mm-cat-filters,
#portfolio-catalog:not([data-catalogue-ready]) [data-catalogue-close] {display:none;}
.mm-cat-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 16px;align-items:start;}
.mm-cat-card {min-width:0;margin:0;}
.mm-cat-card>a {display:block;text-decoration:none;color:var(--w);height:auto;}
.mm-cat-card .mm-deferred-image,.mm-cat-production-image {display:block;position:relative;aspect-ratio:auto;height:auto;background:var(--b);overflow:hidden;border-radius:4px;}
.mm-cat-card img {display:block;width:100%;height:auto;object-fit:contain;filter:none;transform:none!important;}
.mm-cat-card .mm-deferred-image>img {aspect-ratio:var(--mm-thumb-ratio,16 / 9);}
.mm-cat-card .mm-play-label {display:flex;position:static;justify-content:flex-end;align-items:center;gap:8px;padding:8px 10px;font-size:11px;line-height:1.5;min-height:34px;color:var(--w);background:var(--s2);}
.mm-cat-card .mm-play-label svg {width:14px;height:14px;fill:currentColor;}
.mm-cat-card h3 {font-size:14px;line-height:1.45;letter-spacing:-.015em;font-weight:700;margin:12px 0 4px;}
.mm-cat-card p {font-size:12px;line-height:1.6;color:var(--s6);margin:0;}
.mm-cat-grid--foto {display:block;}
.mm-cat-photo-batch {columns:4;column-gap:12px;}
.mm-cat-grid--foto .mm-catalog-photo {display:block;position:relative;break-inside:avoid;width:100%;height:auto;aspect-ratio:auto;margin:0 0 12px;padding:0;border:0;border-radius:0;background:transparent;cursor:zoom-in;overflow:hidden;}
.mm-cat-grid--foto .mm-catalog-photo img {display:block;width:100%;height:auto;aspect-ratio:var(--photo-ratio);object-fit:contain;filter:none;transform:none;opacity:1;}
.mm-cat-grid--foto .mm-catalog-photo::after {content:none;}
.mm-cat-grid--produccion {grid-template-columns:repeat(2,minmax(0,1fr));}
.mm-cat-card .mm-catalog-production {position:relative;width:auto;aspect-ratio:auto;cursor:zoom-in;overflow:visible;background:transparent;}
.mm-cat-card .mm-catalog-production::after {content:none;}
.mm-cat-card .mm-catalog-production img {aspect-ratio:auto;}
.mm-cat-paging {display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding-top:20px;}
.mm-cat-paging>p {font-size:12px;line-height:1.5;color:var(--s6);margin:0;}
.mm-cat-paging>div {display:flex;gap:8px;}
.mm-cat-footer {display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--br3);padding-top:20px;}
.mm-cat-footer>a {font-size:12px;line-height:1.6;color:var(--w);text-underline-offset:4px;min-height:44px;display:inline-flex;align-items:center;gap:10px;}
.mm-cat-footer button {display:inline-flex;align-items:center;justify-content:center;gap:10px;}
.mm-cat-footer svg {width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;flex:none;}
#portfolio-catalog [hidden] {display:none!important;}
#portfolio-catalog :is(button,a):focus-visible {outline:3px solid var(--az-text,#0000ff);outline-offset:4px;}
.mm-diverse-strip {margin-top:56px;}
@media(max-width:900px) {
 .mm-cat-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
 .mm-cat-photo-batch {columns:3;}
}
@media(max-width:700px) {
 #portfolio-catalog[data-catalogue-version="14"] {margin-inline:12px;scroll-margin-top:12px;}
 #portfolio-catalog[open]>.mm-catalog-entry {grid-template-columns:1fr;grid-template-areas:"copy" "action";gap:12px;padding:18px 16px;}
 #portfolio-catalog[open] .mm-catalog-entry-title {font-size:26px;}
 #portfolio-catalog[open] .mm-catalog-entry-action {justify-self:start;min-height:44px;padding:0 12px;}
 .mm-cat-content {padding:0 16px 20px;}
 .mm-cat-filters {display:grid;grid-template-columns:1fr 1fr;gap:6px;}
 .mm-cat-filter {font-size:12px;padding:10px 8px;}
 .mm-cat-toolbar {padding-bottom:18px;}
 .mm-cat-status {font-size:11px;min-height:36px;}
 .mm-cat-grid {grid-template-columns:1fr;gap:24px;}
 .mm-cat-photo-batch {columns:2;column-gap:8px;}
 .mm-cat-grid--foto .mm-catalog-photo {margin-bottom:8px;}
 .mm-cat-group-heading {padding-top:16px;}
 .mm-cat-group-heading h3 {font-size:19px;}
 .mm-cat-paging {align-items:flex-start;gap:10px;}
 .mm-cat-paging>div {width:100%;flex-wrap:wrap;}
 .mm-cat-footer {align-items:flex-start;flex-direction:column;gap:12px;}
 .mm-cat-footer>button {width:100%;}
 .mm-diverse-strip {margin-top:36px;}
}
@media(prefers-reduced-motion:reduce) {.mm-cat-filter{transition:none;}}


/* assets/social-v14.css */
.mm-diverse-instagram .ig-grid{align-items:start;gap:8px}
.mm-diverse-instagram .ig-item{aspect-ratio:auto;background:transparent}
.mm-diverse-instagram .ig-item-bg{aspect-ratio:var(--social-ratio);height:auto;filter:none}
.mm-diverse-instagram .ig-item-bg img{aspect-ratio:var(--social-ratio);object-fit:contain;filter:none;transform:none}
.mm-diverse-instagram .ig-item:focus-visible{outline:3px solid var(--az-text,#0000ff);outline-offset:3px}
@media(prefers-reduced-motion:reduce){.mm-diverse-instagram .ig-overlay{transition:none}}


/* assets/reel-v15.css */
.mm-reel{display:block!important;position:relative!important;min-height:0!important;height:auto!important;padding:100px 0 0!important;background:#000!important;color:#fff!important;overflow:visible!important;isolation:isolate}
.mm-reel-stage{position:relative;width:min(100%,calc((100svh - 218px)*1.777778));min-width:200px;aspect-ratio:16/9;min-height:200px;margin:auto;background:#000}
.mm-reel-poster,.mm-reel-stage iframe,#mm-reel-mount{position:absolute;inset:0;width:100%;height:100%;border:0}
.mm-reel-poster img{display:block;width:100%;height:100%;object-fit:contain}.mm-reel-start{position:absolute;inset:0;display:grid;place-items:center;background:#0003}.mm-reel-start button{background:#0000ff;color:#fff;border:1px solid #fff4;border-radius:3px;padding:16px 24px;font:600 14px 'Plus Jakarta Sans',sans-serif;min-height:48px;cursor:pointer}
.mm-reel-bar{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:18px 32px 10px;max-width:1600px;margin:auto}.mm-reel-credit{display:grid;gap:5px}.mm-reel-credit span{font-size:10px;letter-spacing:.16em;color:#d3d3d3}.mm-reel-credit b{font-size:13px;font-weight:500}.mm-reel-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.mm-reel-actions button,.mm-reel-actions a{position:static!important;transform:none!important;font:500 12px 'Plus Jakarta Sans',sans-serif;color:#fff;background:transparent;border:1px solid #777;border-radius:3px;padding:10px 12px;min-height:44px;cursor:pointer;text-decoration:none;opacity:1!important}.mm-reel-actions .v37-replay{display:inline-block;width:auto;height:auto}
.mm-reel button:focus-visible,.mm-reel a:focus-visible{outline:3px solid #fff;outline-offset:4px}.mm-reel button:hover,.mm-reel-actions a:hover{background:#0000ff}.mm-reel-notice,.mm-reel-status{font-size:11px;line-height:1.6;color:#ddd;padding:0 32px 8px;max-width:1600px;margin:0 auto;min-height:25px}.mm-reel-notice a{color:#fff;text-decoration:underline}.mm-reel-status:empty{display:none}.mm-reel [hidden]{display:none!important}
.mm-reel-about{padding:64px 0;background:var(--bg,#fff);color:var(--text,#111)}.mm-reel-about>.wrap{display:grid;grid-template-columns:1.2fr 1fr;gap:64px;align-items:center}.mm-reel-kicker{font-size:12px;margin-bottom:16px}.mm-reel-about h1{font-size:clamp(32px,3.5vw,64px);line-height:1.1;letter-spacing:-.045em;font-weight:700;margin:0}.mm-reel-about-copy>p{font-size:16px;line-height:1.75;max-width:540px}.mm-reel-about-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:24px}.mm-reel-about-actions>a:last-child{color:inherit;font-size:13px;text-decoration:underline;padding:12px}
@media(max-width:700px){.mm-reel{padding-top:86px!important}.mm-reel-stage{width:100%;min-height:200px}.mm-reel-bar{padding:16px;align-items:flex-start;flex-direction:column;gap:12px}.mm-reel-actions{gap:6px}.mm-reel-actions button,.mm-reel-actions a{font-size:11px;padding:9px}.mm-reel-notice,.mm-reel-status{padding:0 16px 12px}.mm-reel-about{padding:36px 0 44px}.mm-reel-about>.wrap{grid-template-columns:1fr;gap:22px}.mm-reel-about h1{font-size:36px}.mm-reel-about-copy>p{font-size:15px}.mm-reel-about-actions{gap:10px}.mm-reel-start button{font-size:12px;padding:12px 18px}}

.mm-reel-about .btn-sec{color:#111!important;border-color:#111!important;background:transparent!important}.mm-reel-about .btn-sec:hover{color:#fff!important;background:#111!important}.mm-reel-about button:focus-visible,.mm-reel-about a:focus-visible{outline:3px solid #0000ff;outline-offset:4px}


/* assets/live-sets-v151.css */
/* Shared frame for this pair only; preserve the video artwork and its color. */
.mm-release-live-grid{align-items:stretch}
.mm-release-live-grid .session-card{align-self:stretch;height:100%;min-width:0}
.mm-release-live-grid .session-card .session-thumb:has(img){position:relative;display:block;width:100%;height:auto;aspect-ratio:16/9;overflow:hidden}
.mm-release-live-grid .session-card .session-thumb picture{position:absolute;inset:0;display:block;width:100%;height:100%;aspect-ratio:auto}
.mm-release-live-grid .session-card .session-thumb img.session-thumb-img{position:absolute;inset:0;display:block;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:50% 50%;filter:none;transform:none!important}
.mm-release-live-grid .session-card[href*="WRzu4C350PM"] .session-thumb img.session-thumb-img{object-position:50% 40%}
.mm-release-live-grid .session-card .session-info{flex:1;display:grid;grid-template-rows:auto 1fr;gap:8px;min-height:104px;padding:18px 20px}
.mm-release-live-grid .session-card .session-title{font-size:clamp(20px,2vw,25px);line-height:1.2;letter-spacing:.02em}
.mm-release-live-grid .session-card .session-meta{font-size:12px;line-height:1.6;letter-spacing:.04em;margin:0;min-height:3.2em}
.mm-release-live-grid .session-card .session-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)!important;opacity:1;width:48px;height:48px;background:#0000ff;color:#fff;box-shadow:0 0 0 1px #fff6}
.mm-release-live-grid .session-card .session-ep{top:12px;right:12px;font-size:9px;line-height:1.5;letter-spacing:.12em;color:#fff;background:#000b;padding:5px 9px}
.mm-release-live-grid .session-card:focus-visible{outline:3px solid var(--az-text,#0000ff);outline-offset:4px}
@media(max-width:700px){.mm-release-live-grid .session-card .session-info{padding:16px 18px}}
