/* =============================================
   AVsoft ERP Brochure — Module Page Styles
   High Contrast & Pure Product Presentation
   ============================================= */

/* ── NAVBAR FOR STANDALONE MODULE PAGES ── */
.navbar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: 70px;
  background: var(--bg-glass-card);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
  border-bottom: 1px solid var(--border-subtle);
  z-index: 1000;
  display: flex;
  align-items: center;
}

.navbar .container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 1.5rem;
}

.navbar__logo {
  display: flex;
  align-items: center;
}

#navLogo,
.navbar__logo img {
  max-height: 42px !important;
  height: 42px !important;
  max-width: 220px !important;
  width: auto !important;
  object-fit: contain !important;
  display: block !important;
}

.navbar__actions {
  display: flex;
  align-items: center;
  gap: 1.5rem;
}

.navbar__nav {
  display: flex;
  align-items: center;
  gap: 1.25rem;
}

.navbar__link {
  color: var(--text-secondary);
  font-size: var(--fs-small);
  font-weight: 600;
  text-decoration: none;
  transition: color 0.2s ease;
}

.navbar__link:hover {
  color: var(--color-teal);
}

/* ── MODULE HERO ── */
.module-hero {
  min-height: auto;
  display: flex;
  align-items: center;
  position: relative;
  overflow: hidden;
  padding: 100px 0 50px;
  background: var(--grad-hero);
}

.module-hero .container {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 3.5rem;
  align-items: center;
  position: relative;
  z-index: 1;
}

.module-hero__content {
  color: var(--text-main);
}

.breadcrumb {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: var(--fs-small);
  color: var(--text-muted);
  margin-bottom: 1.25rem;
}

.breadcrumb a {
  color: var(--color-teal);
  transition: color var(--duration-fast);
  text-decoration: none;
}

.breadcrumb a:hover {
  color: var(--color-teal-light);
}

.module-hero__icon {
  width: 56px;
  height: 56px;
  border-radius: var(--radius-md);
  background: var(--color-teal-glow);
  border: 1px solid var(--border-accent);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.85rem;
  margin-bottom: 1rem;
}

.module-hero__title {
  font-size: clamp(1.85rem, 3.2vw, 2.5rem);
  font-weight: 900;
  margin-bottom: 0.4rem;
  line-height: 1.1;
  color: var(--text-main);
}

.module-hero__tagline {
  font-size: var(--fs-h4);
  font-weight: 700;
  color: var(--color-teal);
  margin-bottom: 0.85rem;
}

[data-theme="light"] .module-hero__tagline {
  color: var(--color-teal-dark);
}

.module-hero__description {
  font-size: var(--fs-small);
  line-height: 1.6;
  color: var(--text-secondary);
  max-width: 540px;
  margin-bottom: 1.5rem;
}

/* STRICT CHARACTER IMAGE CONSTRAINTS IN STANDALONE MODULE HERO */
.module-hero__visual {
  display: flex;
  justify-content: center;
  align-items: center;
  max-height: 260px !important;
  overflow: hidden !important;
}

.module-hero__visual .character,
.character {
  display: flex;
  justify-content: center;
  align-items: center;
  max-height: 260px !important;
  max-width: 280px !important;
}

.module-hero__visual img,
.module-hero__visual .character img,
.character img {
  max-height: 180px !important;
  max-width: 100% !important;
  height: auto !important;
  width: auto !important;
  object-fit: contain !important;
  filter: drop-shadow(0 15px 30px rgba(0, 0, 0, 0.35));
}

/* Time Savings Highlight Badge */
.time-savings-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.45rem 1.1rem;
  background: rgba(0, 210, 200, 0.15);
  border: 1px solid var(--color-teal);
  color: var(--color-teal);
  font-weight: 800;
  font-size: var(--fs-xs);
  border-radius: var(--radius-pill);
  margin-bottom: 1rem;
  box-shadow: 0 4px 15px rgba(0, 210, 200, 0.2);
}

[data-theme="light"] .time-savings-badge {
  color: var(--color-teal-dark);
  background: rgba(0, 158, 150, 0.1);
}

/* ── MODULE ABOUT ── */
.module-about {
  padding: 3.5rem 0;
  background: var(--bg-main);
}

.module-about__content {
  max-width: 840px;
  margin: 0 auto;
}

.module-about__content p {
  font-size: var(--fs-body);
  line-height: 1.6;
  color: var(--text-secondary);
  margin-bottom: 1.5rem;
}

/* ── MODULE SCREENSHOT GALLERY GRID ── */
.gallery-section {
  padding: 4rem 0;
  background: var(--bg-surface);
}

.module-gallery-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.75rem;
  margin-top: 2rem;
}

.gallery-card {
  background: var(--bg-glass-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-glass);
  transition: transform 0.3s var(--ease-page), border-color 0.3s var(--ease-page), box-shadow 0.3s var(--ease-page);
  display: flex;
  flex-direction: column;
}

.gallery-card:hover {
  transform: translateY(-6px);
  border-color: var(--border-accent);
  box-shadow: var(--shadow-glass), var(--shadow-glow);
}

.gallery-card img {
  width: 100%;
  height: 210px;
  object-fit: cover;
  object-position: top center;
  border-bottom: 1px solid var(--border-subtle);
  display: block;
  background: #0B172E;
  cursor: zoom-in;
}

