/* assets/cases-base.css */
:root {--b: #040404; --w: #f2f0ec; --az: #1a1aff; --az2: #3333ff; --az-light: rgba(26,26,255,.1); --az-glow: 0 0 32px rgba(26,26,255,.4),0 0 64px rgba(26,26,255,.12); --s1: #0c0c0c; --s2: #141414; --s3: #1e1e1e; --s4: #2c2c2c; --s5: #787878; --s6: #8a8a8a; --s7: #989898; --s8: #c8c8c8; --br: rgba(242,240,236,.06); --br2: rgba(242,240,236,.12); --br3: rgba(242,240,236,.2); --ff: 'Plus Jakarta Sans',monospace; --fd: 'Plus Jakarta Sans',cursive; --fi: 'Plus Jakarta Sans',serif; --fm: 'Plus Jakarta Sans',monospace; --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"] {--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;}
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);}
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; pointer-events: none; border-radius: 50%; z-index: 7999; transform: translate(-50%, -50%); will-change: left, top;}
.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-cta .cr {width: 44px; height: 44px; border-color: var(--az); 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 {font-style: normal; font-size: 0.58em; vertical-align: top; margin-top: 0.22em; color: var(--az) !important;}
.nav-links {display: flex; align-items: center; gap: 32px;}
.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); transform: translateY(-1px);}
.nav-cta svg {width: 11px; height: 11px; transition: transform var(--t);}
.nav-cta:hover svg {transform: translateX(2px);}
.nav-right {display: flex; align-items: center; gap: 8px;}
.ham {display: none; flex-direction: column; gap: 5px; width: 26px; padding: 4px 0px;}
.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);}
.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 {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, 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);}
.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;}
.dvd {height: 1px; background: var(--br); margin: 0px clamp(20px, 4vw, 52px);}
.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); margin-bottom: 20px;}
.label::before {content: ""; width: 20px; height: 1px; background: var(--az); flex-shrink: 0;}
.rv {opacity: 0; transform: translateY(28px); transition: opacity .75s var(--ease),transform .75s var(--ease);}
.rv.vis {opacity: 1; transform: 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;}
.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);}
.casos-hero {position: relative; padding: clamp(130px, 18vw, 200px) 0px clamp(72px, 10vw, 120px); overflow: hidden; background: rgb(0, 0, 0);}
.casos-hero-bg {position: absolute; inset: 0px; background: none;}
.casos-hero-bg::before {content: ""; position: absolute; inset: 0px; background: none; pointer-events: none;}
.casos-hero-content {position: relative; z-index: 2;}
.casos-eyebrow {display: inline-flex; align-items: center; gap: 12px; font-family: var(--fm); font-size: 9px; letter-spacing: 0.32em; text-transform: uppercase; color: var(--s6); border: 1px solid var(--br); border-radius: 2px; padding: 7px 16px; margin-bottom: clamp(24px, 4vw, 40px); background: rgba(242, 240, 236, 0.03); opacity: 0; animation: fadeUp .6s var(--ease) .2s both;}
.casos-eyebrow span {color: var(--az);}
.casos-eyebrow-dot {width: 4px; height: 4px; background: var(--az); border-radius: 50%;}
.casos-hero-title {font-family: var(--fd); font-size: clamp(60px, 12vw, 148px); line-height: 0.88; letter-spacing: 0.02em; color: var(--w); overflow: hidden; text-shadow: rgba(26, 26, 255, 0.12) 0px 0px 80px; opacity: 0; animation: slideUp .9s var(--spring) .35s both;}
.casos-hero-title em {font-style: normal; color: var(--az);}
.casos-hero-accent {font-family: var(--fi); font-style: normal; font-size: clamp(22px, 3.5vw, 44px); color: var(--em-color); display: block; margin-top: 10px; font-weight: 300; letter-spacing: 0.02em; opacity: 0; animation: fadeUp .7s var(--ease) .65s both;}
.casos-hero-desc {margin-top: clamp(20px, 3vw, 32px); font-size: clamp(13px, 1.5vw, 15px); color: var(--s7); max-width: 480px; line-height: 1.78; opacity: 0; animation: fadeUp .7s var(--ease) .8s both;}
.casos-hero-stats {display: flex; gap: 0px; margin-top: clamp(32px, 5vw, 56px); flex-wrap: wrap; border: 1px solid var(--br); border-radius: 4px; overflow: hidden; background: var(--s1); max-width: 560px; opacity: 0; animation: fadeUp .7s var(--ease) 1s both;}
.casos-stat {flex: 1 1 0%; min-width: 120px; padding: 20px 24px; border-right: 1px solid var(--br);}
.casos-stat:last-child {border-right-width: medium; border-right-style: none; border-right-color: currentcolor;}
.casos-stat-val {font-family: var(--fd); font-size: clamp(24px, 3.5vw, 38px); color: var(--w); line-height: 1; letter-spacing: 0.04em;}
.casos-stat-lbl {font-family: var(--fm); font-size: 8px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--s6); margin-top: 4px;}
@keyframes slideUp { 
  0% { opacity: 0; transform: translateY(40px); }
  100% { opacity: 1; transform: translateY(0px); }
}
@keyframes fadeUp { 
  0% { opacity: 0; transform: translateY(18px); }
  100% { opacity: 1; transform: translateY(0px); }
}
.filter-bar {position: sticky; top: 56px; z-index: 100; background: var(--nav-scrolled-bg); backdrop-filter: none; border-bottom: 1px solid var(--br); padding: 14px clamp(20px, 4vw, 52px);}
.filter-inner {display: flex; gap: 6px; flex-wrap: wrap; overflow-x: auto; scrollbar-width: none;}
.filter-inner::-webkit-scrollbar {display: none;}
.filter-btn {font-family: var(--fm); font-size: 9px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--s6); border: 1px solid var(--br); padding: 8px 18px; border-radius: 2px; transition: all .2s var(--ease); background: transparent; white-space: nowrap;}
.filter-btn.on,  .filter-btn:hover {background: var(--w); color: var(--b); border-color: var(--w);}
.filter-btn.on {background: var(--az); color: rgb(255, 255, 255); border-color: var(--az);}
.filter-count {display: inline-flex; align-items: center; justify-content: center; width: 16px; height: 16px; border-radius: 50%; background: rgba(26, 26, 255, 0.2); color: var(--az); font-size: 7px; letter-spacing: 0px; margin-left: 4px;}
.filter-btn.on .filter-count {background: rgba(255, 255, 255, 0.25); color: rgb(255, 255, 255);}
.cases-section {padding: clamp(60px, 8vw, 96px) 0px;}
.cases-grid {display: grid; grid-template-columns: repeat(2, 1fr); gap: 3px;}
.case-card {position: relative; overflow: hidden; background: var(--s1); border: 1px solid var(--br); transition: border-color .3s var(--ease),transform .4s var(--ease); cursor: pointer;}
.case-card:hover {border-color: var(--br2);}
.case-card.hidden {display: none;}
.case-thumb {position: relative; overflow: hidden; height: clamp(220px, 28vw, 380px); background: var(--s2);}
.case-thumb img {width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .7s var(--ease),filter .5s; filter: brightness(0.85) saturate(0.9);}
.case-card:hover .case-thumb img {transform: scale(1.04); filter: brightness(0.9) saturate(1);}
.case-thumb-overlay {position: absolute; inset: 0px; background: none; z-index: 1;}
.case-year-badge {position: absolute; top: 16px; right: 16px; z-index: 2; font-family: var(--fm); font-size: 8px; letter-spacing: 0.2em; text-transform: uppercase; color: rgba(255, 255, 255, 0.7); background: rgba(4, 4, 4, 0.6); border: 1px solid rgba(255, 255, 255, 0.12); border-radius: 2px; padding: 5px 10px; backdrop-filter: none;}
.case-cat-badge {position: absolute; top: 16px; left: 16px; z-index: 2; font-family: var(--fm); font-size: 8px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--az); background: rgba(26, 26, 255, 0.15); border: 1px solid rgba(26, 26, 255, 0.3); border-radius: 2px; padding: 5px 10px; backdrop-filter: none;}
.case-play-icon {position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 3; width: 52px; height: 52px; border-radius: 50%; background: rgba(26, 26, 255, 0.85); border: 1px solid rgba(255, 255, 255, 0.15); display: flex; align-items: center; justify-content: center; opacity: 0; transition: opacity .3s,transform .4s var(--spring); backdrop-filter: none;}
.case-play-icon svg {width: 18px; height: 18px; fill: rgb(255, 255, 255); margin-left: 3px;}
.case-card:hover .case-play-icon {opacity: 1; transform: translate(-50%, -50%) scale(1.08);}
.case-body {padding: clamp(20px, 2.5vw, 32px);}
.case-client {font-family: var(--fm); font-size: 9px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--s6); margin-bottom: 8px; display: flex; align-items: center; gap: 8px;}
.case-client-dot {width: 3px; height: 3px; background: var(--az); border-radius: 50%;}
.case-title {font-family: var(--fd); font-size: clamp(28px, 3.5vw, 46px); letter-spacing: 0.025em; line-height: 0.92; color: var(--w); margin-bottom: 12px; transition: color 0.2s;}
.case-card:hover .case-title {color: var(--w);}
.case-desc {font-size: 13px; color: var(--s6); line-height: 1.72; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin-bottom: 20px;}
.case-metrics {display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 22px;}
.case-metric {font-family: var(--fm); font-size: 9px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--s7); background: var(--s2); border: 1px solid var(--br); border-radius: 2px; padding: 5px 12px; transition: border-color 0.2s, color 0.2s;}
.case-card:hover .case-metric {border-color: var(--br2); color: var(--w);}
.case-metric-highlight {color: var(--az); border-color: rgba(26, 26, 255, 0.25); background: rgba(26, 26, 255, 0.06);}
.case-footer {display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap;}
.case-cta {display: inline-flex; align-items: center; gap: 8px; font-family: var(--fm); font-size: 9px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--s6); border: 1px solid var(--br); border-radius: 2px; padding: 8px 18px; transition: all .2s var(--ease);}
.case-cta:hover,  .case-card:hover .case-cta {background: var(--az); border-color: var(--az); color: rgb(255, 255, 255); transform: translateY(-1px);}
.case-cta svg {width: 10px; height: 10px; stroke: currentcolor; stroke-width: 2; fill: none; stroke-linecap: round; stroke-linejoin: round; transition: transform 0.2s;}
.case-cta:hover svg {transform: translateX(3px);}
.case-num {font-family: var(--fd); font-size: clamp(80px, 12vw, 160px); color: rgba(242, 240, 236, 0.024); position: absolute; bottom: -10px; right: 16px; line-height: 1; letter-spacing: 0.04em; pointer-events: none; transition: color 0.3s;}
.case-card:hover .case-num {color: rgba(26, 26, 255, 0.05);}
.timeline-section {padding: clamp(60px, 8vw, 96px) 0px; background: var(--s1); border-top: 1px solid var(--br); border-bottom: 1px solid var(--br);}
.timeline-header {text-align: center; margin-bottom: clamp(40px, 6vw, 64px);}
.timeline-title {font-family: var(--fd); font-size: clamp(36px, 5vw, 64px); letter-spacing: 0.02em; line-height: 0.92;}
.timeline-title em {font-family: var(--fi); font-style: normal; color: var(--em-color); font-size: 0.75em;}
.timeline-scroll-wrap {overflow-x: auto; padding: 0px clamp(20px, 4vw, 52px) 24px; scrollbar-width: thin; scrollbar-color: var(--s4) transparent;}
.timeline-scroll-wrap::-webkit-scrollbar {height: 2px;}
.timeline-scroll-wrap::-webkit-scrollbar-thumb {background: var(--s4);}
.timeline-track {display: flex; gap: 0px; min-width: max-content; position: relative;}
.timeline-track::before {content: ""; position: absolute; top: 40px; left: 52px; right: 52px; height: 1px; background: none; opacity: 0.3;}
.timeline-step {width: 220px; padding: 0px 20px; text-align: center; position: relative; flex-shrink: 0;}
.timeline-step-icon {width: 80px; height: 80px; border-radius: 50%; background: var(--s2); border: 1px solid var(--br2); display: flex; align-items: center; justify-content: center; margin: 0px auto 20px; position: relative; z-index: 1; transition: border-color 0.3s, background 0.3s;}
.timeline-step:hover .timeline-step-icon {border-color: var(--az); background: rgba(26, 26, 255, 0.1);}
.timeline-step-icon svg {width: 28px; height: 28px; stroke: var(--az); stroke-width: 1.25; fill: none; stroke-linecap: round; stroke-linejoin: round;}
.timeline-step-num {position: absolute; top: -8px; right: -4px; font-family: var(--fm); font-size: 8px; letter-spacing: 0.12em; color: var(--az); background: var(--s2); border: 1px solid rgba(26, 26, 255, 0.3); border-radius: 2px; padding: 2px 6px;}
.timeline-step-title {font-family: var(--fd); font-size: 22px; letter-spacing: 0.04em; margin-bottom: 8px; color: var(--w);}
.timeline-step-desc {font-size: 12px; color: var(--s6); line-height: 1.68; max-width: 170px; margin: 0px auto;}
.testimonials-section {padding: clamp(60px, 8vw, 96px) 0px;}
.testimonials-header {display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: clamp(32px, 5vw, 56px); flex-wrap: wrap;}
.testimonials-title {font-family: var(--fd); font-size: clamp(36px, 5vw, 64px); letter-spacing: 0.02em; line-height: 0.92;}
.testimonials-grid {display: grid; grid-template-columns: repeat(2, 1fr); gap: 3px;}
.testimonial-card {background: var(--s1); border: 1px solid var(--br); padding: clamp(24px, 3vw, 40px); position: relative; overflow: hidden; transition: border-color 0.3s, background 0.3s;}
.testimonial-card:hover {border-color: var(--br2); background: var(--s2);}
.testimonial-card::before {content: ""; position: absolute; top: 0px; left: 0px; right: 0px; height: 2px; background: none; opacity: 0; transition: opacity 0.3s;}
.testimonial-card:hover::before {opacity: 1;}
.testimonial-quote-mark {font-family: var(--fi); font-size: 80px; line-height: 0.7; color: rgba(26, 26, 255, 0.15); margin-bottom: 16px; display: block;}
.testimonial-text {font-family: var(--fi); font-style: normal; font-size: clamp(16px, 2vw, 20px); font-weight: 300; color: var(--w); line-height: 1.62; margin-bottom: 28px;}
.testimonial-author {display: flex; align-items: center; gap: 14px;}
.testimonial-avatar {width: 44px; height: 44px; border-radius: 2px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; font-family: var(--fm); font-size: 13px; letter-spacing: 0.06em; color: rgb(255, 255, 255); background: none;}
.testimonial-info {}
.testimonial-name {font-family: var(--fd); font-size: 18px; letter-spacing: 0.04em; color: var(--w); line-height: 1;}
.testimonial-project {font-family: var(--fm); font-size: 8px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--az); margin-top: 4px;}
.testimonial-stars {display: flex; gap: 3px; margin-top: 6px;}
.testimonial-star {color: var(--az); font-size: 12px;}
.cta-section {padding: clamp(72px, 10vw, 128px) 0px; background: none; border-top: 1px solid var(--br); text-align: center; position: relative; overflow: hidden;}
.cta-section::before {content: ""; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 600px; height: 400px; background: none; pointer-events: none;}
.cta-eyebrow {font-family: var(--fm); font-size: 9px; letter-spacing: 0.3em; text-transform: uppercase; color: var(--az); display: flex; align-items: center; justify-content: center; gap: 10px; margin-bottom: 20px;}
.cta-eyebrow::before,  .cta-eyebrow::after {content: ""; width: 30px; height: 1px; background: var(--az);}
.cta-title {font-family: var(--fd); font-size: clamp(42px, 7vw, 88px); letter-spacing: 0.02em; line-height: 0.9; margin-bottom: 16px; color: var(--w);}
.cta-title em {font-style: normal; color: var(--az);}
.cta-subtitle {font-family: var(--fi); font-style: normal; font-size: clamp(16px, 2.2vw, 22px); color: var(--em-color); max-width: 480px; margin: 0px auto 40px; line-height: 1.6;}
.cta-btns {display: flex; gap: 12px; justify-content: center; flex-wrap: wrap;}
.cta-wa {display: inline-flex; align-items: center; gap: 10px; background: rgb(37, 211, 102); color: rgb(255, 255, 255); border: 1px solid rgb(37, 211, 102); font-family: var(--fm); font-size: 10px; font-weight: 500; letter-spacing: 0.14em; text-transform: uppercase; border-radius: 2px; padding: 14px 28px; transition: background 0.2s, transform 0.2s, box-shadow 0.2s;}
.cta-wa:hover {background: rgb(29, 185, 84); transform: translateY(-2px); box-shadow: rgba(37, 211, 102, 0.3) 0px 8px 28px;}
.cta-wa svg {width: 16px; height: 16px; fill: rgb(255, 255, 255);}
.footer {background: var(--s1); border-top: 1px solid var(--br); padding: clamp(56px, 8vw, 96px) 0px 0px;}
.footer-inner {display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: clamp(24px, 4vw, 64px); margin-bottom: clamp(40px, 6vw, 64px);}
.footer-logo {display: flex; align-items: center; gap: 10px; margin-bottom: 16px;}
.footer-logo-mark {font-family: var(--fd); font-size: 28px; letter-spacing: 0.06em; color: var(--w); display: flex; align-items: center; gap: 4px;}
.footer-logo-mark em {font-style: normal; font-size: 0.55em; vertical-align: top; margin-top: 0.2em; color: var(--az) !important;}
.footer-tagline {font-size: 13px; color: var(--s6); line-height: 1.72; max-width: 280px; margin-bottom: 12px;}
.footer-col-title {font-family: var(--fm); font-size: 9px; letter-spacing: 0.24em; text-transform: uppercase; color: var(--s5); margin-bottom: 18px; padding-bottom: 10px; border-bottom: 1px solid var(--br);}
.footer-links {display: flex; flex-direction: column; gap: 10px;}
.footer-links a {font-size: 13px; color: var(--s6); transition: color 0.2s;}
.footer-links a:hover {color: var(--w);}
.footer-bottom {border-top: 1px solid var(--br); padding: 20px 0px; display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap;}
.footer-copy,  .footer-designer,  .footer-intl {font-family: var(--fm); font-size: 9px; letter-spacing: 0.1em; color: var(--s5);}
.footer-intl {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;}
@keyframes agendaPulse { 
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.35; transform: scale(0.65); }
}
.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);}
.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);}
.float-wa-btn {width: 40px; height: 40px; border-radius: 50%; background: rgb(37, 211, 102); display: flex; align-items: center; justify-content: center; box-shadow: rgba(37, 211, 102, 0.28) 0px 4px 18px; transition: transform .25s var(--spring),box-shadow .2s; cursor: pointer;}
.float-wa-btn:hover {transform: scale(1.12); box-shadow: rgba(37, 211, 102, 0.4) 0px 6px 26px;}
.float-wa-btn svg {width: 20px; height: 20px; fill: rgb(255, 255, 255);}
@media (max-width: 860px) {
.nav-links {display: none;}
.nav-cta {display: none;}
.ham {display: flex;}
.cases-grid {grid-template-columns: 1fr;}
.testimonials-grid {grid-template-columns: 1fr;}
.footer-inner {grid-template-columns: 1fr 1fr;}
}
@media (max-width: 600px) {
.casos-hero-stats {flex-direction: column;}
.casos-stat {border-right-width: medium; border-right-style: none; border-right-color: currentcolor; border-bottom: 1px solid var(--br);}
.casos-stat:last-child {border-bottom-width: medium; border-bottom-style: none; border-bottom-color: currentcolor;}
.footer-inner {grid-template-columns: 1fr;}
.footer-bottom {flex-direction: column; text-align: center;}
body::after {display: none;}
}
@media (max-width: 500px) {
.timeline-step {width: 180px;}
.cta-btns {flex-direction: column; align-items: center;}
}
[data-theme="light"] .case-metric {background: var(--s2); border-color: var(--br2);}
[data-theme="light"] .testimonial-card {border-color: var(--br2);}
[data-theme="light"] .timeline-step-icon {border-color: var(--br3);}

