:root{
  --bg:#07090b;
  --surface:#0d1114;
  --surface-2:#11161a;
  --surface-3:#171d21;
  --text:#f7f8f7;
  --muted:#9ca5aa;
  --soft:#cbd0d2;
  --line:rgba(255,255,255,.09);
  --red:#ef3348;
  --red2:#ff5b6b;
  --max:1240px;
  --radius:24px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:
  radial-gradient(circle at 90% 6%,rgba(239,51,72,.08),transparent 24%),
  var(--bg);
  color:var(--text);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  -webkit-font-smoothing:antialiased;
}
img{display:block;max-width:100%}
a{color:inherit}
.wrap{width:min(calc(100% - 44px),var(--max));margin:auto}
.eyebrow{
  margin:0 0 16px;color:var(--red2);font-size:.72rem;
  font-weight:800;letter-spacing:.16em;text-transform:uppercase
}
header{
  position:sticky;top:0;z-index:50;
  background:rgba(7,9,11,.76);backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(255,255,255,.06)
}
.header-row{height:76px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.logo img{width:92px;height:auto}
.nav{display:flex;gap:26px;align-items:center}
.nav a{font-size:.9rem;color:#c3c9cc;text-decoration:none}
.nav a:hover{color:#fff}
.nav .pill{padding:10px 16px;border:1px solid var(--line);border-radius:999px}

/* HERO */
.hero{padding:100px 0 86px}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(420px,.98fr);gap:78px;align-items:center}
h1{
  margin:0;max-width:760px;
  font-size:clamp(4rem,7.7vw,7.6rem);
  line-height:.87;letter-spacing:-.078em;font-weight:790
}
.hero-copy{
  max-width:660px;margin:30px 0 34px;color:var(--muted);
  font-size:1.12rem;line-height:1.72
}
.actions{display:flex;gap:12px;flex-wrap:wrap}
.btn{
  min-height:50px;padding:0 20px;border-radius:999px;display:inline-flex;
  align-items:center;justify-content:center;text-decoration:none;font-weight:720;font-size:.92rem
}
.btn-primary{background:var(--red);color:#fff}
.btn-secondary{border:1px solid var(--line);background:rgba(255,255,255,.02);color:#e7e9e9}
.hero-visual{position:relative}
.hero-frame{
  overflow:hidden;border-radius:30px;border:1px solid var(--line);
  background:#111;box-shadow:0 30px 90px rgba(0,0,0,.42)
}
.hero-frame img{width:100%;aspect-ratio:16/10;object-fit:cover}
.hero-caption{
  position:absolute;left:-30px;bottom:26px;max-width:245px;
  padding:16px 18px;border:1px solid var(--line);border-radius:16px;
  background:rgba(11,14,16,.86);backdrop-filter:blur(14px)
}
.hero-caption strong{display:block;font-size:.9rem;margin-bottom:5px}
.hero-caption span{color:var(--muted);font-size:.78rem;line-height:1.45}

/* TOURS */
.section{padding:92px 0}
.section-head{
  display:grid;grid-template-columns:1fr .48fr;gap:60px;align-items:end;margin-bottom:38px
}
.section-head h2,.feature-head h2,.story-copy h2{
  margin:0;font-size:clamp(2.8rem,5.2vw,5.2rem);
  line-height:.95;letter-spacing:-.06em
}
.section-head p{margin:0;color:var(--muted);line-height:1.65}
.tours{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}
.tour{
  position:relative;overflow:hidden;min-height:430px;border-radius:var(--radius);
  border:1px solid var(--line);text-decoration:none;background:#111
}
.tour:nth-child(1),.tour:nth-child(4){grid-column:span 7}
.tour:nth-child(2),.tour:nth-child(3){grid-column:span 5}
.tour img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  transition:transform .35s cubic-bezier(.2,.7,.2,1),filter .35s ease
}
.tour:before{
  content:"";position:absolute;z-index:1;inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.03) 20%,rgba(0,0,0,.18) 48%,rgba(0,0,0,.88) 100%)
}
.tour:hover img{transform:scale(1.028);filter:saturate(1.05)}
.tour-content{position:absolute;z-index:2;left:28px;right:28px;bottom:26px}
.tour-top{
  display:inline-flex;padding:7px 10px;border-radius:999px;
  background:rgba(8,10,12,.7);border:1px solid rgba(255,255,255,.15);
  backdrop-filter:blur(10px);font-size:.66rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase
}
.tour h3{
  max-width:780px;margin:14px 0 20px;font-size:clamp(1.65rem,3.1vw,2.75rem);
  line-height:1.03;letter-spacing:-.045em
}
.tour-footer{display:flex;justify-content:space-between;gap:20px;color:#c4c9cb;font-size:.84rem}
.tour-footer strong{color:#fff}

/* STORY / INTERACTION */
.story{
  padding:0 0 92px
}
.story-card{
  display:grid;grid-template-columns:1.2fr .8fr;min-height:520px;
  border:1px solid var(--line);border-radius:30px;overflow:hidden;background:var(--surface)
}
.story-media{position:relative;min-height:520px}
.story-media img{width:100%;height:100%;object-fit:cover}
.story-media:after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,transparent 55%,rgba(13,17,20,.5))
}
.story-copy{padding:58px;display:flex;flex-direction:column;justify-content:center}
.story-copy p:last-child{color:var(--muted);line-height:1.7;margin:24px 0 0}

/* BENTO FEATURES */
.features{
  padding:92px 0;background:linear-gradient(180deg,#0a0d0f,var(--bg));
  border-top:1px solid var(--line)
}
.feature-head{max-width:800px;margin-bottom:38px}
.feature-head p:last-child{color:var(--muted);max-width:650px;line-height:1.65}
.bento{
  display:grid;grid-template-columns:repeat(12,1fr);gap:16px
}
.feature{
  min-height:245px;padding:28px;border:1px solid var(--line);
  border-radius:22px;background:linear-gradient(145deg,var(--surface-2),#0d1114);
  position:relative;overflow:hidden
}
.feature:nth-child(1),.feature:nth-child(2){grid-column:span 6}
.feature:nth-child(3),.feature:nth-child(4),.feature:nth-child(5),.feature:nth-child(6){grid-column:span 3}
.feature.big{min-height:300px}
.feature:after{
  content:"";position:absolute;width:150px;height:150px;right:-55px;top:-55px;
  border-radius:50%;background:radial-gradient(circle,rgba(239,51,72,.16),transparent 68%)
}
.f-icon{
  width:44px;height:44px;border-radius:13px;display:grid;place-items:center;
  background:rgba(239,51,72,.11);border:1px solid rgba(239,51,72,.2);
  color:var(--red2);font-size:1rem;font-weight:800
}
.feature h3{font-size:1.22rem;letter-spacing:-.025em;margin:42px 0 11px}
.feature p{margin:0;color:var(--muted);line-height:1.58;font-size:.9rem}

/* VR / REAL TOUR */
.vr-duo{padding:92px 0}
.duo{
  display:grid;grid-template-columns:.93fr 1.07fr;gap:18px
}
.media-card,.product-card{
  border:1px solid var(--line);border-radius:26px;overflow:hidden;background:var(--surface)
}
.media-card img{width:100%;aspect-ratio:16/10;object-fit:cover}
.media-body{padding:28px}
.media-body h3{margin:0 0 10px;font-size:1.5rem;letter-spacing:-.035em}
.media-body p{margin:0;color:var(--muted);line-height:1.62}
.product-card{
  min-height:100%;display:grid;place-items:center;padding:30px;
  background:linear-gradient(145deg,#f8f8f6,#e9eceb)
}
.product-card img{width:min(88%,680px);max-height:370px;object-fit:contain}

/* FOOTER */
footer{padding:50px 0 34px;border-top:1px solid var(--line)}
.footer-row{display:flex;justify-content:space-between;align-items:center;gap:30px}
.footer-nav{display:flex;gap:20px;flex-wrap:wrap}
.footer-nav a{font-size:.85rem;color:#9fa7ab;text-decoration:none}
.socials{display:flex;gap:9px}
.socials span{
  width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--line);
  border-radius:50%;font-size:.72rem;color:#c7ccce
}
.copy{margin-top:27px;color:#5f686d;font-size:.76rem}

@media(max-width:940px){
  .hero-grid,.story-card,.duo{grid-template-columns:1fr}
  .hero-grid{gap:46px}.hero-caption{left:16px}
  .section-head{grid-template-columns:1fr}.section-head p{max-width:620px}
  .story-copy{padding:38px}
  .feature:nth-child(n){grid-column:span 6}
}
@media(max-width:680px){.logo img{width:78px}.wrap{width:min(calc(100% - 28px),var(--max))}
  .nav{display:none}.header-row{height:68px}.logo img{width:126px}
  .hero{padding:58px 0 65px}h1{font-size:clamp(3.6rem,17vw,5.8rem)}
  .hero-caption{position:static;margin-top:10px;max-width:none}
  .tours{display:block}.tour{min-height:330px;margin-bottom:14px}
  .story{padding-bottom:65px}.story-media{min-height:330px}.story-copy{padding:30px 24px}
  .feature:nth-child(n){grid-column:span 12}.feature{min-height:0}.feature.big{min-height:0}
  .feature h3{margin-top:28px}
  .footer-row{flex-direction:column;align-items:flex-start}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;transition:none!important}
}

.rtvr-shell{
  display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);
  border-radius:30px;overflow:hidden;background:
  radial-gradient(circle at 82% 18%,rgba(239,51,72,.12),transparent 30%),
  var(--surface);
}
.rtvr-visual{min-height:440px;overflow:hidden}
.rtvr-visual img{width:100%;height:100%;object-fit:cover}
.rtvr-copy{padding:56px;display:flex;flex-direction:column;justify-content:center}
.rtvr-mark{
  width:64px;height:64px;display:grid;place-items:center;border-radius:18px;
  color:var(--red2);background:rgba(239,51,72,.09);
  border:1px solid rgba(239,51,72,.18);margin-bottom:28px
}
.rtvr-mark svg{width:38px;height:38px}
.rtvr-copy h2{margin:0;font-size:clamp(2.3rem,4vw,4.3rem);line-height:.98;letter-spacing:-.055em}
.rtvr-copy>p:not(.eyebrow){color:var(--muted);line-height:1.68;margin:24px 0 30px}
.rtvr-link{
  align-self:flex-start;display:inline-flex;gap:10px;align-items:center;
  text-decoration:none;font-weight:750;border-bottom:1px solid rgba(255,255,255,.28);
  padding-bottom:5px
}
.rtvr-link span{color:var(--red2)}
@media(max-width:900px){.rtvr-shell{grid-template-columns:1fr}.rtvr-visual{min-height:320px}.rtvr-copy{padding:38px}}
@media(max-width:620px){.rtvr-copy{padding:28px 24px}.rtvr-visual{min-height:260px}}


.rtvr-logo{
  display:block;width:min(290px,78%);height:auto;object-fit:contain;
  margin:0 0 30px;
}
.rtvr-note{
  align-self:flex-start;margin-top:2px;padding:10px 14px;border:1px solid var(--line);
  border-radius:999px;color:#c8ced0;font-size:.8rem;background:rgba(255,255,255,.025)
}


.socials a{
  width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--line);
  border-radius:50%;color:#c7ccce;text-decoration:none;
  transition:background .18s ease,color .18s ease,border-color .18s ease,transform .18s ease
}
.socials a:hover{background:#fff;color:#090b0d;border-color:#fff;transform:translateY(-2px)}
.socials svg{width:17px;height:17px;fill:currentColor;stroke:none}
.socials rect,.socials circle{fill:none;stroke:currentColor;stroke-width:1.7}
.socials circle:last-child{fill:currentColor;stroke:none}


/* Logo original sobre interfaz oscura: se conserva el archivo de marca y se
   le da una superficie clara propia para garantizar contraste. */
.logo{
  display:inline-flex;align-items:center;justify-content:center;
  padding:8px 12px;border-radius:12px;
  background:#f5f5f2;border:1px solid rgba(255,255,255,.08);
  box-shadow:0 8px 28px rgba(0,0,0,.16);
}
.logo img{width:96px!important;height:auto}
footer .logo{padding:7px 10px;border-radius:10px}
@media(max-width:680px){
  .logo{padding:7px 10px;border-radius:10px}
  .logo img{width:84px!important}
}


/* Story visual: fotografía limpia + red de nodos ligera.
   Se implementa con SVG embebido/CSS, sin librerías ni JS. */
.story-media{
  position:relative;
  min-height:520px;
  overflow:hidden;
  background:#0d1114;
}
.story-media picture{position:absolute;inset:0}
.story-media picture img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.story-media::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(7,9,11,.05) 0%,rgba(7,9,11,.08) 58%,rgba(7,9,11,.42) 100%),
    linear-gradient(180deg,rgba(7,9,11,.04),rgba(7,9,11,.16));
}

/* La red está deliberadamente contenida: visible, no protagonista. */
.node-cloud{
  position:absolute;
  z-index:2;
  inset:0;
  pointer-events:none;
  opacity:.58;
  mix-blend-mode:screen;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='640' height='420' viewBox='0 0 640 420'%3E%3Cg fill='none' stroke='%23ffffff' stroke-opacity='.24' stroke-width='1'%3E%3Cpath d='M48 92L138 54 214 118 318 70 407 142 520 98 594 166M84 242L168 190 262 234 355 178 448 244 574 218M138 54L168 190M214 118L262 234M318 70L355 178M407 142L448 244M520 98L574 218M84 242L112 328 224 300 332 354 430 292 552 340M168 190L224 300M262 234L332 354M448 244L430 292M574 218L552 340'/%3E%3C/g%3E%3Cg fill='%23ffffff'%3E%3Ccircle cx='48' cy='92' r='3' fill-opacity='.8'/%3E%3Ccircle cx='138' cy='54' r='2.3' fill-opacity='.7'/%3E%3Ccircle cx='214' cy='118' r='3.5' fill-opacity='.85'/%3E%3Ccircle cx='318' cy='70' r='2.5' fill-opacity='.7'/%3E%3Ccircle cx='407' cy='142' r='3' fill-opacity='.82'/%3E%3Ccircle cx='520' cy='98' r='2.4' fill-opacity='.7'/%3E%3Ccircle cx='594' cy='166' r='3.2' fill-opacity='.82'/%3E%3Ccircle cx='84' cy='242' r='2.5' fill-opacity='.7'/%3E%3Ccircle cx='168' cy='190' r='3.3' fill-opacity='.86'/%3E%3Ccircle cx='262' cy='234' r='2.4' fill-opacity='.72'/%3E%3Ccircle cx='355' cy='178' r='3.2' fill-opacity='.8'/%3E%3Ccircle cx='448' cy='244' r='2.6' fill-opacity='.76'/%3E%3Ccircle cx='574' cy='218' r='3.3' fill-opacity='.84'/%3E%3Ccircle cx='112' cy='328' r='2.5' fill-opacity='.68'/%3E%3Ccircle cx='224' cy='300' r='3.2' fill-opacity='.82'/%3E%3Ccircle cx='332' cy='354' r='2.4' fill-opacity='.7'/%3E%3Ccircle cx='430' cy='292' r='3.1' fill-opacity='.82'/%3E%3Ccircle cx='552' cy='340' r='2.8' fill-opacity='.75'/%3E%3C/g%3E%3C/svg%3E");
  background-size:640px 420px;
  animation:nodesDrift 12s cubic-bezier(.45,.05,.35,.95) infinite alternate;
}
.node-cloud::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 18% 26%,rgba(239,51,72,.23),transparent 16%),
    radial-gradient(circle at 72% 54%,rgba(255,255,255,.08),transparent 18%);
  filter:blur(6px);
}
@keyframes nodesDrift{
  0%{background-position:0 0;transform:translate3d(0,0,0) scale(1)}
  35%{background-position:34px -24px;transform:translate3d(10px,-7px,0) scale(1.018)}
  70%{background-position:-22px 18px;transform:translate3d(-7px,8px,0) scale(1.01)}
  100%{background-position:42px -12px;transform:translate3d(12px,-4px,0) scale(1.022)}
}
  to{background-position:24px -16px}
}
@media(max-width:680px){
  .node-cloud{opacity:.42;background-size:500px 328px}
}
@media(prefers-reduced-motion:reduce){
  .node-cloud{animation:none!important}
}


