:root {
  --ink: #f3f0e8;
  --paper: #090909;
  --muted: rgba(243,240,232,.56);
  --line: rgba(243,240,232,.18);
  --acid: #d8ff32;
  --orange: #ff5c35;
  --pad: clamp(20px, 4vw, 64px);
  --ease: cubic-bezier(.2,.8,.2,1);
  color-scheme: dark;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--paper); overflow-x:hidden; overscroll-behavior-x:none; }
body {
  margin: 0;
  overflow-x: hidden;
  width:100%;
  min-width:0;
  color: var(--ink);
  background: var(--paper);
  font-family: Arial, Helvetica, sans-serif;
  -webkit-font-smoothing: antialiased;
}
body.has-overlay, body.intro-active { overflow: hidden; overscroll-behavior: none; }
html:has(body.has-overlay) { overflow: hidden; overscroll-behavior: none; }
button, a { font: inherit; }
button { color: inherit; }
a { color: inherit; }
::selection { color: #080808; background: var(--acid); }

.skip-link {
  position: fixed; left: 16px; top: -80px; z-index: 1000;
  padding: 12px 16px; color: #080808; background: var(--acid);
  transition: top .2s ease;
}
.skip-link:focus { top: 16px; }

.world { position: fixed; inset: 0; z-index: 0; width: 100%; height: 100%; pointer-events: none; opacity: .88; }
.grain {
  position: fixed; inset: -50%; z-index: 90; pointer-events: none; opacity: .045;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E");
  animation: grain .24s steps(2) infinite;
}
@keyframes grain { 0%{transform:translate3d(-2%,1%,0)} 50%{transform:translate3d(2%,-1%,0)} 100%{transform:translate3d(0,2%,0)} }

.cursor {
  position: fixed; left: 0; top: 0; z-index: 500; width: 46px; height: 46px;
  border: 1px solid rgba(243,240,232,.65); border-radius: 50%; pointer-events: none;
  opacity: 0; transform: translate3d(-50%,-50%,0); transition: width .25s, height .25s, background .25s, opacity .2s;
}
.cursor span { position: absolute; left: 50%; top: 50%; width: 3px; height: 3px; border-radius: 50%; background: var(--ink); transform: translate(-50%,-50%); }
.cursor.is-active { opacity: 1; }
.cursor.is-link { width: 72px; height: 72px; background: rgba(216,255,50,.12); border-color: var(--acid); }

/* Bienvenida / telón digital */
.portal-intro {
  --intro-x: 68vw;
  --intro-y: 42vh;
  --intro-rotate-x: 0deg;
  --intro-rotate-y: 0deg;
  position: fixed;
  inset: 0;
  z-index: 400;
  overflow: hidden;
  min-height: 100svh;
  color: #f4f0e8;
  background: #050506;
  isolation: isolate;
  perspective: 1400px;
  transition: opacity .28s linear 1.72s, visibility 0s 2.02s;
}
.portal-intro[hidden] { display: none; }
html.destino-tequila .portal-intro { display: none; }
.portal-intro::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px);
  background-size: clamp(54px,6vw,92px) clamp(54px,6vw,92px);
  -webkit-mask-image: radial-gradient(circle at var(--intro-x) var(--intro-y), black, transparent 63%);
  mask-image: radial-gradient(circle at var(--intro-x) var(--intro-y), black, transparent 63%);
  opacity: .55;
}
.portal-intro::after {
  content: "";
  position: absolute;
  inset: -20%;
  z-index: 3;
  pointer-events: none;
  background: conic-gradient(from 90deg at 50% 50%, transparent 0 22%, rgba(216,255,50,.05) 28%, transparent 34% 67%, rgba(255,56,83,.045) 73%, transparent 79%);
  animation: intro-atmosphere 16s linear infinite;
}
.portal-intro__curtain {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 1;
  width: calc(50% + 2px);
  overflow: hidden;
  background:
    radial-gradient(ellipse at 50% -12%, rgba(255,71,91,.16), transparent 42%),
    repeating-linear-gradient(90deg, #09090b 0 7%, #111014 13%, #050506 20%);
  box-shadow: inset 0 0 9vw rgba(0,0,0,.92);
  transition: transform 1.52s cubic-bezier(.72,0,.12,1) .22s;
}
.portal-intro__curtain::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.035), transparent 44%);
  filter: blur(8px);
}
.portal-intro__curtain i {
  position: absolute;
  top: -8%;
  bottom: -8%;
  width: 2px;
  border-left: 1px solid rgba(255,255,255,.07);
  transform: rotate(2deg);
}
.portal-intro__curtain i:nth-child(1) { left: 20%; }
.portal-intro__curtain i:nth-child(2) { left: 52%; }
.portal-intro__curtain i:nth-child(3) { left: 82%; }
.portal-intro__curtain--left { left: 0; border-right: 1px solid rgba(216,255,50,.22); }
.portal-intro__curtain--right { right: 0; border-left: 1px solid rgba(216,255,50,.22); transform: scaleX(-1); }
.portal-intro__light {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background:
    radial-gradient(circle at var(--intro-x) var(--intro-y), rgba(216,255,50,.18), rgba(81,121,255,.055) 18%, transparent 42%),
    linear-gradient(110deg, transparent 12%, rgba(255,255,255,.035) 48%, transparent 64%);
  transition: opacity .8s ease;
}
.portal-intro__ghost {
  position: absolute;
  left: -1vw;
  top: 3vh;
  z-index: 3;
  display: flex;
  flex-direction: column;
  color: transparent;
  -webkit-text-stroke: 1px rgba(243,240,232,.09);
  font-size: clamp(110px,18vw,300px);
  font-weight: 700;
  line-height: .62;
  letter-spacing: -.09em;
  pointer-events: none;
  transform: skewY(-4deg);
}
.portal-intro__ghost span:last-child { margin-left: 34vw; }
.portal-intro__header,
.portal-intro__footer {
  position: absolute;
  left: var(--pad);
  right: var(--pad);
  z-index: 8;
  display: flex;
  justify-content: space-between;
  gap: 24px;
  font: 9px/1.2 monospace;
  letter-spacing: .13em;
  text-transform: uppercase;
  transition: opacity .55s ease, transform .75s var(--ease);
}
.portal-intro__header { top: 32px; padding-bottom: 14px; border-bottom: 1px solid rgba(243,240,232,.18); }
.portal-intro__footer { bottom: 46px; color: rgba(243,240,232,.5); }
.portal-intro__live i { display: inline-block; width: 6px; height: 6px; margin-right: 8px; border-radius: 50%; background: var(--acid); box-shadow: 0 0 18px var(--acid); animation: intro-pulse 1.4s ease-in-out infinite; }
.portal-intro__copy {
  position: absolute;
  left: var(--pad);
  top: 16vh;
  z-index: 7;
  width: min(62vw,980px);
  pointer-events: none;
}
.portal-intro__copy p { margin: 0 0 18px; color: rgba(243,240,232,.56); font: 10px/1.2 monospace; letter-spacing: .16em; text-transform: uppercase; }
.portal-intro__title { margin: 0; font-size: clamp(66px,10.8vw,178px); font-weight: 700; line-height: .76; letter-spacing: -.085em; text-transform: uppercase; }
.portal-intro__title span { display: block; overflow: hidden; transition: transform 1.05s cubic-bezier(.7,0,.15,1), opacity .55s ease; }
.portal-intro__title span:last-child { margin-left: 8vw; }
.portal-intro__copy em { color: transparent; -webkit-text-stroke: 1px rgba(243,240,232,.7); font-style: normal; }
.portal-intro__console {
  position: absolute;
  left: 69%;
  top: 52%;
  z-index: 6;
  width: min(39vw,590px);
  aspect-ratio: 1.25;
  transform-style: preserve-3d;
  transform: translate3d(-50%,-42%,0) rotateX(var(--intro-rotate-x)) rotateY(var(--intro-rotate-y));
  transition: transform .18s ease-out, opacity .5s ease;
}
.portal-intro__halo { position: absolute; inset: -28%; transform: translateZ(-90px) rotateX(68deg); transform-style: preserve-3d; }
.portal-intro__halo i { position: absolute; inset: 0; border: 1px solid rgba(216,255,50,.18); border-radius: 50%; animation: intro-orbit 11s linear infinite; }
.portal-intro__halo i:nth-child(2) { inset: 15%; border-color: rgba(255,75,103,.25); animation-duration: 8s; animation-direction: reverse; }
.portal-intro__halo i:nth-child(3) { inset: 30%; border-style: dashed; animation-duration: 5s; }
.portal-intro__halo i::after { content:""; position:absolute; left:50%; top:-4px; width:7px; height:7px; border-radius:50%; background:var(--acid); box-shadow:0 0 18px var(--acid); }
.portal-intro__lid {
  position: absolute;
  left: 7%;
  right: 7%;
  bottom: 28%;
  height: 67%;
  padding: 7px;
  border: 1px solid rgba(255,255,255,.38);
  border-radius: 18px 18px 5px 5px;
  background: linear-gradient(145deg,#777,#171719 17%,#050506 72%,#888);
  box-shadow: 0 32px 80px rgba(0,0,0,.7), 0 0 55px rgba(216,255,50,.08);
  transform-origin: 50% 100%;
  transform: rotateX(-78deg) translateZ(4px);
  transition: transform 1.35s cubic-bezier(.16,.9,.18,1) .25s;
}
.portal-intro.is-ready .portal-intro__lid { transform: rotateX(-5deg) translateZ(4px); }
.portal-intro__screen { position: relative; width: 100%; height: 100%; overflow: hidden; border: 1px solid rgba(255,255,255,.12); border-radius: 12px 12px 2px 2px; background: radial-gradient(circle at 62% 42%,rgba(216,255,50,.32),transparent 23%), radial-gradient(circle at 30% 70%,rgba(65,105,255,.28),transparent 28%),#090a0d; }
.portal-intro__screen::before { content:""; position:absolute; inset:0; background: linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px); background-size:28px 28px; opacity:.55; }
.portal-intro__screen-code { position:absolute; left:15px; top:13px; z-index:2; font:8px monospace; letter-spacing:.14em; }
.portal-intro__screen p { position:absolute; left:7%; bottom:8%; z-index:2; margin:0; font-size:clamp(14px,1.5vw,23px); font-weight:700; line-height:.9; letter-spacing:-.04em; text-transform:uppercase; }
.portal-intro__screen p b { color:var(--acid); font-weight:inherit; }
.portal-intro__screen-orbit { position:absolute; right:9%; top:12%; width:42%; aspect-ratio:1; }
.portal-intro__screen-orbit i { position:absolute; inset:0; border:1px solid rgba(216,255,50,.4); border-radius:50%; animation:intro-orbit 8s linear infinite; }
.portal-intro__screen-orbit i:nth-child(2) { inset:22%; animation-direction:reverse; animation-duration:5s; }
.portal-intro__screen-orbit i::after { content:""; position:absolute; left:50%; top:-3px; width:5px; height:5px; border-radius:50%; background:var(--acid); }
.portal-intro__screen-orbit strong { position:absolute; inset:39%; display:grid; place-items:center; border-radius:50%; background:var(--ink); color:#080808; font-size:9px; }
.portal-intro__scan { position:absolute; left:0; right:0; height:1px; background:var(--acid); box-shadow:0 0 18px var(--acid); animation:intro-scan 3.2s ease-in-out infinite; }
.portal-intro__base { position:absolute; left:0; right:0; bottom:18%; height:23%; border:1px solid rgba(255,255,255,.34); border-radius:5px 5px 22px 22px; background:linear-gradient(155deg,#8a8a8d,#29292c 22%,#0a0a0b 66%,#777); box-shadow:0 34px 45px rgba(0,0,0,.65); transform-origin:50% 0; transform:rotateX(68deg) translateZ(3px); }
.portal-intro__base > span { position:absolute; left:39%; right:39%; bottom:8%; height:28%; border:1px solid rgba(255,255,255,.2); border-radius:3px; }
.portal-intro__keys { position:absolute; left:15%; right:15%; top:18%; display:grid; grid-template-columns:repeat(6,1fr); gap:4px; }
.portal-intro__keys i { height:5px; border-radius:1px; background:rgba(255,255,255,.19); box-shadow:0 0 7px rgba(216,255,50,.16); }
.portal-intro__enter {
  position: absolute;
  left: var(--pad);
  bottom: 14vh;
  z-index: 9;
  display: grid;
  grid-template-columns: auto minmax(230px,1fr) auto;
  align-items: center;
  gap: clamp(20px,3vw,52px);
  width: min(49vw,720px);
  min-height: 94px;
  padding: 16px 18px;
  border: 1px solid rgba(243,240,232,.46);
  color: var(--ink);
  background: rgba(5,5,6,.38);
  backdrop-filter: blur(16px);
  cursor: pointer;
  text-align: left;
  transition: color .4s, border-color .4s, transform .7s var(--ease), opacity .5s ease;
}
.portal-intro__enter::before { content:""; position:absolute; inset:0; z-index:-1; background:var(--acid); transform:scaleX(0); transform-origin:right; transition:transform .55s var(--ease); }
.portal-intro__enter:hover,
.portal-intro__enter:focus-visible { color:#080808; border-color:var(--acid); outline:none; }
.portal-intro__enter:hover::before,
.portal-intro__enter:focus-visible::before { transform:scaleX(1); transform-origin:left; }
.portal-intro__enter-index { font:9px monospace; letter-spacing:.12em; }
.portal-intro__enter strong { font-size:clamp(18px,1.9vw,29px); font-weight:700; letter-spacing:-.035em; text-transform:uppercase; }
.portal-intro__enter-icon { position:relative; display:grid; place-items:center; width:54px; height:54px; border:1px solid currentColor; border-radius:50%; overflow:hidden; }
.portal-intro__enter-icon i { position:absolute; inset:8px; border:1px dashed currentColor; border-radius:50%; animation:intro-orbit 7s linear infinite; }
.portal-intro__enter-icon b { font-size:20px; font-weight:400; transition:transform .35s var(--ease); }
.portal-intro__enter:hover .portal-intro__enter-icon b { transform:rotate(45deg); }
.portal-intro__ticker { position:absolute; left:0; right:0; bottom:0; z-index:8; height:24px; overflow:hidden; border-top:1px solid rgba(243,240,232,.16); color:var(--acid); font:9px/24px monospace; letter-spacing:.1em; white-space:nowrap; }
.portal-intro__ticker span { display:block; width:max-content; animation:intro-ticker 18s linear infinite; }
.portal-intro:not(.is-ready) .portal-intro__copy,
.portal-intro:not(.is-ready) .portal-intro__enter,
.portal-intro:not(.is-ready) .portal-intro__header,
.portal-intro:not(.is-ready) .portal-intro__footer { opacity:0; transform:translateY(22px); }
.portal-intro.is-opening { opacity:0; visibility:hidden; pointer-events:none; }
.portal-intro.is-opening .portal-intro__curtain--left { transform:translateX(-105%) skewX(5deg); }
.portal-intro.is-opening .portal-intro__curtain--right { transform:translateX(105%) scaleX(-1) skewX(5deg); }
.portal-intro.is-opening .portal-intro__title span:first-child { transform:translateX(-110%); opacity:0; }
.portal-intro.is-opening .portal-intro__title span:last-child { transform:translateX(110%); opacity:0; }
.portal-intro.is-opening .portal-intro__console { transform:translate3d(-50%,-44%,240px) scale(1.9) rotateX(0) rotateY(0); opacity:0; transition:transform 1.3s cubic-bezier(.2,.8,.2,1),opacity .55s ease .7s; }
.portal-intro.is-opening .portal-intro__enter { transform:translateY(70px) scale(.92); opacity:0; }
.portal-intro.is-opening .portal-intro__header { transform:translateY(-50px); opacity:0; }
.portal-intro.is-opening .portal-intro__footer { transform:translateY(50px); opacity:0; }
.portal-intro.is-opening .portal-intro__ghost span:first-child { transform:translateX(-25vw); }
.portal-intro.is-opening .portal-intro__ghost span:last-child { transform:translateX(25vw); }
.portal-intro__ghost span { transition:transform 1.4s cubic-bezier(.7,0,.15,1); }
.intro-complete .hero { animation:hero-after-curtain 1s var(--ease) both; }
@keyframes intro-atmosphere { to { transform:rotate(360deg); } }
@keyframes intro-orbit { to { transform:rotate(360deg); } }
@keyframes intro-pulse { 50% { opacity:.35; transform:scale(.7); } }
@keyframes intro-scan { 0%,100% { top:9%; opacity:0; } 15%,85% { opacity:1; } 50% { top:88%; } }
@keyframes intro-ticker { to { transform:translateX(-50%); } }
@keyframes hero-after-curtain { from { opacity:0; transform:scale(1.045); } to { opacity:1; transform:none; } }

/* Genesis reemplaza el objeto-producto por una escultura de luz generada en CSS. */
.portal-intro--genesis {
  --genesis-load: 0;
  --intro-x: 50vw;
  --intro-y: 50vh;
  clip-path: circle(150% at 68% 50%);
  background: #020203;
  transition: clip-path 1.18s cubic-bezier(.76,0,.18,1) .18s, visibility 0s 1.4s;
}
.portal-intro--genesis::before {
  z-index: 1;
  background:
    linear-gradient(90deg, rgba(255,255,255,.026) 1px, transparent 1px),
    linear-gradient(rgba(255,255,255,.026) 1px, transparent 1px);
  background-size: clamp(42px,5vw,76px) clamp(42px,5vw,76px);
  -webkit-mask-image: radial-gradient(circle at 50% 50%, black, transparent 72%);
  mask-image: radial-gradient(circle at 50% 50%, black, transparent 72%);
  opacity: .7;
}
.portal-intro--genesis::after {
  inset: -30%;
  z-index: 2;
  background:
    radial-gradient(circle at var(--intro-x) var(--intro-y), rgba(111,56,255,.13), transparent 24%),
    conic-gradient(from 140deg at 50% 50%, transparent 0 18%, rgba(0,238,255,.04) 24%, transparent 31% 52%, rgba(255,30,120,.055) 60%, transparent 69% 87%, rgba(255,220,40,.035));
  animation: genesis-atmosphere 18s linear infinite;
}
.genesis-grid { position:absolute; inset:0; z-index:3; pointer-events:none; background:linear-gradient(112deg,transparent 0 46%,rgba(255,255,255,.045) 46.1%,transparent 46.3% 100%); }
.genesis-grid::after { content:""; position:absolute; left:50%; top:50%; width:1px; height:150vh; background:linear-gradient(transparent,rgba(255,255,255,.2),transparent); transform:translate(-50%,-50%) rotate(32deg); }
.genesis-hud,
.genesis-footer {
  position:absolute;
  left:var(--pad);
  right:var(--pad);
  z-index:18;
  display:flex;
  justify-content:space-between;
  gap:20px;
  color:rgba(243,240,232,.58);
  font:9px/1.2 monospace;
  letter-spacing:.15em;
  text-transform:uppercase;
  transition:opacity .55s ease,transform .7s var(--ease);
}
.genesis-hud { top:30px; padding-bottom:13px; border-bottom:1px solid rgba(255,255,255,.14); }
.genesis-hud i { display:inline-block; width:6px; height:6px; margin-right:8px; border-radius:50%; background:#6ef7ff; box-shadow:0 0 16px #6ef7ff; animation:intro-pulse 1.1s ease-in-out infinite; }
.genesis-footer { bottom:24px; }
.genesis-loader { position:absolute; inset:auto var(--pad) 8vh; z-index:16; display:grid; grid-template-columns:1fr auto; align-items:end; gap:8px 24px; transition:opacity .7s ease,transform .8s var(--ease); }
.genesis-loader__label,
.genesis-loader__status { font:9px/1.2 monospace; letter-spacing:.15em; text-transform:uppercase; }
.genesis-loader__label { align-self:start; color:rgba(243,240,232,.48); }
.genesis-loader__status { justify-self:end; color:#6ef7ff; }
.genesis-loader__number { display:flex; align-items:flex-start; grid-column:2; grid-row:1; margin-bottom:-1.5vw; line-height:.72; letter-spacing:-.09em; }
.genesis-loader__number strong { font-size:clamp(82px,13vw,210px); font-weight:500; }
.genesis-loader__number span { margin:8px 0 0 8px; font:12px/1 monospace; letter-spacing:0; }
.genesis-loader__track { grid-column:1/-1; position:relative; height:1px; overflow:hidden; background:rgba(255,255,255,.16); }
.genesis-loader__track i { display:block; width:100%; height:100%; background:linear-gradient(90deg,#7057ff,#13d9ff 46%,#ff3d9a 76%,#ffe14d); box-shadow:0 0 20px #13d9ff; transform:scaleX(0); transform-origin:left; transition:transform .12s linear; }
.genesis-sculpture {
  position:absolute;
  left:50%;
  top:48%;
  z-index:10;
  width:clamp(260px,35vw,570px);
  aspect-ratio:1;
  transform:translate3d(-50%,-50%,0) rotateX(var(--intro-rotate-x)) rotateY(var(--intro-rotate-y)) scale(calc(.55 + (var(--genesis-load) * .45)));
  transform-style:preserve-3d;
  filter:saturate(calc(.55 + (var(--genesis-load) * .65)));
  transition:left 1.05s var(--ease),transform .2s ease-out,filter .8s ease,opacity .6s ease;
}
.genesis-sculpture::before { content:""; position:absolute; inset:11%; border-radius:50%; background:conic-gradient(from 20deg,#ff2e81,#743cff,#17d9ff,#79ff70,#ffe65b,#ff532f,#ff2e81); filter:blur(54px); opacity:calc(.24 + (var(--genesis-load) * .42)); animation:genesis-breathe 3.4s ease-in-out infinite; }
.genesis-sculpture__aura { position:absolute; inset:-16%; transform-style:preserve-3d; }
.genesis-sculpture__aura i { position:absolute; inset:10%; border:1px solid rgba(103,238,255,.35); border-radius:50%; transform:rotateX(67deg) rotateZ(0); animation:genesis-ring 9s linear infinite; }
.genesis-sculpture__aura i:nth-child(2) { inset:3%; border-color:rgba(255,55,141,.32); transform:rotateY(68deg) rotateZ(30deg); animation-duration:12s; animation-direction:reverse; }
.genesis-sculpture__aura i:nth-child(3) { inset:18%; border-style:dashed; border-color:rgba(255,229,77,.48); transform:rotateX(28deg) rotateY(64deg); animation-duration:7s; }
.genesis-sculpture__aura i::after { content:""; position:absolute; left:50%; top:-4px; width:8px; height:8px; border-radius:50%; background:#fff; box-shadow:0 0 18px #6ef7ff,0 0 36px #7848ff; }
.genesis-sculpture__body { position:absolute; inset:23%; transform-style:preserve-3d; animation:genesis-body 13s linear infinite; }
.genesis-sculpture__face { position:absolute; inset:0; border:1px solid rgba(255,255,255,.4); border-radius:35% 65% 52% 48% / 58% 38% 62% 42%; background:conic-gradient(from 210deg,rgba(255,46,129,.92),rgba(116,60,255,.76),rgba(23,217,255,.84),rgba(255,230,91,.78),rgba(255,46,129,.92)); box-shadow:inset 0 0 42px rgba(255,255,255,.28),0 0 60px rgba(77,94,255,.18); mix-blend-mode:screen; backdrop-filter:blur(4px); }
.genesis-sculpture__face--one { transform:rotateX(64deg) rotateZ(12deg) translateZ(34px); }
.genesis-sculpture__face--two { transform:rotateY(66deg) rotateZ(42deg) translateZ(18px); filter:hue-rotate(72deg); }
.genesis-sculpture__face--three { transform:rotateX(36deg) rotateY(50deg) rotateZ(84deg) translateZ(-30px); filter:hue-rotate(154deg); }
.genesis-sculpture__core { position:absolute; inset:29%; display:grid; place-items:center; border:1px solid rgba(255,255,255,.78); border-radius:50%; color:#030304; background:radial-gradient(circle at 34% 28%,#fff,#d7e4ff 28%,#7d46ff 61%,#ff367d); box-shadow:0 0 30px #fff,0 0 75px rgba(93,55,255,.8); font:700 clamp(12px,1.5vw,20px)/1 Arial; transform:translateZ(74px); }
.genesis-mark { position:relative; display:block; width:68%; aspect-ratio:1; border:1px solid rgba(3,3,4,.38); border-radius:50%; background:rgba(255,255,255,.72); box-shadow:inset 0 0 0 3px rgba(255,255,255,.32),0 3px 12px rgba(24,16,70,.32); transform:rotate(-9deg); }
.genesis-mark::before { content:""; position:absolute; inset:18%; border:clamp(2px,.28vw,4px) solid #050507; border-right-color:transparent; border-radius:50%; transform:rotate(-32deg); }
.genesis-mark i { position:absolute; left:47%; top:24%; width:34%; height:clamp(2px,.28vw,4px); border-radius:4px; background:#050507; transform:rotate(9deg); }
.genesis-mark i::after { content:""; position:absolute; left:46%; top:0; width:100%; height:100%; border-radius:inherit; background:inherit; transform:rotate(90deg) translateX(47%); transform-origin:left center; }
.genesis-mark b { position:absolute; right:15%; bottom:17%; width:14%; aspect-ratio:1; border-radius:50%; background:#d8ff32; box-shadow:0 0 8px #d8ff32; }
.genesis-mark em { position:absolute; left:18%; top:13%; width:8%; aspect-ratio:1; background:#6ef7ff; clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%); box-shadow:0 0 6px #6ef7ff; }
.genesis-sculpture__ribbons { position:absolute; inset:2%; transform-style:preserve-3d; animation:genesis-counter 16s linear infinite; }
.genesis-sculpture__ribbons i { position:absolute; left:4%; right:4%; top:43%; height:15%; border:2px solid transparent; border-top-color:#6ef7ff; border-bottom-color:rgba(112,74,255,.7); border-radius:50%; box-shadow:0 -10px 32px rgba(19,217,255,.18); transform:rotateX(64deg) rotateZ(-18deg); }
.genesis-sculpture__ribbons i:nth-child(2) { transform:rotateY(67deg) rotateZ(38deg); border-top-color:#ff3d9a; }
.genesis-sculpture__ribbons i:nth-child(3) { transform:rotateX(30deg) rotateY(62deg) rotateZ(80deg); border-top-color:#ffe14d; }
.genesis-sculpture__shards { position:absolute; inset:0; transform-style:preserve-3d; animation:genesis-counter 19s linear infinite; }
.genesis-sculpture__shards b { position:absolute; width:clamp(9px,1.1vw,17px); height:clamp(25px,4vw,62px); clip-path:polygon(50% 0,100% 100%,0 72%); background:linear-gradient(#fff,#27ddff 42%,transparent); filter:drop-shadow(0 0 8px #27ddff); }
.genesis-sculpture__shards b:nth-child(1){left:7%;top:25%;transform:rotate(28deg)}.genesis-sculpture__shards b:nth-child(2){right:9%;top:19%;transform:rotate(110deg);background:linear-gradient(#fff,#ff3d9a,transparent)}.genesis-sculpture__shards b:nth-child(3){right:4%;bottom:23%;transform:rotate(164deg);background:linear-gradient(#fff,#ffe14d,transparent)}.genesis-sculpture__shards b:nth-child(4){left:18%;bottom:5%;transform:rotate(205deg)}.genesis-sculpture__shards b:nth-child(5){left:48%;top:-3%;transform:rotate(78deg);background:linear-gradient(#fff,#82ff71,transparent)}.genesis-sculpture__shards b:nth-child(6){left:3%;bottom:46%;transform:rotate(248deg);background:linear-gradient(#fff,#ff3d9a,transparent)}
.genesis-welcome { position:absolute; left:var(--pad); top:50%; z-index:15; width:min(62vw,1050px); opacity:0; pointer-events:none; transform:translate3d(-40px,-44%,0); transition:opacity .8s ease .35s,transform 1.05s var(--ease) .25s; }
.genesis-welcome > p { margin:0 0 18px; color:rgba(243,240,232,.5); font:9px/1.2 monospace; letter-spacing:.17em; text-transform:uppercase; }
.genesis-welcome__title { font-size:clamp(64px,9.3vw,154px); line-height:.77; }
.genesis-welcome__title span { display:block; width:max-content; max-width:100%; transition:transform .28s var(--ease),color .28s ease,text-shadow .28s ease,letter-spacing .35s var(--ease); }
.genesis-welcome__hello { color:#f3f0e8; font-family:Georgia,"Times New Roman",serif; font-size:.76em; font-style:italic; font-weight:400; line-height:.78; letter-spacing:-.075em; text-transform:none; transform:translate3d(var(--welcome-hello-x,0),var(--welcome-hello-y,0),0) rotate(var(--welcome-tilt,0deg)); animation:genesis-hello-ink 4.8s ease-in-out infinite alternate; }
.genesis-welcome__group { display:flex !important; align-items:center; gap:14px; margin:.34em 0 .18em 11vw; color:rgba(243,240,232,.62); font:500 .21em/1 Arial,Helvetica,sans-serif; letter-spacing:.3em; text-transform:uppercase; transform:translate3d(var(--welcome-group-x,0),var(--welcome-group-y,0),0); }
.genesis-welcome__group::before { content:""; display:block; width:clamp(45px,7vw,110px); height:1px; background:linear-gradient(90deg,#6ef7ff,#8d54ff,#ff3d9a); box-shadow:0 0 12px rgba(110,247,255,.4); }
.genesis-welcome__control { color:#f3f0e8; font-family:"Arial Black","Helvetica Neue",Arial,sans-serif; font-size:.62em; font-weight:900; line-height:.72; letter-spacing:-.085em; text-transform:uppercase; white-space:nowrap; transform:translate3d(var(--welcome-control-x,0),var(--welcome-control-y,0),0) skewX(var(--welcome-skew,0deg)); animation:genesis-control-breathe 3.6s ease-in-out infinite alternate; }
.portal-intro--genesis.has-pointer-energy .genesis-welcome__hello { color:#fff; text-shadow:-8px 0 28px rgba(110,247,255,.2),8px 0 28px rgba(255,61,154,.18); }
.portal-intro--genesis.has-pointer-energy .genesis-welcome__group { color:#6ef7ff; letter-spacing:.36em; }
.portal-intro--genesis.has-pointer-energy .genesis-welcome__control { text-shadow:-5px 0 0 rgba(110,247,255,.22),5px 0 0 rgba(255,61,154,.18); }
.genesis-welcome__meta { display:flex; gap:28px; margin-top:30px; color:rgba(243,240,232,.48); font:9px/1.2 monospace; letter-spacing:.13em; text-transform:uppercase; }
.genesis-motion { position:absolute; inset:0; z-index:24; overflow:hidden; pointer-events:none; opacity:0; mix-blend-mode:screen; transition:opacity .28s ease; }
.genesis-motion i { position:fixed; left:0; top:0; display:block; width:68px; height:68px; border:1px solid rgba(110,247,255,.92); border-right-color:rgba(255,61,154,.85); border-bottom-color:rgba(255,225,77,.68); border-radius:50%; box-shadow:0 0 18px rgba(110,247,255,.2),inset 0 0 22px rgba(126,74,255,.12); will-change:transform; transition:transform 45ms linear; }
.genesis-motion i:nth-child(2) { border-style:dashed; border-color:rgba(255,61,154,.52); transition-duration:130ms; }
.genesis-motion i:nth-child(3) { border-color:rgba(255,225,77,.32); transition-duration:230ms; }
.genesis-motion i:first-child::before { content:""; position:absolute; inset:12px; border-radius:50%; background:radial-gradient(circle,rgba(255,255,255,.16),transparent 62%); box-shadow:inset 10px 0 14px rgba(110,247,255,.12),inset -10px 0 14px rgba(255,61,154,.12); }
.genesis-motion i:first-child::after { content:""; position:absolute; inset:-1px; border:1px solid rgba(255,255,255,.72); border-radius:50%; opacity:0; }
.genesis-motion span { position:fixed; left:0; top:0; display:block; height:1px; background:linear-gradient(90deg,rgba(255,255,255,.9),rgba(110,247,255,.65) 34%,rgba(255,61,154,.32),transparent); box-shadow:0 0 9px rgba(110,247,255,.5); transform-origin:left center; will-change:transform,width; transition:width .12s ease; }
.portal-intro--genesis.has-pointer-energy .genesis-motion { opacity:var(--motion-opacity,.6); }
.portal-intro--genesis.has-pointer-pulse .genesis-motion { opacity:.88; }
.portal-intro--genesis.has-pointer-energy .genesis-sculpture::before { opacity:.9; filter:blur(38px); }
.portal-intro--genesis.has-pointer-pulse .genesis-motion i:first-child::after { animation:genesis-touch-pulse .62s var(--ease) both; }
.genesis-entry { position:absolute; inset:0; z-index:30; width:100%; height:100%; padding:0; border:0; background:transparent; cursor:pointer; pointer-events:none; }
.genesis-entry:focus-visible { outline:1px solid #6ef7ff; outline-offset:-12px; }
.genesis-index { position:absolute; right:var(--pad); top:50%; z-index:16; display:grid; align-items:center; justify-items:center; gap:9px; color:rgba(243,240,232,.45); font:8px/1 monospace; transform:translateY(-50%); }
.genesis-index i { display:block; width:1px; height:110px; background:linear-gradient(#6ef7ff,#8d54ff,#ff3d9a); }
.portal-intro--genesis.is-loaded .genesis-loader { opacity:0; transform:translateY(35px); pointer-events:none; }
.portal-intro--genesis.is-loaded .genesis-hud span:last-child { color:#6ef7ff; }
.portal-intro--genesis.is-loaded .genesis-hud span:last-child::after { content:"GRUPO CONTROL TOTAL LISTO"; }
.portal-intro--genesis.is-loaded .genesis-hud span:last-child { font-size:0; }
.portal-intro--genesis.is-loaded .genesis-hud span:last-child::after { font-size:9px; }
.portal-intro--genesis.is-loaded .genesis-hud span:last-child i { display:none; }
.portal-intro--genesis.is-loaded .genesis-sculpture { left:70%; transform:translate3d(-50%,-50%,0) rotateX(var(--intro-rotate-x)) rotateY(var(--intro-rotate-y)) scale(.9); }
.portal-intro--genesis.is-loaded .genesis-welcome { opacity:1; transform:translate3d(0,-50%,0); }
.portal-intro--genesis.is-loaded .genesis-entry { pointer-events:auto; }
.portal-intro--genesis.is-loaded:has(.genesis-entry:hover) .genesis-sculpture { transform:translate3d(-50%,-50%,0) rotateX(var(--intro-rotate-x)) rotateY(var(--intro-rotate-y)) scale(1.02); filter:saturate(1.45) brightness(1.1); }
.portal-intro--genesis.is-opening { opacity:1; visibility:visible; pointer-events:none; clip-path:circle(0 at 70% 50%); }
.portal-intro--genesis.is-opening .genesis-sculpture { transform:translate3d(-50%,-50%,180px) rotateX(0) rotateY(0) scale(4); filter:brightness(2.2) blur(9px); opacity:0; transition:transform 1.1s var(--ease),filter .8s ease,opacity .8s ease; }
.portal-intro--genesis.is-opening .genesis-welcome { opacity:0; transform:translate3d(-70px,-50%,0); transition-delay:0s; }
.portal-intro--genesis.is-opening .genesis-hud { opacity:0; transform:translateY(-30px); }
.portal-intro--genesis.is-opening .genesis-footer { opacity:0; transform:translateY(30px); }
.portal-intro--genesis.is-opening .genesis-index { opacity:0; }
@keyframes genesis-atmosphere { to { transform:rotate(360deg); } }
@keyframes genesis-breathe { 50% { transform:scale(1.13); opacity:.82; } }
@keyframes genesis-ring { to { transform:rotateX(67deg) rotateZ(360deg); } }
@keyframes genesis-body { to { transform:rotateX(360deg) rotateY(360deg); } }
@keyframes genesis-counter { to { transform:rotateZ(-360deg) rotateY(12deg); } }
@keyframes genesis-touch-pulse { 0% { opacity:.9; transform:scale(.5); } 100% { opacity:0; transform:scale(4.4); } }
@keyframes genesis-hello-ink { to { filter:brightness(1.08); } }
@keyframes genesis-control-breathe { to { filter:drop-shadow(0 0 16px rgba(126,74,255,.14)); } }

.site-header {
  position: fixed; inset: 0 0 auto; z-index: 100; display: grid; grid-template-columns: 1fr auto 1fr;
  align-items: center; height: 92px; padding: 0 var(--pad); mix-blend-mode: difference;
}
.brand { display: inline-flex; align-items: center; gap: 12px; width: max-content; text-decoration: none; }
.brand__mark { display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid currentColor; border-radius: 50%; font-size: 10px; font-weight: 800; }
.brand__name { font-size: 11px; font-weight: 700; line-height: .95; letter-spacing: -.02em; text-transform: uppercase; }
.site-header__status { margin: 0; color: rgba(255,255,255,.7); font-size: 10px; letter-spacing: .14em; text-transform: uppercase; }
.site-header__status span { display: inline-block; width: 6px; height: 6px; margin-right: 8px; border-radius: 50%; background: var(--acid); box-shadow: 0 0 14px var(--acid); }
.menu-button { justify-self: end; display: flex; align-items: center; gap: 13px; border: 0; background: none; cursor: pointer; text-transform: uppercase; font-size: 11px; letter-spacing: .12em; }
.menu-button i, .menu-button i::after { display: block; width: 22px; height: 1px; background: currentColor; transition: transform .35s var(--ease); content: ""; }
.menu-button i::after { transform: translateY(6px); }
.menu-button[aria-expanded="true"] i { transform: rotate(45deg); }
.menu-button[aria-expanded="true"] i::after { transform: rotate(-90deg); }

.site-menu {
  position: fixed; inset: 0; z-index: 80; display: grid; align-content: center; padding: 120px var(--pad) 60px;
  background: #d8ff32; color: #080808; visibility: hidden; clip-path: inset(0 0 100% 0);
  transition: clip-path .7s var(--ease), visibility 0s .7s;
}
.site-menu.is-open { visibility: visible; clip-path: inset(0); transition-delay: 0s; }
.site-menu__index { position: absolute; top: 110px; left: var(--pad); font-size: 10px; letter-spacing: .16em; }
.site-menu a, .site-menu button {
  display: flex; justify-content: space-between; align-items: baseline; width: 100%; padding: .06em 0;
  border: 0; border-bottom: 1px solid rgba(0,0,0,.22); color: inherit; background: none; text-align: left;
  text-decoration: none; cursor: pointer; font-size: clamp(44px, 8vw, 116px); font-weight: 700; line-height: .92; letter-spacing: -.07em;
}
.site-menu a span, .site-menu button span { font-size: 11px; letter-spacing: .1em; }

main { position: relative; z-index: 2; }
.hero { position: relative; min-height: 100svh; padding: 145px var(--pad) 44px; display: flex; flex-direction: column; justify-content: space-between; overflow: hidden; }
.hero::before { content:""; position:absolute; inset:0; background: radial-gradient(circle at 77% 42%, rgba(216,255,50,.12), transparent 27%), linear-gradient(120deg, transparent 48%, rgba(255,255,255,.025)); pointer-events:none; }
.hero__eyebrow { position: relative; margin-left: 38%; color: var(--muted); font-size: 10px; letter-spacing: .16em; text-transform: uppercase; }
.hero__title { position: relative; z-index: 2; margin: 4vh 0; max-width: 1400px; font-size: clamp(66px, 11.2vw, 188px); font-weight: 700; line-height: .75; letter-spacing: -.085em; text-transform: uppercase; }
.hero__title > span { display: block; }
.hero__title-line { display: flex !important; align-items: center; gap: .14em; }
.hero__title em { color: transparent; -webkit-text-stroke: 1px var(--ink); font-style: normal; }
.hero__title b { display: grid; place-items: center; width: .72em; height: .72em; border-radius: 50%; color: #080808; background: var(--acid); font-size: .28em; letter-spacing: 0; }
.hero__footer { position: relative; z-index: 2; display: grid; grid-template-columns: 1fr 1fr; align-items: end; gap: 30px; }
.hero__footer p { max-width: 520px; margin: 0; margin-left: 38%; color: var(--muted); font-size: clamp(14px,1.3vw,19px); line-height: 1.35; }
.hero__footer a { justify-self: end; display: flex; justify-content: space-between; width: min(360px,100%); padding: 16px 0; border-bottom: 1px solid var(--ink); text-decoration: none; text-transform: uppercase; font-size: 11px; letter-spacing: .12em; }
.hero__orbit { position: absolute; right: 3vw; top: 18%; width: min(33vw,520px); aspect-ratio: 1; opacity: .34; transform: rotate(-12deg); }
.hero__orbit i { position:absolute; inset:0; border:1px solid var(--line); border-radius:50%; animation: orbit 18s linear infinite; }
.hero__orbit i:nth-child(2){inset:16%;animation-duration:12s;animation-direction:reverse}.hero__orbit i:nth-child(3){inset:32%;animation-duration:8s}
.hero__orbit i::after { content:""; position:absolute; left:50%; top:-4px; width:8px; height:8px; border-radius:50%; background:var(--acid); box-shadow:0 0 20px var(--acid); }
.hero__orbit strong { position:absolute; inset:43%; display:grid; place-items:center; border-radius:50%; background:var(--ink); color:#080808; font-size:14px; }
@keyframes orbit { to { transform:rotate(360deg); } }

.reveal { opacity: 0; transform: translateY(40px); transition: opacity .9s var(--ease), transform .9s var(--ease); }
.reveal.is-visible { opacity: 1; transform: none; }

.manifesto { min-height: 84svh; display: grid; grid-template-columns: 1fr 3fr; align-items: center; gap: 30px; padding: 100px var(--pad); background: var(--acid); color: #080808; }
.manifesto__label { align-self: start; margin: 10px 0; font-size: 10px; letter-spacing: .16em; text-transform: uppercase; }
.manifesto__copy { margin: 0; max-width: 1100px; font-size: clamp(42px,7vw,108px); font-weight: 700; line-height: .92; letter-spacing: -.065em; }

.projects { position: relative; min-height: 100svh; padding: 140px var(--pad) 180px; background: #0b0b0b; }
.projects__header { display: grid; grid-template-columns: 1fr 2fr auto; align-items: start; gap: 30px; margin-bottom: 100px; }
.projects__header p, .projects__header span { margin: 8px 0 0; color: var(--muted); font-size: 10px; letter-spacing: .16em; text-transform: uppercase; }
.projects__header h2 { margin:0; font-size:clamp(56px,9vw,138px); line-height:.83; letter-spacing:-.075em; text-transform:uppercase; }
.project-list { position: relative; z-index: 3; width: 100%; }
.project {
  position: relative; display: grid; grid-template-columns: 70px minmax(0,1fr) minmax(190px,.5fr) 40px; align-items: center; gap: 20px;
  width: 100%; min-height: 126px; padding: 22px 0; border: 0; border-top: 1px solid var(--line); background: transparent; text-align: left; cursor: pointer;
  transition: color .3s, padding .4s var(--ease);
}
.project:last-child { border-bottom: 1px solid var(--line); }
.project::before { content:""; position:absolute; inset:0; z-index:-1; background:var(--acid); transform:scaleY(0); transform-origin:bottom; transition:transform .42s var(--ease); }
.project:hover, .project:focus-visible, .project.is-selected { color:#080808; padding-left:18px; padding-right:18px; outline:none; }
.project:hover::before, .project:focus-visible::before, .project.is-selected::before { transform:scaleY(1); }
.project__logo { display: none; }
.project__number { font: 10px/1 monospace; }
.project__name { font-size:clamp(34px,5.5vw,88px); font-weight:700; line-height:.92; letter-spacing:-.06em; }
.project__tags { font-size:11px; line-height:1.4; text-transform:uppercase; letter-spacing:.08em; }
.project__arrow { justify-self:end; font-size:24px; transition:transform .35s var(--ease); }
.project:hover .project__arrow { transform:rotate(45deg); }

.project-preview {
  position: fixed; right: 8vw; top: 50%; z-index: 20; width: min(30vw,420px); aspect-ratio: 1; pointer-events:none;
  opacity:0; transform:translateY(-42%) scale(.75) rotate(-8deg); transition:opacity .35s, transform .55s var(--ease);
}
.project-preview.is-visible { opacity:1; transform:translateY(-50%) scale(1) rotate(0); }
.project-preview::before { content:""; position:absolute; inset:11%; border-radius:38% 62% 55% 45%; background:radial-gradient(circle at 36% 28%,#fff 0 2%,var(--acid) 3%,#7d941b 20%,#101010 66%); box-shadow:0 0 90px rgba(216,255,50,.2); animation:morph 7s ease-in-out infinite alternate; }
.project-preview strong { position:absolute; inset:0; z-index:2; display:grid; place-items:center; color:#080808; font-size:clamp(42px,7vw,96px); letter-spacing:-.08em; }
.project-preview__index { position:absolute; right:0; top:0; font-size:11px; letter-spacing:.14em; }
.project-preview__rings i { position:absolute; inset:0; border:1px solid rgba(216,255,50,.25); border-radius:50%; animation:orbit 12s linear infinite; }
.project-preview__rings i:nth-child(2){inset:6%;transform:rotate(60deg);animation-direction:reverse}.project-preview__rings i:nth-child(3){inset:20%;animation-duration:7s}
@keyframes morph { to { border-radius:59% 41% 37% 63%; transform:rotate(9deg) scale(1.06); } }

.contact { min-height:100svh; padding:140px var(--pad) 42px; display:flex; flex-direction:column; justify-content:flex-end; background:var(--orange); color:#090909; }
.contact > p { margin:0 0 6vh; font-size:11px; letter-spacing:.12em; text-transform:uppercase; }
.contact h2 { margin:0; font-size:clamp(90px,18vw,280px); line-height:.72; letter-spacing:-.095em; text-transform:uppercase; }
.contact h2 span { color:var(--acid); }
.contact > a { display:flex; justify-content:space-between; align-items:center; width:100%; margin-top:8vh; padding:20px 0; border-top:1px solid rgba(0,0,0,.45); border-bottom:1px solid rgba(0,0,0,.45); font-size:clamp(20px,3vw,46px); text-decoration:none; }
.contact footer { display:flex; justify-content:space-between; margin-top:10vh; font-size:10px; letter-spacing:.1em; text-transform:uppercase; }

.division-float-panel, .division-action-portal, .legal-mini-panel {
  position:fixed; inset:0; z-index:300; visibility:hidden; opacity:0; pointer-events:none; background:rgba(6,6,6,.96);
  transition:opacity .45s var(--ease), visibility 0s .45s;
}
.division-float-panel.is-open, .division-action-portal.is-open, .legal-mini-panel.is-open { visibility:visible; opacity:1; pointer-events:auto; transition-delay:0s; }
.division-float-panel { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
.division-float-panel__visual { position:relative; display:grid; place-items:center; overflow:hidden; background:var(--acid); color:#080808; }
.division-float-panel__visual span { position:relative; z-index:2; font-size:clamp(100px,18vw,280px); font-weight:700; letter-spacing:-.1em; }
.division-float-panel__visual i { position:absolute; width:72%; aspect-ratio:1; border:1px solid rgba(0,0,0,.28); border-radius:50%; animation:orbit 13s linear infinite; }
.division-float-panel__visual i:nth-of-type(2){width:48%;animation-direction:reverse;animation-duration:9s}
.division-float-panel__shell { position:relative; display:flex; flex-direction:column; justify-content:center; padding:120px clamp(28px,6vw,100px) 60px; overflow:auto; }
.division-float-panel__close, .division-action-portal__close, .legal-mini-panel__close { position:absolute; right:var(--pad); top:38px; border:0; background:none; cursor:pointer; font-size:11px; letter-spacing:.12em; text-transform:uppercase; }
.division-float-panel__kicker, .legal-mini-panel__kicker, .division-action-portal__meta { margin:0 0 32px; color:var(--muted); font-size:10px; letter-spacing:.16em; text-transform:uppercase; }
.division-float-panel__title { margin:0; font-size:clamp(54px,7vw,112px); line-height:.82; letter-spacing:-.075em; }
.division-float-panel__desc { max-width:620px; margin:30px 0 48px; color:var(--muted); font-size:clamp(16px,1.6vw,23px); line-height:1.35; }
.division-float-panel__tools { display:flex; flex-wrap:wrap; gap:8px; }
.division-float-panel__tool { padding:11px 15px; border:1px solid var(--line); border-radius:99px; background:none; cursor:pointer; font-size:10px; letter-spacing:.1em; text-transform:uppercase; transition:.25s; }
.division-float-panel__tool:hover, .division-float-panel__tool:focus-visible { color:#080808; background:var(--acid); border-color:var(--acid); outline:none; }
.division-float-panel__enter { display:flex; justify-content:space-between; width:100%; margin-top:50px; padding:18px 0; border:0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:none; cursor:pointer; text-align:left; text-transform:uppercase; font-size:11px; letter-spacing:.12em; }

.division-action-portal__shell { position:relative; z-index:2; height:100%; max-height:100%; padding:130px var(--pad) 86px; overflow:auto; overscroll-behavior:none; background:none; }
.division-action-portal__back { position:absolute; left:var(--pad); top:40px; border:0; background:none; cursor:pointer; font-size:11px; letter-spacing:.12em; text-transform:uppercase; }
.division-action-portal__meta { margin-left:34%; }
.division-action-portal__title { margin:0 0 18px 34%; max-width:900px; font-size:clamp(58px,10vw,160px); line-height:.78; letter-spacing:-.085em; text-transform:uppercase; }
.division-action-portal__subtitle { margin:0 0 70px 34%; max-width:660px; color:var(--muted); font-size:clamp(16px,1.5vw,22px); }
.division-action-portal__body { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); }
.division-action-card { position:relative; min-height:280px; padding:28px; border:0; border-right:1px solid var(--line); border-bottom:1px solid var(--line); color:inherit; background:none; text-align:left; }
button.division-action-card { cursor:pointer; transition:background .3s,color .3s; }
button.division-action-card:hover, button.division-action-card:focus-visible { color:#080808; background:var(--acid); outline:none; }
.division-action-card__kicker { font-size:9px; letter-spacing:.15em; text-transform:uppercase; }
.division-action-card__title { margin-top:80px; font-size:clamp(24px,2.6vw,42px); font-weight:700; letter-spacing:-.05em; }
.division-action-card__text { margin-top:14px; max-width:320px; color:var(--muted); font-size:13px; line-height:1.45; }
button.division-action-card:hover .division-action-card__text { color:rgba(0,0,0,.62); }
.division-action-card__hint { position:absolute; right:24px; top:26px; font-size:9px; letter-spacing:.12em; }
.division-action-portal__whatsapp { display:flex; justify-content:space-between; margin-top:70px; padding:20px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); text-decoration:none; text-transform:uppercase; font-size:12px; letter-spacing:.12em; }

.legal-mini-panel { display:grid; place-items:center; background:rgba(0,0,0,.94); }
.legal-mini-panel__shell { position:relative; width:min(900px,calc(100vw - 32px)); max-height:86svh; padding:80px clamp(24px,6vw,80px) 50px; overflow:hidden; border:1px solid var(--line); background:#111; }
.legal-mini-panel__close { top:24px; right:24px; }
.legal-mini-panel__title { margin:0 0 35px; font-size:clamp(38px,6vw,80px); line-height:.85; letter-spacing:-.06em; text-transform:uppercase; }
.legal-mini-panel__scroll { max-height:45svh; overflow:auto; padding-right:20px; color:var(--muted); font-size:13px; line-height:1.6; }

/* ============================================================
   DIVISIONES / SIGNAL WINDOWS
   Cada fila es un cartel cinético y cada división abre un mundo.
   ============================================================ */
.project-list:has(.project:hover) .project:not(:hover),
.project-list:has(.project:focus-visible) .project:not(:focus-visible){opacity:.28;filter:blur(1.5px);transform:scale(.985)}
.project{transition:color .3s,padding .4s var(--ease),opacity .35s,filter .35s,transform .45s var(--ease)}
.project:hover,.project:focus-visible{z-index:5;transform:scale(1.012);box-shadow:0 22px 70px rgba(var(--division-rgb),.14)}
.project:hover .project__arrow,.project:focus-visible .project__arrow{transform:rotate(45deg) scale(1.55)}
.project:hover .project__name,.project:focus-visible .project__name{text-shadow:18px 0 0 rgba(0,0,0,.08),36px 0 0 rgba(0,0,0,.045)}

.project-preview{
  --division-color:var(--acid);--division-rgb:216,255,50;--preview-rx:0deg;--preview-ry:0deg;
  right:3vw;top:50%;width:min(42vw,620px);aspect-ratio:1;isolation:isolate;
  transform:translateY(-42%) scale(.72) rotate(-8deg);transition:opacity .3s,transform .68s var(--ease);
}
.project-preview.is-visible{transform:translateY(-50%) scale(1) rotate(0)}
.project-preview:not(.is-visible) *{animation-play-state:paused!important}
.project-preview::before{display:none}
.project-preview__aura{position:absolute;inset:2%;border-radius:50%;background:radial-gradient(circle,rgba(var(--division-rgb),.22),rgba(var(--division-rgb),.06) 38%,transparent 70%);filter:blur(18px);animation:previewAura 3s ease-in-out infinite alternate}
@keyframes previewAura{to{transform:scale(1.18);opacity:.55}}
.project-preview__ghost{position:absolute;left:-24%;top:11%;z-index:-1;width:max-content;color:transparent;-webkit-text-stroke:1px rgba(var(--division-rgb),.22);font-size:clamp(70px,9vw,150px);font-weight:900;line-height:.75;letter-spacing:-.08em;text-transform:uppercase;transform:rotate(-11deg);opacity:.72}
.project-preview__coordinates{position:absolute;left:3%;right:3%;top:2%;display:flex;justify-content:space-between;color:var(--division-color);font:700 9px/1 monospace;letter-spacing:.16em}
.project-preview__artifact{position:absolute;inset:8%;display:grid;place-items:center;perspective:1000px;transform-style:preserve-3d;transform:rotateX(var(--preview-rx)) rotateY(var(--preview-ry));transition:transform .22s ease-out}
.project-preview__core{position:absolute;inset:25%;display:grid;place-items:center;border-radius:42% 58% 64% 36%/55% 39% 61% 45%;background:radial-gradient(circle at 34% 27%,#fff 0 2%,var(--division-color) 3%,rgba(var(--division-rgb),.72) 17%,#090909 69%);box-shadow:0 35px 90px rgba(0,0,0,.48),0 0 80px rgba(var(--division-rgb),.2);animation:previewCore 5s ease-in-out infinite alternate;transform-style:preserve-3d}
.project-preview__core::after{content:"";position:absolute;inset:12%;border:1px solid rgba(var(--division-rgb),.5);border-radius:inherit;transform:translateZ(28px)}
.project-preview__core strong{position:relative;inset:auto;z-index:4;display:block;color:var(--division-color);font-size:clamp(58px,7vw,108px);font-weight:900;letter-spacing:-.1em;mix-blend-mode:difference;transform:translateZ(54px)}
.division-brand-logo{display:block;position:relative;z-index:6;object-fit:contain;filter:drop-shadow(0 18px 28px rgba(0,0,0,.34));transform:translateZ(58px)}
.division-brand-logo[hidden]{display:none!important}
.project-preview__core .division-brand-logo{width:78%;height:78%}
.division-float-panel__object .division-brand-logo{width:64%;height:64%}
.division-action-portal__artifact .division-brand-logo{width:54%;height:54%}
@keyframes previewCore{to{border-radius:63% 37% 31% 69%/39% 62% 38% 61%;transform:translateZ(35px) rotate(8deg) scale(1.06)}}
.project-preview__planes{position:absolute;inset:15%;transform-style:preserve-3d;animation:previewPlanes 11s linear infinite}
.project-preview__planes i{position:absolute;left:50%;top:50%;width:74%;height:38%;border:1px solid rgba(var(--division-rgb),.46);background:linear-gradient(135deg,rgba(var(--division-rgb),.12),transparent 55%);transform-style:preserve-3d}
.project-preview__planes i:nth-child(1){transform:translate(-50%,-50%) rotateX(68deg) rotateZ(14deg)}.project-preview__planes i:nth-child(2){transform:translate(-50%,-50%) rotateY(66deg) rotateZ(38deg)}.project-preview__planes i:nth-child(3){transform:translate(-50%,-50%) rotateX(38deg) rotateY(62deg) rotateZ(80deg)}.project-preview__planes i:nth-child(4){width:45%;height:70%;transform:translate(-50%,-50%) rotateX(72deg) rotateZ(112deg)}
@keyframes previewPlanes{to{transform:rotateY(360deg) rotateZ(360deg)}}
.project-preview__rings{position:absolute;inset:1%;transform-style:preserve-3d}
.project-preview__rings i{position:absolute;inset:0;border-color:rgba(var(--division-rgb),.5);transform:rotateX(62deg) rotateZ(0);animation:previewRing 8s linear infinite}
.project-preview__rings i:nth-child(2){inset:10%;animation-direction:reverse;animation-duration:6s}.project-preview__rings i:nth-child(3){inset:22%;animation-duration:4s}
@keyframes previewRing{to{transform:rotateX(62deg) rotateZ(360deg)}}
.project-preview__satellites i{position:absolute;width:11px;height:11px;border-radius:50%;background:var(--division-color);box-shadow:0 0 24px var(--division-color);animation:satelliteFloat 3.8s ease-in-out infinite alternate}
.project-preview__satellites i:nth-child(1){left:8%;top:25%}.project-preview__satellites i:nth-child(2){right:7%;top:40%;animation-delay:-1s;transform:scale(.6)}.project-preview__satellites i:nth-child(3){left:28%;bottom:7%;animation-delay:-2s;transform:scale(.45)}.project-preview__satellites i:nth-child(4){right:28%;top:4%;animation-delay:-2.7s;transform:scale(.75)}
@keyframes satelliteFloat{to{translate:18px -24px;opacity:.35}}
.project-preview__statement{position:absolute;right:4%;bottom:10%;z-index:4;width:150px;margin:0;color:var(--division-color);font-size:12px;font-weight:900;line-height:.9;letter-spacing:-.03em;text-align:right;text-transform:uppercase}
.project-preview__ticker{position:absolute;left:7%;right:7%;bottom:1%;height:28px;overflow:hidden;border-top:1px solid rgba(var(--division-rgb),.55);border-bottom:1px solid rgba(var(--division-rgb),.55);color:var(--division-color);font-size:10px;font-weight:800;line-height:28px;white-space:nowrap;transform:rotate(-3deg)}
.project-preview__ticker span{display:block;width:max-content;animation:tickerRun 9s linear infinite}
.project-preview[data-form="2"] .project-preview__core{border-radius:50% 8% 50% 8%;transform:rotate(45deg)}
.project-preview[data-form="2"] .project-preview__core strong{transform:rotate(-45deg) translateZ(54px)}
.project-preview[data-form="2"] .project-preview__core .division-brand-logo{transform:rotate(-45deg) translateZ(58px)}
.project-preview[data-form="3"] .project-preview__core{clip-path:polygon(50% 0,100% 30%,82% 100%,18% 100%,0 30%);border-radius:0}
.project-preview[data-form="4"] .project-preview__core{border-radius:50% 50% 12% 50%/50% 50% 50% 12%}
.project-preview[data-form="5"] .project-preview__core{clip-path:polygon(50% 0,62% 34%,100% 50%,62% 66%,50% 100%,38% 66%,0 50%,38% 34%);border-radius:0}
.project { overflow:hidden; isolation:isolate; }
.project::before { background:var(--division-color,var(--acid)); }
.project::after {
  content:attr(data-echo); position:absolute; left:80px; top:50%; z-index:-1; width:max-content;
  color:transparent; -webkit-text-stroke:1px rgba(0,0,0,.18); font-size:clamp(70px,10vw,160px);
  font-weight:900; line-height:.7; letter-spacing:-.08em; text-transform:uppercase;
  opacity:0; transform:translate3d(18%,80%,0) skewX(-12deg); transition:opacity .2s,transform .65s var(--ease);
}
.project:hover::after,.project:focus-visible::after,.project.is-selected::after { opacity:1; transform:translate3d(-4%,-50%,0) skewX(-12deg); }
.project__name { position:relative; transition:transform .55s var(--ease),letter-spacing .55s var(--ease); }
.project:hover .project__name,.project:focus-visible .project__name { transform:translateX(clamp(8px,2vw,34px)) skewX(-5deg); letter-spacing:-.075em; }
.project__number { transition:transform .45s var(--ease); }
.project:hover .project__number { transform:rotate(-90deg); }
.project__tags { transition:transform .45s var(--ease),opacity .3s; }
.project:hover .project__tags { transform:translateX(-20px); }

.division-float-panel {
  --division-color:var(--acid); --division-rgb:216,255,50;
  opacity:1; background:#080808; clip-path:inset(0 0 100% 0);
  transition:clip-path .78s var(--ease),visibility 0s .78s;
}
.division-float-panel.is-open { clip-path:inset(0); transition-delay:0s; }
.division-float-panel::before {
  content:""; position:absolute; inset:0; z-index:5; pointer-events:none;
  background:var(--division-color); transform:scaleY(1); transform-origin:top;
}
.division-float-panel.is-open::before { animation:signalCurtain .95s .08s var(--ease) both; }
@keyframes signalCurtain { 0%{transform:scaleY(1)} 55%{transform:scaleY(1)} 100%{transform:scaleY(0)} }

.division-float-panel__visual {
  background:
    linear-gradient(90deg,rgba(0,0,0,.07) 1px,transparent 1px),
    linear-gradient(rgba(0,0,0,.07) 1px,transparent 1px),
    var(--division-color);
  background-size:42px 42px;color:#080808;isolation:isolate;
}
.division-float-panel__visual::before {
  content:"";position:absolute;inset:-30%;z-index:-1;
  background:conic-gradient(from 90deg,transparent,rgba(255,255,255,.48),transparent 22%,rgba(0,0,0,.12),transparent 58%);
  animation:divisionRadar 14s linear infinite;
}
.division-float-panel__visual::after {
  content:"";position:absolute;left:8%;bottom:10%;width:12px;height:12px;border-radius:50%;background:#080808;
  box-shadow:30px -50px 0 -3px #080808,80px 20px 0 -4px #080808,160px -80px 0 -5px #080808;
}
@keyframes divisionRadar { to{transform:rotate(360deg)} }
.division-float-panel__coordinates { position:absolute;left:28px;right:28px;top:28px;display:flex;justify-content:space-between;font:700 9px/1 monospace;letter-spacing:.15em; }
.division-float-panel__ghost {
  position:absolute;left:-.04em;bottom:-.13em;width:max-content;color:transparent;-webkit-text-stroke:1px rgba(0,0,0,.18);
  font-size:clamp(86px,15vw,250px);font-weight:900;line-height:.72;letter-spacing:-.09em;text-transform:uppercase;transform:rotate(-8deg);
}
.division-float-panel__object { position:relative;display:grid;place-items:center;width:min(60%,500px);aspect-ratio:1; }
.division-float-panel__object::before {
  content:"";position:absolute;inset:13%;border-radius:38% 62% 66% 34%/51% 37% 63% 49%;
  background:radial-gradient(circle at 32% 27%,#fff 0 2%,rgba(255,255,255,.65) 3%,rgba(0,0,0,.12) 22%,#080808 72%);
  box-shadow:0 28px 80px rgba(0,0,0,.26);animation:windowBlob 6s ease-in-out infinite alternate;
}
.division-float-panel__object span { position:relative;z-index:3;font-size:clamp(76px,11vw,180px);font-weight:900;letter-spacing:-.1em;color:var(--division-color);mix-blend-mode:difference; }
.division-float-panel__object i { position:absolute;width:100%;aspect-ratio:1;border:1px solid rgba(0,0,0,.35);border-radius:50%;animation:orbit 11s linear infinite; }
.division-float-panel__object i:nth-of-type(2){width:76%;animation-direction:reverse;animation-duration:8s}.division-float-panel__object i:nth-of-type(3){width:46%;animation-duration:5s}
.division-float-panel__object i::after{content:"";position:absolute;left:50%;top:-5px;width:10px;height:10px;border-radius:50%;background:#080808}
@keyframes windowBlob { to{transform:rotate(11deg) scale(1.08);border-radius:61% 39% 33% 67%/38% 63% 37% 62%} }
.division-float-panel__statement { position:absolute;right:26px;bottom:28px;z-index:2;width:130px;margin:0;font-size:11px;font-weight:900;line-height:.9;letter-spacing:-.03em;text-align:right; }

.division-float-panel__shell {
  min-width:0;padding-bottom:100px;background:
    radial-gradient(circle at 100% 0%,rgba(var(--division-rgb),.16),transparent 34%),
    #080808;
}
.division-float-panel__title { position:relative;z-index:1;text-transform:uppercase; }
.division-float-panel__title::after { content:"";display:block;width:70px;height:8px;margin-top:26px;background:var(--division-color);transform:skewX(-20deg); }
.division-float-panel__tools { display:grid;grid-template-columns:1fr;gap:0;border-top:1px solid var(--line); }
.division-float-panel__tool {
  display:flex;align-items:center;justify-content:space-between;width:100%;padding:13px 4px;border:0;border-bottom:1px solid var(--line);border-radius:0;
  font-size:clamp(11px,1.1vw,15px);text-align:left;transition:padding .3s var(--ease),color .25s,background .25s;
}
.division-float-panel__tool::after { content:"↗";font-size:16px; }
.division-float-panel__tool:hover,.division-float-panel__tool:focus-visible { padding-left:16px;padding-right:16px;background:var(--division-color);border-color:var(--division-color); }
.division-float-panel__enter { border-color:var(--division-color);color:var(--division-color); }
.division-float-panel__ticker {
  position:absolute;left:0;right:0;bottom:0;z-index:4;height:46px;overflow:hidden;background:var(--division-color);color:#080808;
  font-size:20px;font-weight:900;line-height:46px;letter-spacing:-.04em;text-transform:uppercase;white-space:nowrap;
}
.division-float-panel__ticker div { width:max-content;animation:tickerRun 12s linear infinite; }
@keyframes tickerRun { to{transform:translateX(-50%)} }

/* Segunda etapa: el módulo conserva el universo de la división. */
.division-action-portal {
  --division-color:var(--acid);--division-rgb:216,255,50;
  opacity:1;background:#080808;clip-path:inset(0 100% 0 0);
  transition:clip-path .72s var(--ease),visibility 0s .72s;
}
.division-action-portal.is-open{overflow:hidden;overscroll-behavior:none;clip-path:inset(0);transition-delay:0s}
.division-action-portal::after{
  content:"";position:absolute;inset:0;z-index:8;pointer-events:none;background:var(--division-color);
  transform:scaleX(0);transform-origin:left;
}
.division-action-portal.is-open::after{animation:actionWipe .9s .04s var(--ease) both}
@keyframes actionWipe{0%{transform:scaleX(0)}45%{transform:scaleX(1);transform-origin:left}46%{transform-origin:right}100%{transform:scaleX(0);transform-origin:right}}

.division-action-portal__scene{position:absolute;inset:0;overflow:hidden;pointer-events:none;background:linear-gradient(90deg,rgba(8,8,8,.98) 0%,rgba(8,8,8,.92) 57%,rgba(8,8,8,.18) 100%),radial-gradient(circle at 78% 32%,rgba(var(--division-rgb),.16),transparent 30%)}
.division-action-portal.is-open .division-action-portal__scene{position:fixed;inset:0}
.division-action-portal__grid{position:absolute;inset:0;opacity:.2;background-image:linear-gradient(rgba(var(--division-rgb),.22) 1px,transparent 1px),linear-gradient(90deg,rgba(var(--division-rgb),.22) 1px,transparent 1px);background-size:54px 54px;mask-image:linear-gradient(90deg,transparent,#000 55%,#000)}
.division-action-portal__artifact{position:absolute;right:5vw;top:9vh;width:min(32vw,520px);aspect-ratio:1;display:grid;place-items:center;perspective:900px;transform-style:preserve-3d}
.division-action-portal__artifact::before{content:"";position:absolute;inset:18%;border-radius:50%;background:radial-gradient(circle at 35% 28%,#fff 0 2%,var(--division-color) 3%,rgba(var(--division-rgb),.38) 25%,#050505 70%);box-shadow:0 0 100px rgba(var(--division-rgb),.18);animation:artifactPulse 5s ease-in-out infinite alternate}
.division-action-portal__artifact i{position:absolute;inset:8%;border:1px solid rgba(var(--division-rgb),.42);border-radius:50%;transform:rotateX(68deg) rotateZ(var(--ring-angle,0deg));animation:artifactOrbit 9s linear infinite}
.division-action-portal__artifact i:nth-child(2){inset:16%;--ring-angle:60deg;animation-direction:reverse;animation-duration:7s}.division-action-portal__artifact i:nth-child(3){inset:26%;--ring-angle:120deg;animation-duration:5s}.division-action-portal__artifact i:nth-child(4){inset:36%;--ring-angle:30deg;animation-direction:reverse;animation-duration:4s}
.division-action-portal__artifact i::after{content:"";position:absolute;left:50%;top:-4px;width:8px;height:8px;border-radius:50%;background:var(--division-color);box-shadow:0 0 18px var(--division-color)}
.division-action-portal__artifact strong{position:relative;z-index:2;color:var(--division-color);font-size:clamp(54px,8vw,128px);font-weight:900;letter-spacing:-.1em;mix-blend-mode:difference}
@keyframes artifactOrbit{to{transform:rotateX(68deg) rotateZ(calc(var(--ring-angle,0deg) + 360deg))}}
@keyframes artifactPulse{to{transform:translateZ(45px) rotate(8deg) scale(1.07);border-radius:37% 63% 57% 43%}}
.division-action-portal__signal{position:absolute;left:var(--pad);right:var(--pad);top:92px;display:flex;justify-content:space-between;color:var(--division-color);font:700 9px/1 monospace;letter-spacing:.16em}
.division-action-portal__ghost{position:absolute;left:-.02em;top:15vh;color:transparent;-webkit-text-stroke:1px rgba(var(--division-rgb),.12);font-size:clamp(100px,18vw,300px);font-weight:900;line-height:.7;letter-spacing:-.1em;text-transform:uppercase;transform:rotate(-5deg);white-space:nowrap}
.division-action-portal__ticker{position:absolute;left:0;right:0;bottom:0;z-index:5;height:44px;overflow:hidden;background:var(--division-color);color:#080808;font-size:18px;font-weight:900;line-height:44px;letter-spacing:-.04em;text-transform:uppercase;white-space:nowrap}
.division-action-portal__ticker div{width:max-content;animation:tickerRun 13s linear infinite}

.division-action-portal__shell{z-index:2;background:none}
.division-action-portal__meta{position:relative;margin-left:0;color:var(--division-color)}
.division-action-portal__title{position:relative;width:min(72%,980px);margin-left:0;color:var(--ink);text-wrap:balance}
.division-action-portal__title::after{content:"";display:inline-block;width:.18em;height:.18em;margin-left:.08em;border-radius:50%;background:var(--division-color);vertical-align:top;box-shadow:0 0 28px rgba(var(--division-rgb),.7)}
.division-action-portal__subtitle{position:relative;width:min(56%,680px);margin-left:0}
.division-action-portal__body{position:relative;z-index:3;grid-template-columns:repeat(3,1fr);gap:12px;border:0;perspective:1200px}
.division-action-card{min-height:310px;overflow:hidden;border:1px solid rgba(var(--division-rgb),.28);background:rgba(8,8,8,.72);backdrop-filter:blur(8px);transform:translateZ(0);transition:transform .5s var(--ease),background .3s,color .3s,border-color .3s}
.division-action-card::before{content:attr(data-card-index);position:absolute;right:-.04em;bottom:-.2em;color:transparent;-webkit-text-stroke:1px rgba(var(--division-rgb),.2);font-size:150px;font-weight:900;line-height:1;letter-spacing:-.1em;transition:transform .55s var(--ease),color .3s}
.division-action-card::after{content:"";position:absolute;left:28px;top:62px;width:38px;height:38px;border:1px solid var(--division-color);border-radius:50%;box-shadow:inset 0 0 0 8px #080808,inset 0 0 0 9px var(--division-color);transition:transform .6s var(--ease),border-radius .6s}
button.division-action-card:hover,button.division-action-card:focus-visible{z-index:4;color:#080808;background:var(--division-color);border-color:var(--division-color);transform:translateY(-18px) rotateX(4deg) rotateY(-3deg)}
button.division-action-card:hover::before{color:rgba(0,0,0,.08);-webkit-text-stroke-color:rgba(0,0,0,.18);transform:translate(-12px,-12px) rotate(-8deg)}
button.division-action-card:hover::after{border-color:#080808;border-radius:8px;transform:rotate(135deg) scale(1.2);box-shadow:inset 0 0 0 8px var(--division-color),inset 0 0 0 9px #080808}
.division-action-card__title{position:relative;z-index:2;margin-top:108px}.division-action-card__text{position:relative;z-index:2}.division-action-card__hint{z-index:2}
.division-action-portal__whatsapp{position:relative;z-index:3;color:var(--division-color);border-color:rgba(var(--division-rgb),.55)}
.division-action-portal.is-registro .division-action-portal__body{display:block}
.division-action-portal.is-registro .division-action-portal__whatsapp,
.division-action-portal.is-paginas .division-action-portal__whatsapp,
.division-action-portal.is-paginas .division-action-portal__signal{display:none}
.division-action-portal.is-paginas .division-action-portal__body{grid-template-columns:repeat(2,minmax(0,1fr))}
.acceso-directo{
  --talon:78px;
  --rx:2deg;
  --ry:0deg;
  --mx:50%;
  --my:20%;
  position:relative;
  display:grid;
  grid-template-columns:var(--talon) minmax(0,1fr) 22px;
  align-items:center;
  gap:14px;
  grid-column:1 / -1;
  min-height:92px;
  padding:16px 18px 16px 0;
  border:1px solid rgba(246,241,232,.28);
  border-radius:8px;
  background:
    radial-gradient(circle 12px at var(--talon) -1px, transparent 9px, rgba(246,241,232,.7) 10px, transparent 12px),
    radial-gradient(circle 12px at var(--talon) calc(100% + 1px), transparent 9px, rgba(246,241,232,.7) 10px, transparent 12px),
    linear-gradient(165deg, #242424 0%, #050505 46%, #000 100%);
  color:#fff;
  font-size:22px;
  font-family:Palatino, "Iowan Old Style", Georgia, serif;
  font-weight:700;
  letter-spacing:-.03em;
  line-height:1.05;
  text-decoration:none;
  text-transform:none;
  box-shadow:
    inset 6px 0 0 #e10600,
    0 4px 0 #050505,
    0 10px 18px rgba(0,0,0,.4);
  transform:perspective(1800px) rotateX(var(--rx)) rotateY(var(--ry));
  transform-origin:center center;
  transition:transform .28s ease, box-shadow .28s ease;
  will-change:transform;
}
.acceso-directo::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:radial-gradient(380px circle at var(--mx) var(--my), rgba(255,255,255,.2), transparent 46%);
  pointer-events:none;
}
.acceso-directo::after{
  content:"";
  position:absolute;
  left:var(--talon);
  top:14px;
  bottom:14px;
  border-left:1.5px dashed rgba(246,241,232,.55);
  pointer-events:none;
}
.acceso-directo__talon,
.acceso-directo__copia,
.acceso-directo__flecha{position:relative;z-index:1}
.acceso-directo__talon{
  display:grid;
  place-items:center;
  width:var(--talon);
  height:64px;
}
.acceso-directo__talon svg{
  width:28px;
  height:28px;
  fill:none;
  stroke:#e10600;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.acceso-directo__kicker{
  display:block;
  margin-bottom:4px;
  color:#e10600;
  font-family:"Avenir Next", "Segoe UI", sans-serif;
  font-size:11px;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.acceso-directo__flecha{
  width:10px;
  height:10px;
  border-right:2px solid #fff;
  border-bottom:2px solid #fff;
  transform:rotate(-45deg);
}
.acceso-directo:active{
  box-shadow:
    inset 6px 0 0 #e10600,
    0 2px 0 #050505,
    0 8px 14px rgba(0,0,0,.35);
}
.acceso-directo:focus-visible{outline:2px solid #f6f1e8;outline-offset:4px}
@media (prefers-reduced-motion: reduce){
  .acceso-directo{transform:none;transition:none}
}
.division-action-portal.is-paginas .portal-losa{
  --talon:78px;
  position:relative;
  display:grid;
  grid-template-columns:var(--talon) minmax(0,1fr) 18px;
  align-items:center;
  gap:14px;
  width:100%;
  min-height:118px;
  padding:16px 16px 16px 0;
  border:1px solid rgba(246,241,232,.28);
  border-radius:8px;
  background:
    radial-gradient(circle 12px at var(--talon) -1px, transparent 9px, rgba(246,241,232,.7) 10px, transparent 12px),
    radial-gradient(circle 12px at var(--talon) calc(100% + 1px), transparent 9px, rgba(246,241,232,.7) 10px, transparent 12px),
    #000;
  color:#fff;
  font:inherit;
  text-align:left;
  cursor:pointer;
  appearance:none;
  box-shadow:inset 6px 0 0 #e10600, 0 12px 24px rgba(0,0,0,.45);
}
.division-action-portal.is-paginas .portal-losa::after{
  content:"";
  position:absolute;
  left:var(--talon);
  top:16px;
  bottom:16px;
  border-left:1.5px dashed rgba(246,241,232,.55);
  pointer-events:none;
}
.division-action-portal.is-paginas .portal-losa__placa,
.division-action-portal.is-paginas .portal-losa__copia,
.division-action-portal.is-paginas .portal-losa__flecha{position:relative;z-index:1}
.division-action-portal.is-paginas .portal-losa__placa{
  display:grid;
  place-items:center;
  width:var(--talon);
  height:72px;
}
.division-action-portal.is-paginas .portal-losa__placa svg{
  width:28px;
  height:28px;
  fill:none;
  stroke:#e10600;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.division-action-portal.is-paginas .portal-losa__vivo{
  width:12px;
  height:12px;
  border-radius:50%;
  background:#e10600;
  box-shadow:0 0 0 4px rgba(225,6,0,.16);
}
.division-action-portal.is-paginas .portal-losa__kicker{
  display:block;
  margin-bottom:4px;
  color:#e10600;
  font-size:11px;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.division-action-portal.is-paginas .portal-losa strong{
  display:block;
  font-family:Palatino, "Iowan Old Style", Georgia, serif;
  font-size:26px;
  font-weight:700;
  letter-spacing:-.03em;
  line-height:1;
}
.division-action-portal.is-paginas .portal-losa__copia span:last-child{
  display:block;
  margin-top:6px;
  color:#d5d0c8;
  font-size:13px;
  line-height:1.35;
}
.division-action-portal.is-paginas .portal-losa__flecha{
  width:10px;
  height:10px;
  border-right:2px solid #fff;
  border-bottom:2px solid #fff;
  transform:rotate(-45deg);
}
.division-action-portal.is-paginas .portal-losa:hover,
.division-action-portal.is-paginas .portal-losa:focus-visible{
  transform:translateY(-3px);
}
.division-action-portal.is-paginas .portal-losa:active{
  transform:translateY(1px);
}
.division-action-portal.is-paginas .portal-losa:focus-visible{outline:2px solid #f6f1e8;outline-offset:3px}
@keyframes losaFlotar{
  0%,100%{translate:0 0}
  50%{translate:0 -4px}
}
@keyframes losaBrillo{
  0%,62%{transform:translateX(-140%)}
  100%{transform:translateX(140%)}
}
@keyframes vivoPulso{
  0%{box-shadow:0 0 0 0 rgba(61,214,140,.65)}
  100%{box-shadow:0 0 0 14px rgba(61,214,140,0)}
}
.division-action-card--aria::after{display:none}
.division-action-card.division-action-card--aria{min-height:420px;overflow:visible}
.division-action-card--aria .division-action-card__title{margin-top:18px}
.division-action-portal.is-chat .division-action-portal__artifact,
.division-action-portal.is-chat .division-action-portal__ghost,
.division-action-portal.is-chat .division-action-portal__signal,
.division-action-portal.is-chat .division-action-portal__title,
.division-action-portal.is-chat .division-action-portal__subtitle,
.division-action-portal.is-chat .division-action-portal__meta,
.division-action-portal.is-chat .division-action-portal__whatsapp{display:none}
.division-action-portal.is-chat .division-action-portal__shell{
  display:flex;
  flex-direction:column;
  height:100%;
  padding:72px 16px 56px;
  overflow:hidden;
}
.division-action-portal.is-chat .division-action-portal__body{
  display:flex;
  flex:1;
  min-height:0;
  grid-template-columns:none;
}
body.aria-chat-abierto .aria-flotante{display:none}
.aria-chat{
  display:flex;
  flex-direction:column;
  width:100%;
  min-height:0;
  flex:1;
  gap:10px;
}
.aria-chat-cabeza{
  display:flex;
  align-items:center;
  gap:12px;
  flex:none;
}
.aria-chat-cabeza .aria-esfera{width:48px;height:48px}
.aria-chat-cabeza p{margin:0;font-size:15px;font-weight:700;letter-spacing:-.03em}
.aria-chat-hilo{
  flex:1;
  min-height:0;
  overflow:auto;
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:4px 2px 8px;
}
.aria-chat-linea{
  max-width:92%;
  margin:0;
  padding:12px 14px;
  border-radius:16px;
  background:rgba(255,255,255,.06);
  font-size:15px;
  line-height:1.4;
}
.aria-chat-linea.asesora{align-self:flex-start;border:1px solid rgba(var(--division-rgb),.45)}
.aria-chat-linea:not(.asesora){align-self:flex-end;background:rgba(255,255,255,.12)}
.aria-chat-linea b{
  display:block;
  margin-bottom:4px;
  color:var(--division-color);
  font-size:11px;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.aria-tipeo::after{
  content:"";
  display:inline-block;
  width:8px;
  height:.95em;
  margin-left:2px;
  vertical-align:text-bottom;
  background:#3dd68c;
  animation:ariaCaret .32s steps(1) infinite;
}
.aria-matriz{
  color:#d9ffe8;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  text-shadow:0 0 8px #3dd68c;
}
@keyframes ariaCaret{50%{opacity:0}}
@media (prefers-reduced-motion:reduce){
  .aria-tipeo::after{animation:none}
}
.aria-chat-forma{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;flex:none}
.aria-chat-forma input{
  min-height:48px;
  padding:0 14px;
  border:1px solid rgba(var(--division-rgb),.45);
  border-radius:999px;
  background:#080808;
  color:var(--ink);
  font:inherit;
  font-size:16px;
}
.aria-chat-forma button{
  min-height:48px;
  padding:0 16px;
  border:0;
  border-radius:999px;
  background:var(--division-color);
  color:#080808;
  font-weight:800;
}
.aria-chat-entrada{
  flex:none;
  display:grid;
  gap:10px;
  margin-top:14px;
  padding-top:16px;
  border-top:1px solid rgba(255,255,255,.18);
}
.aria-chat-entrada p{
  margin:0;
  font-size:17px;
  font-weight:700;
  letter-spacing:-.03em;
  line-height:1.3;
}
.aria-chat-pasos{display:grid;grid-template-columns:1fr;gap:8px;flex:none}
.aria-chat-pasos a{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:0 16px;
  border-radius:999px;
  border:1px solid var(--division-color);
  color:var(--ink);
  font-size:15px;
  font-weight:700;
  text-decoration:none;
}
.aria-chat-pasos a:first-child{background:var(--division-color);color:#080808;border-color:var(--division-color)}
.division-action-card--aria .aria-esfera{
  position:relative;
  z-index:2;
  display:block;
  width:112px;
  height:112px;
  margin-top:22px;
}
.acceso-precios{border-top:1px solid var(--line)}
.acceso-precios p{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 18px;align-items:baseline;margin:0;padding:18px 0;border-bottom:1px solid var(--line)}
.acceso-precios span{color:var(--muted);font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.acceso-precios b{font-size:clamp(22px,2.2vw,34px);font-weight:700;letter-spacing:-.04em}
.acceso-precios small{grid-column:1 / -1;color:var(--muted);font-size:14px;line-height:1.45}
.acceso-precios p:last-child b{color:var(--division-color)}
.acceso-nota{margin:22px 0 0;color:var(--muted);font-size:16px;line-height:1.45}
.acceso-registro{display:flex;justify-content:space-between;align-items:center;margin-top:28px;min-height:64px;padding:18px 22px;background:var(--division-color);color:#080808;font-size:13px;font-weight:800;letter-spacing:.12em;text-decoration:none;text-transform:uppercase}
.division-action-portal[data-level="detail"] .division-action-portal__artifact{transform:scale(1.28) rotate(18deg)}
.division-action-portal[data-level="detail"] .division-action-portal__body{grid-template-columns:1.2fr .9fr .9fr}

@media(max-width:900px){
  .division-action-portal__artifact{right:-18vw;top:8vh;width:70vw;opacity:.58}
  .division-action-portal__signal{top:72px}
  .division-action-portal__scene{background:linear-gradient(180deg,rgba(8,8,8,.86),#080808 42%),radial-gradient(circle at 78% 18%,rgba(var(--division-rgb),.2),transparent 36%)}
  .division-action-portal__shell{padding-top:120px;background:none}
  .division-action-portal__title{width:100%;font-size:15vw}
  .division-action-portal__subtitle{width:100%;margin-bottom:48px}
  .division-action-portal__body,.division-action-portal[data-level="detail"] .division-action-portal__body,
  .division-action-portal.is-paginas .division-action-portal__body{grid-template-columns:1fr}
  .division-action-card{min-height:230px;backdrop-filter:none}
  button.division-action-card:hover,button.division-action-card:focus-visible{transform:translateX(8px)}
  .division-action-portal__ticker{position:fixed;height:36px;line-height:36px;font-size:15px}
}

@media (max-width:900px) {
  .project::after{left:50px;font-size:17vw}
  .division-float-panel__visual{min-height:36svh}
  .division-float-panel__object{width:min(52vw,260px)}
  .division-float-panel__object span{font-size:15vw}
  .division-float-panel__ghost{font-size:20vw}
  .division-float-panel__statement{bottom:18px;right:18px}
  .division-float-panel__shell{padding-bottom:82px}
}

@media (max-width:1100px) {
  .division-float-panel{display:block;overflow-x:hidden;overflow-y:auto}
  .division-float-panel__visual{min-height:42svh}
  .division-float-panel__object{width:min(44vw,320px)}
  .division-float-panel__ghost{font-size:18vw}
  .division-float-panel__shell{min-height:max(58svh,700px);overflow:visible;padding-top:82px;padding-bottom:110px}
  .division-float-panel__ticker{position:fixed}
}

@media (max-width:520px) {
  .division-float-panel__visual{min-height:31svh}
  .division-float-panel__coordinates{left:18px;right:18px;top:18px}
  .division-float-panel__statement{width:100px;font-size:9px}
  .division-float-panel__ticker{height:36px;font-size:16px;line-height:36px}
  .division-float-panel__shell{padding-bottom:64px}
}

@media (max-width: 900px) {
  .cursor { display:none; }
  .genesis-sculpture { top:43%; width:min(66vw,520px); }
  .genesis-welcome { top:14%; width:calc(100% - (var(--pad) * 2)); transform:translate3d(-30px,0,0); }
  .genesis-welcome__title { font-size:clamp(56px,14vw,112px); }
  .portal-intro--genesis.is-loaded .genesis-sculpture { left:50%; top:64%; transform:translate3d(-50%,-50%,0) rotateX(var(--intro-rotate-x)) rotateY(var(--intro-rotate-y)) scale(.76); }
  .portal-intro--genesis.is-loaded .genesis-welcome { transform:none; }
  .portal-intro--genesis.is-loaded:has(.genesis-entry:hover) .genesis-sculpture { transform:translate3d(-50%,-50%,0) scale(.82); }
  .genesis-loader__number strong { font-size:clamp(78px,20vw,150px); }
  .portal-intro__copy { top:13vh; width:calc(100% - (var(--pad) * 2)); }
  .portal-intro__title { font-size:clamp(58px,14vw,116px); }
  .portal-intro__title span:last-child { margin-left:0; }
  .portal-intro__console { left:66%; top:55%; width:min(66vw,520px); }
  .portal-intro__enter { bottom:11vh; width:calc(100% - (var(--pad) * 2)); }
  .portal-intro__footer span:last-child { display:none; }
  .site-header { grid-template-columns:1fr 1fr; height:74px; }
  .site-header__status { display:none; }
  .hero { padding-top:120px; }
  .hero__eyebrow { margin-left:0; }
  .hero__title { font-size:clamp(58px,15vw,110px); line-height:.78; }
  .hero__footer { grid-template-columns:1fr; }
  .hero__footer p { margin-left:0; max-width:450px; }
  .hero__footer a { justify-self:start; }
  .hero__orbit { width:55vw; right:-18vw; top:25%; }
  .manifesto { grid-template-columns:1fr; align-content:center; }
  .projects { padding-top:100px; }
  .projects__header { grid-template-columns:1fr auto; margin-bottom:60px; }
  .projects__header h2 { grid-row:2; grid-column:1/-1; }
  .project { grid-template-columns:42px 1fr 32px; min-height:96px; }
  .project__tags { display:none; }
  .project__name { font-size:clamp(30px,8vw,62px); }
  .project-preview { display:none; }
  .division-float-panel { grid-template-columns:1fr; }
  .division-float-panel__visual { min-height:30svh; }
  .division-float-panel__visual span { font-size:22vw; }
  .division-float-panel__shell { justify-content:flex-start; padding:80px var(--pad) 50px; }
  .division-float-panel__close { top:28px; }
  .division-float-panel__title { font-size:clamp(48px,13vw,84px); }
  .division-action-portal__meta, .division-action-portal__title, .division-action-portal__subtitle { margin-left:0; }
  .division-action-portal__body { grid-template-columns:1fr; }
  .division-action-card { min-height:220px; border-right:0; }
}

@media (max-width: 520px) {
  :root { --pad: 18px; }
  .genesis-hud { top:19px; }
  .genesis-hud > span:first-child { display:none; }
  .genesis-hud { justify-content:flex-end; }
  .genesis-loader { bottom:6vh; }
  .genesis-loader__number { margin-bottom:0; }
  .genesis-loader__number strong { font-size:24vw; }
  .genesis-loader__label,.genesis-loader__status { font-size:7px; }
  .genesis-sculpture { top:42%; width:92vw; }
  .genesis-welcome { top:12%; }
  .genesis-welcome > p { margin-bottom:10px; font-size:7px; }
  .genesis-welcome__title { font-size:15.5vw; line-height:.8; }
  .genesis-welcome__hello { font-size:.78em; }
  .genesis-welcome__group { margin-left:4vw; font-size:.18em; }
  .genesis-welcome__group::before { width:38px; }
  .genesis-welcome__control { font-size:.68em; }
  .genesis-welcome__meta { gap:15px; margin-top:16px; font-size:7px; }
  .portal-intro--genesis.is-loaded .genesis-sculpture { top:61%; transform:translate3d(-50%,-50%,0) scale(.72); }
  .genesis-index { display:none; }
  .genesis-footer span:last-child { display:none; }
  .portal-intro__header { top:20px; }
  .portal-intro__header > span:first-child { display:none; }
  .portal-intro__header { justify-content:flex-end; }
  .portal-intro__copy { top:12vh; }
  .portal-intro__copy p { margin-bottom:10px; font-size:8px; }
  .portal-intro__title { font-size:clamp(54px,17vw,82px); line-height:.78; }
  .portal-intro__console { left:59%; top:52%; width:88vw; }
  .portal-intro__screen p { font-size:12px; }
  .portal-intro__enter { bottom:8.5vh; grid-template-columns:1fr auto; gap:10px; min-height:78px; padding:12px; }
  .portal-intro__enter-index { display:none; }
  .portal-intro__enter strong { font-size:15px; }
  .portal-intro__enter-icon { width:46px; height:46px; }
  .portal-intro__footer { display:none; }
  .portal-intro__ghost { top:23vh; font-size:30vw; }
  .brand__name { display:none; }
  .hero { min-height:100svh; padding-bottom:24px; }
  .hero__title { font-size:clamp(51px,16.5vw,80px); }
  .hero__footer p { font-size:13px; max-width:320px; }
  .hero__footer a { width:100%; }
  .manifesto { min-height:74svh; padding-top:70px; padding-bottom:70px; }
  .manifesto__copy { font-size:clamp(38px,12vw,62px); }
  .projects { padding-bottom:100px; }
  .project { gap:10px; }
  .project:hover, .project:focus-visible, .project.is-selected { padding-left:8px; padding-right:8px; }
  .project__number { font-size:8px; }
  .contact { min-height:82svh; padding-top:100px; }
  .contact h2 { font-size:27vw; }
  .contact footer { gap:20px; }
  .division-float-panel__visual { min-height:25svh; }
  .division-float-panel__shell { padding-top:68px; }
  .division-float-panel__desc { margin:20px 0 28px; font-size:14px; }
  .division-float-panel__enter { margin-top:28px; }
  .division-action-portal__shell { padding-top:105px; }
  .division-action-portal__title {
    width: 100%;
    max-width: 100%;
    padding-right: 76px;
    font-size: clamp(30px, 10vw, 40px);
    line-height: .92;
    letter-spacing: -.05em;
  }
  .division-action-portal__artifact {
    top: 148px;
    right: 10px;
    width: 64px;
    opacity: 1;
  }
  .division-action-portal__subtitle { margin-bottom:40px; font-size:14px; }
  .division-action-card { min-height:190px; padding:22px; }
  .division-action-card__title { margin-top:55px; }
}

@media (max-width: 900px) {
  .division-action-portal.is-paginas .division-action-portal__shell {
    display: flex;
    flex-direction: column;
    height: 100%;
    max-height: 100dvh;
    padding-top: 64px;
    padding-bottom: 44px;
    overflow: hidden;
  }
  .division-action-portal.is-paginas .division-action-portal__meta {
    flex: none;
    margin-bottom: 6px;
  }
  .division-action-portal.is-paginas .division-action-portal__title {
    flex: none;
    margin-bottom: 4px;
    font-size: clamp(28px, 8.2vw, 40px);
  }
  .division-action-portal.is-paginas .division-action-portal__subtitle {
    flex: none;
    margin-bottom: 0;
    font-size: 14px;
    line-height: 1.35;
  }
  .division-action-portal.is-paginas .division-action-portal__body {
    display: flex;
    flex: 1;
    flex-direction: column;
    justify-content: flex-start;
    gap: 16px;
    min-height: 0;
    overflow: visible;
    padding: 22px 0 12px;
  }
  .division-action-portal.is-paginas .portal-losa {
    flex: 0 0 auto;
    min-height: 112px;
    max-height: none;
    padding: 14px 14px 14px 0;
  }
  .division-action-portal.is-paginas .portal-losa strong { font-size: 22px; }
  .division-action-portal.is-paginas .acceso-directo {
    flex: none;
    min-height: 96px;
    margin-bottom: 2px;
    padding: 14px 14px 14px 0;
    font-size: 20px;
  }
  .division-action-portal.is-paginas .division-action-card,
  .division-action-portal.is-paginas .division-action-card.division-action-card--aria {
    display: flex;
    flex: 1 1 0;
    flex-direction: column;
    justify-content: center;
    min-height: 0;
    padding: 10px 14px;
    overflow: hidden;
  }
  .division-action-portal.is-paginas .division-action-card::before,
  .division-action-portal.is-paginas .division-action-card::after,
  .division-action-portal.is-paginas .division-action-card__hint {
    display: none;
  }
  .division-action-portal.is-paginas .division-action-card__title,
  .division-action-portal.is-paginas .division-action-card--aria .division-action-card__title {
    margin-top: 2px;
    font-size: 22px;
    line-height: 1.05;
  }
  .division-action-portal.is-paginas .division-action-card__text {
    margin-top: 4px;
    font-size: 12px;
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .division-action-portal.is-paginas .division-action-card--aria .aria-esfera {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { animation-duration:.001ms !important; animation-iteration-count:1 !important; scroll-behavior:auto !important; }
  .reveal { opacity:1; transform:none; }
}

@media (hover:none), (pointer:coarse) {
  .grain { display:none; }
  .world { opacity:.58; }
}

/* Portada de la obra vigente; el arte original se encuadra sin deformarlo. */
.tequila-play[hidden] { display:none; }
.is-tequila-play .division-float-panel__visual { background:#080808; container-type:inline-size; }
.is-tequila-play .division-float-panel__visual > :not(.tequila-play),
.is-tequila-play .division-float-panel__visual::before,
.is-tequila-play .division-float-panel__visual::after { display:none; }
.tequila-play { position:absolute; inset:0; overflow:hidden; color:#f3f0e8; }
.tequila-play__portrait { position:absolute; inset:0; overflow:hidden; }
.tequila-play__portrait img { position:absolute; width:250%; max-width:none; height:auto; left:-4%; top:-68cqw; filter:contrast(1.06) saturate(1.08); }
.tequila-play::before { content:""; position:absolute; z-index:3; top:0; right:0; bottom:0; width:3px; background:#f20d24; }
.tequila-play::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,.72),transparent 20%,rgba(0,0,0,.05) 46%,rgba(8,8,8,.55) 78%,#080808 94%); }
.tequila-now { display:none; margin:-22px 0 40px; color:#f3f0e8; font-family:Georgia,"Times New Roman",serif; font-size:clamp(18px,1.7vw,26px); font-style:italic; line-height:1.25; }
.is-tequila-play .tequila-now { display:block; }
.is-tequila-play .division-float-panel__shell {
  background:
    radial-gradient(circle at 100% 0%, rgba(242,13,36,.24), transparent 38%),
    #070707;
}
.is-tequila-play .division-float-panel__tool { min-height:68px; padding:20px 2px; font-size:clamp(13px,1.2vw,17px); letter-spacing:.08em; }
.is-tequila-play .division-float-panel__obra,
.is-tequila-play .division-float-panel__obra:hover { background:none; color:inherit; cursor:default; padding-left:2px; padding-right:2px; }
.is-tequila-play .division-float-panel__obra::after { content:none; }
.is-tequila-play .division-float-panel__obra b { font-weight:700; }
.is-tequila-play .division-float-panel__obra.is-activa { color:#f3f0e8; }
.is-tequila-play .division-float-panel__obra.is-activa b { font-size:1.12em; }
.is-tequila-play .division-float-panel__obra span { flex:none; color:var(--division-color); font-size:11px; letter-spacing:.16em; text-transform:uppercase; }
.is-tequila-play .division-float-panel__obra.is-activa span { font-size:13px; font-weight:800; }
.is-tequila-play .division-float-panel__obra.is-proxima { color:rgba(243,240,232,.4); }
.is-tequila-play .division-float-panel__obra.is-proxima span { color:rgba(243,240,232,.55); font-size:10px; font-weight:600; letter-spacing:.12em; }
.is-tequila-play button.division-float-panel__obra.is-viva { width:100%; border:0; border-bottom:1px solid var(--line); background:none; color:inherit; font:inherit; letter-spacing:.08em; text-align:left; text-transform:uppercase; cursor:pointer; }
.is-tequila-play button.division-float-panel__obra.is-viva::after { content:"↗"; font-size:16px; }
.is-tequila-play button.division-float-panel__obra.is-viva:hover,
.is-tequila-play button.division-float-panel__obra.is-viva:focus-visible { padding-left:16px; padding-right:16px; background:var(--division-color); color:#080808; outline:none; }
.is-tequila-play button.division-float-panel__obra.is-viva:hover span,
.is-tequila-play button.division-float-panel__obra.is-viva:focus-visible span { color:#080808; }
.is-tequila-play .division-float-panel__enter { display:none; }
.is-tequila-play .division-float-panel__title::after { width:92px; height:6px; margin-top:22px; }
.tequila-play__edition { position:absolute; z-index:1; top:30px; left:7%; right:7%; margin:0; padding-bottom:16px; border-bottom:1px solid #ffffff50; font-size:10px; letter-spacing:.2em; }
.tequila-play__copy { position:absolute; z-index:1; left:7%; right:7%; bottom:85px; }
.tequila-play__themes { margin:0 0 22px; font-size:9px; letter-spacing:.21em; }
.tequila-play__title { margin:0; font-family:Impact,"Arial Narrow",sans-serif; font-stretch:condensed; font-size:10.1cqw; font-weight:900; line-height:1; letter-spacing:-.035em; }
.tequila-play__subtitle { margin:16px 0 0; font-family:Georgia,"Times New Roman",serif; font-size:6.5cqw; font-weight:400; line-height:1.12; letter-spacing:.035em; }
.tequila-play__dream { margin:28px 0 0; padding-top:18px; border-top:1px solid #ffffff50; font-family:Georgia,"Times New Roman",serif; font-size:clamp(14px,2.5cqw,21px); font-style:italic; }
@media (max-width:900px) {
  .is-tequila-play .division-float-panel__visual { min-height:46svh; }
  .is-tequila-play .division-float-panel__tool { min-height:56px; padding:16px 2px; font-size:15px; letter-spacing:.04em; }
  .tequila-play__portrait img { top:-92cqw; }
  .tequila-play__copy { bottom:32px; }
  .tequila-play__edition { top:24px; font-size:9px; }
  .tequila-play__themes { margin-bottom:16px; font-size:8px; }
  .tequila-play__dream { margin-top:22px; }
}

/* Contención del lienzo y composición móvil de la página principal. */
@supports (overflow:clip) {
  html, body { overflow-x:clip; }
}
main { min-width:0; width:100%; overflow-x:clip; }
@media (max-width: 900px) {
  html { touch-action:pan-y pinch-zoom; }
  main > section { min-width:0; scroll-margin-top:74px; }
  .hero { min-height:100svh; padding:110px var(--pad) 44px; justify-content:center; gap:32px; }
  .hero__eyebrow { margin:0; text-align:center; font-size:9px; line-height:1.6; letter-spacing:.13em; }
  .hero__title { width:100%; max-width:650px; margin:0 auto; text-align:center; font-size:clamp(48px,16vw,100px); line-height:1.02; letter-spacing:-.065em; }
  .hero__title-line { justify-content:center; }
  .hero__title b { width:1.5em; height:1.5em; flex:none; font-size:.22em; }
  .hero__closing { margin-top:.18em; font-size:.76em; line-height:1.08; }
  .hero__closing > span { display:block; }
  .hero__footer { width:100%; max-width:480px; margin:0 auto; gap:24px; text-align:center; }
  .hero__footer p { max-width:100%; margin:0; font-size:15px; line-height:1.55; text-wrap:pretty; }
  .hero__footer a { width:100%; justify-self:stretch; min-height:48px; align-items:center; }
  .hero__orbit { right:0; top:22%; width:45vw; opacity:.16; }
  .manifesto { min-height:auto; padding:80px var(--pad); gap:24px; }
  .manifesto__label { margin:0; }
  .manifesto__copy { font-size:clamp(30px,9.2vw,68px); line-height:1.08; letter-spacing:-.045em; text-wrap:pretty; }
  .projects { min-height:auto; padding:80px var(--pad); }
  .projects__header { gap:24px 12px; margin-bottom:36px; }
  .projects__header h2 { min-width:0; font-size:clamp(30px,10.4vw,78px); line-height:1.03; letter-spacing:-.055em; }
  .project { grid-template-columns:22px 48px minmax(0,1fr) 28px; gap:10px; min-height:88px; }
  .project__logo { display:block; width:48px; height:48px; object-fit:contain; border-radius:50%; background:#080808; }
  span.project__logo { display:grid; place-items:center; color:#f6f1e8; font-size:12px; font-weight:800; letter-spacing:-.04em; }
  .project::after { display:none; }
  .project-list:has(.project:hover) .project:not(:hover),
  .project-list:has(.project:focus-visible) .project:not(:focus-visible) { opacity:1; filter:none; transform:none; }
  .project:hover, .project:focus-visible { transform:none; box-shadow:none; }
  .project:hover .project__arrow, .project:focus-visible .project__arrow { transform:none; }
  .project:hover .project__name, .project:focus-visible .project__name { text-shadow:none; }
  .project__name { min-width:0; font-size:clamp(23px,6.7vw,48px); line-height:1.12; letter-spacing:-.035em; overflow-wrap:break-word; }
  .project:hover .project__name, .project:focus-visible .project__name { transform:none; letter-spacing:-.035em; }
  .project:hover .project__number { transform:none; }
  .project:hover, .project:focus-visible, .project.is-selected { padding-left:6px; padding-right:6px; }
  .contact { min-height:auto; padding:80px var(--pad) 40px; }
  .contact > p { line-height:1.6; }
  .contact h2 { font-size:clamp(44px,16vw,124px); line-height:1.05; letter-spacing:-.065em; }
  .contact > a { margin-top:40px; font-size:clamp(19px,4vw,30px); gap:16px; }
  .contact footer { flex-wrap:wrap; gap:12px; margin-top:56px; line-height:1.5; }
  .site-menu { overflow-y:auto; overscroll-behavior-x:none; }
  .site-menu a, .site-menu button { min-width:0; gap:12px; font-size:clamp(30px,8vw,66px); line-height:1.15; padding:16px 0; }
}

/* La bienvenida es una pantalla aislada hasta activar el botón de entrada. */
html:has(body.intro-active) { overflow:hidden; overscroll-behavior:none; touch-action:none; }
body.intro-active { position:fixed; inset:0; width:100%; height:100%; overflow:hidden; overscroll-behavior:none; touch-action:none; }
body.intro-active main, body.intro-active .site-header { visibility:hidden; }
body.intro-active .portal-intro { touch-action:none; overscroll-behavior:none; }