.gallery-card__caption {
  padding: 1.25rem 1.35rem;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.gallery-card__caption h4 {
  font-family: var(--font-heading);
  font-size: var(--fs-h4);
  font-weight: 800;
  color: var(--text-main);
}

.gallery-card__caption p {
  font-size: var(--fs-xs);
  color: var(--text-secondary);
  line-height: 1.5;
}

/* ── FEATURES SECTION ── */
.features-section {
  padding: 4rem 0;
  background: var(--bg-main);
}

.grid {
  display: grid;
  gap: 1.5rem;
}

.grid-2 {
  grid-template-columns: repeat(2, 1fr);
}

.grid-3 {
  grid-template-columns: repeat(3, 1fr);
}

.brochure-card {
  background: var(--bg-glass-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  padding: 1.75rem 1.5rem;
  box-shadow: var(--shadow-glass);
  transition: transform 0.3s ease, border-color 0.3s ease;
}

.brochure-card:hover {
  transform: translateY(-4px);
  border-color: var(--border-accent);
}

.brochure-card__icon {
  font-size: 2rem;
  margin-bottom: 0.75rem;
}

.brochure-card__title {
  font-family: var(--font-heading);
  font-size: var(--fs-h4);
  font-weight: 800;
  color: var(--text-main);
  margin-bottom: 0.5rem;
}

.brochure-card__text {
  font-size: var(--fs-small);
  color: var(--text-secondary);
  line-height: 1.55;
  margin-bottom: 1rem;
}

.brochure-card__list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.brochure-card__list li {
  font-size: var(--fs-xs);
  color: var(--text-main);
  padding: 0.3rem 0;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-weight: 600;
}

.brochure-card__list li::before {
  content: '✓';
  color: var(--color-teal);
  font-weight: 900;
}

/* ── BENEFITS SECTION ── */
.benefits-section {
  padding: 5rem 0;
  background: var(--bg-surface-elevated);
  position: relative;
  overflow: hidden;
}

.benefits-section .container {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 4rem;
  align-items: center;
}

.benefits-visual {
  display: flex;
  justify-content: center;
  align-items: center;
}

.benefits-visual .character {
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 320px !important;
}

/* Benefits section mascot strictly constrained to avoid blowing up */
.benefits-visual img,
.benefits-visual .character img {
  max-height: 280px !important;
  max-width: 100% !important;
  height: auto !important;
  width: auto !important;
  object-fit: contain !important;
  filter: drop-shadow(0 15px 35px rgba(0, 0, 0, 0.35));
}

.benefit-list {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  margin-top: 1.5rem;
}

.benefit-item {
  display: flex;
  align-items: flex-start;
  gap: 1.15rem;
  background: var(--bg-glass-card);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
  padding: 1.35rem 1.5rem;
  border-radius: var(--radius-md);
  border: 1px solid var(--border-subtle);
  box-shadow: var(--shadow-glass);
  transition: transform 0.3s ease, border-color 0.3s ease;
}

.benefit-item:hover {
  transform: translateX(6px);
  border-color: var(--border-accent);
  box-shadow: var(--shadow-glow);
}

.benefit-item__check {
  width: 28px;
  height: 28px;
  background: linear-gradient(135deg, #00D2C8 0%, #009E96 100%);
  color: #FFFFFF;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 900;
  font-size: 0.85rem;
  flex-shrink: 0;
  margin-top: 0.15rem;
  box-shadow: 0 4px 12px rgba(0, 210, 200, 0.4);
}

.benefit-item__text {
  font-size: var(--fs-small);
  color: var(--text-secondary);
  line-height: 1.6;
}

.benefit-item__text strong {
  color: var(--text-main);
  font-family: var(--font-heading);
  font-weight: 800;
  display: block;
  margin-bottom: 0.25rem;
  font-size: 1.05rem;
}

/* ── WORKFLOW / TIMELINE ── */
.workflow-section {
  padding: 4rem 0;
  background: var(--bg-surface);
}

.workflow-section .container {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 3.5rem;
  align-items: start;
}

.timeline {
  position: relative;
  padding: 1.5rem 0;
}

.timeline::before {
  content: '';
  position: absolute;
  left: 20px;
  top: 0;
  bottom: 0;
  width: 2px;
  background: var(--border-subtle);
}

.timeline__item {
  position: relative;
  padding-left: 54px;
  padding-bottom: 2rem;
}

.timeline__item:last-child {
  padding-bottom: 0;
}

.timeline__dot {
  position: absolute;
  left: 8px;
  top: 4px;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: linear-gradient(135deg, #00D2C8 0%, #009E96 100%);
  color: #FFFFFF;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;
  font-weight: 900;
  z-index: 1;
}

.timeline__content h4 {
  font-size: var(--fs-h4);
  font-weight: 800;
  color: var(--text-main);
  margin-bottom: 0.35rem;
}

.timeline__content p {
  font-size: var(--fs-small);
  color: var(--text-secondary);
  line-height: 1.55;
}

/* ── FOOTER ── */
.footer {
  background: #060b18; /* Deep dark navy for footer */
  color: #94A3B8;
  padding: 4rem 0 2rem;
  border-top: 1px solid rgba(255, 255, 255, 0.05);
}

[data-theme="light"] .footer {
  background: var(--bg-surface-elevated);
  border-top: 1px solid var(--border-subtle);
}

.footer__grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap: 3rem;
  margin-bottom: 3rem;
}

.footer__brand {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

#footerLogo {
  max-height: 42px !important;
  width: auto !important;
  display: block;
  object-fit: contain;
}

.footer__brand p {
  font-size: var(--fs-small);
  line-height: 1.6;
  max-width: 320px;
}

.footer__title {
  font-family: var(--font-heading);
  font-size: var(--fs-h4);
  font-weight: 800;
  color: #FFFFFF;
  margin-bottom: 1.25rem;
}

[data-theme="light"] .footer__title {
  color: var(--text-main);
}

.footer__links {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.footer__links a {
  color: #94A3B8;
  text-decoration: none;
  font-size: var(--fs-small);
  transition: color 0.2s ease;
  display: inline-flex;
  align-items: center;
  font-weight: 600;
}

[data-theme="light"] .footer__links a {
  color: var(--text-secondary);
}

.footer__links a::before {
  content: '→';
  margin-right: 0.5rem;
  color: var(--color-teal);
  opacity: 0;
  transform: translateX(-5px);
  transition: all 0.2s ease;
}

.footer__links a:hover {
  color: var(--color-teal-light);
}

[data-theme="light"] .footer__links a:hover {
  color: var(--color-teal-dark);
}

.footer__links a:hover::before {
  opacity: 1;
  transform: translateX(0);
}

.footer__bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 2rem;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  font-size: var(--fs-xs);
}

[data-theme="light"] .footer__bottom {
  border-top: 1px solid var(--border-subtle);
}

/* Responsive adjustments */
@media (max-width: 900px) {
  .navbar .container {
    flex-direction: column;
    gap: 0.75rem;
    padding: 0.75rem 1rem;
  }

  .navbar {
    height: auto;
  }

  .module-hero {
    min-height: auto;
    padding: 110px 0 40px;
  }

  .module-hero .container {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .breadcrumb {
    justify-content: center;
  }

  .module-hero__icon {
    margin: 0 auto 1.25rem;
  }

  .module-hero__description {
    margin: 0 auto 2rem;
  }

  .module-hero__visual {
    order: -1;
  }

  .module-hero__visual img,
  .module-hero__visual .character img,
  .character img {
    max-height: 160px !important;
  }

  .module-gallery-grid {
    grid-template-columns: 1fr;
  }

  .grid-2, .grid-3 {
    grid-template-columns: 1fr;
  }

  .benefits-section .container {
    grid-template-columns: 1fr;
    text-align: center;
  }
  
  .benefits-visual {
    order: -1;
  }
  
  .benefit-item {
    text-align: left;
  }

  .footer__grid {
    grid-template-columns: 1fr;
    gap: 2.5rem;
    text-align: center;
  }

  .footer__brand {
    align-items: center;
  }

  .footer__links a {
    justify-content: center;
  }

  .footer__bottom {
    flex-direction: column;
    gap: 1rem;
    text-align: center;
  }

  .workflow-section .container {
    grid-template-columns: 1fr;
  }
}

/* ── Reorganización común para todos los brochures de módulo ── */
body:not(.book-mode) .container { width: min(1180px, calc(100% - 3rem)); margin-inline: auto; }
body:not(.book-mode) { background: var(--bg-main); }
.module-hero { min-height: 590px; padding: 132px 0 82px; background: radial-gradient(circle at 82% 24%, rgba(0, 210, 200, .25), transparent 27%), radial-gradient(circle at 16% 82%, rgba(208, 12, 147, .15), transparent 30%), var(--grad-hero); }
.module-hero::before { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0, 22, 48, .18), transparent 65%); pointer-events: none; }
.module-hero .container { width: min(1180px, calc(100% - 3rem)); margin-inline: auto; grid-template-columns: minmax(0, 1.08fr) minmax(310px, .72fr); gap: clamp(2.5rem, 6vw, 6rem); }
.module-hero__content { max-width: 650px; }
.module-hero__visual { min-height: 350px; max-height: none !important; overflow: visible !important; position: relative; isolation: isolate; }
.module-hero__visual::before { content: ''; position: absolute; width: 310px; aspect-ratio: 1; border-radius: 50%; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.14); box-shadow: 0 0 70px rgba(0,210,200,.24); z-index: -1; }
.module-hero__visual .character { max-width: 350px !important; max-height: none !important; }
.module-hero__visual img, .module-hero__visual .character img { max-height: 330px !important; width: auto !important; max-width: 100% !important; animation: moduleCharacterFloat 4.5s ease-in-out infinite; }
.module-hero__icon { margin-bottom: 1.15rem; box-shadow: 0 10px 26px rgba(0,210,200,.22); }
.breadcrumb { color: rgba(255,255,255,.72); margin-bottom: 1.75rem; }
.module-hero__description { font-size: 1rem; max-width: 610px; }
.module-hero .hero__actions { gap: .75rem; }
.time-savings-badge { margin-bottom: 1.25rem; }
.module-hero + .container#galeria { padding-top: 5.5rem; padding-bottom: 5.5rem; }
#galeria .section-header { margin-bottom: 2.25rem; }
#galeria .module-carousel { padding: 1.25rem; background: var(--bg-glass-card); border-color: var(--border-accent); box-shadow: 0 24px 70px rgba(0, 18, 45, .22); }
#galeria .module-carousel__slide img { max-height: min(50vh, 410px); width: 100%; object-fit: contain; background: #fff; }
.module-about { padding: 5rem 0; }
.module-about__content { max-width: 940px; padding: clamp(1.5rem, 3vw, 2.6rem); border: 1px solid var(--border-subtle); border-radius: var(--radius-lg); background: linear-gradient(135deg, var(--color-teal-glow), transparent 55%), var(--bg-glass-card); box-shadow: var(--shadow-glass); }
.module-about__content p { margin-bottom: 0; font-size: 1.05rem; }
.module-about__content p + p { margin-top: 1.1rem; }
.features-section { padding: 5.5rem 0; }
.features-section .section-header { margin-bottom: 2.5rem; }
.features-section .grid { gap: 1.35rem; }
.brochure-card { min-height: 100%; padding: 1.75rem; position: relative; overflow: hidden; cursor: pointer; }
.brochure-card::after { content: ''; position: absolute; width: 130px; height: 130px; border-radius: 50%; right: -68px; top: -68px; background: var(--color-teal-glow); transition: transform .35s ease, opacity .35s ease; opacity: .55; }
.brochure-card:hover::after, .brochure-card.is-selected::after { transform: scale(1.5); opacity: 1; }
.brochure-card.is-selected { border-color: var(--color-teal); transform: translateY(-6px); box-shadow: var(--shadow-glass), var(--shadow-glow); }
.brochure-card.is-selected .brochure-card__icon { transform: scale(1.1) rotate(-5deg); }
.brochure-card__icon { transition: transform .3s ease; }
.feature-showcase-status { min-height: 1.5rem; margin: -1.1rem auto 1.5rem; text-align: center; color: var(--text-secondary); font-size: var(--fs-small); }
.feature-showcase-status strong { color: var(--color-teal); }
.benefits-section { padding: 5.5rem 0; }
.benefits-section .container { width: min(1100px, calc(100% - 3rem)); }
.benefits-visual .character { max-width: 360px !important; max-height: none !important; }
.benefits-visual img, .benefits-visual .character img { max-height: 330px !important; }
.module-scroll-progress { position: fixed; top: 70px; left: 0; height: 3px; width: 100%; background: rgba(0,210,200,.14); z-index: 1002; pointer-events: none; }
.module-scroll-progress span { display: block; height: 100%; width: 100%; transform: scaleX(0); transform-origin: left center; background: var(--color-teal); box-shadow: 0 0 14px var(--color-teal); }
.navbar.scrolled { background: rgba(6, 11, 24, .92); box-shadow: 0 8px 24px rgba(0,0,0,.16); }
[data-theme="light"] .navbar.scrolled { background: rgba(255,255,255,.93); }
.navbar__link.active { color: var(--color-teal); }
@keyframes moduleCharacterFloat { 0%,100% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-12px) rotate(-1deg); } }
/* La animación de lectura se activa al aparecer, sin ocultar contenido para lectores de pantalla. */
body:not(.book-mode) .reveal, body:not(.book-mode) .reveal-left, body:not(.book-mode) .reveal-right { opacity: 0 !important; transition: opacity 650ms ease, transform 650ms cubic-bezier(.2,.75,.25,1) !important; }
body:not(.book-mode) .reveal { transform: translateY(26px) !important; }
body:not(.book-mode) .reveal-left { transform: translateX(-34px) !important; }
body:not(.book-mode) .reveal-right { transform: translateX(34px) !important; }
body:not(.book-mode) .reveal.visible, body:not(.book-mode) .reveal-left.visible, body:not(.book-mode) .reveal-right.visible { opacity: 1 !important; transform: none !important; }
body:not(.book-mode) .stagger-children > * { opacity: 0; transform: translateY(24px); transition: opacity 560ms ease, transform 560ms cubic-bezier(.2,.75,.25,1); }
body:not(.book-mode) .stagger-children.visible > * { opacity: 1; transform: none; }
body:not(.book-mode) .stagger-children.visible > *:nth-child(2) { transition-delay: 90ms; }
body:not(.book-mode) .stagger-children.visible > *:nth-child(3) { transition-delay: 180ms; }
body:not(.book-mode) .stagger-children.visible > *:nth-child(4) { transition-delay: 270ms; }
body:not(.book-mode) .stagger-children.visible > *:nth-child(5) { transition-delay: 360ms; }
body:not(.book-mode) .stagger-children.visible > *:nth-child(6) { transition-delay: 450ms; }
@media (max-width: 900px) { .module-hero { min-height: auto; padding: 128px 0 60px; } .module-hero .container { width: min(100% - 2rem, 680px); gap: 2rem; } .module-hero__visual { min-height: 230px; } .module-hero__visual img, .module-hero__visual .character img { max-height: 230px !important; } .module-hero__visual::before { width: 220px; } }
@media (max-width: 640px) { body:not(.book-mode) .container, .module-hero .container, .benefits-section .container { width: min(100% - 2rem, 1180px); } .navbar__nav { display: none; } .navbar .container { padding-inline: 1rem; } .module-scroll-progress { top: 70px; } .module-hero { padding-top: 110px; } .module-hero__title { font-size: 2.15rem; } .module-hero__visual { min-height: 205px; } .module-hero__visual img, .module-hero__visual .character img { max-height: 205px !important; } .module-hero + .container#galeria { padding-top: 3.5rem; padding-bottom: 3.5rem; } #galeria .module-carousel { padding: .65rem; } #galeria .module-carousel__slide img { max-height: 230px; } .module-about, .features-section, .benefits-section { padding: 3.75rem 0; } }
@media (prefers-reduced-motion: reduce) { .module-hero__visual img, .module-hero__visual .character img { animation: none; } body:not(.book-mode) .reveal, body:not(.book-mode) .reveal-left, body:not(.book-mode) .reveal-right, body:not(.book-mode) .stagger-children > * { opacity: 1 !important; transform: none !important; } }
/* Contraste obligatorio sobre el gradiente del encabezado, incluso con tema claro. */
.module-hero .module-hero__title { color: #FFFFFF !important; text-shadow: 0 2px 16px rgba(0, 28, 60, .34); }
.module-hero .module-hero__tagline, [data-theme="light"] .module-hero .module-hero__tagline { color: #8FFBF5 !important; text-shadow: 0 1px 10px rgba(0, 24, 52, .3); }
.module-hero .module-hero__description { color: #F2FAFF !important; text-shadow: 0 1px 10px rgba(0, 24, 52, .25); }
.module-hero .breadcrumb, .module-hero .breadcrumb span { color: rgba(255,255,255,.86) !important; }
.module-hero .breadcrumb a { color: #79F4EE !important; }
.module-hero .time-savings-badge, [data-theme="light"] .module-hero .time-savings-badge { color: #D9FFFC !important; background: rgba(0, 41, 81, .34); border-color: #44E9E0; text-shadow: none; }
.module-hero .module-hero__icon { color: #FFFFFF; background: rgba(0, 62, 109, .6); border-color: rgba(126, 255, 248, .55); }
/* El hero mantiene un fondo de marca oscuro en ambos temas; el texto claro no depende del tema activo. */
.module-hero, [data-theme="light"] .module-hero {
  background: radial-gradient(circle at 82% 24%, rgba(0, 210, 200, .28), transparent 27%), radial-gradient(circle at 16% 82%, rgba(208, 12, 147, .16), transparent 30%), linear-gradient(135deg, #002D52 0%, #005691 52%, #008FA0 145%) !important;
}
/* Demostración en video: Gestión Contable */
.accounting-demo { padding: 5.5rem 0; background: var(--bg-surface); border-top: 1px solid var(--border-subtle); border-bottom: 1px solid var(--border-subtle); }
.accounting-demo__grid { display: grid; grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr); align-items: center; gap: clamp(2rem, 5vw, 5rem); }
.accounting-demo__content h2 { max-width: 480px; font-size: clamp(2rem, 3.2vw, 2.8rem); margin: .2rem 0 1rem; }
.accounting-demo__content > p { max-width: 530px; color: var(--text-secondary); font-size: 1.02rem; line-height: 1.7; }
.accounting-demo__benefits { display: grid; gap: .85rem; margin-top: 1.75rem; }
.accounting-demo__benefits li { display: flex; align-items: center; gap: .75rem; color: var(--text-main); font-size: var(--fs-small); font-weight: 700; }
.accounting-demo__benefits span { display: inline-grid; place-items: center; width: 30px; height: 30px; flex: 0 0 30px; border-radius: 50%; background: var(--color-teal-glow); color: var(--color-teal); border: 1px solid var(--border-accent); font-size: .68rem; }
.accounting-demo__video-frame { padding: .6rem; background: #071126; border: 1px solid var(--border-accent); border-radius: var(--radius-lg); box-shadow: 0 24px 60px rgba(0, 30, 64, .25), var(--shadow-glow); overflow: hidden; }
.accounting-demo__video-frame video { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: contain; border-radius: calc(var(--radius-lg) - .35rem); background: #030814; }
.accounting-demo__caption { margin-top: .75rem; color: var(--text-muted); font-size: var(--fs-xs); text-align: center; }
@media (max-width: 900px) { .accounting-demo { padding: 4.5rem 0; } .accounting-demo__grid { grid-template-columns: 1fr; } .accounting-demo__content { text-align: center; } .accounting-demo__content h2, .accounting-demo__content > p { margin-inline: auto; } .accounting-demo__benefits { max-width: 520px; margin-inline: auto; text-align: left; } }
@media (max-width: 640px) { .accounting-demo { padding: 3.75rem 0; } .accounting-demo__video-frame { padding: .35rem; border-radius: var(--radius-md); } }
/* AVsoft Doc: acreditación institucional */
.dt-authorization {
  display: inline-flex;
  align-items: center;
  gap: .8rem;
  max-width: 29rem;
  margin-top: 1.35rem;
  padding: .65rem .9rem;
  border: 1px solid rgba(125, 249, 242, .48);
  border-radius: .9rem;
  background: rgba(4, 26, 54, .36);
  box-shadow: 0 12px 30px rgba(0, 14, 35, .16);
}

.dt-authorization img {
  width: 3.3rem;
  height: 3.3rem;
  flex: 0 0 auto;
  padding: .2rem;
  border-radius: .4rem;
  background: #fff;
  object-fit: contain;
}

.dt-authorization div { display: grid; gap: .08rem; text-align: left; }
.dt-authorization span { color: #8FFBF5; font-size: .67rem; font-weight: 800; letter-spacing: .09em; }
.dt-authorization strong { color: #fff; font-size: .93rem; line-height: 1.15; }
.dt-authorization small { color: #E9F7FF; font-size: .73rem; line-height: 1.3; }

@media (max-width: 640px) {
  .dt-authorization { max-width: 100%; }
}

/* AVsoft Doc: demostración comercial sin capturas de pantalla. */
.avdoc-hero .module-hero__icon { font-family: var(--font-heading); font-size: .78rem; font-weight: 900; letter-spacing: .08em; }
.doc-authorization { display: inline-flex; align-items: center; gap: .7rem; max-width: 31rem; margin: 0 0 1.35rem; padding: .75rem .9rem; border: 1px solid var(--border-accent); border-radius: .9rem; background: rgba(4, 26, 54, .36); }
.doc-authorization__mark { display: grid; place-items: center; width: 2rem; height: 2rem; border-radius: 50%; background: var(--color-teal); color: #062515; font-weight: 900; }
.doc-authorization strong, .doc-authorization small { display: block; }
.doc-authorization strong { color: var(--text-main); font-size: .84rem; }
.doc-authorization small { margin-top: .15rem; color: var(--text-secondary); font-size: .72rem; }
.avdoc-console { max-width: 31rem; width: 100%; justify-self: center; border: 1px solid var(--border-accent); border-radius: 1.25rem; overflow: hidden; background: rgba(5, 17, 42, .8); box-shadow: 0 26px 70px rgba(0, 12, 36, .42), var(--shadow-glow); }
.avdoc-console__bar { display: flex; align-items: center; gap: .35rem; min-height: 3rem; padding: 0 .95rem; border-bottom: 1px solid var(--border-subtle); color: var(--text-muted); font-size: .7rem; }
.avdoc-console__bar span { width: .58rem; height: .58rem; border-radius: 50%; background: #EF4444; }.avdoc-console__bar span:nth-child(2) { background: #FBBF24; }.avdoc-console__bar span:nth-child(3) { background: #22C55E; }.avdoc-console__bar strong { margin-left: .35rem; color: var(--text-secondary); font-weight: 700; }
.avdoc-console__body { padding: 1.35rem; background: linear-gradient(135deg, rgba(0, 210, 200, .15), transparent 62%); }.avdoc-console__summary { padding: 1.1rem; border: 1px solid var(--border-subtle); border-radius: .85rem; background: var(--bg-glass-card); }.avdoc-console__summary span, .avdoc-console__summary strong, .avdoc-console__summary small { display: block; }.avdoc-console__summary span { color: var(--color-teal); font-size: .65rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }.avdoc-console__summary strong { margin: .25rem 0; color: #fff; font-family: var(--font-heading); font-size: 1.35rem; }.avdoc-console__summary small { color: var(--text-secondary); font-size: .72rem; }
.avdoc-console__stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: .55rem; margin: .85rem 0; }.avdoc-console__stats div { min-height: 5.5rem; padding: .7rem; border: 1px solid var(--border-subtle); border-radius: .75rem; background: rgba(7, 22, 48, .65); }.avdoc-console__stats b { display: block; color: var(--color-teal); font-family: var(--font-heading); font-size: 1.15rem; }.avdoc-console__stats span { display: block; margin-top: .45rem; color: var(--text-secondary); font-size: .65rem; line-height: 1.35; }.avdoc-console__timeline { display: flex; align-items: center; gap: .45rem; padding: .72rem; border-radius: .75rem; background: rgba(0, 0, 0, .18); }.avdoc-console__timeline span { color: var(--text-muted); font-size: .68rem; font-weight: 800; }.avdoc-console__timeline span.is-complete { color: var(--color-teal-light); }.avdoc-console__timeline i { flex: 1; height: 2px; background: var(--border-subtle); }.avdoc-console__timeline .is-complete + i { background: var(--color-teal); }
.doc-operation { padding: 5rem 0; background: var(--bg-surface); }.doc-workflow { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; margin: 2.5rem 0 0; list-style: none; counter-reset: docflow; }.doc-workflow li { position: relative; min-height: 14rem; padding: 1.4rem; border: 1px solid var(--border-subtle); border-radius: var(--radius-lg); background: var(--bg-glass-card); box-shadow: var(--shadow-glass); }.doc-workflow__number { display: grid; place-items: center; width: 2.3rem; height: 2.3rem; margin-bottom: 1.2rem; border-radius: .7rem; background: var(--color-teal-glow); color: var(--color-teal); font-family: var(--font-heading); font-size: .75rem; font-weight: 900; border: 1px solid var(--border-accent); }.doc-workflow h3 { color: var(--text-main); font-family: var(--font-heading); font-size: 1.1rem; }.doc-workflow p { margin-top: .55rem; color: var(--text-secondary); font-size: .82rem; line-height: 1.55; }
.doc-benefits .container { grid-template-columns: 1fr 1fr; }.doc-benefits__summary p { max-width: 32rem; margin: 1rem 0 1.4rem; color: var(--text-secondary); line-height: 1.65; }.doc-benefit-list { display: grid; gap: .8rem; }.doc-benefit-list div { padding: 1.2rem 1.25rem; border: 1px solid var(--border-subtle); border-radius: var(--radius-md); background: var(--bg-glass-card); box-shadow: var(--shadow-glass); }.doc-benefit-list b, .doc-benefit-list span { display: block; }.doc-benefit-list b { color: var(--color-teal); font-family: var(--font-heading); font-size: 1.08rem; }.doc-benefit-list span { margin-top: .3rem; color: var(--text-secondary); font-size: .82rem; }
@media (max-width: 900px) { .avdoc-console { max-width: 34rem; }.doc-workflow { grid-template-columns: repeat(2, 1fr); }.doc-benefits .container { grid-template-columns: 1fr; }.doc-benefits__summary { text-align: center; }.doc-benefits__summary p { margin-inline: auto; } }
@media (max-width: 640px) { .doc-authorization { text-align: left; }.avdoc-console__body { padding: .85rem; }.doc-workflow { grid-template-columns: 1fr; }.doc-workflow li { min-height: 0; }.avdoc-console__stats { gap: .35rem; }.avdoc-console__stats div { padding: .55rem; }.avdoc-console__timeline { gap: .25rem; }.avdoc-console__timeline span { font-size: .6rem; } }
/* Marcos comerciales no destructivos para las capturas de AVsoft Doc. */
.doc-gallery { padding: 5.25rem 0; background: var(--bg-main); }
.module-carousel--doc { padding: 1.1rem; background: linear-gradient(145deg, rgba(0, 210, 200, .14), rgba(9, 24, 54, .78) 42%, rgba(208, 12, 147, .12)), var(--bg-glass-card); border-color: rgba(125, 249, 242, .34); }
.module-carousel--doc .module-carousel__slide { padding: .35rem; }
.doc-screen-frame { --frame-accent: #00D2C8; position: relative; width: min(100%, 51rem); padding: 2.2rem .65rem .65rem; border: 1px solid color-mix(in srgb, var(--frame-accent) 52%, transparent); border-radius: 1rem; background: linear-gradient(145deg, rgba(255,255,255,.14), transparent 30%), #102140; box-shadow: 0 26px 60px rgba(0, 6, 25, .48), 0 0 0 5px rgba(255,255,255,.035); overflow: hidden; transform: perspective(1200px) rotateX(1.5deg) rotateY(-2deg); transition: transform .35s var(--ease-page), box-shadow .35s ease; }
.doc-screen-frame:hover { transform: perspective(1200px) rotateX(0) rotateY(0) translateY(-4px); box-shadow: 0 34px 70px rgba(0, 6, 25, .58), 0 0 0 5px rgba(255,255,255,.06); }
.doc-screen-frame::before { content: ''; position: absolute; top: .78rem; left: .8rem; width: .58rem; height: .58rem; border-radius: 50%; background: #FB7185; box-shadow: .95rem 0 0 #FBBF24, 1.9rem 0 0 #4ADE80; }
.doc-screen-frame::after { content: ''; position: absolute; top: 1.02rem; left: 4.3rem; right: .8rem; height: .16rem; border-radius: 999px; background: linear-gradient(90deg, var(--frame-accent), rgba(255,255,255,.13) 45%, transparent); opacity: .8; }
.doc-screen-frame__label { position: absolute; top: .68rem; right: .78rem; color: #E9F7FF; font-size: .63rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.doc-screen-frame img { display: block; width: 100%; max-height: min(51vh, 410px); object-fit: contain; border-radius: .52rem; background: #fff; box-shadow: 0 10px 26px rgba(0,0,0,.25); cursor: zoom-in; }
.doc-screen-frame--two { --frame-accent: #7DF9F2; transform: perspective(1200px) rotateX(1deg) rotateY(2deg); }.doc-screen-frame--three { --frame-accent: #D00C93; }.doc-screen-frame--four { --frame-accent: #60A5FA; transform: perspective(1200px) rotateX(-1deg) rotateY(-2deg); }.doc-screen-frame--five { --frame-accent: #A7F3D0; transform: perspective(1200px) rotateX(1deg) rotateY(1.5deg); }
@media (max-width: 640px) { .doc-gallery { padding: 3.75rem 0; }.module-carousel--doc { padding: .55rem; }.module-carousel--doc .module-carousel__slide { padding: .15rem; }.doc-screen-frame { padding: 1.95rem .35rem .35rem; border-radius: .75rem; }.doc-screen-frame__label { font-size: .52rem; top: .64rem; right: .55rem; }.doc-screen-frame::before { left: .55rem; }.doc-screen-frame::after { left: 3.8rem; right: .55rem; }.doc-screen-frame img { max-height: 235px; } }
/* Las versiones comerciales ya contienen dispositivo, marco y fondo; evita duplicar el tratamiento en pantalla. */
.module-carousel--doc .doc-screen-frame { width: min(100%, 64rem); padding: 0; border: 0; border-radius: .9rem; background: transparent; box-shadow: none; overflow: visible; transform: none; }
.module-carousel--doc .doc-screen-frame:hover { transform: translateY(-4px); box-shadow: none; }
.module-carousel--doc .doc-screen-frame::before, .module-carousel--doc .doc-screen-frame::after, .module-carousel--doc .doc-screen-frame__label { display: none; }
.module-carousel--doc .doc-screen-frame img { max-height: min(57vh, 490px); border-radius: .9rem; background: transparent; box-shadow: 0 18px 40px rgba(0, 8, 30, .3); }
@media (max-width: 640px) { .module-carousel--doc .doc-screen-frame img { max-height: 260px; } }
/* Presentación comercial integrada en las capturas de Punto de Venta. */
.module-carousel--pos { padding: .75rem; background: radial-gradient(circle at 12% 100%, rgba(0, 210, 200, .2), transparent 40%), radial-gradient(circle at 88% 0%, rgba(208, 12, 147, .17), transparent 36%), #071B35; border-color: rgba(109, 232, 225, .34); }
.module-carousel--pos .module-carousel__slide { padding: .15rem; }.module-carousel--pos .module-carousel__slide img { width: 100%; max-width: 64rem; max-height: min(57vh, 490px); object-fit: contain; border-radius: .8rem; background: transparent !important; box-shadow: 0 18px 42px rgba(0, 4, 18, .5); }
.module-carousel--pos .module-carousel__controls { margin-top: .55rem; }.module-carousel--pos .module-carousel__btn { background: rgba(255,255,255,.1); color: #fff; border-color: rgba(255,255,255,.22); }
@media (max-width: 640px) { .module-carousel--pos { padding: .45rem; }.module-carousel--pos .module-carousel__slide img { max-height: 260px; } }
/* Business Intelligence: demostraciones Power BI con contenido real y contextual. */
.module-carousel--bi { padding: .85rem; background: radial-gradient(circle at 5% 100%, rgba(0, 210, 200, .18), transparent 35%), radial-gradient(circle at 95% 0%, rgba(30, 97, 206, .24), transparent 38%), #07152b; border-color: rgba(125, 249, 242, .35); }
.module-carousel--bi .module-carousel__slide img { width: 100%; max-width: 64rem; max-height: min(57vh, 490px); object-fit: contain; border-radius: .65rem; background: #f7fafc; box-shadow: 0 18px 42px rgba(0, 4, 18, .36); }
.bi-demo-section { padding: 5.5rem 0; background: var(--bg-surface); border-block: 1px solid var(--border-subtle); }
.bi-demo-section .section-header { margin-bottom: 2.5rem; }
.bi-demo-grid { display: grid; grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr); gap: 1.4rem; align-items: stretch; }
.bi-demo-card { display: grid; grid-template-columns: minmax(170px, .48fr) minmax(0, 1fr); gap: 1.25rem; align-items: center; min-height: 100%; padding: 1.15rem; border: 1px solid var(--border-subtle); border-radius: var(--radius-lg); background: var(--bg-glass-card); box-shadow: var(--shadow-glass); overflow: hidden; }
.bi-demo-card--wide { grid-template-columns: 1fr; }
.bi-demo-card__video { display: grid; place-items: center; min-width: 0; padding: .45rem; border: 1px solid rgba(125, 249, 242, .27); border-radius: .9rem; background: #050d1d; box-shadow: inset 0 0 0 1px rgba(255,255,255,.035); }
.bi-demo-card video { display: block; width: 100%; max-height: 330px; border-radius: .55rem; background: #020611; }
.bi-demo-card--mobile video { width: min(100%, 205px); aspect-ratio: 1 / 2; object-fit: cover; }
.bi-demo-card--wide video { aspect-ratio: 16 / 9; object-fit: cover; }
.bi-demo-card__body { align-self: center; padding: .45rem .3rem; }
.bi-demo-card__eyebrow { color: var(--color-teal); font-size: .66rem; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.bi-demo-card h3 { margin: .45rem 0 .65rem; color: var(--text-main); font-family: var(--font-heading); font-size: clamp(1.15rem, 2vw, 1.45rem); line-height: 1.16; }
.bi-demo-card p { color: var(--text-secondary); font-size: var(--fs-small); line-height: 1.62; }
@media (max-width: 900px) { .bi-demo-section { padding: 4.5rem 0; } .bi-demo-grid { grid-template-columns: 1fr; } .bi-demo-card--wide { grid-template-columns: minmax(220px, .75fr) minmax(0, 1fr); } }
@media (max-width: 640px) { .module-carousel--bi { padding: .45rem; } .module-carousel--bi .module-carousel__slide img { max-height: 250px; } .bi-demo-section { padding: 3.75rem 0; } .bi-demo-card, .bi-demo-card--wide { grid-template-columns: 1fr; } .bi-demo-card { gap: .75rem; padding: .75rem; } .bi-demo-card__body { text-align: center; } .bi-demo-card--mobile video { width: min(100%, 220px); } }
/* Gesti&oacute;n Contable: capacidades principales. */
.accounting-highlights {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .9rem;
  margin: 0 0 1.5rem;
}

.accounting-highlight {
  display: flex;
  align-items: center;
  gap: .7rem;
  min-height: 104px;
  padding: .85rem;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md);
  background: var(--bg-glass-card);
  box-shadow: var(--shadow-glass);
}

.accounting-highlight--sii {
  border-color: var(--color-teal);
  background: linear-gradient(135deg, var(--color-teal-glow), transparent 72%), var(--bg-glass-card);
  box-shadow: var(--shadow-glass), 0 0 24px rgba(0, 210, 200, .16);
}

.accounting-highlight__mark {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  border-radius: .7rem;
  background: var(--color-teal-glow);
  border: 1px solid var(--border-accent);
  color: var(--color-teal);
  font-family: var(--font-heading);
  font-size: .7rem;
  font-weight: 900;
}

.accounting-highlight strong,
.accounting-highlight span { display: block; }
.accounting-highlight strong { color: var(--text-main); font-family: var(--font-heading); font-size: .79rem; line-height: 1.18; }
.accounting-highlight span { margin-top: .26rem; color: var(--text-secondary); font-size: .67rem; line-height: 1.35; }

.brochure-card--priority,
.brochure-card--sii { border-color: var(--border-accent); }
.brochure-card--sii { box-shadow: var(--shadow-glass), 0 0 22px rgba(0, 210, 200, .1); }
.brochure-card--sii .brochure-card__title { color: var(--color-teal); }

@media (max-width: 960px) {
  .accounting-highlights { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
  .accounting-highlights { grid-template-columns: 1fr; gap: .65rem; }
  .accounting-highlight { min-height: 0; padding: .8rem; }
}
/* Identidad visual de la integraci&oacute;n tributaria. */
.accounting-highlight__sii-logo {
  width: 46px;
  height: 46px;
  flex: 0 0 46px;
  padding: .38rem;
  border: 1px solid rgba(255,255,255,.72);
  border-radius: .7rem;
  background: #fff;
  object-fit: contain;
  box-shadow: 0 6px 16px rgba(0, 30, 64, .18);
}
/* Certificaci&oacute;n tributaria y declaraciones juradas. */
.sii-certification {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: .55rem .85rem;
  max-width: 610px;
  margin: 1.15rem 0 1.5rem;
  padding: .85rem;
  border: 1px solid rgba(125, 249, 242, .55);
  border-radius: var(--radius-md);
  background: linear-gradient(135deg, rgba(0, 210, 200, .18), rgba(1, 35, 78, .28));
  box-shadow: 0 14px 30px rgba(0, 17, 49, .2);
}

.sii-certification > img {
  width: 70px;
  height: 70px;
  align-self: center;
  padding: .45rem;
  border-radius: .65rem;
  background: #fff;
  object-fit: contain;
}

.sii-certification__content span,
.sii-certification__content strong,
.sii-certification__content p { display: block; }
.sii-certification__content span { color: #8FFBF5; font-size: .66rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.sii-certification__content strong { margin-top: .16rem; color: #fff; font-family: var(--font-heading); font-size: .98rem; line-height: 1.2; }
.sii-certification__content p { margin-top: .25rem; color: #E9F7FF; font-size: .72rem; line-height: 1.35; }

.sii-certification__forms {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: .42rem;
}

.sii-certification__forms span {
  min-width: 4.4rem;
  padding: .34rem .55rem;
  border-radius: var(--radius-pill);
  background: rgba(0, 210, 200, .95);
  color: #05375a;
  font-family: var(--font-heading);
  font-size: .68rem;
  font-weight: 900;
  text-align: center;
}

/* La grilla de capacidades prioriza legibilidad y no genera desborde horizontal. */
.accounting-highlights {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.accounting-highlight { min-width: 0; padding: 1rem; }
.accounting-highlight > div { min-width: 0; }
.accounting-highlight strong { font-size: .9rem; }
.accounting-highlight span { font-size: .74rem; }

@media (max-width: 720px) {
  .sii-certification { grid-template-columns: 1fr; text-align: center; }
  .sii-certification > img { justify-self: center; }
  .sii-certification__forms { justify-content: center; }
  .accounting-highlights { grid-template-columns: 1fr; }
}
/* Composici&oacute;n editorial de las capacidades contables. */
.accounting-features .feature-showcase-status { display: none; }
.accounting-features .grid { margin-top: 2.25rem; }

.accounting-highlights {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin: 1.75rem 0 0;
}

.accounting-highlight {
  min-height: 118px;
  align-items: flex-start;
  padding: 1.1rem;
  border-color: rgba(14, 43, 75, .12);
  background: rgba(255, 255, 255, .78);
}

.accounting-highlight--primary {
  grid-column: 1 / -1;
  min-height: 126px;
  align-items: center;
  gap: 1.15rem;
  padding: 1.2rem 1.35rem;
  border-color: #00D2C8;
  background: radial-gradient(circle at 88% 20%, rgba(125, 249, 242, .24), transparent 32%), linear-gradient(118deg, #062C53 0%, #075581 58%, #008A91 140%);
  box-shadow: 0 18px 38px rgba(0, 61, 96, .24);
}

.accounting-highlight--primary .accounting-highlight__sii-logo {
  width: 68px;
  height: 68px;
  flex-basis: 68px;
  padding: .55rem;
  border-radius: .9rem;
}

.accounting-highlight--primary strong { color: #fff; font-size: 1.08rem; }
.accounting-highlight--primary span { color: #DFFBFF; font-size: .82rem; }
.accounting-highlight:not(.accounting-highlight--primary) .accounting-highlight__mark { width: 46px; height: 46px; flex-basis: 46px; }
.accounting-highlight:not(.accounting-highlight--primary) strong { font-size: .88rem; }
.accounting-highlight:not(.accounting-highlight--primary) span { font-size: .73rem; }

@media (max-width: 720px) {
  .accounting-highlights { grid-template-columns: 1fr; }
  .accounting-highlight--primary { min-height: 0; align-items: flex-start; }
}
/* Sincronizaci&oacute;n visual AVsoft &harr; SII: desplazamiento horizontal, sin ca&iacute;das ni rotaci&oacute;n. */
.accounting-sync-visual {
  display: flex;
  align-items: center;
  gap: .75rem;
  flex: 0 0 auto;
}

.accounting-sync-visual__logo {
  width: 62px;
  height: 62px;
  padding: .55rem;
  border: 1px solid rgba(255,255,255,.74);
  border-radius: .9rem;
  background: #fff;
  object-fit: contain;
  box-shadow: 0 8px 20px rgba(0, 12, 35, .22);
}

.accounting-sync-visual__track {
  position: relative;
  width: clamp(92px, 14vw, 164px);
  height: 3px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(223, 251, 255, .38);
}

.accounting-sync-visual__track::after {
  content: '';
  position: absolute;
  right: 0;
  top: 50%;
  width: 8px;
  height: 8px;
  border-top: 2px solid #8FFBF5;
  border-right: 2px solid #8FFBF5;
  transform: translateY(-50%) rotate(45deg);
}

.accounting-sync-visual__track i {
  position: absolute;
  top: 50%;
  left: -12px;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #8FFBF5;
  box-shadow: 0 0 10px rgba(143, 251, 245, .9);
  transform: translateY(-50%);
  animation: avsoftToSii 2.4s linear infinite;
}

.accounting-sync-visual__track i:nth-child(2) { animation-delay: .8s; }
.accounting-sync-visual__track i:nth-child(3) { animation-delay: 1.6s; }

@keyframes avsoftToSii {
  from { left: -12px; opacity: 0; }
  10% { opacity: 1; }
  86% { opacity: 1; }
  to { left: calc(100% - 4px); opacity: 0; }
}

.accounting-features .brochure-card__icon,
.accounting-features .brochure-card.is-selected .brochure-card__icon {
  transform: none;
  transition: opacity .2s ease, filter .2s ease;
}

.accounting-features .brochure-card.is-selected .brochure-card__icon { filter: saturate(1.12); }

@media (max-width: 720px) {
  .accounting-sync-visual { width: 100%; justify-content: center; }
  .accounting-highlight--primary { flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  .accounting-sync-visual__track i { animation: none; left: 52%; opacity: 1; }
}
/* Contraste garantizado en ambos temas y flujo bidireccional AVsoft-SII. */
[data-theme="light"] .accounting-highlight:not(.accounting-highlight--primary) {
    background: #ffffff;
    border-color: #b7d2e3;
    box-shadow: 0 12px 30px rgba(14, 43, 75, .10);
}

[data-theme="light"] .accounting-highlight:not(.accounting-highlight--primary) strong {
    color: #082746;
}

[data-theme="light"] .accounting-highlight:not(.accounting-highlight--primary) span {
    color: #31516c;
}

[data-theme="light"] .accounting-highlight:not(.accounting-highlight--primary) .accounting-highlight__mark {
    color: #006f91;
    background: #d9f6f4;
    border-color: #67d7d0;
}

[data-theme="dark"] .accounting-highlight:not(.accounting-highlight--primary) {
    background: linear-gradient(135deg, #122c49, #0a1930);
    border-color: rgba(85, 226, 219, .46);
    box-shadow: 0 15px 34px rgba(0, 0, 0, .28);
}

[data-theme="dark"] .accounting-highlight:not(.accounting-highlight--primary) strong {
    color: #ffffff;
}

[data-theme="dark"] .accounting-highlight:not(.accounting-highlight--primary) span {
    color: #d8e9f7;
}

[data-theme="dark"] .accounting-highlight:not(.accounting-highlight--primary) .accounting-highlight__mark {
    color: #8dfff7;
    background: #0d3f59;
    border-color: #43d8d1;
}

.accounting-sync-visual {
    gap: .85rem;
}

.accounting-sync-visual__logo--avsoft {
    background: #ffffff;
    border-color: rgba(120, 218, 255, .75);
}

.accounting-sync-visual__track {
    position: relative;
    display: block;
    width: clamp(5rem, 10vw, 8rem);
    height: 1.55rem;
    overflow: hidden;
    background: transparent;
}

.accounting-sync-visual__track::before,
.accounting-sync-visual__track::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    height: 2px;
    border-radius: 999px;
    opacity: .55;
}

.accounting-sync-visual__track::before {
    top: .38rem;
    background: linear-gradient(90deg, #27b8fa, #93fff6);
}

.accounting-sync-visual__track::after {
    bottom: .38rem;
    background: linear-gradient(90deg, #93fff6, #27b8fa);
}

.accounting-sync-visual__track .sync-packet {
    position: absolute;
    z-index: 1;
    display: block;
    width: .58rem;
    height: .58rem;
    border-radius: 50%;
    box-shadow: 0 0 0 3px rgba(255, 255, 255, .12), 0 0 12px currentColor;
}

.accounting-sync-visual__track .sync-packet--out {
    top: .13rem;
    left: -1rem;
    color: #a2fff7;
    background: currentColor;
    animation: avsoftToSii 2.15s linear infinite;
}

.accounting-sync-visual__track .sync-packet--out:nth-child(2) {
    animation-delay: 1.08s;
}

.accounting-sync-visual__track .sync-packet--back {
    right: -1rem;
    bottom: .13rem;
    color: #3fc2ff;
    background: currentColor;
    animation: siiToAvsoft 2.15s linear infinite;
}

.accounting-sync-visual__track .sync-packet--back:nth-child(4) {
    animation-delay: 1.08s;
}

@keyframes avsoftToSii {
    from { left: -1rem; opacity: 0; }
    12% { opacity: 1; }
    88% { opacity: 1; }
    to { left: calc(100% - .18rem); opacity: 0; }
}

@keyframes siiToAvsoft {
    from { right: -1rem; opacity: 0; }
    12% { opacity: 1; }
    88% { opacity: 1; }
    to { right: calc(100% - .18rem); opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
    .accounting-sync-visual__track .sync-packet {
        animation: none;
        opacity: .9;
    }

    .accounting-sync-visual__track .sync-packet--out { left: 38%; }
    .accounting-sync-visual__track .sync-packet--back { right: 38%; }
}
/* Un mismo paquete representa la ida y vuelta de la sincronización. */
.accounting-sync-visual__track {
    height: 1.25rem;
}

.accounting-sync-visual__track::before {
    top: 50%;
    transform: translateY(-50%);
    opacity: .68;
}

.accounting-sync-visual__track::after {
    display: none;
}

.accounting-sync-visual__track .sync-packet--roundtrip {
    top: 50%;
    left: -.85rem;
    right: auto;
    bottom: auto;
    width: .62rem;
    height: .62rem;
    color: #a2fff7;
    background: currentColor;
    transform: translateY(-50%);
    animation: avsoftSiiRoundtrip 3.1s ease-in-out infinite;
}

@keyframes avsoftSiiRoundtrip {
    0%   { left: -.85rem; opacity: 0; }
    8%   { opacity: 1; }
    43%  { left: calc(100% - .62rem); opacity: 1; }
    50%  { left: calc(100% - .62rem); opacity: 1; }
    92%  { left: -.85rem; opacity: 1; }
    100% { left: -.85rem; opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
    .accounting-sync-visual__track .sync-packet--roundtrip {
        left: calc(50% - .31rem);
        animation: none;
    }
}
/* Etiquetas compactas: los valores y siglas quedan siempre dentro de su contenedor. */
.accounting-highlight {
    align-items: center;
    gap: .9rem;
}

.accounting-highlight__mark {
    flex: 0 0 3.35rem;
    width: 3.35rem;
    min-width: 3.35rem;
    height: 2.9rem;
    min-height: 2.9rem;
    display: grid;
    place-items: center;
    padding: 0 .2rem;
    overflow: hidden;
    font-size: .74rem;
    font-weight: 900;
    line-height: 1;
    letter-spacing: -.035em;
    white-space: nowrap;
}

.accounting-highlight > div {
    min-width: 0;
}

.accounting-highlight > div strong {
    display: block;
    margin-bottom: .22rem;
}

@media (max-width: 720px) {
    .accounting-highlight__mark {
        flex-basis: 3.1rem;
        width: 3.1rem;
        min-width: 3.1rem;
    }
}
/* Las capacidades se identifican con iconos, no con abreviaturas o cifras aisladas. */
.accounting-highlight:not(.accounting-highlight--primary) {
    align-items: flex-start;
    gap: 1rem;
    padding: 1.25rem;
}

.accounting-highlight__icon {
    flex: 0 0 3rem;
    width: 3rem;
    height: 3rem;
    display: grid;
    place-items: center;
    border: 1px solid currentColor;
    border-radius: .9rem;
    color: #008f96;
    background: linear-gradient(135deg, #edfffe, #c9f5f2);
}

.accounting-highlight__icon img {
    display: block;
    width: 1.55rem;
    height: 1.55rem;
    object-fit: contain;
}

[data-theme="dark"] .accounting-highlight__icon {
    color: #7dfcf3;
    background: rgba(0, 210, 200, .12);
    border-color: rgba(125, 252, 243, .52);
}

.accounting-highlight:not(.accounting-highlight--primary) > div {
    padding-top: .12rem;
}

@media (max-width: 720px) {
    .accounting-highlight__icon {
        flex-basis: 2.8rem;
        width: 2.8rem;
        height: 2.8rem;
    }
}
/* Gestión Comercial: flujo operativo entre ventas, documentos y abastecimiento. */
.commercial-flow {
  padding: 5.5rem 0;
  background: linear-gradient(180deg, var(--bg-surface) 0%, var(--bg-main) 100%);
  overflow: hidden;
}
.commercial-flow .section-header { max-width: 760px; margin: 0 auto 2.6rem; }
.commercial-flow__steps {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
  max-width: 1120px;
  margin: 0 auto;
  padding: 0;
  list-style: none;
}
.commercial-flow__steps::before {
  content: '';
  position: absolute;
  z-index: 0;
  top: 4.35rem;
  left: 8%;
  right: 8%;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--color-teal), var(--color-teal), transparent);
  opacity: .5;
}
.commercial-flow__steps::after {
  content: '';
  position: absolute;
  z-index: 1;
  top: calc(4.35rem - 4px);
  left: 8%;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #b7fffb;
  box-shadow: 0 0 0 5px rgba(0, 210, 200, .16), 0 0 18px var(--color-teal);
  animation: commercialFlowPulse 5.5s ease-in-out infinite;
}
.commercial-flow__step {
  position: relative;
  z-index: 2;
  display: grid;
  justify-items: center;
  min-height: 13.8rem;
  padding: 1.1rem 1rem 1.25rem;
  text-align: center;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  background: var(--bg-glass-card);
  box-shadow: var(--shadow-glass);
  transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease;
}
.commercial-flow__step:hover { transform: translateY(-6px); border-color: var(--color-teal); box-shadow: var(--shadow-glass), var(--shadow-glow); }
.commercial-flow__number {
  position: absolute;
  top: .8rem;
  left: .9rem;
  color: var(--text-muted);
  font-size: .65rem;
  font-weight: 900;
  letter-spacing: .1em;
}
.commercial-flow__icon {
  display: grid;
  place-items: center;
  width: 4.1rem;
  height: 4.1rem;
  margin: .55rem 0 1rem;
  border: 1px solid var(--border-accent);
  border-radius: 50%;
  background: linear-gradient(145deg, rgba(0, 210, 200, .28), rgba(0, 64, 117, .55));
  color: #fff;
  font-size: 1.8rem;
  box-shadow: 0 0 0 7px var(--bg-main), 0 0 22px rgba(0, 210, 200, .2);
}
.commercial-flow__step strong { color: var(--text-main); font-family: var(--font-heading); font-size: .95rem; line-height: 1.2; }
.commercial-flow__step small { margin-top: .55rem; color: var(--text-secondary); font-size: .72rem; line-height: 1.45; }
@keyframes commercialFlowPulse {
  0% { left: 8%; opacity: 0; transform: scale(.65); }
  10%, 80% { opacity: 1; }
  90%, 100% { left: calc(92% - 10px); opacity: 0; transform: scale(1.1); }
}
@media (max-width: 900px) {
  .commercial-flow__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 630px; gap: 1rem; }
  .commercial-flow__steps::before, .commercial-flow__steps::after { display: none; }
  .commercial-flow__step { min-height: 12.6rem; }
}
@media (max-width: 640px) {
  .commercial-flow { padding: 3.75rem 0; }
  .commercial-flow__steps { grid-template-columns: 1fr; max-width: 420px; }
  .commercial-flow__step { min-height: 0; grid-template-columns: 4.2rem 1fr; justify-items: start; text-align: left; column-gap: .9rem; padding: 1rem; }
  .commercial-flow__number { position: static; grid-column: 2; grid-row: 1; }
  .commercial-flow__icon { grid-column: 1; grid-row: 1 / span 3; width: 3.5rem; height: 3.5rem; margin: 0; font-size: 1.45rem; }
  .commercial-flow__step strong, .commercial-flow__step small { grid-column: 2; }
  .commercial-flow__step small { margin-top: .28rem; }
}
@media (prefers-reduced-motion: reduce) { .commercial-flow__steps::after { animation: none; left: 50%; opacity: .9; } }
/* Ciclo de Gestión Comercial: los iconos reproducen la familia visual de módulos. */
.commercial-flow__steps--product {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: .65rem;
  max-width: 1220px;
}
.commercial-flow__steps--product::before {
  top: 4.45rem;
  left: 8.33%;
  right: 8.33%;
  height: 3px;
  opacity: .72;
  background: repeating-linear-gradient(90deg, var(--color-teal) 0 11px, rgba(0, 210, 200, .18) 11px 19px);
}
.commercial-flow__steps--product::after { display: none; }
.commercial-flow__steps--product .commercial-flow__step {
  min-height: 15.1rem;
  padding: 1.05rem .7rem .9rem;
  background: linear-gradient(155deg, rgba(0, 210, 200, .11), transparent 46%), var(--bg-glass-card);
}
.commercial-flow__steps--product .commercial-flow__step::after {
  content: '›';
  position: absolute;
  z-index: 1;
  top: 3.7rem;
  right: -.57rem;
  display: grid;
  place-items: center;
  width: 1.15rem;
  height: 1.15rem;
  border: 1px solid var(--border-accent);
  border-radius: 50%;
  background: var(--bg-main);
  color: var(--color-teal);
  font-size: 1.05rem;
  font-weight: 900;
}
.commercial-flow__steps--product .commercial-flow__step:nth-child(6)::after { display: none; }
.commercial-flow__module-icon {
  position: relative;
  display: block;
  width: 3.5rem;
  height: 3.5rem;
  margin: .55rem 0 .9rem;
  color: #83f8f1;
  filter: drop-shadow(0 5px 11px rgba(0, 210, 200, .18));
}
.commercial-flow__module-icon::before,
.commercial-flow__module-icon::after,
.commercial-flow__module-icon i,
.commercial-flow__module-icon b { content: ''; position: absolute; display: block; box-sizing: border-box; }
/* Facturación: documento tributario. */
.commercial-flow__module-icon--billing::before { inset: .28rem .78rem .28rem .73rem; border: 2px solid currentColor; border-radius: .16rem; }
.commercial-flow__module-icon--billing::after { top: .55rem; right: .78rem; width: .58rem; height: .58rem; border-left: 2px solid currentColor; border-bottom: 2px solid currentColor; background: var(--bg-glass-card); }
.commercial-flow__module-icon--billing i { top: 1.37rem; left: 1.15rem; width: 1.25rem; height: 2px; background: currentColor; box-shadow: 0 .45rem 0 currentColor, 0 .9rem 0 currentColor; }
.commercial-flow__module-icon--billing b { right: .93rem; bottom: .72rem; width: .3rem; height: .3rem; border: 1px solid currentColor; }
/* Bodegas e Inventarios: nave y productos. */
.commercial-flow__module-icon--warehouse::before { left: .32rem; right: .32rem; top: 1.35rem; bottom: .34rem; border: 2px solid currentColor; border-radius: .14rem; }
.commercial-flow__module-icon--warehouse::after { top: .3rem; left: .38rem; width: 2.72rem; height: 1.46rem; border: 2px solid currentColor; transform: perspective(26px) rotateX(-30deg); transform-origin: bottom; }
.commercial-flow__module-icon--warehouse i { bottom: .36rem; left: 1.43rem; width: .68rem; height: 1.12rem; border: 2px solid currentColor; border-bottom: 0; }
.commercial-flow__module-icon--warehouse b { bottom: .79rem; left: .72rem; width: .36rem; height: .36rem; background: currentColor; box-shadow: 1.72rem 0 0 currentColor; }
/* Pedidos y Cotizaciones: propuesta con líneas. */
.commercial-flow__module-icon--quotes::before { inset: .38rem .55rem .28rem .72rem; border: 2px solid currentColor; border-radius: .14rem; box-shadow: -.22rem -.22rem 0 -1px var(--bg-glass-card), -.22rem -.22rem 0 1px currentColor; }
.commercial-flow__module-icon--quotes::after { top: 1.28rem; left: 1.08rem; width: 1.56rem; height: 2px; background: currentColor; box-shadow: 0 .48rem 0 currentColor, 0 .96rem 0 currentColor; }
.commercial-flow__module-icon--quotes i { top: 1.25rem; left: .9rem; width: .32rem; height: .32rem; border: 1px solid currentColor; box-shadow: 0 .48rem 0 -1px var(--bg-glass-card), 0 .48rem 0 0 currentColor, 0 .96rem 0 -1px var(--bg-glass-card), 0 .96rem 0 0 currentColor; }
/* Órdenes de Compra: portapapeles aprobado. */
.commercial-flow__module-icon--orders::before { inset: .55rem .66rem .3rem .66rem; border: 2px solid currentColor; border-radius: .17rem; }
.commercial-flow__module-icon--orders::after { top: .22rem; left: 1.27rem; width: .96rem; height: .55rem; border: 2px solid currentColor; border-radius: .35rem .35rem .15rem .15rem; background: var(--bg-glass-card); }
.commercial-flow__module-icon--orders i { top: 1.55rem; left: 1.08rem; width: 1.43rem; height: .72rem; border-left: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(-45deg) skewX(-9deg); }
.commercial-flow__module-icon--orders b { bottom: .72rem; left: 1.02rem; width: 1.36rem; height: 2px; background: currentColor; }
.commercial-flow__steps--product .commercial-flow__step strong { min-height: 2.25rem; font-size: .84rem; }
.commercial-flow__steps--product .commercial-flow__step small { min-height: 3.15rem; font-size: .69rem; }
.commercial-flow__step em {
  margin-top: .55rem;
  padding: .28rem .43rem;
  border: 1px solid rgba(125, 249, 242, .32);
  border-radius: 999px;
  background: rgba(0, 210, 200, .1);
  color: var(--color-teal-light);
  font-size: .57rem;
  font-style: normal;
  font-weight: 800;
  line-height: 1.18;
}
.commercial-flow__product {
  position: absolute;
  z-index: 4;
  top: 3.75rem;
  left: calc(8.33% - 1.05rem);
  display: grid;
  justify-items: center;
  pointer-events: none;
  animation: commercialProductJourney 11s cubic-bezier(.45, 0, .15, 1) infinite;
}
.commercial-flow__product span {
  display: block;
  width: 1.62rem;
  height: 1.25rem;
  border: 1px solid #ffda7c;
  border-radius: .15rem;
  background: linear-gradient(135deg, #f9c34a 0 49%, #ffe69b 50% 53%, #dc991e 54% 100%);
  box-shadow: 0 4px 10px rgba(236, 166, 28, .42);
  transform: rotate(-4deg);
}
.commercial-flow__product span::after { content: ''; display: block; width: 100%; height: 100%; background: linear-gradient(90deg, transparent 43%, rgba(116, 72, 4, .55) 44% 56%, transparent 57%); }
.commercial-flow__product b { margin-top: .25rem; color: #fff3cc; font-size: .53rem; font-weight: 900; letter-spacing: .03em; text-transform: uppercase; text-shadow: 0 1px 3px #00152d; }
@keyframes commercialProductJourney {
  0%, 8% { left: calc(8.33% - 1.05rem); transform: translateY(0) scale(.84); }
  15%, 23% { left: calc(25% - 1.05rem); transform: translateY(-.16rem) scale(1); }
  30%, 38% { left: calc(41.66% - 1.05rem); transform: translateY(0) scale(.94); }
  45%, 53% { left: calc(58.33% - 1.05rem); transform: translateY(-.16rem) scale(1); }
  60%, 68% { left: calc(75% - 1.05rem); transform: translateY(0) scale(.94); }
  75%, 92% { left: calc(91.66% - 1.05rem); transform: translateY(-.16rem) scale(1); }
  100% { left: calc(91.66% - 1.05rem); transform: translateY(-.16rem) scale(.84); }
}
@media (max-width: 1050px) {
  .commercial-flow__steps--product { grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 740px; gap: 1rem; }
  .commercial-flow__steps--product::before, .commercial-flow__product, .commercial-flow__steps--product .commercial-flow__step::after { display: none; }
  .commercial-flow__steps--product .commercial-flow__step { min-height: 13.2rem; }
}
@media (max-width: 640px) {
  .commercial-flow__steps--product { grid-template-columns: 1fr; max-width: 420px; }
  .commercial-flow__steps--product .commercial-flow__step { min-height: 0; grid-template-columns: 3.75rem 1fr; padding: .95rem; }
  .commercial-flow__steps--product .commercial-flow__step strong, .commercial-flow__steps--product .commercial-flow__step small, .commercial-flow__steps--product .commercial-flow__step em { grid-column: 2; }
  .commercial-flow__steps--product .commercial-flow__step strong, .commercial-flow__steps--product .commercial-flow__step small { min-height: 0; }
  .commercial-flow__steps--product .commercial-flow__module-icon { grid-column: 1; grid-row: 1 / span 4; margin: 0; transform: scale(.84); transform-origin: top left; }
  .commercial-flow__steps--product .commercial-flow__number { grid-column: 2; }
}
@media (prefers-reduced-motion: reduce) { .commercial-flow__product { animation: none; left: calc(50% - 1.05rem); } }
/* Evolución del ciclo comercial: producción y punto de venta dentro del recorrido del producto. */
.commercial-flow__module-icon--production::before { left: .45rem; right: .45rem; bottom: .38rem; height: 1.7rem; border: 2px solid currentColor; border-radius: .14rem; }
.commercial-flow__module-icon--production::after { left: .72rem; top: .55rem; width: 2.08rem; height: 1.42rem; border: 2px solid currentColor; clip-path: polygon(0 100%, 0 45%, 24% 45%, 24% 0, 47% 0, 47% 45%, 68% 45%, 68% 18%, 88% 18%, 88% 45%, 100% 45%, 100% 100%); }
.commercial-flow__module-icon--production i { left: 1.05rem; bottom: .69rem; width: .35rem; height: .35rem; background: currentColor; box-shadow: .72rem 0 0 currentColor, 1.44rem 0 0 currentColor; }
.commercial-flow__module-icon--production b { right: .72rem; bottom: .42rem; width: .56rem; height: .85rem; border: 2px solid currentColor; border-bottom: 0; }
.commercial-flow__module-icon--pos::before { left: .36rem; right: .36rem; bottom: .52rem; height: 1.55rem; border: 2px solid currentColor; border-radius: .22rem .22rem .38rem .38rem; transform: skewX(-8deg); }
.commercial-flow__module-icon--pos::after { top: .42rem; left: .67rem; width: 2.18rem; height: 1.37rem; border: 2px solid currentColor; border-radius: .16rem; transform: skewX(-8deg); }
.commercial-flow__module-icon--pos i { top: .74rem; left: 1.09rem; width: 1.22rem; height: .2rem; background: currentColor; box-shadow: 0 .34rem 0 currentColor; }
.commercial-flow__module-icon--pos b { right: .75rem; bottom: .78rem; width: .42rem; height: .42rem; border: 1px solid currentColor; border-radius: 50%; box-shadow: -1.02rem 0 0 -1px var(--bg-glass-card), -1.02rem 0 0 0 currentColor; }
.commercial-flow__step--production .commercial-flow__module-icon { color: #f9ce5c; filter: drop-shadow(0 5px 11px rgba(249, 206, 92, .22)); }
.commercial-flow__step--pos .commercial-flow__module-icon { color: #cc97ff; filter: drop-shadow(0 5px 11px rgba(204, 151, 255, .24)); }
.commercial-flow__steps--product .commercial-flow__step { animation: commercialStageActivity 11s ease-in-out infinite; }
.commercial-flow__steps--product .commercial-flow__step:nth-child(1) { animation-delay: 0s; }
.commercial-flow__steps--product .commercial-flow__step:nth-child(2) { animation-delay: 1.65s; }
.commercial-flow__steps--product .commercial-flow__step:nth-child(3) { animation-delay: 3.3s; }
.commercial-flow__steps--product .commercial-flow__step:nth-child(4) { animation-delay: 4.95s; }
.commercial-flow__steps--product .commercial-flow__step:nth-child(5) { animation-delay: 6.6s; }
.commercial-flow__steps--product .commercial-flow__step:nth-child(6) { animation-delay: 8.25s; }
@keyframes commercialStageActivity {
  0%, 12%, 100% { border-color: var(--border-subtle); box-shadow: var(--shadow-glass); }
  4%, 8% { border-color: var(--color-teal); box-shadow: var(--shadow-glass), 0 0 0 3px rgba(0, 210, 200, .11), 0 0 28px rgba(0, 210, 200, .25); }
}
.commercial-flow__product { top: 3.57rem; }
.commercial-flow__product::before {
  content: '';
  position: absolute;
  z-index: -1;
  top: .48rem;
  right: 100%;
  width: 2.1rem;
  height: .22rem;
  border-radius: 50%;
  background: linear-gradient(90deg, transparent, rgba(255, 224, 137, .9));
  animation: commercialProductTrail .7s ease-in-out infinite alternate;
}
.commercial-flow__product i { position: absolute; top: -.45rem; right: -.55rem; width: .38rem; height: .38rem; border-radius: 50%; background: #fff3bb; box-shadow: 0 0 12px #ffe16d; animation: commercialProductSpark .8s ease-in-out infinite alternate; }
.commercial-flow__product span { animation: commercialPackageBob .75s ease-in-out infinite alternate; }
@keyframes commercialProductTrail { to { width: 3.2rem; opacity: .32; } }
@keyframes commercialProductSpark { to { transform: translate(.22rem, -.16rem) scale(.45); opacity: .25; } }
@keyframes commercialPackageBob { to { transform: rotate(4deg) translateY(-.18rem); } }
.brochure-card--pos { border-color: rgba(204, 151, 255, .38); background: linear-gradient(145deg, rgba(204, 151, 255, .11), transparent 53%), var(--bg-glass-card); }
.brochure-card--pos .brochure-card__title { color: #d7b5ff; }
@media (max-width: 1050px) { .commercial-flow__steps--product .commercial-flow__step { animation: none; } }
@media (prefers-reduced-motion: reduce) {
  .commercial-flow__steps--product .commercial-flow__step, .commercial-flow__product span, .commercial-flow__product::before, .commercial-flow__product i { animation: none; }
}
/* Iconografía comercial sólida: documento, bodega, cotización, orden, fábrica y caja. */
.commercial-flow__module-icon { color: #56e5df; filter: drop-shadow(0 4px 8px rgba(0, 210, 200, .2)); }
.commercial-flow__module-icon::before, .commercial-flow__module-icon::after, .commercial-flow__module-icon i, .commercial-flow__module-icon b { border-color: currentColor; }
/* Facturación: documento tributario con sello. */
.commercial-flow__module-icon--billing::before { inset: .22rem .66rem .2rem .66rem; border: 0; border-radius: .2rem; background: currentColor; }
.commercial-flow__module-icon--billing::after { top: .58rem; left: 1.04rem; width: 1.43rem; height: 1.72rem; border: 0; border-radius: .08rem; background: var(--bg-glass-card); }
.commercial-flow__module-icon--billing i { top: .9rem; left: 1.29rem; width: .93rem; height: .15rem; background: currentColor; box-shadow: 0 .38rem 0 currentColor, 0 .76rem 0 currentColor; }
.commercial-flow__module-icon--billing b { right: .72rem; bottom: .48rem; width: .7rem; height: .7rem; border: .13rem solid var(--bg-glass-card); border-radius: 50%; background: currentColor; }
/* Bodegas e Inventario: nave, techo y puerta. */
.commercial-flow__module-icon--warehouse::before { left: .24rem; right: .24rem; top: 1.34rem; bottom: .28rem; border: 0; background: currentColor; clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%); }
.commercial-flow__module-icon--warehouse::after { top: .2rem; left: .18rem; width: 3.14rem; height: 1.5rem; border: 0; background: currentColor; clip-path: polygon(50% 0, 100% 80%, 100% 100%, 0 100%, 0 80%); transform: none; }
.commercial-flow__module-icon--warehouse i { bottom: .28rem; left: 1.31rem; width: .86rem; height: .94rem; border: 0; background: var(--bg-glass-card); }
.commercial-flow__module-icon--warehouse b { bottom: .66rem; left: .57rem; width: .31rem; height: .31rem; border: 0; background: var(--bg-glass-card); box-shadow: 1.97rem 0 0 var(--bg-glass-card); }
/* Pedidos y Cotizaciones: documento con lista. */
.commercial-flow__module-icon--quotes::before { inset: .3rem .5rem .2rem .5rem; border: 0; border-radius: .13rem; background: currentColor; box-shadow: -.18rem -.18rem 0 rgba(86, 229, 223, .52); }
.commercial-flow__module-icon--quotes::after { inset: .64rem .82rem .48rem .82rem; border: 0; background: var(--bg-glass-card); box-shadow: none; }
.commercial-flow__module-icon--quotes i { top: .92rem; left: 1.08rem; width: 1.38rem; height: .13rem; border: 0; background: currentColor; box-shadow: 0 .39rem 0 currentColor, 0 .78rem 0 currentColor, 0 1.17rem 0 currentColor; }
.commercial-flow__module-icon--quotes b { top: .89rem; left: .86rem; width: .12rem; height: .12rem; border: 0; background: currentColor; box-shadow: 0 .39rem 0 currentColor, 0 .78rem 0 currentColor, 0 1.17rem 0 currentColor; }
/* Órdenes de Compra: portapapeles con aprobación. */
.commercial-flow__module-icon--orders::before { inset: .52rem .53rem .16rem .53rem; border: 0; border-radius: .18rem; background: currentColor; }
.commercial-flow__module-icon--orders::after { top: .2rem; left: 1.12rem; width: 1.25rem; height: .65rem; border: 0; border-radius: .38rem; background: currentColor; }
.commercial-flow__module-icon--orders i { top: 1.34rem; left: 1.04rem; width: 1.48rem; height: 1.02rem; border: .18rem solid var(--bg-glass-card); border-top: 0; border-right: 0; background: transparent; transform: rotate(-45deg); }
.commercial-flow__module-icon--orders b { bottom: .63rem; left: 1.05rem; width: 1.4rem; height: .13rem; border: 0; background: var(--bg-glass-card); box-shadow: 0 .33rem 0 var(--bg-glass-card); }
/* Producción: fábrica reconocible con chimeneas y ventanas. */
.commercial-flow__module-icon--production::before { left: .25rem; right: .25rem; bottom: .28rem; height: 1.75rem; border: 0; border-radius: .04rem; background: currentColor; clip-path: polygon(0 25%, 29% 48%, 29% 25%, 55% 48%, 55% 25%, 80% 48%, 80% 0, 100% 0, 100% 100%, 0 100%); }
.commercial-flow__module-icon--production::after { left: .57rem; top: .42rem; width: .47rem; height: 1.24rem; border: 0; background: currentColor; clip-path: polygon(20% 0, 100% 18%, 100% 100%, 0 100%, 0 13%); }
.commercial-flow__module-icon--production i { left: .78rem; bottom: .64rem; width: .34rem; height: .34rem; border: 0; background: var(--bg-glass-card); box-shadow: .68rem 0 0 var(--bg-glass-card), 1.36rem 0 0 var(--bg-glass-card); }
.commercial-flow__module-icon--production b { right: .54rem; bottom: .28rem; width: .53rem; height: .93rem; border: 0; background: var(--bg-glass-card); }
/* Punto de Venta: caja registradora, pantalla, teclas y cajón. */
.commercial-flow__module-icon--pos::before { left: .22rem; right: .22rem; bottom: .34rem; height: 1.45rem; border: 0; border-radius: .2rem .2rem .12rem .12rem; background: currentColor; transform: none; }
.commercial-flow__module-icon--pos::after { top: .3rem; left: .62rem; width: 2.27rem; height: 1.3rem; border: 0; border-radius: .18rem .18rem .06rem .06rem; background: currentColor; transform: none; }
.commercial-flow__module-icon--pos i { top: .56rem; left: .93rem; width: 1.65rem; height: .58rem; border: 0; background: var(--bg-glass-card); box-shadow: none; }
.commercial-flow__module-icon--pos b { bottom: .68rem; left: .72rem; width: .2rem; height: .2rem; border: 0; border-radius: 50%; background: var(--bg-glass-card); box-shadow: .43rem 0 0 var(--bg-glass-card), .86rem 0 0 var(--bg-glass-card), 1.29rem 0 0 var(--bg-glass-card), 0 .36rem 0 var(--bg-glass-card), .43rem .36rem 0 var(--bg-glass-card), .86rem .36rem 0 var(--bg-glass-card), 1.29rem .36rem 0 var(--bg-glass-card); }
.commercial-flow__step--production .commercial-flow__module-icon, .commercial-flow__step--pos .commercial-flow__module-icon { color: #56e5df; filter: drop-shadow(0 4px 8px rgba(0, 210, 200, .2)); }
/* Gestión RR.HH.: respaldo institucional y capacidades laborales. */
.rrhh-certification {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: .85rem 1rem;
  align-items: center;
  max-width: 610px;
  margin: 1.2rem 0 1.45rem;
  padding: .78rem .95rem;
  border: 1px solid rgba(125, 249, 242, .42);
  border-radius: var(--radius-md);
  background: linear-gradient(135deg, rgba(0, 210, 200, .17), rgba(3, 35, 74, .48));
  box-shadow: 0 14px 30px rgba(0, 17, 49, .2);
}
.rrhh-certification__logos { display: flex; align-items: center; gap: .48rem; }
.rrhh-certification__logos img {
  width: 64px;
  height: 52px;
  padding: .35rem;
  border: 1px solid rgba(255,255,255,.28);
  border-radius: .58rem;
  background: rgba(255,255,255,.96);
  object-fit: contain;
}
.rrhh-certification__content span,
.rrhh-certification__content strong,
.rrhh-certification__content p { display: block; }
.rrhh-certification__content span { color: #8FFBF5; font-size: .66rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.rrhh-certification__content strong { margin-top: .15rem; color: #fff; font-family: var(--font-heading); font-size: .92rem; line-height: 1.2; }
.rrhh-certification__content p { margin-top: .26rem; color: #E9F7FF; font-size: .7rem; line-height: 1.35; }
.rrhh-features .brochure-card--priority { border-color: rgba(125, 249, 242, .45); box-shadow: var(--shadow-glass), 0 0 24px rgba(0, 210, 200, .1); }
.rrhh-features .brochure-card--sii .brochure-card__title { color: var(--color-teal); }
@media (max-width: 640px) {
  .rrhh-certification { grid-template-columns: 1fr; text-align: center; }
  .rrhh-certification__logos { justify-content: center; }
}
/* AVsoft Doc · paperless highlight */
.paperless-highlight {
    position: relative;
    display: grid;
    grid-template-columns: 4.9rem minmax(0, 1fr);
    gap: .85rem;
    align-items: center;
    max-width: 35rem;
    margin: 1.15rem 0;
    padding: .8rem .95rem;
    overflow: hidden;
    border: 1px solid rgba(0, 211, 196, .38);
    border-radius: 1rem;
    background: linear-gradient(112deg, rgba(0, 211, 196, .14), rgba(36, 78, 255, .09));
    box-shadow: 0 12px 28px rgba(9, 34, 76, .12);
}

.paperless-highlight::after {
    content: '';
    position: absolute;
    inset: 0 auto 0 -38%;
    width: 30%;
    transform: skewX(-20deg);
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .56), transparent);
    animation: paperless-sweep 4.8s ease-in-out infinite;
    pointer-events: none;
}

.paperless-highlight__visual {
    position: relative;
    width: 4.9rem;
    height: 3.8rem;
}

.paperless-highlight__sheet {
    position: absolute;
    left: .18rem;
    top: .55rem;
    width: 1.75rem;
    height: 2.25rem;
    border: 2px solid #3154c9;
    border-radius: .24rem;
    background: repeating-linear-gradient(to bottom, #fff 0 .46rem, #dce7ff .48rem .56rem);
    box-shadow: 0 5px 10px rgba(12, 36, 94, .13);
}

.paperless-highlight__sheet--back {
    transform: translate(.27rem, -.28rem) rotate(7deg);
    opacity: .6;
}

.paperless-highlight__sheet--front { animation: paperless-document 3.6s cubic-bezier(.5, 0, .5, 1) infinite; }

.paperless-highlight__stream {
    position: absolute;
    top: 1.88rem;
    left: 2rem;
    width: 1.25rem;
    height: 2px;
    background: #00cfc0;
    transform-origin: left center;
    animation: paperless-stream 3.6s ease-in-out infinite;
}

.paperless-highlight__digital {
    position: absolute;
    right: .05rem;
    top: .75rem;
    display: grid;
    width: 2rem;
    height: 2.35rem;
    place-items: center;
    border-radius: .38rem;
    background: linear-gradient(145deg, #19d7c7, #2484e9);
    box-shadow: 0 6px 14px rgba(0, 167, 180, .32);
    color: #fff;
    opacity: .72;
    animation: paperless-digital 3.6s ease-in-out infinite;
}

.paperless-highlight__digital::before,
.paperless-highlight__digital::after {
    content: '';
    position: absolute;
    left: .42rem;
    width: 1.12rem;
    height: 2px;
    border-radius: 99px;
    background: rgba(255, 255, 255, .75);
}

.paperless-highlight__digital::before { top: .43rem; }
.paperless-highlight__digital::after { top: .72rem; width: .72rem; }
.paperless-highlight__digital i { position: relative; z-index: 1; margin-top: .6rem; font-size: .82rem; font-style: normal; font-weight: 900; }

.paperless-highlight__content { position: relative; z-index: 1; display: grid; gap: .08rem; }
.paperless-highlight__content > span { color: #008f98; font-size: .66rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.paperless-highlight__content strong { color: #08275b; font-size: 1.3rem; line-height: 1.04; }
.paperless-highlight__content p { margin: .12rem 0 0; color: #365171; font-size: .79rem; line-height: 1.35; }

@keyframes paperless-document {
    0%, 14% { transform: translateX(0) rotate(-3deg); opacity: 1; }
    54% { transform: translateX(1.62rem) rotate(2deg); opacity: .78; }
    72%, 100% { transform: translateX(1.95rem) rotate(4deg) scale(.72); opacity: 0; }
}

@keyframes paperless-stream {
    0%, 20% { transform: scaleX(.15); opacity: 0; }
    35%, 62% { transform: scaleX(1); opacity: 1; }
    80%, 100% { transform: scaleX(1.15); opacity: 0; }
}

@keyframes paperless-digital {
    0%, 43% { transform: scale(.9); opacity: .72; }
    62%, 79% { transform: scale(1.12); opacity: 1; box-shadow: 0 0 0 .3rem rgba(0, 211, 196, .13), 0 6px 14px rgba(0, 167, 180, .32); }
    100% { transform: scale(1); opacity: .82; }
}

@keyframes paperless-sweep {
    0%, 62% { left: -38%; opacity: 0; }
    72% { opacity: 1; }
    88%, 100% { left: 118%; opacity: 0; }
}

@media (max-width: 640px) {
    .paperless-highlight { grid-template-columns: 4.35rem minmax(0, 1fr); padding: .72rem; }
    .paperless-highlight__visual { transform: scale(.9); transform-origin: left center; }
    .paperless-highlight__content strong { font-size: 1.16rem; }
}

@media (prefers-reduced-motion: reduce) {
    .paperless-highlight::after,
    .paperless-highlight__sheet--front,
    .paperless-highlight__stream,
    .paperless-highlight__digital { animation: none; }
}
/* AVsoft Doc · paper to PDF transformation */
.paperless-highlight {
    grid-template-columns: 11rem minmax(0, 1fr);
    max-width: 43rem;
    min-height: 6.15rem;
}

.paperless-machine {
    width: 10.4rem;
    height: 4.65rem;
    overflow: hidden;
    border-radius: .72rem;
    background: linear-gradient(145deg, #dffbf8, #eef7ff);
    box-shadow: inset 0 0 0 1px rgba(0, 177, 179, .16);
}

.paperless-machine__paper {
    position: absolute;
    left: 1.12rem;
    top: -.32rem;
    width: 2.32rem;
    height: 2.7rem;
    padding: .48rem .37rem;
    border: 2px solid #2f559f;
    border-radius: .2rem;
    background: #fff;
    box-shadow: 0 5px 8px rgba(15, 44, 94, .17);
    animation: paper-to-shredder 5.2s cubic-bezier(.55, 0, .42, 1) infinite;
}

.paperless-machine__paper::after {
    content: '';
    position: absolute;
    top: .34rem;
    right: -.15rem;
    width: .55rem;
    height: .55rem;
    border-left: 1px solid #9bb3e6;
    border-bottom: 1px solid #9bb3e6;
    background: #e7efff;
    transform: rotate(45deg);
}

.paperless-machine__paper i {
    display: block;
    width: 100%;
    height: 2px;
    margin: 0 0 .28rem;
    border-radius: 99px;
    background: #90a9d9;
}
.paperless-machine__paper i:nth-child(2) { width: 78%; }
.paperless-machine__paper i:nth-child(3) { width: 58%; }

.paperless-machine__shredder {
    position: absolute;
    z-index: 2;
    left: .57rem;
    top: 2.1rem;
    display: flex;
    align-items: center;
    justify-content: space-around;
    width: 3.45rem;
    height: .85rem;
    padding: 0 .4rem;
    overflow: hidden;
    border: 2px solid #0a6481;
    border-radius: .28rem .28rem .48rem .48rem;
    background: linear-gradient(#247f9f, #0d536f);
    box-shadow: 0 .19rem 0 #073d57, 0 5px 9px rgba(5, 52, 74, .22);
}

.paperless-machine__shredder::before {
    content: '';
    position: absolute;
    top: -.34rem;
    left: .28rem;
    width: 2.45rem;
    height: .32rem;
    border-radius: .25rem .25rem 0 0;
    background: #6de4da;
}

.paperless-machine__shredder b {
    position: relative;
    z-index: 1;
    width: 2px;
    height: .37rem;
    border-radius: 99px;
    background: #b9ffff;
    animation: shredder-blades .33s linear infinite;
}

.paperless-machine__shreds {
    position: absolute;
    z-index: 1;
    left: .88rem;
    top: 2.76rem;
    display: flex;
    gap: .16rem;
    width: 2.75rem;
    height: 1.4rem;
    padding: 0 .2rem;
    animation: shredded-paper 5.2s ease-in infinite;
}

.paperless-machine__shreds i {
    display: block;
    width: .28rem;
    height: 1.2rem;
    border-radius: 0 0 .15rem .15rem;
    background: #f8fbff;
    box-shadow: inset 0 0 0 1px #b7c9ee;
}
.paperless-machine__shreds i:nth-child(2) { height: 1.45rem; }
.paperless-machine__shreds i:nth-child(4) { height: 1.33rem; }

.paperless-machine__pdf {
    position: absolute;
    right: .65rem;
    bottom: .54rem;
    display: grid;
    width: 3.2rem;
    height: 3.45rem;
    place-items: center;
    border-radius: .38rem;
    background: linear-gradient(145deg, #fe5366, #bd2045);
    box-shadow: 0 7px 13px rgba(174, 30, 62, .27);
    color: #fff;
    opacity: 0;
    transform: translateY(1.55rem) scale(.55) rotate(-8deg);
    animation: pdf-materialize 5.2s cubic-bezier(.2, .7, .35, 1) infinite;
}

.paperless-machine__pdf::before {
    content: '';
    position: absolute;
    top: .45rem;
    right: .43rem;
    width: .52rem;
    height: .52rem;
    border-left: 1px solid rgba(255, 255, 255, .7);
    border-bottom: 1px solid rgba(255, 255, 255, .7);
    background: rgba(255, 255, 255, .22);
    transform: rotate(45deg);
}

.paperless-machine__pdf b { margin-top: .36rem; font-size: .68rem; letter-spacing: .08em; }
.paperless-machine__pdf i { display: grid; width: 1.08rem; height: 1.08rem; margin-top: -.35rem; place-items: center; border-radius: 50%; background: #fff; color: #c52247; font-size: .75rem; font-style: normal; font-weight: 900; }

@keyframes paper-to-shredder {
    0%, 13% { transform: translateY(-.15rem); opacity: 1; }
    40%, 48% { transform: translateY(1.87rem); opacity: 1; }
    57%, 100% { transform: translateY(2.18rem) scaleY(.15); opacity: 0; }
}

@keyframes shredded-paper {
    0%, 43% { opacity: 0; transform: translateY(-.34rem); }
    49% { opacity: 1; transform: translateY(0); }
    68% { opacity: 1; transform: translateY(.43rem); }
    77%, 100% { opacity: 0; transform: translateY(.86rem); }
}

@keyframes pdf-materialize {
    0%, 59% { opacity: 0; transform: translateY(1.55rem) scale(.55) rotate(-8deg); }
    74%, 88% { opacity: 1; transform: translateY(0) scale(1) rotate(0); }
    100% { opacity: .78; transform: translateY(.04rem) scale(.96); }
}

@keyframes shredder-blades { 50% { transform: translateY(.17rem); opacity: .65; } }

@media (max-width: 640px) {
    .paperless-highlight { grid-template-columns: 9.5rem minmax(0, 1fr); }
    .paperless-machine { transform: scale(.86); transform-origin: left center; }
}

@media (prefers-reduced-motion: reduce) {
    .paperless-machine__paper,
    .paperless-machine__shredder b,
    .paperless-machine__shreds,
    .paperless-machine__pdf { animation: none; }
    .paperless-machine__paper { display: none; }
    .paperless-machine__shreds { opacity: 0; }
    .paperless-machine__pdf { opacity: 1; transform: none; }
}
/* AVsoft Doc · hero paperless, high contrast */
.avdoc-hero .doc-authorization {
  border-color: rgba(110, 255, 243, .52);
  background: rgba(2, 18, 48, .62);
}
.avdoc-hero .doc-authorization strong { color: #fff; }
.avdoc-hero .doc-authorization small { color: #d7faff; }

.paperless-hero {
  width: min(100%, 32rem);
  justify-self: center;
  padding: 1.35rem;
  border: 1px solid rgba(116, 251, 243, .48);
  border-radius: 1.35rem;
  background: linear-gradient(145deg, rgba(5, 24, 58, .98), rgba(8, 58, 101, .94));
  box-shadow: 0 25px 64px rgba(0, 10, 35, .38), 0 0 35px rgba(0, 217, 202, .16);
  color: #fff;
}
.paperless-hero__heading { display: grid; gap: .22rem; text-align: center; }
.paperless-hero__heading span { color: #76fff3; font-size: .68rem; font-weight: 900; letter-spacing: .16em; }
.paperless-hero__heading strong { color: #fff; font-family: var(--font-heading); font-size: clamp(1.15rem, 2.2vw, 1.45rem); }

.paperless-hero__stage {
  position: relative;
  height: 12.2rem;
  margin: .9rem 0 .65rem;
  overflow: hidden;
  border: 1px solid rgba(203, 255, 251, .22);
  border-radius: .9rem;
  background: radial-gradient(circle at 74% 49%, rgba(23, 210, 204, .22), transparent 30%), linear-gradient(135deg, #071d45, #0b4873);
}
.paperless-hero__stage::before { content: ''; position: absolute; right: 1.25rem; top: 1.8rem; width: 6rem; height: 6rem; border: 1px dashed rgba(119, 255, 243, .46); border-radius: 50%; animation: paperless-orbit 6s linear infinite; }
.paperless-hero__paper {
  position: absolute; z-index: 3; left: 2.5rem; top: .55rem; width: 4rem; height: 4.95rem; padding: .88rem .64rem; border: 2px solid #9ebbe9; border-radius: .28rem; background: #fff; box-shadow: 0 9px 16px rgba(0, 0, 0, .27); animation: hero-paper-shred 6s cubic-bezier(.52, 0, .35, 1) infinite;
}
.paperless-hero__paper::after { content: ''; position: absolute; top: .32rem; right: -.2rem; width: .82rem; height: .82rem; border-left: 1px solid #aabde4; border-bottom: 1px solid #aabde4; background: #e5efff; transform: rotate(45deg); }
.paperless-hero__paper i { display: block; height: 3px; margin-bottom: .48rem; border-radius: 4px; background: #7191cc; }.paperless-hero__paper i:nth-child(2) { width: 78%; }.paperless-hero__paper i:nth-child(3) { width: 90%; }.paperless-hero__paper i:nth-child(4) { width: 58%; }
.paperless-hero__shredder { position: absolute; z-index: 4; left: 1.55rem; top: 6rem; display: flex; align-items: center; justify-content: space-around; width: 5.9rem; height: 1.25rem; padding: 0 .62rem; overflow: hidden; border: 2px solid #0a9a9d; border-radius: .38rem .38rem .62rem .62rem; background: linear-gradient(#18bdbd, #086883); box-shadow: 0 .28rem 0 #043a5d, 0 8px 13px rgba(0, 5, 31, .33); }
.paperless-hero__shredder::before { content: ''; position: absolute; top: -.4rem; left: .38rem; width: 4.8rem; height: .42rem; border-radius: .35rem .35rem 0 0; background: #8bfff1; }
.paperless-hero__shredder b { position: relative; z-index: 1; width: 2px; height: .55rem; background: #d8ffff; animation: hero-shredder-blades .3s linear infinite; }
.paperless-hero__shreds { position: absolute; z-index: 2; left: 2.2rem; top: 7.18rem; display: flex; gap: .25rem; width: 4.6rem; height: 2.1rem; animation: hero-paper-shreds 6s ease-in infinite; }
.paperless-hero__shreds i { width: .33rem; height: 1.65rem; border-radius: 0 0 .18rem .18rem; background: #f9fcff; box-shadow: inset 0 0 0 1px #abc5ef; }.paperless-hero__shreds i:nth-child(2), .paperless-hero__shreds i:nth-child(5) { height: 2rem; }.paperless-hero__shreds i:nth-child(4) { height: 1.86rem; }
.paperless-hero__route { position: absolute; z-index: 1; left: 7.6rem; top: 7rem; width: 4.05rem; border-top: 2px dashed #6ffff4; opacity: 0; animation: hero-digital-route 6s ease-in-out infinite; }
.paperless-hero__pdf { position: absolute; z-index: 3; right: 2rem; bottom: 1.25rem; display: grid; width: 4.55rem; height: 5.75rem; place-items: center; border-radius: .48rem; background: linear-gradient(145deg, #ff5a6e, #b51e4a); box-shadow: 0 12px 20px rgba(0, 0, 0, .28); color: #fff; opacity: 0; transform: translateY(2.7rem) scale(.5) rotate(-10deg); animation: hero-pdf-appear 6s cubic-bezier(.18, .72, .32, 1) infinite; }
.paperless-hero__pdf::before { content: ''; position: absolute; top: .5rem; right: .5rem; width: .8rem; height: .8rem; border-left: 1px solid rgba(255, 255, 255, .72); border-bottom: 1px solid rgba(255, 255, 255, .72); background: rgba(255, 255, 255, .2); transform: rotate(45deg); }.paperless-hero__pdf b { margin-top: 1.1rem; font-size: .92rem; letter-spacing: .1em; }.paperless-hero__pdf i { display: grid; width: 1.45rem; height: 1.45rem; margin-top: -.72rem; place-items: center; border-radius: 50%; background: #fff; color: #bb1e4a; font-size: .9rem; font-style: normal; font-weight: 900; }.paperless-hero__pdf small { margin-top: -1.05rem; color: #fff; font-size: .57rem; font-weight: 700; line-height: 1.25; text-align: center; }
.paperless-hero__caption { margin: 0; color: #e7ffff; font-size: .82rem; line-height: 1.45; text-align: center; }
.paperless-hero__dt { display: flex; gap: .7rem; align-items: center; margin-top: .9rem; padding: .72rem; border: 1px solid rgba(116, 251, 243, .35); border-radius: .7rem; background: rgba(0, 214, 198, .12); }.paperless-hero__dt > b { display: grid; flex: 0 0 auto; width: 2.15rem; height: 2.15rem; place-items: center; border-radius: .5rem; background: #7afff3; color: #063f57; font-size: .74rem; }.paperless-hero__dt p { display: grid; gap: .1rem; margin: 0; color: #eaffff; font-size: .68rem; line-height: 1.3; }.paperless-hero__dt strong { color: #fff; font-size: .73rem; }.paperless-hero__dt span { color: #d0ffff; }
@keyframes hero-paper-shred { 0%, 12% { transform: translateY(0); opacity: 1; } 41%, 48% { transform: translateY(4.6rem); opacity: 1; } 56%, 100% { transform: translateY(5.15rem) scaleY(.12); opacity: 0; } }
@keyframes hero-paper-shreds { 0%, 43% { transform: translateY(-.45rem); opacity: 0; } 50%, 68% { transform: translateY(0); opacity: 1; } 78%, 100% { transform: translateY(1.1rem); opacity: 0; } }
@keyframes hero-digital-route { 0%, 57% { opacity: 0; transform: scaleX(.1); transform-origin: left; } 64%, 82% { opacity: 1; transform: scaleX(1); } 92%, 100% { opacity: 0; } }
@keyframes hero-pdf-appear { 0%, 61% { opacity: 0; transform: translateY(2.7rem) scale(.5) rotate(-10deg); } 74%, 88% { opacity: 1; transform: translateY(0) scale(1) rotate(0); } 100% { opacity: .88; transform: translateY(.08rem) scale(.96); } }
@keyframes hero-shredder-blades { 50% { transform: translateY(.22rem); opacity: .65; } }
@keyframes paperless-orbit { to { transform: rotate(360deg); } }
@media (max-width: 640px) { .paperless-hero { padding: 1rem; }.paperless-hero__stage { transform: scale(.91); transform-origin: top center; width: 110%; margin-bottom: -.35rem; }.paperless-hero__caption { margin-top: -.1rem; } }
@media (prefers-reduced-motion: reduce) { .paperless-hero__stage::before, .paperless-hero__paper, .paperless-hero__shredder b, .paperless-hero__shreds, .paperless-hero__route, .paperless-hero__pdf { animation: none; }.paperless-hero__paper, .paperless-hero__shreds, .paperless-hero__route { display: none; }.paperless-hero__pdf { opacity: 1; transform: none; } }
/* Firma electrónica dentro de la conversión a PDF */
.paperless-hero__pdf .paperless-hero__signature {
  position: absolute;
  bottom: .48rem;
  left: .3rem;
  right: .3rem;
  padding-top: .26rem;
  border-top: 1px solid rgba(255, 255, 255, .55);
  color: #fff;
  font-size: .52rem;
  font-weight: 800;
  letter-spacing: .025em;
  line-height: 1.16;
  text-align: center;
  text-transform: uppercase;
  opacity: 0;
  animation: hero-signature-confirm 6s ease-out infinite;
}

@keyframes hero-signature-confirm {
  0%, 73% { opacity: 0; transform: translateY(.35rem); }
  80%, 94% { opacity: 1; transform: translateY(0); }
  100% { opacity: .82; transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
  .paperless-hero__pdf .paperless-hero__signature { animation: none; opacity: 1; transform: none; }
}
/* Identidad AVsoft Doc y sello institucional DT */
.avdoc-hero .module-hero__icon {
  width: 66px;
  height: 56px;
  display: grid;
  place-items: center;
  font-size: .62rem;
  line-height: 1.02;
  letter-spacing: .02em;
  text-align: center;
}
.paperless-hero__dt > img {
  display: block;
  flex: 0 0 auto;
  width: 3.2rem;
  height: 2.3rem;
  padding: .16rem;
  border-radius: .42rem;
  background: #fff;
  object-fit: contain;
}
/* Contraste reforzado para el sello de firma digital */
.paperless-hero__pdf .paperless-hero__signature {
  bottom: .42rem;
  left: .28rem;
  right: .28rem;
  padding: .24rem .12rem;
  border: 1px solid #5ef5e7;
  border-top: 1px solid #5ef5e7;
  border-radius: .22rem;
  background: #ffffff;
  color: #073d73;
  box-shadow: 0 2px 5px rgba(0, 0, 0, .22);
  font-size: .48rem;
  font-weight: 900;
  line-height: 1.12;
  text-shadow: none;
}
/* AVsoft Doc · generación y firma masiva */
.mass-documents { padding: 5.5rem 0; background: linear-gradient(135deg, #062448, #075678 58%, #078e99); }
.mass-documents .container { display: grid; grid-template-columns: minmax(0, .9fr) minmax(340px, 1.1fr); gap: clamp(2.2rem, 6vw, 5rem); align-items: center; }
.mass-documents__copy .pill-label { color: #dffffc; border-color: rgba(125, 255, 245, .65); background: rgba(0, 33, 68, .35); }
.mass-documents__copy h2 { margin: .8rem 0 1rem; color: #fff; font-family: var(--font-heading); font-size: clamp(2rem, 4vw, 3.4rem); line-height: 1.05; }
.mass-documents__copy p { max-width: 35rem; color: #dcffff; line-height: 1.65; }
.mass-documents__list { display: grid; gap: .7rem; margin: 1.5rem 0 0; padding: 0; list-style: none; }
.mass-documents__list li { display: flex; gap: .72rem; align-items: center; color: #fff; font-size: .86rem; font-weight: 650; }.mass-documents__list b { display: grid; flex: 0 0 auto; width: 1.9rem; height: 1.9rem; place-items: center; border: 1px solid #76fff3; border-radius: .48rem; background: rgba(0, 211, 196, .15); color: #8dfff5; font-size: .68rem; }
.mass-documents__demo { overflow: hidden; border: 1px solid rgba(155, 255, 248, .52); border-radius: 1.15rem; background: #061d42; box-shadow: 0 22px 58px rgba(0, 12, 38, .38); }
.mass-documents__topbar { display: flex; align-items: center; gap: .34rem; min-height: 2.8rem; padding: 0 .9rem; border-bottom: 1px solid rgba(165, 255, 248, .19); color: #eaffff; font-size: .68rem; }.mass-documents__topbar span { width: .55rem; height: .55rem; border-radius: 50%; background: #f15a68; }.mass-documents__topbar span:nth-child(2) { background: #ffd060; }.mass-documents__topbar span:nth-child(3) { background: #67e9a9; }.mass-documents__topbar strong { margin-left: .35rem; color: #eaffff; }
.mass-documents__canvas { position: relative; height: 18.5rem; overflow: hidden; background: radial-gradient(circle at 68% 26%, rgba(0, 214, 198, .25), transparent 30%), linear-gradient(145deg, #06214d, #07345e); }
.mass-documents__flow { position: absolute; left: 50%; top: 5.2rem; width: 1px; height: 8rem; border-left: 2px dashed rgba(114, 255, 243, .65); transform: translateX(-50%); animation: mass-flow 5.8s ease-in-out infinite; }
.mass-documents__worker { position: absolute; z-index: 4; display: grid; width: 3.2rem; height: 3.2rem; place-items: center; border: 2px solid #8afff5; border-radius: 50%; background: linear-gradient(145deg, #2f87c7, #135b9c); color: #fff; box-shadow: 0 6px 14px rgba(0, 0, 0, .26); }.mass-documents__worker b { font-size: .75rem; }.mass-documents__worker i { position: absolute; right: -.28rem; bottom: -.25rem; display: grid; width: 1.15rem; height: 1.15rem; place-items: center; border: 2px solid #06214d; border-radius: 50%; background: #74fff1; color: #063d67; font-size: .74rem; font-style: normal; font-weight: 900; opacity: 0; transform: scale(0); animation: mass-signed 5.8s ease-out infinite; }
.mass-documents__worker--one { left: 8%; top: 1.9rem; }.mass-documents__worker--two { right: 8%; top: 1.9rem; }.mass-documents__worker--three { left: 8%; top: 8.1rem; }.mass-documents__worker--four { right: 8%; top: 8.1rem; }.mass-documents__worker--two i { animation-delay: .16s; }.mass-documents__worker--three i { animation-delay: .32s; }.mass-documents__worker--four i { animation-delay: .48s; }
.mass-documents__document { position: absolute; z-index: 2; left: 50%; top: 11.25rem; width: 2.35rem; height: 3rem; padding: .42rem; border: 1px solid #b7ccf5; border-radius: .2rem; background: repeating-linear-gradient(to bottom, #fff 0 .48rem, #d9e6ff .5rem .58rem); box-shadow: 0 4px 9px rgba(0,0,0,.22); opacity: 0; }.mass-documents__document i { display:block; width: 70%; height: 2px; margin: .16rem 0; background:#7994c9; }.mass-documents__document--one { animation: mass-doc-one 5.8s ease-out infinite; }.mass-documents__document--two { animation: mass-doc-two 5.8s ease-out infinite; }.mass-documents__document--three { animation: mass-doc-three 5.8s ease-out infinite; }.mass-documents__document--four { animation: mass-doc-four 5.8s ease-out infinite; }
.mass-documents__template { position: absolute; z-index: 3; left: 50%; bottom: 1.15rem; display: grid; gap: .22rem; width: 12.5rem; padding: .8rem .95rem; border: 1px solid rgba(129, 255, 245, .6); border-radius: .72rem; background: linear-gradient(135deg, #0c7690, #095282); box-shadow: 0 8px 18px rgba(0,0,0,.28); color: #fff; transform: translateX(-50%); }.mass-documents__template span { color: #9efff6; font-size: .56rem; font-weight: 900; letter-spacing: .11em; }.mass-documents__template strong { font-size: .86rem; }.mass-documents__template small { color: #e1ffff; font-size: .61rem; }.mass-documents__template b { margin-top: .25rem; padding: .36rem; border-radius: .32rem; background: #79fff2; color: #063c64; font-size: .6rem; text-align: center; }
.mass-documents__complete { position: absolute; z-index: 5; left: 50%; top: 7.1rem; display: flex; align-items: center; gap: .48rem; padding: .55rem .7rem; border: 1px solid #91fff5; border-radius: .55rem; background: #eaffff; box-shadow: 0 7px 18px rgba(0,0,0,.24); transform: translate(-50%, .75rem) scale(.8); opacity: 0; animation: mass-complete 5.8s ease-out infinite; }.mass-documents__complete > i { display: grid; width: 1.45rem; height: 1.45rem; place-items: center; border-radius: 50%; background: #11bda9; color: #fff; font-size: .85rem; font-style: normal; font-weight: 900; }.mass-documents__complete span { display: grid; gap: .06rem; }.mass-documents__complete strong { color: #063861; font-size: .66rem; }.mass-documents__complete small { color: #275d7c; font-size: .56rem; }
@keyframes mass-flow { 0%, 12% { opacity: 0; } 22%, 72% { opacity: 1; } 86%, 100% { opacity: 0; } }
@keyframes mass-doc-one { 0%, 15% { opacity: 0; transform: translate(-50%, 0) scale(.7); } 26%, 56% { opacity: 1; transform: translate(-10rem, -8.8rem) scale(1); } 64%, 100% { opacity: 0; transform: translate(-10rem, -8.8rem) scale(.72); } }
@keyframes mass-doc-two { 0%, 17% { opacity: 0; transform: translate(-50%, 0) scale(.7); } 28%, 56% { opacity: 1; transform: translate(7.7rem, -8.8rem) scale(1); } 64%, 100% { opacity: 0; transform: translate(7.7rem, -8.8rem) scale(.72); } }
@keyframes mass-doc-three { 0%, 19% { opacity: 0; transform: translate(-50%, 0) scale(.7); } 30%, 56% { opacity: 1; transform: translate(-10rem, -2.55rem) scale(1); } 64%, 100% { opacity: 0; transform: translate(-10rem, -2.55rem) scale(.72); } }
@keyframes mass-doc-four { 0%, 21% { opacity: 0; transform: translate(-50%, 0) scale(.7); } 32%, 56% { opacity: 1; transform: translate(7.7rem, -2.55rem) scale(1); } 64%, 100% { opacity: 0; transform: translate(7.7rem, -2.55rem) scale(.72); } }
@keyframes mass-signed { 0%, 52% { opacity: 0; transform: scale(0); } 60%, 87% { opacity: 1; transform: scale(1); } 100% { opacity: .8; transform: scale(.9); } }
@keyframes mass-complete { 0%, 62% { opacity: 0; transform: translate(-50%, .75rem) scale(.8); } 72%, 89% { opacity: 1; transform: translate(-50%, 0) scale(1); } 100% { opacity: .84; transform: translate(-50%, 0) scale(.97); } }
@media (max-width: 900px) { .mass-documents .container { grid-template-columns: 1fr; }.mass-documents__copy { text-align: center; }.mass-documents__copy p { margin-inline: auto; }.mass-documents__list { max-width: 32rem; margin-inline: auto; text-align: left; }.mass-documents__demo { width: min(100%, 34rem); justify-self: center; } }
@media (max-width: 460px) { .mass-documents { padding: 4rem 0; }.mass-documents__canvas { transform: scale(.86); transform-origin: top left; width: 116.3%; margin-bottom: -2.6rem; }.mass-documents__topbar strong { font-size: .58rem; } }
@media (prefers-reduced-motion: reduce) { .mass-documents__flow, .mass-documents__document, .mass-documents__worker i, .mass-documents__complete { animation: none; }.mass-documents__document, .mass-documents__flow { display: none; }.mass-documents__worker i { opacity: 1; transform: scale(1); }.mass-documents__complete { opacity: 1; transform: translate(-50%, 0); } }
/* Segunda mitad: firma, retorno y recepción de documentos */
.mass-documents__signed { position: absolute; z-index: 6; left: 50%; top: 6.7rem; display: flex; align-items: center; gap: .38rem; padding: .42rem .58rem; border: 1px solid #ffd875; border-radius: .45rem; background: #fff7db; box-shadow: 0 6px 16px rgba(0, 0, 0, .2); color: #694302; font-size: .6rem; font-weight: 900; white-space: nowrap; opacity: 0; transform: translate(-50%, .4rem) scale(.86); animation: mass-signed-status 7.2s ease-out infinite; }.mass-documents__signed i { display: grid; width: 1.12rem; height: 1.12rem; place-items: center; border-radius: 50%; background: #efae23; color: #fff; font-size: .72rem; font-style: normal; }
.mass-documents__document::after { content: 'FIRMADO'; position: absolute; left: .15rem; right: .15rem; bottom: .25rem; padding: .12rem 0; border: 1px solid #17a991; border-radius: .13rem; background: #e8fff9; color: #076954; font-size: .38rem; font-weight: 900; letter-spacing: .03em; line-height: 1; text-align: center; opacity: 0; transform: scale(.72) rotate(-8deg); animation: mass-document-stamp 7.2s ease-out infinite; }
.mass-documents__flow { animation-duration: 7.2s; }
.mass-documents__document--one { animation: mass-doc-one-return 7.2s ease-in-out infinite; }.mass-documents__document--two { animation: mass-doc-two-return 7.2s ease-in-out infinite; }.mass-documents__document--three { animation: mass-doc-three-return 7.2s ease-in-out infinite; }.mass-documents__document--four { animation: mass-doc-four-return 7.2s ease-in-out infinite; }
.mass-documents__worker i { animation-duration: 7.2s; }.mass-documents__complete { top: 6.85rem; animation: mass-received 7.2s ease-out infinite; }
@keyframes mass-doc-one-return { 0%, 12% { opacity: 0; transform: translate(-50%, 0) scale(.7); } 23%, 47% { opacity: 1; transform: translate(-10rem, -8.8rem) scale(1); } 59% { opacity: 1; transform: translate(-10rem, -8.8rem) scale(1); } 78%, 92% { opacity: 1; transform: translate(-50%, -4.25rem) scale(.84); } 100% { opacity: 0; transform: translate(-50%, -4.25rem) scale(.67); } }
@keyframes mass-doc-two-return { 0%, 14% { opacity: 0; transform: translate(-50%, 0) scale(.7); } 25%, 47% { opacity: 1; transform: translate(7.7rem, -8.8rem) scale(1); } 59% { opacity: 1; transform: translate(7.7rem, -8.8rem) scale(1); } 78%, 92% { opacity: 1; transform: translate(-50%, -4.25rem) scale(.84); } 100% { opacity: 0; transform: translate(-50%, -4.25rem) scale(.67); } }
@keyframes mass-doc-three-return { 0%, 16% { opacity: 0; transform: translate(-50%, 0) scale(.7); } 27%, 47% { opacity: 1; transform: translate(-10rem, -2.55rem) scale(1); } 59% { opacity: 1; transform: translate(-10rem, -2.55rem) scale(1); } 78%, 92% { opacity: 1; transform: translate(-50%, -4.25rem) scale(.84); } 100% { opacity: 0; transform: translate(-50%, -4.25rem) scale(.67); } }
@keyframes mass-doc-four-return { 0%, 18% { opacity: 0; transform: translate(-50%, 0) scale(.7); } 29%, 47% { opacity: 1; transform: translate(7.7rem, -2.55rem) scale(1); } 59% { opacity: 1; transform: translate(7.7rem, -2.55rem) scale(1); } 78%, 92% { opacity: 1; transform: translate(-50%, -4.25rem) scale(.84); } 100% { opacity: 0; transform: translate(-50%, -4.25rem) scale(.67); } }
@keyframes mass-document-stamp { 0%, 48% { opacity: 0; transform: scale(.72) rotate(-8deg); } 55%, 70% { opacity: 1; transform: scale(1) rotate(-8deg); } 78%, 100% { opacity: 0; transform: scale(.8) rotate(-8deg); } }
@keyframes mass-signed-status { 0%, 51% { opacity: 0; transform: translate(-50%, .4rem) scale(.86); } 58%, 69% { opacity: 1; transform: translate(-50%, 0) scale(1); } 77%, 100% { opacity: 0; transform: translate(-50%, -.25rem) scale(.92); } }
@keyframes mass-received { 0%, 81% { opacity: 0; transform: translate(-50%, .75rem) scale(.8); } 89%, 97% { opacity: 1; transform: translate(-50%, 0) scale(1); } 100% { opacity: .88; transform: translate(-50%, 0) scale(.97); } }
@media (prefers-reduced-motion: reduce) { .mass-documents__signed, .mass-documents__document::after { animation: none; }.mass-documents__signed { opacity: 0; }.mass-documents__document::after { opacity: 1; transform: none; }.mass-documents__complete { animation: none; opacity: 1; transform: translate(-50%, 0); } }
/* Punto de Venta · integración animada con terminal de pago */
.pos-payment-flow { padding: 5.5rem 0; background: linear-gradient(135deg, #06234b, #075d82 61%, #008d98); }
.pos-payment-flow .container { display: grid; grid-template-columns: minmax(0, .95fr) minmax(350px, 1.05fr); gap: clamp(2.25rem, 6vw, 5rem); align-items: center; }
.pos-payment-flow__copy .pill-label { color: #dffffd; border-color: rgba(130, 255, 245, .62); background: rgba(0, 32, 69, .36); }.pos-payment-flow__copy h2 { margin: .8rem 0 1rem; color: #fff; font-family: var(--font-heading); font-size: clamp(2rem, 4vw, 3.35rem); line-height: 1.05; }.pos-payment-flow__copy p { max-width: 34rem; color: #ddffff; line-height: 1.65; }
.pos-payment-flow__steps { display: grid; gap: .72rem; margin: 1.55rem 0 0; padding: 0; list-style: none; }.pos-payment-flow__steps li { display: flex; gap: .72rem; align-items: center; color: #fff; font-size: .86rem; font-weight: 650; }.pos-payment-flow__steps b { display: grid; flex: 0 0 auto; width: 1.9rem; height: 1.9rem; place-items: center; border: 1px solid #76fff3; border-radius: .48rem; background: rgba(0, 211, 196, .15); color: #8dfff5; font-size: .68rem; }
.pos-payment-flow__demo { overflow: hidden; border: 1px solid rgba(155, 255, 248, .52); border-radius: 1.15rem; background: #061d42; box-shadow: 0 22px 58px rgba(0, 12, 38, .38); }.pos-payment-flow__topbar { display: flex; align-items: center; gap: .34rem; min-height: 2.8rem; padding: 0 .9rem; border-bottom: 1px solid rgba(165, 255, 248, .19); color: #eaffff; font-size: .68rem; }.pos-payment-flow__topbar span { width: .55rem; height: .55rem; border-radius: 50%; background: #f15a68; }.pos-payment-flow__topbar span:nth-child(2) { background: #ffd060; }.pos-payment-flow__topbar span:nth-child(3) { background: #67e9a9; }.pos-payment-flow__topbar strong { margin-left: .35rem; color: #eaffff; }
.pos-payment-flow__canvas { position: relative; height: 19rem; overflow: hidden; background: radial-gradient(circle at 72% 24%, rgba(0, 219, 205, .22), transparent 30%), linear-gradient(145deg, #05204a, #073a67); }
.pos-flow__system { position: absolute; z-index: 3; left: 1.35rem; top: 4.75rem; width: 10rem; overflow: hidden; border: 1px solid rgba(152, 255, 246, .55); border-radius: .72rem; background: #eafdff; box-shadow: 0 10px 20px rgba(0,0,0,.25); }.pos-flow__system-head { display: flex; justify-content: space-between; padding: .5rem .6rem; background: #086187; color: #fff; font-size: .58rem; }.pos-flow__system-head span { color: #bffff8; }.pos-flow__amount { display: grid; gap: .15rem; padding: .65rem; }.pos-flow__amount span { color: #2e5773; font-size: .58rem; }.pos-flow__amount strong { color: #063a67; font-family: var(--font-heading); font-size: 1.45rem; }.pos-flow__system-status { display: flex; gap: .35rem; align-items: center; margin: 0 .55rem .55rem; padding: .42rem; border-radius: .35rem; background: #ddfdf7; color: #075b55; font-size: .58rem; font-weight: 800; opacity: 0; animation: pos-system-confirm 7.2s ease-out infinite; }.pos-flow__system-status i { display: grid; width: 1rem; height: 1rem; place-items: center; border-radius: 50%; background: #18bfa9; color: #fff; font-size: .66rem; font-style: normal; }
.pos-flow__terminal { position: absolute; z-index: 3; right: 2rem; top: 3.15rem; width: 8.3rem; height: 11.75rem; padding: .7rem .65rem; border: 2px solid #b5cad4; border-radius: 1rem 1rem 1.3rem 1.3rem; background: linear-gradient(145deg, #e4eef0, #8da7b1); box-shadow: .28rem .42rem 0 #49636f, 0 14px 22px rgba(0,0,0,.3); }.pos-flow__terminal-top { display: flex; justify-content: space-between; color: #214b5e; font-size: .57rem; font-weight: 900; letter-spacing: .08em; }.pos-flow__terminal-top i { width: .5rem; height: .5rem; border-radius: 50%; background: #65d672; box-shadow: 0 0 0 .12rem rgba(101,214,114,.23); }.pos-flow__terminal-screen { position: relative; display: grid; min-height: 3.65rem; margin: .62rem 0; padding: .55rem; place-items: center; overflow: hidden; border: 2px solid #45616a; border-radius: .38rem; background: #082d38; color: #d6fff5; text-align: center; }.pos-flow__terminal-screen b { font-size: .54rem; letter-spacing: .05em; animation: pos-waiting 7.2s ease-in-out infinite; }.pos-flow__terminal-screen strong { position: absolute; color: #8dfff3; font-size: .7rem; opacity: 0; animation: pos-approved 7.2s ease-out infinite; }.pos-flow__terminal-screen small { position: absolute; bottom: .4rem; color: #fff; font-size: .55rem; opacity: 0; animation: pos-approved 7.2s ease-out infinite; }.pos-flow__terminal-keys { display: grid; grid-template-columns: repeat(3, 1fr); gap: .26rem; }.pos-flow__terminal-keys i { height: .64rem; border-radius: .2rem; background: #5e7781; }.pos-flow__terminal-keys i:nth-child(3n) { background: #e86e65; }.pos-flow__terminal-keys i:nth-child(3n - 1) { background: #e9bf55; }.pos-flow__terminal-keys i:nth-child(3n - 2) { background: #5fbf77; }
.pos-flow__packet { position: absolute; z-index: 4; left: 11.3rem; top: 7.5rem; display: grid; min-width: 3.45rem; min-height: 1.35rem; padding: .15rem .4rem; place-items: center; border: 1px solid #9dfff5; border-radius: .35rem; background: #e7fffd; color: #075565; font-size: .58rem; font-weight: 900; box-shadow: 0 4px 9px rgba(0,0,0,.18); opacity: 0; }.pos-flow__packet--out { animation: pos-packet-out 7.2s ease-in-out infinite; }.pos-flow__packet--back { left: auto; right: 10.55rem; top: 9.45rem; color: #075944; animation: pos-packet-back 7.2s ease-in-out infinite; }
.pos-flow__card { position: absolute; z-index: 5; right: 1rem; top: -1rem; width: 4.4rem; height: 2.72rem; padding: .48rem; border-radius: .38rem; background: linear-gradient(135deg, #6541d7, #1b2a99); box-shadow: 0 7px 14px rgba(0,0,0,.29); color: #fff; animation: pos-card-tap 7.2s cubic-bezier(.45, 0, .25, 1) infinite; }.pos-flow__card b { font-size: .62rem; font-style: italic; }.pos-flow__card i { position: absolute; bottom: .48rem; left: .5rem; width: .95rem; height: .7rem; border-radius: .15rem; background: #edcd6b; }.pos-flow__card em { position: absolute; right: .55rem; bottom: .48rem; width: 1rem; height: .65rem; border-radius: 50%; background: rgba(255,255,255,.4); }
.pos-flow__contactless { position: absolute; z-index: 4; right: 4.8rem; top: 2.1rem; width: 1.2rem; height: 1.6rem; opacity: 0; animation: pos-contactless 7.2s ease-out infinite; }.pos-flow__contactless i { position: absolute; border: 2px solid #76fff3; border-left: 0; border-top-color: transparent; border-bottom-color: transparent; border-radius: 0 100% 100% 0; }.pos-flow__contactless i:nth-child(1) { inset: .5rem .5rem .5rem 0; }.pos-flow__contactless i:nth-child(2) { inset: .25rem .25rem .25rem 0; }.pos-flow__contactless i:nth-child(3) { inset: 0; }
.pos-flow__result { position: absolute; z-index: 6; left: 50%; bottom: 1.2rem; display: flex; align-items: center; gap: .55rem; padding: .6rem .72rem; border: 1px solid #83fff2; border-radius: .6rem; background: #edfffd; box-shadow: 0 8px 18px rgba(0,0,0,.25); transform: translate(-50%, .65rem) scale(.86); opacity: 0; animation: pos-final-result 7.2s ease-out infinite; }.pos-flow__result > i { display: grid; width: 1.45rem; height: 1.45rem; place-items: center; border-radius: 50%; background: #11ba9f; color: #fff; font-size: .86rem; font-style: normal; font-weight: 900; }.pos-flow__result span { display: grid; gap: .08rem; white-space: nowrap; }.pos-flow__result strong { color: #063a63; font-size: .65rem; }.pos-flow__result small { color: #226078; font-size: .55rem; }
@keyframes pos-packet-out { 0%, 10% { opacity: 0; transform: translateX(0) scale(.75); } 16%, 29% { opacity: 1; transform: translateX(8.9rem) scale(1); } 34%, 100% { opacity: 0; transform: translateX(9.5rem) scale(.8); } } @keyframes pos-card-tap { 0%, 25% { transform: translateY(0) rotate(-5deg); opacity: 0; } 33%, 48% { transform: translate(-2.2rem, 7.7rem) rotate(-5deg); opacity: 1; } 56%, 100% { transform: translate(-2.2rem, 8.3rem) rotate(-5deg); opacity: 0; } } @keyframes pos-contactless { 0%, 33% { opacity: 0; transform: scale(.55); } 40%, 52% { opacity: 1; transform: scale(1); } 58%, 100% { opacity: 0; transform: scale(1.2); } } @keyframes pos-waiting { 0%, 47% { opacity: 1; } 56%, 100% { opacity: 0; } } @keyframes pos-approved { 0%, 50% { opacity: 0; transform: scale(.7); } 60%, 74% { opacity: 1; transform: scale(1); } 82%, 100% { opacity: .8; } } @keyframes pos-packet-back { 0%, 65% { opacity: 0; transform: translateX(0) scale(.75); } 72%, 84% { opacity: 1; transform: translateX(-8.85rem) scale(1); } 91%, 100% { opacity: 0; transform: translateX(-9.35rem) scale(.8); } } @keyframes pos-system-confirm { 0%, 80% { opacity: 0; transform: translateY(.25rem); } 88%, 98% { opacity: 1; transform: translateY(0); } 100% { opacity: .8; } } @keyframes pos-final-result { 0%, 84% { opacity: 0; transform: translate(-50%, .65rem) scale(.86); } 91%, 98% { opacity: 1; transform: translate(-50%, 0) scale(1); } 100% { opacity: .9; transform: translate(-50%, 0) scale(.98); } }
@media (max-width: 900px) { .pos-payment-flow .container { grid-template-columns: 1fr; }.pos-payment-flow__copy { text-align: center; }.pos-payment-flow__copy p { margin-inline: auto; }.pos-payment-flow__steps { max-width: 32rem; margin-inline: auto; text-align: left; }.pos-payment-flow__demo { width: min(100%, 34rem); justify-self: center; } }
@media (max-width: 470px) { .pos-payment-flow { padding: 4rem 0; }.pos-payment-flow__canvas { transform: scale(.82); transform-origin: top left; width: 122%; margin-bottom: -3.4rem; }.pos-payment-flow__topbar strong { font-size: .57rem; } }
@media (prefers-reduced-motion: reduce) { .pos-flow__packet, .pos-flow__card, .pos-flow__contactless, .pos-flow__terminal-screen b, .pos-flow__terminal-screen strong, .pos-flow__terminal-screen small, .pos-flow__system-status, .pos-flow__result { animation: none; }.pos-flow__packet, .pos-flow__card, .pos-flow__contactless, .pos-flow__terminal-screen b { display: none; }.pos-flow__terminal-screen strong, .pos-flow__terminal-screen small, .pos-flow__system-status, .pos-flow__result { opacity: 1; transform: none; } }
/* Revisión responsive global: módulos en móvil y tablet */
@media (max-width: 900px) {
  body:not(.book-mode) .module-hero .container {
    grid-template-columns: minmax(0, 1fr) !important;
    width: min(100% - 2rem, 680px) !important;
  }

  body:not(.book-mode) .module-hero__content {
    width: 100%;
    max-width: 100%;
  }

  body:not(.book-mode) .module-hero .reveal,
  body:not(.book-mode) .module-hero .reveal-left,
  body:not(.book-mode) .module-hero .reveal-right {
    opacity: 1 !important;
    transform: none !important;
  }

  body:not(.book-mode) .module-hero .hero__actions {
    justify-content: center;
    flex-wrap: wrap;
  }

  .paperless-hero,
  .mass-documents__demo,
  .pos-payment-flow__demo {
    min-width: 0;
  }
}

@media (max-width: 480px) {
  body:not(.book-mode) .module-hero { padding: 96px 0 46px; }
  body:not(.book-mode) .module-hero__title { font-size: clamp(2rem, 10vw, 2.5rem); }
  body:not(.book-mode) .module-hero__tagline { font-size: 1.05rem; line-height: 1.45; }
  body:not(.book-mode) .module-hero__description { font-size: .94rem; line-height: 1.6; }
  body:not(.book-mode) .doc-authorization { width: 100%; text-align: left; }
  body:not(.book-mode) .hero__actions .btn { width: 100%; justify-content: center; }
}
/* Barra superior compacta en teléfonos */
@media (max-width: 640px) {
  body:not(.book-mode) .navbar { height: 70px; }
  body:not(.book-mode) .navbar .container {
    flex-direction: row;
    min-height: 70px;
    gap: .65rem;
    padding: 0 1rem;
  }
  body:not(.book-mode) .navbar__logo img,
  body:not(.book-mode) #navLogo {
    width: auto !important;
    max-width: 132px !important;
    height: 32px !important;
    max-height: 32px !important;
  }
  body:not(.book-mode) .navbar__actions { margin-left: auto; gap: .55rem; }
  body:not(.book-mode) .audio-controller,
  body:not(.book-mode) .theme-toggle { min-height: 2.3rem; padding: .45rem .58rem; }
  body:not(.book-mode) .audio-controller .audio-controller__equalizer { display: none; }
}