/* Único GIF de la página: nunca se amplía por encima de sus 480 px nativos. */
.hero-frame{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:300px;
  background:
    radial-gradient(circle at 50% 45%,rgba(239,51,72,.10),transparent 42%),
    #0d1114;
}
.hero-frame img{
  width:min(100%,480px)!important;
  height:auto!important;
  aspect-ratio:480/270!important;
  object-fit:contain!important;
}


.node-cloud::before{
  content:"";
  position:absolute;
  inset:-8%;
  background:
    radial-gradient(circle at 14% 28%,rgba(255,255,255,.72) 0 1.5px,transparent 2px),
    radial-gradient(circle at 36% 68%,rgba(255,255,255,.58) 0 1.4px,transparent 2px),
    radial-gradient(circle at 61% 34%,rgba(255,255,255,.68) 0 1.7px,transparent 2.2px),
    radial-gradient(circle at 81% 72%,rgba(255,255,255,.54) 0 1.4px,transparent 2px),
    radial-gradient(circle at 93% 23%,rgba(255,255,255,.64) 0 1.5px,transparent 2px);
  opacity:.7;
  animation:nodesFloat 8s ease-in-out infinite alternate;
}
@keyframes nodesFloat{
  from{transform:translate3d(-8px,6px,0)}
  to{transform:translate3d(14px,-10px,0)}
}

