/* Fix double scrollbar caused by support.js FULL_PAGE_CSS */
html, body, #dc-root, .sc-host { height: auto !important; }
#page-content { overflow-x: clip !important; }

:root {
  --font-body: system-ui, -apple-system, sans-serif;
  --font-heading: system-ui, -apple-system, sans-serif;
  --font-mono: system-ui, -apple-system, sans-serif;

  /* Paleta Bright Snow + Tropical Teal */
  --color-bg: #f8f9fa;
  --color-primary: #123C40;
  --color-primary-light: #0A5655;
  --color-surface-alt: #E6EFEE;
  --color-surface: #edf0f2;
  --color-text: #172124;
  --color-divider: color-mix(in srgb, #172124 12%, transparent);

  /* Rampa neutral adaptada a Bright Snow */
  --color-neutral-100: #ffffff;
  --color-neutral-200: #f1f3f5;
  --color-neutral-300: #e2e6ea;
  --color-neutral-400: #ced4da;
  --color-neutral-500: #9aa2ab;
  --color-neutral-600: #6c757d;
  --color-neutral-700: #495057;
  --color-neutral-800: #343a40;
  --color-neutral-900: #212529;

  --color-accent: #008794;
  --color-accent-2: #00707b;

  --color-accent-100: #e0f5f6;
  --color-accent-200: #b9e7eb;
  --color-accent-300: #82d2db;
  --color-accent-400: #3db5c2;
  --color-accent-500: #0e9ea8;
  --color-accent-600: #008794;
  --color-accent-700: #006873;
  --color-accent-800: #004c54;
  --color-accent-900: #00292e;

  --color-accent-2-100: #e0f5f6;
  --color-accent-2-200: #b9e7eb;
  --color-accent-2-300: #82d2db;
  --color-accent-2-400: #3db5c2;
  --color-accent-2-500: #0e9ea8;
  --color-accent-2-600: #00707b;
  --color-accent-2-700: #00565f;
  --color-accent-2-800: #003e45;
  --color-accent-2-900: #002529;
}

html { scroll-behavior: smooth; scroll-padding-top: 88px; }

body { margin: 0; font-size: 18px; line-height: 1.6; }
a { color: var(--color-accent-700); text-underline-offset: 3px; }
a:hover { color: var(--color-accent-600); }

@keyframes lm-converge {
  0%, 12% { transform: translate(0, 0); }
  52%, 68% { transform: translate(var(--tx, 0px), var(--ty, 0px)); }
  100% { transform: translate(0, 0); }
}
@keyframes lm-tangle {
  0%, 12% { opacity: 1; }
  52%, 68% { opacity: 0.1; }
  100% { opacity: 1; }
}
@keyframes lm-draw { to { stroke-dashoffset: 0; } }
@keyframes lm-glow { 0%, 100% { opacity: 0.35; } 50% { opacity: 0.8; } }

@media (max-width: 900px) {
  [data-stack] { grid-template-columns: 1fr !important; }
  [data-stack="split"] > * { border-right: 0 !important; padding: var(--space-6) 0 !important; }
  [data-stack="split"] > * + * { border-top: 1px solid var(--color-divider); }
}
@media (max-width: 700px) {
  [data-hero] { padding: 96px 22px 180px !important; background-image: none !important; }
  [data-pad] { padding-left: 22px !important; padding-right: 22px !important; }
  [data-gap] { gap: 64px !important; }
  #espera form { flex-direction: column !important; align-items: stretch !important; }
  #espera form button { width: 100%; }
}

/* Landscape phones have enough width to skip the narrow-phone breakpoint,
   but the hero artwork still competes with the heading. */
@media (orientation: landscape) and (max-height: 600px) {
  [data-hero] { background-image: none !important; }
  #como-funciona[data-reveal] { opacity: 1 !important; transform: none !important; }
}
  @keyframes lum-caret { 0%, 45% { opacity: 1 } 50%, 95% { opacity: 0 } 100% { opacity: 1 } }
  @keyframes lum-type { 0% { width: 6% } 45% { width: 78% } 55% { width: 78% } 100% { width: 6% } }
  @keyframes lum-type2 { 0%, 20% { width: 0% } 60% { width: 54% } 80% { width: 54% } 100% { width: 0% } }
  @keyframes lum-ping { 0%, 60% { background: rgba(18,60,64,0.06); color: rgba(18,60,64,0.5) } 70%, 92% { background: rgba(14,124,123,0.22); color: #0A5655 } 100% { background: rgba(18,60,64,0.06); color: rgba(18,60,64,0.5) } }
  @keyframes lum-dash { to { stroke-dashoffset: -24 } }
  @keyframes lb3-n1 { 0%, 2% { opacity: 0 } 6%, 92% { opacity: 1 } 99%, 100% { opacity: 0 } }
  @keyframes lb3-n2 { 0%, 5.3% { opacity: 0 } 9.3%, 92% { opacity: 1 } 99%, 100% { opacity: 0 } }
  @keyframes lb3-n3 { 0%, 8.6% { opacity: 0 } 12.6%, 92% { opacity: 1 } 99%, 100% { opacity: 0 } }
  @keyframes lb3-n4 { 0%, 12% { opacity: 0 } 16%, 92% { opacity: 1 } 99%, 100% { opacity: 0 } }
  @keyframes lb3-l1 { 0%, 18% { stroke-dashoffset: 100; opacity: 1 } 22%, 92% { stroke-dashoffset: 0; opacity: 1 } 99%, 100% { stroke-dashoffset: 0; opacity: 0 } }
  @keyframes lb3-l2 { 0%, 22% { stroke-dashoffset: 100; opacity: 1 } 26%, 92% { stroke-dashoffset: 0; opacity: 1 } 99%, 100% { stroke-dashoffset: 0; opacity: 0 } }
  @keyframes lb3-l3 { 0%, 26% { stroke-dashoffset: 100; opacity: 1 } 30%, 92% { stroke-dashoffset: 0; opacity: 1 } 99%, 100% { stroke-dashoffset: 0; opacity: 0 } }
  @keyframes lb3-h1 { 0%, 33% { stroke: rgba(18,60,64,0.15) } 35%, 40% { stroke: #0E7C7B } 42%, 100% { stroke: rgba(18,60,64,0.15) } }
  @keyframes lb3-h2 { 0%, 57% { stroke: rgba(18,60,64,0.15) } 59%, 64% { stroke: #0E7C7B } 66%, 100% { stroke: rgba(18,60,64,0.15) } }
  @keyframes lb3-h3 { 0%, 78% { stroke: rgba(18,60,64,0.15) } 80%, 85% { stroke: #0E7C7B } 87%, 100% { stroke: rgba(18,60,64,0.15) } }
  @keyframes lum-pulse { 0%, 100% { transform: scale(1); opacity: 0.9 } 50% { transform: scale(1.5); opacity: 0.25 } }
  @keyframes lb6-breathe { 0%, 100% { opacity: 0.85 } 50% { opacity: 1 } }
  @keyframes lb6-toast { 0%, 15% { opacity: 0; transform: translateY(8px) } 30%, 70% { opacity: 1; transform: translateY(0) } 85%, 100% { opacity: 0; transform: translateY(8px) } }
  @keyframes lb6-link { 0%, 29.9% { clip-path: inset(0 0 100% 0); opacity: 0 } 30% { clip-path: inset(0 0 100% 0); opacity: 0.9 } 38%, 66% { clip-path: inset(0 0 0 0); opacity: 0.9 } 74%, 100% { clip-path: inset(0 0 0 0); opacity: 0 } }
  @keyframes lb4-save { 0%, 18% { color: rgba(18,60,64,0.3); background: rgba(18,60,64,0.05) } 22%, 28% { color: #0E7C7B; background: rgba(14,124,123,0.22) } 32%, 100% { color: rgba(18,60,64,0.3); background: rgba(18,60,64,0.05) } }
  @keyframes lb4-fly { 0%, 24% { opacity: 0; transform: translate(-34px, -30px) scale(0.72) } 34%, 48% { opacity: 1; transform: translate(0, 0) scale(1) } 51%, 100% { opacity: 0; transform: translate(-34px, -30px) scale(0.72) } }
  @keyframes lb4-label { 0%, 30% { opacity: 0 } 37%, 48% { opacity: 1 } 50%, 100% { opacity: 0 } }
  @keyframes lb4-page { 0%, 48% { opacity: 1 } 52%, 92% { opacity: 0 } 94%, 100% { opacity: 1 } }
  @keyframes lb4-login { 0%, 52% { opacity: 0; transform: translateY(3px) } 57%, 92% { opacity: 1; transform: translateY(0) } 94%, 100% { opacity: 0; transform: translateY(3px) } }
  @keyframes lb4-u1 { 0%, 49% { opacity: 1 } 52%, 92% { opacity: 0 } 94%, 100% { opacity: 1 } }
  @keyframes lb4-u2 { 0%, 49% { opacity: 0 } 52%, 92% { opacity: 1 } 94%, 100% { opacity: 0 } }
  @keyframes lb4-d1 { 0%, 58% { opacity: 0 } 60%, 92% { opacity: 1 } 94%, 100% { opacity: 0 } }
  @keyframes lb4-d2 { 0%, 63.5% { opacity: 0 } 65.5%, 92% { opacity: 1 } 94%, 100% { opacity: 0 } }
  @keyframes lb4-lock { 0%, 64% { opacity: 0; color: rgba(18,60,64,0.35) } 68%, 71% { opacity: 1; color: rgba(18,60,64,0.35) } 74%, 78% { opacity: 1; color: #0E7C7B } 81%, 84% { opacity: 1; color: rgba(18,60,64,0.35) } 86%, 90% { opacity: 1; color: #0E7C7B } 92% { opacity: 1; color: rgba(18,60,64,0.35) } 94%, 100% { opacity: 0; color: rgba(18,60,64,0.35) } }
  @keyframes lm-a1 { 0%, 10% { opacity: 1; transform: translateY(0) } 11.25% { opacity: 0; transform: translateY(-4px) } 11.3%, 70% { opacity: 0; transform: translateY(4px) } 71.25%, 100% { opacity: 1; transform: translateY(0) } }
  @keyframes lm-a2 { 0%, 10% { opacity: 0; transform: translateY(4px) } 11.25%, 40% { opacity: 1; transform: translateY(0) } 41.25%, 100% { opacity: 0; transform: translateY(-4px) } }
  @keyframes lm-a3 { 0%, 40% { opacity: 0; transform: translateY(4px) } 41.25%, 70% { opacity: 1; transform: translateY(0) } 71.25%, 100% { opacity: 0; transform: translateY(-4px) } }
  @keyframes lm-b1 { 0%, 20% { opacity: 1; transform: translateY(0) } 21.25% { opacity: 0; transform: translateY(-4px) } 21.3%, 80% { opacity: 0; transform: translateY(4px) } 81.25%, 100% { opacity: 1; transform: translateY(0) } }
  @keyframes lm-b2 { 0%, 20% { opacity: 0; transform: translateY(4px) } 21.25%, 50% { opacity: 1; transform: translateY(0) } 51.25%, 100% { opacity: 0; transform: translateY(-4px) } }
  @keyframes lm-b3 { 0%, 50% { opacity: 0; transform: translateY(4px) } 51.25%, 80% { opacity: 1; transform: translateY(0) } 81.25%, 100% { opacity: 0; transform: translateY(-4px) } }
  @keyframes lm-c1 { 0%, 30% { opacity: 1; transform: translateY(0) } 31.25% { opacity: 0; transform: translateY(-4px) } 31.3%, 90% { opacity: 0; transform: translateY(4px) } 91.25%, 100% { opacity: 1; transform: translateY(0) } }
  @keyframes lm-c2 { 0%, 30% { opacity: 0; transform: translateY(4px) } 31.25%, 60% { opacity: 1; transform: translateY(0) } 61.25%, 100% { opacity: 0; transform: translateY(-4px) } }
  @keyframes lm-c3 { 0%, 60% { opacity: 0; transform: translateY(4px) } 61.25%, 90% { opacity: 1; transform: translateY(0) } 91.25%, 100% { opacity: 0; transform: translateY(-4px) } }
  @keyframes lm-bar5 { 0%, 30% { opacity: 0.18 } 31.25%, 90% { opacity: 1 } 91.25%, 100% { opacity: 0.18 } }
  @keyframes lm-bar6 { 0%, 60% { opacity: 0.18 } 61.25%, 90% { opacity: 1 } 91.25%, 100% { opacity: 0.18 } }
  @keyframes lm-flash-a { 0%, 9.6% { color: #123C40 } 10.3% { color: #0E7C7B } 11.8%, 39.6% { color: #123C40 } 40.3% { color: #0E7C7B } 41.8%, 69.6% { color: #123C40 } 70.3% { color: #0E7C7B } 71.8%, 100% { color: #123C40 } }
  @keyframes lm-flash-b { 0%, 19.6% { color: #123C40 } 20.3% { color: #0E7C7B } 21.8%, 49.6% { color: #123C40 } 50.3% { color: #0E7C7B } 51.8%, 79.6% { color: #123C40 } 80.3% { color: #0E7C7B } 81.8%, 100% { color: #123C40 } }
  @keyframes lm-flash-c { 0%, 29.6% { color: #123C40 } 30.3% { color: #0E7C7B } 31.8%, 59.6% { color: #123C40 } 60.3% { color: #0E7C7B } 61.8%, 89.6% { color: #123C40 } 90.3% { color: #0E7C7B } 91.8%, 100% { color: #123C40 } }
  @keyframes lum-swap-a { 0%, 12% { transform: translateY(0) } 42%, 62% { transform: translateY(56px) } 92%, 100% { transform: translateY(0) } }
  @keyframes lum-swap-b { 0%, 12% { transform: translateY(0) } 42%, 62% { transform: translateY(-56px) } 92%, 100% { transform: translateY(0) } }
  @keyframes lum-dot { 0%, 30% { transform: scale(0.4); opacity: 0 } 45%, 100% { transform: scale(1); opacity: 1 } }
  @keyframes lum-refute { 0%, 55% { background: #123C40; box-shadow: 0 0 0 0 rgba(14,124,123,0) } 70%, 92% { background: #0E7C7B; box-shadow: 0 0 0 6px rgba(14,124,123,0.18) } 100% { background: #123C40; box-shadow: 0 0 0 0 rgba(14,124,123,0) } }
  @keyframes lum-grow { 0% { transform: scaleX(0) } 60%, 100% { transform: scaleX(1) } }
  @keyframes lum-c1 { 0% { transform: translate(-74px, -62px) rotate(-7deg) } 55%, 78% { transform: translate(0,0) rotate(0deg) } 100% { transform: translate(-74px, -62px) rotate(-7deg) } }
  @keyframes lum-c2 { 0% { transform: translate(72px, -78px) rotate(6deg) } 55%, 78% { transform: translate(0,0) rotate(0deg) } 100% { transform: translate(72px, -78px) rotate(6deg) } }
  @keyframes lum-c3 { 0% { transform: translate(-80px, 58px) rotate(5deg) } 55%, 78% { transform: translate(0,0) rotate(0deg) } 100% { transform: translate(-80px, 58px) rotate(5deg) } }
  @keyframes lum-c4 { 0% { transform: translate(78px, 70px) rotate(-5deg) } 55%, 78% { transform: translate(0,0) rotate(0deg) } 100% { transform: translate(78px, 70px) rotate(-5deg) } }
  @keyframes lum-c5 { 0% { transform: translate(6px, -104px) rotate(3deg) } 55%, 78% { transform: translate(0,0) rotate(0deg) } 100% { transform: translate(6px, -104px) rotate(3deg) } }
  @keyframes lum-star { 0%, 100% { opacity: 0.55; transform: translate(-50%, -50%) scale(0.94) } 50% { opacity: 1; transform: translate(-50%, -50%) scale(1.06) } }
  @keyframes lum-starcore { 0%, 100% { opacity: 0.7; transform: translate(-50%, -50%) scale(0.9) } 50% { opacity: 1; transform: translate(-50%, -50%) scale(1.12) } }
  @keyframes lum-float { 0%, 100% { transform: translateY(0) } 50% { transform: translateY(-8px) } }
  @keyframes lb-c1 { 0% { transform: translate(12px, 118px) rotate(-6deg) } 40% { transform: translate(12px, 118px) rotate(-6deg); animation-timing-function: cubic-bezier(0.16,1,0.3,1) } 60%, 100% { transform: translate(0,0) rotate(0deg) } }
  @keyframes lb-c2 { 0% { transform: translate(228px, -20px) rotate(7deg) } 43% { transform: translate(228px, -20px) rotate(7deg); animation-timing-function: cubic-bezier(0.16,1,0.3,1) } 63%, 100% { transform: translate(0,0) rotate(0deg) } }
  @keyframes lb-c3 { 0% { transform: translate(8px, -58px) rotate(-8deg) } 46% { transform: translate(8px, -58px) rotate(-8deg); animation-timing-function: cubic-bezier(0.16,1,0.3,1) } 66%, 100% { transform: translate(0,0) rotate(0deg) } }
  @keyframes lb-c4 { 0% { transform: translate(250px, -6px) rotate(5deg) } 49% { transform: translate(250px, -6px) rotate(5deg); animation-timing-function: cubic-bezier(0.16,1,0.3,1) } 69%, 100% { transform: translate(0,0) rotate(0deg) } }
  @keyframes lb-c5 { 0% { transform: translate(118px, -80px) rotate(-4deg) } 52% { transform: translate(118px, -80px) rotate(-4deg); animation-timing-function: cubic-bezier(0.16,1,0.3,1) } 72%, 100% { transform: translate(0,0) rotate(0deg) } }
  @keyframes lb-t1 { 0%, 58% { opacity: 0 } 64%, 100% { opacity: 1 } }
  @keyframes lb-t2 { 0%, 61% { opacity: 0 } 67%, 100% { opacity: 1 } }
  @keyframes lb-t3 { 0%, 64% { opacity: 0 } 70%, 100% { opacity: 1 } }
  @keyframes lb-t4 { 0%, 67% { opacity: 0 } 73%, 100% { opacity: 1 } }
  @keyframes lb-t5 { 0%, 70% { opacity: 0 } 76%, 100% { opacity: 1 } }
  @keyframes lb2-c1 { 0% { left: 72%; top: 118px; transform: rotate(-7deg) } 12% { left: 72%; top: 118px; transform: rotate(-7deg); animation-timing-function: cubic-bezier(0.16,1,0.3,1) } 24%, 89.9% { left: 18px; top: 6px; transform: rotate(0deg) } 90%, 100% { left: 72%; top: 118px; transform: rotate(-7deg) } }
  @keyframes lb2-t1 { 0%, 26% { opacity: 0 } 31%, 89.9% { opacity: 1 } 90%, 100% { opacity: 0 } }
  @keyframes lb2-c2 { 0% { left: 8%; top: 20px; transform: rotate(-8deg) } 14% { left: 8%; top: 20px; transform: rotate(-8deg); animation-timing-function: cubic-bezier(0.16,1,0.3,1) } 26%, 89.9% { left: 18px; top: 54px; transform: rotate(0deg) } 90%, 100% { left: 8%; top: 20px; transform: rotate(-8deg) } }
  @keyframes lb2-t2 { 0%, 28% { opacity: 0 } 33%, 89.9% { opacity: 1 } 90%, 100% { opacity: 0 } }
  @keyframes lb2-c3 { 0% { left: 58%; top: 26px; transform: rotate(5deg) } 16% { left: 58%; top: 26px; transform: rotate(5deg); animation-timing-function: cubic-bezier(0.16,1,0.3,1) } 28%, 89.9% { left: 18px; top: 102px; transform: rotate(0deg) } 90%, 100% { left: 58%; top: 26px; transform: rotate(5deg) } }
  @keyframes lb2-t3 { 0%, 30% { opacity: 0 } 35%, 89.9% { opacity: 1 } 90%, 100% { opacity: 0 } }
  @keyframes lb2-c4 { 0% { left: 36%; top: 104px; transform: rotate(-4deg) } 18% { left: 36%; top: 104px; transform: rotate(-4deg); animation-timing-function: cubic-bezier(0.16,1,0.3,1) } 30%, 89.9% { left: 18px; top: 150px; transform: rotate(0deg) } 90%, 100% { left: 36%; top: 104px; transform: rotate(-4deg) } }
  @keyframes lb2-t4 { 0%, 32% { opacity: 0 } 37%, 89.9% { opacity: 1 } 90%, 100% { opacity: 0 } }
  @keyframes lb2-panel { 0%, 30% { opacity: 0; transform: translateY(6px) } 37%, 89.9% { opacity: 1; transform: translateY(0) } 90%, 100% { opacity: 0; transform: translateY(6px) } }
  @keyframes lb2-write { 0%, 38% { width: 0px } 50%, 58% { width: 97px } 60%, 62% { width: 0px } 72%, 89.9% { width: 76px } 90%, 100% { width: 0px } }
  @keyframes lb2-q1 { 0%, 37.9% { opacity: 0 } 38%, 59% { opacity: 1 } 59.1%, 100% { opacity: 0 } }
  @keyframes lb2-q2 { 0%, 61.9% { opacity: 0 } 62%, 89.9% { opacity: 1 } 90%, 100% { opacity: 0 } }
  @keyframes lb2-hit { 0%, 49% { background: rgba(18,60,64,0.06); border-color: transparent } 52%, 58% { background: rgba(14,124,123,0.18); border-color: #0E7C7B } 62%, 100% { background: rgba(18,60,64,0.06); border-color: transparent } }
  @keyframes lb2-hit2 { 0%, 71% { background: rgba(18,60,64,0.06); border-color: transparent } 74%, 89.9% { background: rgba(14,124,123,0.18); border-color: #0E7C7B } 90%, 100% { background: rgba(18,60,64,0.06); border-color: transparent } }
  @keyframes lb2-link { 0%, 50% { opacity: 0 } 53%, 58% { opacity: 0.9 } 59%, 100% { opacity: 0 } }
  @keyframes lb2-link2 { 0%, 72% { opacity: 0 } 75%, 87% { opacity: 0.9 } 89.9%, 100% { opacity: 0 } }
  @keyframes lb2-res1 { 0%, 50% { opacity: 0 } 53%, 58% { opacity: 1 } 59%, 100% { opacity: 0 } }
  @keyframes lb2-res2 { 0%, 72% { opacity: 0 } 75%, 89.9% { opacity: 1 } 90%, 100% { opacity: 0 } }
  @keyframes lp5-i1 { 0%, 1% { opacity: 0; transform: translateX(0) } 6%, 40% { opacity: 1; transform: translateX(0) } 52% { opacity: 0.3; transform: translateX(84px) } 55%, 95% { opacity: 0; transform: translateX(90px) } 95.01%, 100% { opacity: 0; transform: translateX(0) } }
  @keyframes lp5-i2 { 0%, 8% { opacity: 0; transform: translateX(0) } 13%, 45% { opacity: 1; transform: translateX(0) } 57% { opacity: 0.3; transform: translateX(84px) } 60%, 95% { opacity: 0; transform: translateX(90px) } 95.01%, 100% { opacity: 0; transform: translateX(0) } }
  @keyframes lp5-i3 { 0%, 16% { opacity: 0; transform: translateX(0) } 21%, 50% { opacity: 1; transform: translateX(0) } 62% { opacity: 0.3; transform: translateX(84px) } 65%, 95% { opacity: 0; transform: translateX(90px) } 95.01%, 100% { opacity: 0; transform: translateX(0) } }
  @keyframes lp5-v1 { 0%, 52% { opacity: 0 } 56%, 95% { opacity: 1 } 95.01%, 100% { opacity: 0 } }
  @keyframes lp5-v2 { 0%, 57% { opacity: 0 } 61%, 95% { opacity: 1 } 95.01%, 100% { opacity: 0 } }
  @keyframes lp5-v3 { 0%, 62% { opacity: 0 } 66%, 95% { opacity: 1 } 95.01%, 100% { opacity: 0 } }
  @keyframes lp5-d1 { 0%, 52% { opacity: 0.4 } 56%, 95% { opacity: 0 } 95.01%, 100% { opacity: 0.4 } }
  @keyframes lp5-d2 { 0%, 57% { opacity: 0.4 } 61%, 95% { opacity: 0 } 95.01%, 100% { opacity: 0.4 } }
  @keyframes lp5-d3 { 0%, 62% { opacity: 0.4 } 66%, 95% { opacity: 0 } 95.01%, 100% { opacity: 0.4 } }
  @keyframes lp5-f1 { 0%, 52% { color: #123C40 } 54% { color: #0E7C7B } 58%, 100% { color: #123C40 } }
  @keyframes lp5-f2 { 0%, 57% { color: #123C40 } 59% { color: #0E7C7B } 63%, 100% { color: #123C40 } }
  @keyframes lp5-f3 { 0%, 62% { color: #123C40 } 64% { color: #0E7C7B } 68%, 100% { color: #123C40 } }
  @keyframes lp5-line { 0%, 75% { opacity: 0; stroke-dashoffset: 48 } 78% { opacity: 1; stroke-dashoffset: 40 } 86%, 95% { opacity: 1; stroke-dashoffset: 0 } 95.01%, 100% { opacity: 0; stroke-dashoffset: 48 } }
  @keyframes lp5-orcid { 0%, 80% { opacity: 0 } 86%, 95% { opacity: 1 } 95.01%, 100% { opacity: 0 } }

/* Sección equipo: zoom suave de la foto al pasar el mouse */
.team-card:hover .team-photo,
.team-card:focus-visible .team-photo { transform: scale(1.03); }
.team-card:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 4px; border-radius: 12px; }
.team-grid { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 900px) { .team-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .team-grid { gap: 24px 14px !important; } }

/* ── Header en celular: menú desplegable ── */
.nav-toggle { display: none; }
.nav-feria-mobile { display: none !important; }
@media (max-width: 1024px) {
  .nav { padding: 0 16px !important; }
  .nav-left { gap: 16px !important; }
  .nav-feria { display: none !important; }
  .nav-toggle { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; margin-right: -8px; padding: 0; background: none; border: 0; color: var(--color-text); cursor: pointer; }
  .nav-links { display: none !important; position: absolute; top: 64px; left: 0; right: 0; flex-direction: column; align-items: stretch !important; gap: 0 !important; padding: 4px 16px 16px; background: var(--color-bg); border-bottom: 1px solid var(--color-divider); box-shadow: 0 16px 24px -18px rgba(0, 0, 0, 0.25); }
  .nav.is-open .nav-links { display: flex !important; }
  .nav-links > a { padding: 14px 4px; font-size: 16px !important; border-bottom: 1px solid var(--color-divider); }
  .nav-links > a.btn { margin-top: 16px; padding: 12px; border-bottom: 1px solid currentColor; justify-content: center; text-align: center; }
  .nav-links > a.nav-feria-mobile { display: flex !important; justify-content: center; border-bottom: 0; padding-bottom: 0; }
}
@media (max-width: 400px) {
  .nav-brand { font-size: 16px !important; letter-spacing: 0.16em !important; }
  .nav-left { gap: 12px !important; }
  .nav-social { gap: 12px !important; }
}
@media (max-width: 700px) {
  .video-frame { padding: 16px !important; border-radius: 14px !important; }
}
@media (max-width: 700px) {
  section:has(#espera) { padding-bottom: 72px !important; }
}