/* 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/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/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/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/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/viewer-desktop-20261008.css */
/* Desktop gives the image the window; existing mobile rules remain untouched. */
@media(min-width:701px) and (hover:hover) and (pointer:fine){
 html #video-modal.mm-cinema{padding:8px;background:#050506}
 html #video-modal.mm-cinema .vm-box{width:100%;height:calc(100svh - 16px);max-height:none;padding:0;border:0;background:#000;overflow:hidden}
 .mm-cinema-body{width:100%;height:100%;min-height:0}
 .mm-cinema-stage{width:100%;height:100%;position:relative}
 html #video-modal.mm-cinema .vm-ratio{width:min(100%,calc((100svh - 16px)*var(--mm-video-aspect,1.7777778)));height:auto;max-height:100%;margin:0}
 .mm-cinema-header{position:absolute;inset:8px 8px auto;z-index:4;min-height:44px;margin:0;padding:4px 8px;gap:12px;border:0;background:rgba(5,5,6,.88);backdrop-filter:blur(4px)}
 .mm-cinema-brand,.mm-cinema-information{display:none}
 .mm-cinema-header>.mm-cinema-caption{flex:1;min-width:0}
 html #video-modal.mm-cinema #vm-title{font-size:14px;line-height:1.3;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-wrap:nowrap}
 .mm-cinema-header .mm-cinema-artist{margin:2px 0 0;font-size:11px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .mm-cinema-header>.mm-cinema-arrows{flex:none}
 html #video-modal.mm-cinema .mm-cinema-close{width:44px;min-width:44px;padding:0;background:transparent;border:0}
 .mm-cinema-close span{display:none}
 .vm-desktop-tools{display:flex;gap:8px;flex:none}
 .vm-desktop-button{display:flex;gap:8px;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding:0 12px;border:1px solid #555;background:transparent;color:#fff;font:500 11px 'Plus Jakarta Sans',sans-serif;cursor:pointer}
 .vm-desktop-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6}
 .vm-desktop-button[disabled]{opacity:.5;cursor:default}
 .mm-cinema-navigation{border:0;padding:0}
 .mm-cinema-navigation .mm-cinema-nav-heading{display:contents}
 #vm-position,.mm-cinema-state{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;margin:0!important;padding:0!important}
 #vm-desktop-details{position:absolute;z-index:5;top:68px;right:8px;width:min(480px,calc(100% - 16px));max-height:calc(100svh - 100px);overflow:auto;padding:18px;border:1px solid #444;background:#101013;color:#fff;box-shadow:0 8px 24px #0008}
 #vm-desktop-details .mm-cinema-provider{flex-direction:row;align-items:center;justify-content:space-between;gap:12px;margin:12px 0}
 #vm-desktop-details .mm-cinema-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow-x:hidden;padding:8px 0}
 #vm-desktop-details .mm-cinema-item{min-width:0}
 .mm-cinema-help{position:absolute;z-index:6;right:8px;bottom:8px;width:min(560px,calc(100% - 16px));max-height:calc(100svh - 96px);overflow:auto;margin:0;background:#101013}
 .mm-cinema-consent{width:100%;max-height:100%;overflow:auto;border:0;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr)}
 .mm-cinema-poster{max-height:calc(100svh - 80px);object-fit:contain}
 .mm-cinema-consent-copy{padding:24px}
 .mm-cinema-consent-copy h3{font-size:26px}
 html #video-modal.mm-cinema .mm-cinema-stage:fullscreen{width:100vw;height:100svh;display:flex;align-items:center;justify-content:center;background:#000}
 html #video-modal.mm-cinema .mm-cinema-stage:fullscreen .vm-ratio{width:min(100vw,calc(100svh*var(--mm-video-aspect,1.7777778)));max-height:100svh}
 .mm-cinema-stage:fullscreen>.vm-desktop-button{position:absolute;z-index:10;top:12px;right:12px;background:#050506d9;border-color:#888}
}
@media(min-width:701px) and (hover:hover) and (pointer:fine) and (max-width:1100px){.vm-desktop-button span{display:none}.vm-desktop-button{padding:0;width:44px}.mm-cinema-header{gap:8px}}