/* Real Tour VR: sin repetir el GIF ni usar raster ampliado. */
.rtvr-visual-static{
  min-height:440px;
  display:grid;
  place-items:center;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 45%,rgba(239,51,72,.12),transparent 34%),
    linear-gradient(145deg,#101519,#090c0e);
}
.vr-orbit{
  position:relative;
  width:230px;
  aspect-ratio:1;
  display:grid;
  place-items:center;
}
.vr-orbit>span{
  position:absolute;
  inset:0;
  border:1px solid rgba(255,255,255,.12);
  border-radius:50%;
}
.vr-orbit>span:nth-child(2){
  inset:24px;
  border-color:rgba(239,51,72,.24);
}
.vr-orbit>span:nth-child(3){
  inset:52px;
  border-color:rgba(255,255,255,.16);
}
.vr-core{
  width:102px;
  height:102px;
  display:grid;
  place-items:center;
  border-radius:26px;
  background:rgba(239,51,72,.12);
  border:1px solid rgba(239,51,72,.25);
  color:#fff;
  font-size:1.35rem;
  font-weight:800;
  letter-spacing:-.04em;
}
@media(max-width:680px){
  .hero-frame{min-height:250px}
  .rtvr-visual-static{min-height:300px}
  .vr-orbit{width:180px}
}
@media(prefers-reduced-motion:reduce){
  .node-cloud::before{animation:none!important}
}


