/* GUMZUX Clubs · Landing R12. La tipografía y los originales son los de Clubs. */
@font-face {
  font-family: Outfit;
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url(outfit-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: Outfit;
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url(outfit-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  --ink: #151519;
  --paper: #f3f1ed;
  --line: #d8d5d0;
  --ease: cubic-bezier(.2,.8,.2,1);
  --grain: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='grain'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Cpath fill='%23888888' filter='url(%23grain)' d='M0 0h180v180H0z'/%3E%3C/svg%3E");
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 24px; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: Outfit, Arial, sans-serif; -webkit-font-smoothing: antialiased; }
button, input { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
a { color: inherit; }
a, button, input { touch-action: manipulation; }
a:focus-visible, button:focus-visible, input:focus-visible { outline: 3px solid #ad75e6; outline-offset: 5px; }
[hidden] { display: none !important; }
.wrap { width: min(1440px, calc(100% - 80px)); margin-inline: auto; }
.skip { position: fixed; left: 12px; top: -100px; z-index: 100; background: #fff; color: #17151b; padding: 14px 18px; }
.skip:focus { top: 12px; }
.anchor-alias { position: absolute; }

/* Cabecera y voz editorial. Los controles son siempre palabras, sin pictogramas. */
.nav { min-height: 92px; padding: 18px 40px; display: flex; align-items: center; justify-content: space-between; gap: 24px; background: #121215; color: #f8f6f2; }
.nav img { display: block; width: 180px; height: auto; object-fit: contain; }
.nav-actions { display: flex; align-items: center; gap: 23px; }
.nav-note { margin-left: auto; color: #c8c1d0; font-size: 12px; font-weight: 400; letter-spacing: .015em; }
.nav-cta { flex: none; min-height: 43px; display: inline-flex; align-items: center; justify-content: center; padding: 11px 18px; border: 1px solid #aaa0b2; border-radius: 4px; text-decoration: none; font-size: 13px; font-weight: 500; transition: background .25s, color .25s; }
.nav-cta:hover { background: #efe8f3; color: #16131a; }
.motion-toggle { background: transparent; border: 0; padding: 12px 0; color: #c8c1d0; font-size: 11px; text-decoration: underline; text-underline-offset: 4px; }
.motion-toggle:hover { color: #fff; }
.intro { display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; padding-block: 69px 48px; }
.intro > div:first-child { flex: 1; min-width: 0; }
.eyebrow { margin: 0 0 22px; font-size: 10px; font-weight: 500; line-height: 1.5; letter-spacing: .13em; }
h1 { margin: 0; font-size: clamp(44px, 4.8vw, 73px); font-weight: 350; letter-spacing: -.053em; line-height: 1.065; }
h1 > span { color: #77716f; }
.intro-aside { flex: 0 0 292px; padding-bottom: 4px; }
.intro-aside p { margin: 0 0 20px; max-width: 35ch; font-size: 15px; line-height: 1.55; font-weight: 400; color: #504c50; }
.intro-aside > span { font-size: 12px; color: #6b626f; }
.intro-action { display: flex; flex-wrap: wrap; align-items: center; gap: 13px 20px; margin-top: 25px; }
.intro-action button, .intro-action a { min-height: 49px; padding: 13px 24px; display: inline-flex; align-items: center; justify-content: center; background: #17151b; border: 1px solid #17151b; border-radius: 4px; color: #fff; text-decoration: none; font-size: 15px; font-weight: 500; transition: background .25s, box-shadow .3s; }
.intro-action button:hover, .intro-action a:hover { background: #35303d; box-shadow: 0 8px 18px -9px #35283e60; }
.intro-date { font-size: 11px; font-weight: 400; color: #746d74; }

/* Tres superficies holográficas. La textura es ruido SVG real, no una imagen de puntos. */
.paths { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 21px; perspective: 1800px; padding-top: 8px; }
.path {
  --rx: 0deg; --ry: 0deg; --dx: 0px; --dy: 0px;
  --scroll-y: 0px; --scroll-rotate: 0deg; --pointer-x: 50%; --pointer-y: 50%;
  position: relative; min-width: 0; height: 604px; padding: 27px 26px 23px;
  display: flex; flex-direction: column; isolation: isolate; overflow: hidden;
  border: 1px solid #ffffffb5; border-radius: 16px;
  background: var(--surface); color: #19141e;
  box-shadow: 0 1px 0 #fff inset, 0 18px 34px -27px #29203385;
  transform: rotateX(var(--rx)) rotateY(var(--ry));
  transition: transform .65s var(--ease), box-shadow .65s var(--ease);
}
.guide { --surface: #d8d3ed; --holo-a: #b6eee5; --holo-b: #c1ace7; --holo-c: #efd0e0; }
.create { --surface: #d9c4e7; --holo-a: #efd2e4; --holo-b: #b8a1da; --holo-c: #b8e3ee; }
.analyse { --surface: #c1dfe7; --holo-a: #a2e4e2; --holo-b: #bfc1ea; --holo-c: #ecc3df; }
.path::before {
  content: ''; position: absolute; z-index: -2; inset: -35%; pointer-events: none;
  background:
    radial-gradient(ellipse at var(--pointer-x) var(--pointer-y), #ffffffae, transparent 34%),
    linear-gradient(125deg, var(--holo-a) 9%, var(--holo-b) 31%, #f1e7ed 45%, var(--holo-c) 58%, var(--holo-a) 79%);
  background-size: 100% 100%, 180% 180%;
  animation: surface-flow 18s ease-in-out infinite alternate;
  animation-play-state: paused;
}
.path::after { content: ''; position: absolute; z-index: 3; inset: -3px; pointer-events: none; border-radius: inherit; background-image: var(--grain); background-size: 155px 155px; mix-blend-mode: multiply; opacity: .19; animation: grain-shift 1.8s steps(1,end) infinite; animation-play-state: paused; }
.path.is-inview::before, .path.is-inview::after { animation-play-state: running; }
.path-top, .path h2, .path-copy, .path-bottom { position: relative; z-index: 4; }
.path-top { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.tag { font-size: 9px; line-height: 1.35; letter-spacing: .09em; font-weight: 500; }
.number { font-size: 13px; font-weight: 400; letter-spacing: -.04em; color: #4f445c; }
.path h2 { margin: 28px 0 12px; font-size: clamp(32px,3.3vw,50px); font-weight: 450; line-height: .99; letter-spacing: -.052em; }
.path-copy { margin: 0; font-size: 14px; font-weight: 400; line-height: 1.45; color: #49424e; }
.object { position: absolute; z-index: 2; inset: 236px 0 103px; pointer-events: none; transform: translate3d(var(--dx),clamp(-8px,calc(var(--dy) + var(--scroll-y)),8px),0) scale(var(--object-scale,1)); transform-origin: 50% 0; transition: transform .9s var(--ease); }
.path-bottom { margin-top: auto; }
.mini { margin: 0 0 13px; display: block; color: #53465a; font-size: 11px; font-weight: 400; letter-spacing: .01em; }
.card-button { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 53px; padding: 15px 17px; border: 1px solid #18141d; border-radius: 5px; background: #19161e; color: #fff; text-decoration: none; text-align: center; font-size: 15px; line-height: 1.3; font-weight: 500; transition: background .2s, box-shadow .25s, transform .25s; }
.card-button:hover { background: #34293f; box-shadow: 0 8px 18px -9px #27153799; transform: translateY(-2px); }

/* El libro se conserva: composición de su PNG original y páginas físicas. */
.guide-scene { top: 260px; overflow: visible; }
.book { position: absolute; z-index: 2; height: 156%; width: auto; max-width: none; left: 50%; top: 0; filter: drop-shadow(18px 25px 15px #3b25414f); transform: translate(-69%,-37%) rotate(-7deg); animation: book-drift 8s ease-in-out infinite; animation-play-state: paused; }
.paper { position: absolute; left: 39%; top: 14%; width: 39%; height: 61%; border-radius: 3px; box-shadow: 3px 9px 17px #2b1b3738; background: repeating-linear-gradient(0deg, transparent 0 14px, #a696b52b 14px 15px), #f6f1eb; transform-origin: 50% 90%; transition: transform 1.2s var(--ease); }
.sheet-back { background: #2d2637; transform: rotate(15deg); }
.sheet-front { transform: rotate(5deg); }
.is-inview .sheet-back { transform: rotate(23deg); }
.is-inview .sheet-front { transform: rotate(10deg); }
.object-note, .scan-caption { display: none; }

/* El programa se cuenta con capas editoriales, sin símbolos decorativos. */
.build-scene { top: 271px; --object-scale: .85; perspective: 1000px; }
.blueprint { position: absolute; width: 73%; height: 160px; left: 13%; top: 55px; transform: rotateX(56deg) rotateZ(-20deg); border: 1px solid #4d365733; background: repeating-linear-gradient(0deg, transparent 0 19px, #58476420 19px 20px), repeating-linear-gradient(90deg, transparent 0 19px, #58476420 19px 20px); }
.build-piece { position: absolute; width: 57%; height: 151px; left: 24%; padding: 15px; border: 1px solid #ffffff91; border-radius: 7px; box-shadow: 12px 20px 22px #3a284c38; transform: rotate(-10deg) skewY(4deg); transition: transform 1.2s var(--ease); }
.build-piece > span { display: block; font-size: 8px; letter-spacing: .08em; font-weight: 500; }
.piece-back { background: #f3eee9; left: 20%; top: 0; transform: rotate(-14deg) skewY(4deg); }
.piece-mid { background: linear-gradient(120deg,#9b83b1,#827999); color: #fff; left: 26%; top: 47px; }
.piece-front { background: linear-gradient(135deg,#2b2432,#16131b); color: #fff; left: 31%; top: 94px; transform: rotate(-4deg) skewY(4deg); animation: piece-drift 9s ease-in-out infinite; animation-play-state: paused; }
.piece-front small { display: block; font-size: 7px; letter-spacing: .04em; color: #d6cbdc; }
.club-mark { font-size: clamp(30px,3.2vw,49px); letter-spacing: -.065em; font-weight: 350; line-height: 1.65; }
.build-detail { display: block; max-width: 14ch; font-size: 16px; font-weight: 400; line-height: 1.05; letter-spacing: -.02em; margin-top: 17px; }
.is-inview .piece-back { transform: translate(-10px,-8px) rotate(-18deg) skewY(4deg); }
.is-inview .piece-mid { transform: translate(-3px,-4px) rotate(-10deg) skewY(4deg); }

/* El análisis sigue siendo un instrumento de datos, con una lectura en movimiento. */
.scan-scene { top: 250px; --object-scale: .88; }
.radar { position: absolute; width: 228px; height: 228px; left: 50%; top: 17px; margin-left: -114px; overflow: hidden; border-radius: 50%; border: 1px solid #efe0faac; background: radial-gradient(circle,#3a3249,#201b2c 69%,#15111f); box-shadow: 0 12px 0 -3px #352e42,0 28px 28px -7px #3f2c605c,0 1px 20px #c6d7f740 inset; transform: rotateX(25deg) rotateZ(-14deg); }
.radar-grid { position: absolute; inset: 15px; border-radius: 50%; background: repeating-radial-gradient(circle,transparent 0 29px,#e0d9f12b 29px 30px),linear-gradient(0deg,transparent 49.6%,#e0d9f130 49.6% 50.2%,transparent 50.2%),linear-gradient(90deg,transparent 49.6%,#e0d9f130 49.6% 50.2%,transparent 50.2%); }
.radar-sweep { position: absolute; inset: 0; border-radius: 50%; background: conic-gradient(from 0deg,transparent 48%,#a0e4ee02 63%,#e6a9eb45); animation: scan 11s linear infinite; animation-play-state: paused; }
.radar-center { position: absolute; left: 38%; top: 39%; color: #f3edf7; font-size: 20px; font-weight: 400; letter-spacing: -.045em; line-height: .95; }
.radar-point { position: absolute; width: 5px; height: 5px; border-radius: 50%; background: #ebe2f6; box-shadow: 0 0 0 5px #a9cae620,0 0 13px #d3c5ea; }
.p1 { left: 25%; top: 37%; } .p2 { left: 69%; top: 56%; } .p3 { left: 53%; top: 18%; }
.scan-pill { position: absolute; z-index: 2; padding: 12px 15px; border: 1px solid #ffffffba; border-radius: 4px; box-shadow: 5px 11px 22px #3a254638; background: #f6f0f3; color: #45384e; font-size: 11px; font-weight: 400; letter-spacing: -.01em; animation: pill-drift 8s ease-in-out infinite; animation-play-state: paused; }
.pill-one { left: 8%; top: 7px; transform: rotate(-7deg); }
.pill-two { right: 7%; bottom: 3px; transform: rotate(4deg); animation-delay: -4s; }
.is-inview .book, .is-inview .piece-front, .is-inview .radar-sweep, .is-inview .scan-pill { animation-play-state: running; }
.below-cards { display: flex; justify-content: space-between; gap: 28px; padding-block: 22px 58px; color: #716a70; font-size: 11px; line-height: 1.5; }
.below-cards > span { max-width: 48ch; }
.below-cards > span:last-child { text-align: right; }

/* Inscripción visible en página y el mismo formulario al abrir cualquier CTA. */
.signup { position: relative; isolation: isolate; overflow: hidden; background: #141117; color: #f4eff4; }
.signup::before { content: ''; z-index: -1; position: absolute; width: 760px; height: 760px; left: -150px; top: -170px; border-radius: 50%; pointer-events: none; background: radial-gradient(ellipse,#9874b71c,transparent 65%); }
.signup-inner { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: clamp(50px,9vw,130px); padding-block: 79px 77px; }
.signup-copy .eyebrow { color: #bfb2c9; }
.signup-copy h2 { margin: 0 0 22px; font-size: clamp(53px,5.6vw,82px); font-weight: 350; line-height: .99; letter-spacing: -.052em; }
.signup-copy h2 > span { background: linear-gradient(100deg,#bee7e8,#cfb3ed,#ecc3dc); background-clip: text; -webkit-background-clip: text; color: transparent; }
.signup-copy > p:not(.eyebrow) { margin: 0; font-size: 15px; line-height: 1.65; color: #bdb2c4; }
.countdown { max-width: 376px; margin-top: 32px; padding-top: 22px; border-top: 1px solid #49404e; }
.countdown-heading { display: flex; align-items: center; justify-content: space-between; gap: 15px; color: #c9bed0; font-size: 9px; line-height: 1.5; letter-spacing: .06em; }
.launch-status { letter-spacing: 0; color: #eee6f2; font-size: 11px; }
.countdown-digits { display: flex; justify-content: space-between; align-items: center; margin-top: 12px; }
.countdown-digits > div { min-width: 65px; display: grid; gap: 5px; justify-items: start; }
.countdown-digits strong { font-size: 49px; font-weight: 300; letter-spacing: -.045em; font-variant-numeric: tabular-nums; }
.countdown-digits span { font-size: 9px; letter-spacing: .13em; color: #b4a7c0; }
.countdown-digits > b { font-size: 24px; font-weight: 300; color: #6f5e7d; padding-bottom: 17px; }
#form-home { min-width: 0; width: 100%; justify-self: end; }
.signup-form { margin: 0; width: 100%; max-width: 500px; justify-self: end; }
.signup-form fieldset { border: 0; margin: 0 0 25px; padding: 0; min-width: 0; }
.signup-form legend { font-size: 13px; font-weight: 400; line-height: 1.45; margin-bottom: 11px; }
.interest-options { display: flex; gap: 9px; }
.interest-options label { flex: 1; min-width: 0; position: relative; }
.interest-options input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.interest-options label > span { display: flex; justify-content: center; align-items: center; text-align: center; min-height: 49px; padding: 13px 10px; border: 1px solid #65576d; border-radius: 5px; color: #e1d7e6; font-size: 13px; font-weight: 400; cursor: pointer; transition: background .2s, color .2s, border-color .2s; }
.interest-options input:checked + span { background: #ece1f3; border-color: #ece1f3; color: #201427; }
.interest-options input:focus-visible + span { outline: 3px solid #c6a2e6; outline-offset: 4px; }
.field { display: block; margin-bottom: 19px; color: #ece4f1; font-size: 13px; font-weight: 400; }
.field input { display: block; width: 100%; min-height: 52px; margin-top: 7px; padding: 13px 15px; border: 1px solid #57495f; border-radius: 5px; background: #211a28; color: #fff; font-size: 16px; font-weight: 400; outline-offset: 2px; transition: background .2s, border-color .2s; }
.field input::placeholder { color: #a899b1; opacity: 1; }
.field input:focus { border-color: #c6a2e6; background: #2a1e33; }
.field input:-webkit-autofill { -webkit-text-fill-color: #fff; -webkit-box-shadow: 0 0 0 1000px #211a28 inset; caret-color: #fff; }
.consent { display: flex; align-items: flex-start; gap: 10px; margin: 23px 0; color: #c9bdcf; font-size: 12px; line-height: 1.55; }
.consent input { flex: none; width: 17px; height: 17px; margin: 1px 0 0; accent-color: #d4b9e9; }
.consent a { color: #f1e9f6; text-underline-offset: 3px; }
.submit { width: 100%; display: flex; align-items: center; justify-content: center; min-height: 55px; padding: 15px 20px; border: 1px solid #e7dff0; border-radius: 5px; background: linear-gradient(115deg,#c1e4e7,#d1bbe8 57%,#eed3e2); color: #211627; font-size: 16px; font-weight: 500; transition: filter .2s, box-shadow .2s; }
.submit:hover { filter: brightness(1.07); box-shadow: 0 6px 24px -12px #e8caef70; }
.submit:disabled { cursor: wait; opacity: .7; }
.form-small { margin: 12px 0 0; color: #b2a3bd; font-size: 11px; line-height: 1.45; text-align: center; }
.form-status { margin-top: 18px; padding: 16px; border: 1px solid #b49cca; border-radius: 6px; color: #f4eaf9; background: #33233f; font-size: 14px; line-height: 1.5; }
.form-status[data-state=success] { border-color: #afd1d5; }
.form-status[data-state=error] { border-color: #dda9c6; }
.honeypot { position: absolute !important; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }

/* Diálogo nativo: el contenido y el foco quedan dentro, sin duplicar el formulario. */
.signup-dialog { width: min(570px, calc(100% - 36px)); max-width: none; max-height: calc(100vh - 36px); max-height: calc(100dvh - 36px); padding: 0; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; border: 1px solid #6e5d7d; border-radius: 14px; background: #19131f; color: #f7f0fa; box-shadow: 0 35px 100px #0009; }
.signup-dialog::backdrop { background: #100b19b8; backdrop-filter: blur(7px); }
.signup-dialog[open] { display: block; animation: dialog-enter .3s var(--ease) both; }
.dialog-shell { padding: 17px 32px 30px; }
.dialog-close { display: block; position: sticky; z-index: 10; top: 9px; margin: 0 0 16px auto; min-height: 38px; padding: 8px 13px; border: 1px solid #6f5e7c; border-radius: 4px; background: #241b2d; color: #eee4f5; font-size: 12px; line-height: 1.3; }
.dialog-close:hover { background: #42304f; }
.dialog-kicker { margin: 0 0 15px; color: #bbaac8; font-size: 10px; letter-spacing: .12em; font-weight: 400; }
#dialog-title { margin: 0 0 16px; font-size: clamp(38px,6vw,51px); font-weight: 350; letter-spacing: -.055em; line-height: 1.02; }
.dialog-description { margin: 0 0 24px; color: #c5b6d0; font-size: 14px; line-height: 1.5; max-width: 46ch; }
#dialog-form-mount { min-height: 0; }
.signup-dialog .signup-form { max-width: none; opacity: 1 !important; translate: none !important; }
html.dialog-open, body.dialog-open { overflow: hidden; }

.closing { padding-block: 47px; display: flex; align-items: center; justify-content: space-between; gap: 26px; }
.closing > p { color: #787079; font-size: 13px; }
.closing > a { text-decoration: none; font-size: 31px; font-weight: 400; letter-spacing: -.045em; }
.closing > a > span { display: block; margin-top: 7px; font-size: 13px; font-weight: 400; letter-spacing: 0; text-align: right; text-decoration: underline; text-underline-offset: 5px; }
.footer { display: flex; align-items: center; gap: 27px; padding-block: 28px; border-top: 1px solid var(--line); font-size: 11px; color: #5d535f; }
.footer img { display: block; box-sizing: content-box; width: 140px; height: auto; object-fit: contain; padding: 10px 13px; border-radius: 4px; background: #121215; }
.footer p { margin-right: auto; }
.footer a { text-underline-offset: 4px; }
.mobile-join { display: none; }

/* Entrada a la vista y profundidad. Nunca dependen de estas animaciones los controles. */
.reveal { opacity: 1; }
.js .reveal { transition: opacity .85s var(--ease), translate .85s var(--ease), transform .65s var(--ease), box-shadow .65s var(--ease); }
.js .reveal:not(.seen):not(.is-inview) { opacity: 0; translate: 0 26px; }
.js .reveal.seen, .js .reveal.is-inview { opacity: 1; translate: 0 0; }
.paths > .reveal:nth-child(2) { transition-delay: 90ms; }
.paths > .reveal:nth-child(3) { transition-delay: 180ms; }
@keyframes grain-shift { 0%,100% { transform: translate(0,0); } 20% { transform: translate(-2px,1px); } 40% { transform: translate(1px,-1px); } 60% { transform: translate(-1px,-2px); } 80% { transform: translate(2px,1px); } }
@keyframes surface-flow { from { background-position: 0 0,0% 15%; } to { background-position: 0 0,100% 85%; } }
@keyframes book-drift { 50% { transform: translate(-69%,-37%) translateY(-10px) rotate(-4deg); } }
@keyframes piece-drift { 50% { transform: translateY(-10px) rotate(-2deg) skewY(4deg); } }
@keyframes scan { to { transform: rotate(360deg); } }
@keyframes pill-drift { 50% { translate: 0 -9px; } }
@keyframes dialog-enter { from { opacity: 0; transform: translateY(12px) scale(.99); } to { opacity: 1; transform: none; } }
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
  .path:hover { box-shadow: 0 28px 43px -24px #4b305470, 0 1px 0 #fff inset; }
  .guide:hover .sheet-back { transform: translate(8px,-7px) rotate(31deg); }
  .guide:hover .sheet-front { transform: translate(4px,-7px) rotate(16deg); }
  .create:hover .piece-back { transform: translate(-17px,-9px) rotate(-18deg) skewY(4deg); }
  .create:hover .piece-mid { transform: translate(-6px,-7px) rotate(-12deg) skewY(4deg); }
}

@media (min-width:1600px) {
  .path { height: 642px; padding: 31px 29px 26px; }
  .object { inset: 257px 0 111px; }
  .guide-scene { top: 283px; }
  .build-scene { top: 295px; }
  .scan-scene { top: 272px; }
  .build-piece { height: 160px; }
  .piece-front { top: 103px; }
  .radar { top: 20px; width: 242px; height: 242px; margin-left: -121px; }
}
@media (min-width:761px) and (max-width:1100px) {
  .wrap { width: calc(100% - 44px); }
  .nav { padding-inline: 22px; gap: 18px; }
  .nav-note { display: none; }
  .motion-toggle { margin-left: auto; }
  .intro { gap: 27px; padding-block: 52px 38px; }
  h1 { font-size: clamp(38px,5vw,54px); }
  .intro-aside { flex-basis: 230px; }
  .intro-aside p { font-size: 13px; }
  .intro-action { gap: 10px; margin-top: 19px; }
  .intro-action button, .intro-action a { font-size: 14px; min-height: 46px; padding-inline: 20px; }
  .paths { gap: 13px; }
  .path { height: 570px; padding: 22px 19px 20px; border-radius: 12px; }
  .path h2 { font-size: 36px; margin-top: 27px; }
  .path-copy { font-size: 12px; }
  .tag { font-size: 8px; letter-spacing: .055em; }
  .number { font-size: 11px; }
  .object { inset: 222px 0 99px; }
  .guide h2 { font-size: clamp(30px,3.2vw,35px); }
  .guide-scene { top: 248px; }
  .build-scene { top: 222px; --object-scale: 1; }
  .scan-scene { top: 222px; --object-scale: .97; }
  .book { height: 135%; top: 20px; }
  .paper { height: 58%; top: 20%; }
  .card-button { min-height: 51px; font-size: 14px; padding-inline: 10px; }
  .mini { font-size: 10px; }
  .build-piece { height: 126px; width: 62%; padding: 12px; }
  .piece-back { left: 13%; top: 12px; }
  .piece-mid { left: 20%; top: 55px; }
  .piece-front { left: 27%; top: 98px; }
  .build-piece > span { font-size: 7px; }
  .club-mark { font-size: 34px; line-height: 1.7; }
  .piece-front small { font-size: 5px; }
  .build-detail { font-size: 14px; }
  .radar { width: 185px; height: 185px; margin-left: -92.5px; top: 35px; }
  .radar-center { font-size: 17px; }
  .scan-pill { font-size: 9px; padding: 10px 12px; }
  .pill-one { left: 5%; top: 20px; }
  .pill-two { right: 4%; bottom: 12px; }
  .signup-inner { gap: 42px; }
  .signup-copy h2 { font-size: 55px; }
  .signup-copy > p:not(.eyebrow) { font-size: 13px; }
  .footer { gap: 18px; font-size: 10px; }
  .footer img { width: 120px; }
}
@media (max-width:760px) {
  html { scroll-padding-top: 15px; }
  .wrap { width: calc(100% - 36px); }
  .nav { min-height: 79px; padding: 15px 18px; gap: 10px 16px; flex-wrap: wrap; }
  .nav img { width: 143px; }
  .nav-note { display: none; }
  .nav-cta { margin-left: auto; min-height: 42px; font-size: 12px; padding-inline: 12px; }
  .nav-actions { margin-left: auto; flex-direction: column; align-items: flex-end; gap: 2px; }
  .motion-toggle { order: 1; margin: 0; font-size: 10px; padding: 5px 0; }
  .intro { display: block; padding-block: 41px 30px; }
  .eyebrow { font-size: 9px; letter-spacing: .1em; margin-bottom: 21px; }
  h1 { font-size: clamp(38px,9.3vw,65px); line-height: 1.055; letter-spacing: -.055em; }
  .intro-aside { margin-top: 25px; padding-bottom: 0; }
  .intro-aside p { max-width: 43ch; font-size: 14px; line-height: 1.6; margin-bottom: 16px; }
  .intro-aside > span { font-size: 12px; }
  .intro-action { margin-top: 20px; gap: 15px; }
  .intro-action button, .intro-action a { min-height: 48px; font-size: 15px; padding-inline: 24px; }
  .intro-date { font-size: 11px; max-width: 15ch; line-height: 1.4; }
  .paths { grid-template-columns: 1fr; max-width: 540px; gap: 23px; padding-top: 4px; }
  .path { height: 616px; padding: 26px 25px 23px; border-radius: 15px; transform: none !important; }
  .tag { font-size: 9px; }
  .path h2 { margin-top: 28px; font-size: clamp(40px,11.4vw,52px); }
  .path-copy { font-size: 14px; }
  .object { inset: 241px 0 105px; }
  .guide-scene { top: 269px; }
  .build-scene { top: 271px; --object-scale: .86; }
  .scan-scene { top: 255px; }
  .book { height: 156%; }
  .paper { height: 61%; }
  .card-button { min-height: 54px; font-size: 16px; }
  .mini { font-size: 11px; }
  .build-piece { width: 56%; height: 151px; }
  .club-mark { font-size: 43px; }
  .piece-front small { font-size: 6px; }
  .radar { width: 226px; height: 226px; margin-left: -113px; top: 14px; }
  .scan-pill { font-size: 11px; }
  .pill-one { left: 7%; top: 5px; }
  .pill-two { right: 7%; bottom: 8px; }
  .below-cards { display: block; max-width: 540px; padding-block: 20px 38px; font-size: 11px; }
  .below-cards > span { display: block; max-width: 43ch; }
  .below-cards > span:last-child { text-align: left; margin-top: 9px; }
  .signup-inner { grid-template-columns: 1fr; padding-block: 49px; gap: 36px; }
  .signup-copy h2 { font-size: 58px; max-width: 12ch; }
  .signup-copy > p:not(.eyebrow) { font-size: 14px; max-width: 38ch; }
  .signup-copy > p:not(.eyebrow) br { display: none; }
  .countdown { max-width: 100%; margin-top: 25px; padding-top: 21px; }
  .countdown-digits { max-width: 385px; }
  .signup-form { max-width: none; }
  .signup-form legend, .field { font-size: 13px; }
  .consent { font-size: 12px; }
  .interest-options label > span { font-size: 13px; }
  .signup-dialog { width: calc(100% - 24px); max-height: calc(100vh - 24px); max-height: calc(100dvh - 24px); border-radius: 12px; }
  .dialog-shell { padding: 13px 22px 25px; }
  .dialog-description { font-size: 14px; margin-bottom: 23px; }
  .closing { display: block; padding-block: 31px; }
  .closing > p { font-size: 12px; }
  .closing > a { font-size: 32px; }
  .closing > a > span { text-align: left; margin-top: 9px; }
  .footer { flex-wrap: wrap; gap: 18px 22px; padding-block: 24px 117px; font-size: 11px; }
  .footer img { width: 124px; }
  .footer p { flex: 1; font-size: 10px; margin-right: 0; }
  .footer > a { white-space: nowrap; }
  .js .mobile-join { display: flex; position: fixed; z-index: 30; left: 12px; right: 12px; bottom: max(12px,env(safe-area-inset-bottom)); align-items: center; justify-content: space-between; gap: 14px; padding: 12px 13px; border: 1px solid #6c5c7990; border-radius: 9px; background: #1b1422f5; box-shadow: 0 12px 45px #24152c38; color: #eee5f4; transition: opacity .25s, transform .35s var(--ease), visibility .25s; }
  .mobile-join p, .mobile-join > span { margin: 0; max-width: 16ch; font-size: 12px; font-weight: 400; line-height: 1.35; }
  .mobile-join :is(button,a) { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; flex: none; min-height: 45px; padding: 12px 17px; border: 0; border-radius: 5px; background: linear-gradient(110deg,#c3e6e8,#d5bfea,#efccdf); color: #261b2e; font-size: 14px; font-weight: 500; }
  .mobile-join.is-hidden { opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(135%); }
  .paths > .reveal { transition-delay: 0ms; }
}
@media (max-width:350px) {
  .wrap { width: calc(100% - 30px); }
  .nav { padding-inline: 15px; }
  .nav img { width: 125px; }
  .nav-cta { font-size: 11px; padding-inline: 11px; }
  h1 { font-size: 36px; }
  .eyebrow { font-size: 8px; }
  .intro-date { max-width: none; }
  .path { height: 582px; padding-inline: 21px; }
  .path h2 { font-size: 39px; }
  .path-copy { font-size: 12px; }
  .object { inset: 226px 0 102px; }
  .guide-scene { top: 252px; }
  .build-scene { top: 252px; --object-scale: .88; }
  .scan-scene { top: 226px; --object-scale: .95; }
  .book { height: 144%; top: 11px; }
  .paper { height: 58%; top: 17%; }
  .build-piece { width: 59%; height: 136px; padding: 12px; }
  .piece-front { top: 90px; left: 29%; }
  .build-piece > span { font-size: 7px; }
  .club-mark { font-size: 36px; }
  .piece-front small { font-size: 5px; }
  .radar { width: 199px; height: 199px; margin-left: -99.5px; top: 28px; }
  .scan-pill { padding: 10px 12px; font-size: 10px; }
  .pill-one { top: 19px; }
  .pill-two { bottom: 7px; }
  .signup-copy h2 { font-size: 50px; }
  .countdown-heading { font-size: 8px; gap: 9px; }
  .launch-status { font-size: 10px; }
  .countdown-digits strong { font-size: 43px; }
  .dialog-shell { padding-inline: 18px; }
  .interest-options label > span { padding-inline: 8px; font-size: 12px; }
  .mobile-join { gap: 8px; }
  .mobile-join p, .mobile-join > span { font-size: 11px; }
  .mobile-join :is(button,a) { font-size: 13px; padding-inline: 13px; }
}

/* Se puede parar todo el movimiento ornamental sin perder contenido ni acciones. */
.motion-paused { scroll-behavior: auto; }
.motion-paused *, .motion-paused *::before, .motion-paused *::after { animation-play-state: paused !important; transition: none !important; }
.motion-paused .path { transform: none !important; transition: none !important; }
.motion-paused .object { transform: scale(var(--object-scale,1)) !important; transition: none !important; }
.motion-paused .reveal { opacity: 1 !important; translate: none !important; }
.motion-paused .signup-dialog[open] { animation: none !important; }
.motion-paused .sheet-back { transform: rotate(23deg) !important; }
.motion-paused .sheet-front { transform: rotate(10deg) !important; }
.motion-paused .piece-back { transform: translate(-10px,-8px) rotate(-18deg) skewY(4deg) !important; }
.motion-paused .piece-mid { transform: translate(-3px,-4px) rotate(-10deg) skewY(4deg) !important; }
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .js .reveal { opacity: 1 !important; translate: none !important; }
  .path { transform: none !important; }
  .object { transform: scale(var(--object-scale,1)) !important; }
}







