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