/* V11 · Nubes de nodos independientes
   Cada capa tiene tamaño, origen, velocidad y trayectoria distintos.
   No hay una oscilación global del conjunto. */
.node-cloud{
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  overflow:hidden;
  opacity:1;
  mix-blend-mode:screen;
  background:none!important;
  animation:none!important;
  transform:none!important;
}
.node-cloud::before,
.node-cloud::after{
  content:none!important;
}

.nodes{
  position:absolute;
  display:block;
  width:52%;
  height:54%;
  opacity:.42;
  will-change:transform;
  background-repeat:no-repeat;
  background-size:100% 100%;
  filter:drop-shadow(0 0 4px rgba(255,255,255,.05));
}

/* Nube 1 · zona superior izquierda */
.nodes-a{
  left:-7%;
  top:-5%;
  width:56%;
  height:52%;
  opacity:.46;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 620 390'%3E%3Cg fill='none' stroke='%23ffffff' stroke-opacity='.20' stroke-width='1'%3E%3Cpath d='M38 104 126 56 204 116 286 72 372 130 468 78 570 138M72 226 156 180 246 230 332 172 420 222 532 194M126 56 156 180M204 116 246 230M286 72 332 172M372 130 420 222M468 78 532 194'/%3E%3C/g%3E%3Cg fill='%23ffffff'%3E%3Ccircle cx='38' cy='104' r='3' fill-opacity='.7'/%3E%3Ccircle cx='126' cy='56' r='2.2' fill-opacity='.64'/%3E%3Ccircle cx='204' cy='116' r='3.2' fill-opacity='.72'/%3E%3Ccircle cx='286' cy='72' r='2.4' fill-opacity='.62'/%3E%3Ccircle cx='372' cy='130' r='3' fill-opacity='.7'/%3E%3Ccircle cx='468' cy='78' r='2.3' fill-opacity='.64'/%3E%3Ccircle cx='570' cy='138' r='3.1' fill-opacity='.72'/%3E%3Ccircle cx='72' cy='226' r='2.4' fill-opacity='.65'/%3E%3Ccircle cx='156' cy='180' r='3' fill-opacity='.72'/%3E%3Ccircle cx='246' cy='230' r='2.5' fill-opacity='.66'/%3E%3Ccircle cx='332' cy='172' r='3.1' fill-opacity='.7'/%3E%3Ccircle cx='420' cy='222' r='2.6' fill-opacity='.66'/%3E%3Ccircle cx='532' cy='194' r='3' fill-opacity='.7'/%3E%3C/g%3E%3C/svg%3E");
  animation:driftA 24s ease-in-out infinite alternate;
}

