/* Four isolated above-the-fold explorations. The production index does not load this file. */
.concept-hero { min-height: max(720px,var(--vq-screen-height)); padding: calc(112px + var(--safe-top)) 0 54px; }
.concept-shell,.hero-concept-page .header-inner { width: min(1380px,calc(100% - (var(--gutter) * 2))); }
.concept-shell { position: relative; z-index: 2; margin: auto; }
.concept-copy { position: relative; z-index: 4; }
.concept-copy .hero-lead { max-width: 520px; margin-bottom: 26px; font-size: 17px; line-height: 1.58; }
.concept-proof { display: inline-flex; align-items: center; gap: 8px; margin-top: 18px; color: rgba(255,255,255,.48); font: 650 10px/1 var(--mono); letter-spacing: .04em; }
.concept-proof::before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: #72d4bb; box-shadow: 0 0 12px rgba(114,212,187,.8); }
.concept-hero.concept-paused *,
.concept-hero.concept-paused *::before,
.concept-hero.concept-paused *::after {
  animation-play-state: paused !important;
}

/* 01 · Pulso operativo — referencia conservada */
.hero--pulse {
  --c01-loop: 9s;
  --c01-breathe-ease: cubic-bezier(.4,0,.2,1);
  --c01-wa: #25d366;
  --c01-wa-surface: #108060;
  --c01-wa-soft: rgba(37,211,102,.13);
  --c01-wa-glow: rgba(37,211,102,.52);
  --c01-vq: #58a7ff;
  --c01-vq-soft: rgba(88,167,255,.14);
  --c01-vq-glow: rgba(88,167,255,.62);
  --c01-booking: #72d4bb;
  --c01-booking-soft: rgba(114,212,187,.14);
  --c01-booking-glow: rgba(114,212,187,.5);
  --c01-core-bridge: 11.52px;
  min-height: var(--vq-screen-height);
  grid-template-rows: minmax(0,1fr) auto;
  row-gap: clamp(6px,1.2vh,12px);
  background: var(--vq-space-sky);
}
.hero--pulse::after { opacity: .12; }
.c01-shell { align-self: center; display: grid; grid-template-columns: minmax(410px,.78fr) minmax(640px,1.22fr); align-items: center; gap: clamp(42px,5vw,76px); }
.c01-copy { max-width: 600px; display: flex; flex-direction: column; align-items: flex-start; }
.hero--pulse h1 { max-width: 11.2ch; margin: 0 0 clamp(28px,3.2vh,34px); font-size: clamp(52px,4.55vw,74px); line-height: 1.01; }
.c01-copy .hero-lead { max-width: 500px; margin: 0 0 clamp(32px,3.8vh,40px); font-size: 17px; line-height: 1.65; }
.c01-stage { position: relative; min-height: clamp(430px,66vh,510px); display: grid; align-items: center; }
.c01-stage::before { content: ""; position: absolute; inset: 8% 0; border-bottom: 1px solid rgba(88,167,255,.08); background: linear-gradient(90deg,transparent,rgba(31,122,236,.035),transparent); }
.c01-stepbar { position: absolute; z-index: 3; inset: 38px 5% auto; display: grid; grid-template-columns: 1fr 1fr 1fr; color: rgba(255,255,255,.3); font: 700 9px/1 var(--mono); letter-spacing: .12em; text-transform: uppercase; }
.c01-step { width: max-content; padding: 7px 8px; border-radius: 7px; opacity: .3; will-change: opacity; }
.c01-step--understand { justify-self: start; color: var(--c01-wa); background: var(--c01-wa-soft); animation: c01StepUnderstand var(--c01-loop) linear infinite; }
.c01-step--check { justify-self: center; color: var(--c01-vq); background: var(--c01-vq-soft); text-align: center; animation: c01StepCheck var(--c01-loop) linear infinite; }
.c01-step--schedule { justify-self: end; color: var(--c01-booking); background: var(--c01-booking-soft); text-align: right; animation: c01StepSchedule var(--c01-loop) linear infinite; }
.c01-flow { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(150px,1fr) 72px 150px 72px minmax(160px,1fr); align-items: center; }
.c01-node { position: relative; min-height: 150px; display: flex; flex-direction: column; justify-content: center; padding: 22px; border: 0; background: transparent; isolation: isolate; }
.c01-node::before { content: ""; position: absolute; z-index: 0; inset: 0; border-radius: inherit; background: rgba(9,20,33,.9); box-shadow: 0 22px 52px rgba(0,0,0,.24); backface-visibility: hidden; will-change: opacity,transform; }
.c01-node > :not(.c01-outline) { position: relative; z-index: 3; }
.c01-node--in { border-radius: 28px 10px 10px 28px; }
.c01-node--in::before { animation: c01InputSurface var(--c01-loop) linear infinite; }
.c01-node--in > :not(.c01-outline) { animation: c01InputContent var(--c01-loop) linear infinite; }
.c01-node--out { border-radius: 12px 28px 28px 12px; }
.c01-node--out::before { animation: c01OutputSurface var(--c01-loop) linear infinite; }
.c01-node--out > :not(.c01-outline) { animation: c01OutputContent var(--c01-loop) linear infinite; }
.c01-outline { position: absolute; z-index: 2; inset: -1px; width: calc(100% + 2px); height: calc(100% + 2px); overflow: visible; pointer-events: none; }
.c01-outline path { fill: none; vector-effect: non-scaling-stroke; }
.c01-outline-rest { stroke-width: 1.25; stroke-linecap: round; stroke-linejoin: round; opacity: 0; }
.c01-outline-rest--in { stroke: var(--c01-wa); }
.c01-outline-rest--out { stroke: var(--c01-booking); }
.c01-outline-live { stroke-width: 2.1; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: var(--c01-path-length) var(--c01-path-gap); stroke-dashoffset: var(--c01-path-length); opacity: 0; shape-rendering: geometricPrecision; }
.c01-outline .c01-outline-live { vector-effect: none; }
.c01-outline-live--in { --c01-path-length: 331.683; --c01-path-gap: 343.683; stroke: var(--c01-wa); animation: c01InputOutline var(--c01-loop) linear infinite; }
.c01-outline-live--out { --c01-path-length: 330.929; --c01-path-gap: 342.929; stroke: var(--c01-booking); animation: c01OutputOutline var(--c01-loop) linear infinite; }
.c01-node-content { display: flex; flex-direction: column; justify-content: center; backface-visibility: hidden; will-change: opacity; }
.c01-node-head { display: flex; align-items: center; gap: 9px; margin-bottom: 18px; color: rgba(255,255,255,.5); font: 700 8px/1 var(--mono); text-transform: uppercase; }
.c01-icon { width: 31px; height: 31px; display: grid; place-items: center; border-radius: 10px; color: #fff; background: var(--c01-wa-surface); }
.c01-node--out .c01-node-head { color: var(--c01-booking); }
.c01-node--out .c01-icon { color: var(--c01-booking); background: var(--c01-booking-soft); }
.c01-node strong { color: #fff; font-size: 15px; line-height: 1.35; letter-spacing: -.02em; }
.c01-node small { margin-top: 8px; color: var(--c01-wa); font: 650 9px/1.3 var(--mono); }
.c01-node--out time { color: var(--c01-booking); font-size: 34px; font-weight: 780; letter-spacing: -.06em; }
.c01-rail { position: relative; height: 24px; overflow: visible; contain: layout style; }
.c01-rail::before { content: ""; position: absolute; top: 50%; inset-inline: 0; height: 1px; transform: translateY(-50%); }
.c01-rail--in::before { background: linear-gradient(90deg,rgba(37,211,102,.25),rgba(88,167,255,.27)); opacity: 0; animation: c01RailIn var(--c01-loop) linear infinite; }
.c01-rail--out::before { background: linear-gradient(90deg,rgba(88,167,255,.27),rgba(114,212,187,.25)); opacity: 0; animation: c01RailOut var(--c01-loop) linear infinite; }
.c01-orb { position: absolute; z-index: 7; inset: 0; width: 100%; height: 100%; transform: translate3d(-100%,0,0); backface-visibility: hidden; will-change: transform; }
.c01-orb::after { content: ""; position: absolute; top: 50%; right: 0; width: 10px; height: 10px; border-radius: 50%; background: currentColor; box-shadow: 0 0 0 6px color-mix(in srgb,currentColor 13%,transparent),0 0 24px 5px color-mix(in srgb,currentColor 54%,transparent); opacity: 0; transform: translate3d(50%,-50%,0) scale(0); backface-visibility: hidden; will-change: transform,opacity; }
.c01-orb--in { width: calc(100% + var(--c01-core-bridge)); animation: c01OrbIn var(--c01-loop) linear infinite; }
.c01-orb--in::after { color: var(--c01-wa); animation: c01OrbInSignal var(--c01-loop) linear infinite; }
.c01-orb--out { left: calc(0px - var(--c01-core-bridge)); right: auto; width: calc(100% + var(--c01-core-bridge)); animation: c01OrbOut var(--c01-loop) linear infinite; }
.c01-orb--out::after { color: var(--c01-vq); animation: c01OrbOutSignal var(--c01-loop) linear infinite; }
.c01-engine { position: relative; width: 150px; aspect-ratio: 1; display: grid; place-items: center; }
.c01-engine::before { content: ""; position: absolute; z-index: 2; inset: 4%; border: 1px solid rgba(88,167,255,.72); border-radius: 50%; background: radial-gradient(circle at 0 50%,rgba(114,212,187,.24),transparent 28%); box-shadow: 0 0 24px rgba(88,167,255,.16); opacity: 0; transform: scale(.92); pointer-events: none; backface-visibility: hidden; will-change: transform,opacity; animation: c01CoreReceive var(--c01-loop) linear infinite; }
.c01-rings,.c01-rings::before,.c01-rings::after { position: absolute; border: 1px solid rgba(88,167,255,.14); border-radius: 50%; }
.c01-rings { z-index: 1; inset: 0; backface-visibility: hidden; will-change: transform,opacity; animation: c01RingsFusion var(--c01-loop) linear infinite; }
.c01-rings::before,.c01-rings::after { content: ""; inset: 14%; }
.c01-rings::after { inset: 29%; border-color: rgba(143,194,255,.24); }
.c01-core-trace { position: absolute; z-index: 4; inset: 4%; width: 92%; height: 92%; overflow: visible; pointer-events: none; }
.c01-core-trace path,.c01-core-trace circle { fill: none; vector-effect: non-scaling-stroke; }
.c01-core-rest { stroke: var(--c01-vq); stroke-width: 1.3; opacity: 0; }
.c01-core-trace-live { --c01-path-length: 144.534; --c01-path-gap: 156.534; stroke: var(--c01-vq); stroke-width: 2.1; stroke-linecap: round; stroke-dasharray: var(--c01-path-length) var(--c01-path-gap); stroke-dashoffset: var(--c01-path-length); opacity: 0; shape-rendering: geometricPrecision; animation: c01CoreTrace var(--c01-loop) linear infinite; }
.c01-core-trace .c01-core-trace-live { vector-effect: none; }
.c01-core { position: relative; z-index: 5; width: 58px; height: 58px; display: grid; place-items: center; border-radius: 18px; background: #0c1928; box-shadow: 0 0 0 8px rgba(31,122,236,.08),0 0 32px rgba(88,167,255,.2),0 18px 38px rgba(0,0,0,.35); backface-visibility: hidden; }
.c01-core img { width: 43px; height: 43px; backface-visibility: hidden; }
.c01-tags { position: absolute; z-index: 6; inset: auto -14px -14px; display: flex; justify-content: center; gap: 5px; opacity: 0; transform: translate3d(0,6px,0); backface-visibility: hidden; will-change: transform,opacity; animation: c01Tag var(--c01-loop) linear infinite; }
.c01-tags span { padding: 5px 7px; border: 1px solid var(--c01-vq-soft); border-radius: 999px; color: #9dcbfa; background: #0b1928; font: 650 8px/1 var(--mono); }
.c01-scroll-cue { position: relative; z-index: 6; min-height: 44px; display: inline-flex; flex-direction: column; align-items: center; justify-content: center; justify-self: center; gap: 4px; margin-bottom: var(--safe-bottom); padding-inline: 10px; color: rgba(255,255,255,.48); font: 600 10px/1.2 var(--mono); letter-spacing: .03em; text-align: center; opacity: 0; animation: c01CueIn .7s var(--ease) .65s forwards; transition: color 180ms ease; }
.c01-scroll-cue strong { color: rgba(255,255,255,.82); font-weight: 750; }
.c01-scroll-label { display: inline-flex; align-items: baseline; justify-content: center; gap: 4px; white-space: nowrap; }
.c01-scroll-arrow { width: 16px; height: 16px; display: grid; place-items: center; color: #8fc2ff; opacity: .72; filter: drop-shadow(0 0 5px rgba(88,167,255,.56)); transform: translate3d(0,-3px,0); backface-visibility: hidden; will-change: transform,opacity; animation: c01ScrollArrow 1.8s cubic-bezier(.45,0,.2,1) infinite; }
.c01-scroll-cue:hover { color: #fff; }
.c01-scroll-cue:hover .c01-scroll-arrow { color: #fff; }

@keyframes c01StepUnderstand {
  0%,1% { opacity:.3; }
  4%,23% { opacity:1; }
  27%,100% { opacity:.3; }
}
@keyframes c01StepCheck {
  0%,23% { opacity:.3; }
  25%,41.5% { opacity:1; }
  45%,100% { opacity:.3; }
}
@keyframes c01StepSchedule {
  0%,41% { opacity:.3; }
  43%,90% { opacity:1; }
  96%,100% { opacity:.3; }
}
@keyframes c01InputOutline {
  0%,2% { stroke-dashoffset:var(--c01-path-length); opacity:0; }
  2.75% { opacity:1; }
  18% { stroke-dashoffset:0; opacity:1; }
  26%,90% { stroke-dashoffset:0; opacity:.22; }
  98% { stroke-dashoffset:0; opacity:0; }
  100% { stroke-dashoffset:var(--c01-path-length); opacity:0; }
}
@keyframes c01InputSurface {
  0%,1.5% { opacity:.62; transform:scale(.994); }
  4.5%,24% { opacity:1; transform:scale(1); }
  31%,100% { opacity:.62; transform:scale(.994); }
}
@keyframes c01InputContent { 0%,1.5%{opacity:.52} 4.5%,24%{opacity:1} 31%,100%{opacity:.52} }
@keyframes c01RailIn { 0%,17.8%{opacity:0} 18.45%,25.55%{opacity:.82} 27.2%,100%{opacity:0} }
@keyframes c01OrbIn {
  0%,18.45% { transform:translate3d(-100%,0,0); }
  25.55%,27.2% { transform:translate3d(0,0,0); }
  27.8%,100% { transform:translate3d(-100%,0,0); }
}
@keyframes c01OrbInSignal {
  0%,18% { color:var(--c01-wa); opacity:0; transform:translate3d(50%,-50%,0) scale(.08,1.8); }
  18.25% { color:var(--c01-wa); opacity:.42; transform:translate3d(50%,-50%,0) scale(.34,1.45); }
  18.45%,22.5% { color:var(--c01-wa); opacity:1; transform:translate3d(50%,-50%,0) scale(1); }
  24% { color:#4fbcaa; opacity:1; transform:translate3d(50%,-50%,0) scale(1); }
  25.25%,25.55% { color:var(--c01-vq); opacity:1; transform:translate3d(50%,-50%,0) scale(1); }
  25.82% { color:var(--c01-vq); opacity:1; transform:translate3d(50%,-50%,0) scale(1.3); }
  26.15% { color:var(--c01-vq); opacity:.92; transform:translate3d(50%,-50%,0) scale(.65,1.5); }
  26.6% { color:var(--c01-vq); opacity:.58; transform:translate3d(50%,-50%,0) scale(.3,2); }
  27.15%,100% { color:var(--c01-vq); opacity:0; transform:translate3d(50%,-50%,0) scale(.08,2.6); }
}
@keyframes c01RingsFusion {
  0%,25.55% { opacity:.13; transform:scale(.97); }
  25.56% { opacity:.52; transform:scaleX(.955) scaleY(1.02); }
  26.05% { opacity:.7; transform:scaleX(1.03) scaleY(.99); animation-timing-function:var(--c01-breathe-ease); }
  26.8% { opacity:.34; transform:scale(1.01); }
  28%,40% { opacity:.18; transform:scale(1); }
  40.55% { opacity:.48; transform:scale(1.025); }
  41.15% { opacity:.62; transform:scale(1.04); animation-timing-function:var(--c01-breathe-ease); }
  42.1% { opacity:.38; transform:scale(1.017); }
  44%,100% { opacity:.13; transform:scale(.97); }
}
@keyframes c01CoreReceive {
  0%,25.55% { opacity:0; transform:scale(.92); }
  25.72% { opacity:.88; transform:scale(.96); }
  26.15% { opacity:.62; transform:scale(1.06); }
  27% { opacity:.18; transform:scale(1.18); }
  27.6%,100% { opacity:0; transform:scale(1.24); }
}
@keyframes c01CoreTrace {
  0%,25.55% { stroke-dashoffset:var(--c01-path-length); opacity:0; }
  25.56% { opacity:.32; }
  26.25% { opacity:1; }
  40% { stroke-dashoffset:0; opacity:1; }
  45.5%,90% { stroke-dashoffset:0; opacity:.22; }
  98% { stroke-dashoffset:0; opacity:0; }
  100% { stroke-dashoffset:var(--c01-path-length); opacity:0; }
}
@keyframes c01Tag {
  0%,27% { opacity:0; transform:translate3d(0,6px,0); }
  28.5%,39.5% { opacity:1; transform:translate3d(0,0,0); }
  42.8%,100% { opacity:0; transform:translate3d(0,-4px,0); }
}
@keyframes c01RailOut { 0%,40.8%{opacity:0} 41.25%,47.9%{opacity:.82} 49.2%,100%{opacity:0} }
@keyframes c01OrbOut {
  0%,41.25% { transform:translate3d(-100%,0,0); }
  47.9%,49.2% { transform:translate3d(0,0,0); }
  49.8%,100% { transform:translate3d(-100%,0,0); }
}
@keyframes c01OrbOutSignal {
  0%,40% { color:var(--c01-vq); opacity:0; transform:translate3d(50%,-50%,0) scale(.06,1.45); }
  40.18% { color:var(--c01-vq); opacity:.24; transform:translate3d(50%,-50%,0) scale(.16,1.5); }
  40.65% { color:var(--c01-vq); opacity:.62; transform:translate3d(50%,-50%,0) scale(.48,1.38); }
  41.1% { color:var(--c01-vq); opacity:.92; transform:translate3d(50%,-50%,0) scale(.82,1.14); }
  41.25% { color:var(--c01-vq); opacity:1; transform:translate3d(50%,-50%,0) scale(1); }
  42.15% { color:#4fbcaa; opacity:1; transform:translate3d(50%,-50%,0) scale(1); }
  43.2%,47.7% { color:var(--c01-booking); opacity:1; transform:translate3d(50%,-50%,0) scale(1); }
  47.9% { color:var(--c01-booking); opacity:1; transform:translate3d(50%,-50%,0) scale(1.18); }
  48.3% { color:var(--c01-booking); opacity:.82; transform:translate3d(50%,-50%,0) scale(.62,1.45); }
  48.75% { color:var(--c01-booking); opacity:.45; transform:translate3d(50%,-50%,0) scale(.3,1.95); }
  49.2%,100% { color:var(--c01-booking); opacity:0; transform:translate3d(50%,-50%,0) scale(.08,2.6); }
}
@keyframes c01OutputOutline {
  0%,47.9% { stroke-dashoffset:var(--c01-path-length); opacity:0; }
  48.7% { opacity:1; }
  63.9%,90% { stroke-dashoffset:0; opacity:1; }
  98% { stroke-dashoffset:0; opacity:0; }
  100% { stroke-dashoffset:var(--c01-path-length); opacity:0; }
}
@keyframes c01OutputSurface {
  0%,47.9% { opacity:.48; transform:scale(.994); }
  54% { opacity:.72; transform:scale(.997); }
  63.9%,90% { opacity:1; transform:scale(1); }
  98%,100% { opacity:.48; transform:scale(.994); }
}
@keyframes c01OutputContent { 0%,47.9%{opacity:.3} 54%{opacity:.55} 63.9%,90%{opacity:1} 98%,100%{opacity:.3} }
@keyframes c01CueIn { to{opacity:1} }
@keyframes c01ScrollArrow { 0%{transform:translate3d(0,-3px,0);opacity:0} 24%{opacity:.88} 72%{opacity:.88} 100%{transform:translate3d(0,5px,0);opacity:0} }

/* 02 · Pulso cardiográfico */
.hero--cardio { background: radial-gradient(circle at 74% 50%,rgba(31,122,236,.2),transparent 34%),linear-gradient(130deg,#07111c 0%,#0c1b2b 52%,#112b46 100%); }
.hero--cardio::after { opacity: .1; }
.c02-ambient { position: absolute; z-index: 0; top: 50%; right: 12%; width: 44vw; aspect-ratio: 1; border-radius: 50%; border: 1px solid rgba(88,167,255,.11); transform: translate(18%,-50%) scale(.55); box-shadow: 0 0 0 90px rgba(31,122,236,.025),0 0 0 180px rgba(31,122,236,.012); opacity: .45; animation: c02Ambient 8s var(--ease) infinite; }
.c02-shell { display: grid; grid-template-columns: minmax(390px,.7fr) minmax(680px,1.3fr); align-items: center; gap: clamp(38px,4.5vw,72px); }
.c02-copy { max-width: 560px; }
.hero--cardio h1 { max-width: 10.2ch; margin-bottom: 20px; font-size: clamp(52px,4.45vw,72px); line-height: .98; }
.c02-stage { position: relative; min-height: 540px; overflow: visible; }
.c02-stage::before,.c02-stage::after { content: ""; position: absolute; inset: 8% -3%; border-top: 1px solid rgba(88,167,255,.08); border-bottom: 1px solid rgba(88,167,255,.08); pointer-events: none; }
.c02-stage::after { inset: 26% -3%; border-color: rgba(88,167,255,.05); }
.c02-wave { position: absolute; z-index: 1; inset: 4% -5% 0; width: 110%; height: 92%; overflow: visible; }
.c02-wave path { fill: none; vector-effect: non-scaling-stroke; }
.c02-wave-base { stroke: rgba(143,194,255,.16); stroke-width: 1.2; }
.c02-wave-live { stroke: #78b9ff; stroke-width: 3; stroke-linecap: round; stroke-dasharray: 100; stroke-dashoffset: 100; filter: drop-shadow(0 0 8px rgba(88,167,255,.9)); animation: c02Draw 8s var(--ease) infinite; }
.c02-source,.c02-booking { position: absolute; z-index: 5; display: flex; align-items: center; gap: 11px; padding: 13px 15px; border: 1px solid rgba(255,255,255,.12); color: #fff; background: rgba(8,19,31,.88); box-shadow: 0 20px 54px rgba(0,0,0,.3); backdrop-filter: blur(14px); }
.c02-source { top: 47%; left: -2%; border-radius: 18px 18px 6px 18px; animation: c02Source 8s var(--ease) infinite; }
.c02-source-icon { width: 34px; height: 34px; display: grid; place-items: center; flex: none; border-radius: 11px; background: #108060; }
.c02-source span:last-child,.c02-booking span:last-child { display: grid; gap: 4px; }
.c02-source small,.c02-booking small { color: rgba(255,255,255,.43); font: 700 7px/1 var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.c02-source strong { font-size: 12px; }
.c02-gates { position: absolute; z-index: 4; inset: 0; margin: 0; padding: 0; list-style: none; }
.c02-gates li { position: absolute; min-width: 96px; display: grid; gap: 6px; padding: 10px 12px; border-top: 1px solid rgba(88,167,255,.24); color: rgba(255,255,255,.42); background: linear-gradient(180deg,rgba(31,122,236,.08),transparent); opacity: .32; transform: translateY(9px); animation: c02Gate 8s var(--ease) infinite; animation-delay: calc(var(--gate) * .38s); }
.c02-gates li:nth-child(1) { top: 8%; left: 23%; }
.c02-gates li:nth-child(2) { top: 4%; left: 47%; }
.c02-gates li:nth-child(3) { top: 18%; left: 70%; }
.c02-gates small { font: 700 7px/1 var(--mono); letter-spacing: .1em; text-transform: uppercase; }
.c02-gates strong { color: #fff; font-size: 13px; }
.c02-runner { position: absolute; z-index: 8; left: 6%; top: 54%; width: 12px; height: 12px; border-radius: 50%; background: #d8ecff; box-shadow: 0 0 0 8px rgba(88,167,255,.12),0 0 34px 9px rgba(88,167,255,.58); opacity: 0; animation: c02Runner 8s var(--ease) infinite; }
.c02-shock { position: absolute; z-index: 3; left: 89%; top: 64%; width: 30px; height: 30px; border: 1px solid rgba(114,212,187,.65); border-radius: 50%; opacity: 0; transform: translate(-50%,-50%) scale(.2); animation: c02Shock 8s ease-out infinite; }
.c02-booking { top: 55%; right: -1%; min-width: 190px; border-color: rgba(114,212,187,.34); border-radius: 7px 20px 20px 20px; opacity: 0; transform: translateX(28px) scale(.74); animation: c02Booking 8s var(--ease) infinite; }
.c02-booking-icon { width: 36px; height: 36px; display: grid; place-items: center; flex: none; border-radius: 12px; color: #9ee0cd; background: rgba(16,128,96,.16); }
.c02-booking time { color: #9dceff; font-size: 29px; font-weight: 800; line-height: .85; letter-spacing: -.06em; }
.c02-booking strong { font-size: 9px; }
@keyframes c02Ambient { 0%,20%{opacity:.18;transform:translate(18%,-50%) scale(.55)} 72%{opacity:.72;transform:translate(18%,-50%) scale(1.05)} 88%,100%{opacity:.2;transform:translate(18%,-50%) scale(.78)} }
@keyframes c02Draw { 0%,13%{stroke-dashoffset:100;opacity:.25} 76%{stroke-dashoffset:0;opacity:1} 91%,100%{stroke-dashoffset:0;opacity:.1} }
@keyframes c02Source { 0%,10%{opacity:0;transform:translateX(-18px)} 16%,36%{opacity:1;transform:none;border-color:rgba(114,212,187,.4)} 55%,100%{opacity:.3;transform:scale(.94)} }
@keyframes c02Gate { 0%,21%{opacity:.25;transform:translateY(8px)} 28%,46%{opacity:1;transform:translateY(0) scale(1.08);border-color:#58a7ff} 54%,100%{opacity:.34;transform:none} }
@keyframes c02Runner { 0%,12%{left:6%;top:54%;opacity:0} 16%{opacity:1} 26%{left:24%;top:23%} 36%{left:32%;top:76%} 47%{left:49%;top:19%} 58%{left:57%;top:71%} 70%{left:74%;top:30%} 81%{left:84%;top:66%;opacity:1} 88%,100%{left:92%;top:66%;opacity:0} }
@keyframes c02Shock { 0%,76%{opacity:0;transform:translate(-50%,-50%) scale(.2)} 82%{opacity:1} 94%,100%{opacity:0;transform:translate(-50%,-50%) scale(12)} }
@keyframes c02Booking { 0%,72%{opacity:0;transform:translateX(28px) scale(.74)} 82%,94%{opacity:1;transform:translateX(0) scale(1.04);box-shadow:0 24px 70px rgba(16,128,96,.18)} 100%{opacity:0;transform:scale(.98)} }

/* 03 · Reactor Vorqen */
.hero--reactor { background: radial-gradient(circle at 72% 50%,rgba(31,122,236,.23),transparent 31%),linear-gradient(136deg,#07111c 0%,#0a1725 48%,#102944 100%); }
.hero--reactor::after { opacity: .1; }
.c03-shell { display: grid; grid-template-columns: minmax(390px,.68fr) minmax(700px,1.32fr); align-items: center; gap: clamp(34px,4vw,68px); }
.c03-copy { max-width: 555px; }
.hero--reactor h1 { max-width: 10.4ch; margin-bottom: 20px; font-size: clamp(52px,4.5vw,73px); line-height: .98; }
.c03-stage { position: relative; min-height: 550px; overflow: hidden; border-top: 1px solid rgba(88,167,255,.08); border-bottom: 1px solid rgba(88,167,255,.08); }
.c03-field { position: absolute; z-index: 0; left: 49%; top: 50%; width: 460px; height: 460px; border: 1px solid rgba(88,167,255,.09); border-radius: 50%; transform: translate(-50%,-50%); box-shadow: 0 0 0 82px rgba(31,122,236,.025),0 0 0 164px rgba(31,122,236,.012); }
.c03-message { position: absolute; z-index: 7; left: 2%; top: 50%; width: 196px; display: grid; grid-template-columns: 32px 1fr; align-items: center; gap: 4px 10px; padding: 14px; border: 1px solid rgba(114,212,187,.32); border-radius: 18px 18px 6px 18px; color: #fff; background: #0d6f57; box-shadow: 0 18px 46px rgba(0,0,0,.32); transform: translateY(-50%); animation: c03Ingest 8.2s var(--ease) infinite; }
.c03-message > svg { grid-row: 1 / 3; }
.c03-message strong { font-size: 11px; line-height: 1.25; }
.c03-message small { color: rgba(255,255,255,.55); font: 650 7px/1 var(--mono); }
.c03-beam { position: absolute; z-index: 1; top: 50%; height: 88px; opacity: 0; transform: translateY(-50%); }
.c03-beam--in { left: 17%; width: 31%; clip-path: polygon(0 35%,100% 49%,100% 51%,0 65%); background: linear-gradient(90deg,rgba(114,212,187,.05),rgba(88,167,255,.44)); animation: c03BeamIn 8.2s var(--ease) infinite; }
.c03-beam--out { left: 50%; width: 38%; clip-path: polygon(0 49%,100% 18%,100% 82%,0 51%); background: linear-gradient(90deg,rgba(88,167,255,.5),rgba(88,167,255,.03)); animation: c03BeamOut 8.2s var(--ease) infinite; }
.c03-reactor { position: absolute; z-index: 5; left: 49%; top: 50%; width: 270px; height: 270px; transform: translate(-50%,-50%); }
.c03-ring { position: absolute; border-radius: 50%; }
.c03-ring--outer { inset: 0; border: 1px dashed rgba(88,167,255,.35); animation: c03Spin 8.2s linear infinite; }
.c03-ring--middle { inset: 18%; border: 1px solid rgba(143,194,255,.27); animation: c03Spin 5.2s linear infinite reverse; }
.c03-ring--inner { inset: 33%; border: 1px solid rgba(143,194,255,.5); box-shadow: inset 0 0 28px rgba(31,122,236,.15); animation: c03RingBeat 8.2s var(--ease) infinite; }
.c03-core { position: absolute; z-index: 4; inset: 37%; display: grid; place-items: center; border-radius: 22px; background: #091624; box-shadow: 0 0 0 9px rgba(31,122,236,.1),0 22px 55px rgba(0,0,0,.44); }
.c03-core img { width: 58px; height: 58px; }
.c03-rules { position: absolute; inset: -4%; }
.c03-rules span { position: absolute; z-index: 6; padding: 7px 10px; border: 1px solid rgba(88,167,255,.24); border-radius: 999px; color: #b8d9fb; background: #0b1928; font: 700 8px/1 var(--mono); box-shadow: 0 10px 28px rgba(0,0,0,.24); animation: c03Rule 8.2s var(--ease) infinite; animation-delay: calc(var(--rule) * .12s); }
.c03-rules span:nth-child(1) { left: 50%; top: 0; transform: translateX(-50%); }
.c03-rules span:nth-child(2) { left: 0; bottom: 16%; }
.c03-rules span:nth-child(3) { right: 0; bottom: 16%; }
.c03-flash { position: absolute; z-index: 2; inset: 29%; border: 1px solid rgba(143,194,255,.7); border-radius: 50%; opacity: 0; animation: c03Flash 8.2s ease-out infinite; }
.c03-burst { position: absolute; z-index: 3; left: 49%; top: 50%; width: 32px; height: 32px; border-radius: 50%; background: rgba(88,167,255,.36); transform: translate(-50%,-50%) scale(.1); opacity: 0; animation: c03Burst 8.2s ease-out infinite; }
.c03-booking { position: absolute; z-index: 8; left: 50%; top: 50%; width: 196px; display: grid; gap: 6px; padding: 16px 17px; border: 1px solid rgba(114,212,187,.34); border-radius: 8px 22px 22px 22px; color: #fff; background: rgba(8,24,34,.94); box-shadow: 0 24px 70px rgba(0,0,0,.34); opacity: 0; transform: translate(-50%,-50%) scale(.1); animation: c03Eject 8.2s var(--ease) infinite; }
.c03-booking-status { display: inline-flex; align-items: center; gap: 6px; width: max-content; color: #86d6bd; font: 700 8px/1 var(--mono); text-transform: uppercase; }
.c03-booking time { color: #9dceff; font-size: 39px; font-weight: 800; line-height: .86; letter-spacing: -.065em; }
.c03-booking strong { font-size: 11px; }
.c03-booking > small { color: rgba(255,255,255,.42); font: 650 7px/1 var(--mono); }
@keyframes c03Ingest { 0%,10%{left:2%;opacity:0;transform:translateY(-50%) scale(.92)} 18%,32%{left:3%;opacity:1;transform:translateY(-50%) scale(1)} 46%{left:43%;opacity:1;transform:translateY(-50%) scale(.2)} 51%,100%{left:47%;opacity:0;transform:translateY(-50%) scale(.08)} }
@keyframes c03BeamIn { 0%,19%{opacity:0} 28%,46%{opacity:1} 53%,100%{opacity:0} }
@keyframes c03BeamOut { 0%,52%{opacity:0} 60%,76%{opacity:1} 84%,100%{opacity:0} }
@keyframes c03Spin { to{transform:rotate(360deg)} }
@keyframes c03RingBeat { 0%,30%{transform:scale(.82);opacity:.32} 48%,62%{transform:scale(1.18);opacity:1} 76%,100%{transform:scale(.9);opacity:.42} }
@keyframes c03Rule { 0%,22%{opacity:.35;filter:none} 34%,55%{opacity:1;border-color:#58a7ff;box-shadow:0 0 20px rgba(88,167,255,.28)} 66%,100%{opacity:.28;filter:none} }
@keyframes c03Flash { 0%,49%{opacity:0;transform:scale(.4)} 57%{opacity:1} 68%,100%{opacity:0;transform:scale(3.2)} }
@keyframes c03Burst { 0%,52%{opacity:0;transform:translate(-50%,-50%) scale(.1)} 58%{opacity:.75} 70%,100%{opacity:0;transform:translate(-50%,-50%) scale(15)} }
@keyframes c03Eject { 0%,54%{left:50%;opacity:0;transform:translate(-50%,-50%) scale(.1)} 65%{opacity:1} 76%,93%{left:75%;opacity:1;transform:translate(-50%,-50%) scale(1.05)} 100%{left:77%;opacity:0;transform:translate(-50%,-50%) scale(.96)} }

/* 04 · Túnel de decisión */
.hero--tunnel { background: radial-gradient(ellipse at 73% 52%,rgba(31,122,236,.2),transparent 30%),linear-gradient(128deg,#07111c 0%,#0b1928 52%,#112a43 100%); }
.hero--tunnel::after { opacity: .1; }
.c04-shell { display: grid; grid-template-columns: minmax(410px,.74fr) minmax(660px,1.26fr); align-items: center; gap: clamp(38px,4.5vw,72px); }
.c04-copy { max-width: 575px; }
.hero--tunnel h1 { max-width: 11ch; margin-bottom: 20px; font-size: clamp(50px,4.25vw,69px); line-height: .98; }
.c04-stage { position: relative; min-height: 550px; overflow: hidden; perspective: 900px; border: 1px solid rgba(88,167,255,.08); border-radius: 42px 10px 42px 10px; background: radial-gradient(circle at 50% 49%,rgba(31,122,236,.14),transparent 28%),rgba(7,18,30,.28); box-shadow: inset 0 0 80px rgba(0,0,0,.22),0 30px 80px rgba(0,0,0,.12); }
.c04-grid { position: absolute; inset: -30% -18% -10%; opacity: .34; background: linear-gradient(rgba(88,167,255,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(88,167,255,.13) 1px,transparent 1px); background-size: 54px 54px; clip-path: polygon(35% 0,65% 0,100% 100%,0 100%); transform: perspective(540px) rotateX(62deg) translateY(22%); transform-origin: center bottom; animation: c04Grid 8.6s linear infinite; }
.c04-gates { position: absolute; inset: 0; transform-style: preserve-3d; }
.c04-gate { position: absolute; left: 50%; top: 48%; display: grid; align-content: start; gap: 6px; padding: 13px; border: 1px solid rgba(88,167,255,.3); color: rgba(255,255,255,.44); background: linear-gradient(145deg,rgba(31,122,236,.07),rgba(31,122,236,.015)); transform: translate(-50%,-50%); box-shadow: inset 0 0 34px rgba(31,122,236,.04); animation: c04Gate 8.6s var(--ease) infinite; animation-delay: calc(var(--gate) * .44s); }
.c04-gate--far { width: 33%; height: 28%; opacity: .32; }
.c04-gate--mid { width: 53%; height: 45%; opacity: .48; }
.c04-gate--near { width: 76%; height: 66%; opacity: .66; }
.c04-gate small { font: 700 7px/1 var(--mono); letter-spacing: .11em; text-transform: uppercase; }
.c04-gate strong { color: #b8d9fb; font-size: 11px; }
.c04-payload { position: absolute; z-index: 7; left: 50%; top: 48%; width: 210px; height: 110px; transform: translate(-50%,-50%) scale(.34); transform-style: preserve-3d; animation: c04Travel 8.6s var(--ease) infinite; }
.c04-message,.c04-booking { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; gap: 10px; color: #fff; box-shadow: 0 24px 70px rgba(0,0,0,.34); }
.c04-message { padding: 16px; border-radius: 20px 20px 7px 20px; background: #0d775d; animation: c04Message 8.6s var(--ease) infinite; }
.c04-message strong { font-size: 14px; }
.c04-booking { padding: 15px; border: 1px solid rgba(114,212,187,.4); border-radius: 8px 22px 22px 22px; background: #0b1c2c; opacity: 0; transform: scaleX(.12); animation: c04Booking 8.6s var(--ease) infinite; }
.c04-booking > svg { color: #88d7bf; }
.c04-booking span { display: grid; gap: 5px; }
.c04-booking small { color: #88d7bf; font: 700 8px/1 var(--mono); text-transform: uppercase; }
.c04-booking time { color: #a5d3ff; font-size: 34px; font-weight: 800; line-height: .85; letter-spacing: -.06em; }
.c04-flare { position: absolute; z-index: 5; left: 50%; top: 48%; width: 40px; height: 40px; border: 1px solid rgba(143,194,255,.7); border-radius: 50%; opacity: 0; transform: translate(-50%,-50%) scale(.1); animation: c04Flare 8.6s ease-out infinite; }
.c04-progress { position: absolute; z-index: 8; inset: auto 22px 20px; display: grid; grid-template-columns: repeat(3,1fr); gap: 3px; padding: 4px; border-radius: 12px; background: rgba(255,255,255,.04); }
.c04-progress span { padding: 9px; border-radius: 9px; color: rgba(255,255,255,.34); font: 700 8px/1 var(--mono); text-align: center; text-transform: uppercase; animation: c04Progress 8.6s var(--ease) infinite; animation-delay: calc(var(--step) * .44s); }
@keyframes c04Grid { to{background-position:0 108px,108px 0} }
@keyframes c04Gate { 0%,15%{border-color:rgba(88,167,255,.18);box-shadow:none} 28%,46%{border-color:#58a7ff;box-shadow:inset 0 0 42px rgba(31,122,236,.14),0 0 28px rgba(88,167,255,.2)} 58%,100%{border-color:rgba(88,167,255,.2);box-shadow:none} }
@keyframes c04Travel { 0%,12%{transform:translate(-50%,-50%) scale(.18);filter:blur(1px)} 28%{transform:translate(-50%,-50%) scale(.34);filter:none} 48%{transform:translate(-50%,-50%) scale(.7)} 65%,90%{transform:translate(-50%,-50%) scale(1.32)} 100%{transform:translate(-50%,-50%) scale(.9);opacity:0} }
@keyframes c04Message { 0%,46%{opacity:1;transform:scaleX(1)} 55%,100%{opacity:0;transform:scaleX(.08)} }
@keyframes c04Booking { 0%,49%{opacity:0;transform:scaleX(.08)} 59%,92%{opacity:1;transform:scaleX(1)} 100%{opacity:0;transform:scaleX(.96)} }
@keyframes c04Flare { 0%,48%{opacity:0;transform:translate(-50%,-50%) scale(.1)} 56%{opacity:1} 72%,100%{opacity:0;transform:translate(-50%,-50%) scale(14)} }
@keyframes c04Progress { 0%,26%{color:#fff;background:rgba(31,122,236,.32)} 34%,100%{color:rgba(255,255,255,.34);background:transparent} }

/* Responsive */
@media (max-width:1180px) {
  .hero--pulse { --c01-core-bridge: 9.216px; }
  .c01-shell,.c02-shell,.c03-shell,.c04-shell { grid-template-columns: minmax(350px,.7fr) minmax(560px,1.3fr); gap: 30px; }
  .c01-flow { grid-template-columns: minmax(126px,1fr) 40px 120px 40px minmax(135px,1fr); }
  .c01-engine { width: 120px; }
  .c01-node { padding: 16px; }
  .c02-source { left: 0; }
  .c03-message { width: 174px; }
  .c03-reactor { width: 235px; height: 235px; }
}
@media (max-width:1024px) {
  .concept-hero { min-height: var(--vq-screen-height); padding: calc(94px + var(--safe-top)) 0 24px; }
  .concept-shell { width: calc(100% - (var(--gutter) * 2)); }
  .c01-shell,.c02-shell,.c03-shell,.c04-shell { grid-template-columns: 1fr; gap: 16px; }
  .concept-copy { max-width: none; }
  .concept-copy .eyebrow { margin-bottom: 8px; }
  .concept-copy h1 { max-width: 13ch; margin-bottom: 10px; font-size: 46px; line-height: .98; }
  .concept-copy .hero-lead { max-width: 660px; margin-bottom: 14px; font-size: 15px; line-height: 1.48; }
  .concept-proof,.concept-copy .text-link { display: none; }
  .concept-copy .hero-actions .button { min-height: 52px; }
  .c01-shell { gap: 14px; }
  .c01-copy h1 { margin-bottom: 20px; line-height: 1.01; }
  .c01-copy .hero-lead { margin-bottom: 22px; line-height: 1.55; }
  .c01-stage { min-height: 330px; }
  .c01-stepbar { top: 10px; }
  .c01-flow { grid-template-columns: minmax(140px,1fr) 55px 120px 55px minmax(145px,1fr); }
  .c01-node { min-height: 126px; }
  .c02-stage { min-height: 340px; }
  .c02-gates li:nth-child(1) { left: 25%; }
  .c02-gates li:nth-child(2) { left: 48%; }
  .c02-gates li:nth-child(3) { left: 69%; }
  .c03-stage { min-height: 350px; }
  .c03-field { width: 340px; height: 340px; }
  .c03-reactor { width: 210px; height: 210px; }
  .c03-core img { width: 47px; height: 47px; }
  .c03-message { width: 178px; }
  .c03-booking { width: 180px; }
  .c04-stage { min-height: 350px; }
  .c04-gate { padding: 10px; }
}
@media (min-width:761px) and (max-width:1024px) {
  html.vq-stable-height-lte-820 .concept-hero { padding-top: calc(82px + var(--safe-top)); padding-bottom: 18px; }
  html.vq-stable-height-lte-820 .concept-copy h1 { font-size: 43px; }
  html.vq-stable-height-lte-820 .concept-copy .hero-lead { margin-bottom: 11px; font-size: 14px; }
  html.vq-stable-height-lte-820 .c01-shell { gap: 12px; }
  html.vq-stable-height-lte-820 .c01-copy h1 { margin-bottom: 16px; }
  html.vq-stable-height-lte-820 .c01-copy .hero-lead { margin-bottom: 16px; }
  html.vq-stable-height-lte-820 .c01-stage { min-height: 304px; }
  html.vq-stable-height-lte-820 .c02-stage { min-height: 318px; }
  html.vq-stable-height-lte-820 .c03-stage,
  html.vq-stable-height-lte-820 .c04-stage { min-height: 326px; }
}
@media (max-width:760px) {
  .hero--pulse { --c01-core-bridge: 5.53px; row-gap: 10px; }
  .concept-hero {
    height: var(--vq-screen-height);
    min-height: var(--vq-screen-height);
    max-height: var(--vq-screen-height);
    padding: calc(var(--header-height) + 14px) 0 max(12px, var(--safe-bottom));
    overflow: hidden;
  }
  .concept-shell { width: calc(100% - (var(--gutter) * 2)); }
  .concept-copy h1 { max-width: 12ch; font-size: clamp(42px, 11.2vw, 46px); }
  .concept-copy .hero-lead { font-size: 15px; line-height: 1.45; }
  .concept-copy .hero-actions .button { width: auto; min-height: 56px; padding-inline: 22px; font-size: 14px; }
  .c01-shell {
    height: 100%;
    min-height: 0;
    grid-template-rows: auto minmax(0, 1fr);
    gap: 10px;
  }
  .c01-copy h1 { margin-bottom: 20px; line-height: 1.02; }
  .c01-copy .hero-lead { margin-bottom: 20px; line-height: 1.5; }
  .c01-stage {
    height: 100%;
    min-height: 0;
    align-items: start;
    padding-top: clamp(24px, 4svh, 34px);
  }
  .c01-stepbar { inset: 4px 1% auto; font-size: 6px; }
  .c01-flow { grid-template-columns: minmax(92px,1fr) 18px 72px 18px minmax(98px,1fr); }
  .c01-engine { width: 72px; }
  .c01-core { width: 38px; height: 38px; border-radius: 12px; }
  .c01-core img { width: 29px; height: 29px; }
  .c01-node { min-height: 108px; padding: 9px; }
  .c01-node--in { border-radius: 18px 7px 7px 18px; }
  .c01-node--out { border-radius: 8px 18px 18px 8px; }
  .c01-node-head { gap: 5px; margin-bottom: 9px; font-size: 6px; }
  .c01-icon { width: 24px; height: 24px; border-radius: 8px; }
  .c01-node strong { font-size: 9px; }
  .c01-node small { font-size: 6px; }
  .c01-node--out time { font-size: 22px; }
  .c01-tags { inset: auto -24px -18px; }
  .c01-tags span { padding: 4px; font-size: 6px; }

  .c02-stage { min-height: 300px; overflow: hidden; }
  .c02-stage::before { inset: 8% 49% 4%; border: 0; border-left: 1px solid rgba(88,167,255,.22); }
  .c02-stage::after,.c02-wave { display: none; }
  .c02-source { top: 3%; left: 50%; transform: translateX(-50%); min-width: 218px; animation: c02SourceMobile 8s var(--ease) infinite; }
  .c02-gates li { left: 50% !important; min-width: 128px; transform: translateX(-50%); }
  .c02-gates li:nth-child(1) { top: 29%; }
  .c02-gates li:nth-child(2) { top: 45%; }
  .c02-gates li:nth-child(3) { top: 61%; }
  .c02-booking { top: auto; right: auto; bottom: 0; left: 50%; min-width: 205px; transform: translateX(-50%) scale(.74); animation: c02BookingMobile 8s var(--ease) infinite; }
  .c02-runner { left: 50%; top: 18%; animation: c02RunnerMobile 8s var(--ease) infinite; }
  .c02-shock { left: 50%; top: 86%; }
  .c02-ambient { right: -25%; width: 88vw; }

  .c03-stage { min-height: 310px; overflow: hidden; }
  .c03-field { width: 270px; height: 270px; }
  .c03-reactor { left: 50%; top: 52%; width: 160px; height: 160px; }
  .c03-core { border-radius: 15px; }
  .c03-core img { width: 36px; height: 36px; }
  .c03-rules { inset: -10%; }
  .c03-rules span { padding: 5px 7px; font-size: 6px; }
  .c03-message { left: 50%; top: 1%; width: 206px; transform: translateX(-50%); animation: c03IngestMobile 8.2s var(--ease) infinite; }
  .c03-booking { left: 50%; top: 68%; width: 190px; transform: translateX(-50%) scale(.1); animation: c03EjectMobile 8.2s var(--ease) infinite; }
  .c03-booking time { font-size: 31px; }
  .c03-beam { left: 50%; width: 72px; transform: translateX(-50%); }
  .c03-beam--in { top: 16%; height: 35%; clip-path: polygon(42% 0,58% 0,75% 100%,25% 100%); }
  .c03-beam--out { top: 54%; height: 34%; clip-path: polygon(25% 0,75% 0,58% 100%,42% 100%); }
  .c03-burst { left: 50%; top: 52%; }

  .c04-stage { min-height: 310px; border-radius: 26px 8px 26px 8px; }
  .c04-grid { background-size: 36px 36px; }
  .c04-gate { top: 46%; }
  .c04-gate--far { width: 34%; height: 25%; }
  .c04-gate--mid { width: 58%; height: 44%; }
  .c04-gate--near { width: 84%; height: 64%; }
  .c04-gate small { font-size: 5px; }
  .c04-gate strong { font-size: 8px; }
  .c04-payload { top: 46%; width: 152px; height: 82px; }
  .c04-message strong { font-size: 11px; }
  .c04-booking time { font-size: 27px; }
  .c04-progress { inset: auto 10px 9px; }
  .c04-progress span { padding: 7px 3px; font-size: 6px; }
}

@media (max-height: 640px) and (min-width: 501px) and (orientation: landscape) {
  .concept-hero {
    height: var(--vq-screen-height);
    min-height: var(--vq-screen-height);
    padding: calc(var(--header-height) + 4px) 0 max(6px, var(--safe-bottom));
    row-gap: 2px;
  }

  .c01-shell {
    grid-template-columns: minmax(180px, 0.82fr) minmax(265px, 1.18fr);
    align-items: center;
    gap: clamp(12px, 2.4vw, 22px);
  }

  .c01-copy h1 {
    max-width: 12ch;
    margin-bottom: 10px;
    font-size: clamp(27px, 4.6vw, 36px);
    line-height: 1;
  }

  .c01-copy .hero-lead {
    margin-bottom: 10px;
    font-size: clamp(10px, 1.65vw, 13px);
    line-height: 1.36;
  }

  .c01-copy .button { min-height: 42px; padding-inline: 16px; font-size: 12px; }
  .c01-stage { min-height: 190px; }
  .c01-stage::before { inset-block: 5%; }
  .c01-stepbar { top: 4px; font-size: 5.5px; }
  .c01-flow { grid-template-columns: minmax(72px, 1fr) 12px 56px 12px minmax(76px, 1fr); }
  .c01-engine { width: 56px; }
  .c01-core { width: 32px; height: 32px; border-radius: 10px; }
  .c01-core img { width: 24px; height: 24px; }
  .c01-node { min-height: 78px; padding: 7px; }
  .c01-node-head { gap: 4px; margin-bottom: 6px; font-size: 5px; }
  .c01-icon { width: 19px; height: 19px; border-radius: 6px; }
  .c01-node strong { font-size: 8px; }
  .c01-node small { display: none; }
  .c01-node--out time { font-size: 18px; }
  .c01-tags { display: none; }
  .c01-scroll-cue { min-height: 40px; gap: 1px; margin-bottom: 0; color: rgba(255,255,255,.68); font-size: 9px; }
}

@media (max-width:480px) {
  .concept-hero { padding-top: calc(var(--header-height) + 14px); }
  .concept-copy h1 { font-size: 38px; }
  .concept-copy .eyebrow { font-size: 8px; }
  .c01-copy h1 { margin-bottom: 16px; }
  .c01-scroll-cue { font-size: 9px; white-space: nowrap; }
  .concept-copy .hero-lead { margin-bottom: 12px; font-size: 13px; }
  .c01-copy .hero-lead { margin-bottom: 16px; }
  .c01-stage { min-height: 252px; }
  .c02-stage,.c03-stage,.c04-stage { min-height: 292px; }
}
@media (max-width:500px) and (min-width:401px) and (max-height:640px) and (orientation:landscape) {
  .concept-hero {
    height: var(--vq-screen-height);
    min-height: var(--vq-screen-height);
    padding: calc(var(--header-height) + 2px) 0 max(4px, var(--safe-bottom));
    row-gap: 0;
  }
  .c01-shell {
    grid-template-columns: minmax(140px, .76fr) minmax(205px, 1.24fr);
    align-items: center;
    gap: 8px;
  }
  .c01-copy h1 { max-width: none; margin-bottom: 9px; font-size: clamp(22px, 5.4vw, 27px); line-height: 1; }
  .c01-copy .hero-lead { display: none; }
  .c01-copy .button { min-height: 40px; padding-inline: 13px; font-size: 11px; }
  .c01-stage { min-height: 170px; }
  .c01-stage::before { inset-block: 4%; }
  .c01-stepbar { display: none; }
  .c01-flow { grid-template-columns: minmax(64px,1fr) 6px 42px 6px minmax(68px,1fr); }
  .c01-engine { width: 42px; }
  .c01-core { width: 28px; height: 28px; border-radius: 8px; }
  .c01-core img { width: 21px; height: 21px; }
  .c01-node { min-height: 70px; padding: 6px; }
  .c01-node-head { gap: 3px; margin-bottom: 5px; font-size: 5px; }
  .c01-icon { width: 18px; height: 18px; border-radius: 6px; }
  .c01-node strong { font-size: 7px; }
  .c01-node small,.c01-tags { display: none; }
  .c01-node--out time { font-size: 16px; }
  .c01-scroll-cue { min-height: 38px; gap: 0; margin-bottom: 0; color: rgba(255,255,255,.68); font-size: 9px; }
}
@media (max-width:360px) and (orientation:portrait) {
  html.vq-stable-height-lte-640 .hero--pulse { --c01-core-bridge: 3.994px; }
  html.vq-stable-height-lte-640 .hero--pulse { padding: calc(72px + var(--safe-top)) 0 max(6px, var(--safe-bottom)); row-gap: 4px; }
  html.vq-stable-height-lte-640 .c01-shell { gap: 8px; }
  html.vq-stable-height-lte-640 .c01-copy h1 { max-width: none; margin-bottom: 14px; font-size: 30px; line-height: 1.02; }
  html.vq-stable-height-lte-640 .c01-copy .hero-lead { margin-bottom: 14px; font-size: 12px; line-height: 1.35; }
  html.vq-stable-height-lte-640 .c01-copy .button { min-height: 44px; padding-inline: 18px; font-size: 13px; }
  html.vq-stable-height-lte-640 .c01-stage { min-height: 150px; }
  html.vq-stable-height-lte-640 .c01-stepbar { display: none; }
  html.vq-stable-height-lte-640 .c01-flow { grid-template-columns: minmax(78px,1fr) 8px 52px 8px minmax(82px,1fr); }
  html.vq-stable-height-lte-640 .c01-engine { width: 52px; }
  html.vq-stable-height-lte-640 .c01-node { min-height: 78px; padding: 7px; }
  html.vq-stable-height-lte-640 .c01-node--in { border-radius: 14px 6px 6px 14px; }
  html.vq-stable-height-lte-640 .c01-node--out { border-radius: 7px 14px 14px 7px; }
  html.vq-stable-height-lte-640 .c01-node-head { gap: 4px; margin-bottom: 6px; font-size: 5px; }
  html.vq-stable-height-lte-640 .c01-icon { width: 20px; height: 20px; border-radius: 7px; }
  html.vq-stable-height-lte-640 .c01-node strong { font-size: 8px; }
  html.vq-stable-height-lte-640 .c01-node small { display: none; }
  html.vq-stable-height-lte-640 .c01-node--out time { font-size: 18px; }
  html.vq-stable-height-lte-640 .c01-core { width: 30px; height: 30px; border-radius: 9px; }
  html.vq-stable-height-lte-640 .c01-core img { width: 23px; height: 23px; }
  html.vq-stable-height-lte-640 .c01-tags { inset: auto -25px -12px; gap: 2px; }
  html.vq-stable-height-lte-640 .c01-tags span { padding: 3px; font-size: 5px; }
  html.vq-stable-height-lte-640 .c01-scroll-cue { min-height: 44px; padding-inline: 4px; font-size: 9px; }
}

@media (max-width:760px) and (orientation:portrait) {
  html.vq-stable-height-lte-700 .concept-hero {
    padding: calc(var(--header-height) + 5px) 0 max(5px, var(--safe-bottom));
    row-gap: 2px;
  }
  html.vq-stable-height-lte-700 .c01-shell {
    height: 100%;
    min-height: 0;
    grid-template-rows: auto minmax(0, 1fr);
    gap: 4px;
  }
  html.vq-stable-height-lte-700 .concept-copy .eyebrow { display: none; }
  html.vq-stable-height-lte-700 .c01-copy h1 { max-width: 12ch; margin-bottom: 8px; font-size: clamp(28px, 8.6vw, 34px); }
  html.vq-stable-height-lte-700 .c01-copy .hero-lead { margin-bottom: 9px; font-size: 11px; line-height: 1.32; }
  html.vq-stable-height-lte-700 .c01-copy .hero-actions .button { min-height: 44px; padding-inline: 16px; font-size: 12px; }
  html.vq-stable-height-lte-700 .c01-stage {
    height: 100%;
    min-height: 0;
    padding-top: clamp(10px, 2svh, 14px);
  }
  html.vq-stable-height-lte-700 .c01-stepbar { display: none; }
  html.vq-stable-height-lte-700 .c01-scroll-cue { min-height: 30px; gap: 0; margin-bottom: 0; font-size: 8px; }
  html.vq-stable-height-lte-700 .c01-scroll-arrow { width: 14px; height: 14px; }
}
@keyframes c02SourceMobile { 0%,10%{opacity:0;transform:translateX(-50%) translateY(-12px)} 16%,34%{opacity:1;transform:translateX(-50%)} 52%,100%{opacity:.28;transform:translateX(-50%) scale(.94)} }
@keyframes c02RunnerMobile { 0%,13%{left:50%;top:18%;opacity:0} 17%{opacity:1} 31%{top:34%} 47%{top:50%} 64%{top:66%} 82%{top:86%;opacity:1} 90%,100%{top:88%;opacity:0} }
@keyframes c02BookingMobile { 0%,72%{opacity:0;transform:translateX(-50%) scale(.72)} 82%,94%{opacity:1;transform:translateX(-50%) scale(1)} 100%{opacity:0;transform:translateX(-50%) scale(.96)} }
@keyframes c03IngestMobile { 0%,10%{top:1%;opacity:0;transform:translateX(-50%) scale(.9)} 18%,32%{top:2%;opacity:1;transform:translateX(-50%) scale(1)} 47%{top:42%;opacity:1;transform:translateX(-50%) scale(.15)} 53%,100%{top:48%;opacity:0;transform:translateX(-50%) scale(.06)} }
@keyframes c03EjectMobile { 0%,54%{top:52%;opacity:0;transform:translateX(-50%) scale(.1)} 66%{opacity:1} 76%,93%{top:68%;opacity:1;transform:translateX(-50%) scale(1)} 100%{top:70%;opacity:0;transform:translateX(-50%) scale(.95)} }

@media (prefers-reduced-motion:reduce) {
  .c01-node::before,.c01-node--in > :not(.c01-outline),.c01-node--out > :not(.c01-outline),.c01-outline-rest,.c01-outline-live,.c01-rail::before,.c01-orb,.c01-orb::after,.c01-engine::before,.c01-rings,.c01-core-rest,.c01-core-trace-live,.c01-core,.c01-core img,.c01-tags,.c01-step,.c01-scroll-arrow,
  .c02-ambient,.c02-wave-live,.c02-source,.c02-gates li,.c02-runner,.c02-shock,.c02-booking,
  .c03-message,.c03-beam,.c03-ring,.c03-rules span,.c03-flash,.c03-burst,.c03-booking,
  .c04-grid,.c04-gate,.c04-payload,.c04-message,.c04-booking,.c04-flare,.c04-progress span {
    animation: none !important;
  }
  .c01-node::before,.c01-node--in > :not(.c01-outline),.c01-node--out > :not(.c01-outline),.c01-tags { opacity: 1; transform: none; }
  .c01-outline-rest,.c01-core-rest { opacity: .58; filter: none; }
  .c01-outline-live,.c01-core-trace-live { display: none; }
  .c01-step { color: rgba(255,255,255,.7); background: transparent; opacity: 1; text-shadow: none; }
  .c01-orb,.c01-engine::before,.c02-runner,.c02-shock,.c03-flash,.c03-burst,.c04-flare { display: none; }
  .c02-wave-live { stroke-dashoffset: 0; opacity: 1; }
  .c02-source { opacity: .55; transform: none; }
  .c02-gates li { opacity: 1; transform: none; }
  .c02-booking { opacity: 1; transform: none; }
  .c03-message { left: 3%; opacity: .42; transform: translateY(-50%); }
  .c03-beam { opacity: .28; }
  .c03-booking { left: 75%; opacity: 1; transform: translate(-50%,-50%); }
  .c04-message { opacity: 0; }
  .c04-booking { opacity: 1; transform: none; }
  .c04-payload { opacity: 1; transform: translate(-50%,-50%) scale(1.25); }
  .c04-progress span { color: rgba(255,255,255,.72); }
}