/* Nube 2 · centro-derecha */
.nodes-b{
  right:-8%;
  top:17%;
  width:50%;
  height:49%;
  opacity:.34;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 360'%3E%3Cg fill='none' stroke='%23ffffff' stroke-opacity='.18' stroke-width='1'%3E%3Cpath d='M52 74 128 116 218 64 300 128 398 86 528 142M86 242 180 196 272 252 354 204 470 252M128 116 180 196M218 64 272 252M300 128 354 204M398 86 470 252'/%3E%3C/g%3E%3Cg fill='%23ffffff'%3E%3Ccircle cx='52' cy='74' r='2.5' fill-opacity='.64'/%3E%3Ccircle cx='128' cy='116' r='3.1' fill-opacity='.7'/%3E%3Ccircle cx='218' cy='64' r='2.4' fill-opacity='.6'/%3E%3Ccircle cx='300' cy='128' r='3.2' fill-opacity='.72'/%3E%3Ccircle cx='398' cy='86' r='2.5' fill-opacity='.62'/%3E%3Ccircle cx='528' cy='142' r='3' fill-opacity='.7'/%3E%3Ccircle cx='86' cy='242' r='2.4' fill-opacity='.62'/%3E%3Ccircle cx='180' cy='196' r='3' fill-opacity='.7'/%3E%3Ccircle cx='272' cy='252' r='2.5' fill-opacity='.64'/%3E%3Ccircle cx='354' cy='204' r='3.1' fill-opacity='.7'/%3E%3Ccircle cx='470' cy='252' r='2.6' fill-opacity='.64'/%3E%3C/g%3E%3C/svg%3E");
  animation:driftB 31s cubic-bezier(.45,.05,.35,.95) infinite alternate;
}

/* Nube 3 · inferior izquierda */
.nodes-c{
  left:9%;
  bottom:-12%;
  width:46%;
  height:50%;
  opacity:.30;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 560 360'%3E%3Cg fill='none' stroke='%23ffffff' stroke-opacity='.16' stroke-width='1'%3E%3Cpath d='M46 92 132 146 214 98 306 162 390 118 508 172M96 266 184 218 274 278 370 226 482 286M132 146 184 218M214 98 274 278M306 162 370 226M390 118 482 286'/%3E%3C/g%3E%3Cg fill='%23ffffff'%3E%3Ccircle cx='46' cy='92' r='2.4' fill-opacity='.58'/%3E%3Ccircle cx='132' cy='146' r='3' fill-opacity='.66'/%3E%3Ccircle cx='214' cy='98' r='2.3' fill-opacity='.58'/%3E%3Ccircle cx='306' cy='162' r='3.1' fill-opacity='.68'/%3E%3Ccircle cx='390' cy='118' r='2.4' fill-opacity='.58'/%3E%3Ccircle cx='508' cy='172' r='2.9' fill-opacity='.65'/%3E%3Ccircle cx='96' cy='266' r='2.3' fill-opacity='.58'/%3E%3Ccircle cx='184' cy='218' r='2.9' fill-opacity='.65'/%3E%3Ccircle cx='274' cy='278' r='2.4' fill-opacity='.6'/%3E%3Ccircle cx='370' cy='226' r='3' fill-opacity='.66'/%3E%3Ccircle cx='482' cy='286' r='2.5' fill-opacity='.6'/%3E%3C/g%3E%3C/svg%3E");
  animation:driftC 27s ease-in-out infinite alternate;
}

/* Nube 4 · inferior derecha / muy sutil */
.nodes-d{
  right:7%;
  bottom:-2%;
  width:42%;
  height:42%;
  opacity:.24;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 520 320'%3E%3Cg fill='none' stroke='%23ffffff' stroke-opacity='.14' stroke-width='1'%3E%3Cpath d='M42 78 120 112 198 76 276 132 362 92 474 138M82 234 166 198 248 244 330 202 446 254M120 112 166 198M198 76 248 244M276 132 330 202M362 92 446 254'/%3E%3C/g%3E%3Cg fill='%23ffffff'%3E%3Ccircle cx='42' cy='78' r='2.2' fill-opacity='.54'/%3E%3Ccircle cx='120' cy='112' r='2.7' fill-opacity='.6'/%3E%3Ccircle cx='198' cy='76' r='2.2' fill-opacity='.54'/%3E%3Ccircle cx='276' cy='132' r='2.9' fill-opacity='.62'/%3E%3Ccircle cx='362' cy='92' r='2.3' fill-opacity='.56'/%3E%3Ccircle cx='474' cy='138' r='2.8' fill-opacity='.62'/%3E%3Ccircle cx='82' cy='234' r='2.2' fill-opacity='.54'/%3E%3Ccircle cx='166' cy='198' r='2.8' fill-opacity='.62'/%3E%3Ccircle cx='248' cy='244' r='2.3' fill-opacity='.56'/%3E%3Ccircle cx='330' cy='202' r='2.8' fill-opacity='.62'/%3E%3Ccircle cx='446' cy='254' r='2.4' fill-opacity='.56'/%3E%3C/g%3E%3C/svg%3E");
  animation:driftD 35s ease-in-out infinite alternate;
}

@keyframes driftA{
  0%   {transform:translate3d(-2%, 1%, 0) scale(1)}
  33%  {transform:translate3d(2.5%,-1.8%,0) scale(1.015)}
  67%  {transform:translate3d(4%,1.2%,0) scale(1.025)}
  100% {transform:translate3d(1%,-2.2%,0) scale(1.01)}
}
@keyframes driftB{
  0%   {transform:translate3d(2%, -1%, 0) scale(1.01)}
  30%  {transform:translate3d(-2.5%,1.6%,0) scale(1.025)}
  65%  {transform:translate3d(-4%,-.8%,0) scale(1.015)}
  100% {transform:translate3d(-1%,2%,0) scale(1.03)}
}
@keyframes driftC{
  0%   {transform:translate3d(-1%, 2%, 0) scale(1.02)}
  38%  {transform:translate3d(2.8%,-1.2%,0) scale(1)}
  72%  {transform:translate3d(4%,1%,0) scale(1.018)}
  100% {transform:translate3d(1.5%,-2%,0) scale(1.03)}
}
@keyframes driftD{
  0%   {transform:translate3d(1%,1%,0) scale(1)}
  28%  {transform:translate3d(-2%, -1.5%,0) scale(1.018)}
  62%  {transform:translate3d(-3.5%,1.2%,0) scale(1.028)}
  100% {transform:translate3d(-.5%,-2%,0) scale(1.01)}
}

@media(max-width:680px){
  .nodes-a{width:72%;height:58%;opacity:.34}
  .nodes-b{width:66%;height:56%;opacity:.27}
  .nodes-c{width:62%;height:52%;opacity:.22}
  .nodes-d{width:56%;height:48%;opacity:.18}
}

@media(prefers-reduced-motion:reduce){
  .nodes{animation:none!important}
}


/* V12 · Mobile hardening */
@media(max-width:680px){
  .section{padding:64px 0}
  .section-head{
    display:block!important;
    margin-bottom:24px!important;
  }
  .section-head h2{
    font-size:clamp(2.6rem,12vw,4.2rem)!important;
    line-height:.94!important;
    margin:0!important;
  }
  .section-head p{
    margin:18px 0 0!important;
    font-size:.96rem!important;
    line-height:1.6!important;
  }

  .tours{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:16px!important;
  }
  .tour,
  .tour:nth-child(1),
  .tour:nth-child(2),
  .tour:nth-child(3),
  .tour:nth-child(4){
    grid-column:auto!important;
    width:100%!important;
    min-width:0!important;
    min-height:0!important;
    aspect-ratio:4/3!important;
    margin:0!important;
    position:relative!important;
    overflow:hidden!important;
    border-radius:20px!important;
  }
  .tour img{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
  }
  .tour-content{
    position:absolute!important;
    z-index:3!important;
    left:18px!important;
    right:18px!important;
    bottom:18px!important;
  }
  .tour-top{
    display:inline-flex!important;
    width:auto!important;
    max-width:100%!important;
    white-space:normal!important;
    font-size:.59rem!important;
    line-height:1.3!important;
    padding:6px 9px!important;
  }
  .tour h3{
    margin:10px 0 14px!important;
    max-width:100%!important;
    font-size:clamp(1.45rem,7vw,2.05rem)!important;
    line-height:1.03!important;
  }
  .tour-footer{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    font-size:.76rem!important;
  }
}


/* V12 · flujo de nodos independiente y continuo */
.node-cloud{
  position:absolute!important;
  inset:0!important;
  z-index:2!important;
  overflow:hidden!important;
  pointer-events:none!important;
  mix-blend-mode:screen;
}
.nodes{
  position:absolute!important;
  display:block!important;
  background-repeat:no-repeat!important;
  background-size:100% 100%!important;
  transform-origin:center center!important;
  will-change:transform,opacity!important;
}
.nodes-a{
  left:-12%!important; top:-10%!important;
  width:62%!important; height:58%!important;
  opacity:.46!important;
  animation:flowA 22s linear infinite!important;
}
.nodes-b{
  right:-13%!important; top:10%!important;
  width:58%!important; height:55%!important;
  opacity:.36!important;
  animation:flowB 29s linear infinite!important;
}
.nodes-c{
  left:3%!important; bottom:-16%!important;
  width:54%!important; height:54%!important;
  opacity:.31!important;
  animation:flowC 26s linear infinite!important;
}
.nodes-d{
  right:2%!important; bottom:-12%!important;
  width:48%!important; height:46%!important;
  opacity:.24!important;
  animation:flowD 33s linear infinite!important;
}
@keyframes flowA{
  0%{transform:translate3d(-3%,2%,0) scale(1)}
  25%{transform:translate3d(3%,-4%,0) scale(1.025)}
  50%{transform:translate3d(7%,1%,0) scale(1.01)}
  75%{transform:translate3d(2%,5%,0) scale(1.035)}
  100%{transform:translate3d(-3%,2%,0) scale(1)}
}
@keyframes flowB{
  0%{transform:translate3d(4%,-2%,0) scale(1.02)}
  20%{transform:translate3d(-2%,3%,0) scale(1.00)}
  48%{transform:translate3d(-7%,-1%,0) scale(1.03)}
  72%{transform:translate3d(-3%,5%,0) scale(1.015)}
  100%{transform:translate3d(4%,-2%,0) scale(1.02)}
}
@keyframes flowC{
  0%{transform:translate3d(-2%,4%,0) scale(1.01)}
  30%{transform:translate3d(4%,-2%,0) scale(1.035)}
  58%{transform:translate3d(7%,3%,0) scale(1.015)}
  82%{transform:translate3d(1%,-5%,0) scale(1.025)}
  100%{transform:translate3d(-2%,4%,0) scale(1.01)}
}
@keyframes flowD{
  0%{transform:translate3d(3%,3%,0) scale(1)}
  24%{transform:translate3d(-3%,-4%,0) scale(1.03)}
  52%{transform:translate3d(-6%,2%,0) scale(1.015)}
  78%{transform:translate3d(0,5%,0) scale(1.04)}
  100%{transform:translate3d(3%,3%,0) scale(1)}
}
@media(max-width:680px){
  .nodes-a{width:86%!important;height:60%!important;opacity:.38!important}
  .nodes-b{width:78%!important;height:58%!important;opacity:.30!important}
  .nodes-c{width:74%!important;height:54%!important;opacity:.26!important}
  .nodes-d{width:66%!important;height:50%!important;opacity:.20!important}
}


.sponsor-section{padding:56px 0 76px}
.sponsor-card{
  border:1px solid var(--line);
  border-radius:20px;
  background:linear-gradient(145deg,#0f1316,#0b0e10);
  overflow:hidden;
}
.sponsor-meta{
  padding:11px 18px;
  border-bottom:1px solid var(--line);
  color:#7f898e;
  font-size:.68rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-weight:800;
}
.sponsor-body{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:24px;
  padding:24px;
}
.sponsor-logo{
  width:190px;
  height:auto;
  max-height:58px;
  object-fit:contain;
}
.sponsor-copy h2{
  margin:0 0 4px;
  font-size:1.15rem;
  letter-spacing:-.02em;
}
.sponsor-copy p{
  margin:0;
  color:var(--muted);
  font-size:.9rem;
}
.sponsor-cta{
  color:#fff;
  font-weight:750;
  font-size:.88rem;
  white-space:nowrap;
}
@media(max-width:680px){
  .sponsor-section{padding:42px 0 58px}
  .sponsor-body{
    grid-template-columns:1fr;
    gap:16px;
    padding:20px;
  }
  .sponsor-logo{width:150px;max-height:48px}
  .sponsor-cta{
    justify-self:start;
    padding-top:2px;
  }
}


/* V13 · contraste AA del CTA principal */
.btn-primary{
  background:#ff4b5f!important;
  color:#19070a!important;
  text-shadow:none!important;
}
.btn-primary:hover{background:#ff6575!important}
.btn-primary:focus-visible{outline:3px solid #fff;outline-offset:3px}

/* Vídeo sustituye al GIF sin cambiar su aspecto ni escalarlo por encima de 480px */
.hero-video{
  display:block;
  width:min(100%,480px);
  height:auto;
  aspect-ratio:16/9;
  object-fit:cover;
}


/* V14 · nodos: más visibles y con mayor velocidad, manteniendo flujos independientes */
.nodes-a{
  opacity:.62!important;
  animation-duration:15s!important;
}
.nodes-b{
  opacity:.52!important;
  animation-duration:19s!important;
}
.nodes-c{
  opacity:.46!important;
  animation-duration:17s!important;
}
.nodes-d{
  opacity:.38!important;
  animation-duration:22s!important;
}
@media(max-width:680px){
  .nodes-a{opacity:.54!important;animation-duration:14s!important}
  .nodes-b{opacity:.46!important;animation-duration:18s!important}
  .nodes-c{opacity:.40!important;animation-duration:16s!important}
  .nodes-d{opacity:.33!important;animation-duration:20s!important}
}


/* V15 · iconografía funcional */
.f-icon{
  width:46px!important;
  height:46px!important;
  border-radius:14px!important;
  display:grid!important;
  place-items:center!important;
  background:rgba(239,51,72,.08)!important;
  border:1px solid rgba(239,51,72,.22)!important;
  color:#ff5b6b!important;
}
.f-icon svg{width:23px;height:23px}

/* V15 · red dinámica de nodos */
.node-cloud,.nodes{display:none!important}
.node-canvas{
  position:absolute;
  inset:0;
  z-index:2;
  width:100%;
  height:100%;
  pointer-events:none;
  opacity:.9;
  mix-blend-mode:screen;
}

/* La tarjeta patrocinada completa actúa como enlace */
.sponsor-card-link{
  display:block;
  color:inherit;
  text-decoration:none;
  border-radius:20px;
}
.sponsor-card{
  transition:background .18s ease,border-color .18s ease,transform .18s ease;
}
.sponsor-card-link:hover .sponsor-card{
  border-color:rgba(255,255,255,.18);
  background:linear-gradient(145deg,#12171a,#0d1114);
  transform:translateY(-2px);
}
.sponsor-card-link:focus-visible{
  outline:3px solid rgba(255,255,255,.85);
  outline-offset:4px;
}


/* V16 · verificación visual clara */
.f-icon{
  width:48px!important;
  height:48px!important;
  background:rgba(255,91,107,.08)!important;
  border:1px solid rgba(255,91,107,.30)!important;
  color:#ff6677!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.015);
}
.f-icon svg{width:24px!important;height:24px!important;display:block!important}

/* Canvas más visible */
.node-canvas{opacity:1!important;filter:none!important}

/* Tarjeta patrocinada: toda la superficie deja claro que es interactiva */
.sponsor-card-link{cursor:pointer!important}
.sponsor-card-link .sponsor-card{position:relative}
.sponsor-card-link .sponsor-card::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  box-shadow:inset 0 0 0 1px transparent;
  transition:box-shadow .18s ease;
}
.sponsor-card-link:hover .sponsor-card::after{
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);
}


/* V17 · funcionalidades, presentación editorial */
.features-editorial{
  padding:96px 0;
  background:linear-gradient(180deg,#0a0d0f 0%,#080a0c 100%);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.feature-head-editorial{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,.55fr);
  gap:72px;
  align-items:end;
  margin-bottom:36px;
}
.feature-head-editorial h2{
  margin:0;
  max-width:820px;
  font-size:clamp(2.8rem,5vw,5rem);
  line-height:.96;
  letter-spacing:-.06em;
}
.feature-lead{
  margin:0 0 4px;
  color:var(--muted);
  line-height:1.65;
  max-width:480px;
}
.feature-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  border-top:1px solid var(--line);
}
.feature-row{
  display:grid;
  grid-template-columns:58px 1fr;
  gap:22px;
  padding:34px 30px 36px 0;
  border-bottom:1px solid var(--line);
  min-height:190px;
}
.feature-row:nth-child(odd){
  padding-right:42px;
  border-right:1px solid var(--line);
}
.feature-row:nth-child(even){
  padding-left:42px;
}
.feature-row-icon{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  color:#ff6677;
}
.feature-row-icon svg{width:26px;height:26px}
.feature-index{
  display:block;
  margin-bottom:16px;
  color:#5f686d;
  font-size:.67rem;
  font-weight:800;
  letter-spacing:.14em;
}
.feature-row h3{
  margin:0 0 10px;
  font-size:1.18rem;
  letter-spacing:-.025em;
}
.feature-row p{
  margin:0;
  max-width:580px;
  color:var(--muted);
  line-height:1.6;
  font-size:.91rem;
}
@media(max-width:860px){
  .feature-head-editorial{grid-template-columns:1fr;gap:24px}
  .feature-list{grid-template-columns:1fr}
  .feature-row,
  .feature-row:nth-child(odd),
  .feature-row:nth-child(even){
    padding:28px 0!important;
    border-right:0!important;
    min-height:0;
  }
}
@media(max-width:560px){
  .features-editorial{padding:68px 0}
  .feature-row{grid-template-columns:46px 1fr;gap:16px}
  .feature-row-icon{width:40px;height:40px}
  .feature-row-icon svg{width:23px;height:23px}
}


/* V18 · cabecera de funcionalidades horizontal */
.feature-head-editorial{
  grid-template-columns:minmax(0,1.7fr) minmax(300px,.55fr)!important;
  gap:64px!important;
  align-items:end!important;
}
.feature-head-editorial h2{
  max-width:1120px!important;
  font-size:clamp(3rem,4.5vw,4.9rem)!important;
  line-height:.96!important;
  letter-spacing:-.055em!important;
  text-wrap:balance;
}
.feature-head-editorial > div:first-child{
  min-width:0;
}
.feature-lead{
  max-width:410px!important;
  margin-bottom:7px!important;
}
@media (min-width:1200px){
  .feature-head-editorial h2{
    white-space:nowrap;
    font-size:clamp(3rem,4.15vw,4.55rem)!important;
  }
}
@media (max-width:1199px) and (min-width:861px){
  .feature-head-editorial{
    grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr)!important;
    gap:44px!important;
  }
  .feature-head-editorial h2{
    max-width:780px!important;
  }
}
@media(max-width:860px){
  .feature-head-editorial{
    grid-template-columns:1fr!important;
    gap:22px!important;
  }
  .feature-head-editorial h2{
    max-width:680px!important;
    white-space:normal!important;
  }
  .feature-lead{max-width:580px!important}
}


/* V19 · depuración visual */
.tour-top{
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  padding:0!important;
  color:rgba(255,255,255,.72)!important;
  font-size:.66rem!important;
  font-weight:750!important;
  letter-spacing:.11em!important;
  text-transform:uppercase!important;
  backdrop-filter:none!important;
  box-shadow:none!important;
}
.tour-footer{
  border-top:1px solid rgba(255,255,255,.16);
  padding-top:13px;
}
.tour-footer > *:empty{display:none!important}

/* Sin numeración artificial en funcionalidades */
.feature-row > div:last-child{
  padding-top:2px;
}
.feature-row h3{margin-top:0!important}

/* Patrocinado deliberadamente secundario */
.sponsor-section{padding:38px 0 56px!important}
.sponsor-meta{padding:8px 16px!important;font-size:.62rem!important}
.sponsor-body{padding:17px 20px!important;gap:20px!important}
.sponsor-logo{width:155px!important;max-height:46px!important}
.sponsor-copy h2{font-size:1.02rem!important}
.sponsor-copy p{font-size:.82rem!important}
.sponsor-cta{font-size:.8rem!important}
@media(max-width:680px){
  .sponsor-section{padding:30px 0 44px!important}
  .sponsor-body{padding:17px!important;gap:12px!important}
  .sponsor-logo{width:132px!important;max-height:42px!important}
}


/* V20 · release hardening */
.skip-link{
  position:fixed;left:12px;top:12px;z-index:100000;
  transform:translateY(-180%);
  padding:10px 14px;border-radius:10px;
  background:#fff;color:#080a0c;font-weight:800;text-decoration:none;
}
.skip-link:focus{transform:translateY(0)}
a:focus-visible,button:focus-visible{
  outline:3px solid rgba(255,255,255,.9);
  outline-offset:3px;
}
img,video{max-width:100%}
@media(max-width:680px){
  body{overflow-x:hidden}
}
