﻿/* PASTOREAR-2-LANDING-SUPERADMIN-MIGRATION-01
 * Tokens + CSS da landing canônica do SaaS-pastorear, extraídos da home pública.
 * Sem Chart.js, painel WhatsApp hardcoded ou dependência de runtime do source.
 */
:root {
  /* Paleta legado Águas Tranquilas (páginas/componentes públicos ainda dependentes) */
  --pastorear-mist: #F5FAFB;
  --pastorear-sky: #B9E6FF;
  --pastorear-azure: #4B9EDB;
  --pastorear-deep: #1F5B88;
  --pastorear-ink: #143956;
  --pastorear-muted: #5C7690;
  --pastorear-line: #DCEBF2;
  --pastorear-white: #FFFFFF;
  --pastorear-success: #1FA97F;
  --pastorear-success-bg: #E3F7EF;
  --pastorear-warning: #D98C1B;
  --pastorear-warning-bg: #FCF1DE;
  --pastorear-danger: #D8515A;
  --pastorear-danger-bg: #FCE7E8;

  /*
   * PST-WEB-INDEX-01 — Abordagem B (identidade institucional + UI)
   * Laranja institucional existente: #F58220
   * Laranja UI do protótipo: #FF8A00 (CTAs/destaques da landing)
   */
  --pastorear-cream: #FBF8F4;
  --pastorear-navy: #1A2B4A;
  --pastorear-orange: #F58220;
  --pastorear-orange-ui: #FF8A00;
  --pastorear-amber: #FFC145;
  --pastorear-ink-soft: #1B2431;
  --pastorear-border-soft: #ECE6DA;
  --pastorear-success-strong: #059669;

  --pastorear-radius-sm: 9px;
  --pastorear-radius-md: 12px;
  --pastorear-radius-lg: 16px;
  --pastorear-radius-xl: 20px;
  --pastorear-shadow-sm: 0 12px 30px -20px rgba(20, 57, 86, 0.15);
  --pastorear-shadow-md: 0 20px 40px -18px rgba(20, 57, 86, 0.25);
  --pastorear-shadow-card: 0 1px 2px rgba(26, 43, 74, 0.04), 0 24px 48px -16px rgba(26, 43, 74, 0.14);
  --pastorear-transition: 150ms ease;
}

:focus-visible {
  outline: 3px solid rgba(75, 158, 219, 0.32);
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}

.site-btn,
.site-card,
.site-badge,
.site-input,
.site-alert,
.site-modal__panel {
  font-family: 'Inter', system-ui, sans-serif;
}

.site-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  min-height: 46px;
  border: 0;
  border-radius: var(--pastorear-radius-md);
  padding: 13px 24px;
  font-weight: 700;
  cursor: pointer;
  transition: transform var(--pastorear-transition), box-shadow var(--pastorear-transition), background var(--pastorear-transition);
}

.site-btn:hover { transform: translateY(-1px); }
.site-btn:disabled { cursor: not-allowed; opacity: 0.62; transform: none; }
.site-btn--primary { background: var(--pastorear-azure); color: var(--pastorear-white); box-shadow: var(--pastorear-shadow-sm); }
.site-btn--secondary { background: var(--pastorear-ink); color: var(--pastorear-white); }
.site-btn--outline { background: var(--pastorear-white); color: var(--pastorear-ink); border: 1.5px solid var(--pastorear-line); }
.site-btn--ghost { background: transparent; color: var(--pastorear-azure); }
.site-btn--sm { min-height: 38px; padding: 9px 16px; }
.site-btn--lg { min-height: 54px; padding: 15px 28px; }

.site-btn__spinner {
  width: 1rem;
  height: 1rem;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 999px;
  animation: site-spin 0.8s linear infinite;
}

@keyframes site-spin { to { transform: rotate(360deg); } }

.site-card {
  background: var(--pastorear-white);
  border: 1px solid var(--pastorear-line);
  border-radius: var(--pastorear-radius-lg);
  padding: 22px;
  box-shadow: var(--pastorear-shadow-sm);
}

.site-card h3,
.site-section-title h2,
.site-card__price {
  font-family: 'Sora', system-ui, sans-serif;
  color: var(--pastorear-ink);
}

.site-card p,
.site-section-title p {
  color: var(--pastorear-muted);
}

.site-card__icon {
  color: var(--pastorear-deep);
  width: 44px;
  height: 44px;
  display: inline-grid;
  place-items: center;
  border-radius: var(--pastorear-radius-md);
  background: rgba(185, 230, 255, 0.36);
}

.site-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  border-radius: 999px;
  padding: 0.48rem 0.75rem;
  font-size: 0.78rem;
  font-weight: 700;
}

.site-badge--info { background: var(--pastorear-sky); color: var(--pastorear-deep); }
.site-badge--success { background: var(--pastorear-success-bg); color: var(--pastorear-success); }
.site-badge--warning { background: var(--pastorear-warning-bg); color: var(--pastorear-warning); }
.site-badge--danger { background: var(--pastorear-danger-bg); color: var(--pastorear-danger); }

.site-field {
  display: grid;
  gap: 0.45rem;
  color: var(--pastorear-ink);
  font-weight: 600;
}

.site-input {
  width: 100%;
  background: var(--pastorear-white);
  border: 1.5px solid var(--pastorear-line);
  border-radius: 10px;
  padding: 12px 14px;
  color: var(--pastorear-ink);
}

.site-input:focus {
  border-color: var(--pastorear-azure);
  box-shadow: 0 0 0 3px rgba(75, 158, 219, 0.12);
  outline: 0;
}

.site-field__error { color: var(--pastorear-danger); font-size: 0.85rem; }
.site-input[aria-invalid="true"] { border-color: var(--pastorear-danger); }

.site-alert {
  display: flex;
  gap: 0.75rem;
  border-radius: var(--pastorear-radius-lg);
  padding: 1rem;
  border: 1px solid var(--pastorear-line);
}

.site-alert--info { background: rgba(185, 230, 255, 0.35); color: var(--pastorear-deep); }
.site-alert--success { background: var(--pastorear-success-bg); color: var(--pastorear-success); }
.site-alert--warning { background: var(--pastorear-warning-bg); color: var(--pastorear-warning); }
.site-alert--danger { background: var(--pastorear-danger-bg); color: var(--pastorear-danger); }

.site-modal {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: grid;
  place-items: center;
  padding: 1rem;
}

.site-modal[hidden] { display: none; }
.site-modal__overlay { position: absolute; inset: 0; background: rgba(20, 57, 86, 0.75); }
.site-modal__panel {
  position: relative;
  width: min(100%, 560px);
  background: var(--pastorear-white);
  border-radius: 18px;
  padding: 28px;
  box-shadow: var(--pastorear-shadow-md);
}

.site-modal__close {
  position: absolute;
  top: 1rem;
  right: 1rem;
  border: 0;
  background: transparent;
  color: var(--pastorear-ink);
  cursor: pointer;
}

    :root {
      /* PST-WEB-INDEX-01 — Abordagem B: institucional #F58220 + UI #FF8A00 */
      --landing-navy: var(--pastorear-navy);
      --landing-navy-soft: #243652;
      --landing-gold: var(--pastorear-orange-ui);
      --landing-gold-strong: var(--pastorear-orange);
      --landing-gold-soft: rgba(255, 138, 0, 0.12);
      --landing-amber: var(--pastorear-amber);
      --landing-bg: var(--pastorear-cream);
      --landing-bg-soft: #F7F1E8;
      --landing-card: #FFFFFF;
      --landing-text: var(--pastorear-ink-soft);
      --landing-muted: rgba(27, 36, 49, 0.62);
      --landing-line: var(--pastorear-border-soft);
      --landing-shadow: var(--pastorear-shadow-card);
      --landing-shadow-soft: 0 1px 2px rgba(26, 43, 74, 0.04), 0 16px 32px -18px rgba(26, 43, 74, 0.12);
      --landing-radius: 28px;
      --landing-radius-md: 20px;
      --landing-radius-sm: 16px;
      --landing-font-display: 'Poppins', 'Poppins Fallback', sans-serif;
      --landing-font-body: 'Inter', 'Inter Fallback', sans-serif;
    }

    * {
      box-sizing: border-box;
    }

    html {
      scroll-behavior: smooth;
    }

    body {
      margin: 0;
      font-family: var(--landing-font-body);
      color: var(--landing-text);
      background:
        radial-gradient(circle at 86% 8%, rgba(255, 193, 69, 0.28), transparent 24%),
        radial-gradient(circle at 18% 18%, rgba(255, 138, 0, 0.12), transparent 28%),
        linear-gradient(180deg, var(--pastorear-cream) 0%, #FFFFFF 48%, #F7F1E8 100%);
      overflow-x: hidden;
    }

    img {
      max-width: 100%;
      display: block;
    }

    a {
      color: inherit;
      text-decoration: none;
    }

    .container {
      width: min(1200px, calc(100% - 32px));
      margin: 0 auto;
    }

    .landing-shell {
      position: relative;
      overflow: hidden;
    }

    .landing-navbar {
      position: fixed;
      inset: 0 0 auto;
      z-index: 9999;
      background: rgba(251, 248, 244, 0.72);
      backdrop-filter: blur(14px);
      -webkit-backdrop-filter: blur(14px);
      border-bottom: 1px solid var(--landing-line);
      transition: box-shadow .22s ease, background .22s ease;
    }

    .landing-navbar.is-scrolled {
      box-shadow: 0 18px 36px rgba(26, 43, 74, 0.08);
      background: rgba(251, 248, 244, 0.92);
    }

    .landing-navbar__inner {
      min-height: 78px;
      display: grid;
      grid-template-columns: auto minmax(0, 1fr) auto;
      align-items: center;
      gap: 1rem;
    }

    .landing-brand {
      display: inline-flex;
      align-items: center;
      gap: .7rem;
      font-family: var(--landing-font-display);
      font-size: 1.34rem;
      font-weight: 700;
      color: var(--landing-text);
      letter-spacing: -.03em;
      flex-shrink: 0;
      white-space: nowrap;
    }

    .landing-brand img {
      width: 44px;
      height: 44px;
      object-fit: contain;
      border-radius: 12px;
      background: rgba(255, 255, 255, .96);
      padding: .32rem;
      box-shadow: 0 14px 28px rgba(15, 29, 63, 0.12);
    }

    .landing-nav {
      display: flex;
      align-items: center;
      gap: .9rem;
      flex-wrap: nowrap;
      justify-content: flex-start;
      min-width: 0;
      overflow: hidden;
      padding-left: .85rem;
    }

    .landing-nav a {
      color: var(--landing-muted);
      font-size: .86rem;
      font-weight: 700;
      transition: color .2s ease;
      white-space: nowrap;
    }

    .landing-nav a:hover {
      color: var(--landing-gold-strong);
    }

    .landing-actions {
      display: flex;
      align-items: center;
      gap: .5rem;
      flex-wrap: nowrap;
      justify-content: flex-end;
      flex-shrink: 0;
    }

    .landing-menu-toggle {
      display: none;
      align-items: center;
      justify-content: center;
      width: 44px;
      height: 44px;
      border-radius: 14px;
      border: 1px solid var(--landing-line);
      background: rgba(255, 255, 255, 0.88);
      color: var(--landing-navy);
      cursor: pointer;
      flex-shrink: 0;
      transition: background .2s ease, border-color .2s ease, color .2s ease;
    }

    .landing-menu-toggle:hover,
    .landing-menu-toggle:focus-visible {
      background: #FFFFFF;
      border-color: rgba(26, 43, 74, 0.22);
      color: var(--pastorear-orange);
    }

    .landing-menu-toggle i {
      font-size: 1.35rem;
      line-height: 1;
    }

    .landing-mobile-panel {
      display: none;
      position: fixed;
      inset: 78px 12px auto;
      z-index: 9998;
      padding: 1rem;
      border-radius: 22px;
      border: 1px solid var(--landing-line);
      background: rgba(251, 248, 244, 0.96);
      backdrop-filter: blur(16px);
      -webkit-backdrop-filter: blur(16px);
      box-shadow: var(--pastorear-shadow-card);
      max-height: calc(100vh - 100px);
      overflow: auto;
    }

    .landing-mobile-panel.is-open {
      display: grid;
      gap: .35rem;
    }

    .landing-mobile-panel a {
      display: flex;
      align-items: center;
      gap: .7rem;
      min-height: 44px;
      padding: .7rem .85rem;
      border-radius: 14px;
      color: var(--landing-text);
      font-weight: 600;
      font-size: .95rem;
    }

    .landing-mobile-panel a:hover,
    .landing-mobile-panel a:focus-visible {
      background: rgba(255, 255, 255, 0.9);
      color: var(--pastorear-orange);
    }

    .landing-mobile-panel__actions {
      display: grid;
      gap: .55rem;
      margin-top: .55rem;
      padding-top: .75rem;
      border-top: 1px solid var(--landing-line);
    }

    .landing-mobile-panel__actions .landing-btn,
    .landing-mobile-panel__actions .landing-btn-outline,
    .landing-mobile-panel__actions .landing-btn-ghost {
      width: 100%;
    }

    .pastorear-glow {
      position: absolute;
      border-radius: 9999px;
      filter: blur(90px);
      pointer-events: none;
      z-index: 0;
    }

    .landing-label-short {
      display: none;
    }

    .landing-label-icon {
      display: none;
    }

    .landing-btn,
    .landing-btn-outline,
    .landing-btn-ghost {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: .6rem;
      border-radius: 999px;
      padding: .72rem 1.2rem;
      font-size: .9rem;
      font-weight: 600;
      text-decoration: none;
      transition: transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease;
      white-space: nowrap;
    }

    .landing-btn {
      background: var(--landing-gold);
      color: #fff;
      box-shadow: 0 12px 28px -14px rgba(245, 130, 32, 0.55);
    }

    .landing-btn:hover {
      background: var(--landing-gold-strong);
      color: #fff;
    }

    .landing-btn:hover,
    .landing-btn-outline:hover,
    .landing-btn-ghost:hover {
      transform: translateY(-2px);
    }

    .landing-btn-outline {
      border: 1.5px solid rgba(26, 43, 74, 0.15);
      color: var(--landing-navy);
      background: rgba(255, 255, 255, 0.82);
      box-shadow: 0 10px 24px rgba(26, 43, 74, 0.05);
    }

    .landing-btn-partner {
      min-width: 136px;
      border: 1.5px solid rgba(26, 43, 74, 0.12);
      color: var(--landing-navy);
      background: rgba(255, 255, 255, 0.82);
      box-shadow: 0 10px 24px rgba(26, 43, 74, 0.05);
      text-align: center;
    }

    .landing-btn-partner span {
      display: inline-block;
      text-align: center;
      line-height: 1.1;
    }

    .landing-btn-partner .landing-label-short {
      display: none !important;
    }

    .landing-btn-partner i {
      color: var(--landing-gold-strong);
    }

    .landing-btn-ghost {
      border: 1px solid rgba(26, 43, 74, 0.1);
      background: rgba(255, 255, 255, 0.76);
      color: var(--landing-navy);
      box-shadow: 0 10px 24px rgba(26, 43, 74, 0.05);
    }

    .landing-main {
      padding-top: 92px;
    }

    .landing-badge {
      display: inline-flex;
      align-items: center;
      gap: .55rem;
      padding: .62rem 1rem;
      border-radius: 999px;
      background: #FFFFFF;
      color: var(--landing-navy);
      border: 1px solid var(--landing-line);
      box-shadow: var(--landing-shadow-soft);
      font-size: .78rem;
      font-weight: 700;
      letter-spacing: .04em;
      text-transform: uppercase;
    }

    .landing-badge i {
      font-size: 1rem;
    }

    .landing-section {
      padding: 5rem 0;
    }

    .landing-section--tight {
      padding-top: 3.4rem;
    }

    .landing-section-title {
      font-family: var(--landing-font-display);
      font-size: clamp(2rem, 3vw, 2.7rem);
      line-height: 1.15;
      letter-spacing: -.03em;
      color: var(--landing-text);
      margin: 1rem 0;
      font-weight: 700;
    }

    .landing-section-lead {
      color: var(--landing-muted);
      font-size: 1.05rem;
      line-height: 1.85;
      max-width: 42rem;
      margin: 0;
    }

    .landing-hero {
      padding: 2.6rem 0 4.5rem;
      position: relative;
      overflow: hidden;
    }

    .landing-hero::before,
    .landing-hero::after {
      content: '';
      position: absolute;
      border-radius: 9999px;
      filter: blur(90px);
      z-index: 0;
      pointer-events: none;
    }

    .landing-hero::before {
      width: 520px;
      height: 520px;
      background: rgba(255, 193, 69, 0.25);
      top: -160px;
      right: 6%;
    }

    .landing-hero::after {
      width: 420px;
      height: 420px;
      background: rgba(255, 138, 0, 0.15);
      top: 220px;
      right: 26%;
    }

    .landing-hero__grid {
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(440px, 1.02fr);
      gap: 2rem;
      align-items: center;
    }

    .landing-hero__copy {
      position: relative;
      z-index: 1;
    }

    .landing-hero__title {
      font-family: var(--landing-font-display);
      font-size: clamp(2.4rem, 4.6vw, 3.5rem);
      line-height: 1.08;
      letter-spacing: -.03em;
      color: var(--landing-text);
      margin: 1rem 0 1.2rem;
      font-weight: 700;
      text-wrap: balance;
    }

    .landing-hero__title span {
      color: var(--landing-gold);
    }

    .landing-hero__lead {
      color: var(--landing-muted);
      font-size: 1.06rem;
      line-height: 1.9;
      max-width: 40rem;
      margin-bottom: 1.6rem;
    }

    .landing-hero__actions {
      display: flex;
      flex-wrap: wrap;
      align-items: stretch;
      gap: .85rem;
      margin-bottom: 1.45rem;
    }

    .landing-hero__actions .landing-btn,
    .landing-hero__actions .landing-btn-ghost,
    .landing-hero__actions .landing-btn-outline {
      min-height: 3.15em;
      box-sizing: border-box;
    }

    .landing-seals {
      display: flex;
      flex-wrap: wrap;
      gap: .7rem;
    }

    .landing-seal {
      display: inline-flex;
      align-items: center;
      gap: .45rem;
      padding: .62rem .9rem;
      border-radius: 999px;
      border: 1px solid rgba(15, 29, 63, 0.08);
      background: rgba(255, 255, 255, 0.76);
      color: var(--landing-navy-soft);
      font-size: .9rem;
      font-weight: 700;
      box-shadow: 0 10px 24px rgba(15, 29, 63, 0.05);
    }

    .landing-seal i {
      color: var(--landing-gold);
      font-size: 1rem;
    }

    .landing-hero__visual {
      --hero-x: 0;
      --hero-y: 0;
      position: relative;
      isolation: isolate;
      min-height: 620px;
    }

    .landing-hero__ambient-glow {
      position: absolute;
      inset: 6% 4% auto auto;
      width: 78%;
      height: 72%;
      pointer-events: none;
      z-index: 0;
      border-radius: 50%;
      background: radial-gradient(circle at 58% 42%, rgba(255, 193, 69, 0.22), rgba(255, 138, 0, 0.08) 46%, transparent 72%);
      filter: blur(28px);
      transform: translate3d(calc(var(--hero-x) * 10px), calc(var(--hero-y) * 10px), 0);
      animation: hero-glow-drift 20s ease-in-out infinite;
    }

    .landing-device-card {
      position: relative;
      z-index: 1;
      border-radius: 36px;
      background: rgba(255, 255, 255, 0.88);
      border: 1px solid rgba(255, 255, 255, 0.74);
      box-shadow: var(--landing-shadow);
      padding: 1.6rem;
      backdrop-filter: blur(16px);
      overflow: hidden;
      animation:
        hero-dash-enter .7s ease-out both,
        hero-dash-float 8s ease-in-out .7s infinite;
    }

    .landing-device-card::before {
      content: '';
      position: absolute;
      inset: 0;
      background:
        radial-gradient(circle at top right, rgba(255, 138, 0, 0.14), transparent 26%),
        linear-gradient(180deg, rgba(251, 248, 244, 0.65) 0%, rgba(255, 255, 255, 0) 100%);
      pointer-events: none;
    }

    .landing-device-card__top {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 1rem;
      margin-bottom: 1rem;
      position: relative;
      z-index: 1;
    }

    .landing-device-card__tag {
      display: inline-flex;
      align-items: center;
      gap: .4rem;
      padding: .45rem .75rem;
      border-radius: 999px;
      background: rgba(26, 43, 74, 0.05);
      color: var(--landing-text);
      font-size: .78rem;
      font-weight: 700;
    }

    .landing-live {
      display: inline-flex;
      align-items: center;
      gap: .45rem;
      color: var(--pastorear-success-strong);
      font-size: .82rem;
      font-weight: 700;
    }

    .landing-live__dot {
      position: relative;
      width: 8px;
      height: 8px;
      flex-shrink: 0;
      border-radius: 50%;
      background: #10B981;
      box-shadow: 0 0 0 6px rgba(16, 185, 129, 0.16);
    }

    .landing-live__dot::after {
      content: '';
      position: absolute;
      inset: 0;
      border-radius: 50%;
      background: #10B981;
      animation: hero-live-pulse 2.4s ease-out infinite;
    }

    .landing-device-card__image-wrap {
      position: relative;
      z-index: 1;
      border-radius: 30px;
      background: linear-gradient(180deg, #f5f8ff 0%, #fff 100%);
      padding: 1rem;
      box-shadow: inset 0 0 0 1px rgba(15, 29, 63, 0.05);
    }

    .landing-device-card__image-wrap img {
      width: 100%;
      border-radius: 22px;
      object-fit: cover;
    }

    .landing-floating-image {
      position: absolute;
      width: clamp(220px, 34vw, 360px);
      height: auto;
      aspect-ratio: 800 / 655;
      right: -1rem;
      bottom: -1.2rem;
      filter: drop-shadow(0 28px 40px rgba(15, 29, 63, 0.16));
      z-index: 3;
      animation:
        hero-devices-enter .72s ease-out .18s both,
        hero-devices-float 11s ease-in-out .9s infinite;
    }

    .landing-float-card {
      position: absolute;
      display: flex;
      align-items: center;
      gap: .85rem;
      padding: 1rem 1.1rem;
      border-radius: 22px;
      background: rgba(255, 255, 255, 0.96);
      border: 1px solid rgba(15, 29, 63, 0.08);
      box-shadow: 0 18px 34px rgba(15, 29, 63, 0.14);
      min-width: 220px;
      z-index: 4;
      backdrop-filter: blur(14px);
      transition: box-shadow .35s ease;
    }

    .landing-float-card__lift {
      display: flex;
      align-items: center;
      gap: .85rem;
      width: 100%;
      transition: transform .35s ease;
    }

    .landing-float-card--members {
      left: -1rem;
      top: 4.5rem;
      animation:
        hero-members-enter .7s ease-out .1s both,
        hero-members-float 6s ease-in-out .8s infinite;
    }

    .landing-float-card--security {
      right: -1.25rem;
      bottom: 4.5rem;
      animation:
        hero-security-enter .7s ease-out .26s both,
        hero-security-float 8.5s ease-in-out -.8s infinite;
    }

    .landing-float-card--members .landing-float-card__icon {
      animation: hero-members-icon 5.2s ease-in-out 1.4s infinite;
    }

    @media (hover: hover) and (pointer: fine) {
      .landing-float-card:hover {
        box-shadow: 0 22px 40px rgba(15, 29, 63, 0.18);
      }

      .landing-float-card:hover .landing-float-card__lift {
        transform: translateY(-3px);
      }
    }

    .landing-float-card__icon {
      width: 52px;
      height: 52px;
      flex-shrink: 0;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border-radius: 18px;
      background: rgba(212, 154, 37, 0.12);
      color: var(--landing-gold-strong);
      font-size: 1.35rem;
    }

    .landing-float-card__value {
      display: block;
      color: var(--landing-navy);
      font-size: 1.15rem;
      font-weight: 800;
      line-height: 1.2;
    }

    .landing-float-card__label {
      display: block;
      margin-top: .2rem;
      color: var(--landing-muted);
      font-size: .92rem;
      line-height: 1.4;
    }

    @keyframes hero-dash-enter {
      from { opacity: 0; transform: translate3d(calc(var(--hero-x) * 3px), calc(var(--hero-y) * 3px + 16px), 0); }
      to { opacity: 1; transform: translate3d(calc(var(--hero-x) * 3px), calc(var(--hero-y) * 3px), 0); }
    }

    @keyframes hero-dash-float {
      0%, 100% { transform: translate3d(calc(var(--hero-x) * 3px), calc(var(--hero-y) * 3px), 0) rotate(-0.12deg); }
      50% { transform: translate3d(calc(var(--hero-x) * 3px), calc(var(--hero-y) * 3px - 6px), 0) rotate(0.12deg); }
    }

    @keyframes hero-members-enter {
      from { opacity: 0; transform: translate3d(calc(var(--hero-x) * 8px), calc(var(--hero-y) * 8px + 20px), 0); }
      to { opacity: 1; transform: translate3d(calc(var(--hero-x) * 8px), calc(var(--hero-y) * 8px), 0); }
    }

    @keyframes hero-members-float {
      0%, 100% { transform: translate3d(calc(var(--hero-x) * 8px), calc(var(--hero-y) * 8px), 0); box-shadow: 0 18px 34px rgba(15, 29, 63, 0.14); }
      50% { transform: translate3d(calc(var(--hero-x) * 8px + 5px), calc(var(--hero-y) * 8px - 8px), 0); box-shadow: 0 22px 38px rgba(15, 29, 63, 0.16); }
    }

    @keyframes hero-security-enter {
      from { opacity: 0; transform: translate3d(calc(var(--hero-x) * 6px), calc(var(--hero-y) * 6px + 20px), 0); }
      to { opacity: 1; transform: translate3d(calc(var(--hero-x) * 6px), calc(var(--hero-y) * 6px), 0); }
    }

    @keyframes hero-security-float {
      0%, 100% { transform: translate3d(calc(var(--hero-x) * 6px), calc(var(--hero-y) * 6px), 0); }
      50% { transform: translate3d(calc(var(--hero-x) * 6px - 4px), calc(var(--hero-y) * 6px - 6px), 0); }
    }

    @keyframes hero-devices-enter {
      from { opacity: 0; transform: translate3d(calc(var(--hero-x) * 4px), calc(var(--hero-y) * 4px + 24px), 0); }
      to { opacity: 1; transform: translate3d(calc(var(--hero-x) * 4px), calc(var(--hero-y) * 4px), 0); }
    }

    @keyframes hero-devices-float {
      0%, 100% { transform: translate3d(calc(var(--hero-x) * 4px), calc(var(--hero-y) * 4px), 0); }
      50% { transform: translate3d(calc(var(--hero-x) * 4px + 2px), calc(var(--hero-y) * 4px - 4px), 0); }
    }

    @keyframes hero-glow-drift {
      0%, 100% { transform: translate3d(calc(var(--hero-x) * 10px), calc(var(--hero-y) * 10px), 0) scale(1); }
      50% { transform: translate3d(calc(var(--hero-x) * 10px + 8px), calc(var(--hero-y) * 10px - 6px), 0) scale(1.04); }
    }

    @keyframes hero-live-pulse {
      0% { transform: scale(.8); opacity: .55; }
      100% { transform: scale(1.8); opacity: 0; }
    }

    @keyframes hero-members-icon {
      0%, 100% { transform: scale(1); }
      50% { transform: scale(1.05); }
    }

    .landing-capability-strip {
      padding: .4rem 0 1.4rem;
    }

    .landing-capability-strip__inner {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: center;
      gap: .7rem;
    }

    .landing-capability-chip {
      display: inline-flex;
      align-items: center;
      gap: .45rem;
      padding: .55rem 1rem;
      border-radius: 999px;
      background: #FFFFFF;
      border: 1px solid var(--landing-line);
      color: var(--landing-navy);
      font-size: .86rem;
      font-weight: 500;
      box-shadow: var(--landing-shadow-soft);
      white-space: nowrap;
    }

    .landing-capability-chip i {
      color: var(--landing-gold-strong);
      font-size: 1rem;
    }

    /* legado: ticker navy (mantido para não quebrar classes residuais) */
    .landing-feature-strip { display: none; }

    .landing-solution {
      text-align: center;
    }

    .landing-solution__grid {
      margin-top: 2rem;
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 1.25rem;
    }

    .landing-solution-card,
    .landing-reason-card,
    .landing-proof-card,
    .landing-plan-card,
    .landing-faq-item {
      border-radius: 1.1rem;
      background: var(--landing-card);
      border: 1px solid var(--landing-line);
      box-shadow: var(--landing-shadow-soft);
      transition: transform .2s ease, box-shadow .2s ease;
    }

    .landing-solution-card:hover,
    .landing-reason-card:hover,
    .landing-proof-card:hover,
    .landing-plan-card:hover {
      transform: translateY(-4px);
      box-shadow: var(--landing-shadow);
    }

    .landing-solution-card {
      padding: 2rem;
      text-align: left;
    }

    .landing-solution-card__icon,
    .landing-reason-card__icon {
      width: 44px;
      height: 44px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border-radius: 12px;
      background: rgba(255, 138, 0, 0.1);
      color: var(--landing-gold-strong);
      font-size: 1.2rem;
      margin-bottom: 1.1rem;
    }

    .landing-solution-card:nth-child(2) .landing-solution-card__icon {
      background: rgba(26, 43, 74, 0.08);
      color: var(--landing-navy);
    }

    .landing-solution-card:nth-child(3) .landing-solution-card__icon {
      background: rgba(255, 193, 69, 0.22);
      color: #B87400;
    }

    .landing-solution-card h3,
    .landing-reason-card h3,
    .landing-module-copy h3,
    .landing-proof-visual h3,
    .landing-faq-copy h3 {
      margin: 0 0 .7rem;
      color: var(--landing-text);
      font-family: var(--landing-font-display);
      font-size: 1.1rem;
      font-weight: 600;
    }

    .landing-solution-card p,
    .landing-reason-card p,
    .landing-module-copy p,
    .landing-proof-visual p,
    .landing-proof-card p,
    .landing-plan-card p,
    .landing-faq-answer {
      margin: 0;
      color: var(--landing-muted);
      line-height: 1.75;
    }

    .landing-modules {
      display: grid;
      gap: 1.7rem;
    }

    .landing-module {
      display: grid;
      grid-template-columns: minmax(0, .96fr) minmax(0, 1.04fr);
      gap: 1.5rem;
      align-items: center;
      padding: 1.45rem;
      border-radius: 32px;
      background: rgba(255, 255, 255, 0.8);
      border: 1px solid rgba(255, 255, 255, 0.84);
      box-shadow: var(--landing-shadow-soft);
    }

    .landing-module--reverse {
      grid-template-columns: minmax(0, 1.04fr) minmax(0, .96fr);
    }

    .landing-module--reverse .landing-module-media {
      order: 2;
    }

    .landing-module--reverse .landing-module-copy {
      order: 1;
    }

    .landing-module-media {
      position: relative;
      border-radius: 28px;
      background:
        radial-gradient(circle at top right, rgba(212, 154, 37, 0.18), transparent 22%),
        linear-gradient(180deg, #fff9ef 0%, #fff 100%);
      box-shadow: inset 0 0 0 1px rgba(15, 29, 63, 0.05);
      padding: 1.1rem;
      min-height: 320px;
      display: flex;
      align-items: center;
      justify-content: center;
      overflow: hidden;
    }

    .landing-module-media img {
      width: 100%;
      height: 100%;
      max-height: 420px;
      object-fit: cover;
      border-radius: 22px;
      box-shadow: 0 18px 34px rgba(15, 29, 63, 0.1);
    }

    .landing-module-media--contain img {
      object-fit: contain;
      background: #fff;
      padding: .8rem;
    }

    .protected-media,
    .protected-media * {
      position: relative;
      user-select: none;
      -webkit-user-select: none;
      -moz-user-select: none;
      -webkit-user-drag: none;
      -webkit-touch-callout: none;
      pointer-events: auto;
      overflow: hidden;
    }

    .protected-media-bg {
      position: absolute;
      inset: 0;
      background-size: cover;
      background-position: center;
      background-repeat: no-repeat;
      pointer-events: none;
    }

    .protected-image {
      position: relative;
      width: 100%;
      height: 100%;
      min-height: 300px;
      border-radius: 22px;
      background-color: rgba(255, 255, 255, 0.72);
      background-size: contain;
      background-position: center;
      background-repeat: no-repeat;
      box-shadow: 0 18px 34px rgba(15, 29, 63, 0.1);
      overflow: hidden;
      pointer-events: none;
    }

    .protected-image::before {
      content: "";
      position: absolute;
      inset: 0;
      z-index: 1;
      pointer-events: none;
      background:
        repeating-linear-gradient(
          -32deg,
          rgba(255,255,255,0) 0 26px,
          rgba(255,255,255,0.08) 26px 28px,
          rgba(255,255,255,0) 28px 54px
        );
      mix-blend-mode: soft-light;
    }

    .protected-image::after {
      content: "Pastorear Sistemas   Pastorear Sistemas   Pastorear Sistemas";
      position: absolute;
      left: -18%;
      right: -18%;
      top: 48%;
      z-index: 2;
      transform: rotate(-24deg);
      color: rgba(15, 29, 63, 0.10);
      font-size: clamp(.74rem, 1.6vw, 1rem);
      font-weight: 800;
      letter-spacing: .18em;
      text-align: center;
      white-space: nowrap;
      text-transform: uppercase;
      pointer-events: none;
    }

    .landing-module-copy {
      padding: .4rem;
    }

    .landing-module-copy ul {
      list-style: none;
      padding: 0;
      margin: 1rem 0 0;
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: .7rem 1rem;
    }

    .landing-module-copy li {
      display: flex;
      align-items: flex-start;
      gap: .55rem;
      color: var(--landing-navy-soft);
      font-weight: 700;
      line-height: 1.55;
    }

    .landing-module-copy li i {
      color: var(--landing-gold);
      font-size: 1rem;
      margin-top: .12rem;
    }

    .landing-module-copy__cta {
      margin-top: 1.2rem;
    }

    .landing-doc-stack {
      position: relative;
      width: 100%;
      min-height: 320px;
    }

    .landing-doc-stack__card {
      position: absolute;
      width: clamp(190px, 38vw, 280px);
      border-radius: 24px;
      background: #fff;
      box-shadow: 0 18px 36px rgba(15, 29, 63, 0.14);
      overflow: hidden;
      border: 1px solid rgba(15, 29, 63, 0.06);
    }

    .landing-doc-stack__card img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

    .landing-doc-stack__card .protected-image {
      min-height: 220px;
      border-radius: 0;
      box-shadow: none;
    }

    .landing-doc-stack__card--front {
      top: 0;
      left: 0;
      transform: rotate(-4deg);
    }

    .landing-doc-stack__card--back {
      right: 0;
      bottom: 0;
      transform: rotate(5deg);
    }

    .landing-reasons-grid {
      margin-top: 2rem;
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 1.25rem;
    }

    .landing-reason-card {
      padding: 1.45rem;
    }

    .landing-proof {
      display: grid;
      grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
      gap: 1.5rem;
      align-items: stretch;
    }

    .landing-proof-copy {
      display: flex;
      flex-direction: column;
      gap: 1.25rem;
    }

    .landing-proof-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 1rem;
    }

    .landing-proof-card {
      padding: 1.15rem;
    }

    .landing-proof-card strong {
      display: block;
      font-size: 1.45rem;
      color: var(--landing-navy);
      margin-bottom: .35rem;
    }

    .landing-proof-visual {
      border-radius: 32px;
      background:
        radial-gradient(circle at top right, rgba(212, 154, 37, 0.18), transparent 26%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.92) 0%, rgba(255, 255, 255, 0.82) 100%);
      border: 1px solid rgba(255, 255, 255, 0.86);
      box-shadow: var(--landing-shadow);
      padding: 1.45rem;
      display: grid;
      gap: 1rem;
    }

    .landing-proof-visual__top {
      display: flex;
      justify-content: space-between;
      gap: 1rem;
      align-items: center;
    }

    .landing-proof-visual__stats {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: .85rem;
    }

    .landing-proof-visual__stat {
      border-radius: 18px;
      background: rgba(255, 255, 255, 0.76);
      border: 1px solid rgba(15, 29, 63, 0.08);
      padding: .95rem;
    }

    .landing-proof-visual__stat span {
      display: block;
      color: var(--landing-muted);
      font-size: .72rem;
      font-weight: 800;
      letter-spacing: .08em;
      text-transform: uppercase;
      margin-bottom: .35rem;
    }

    .landing-proof-visual__stat strong {
      display: block;
      color: var(--landing-navy);
      font-size: 1.4rem;
      font-weight: 800;
    }

    .landing-proof-visual__body {
      display: grid;
      grid-template-columns: minmax(0, 1.1fr) minmax(280px, .9fr);
      gap: 1rem;
      align-items: stretch;
    }

    .landing-chart-card,
    .landing-proof-image-card {
      border-radius: 24px;
      background: rgba(255, 255, 255, 0.82);
      border: 1px solid rgba(15, 29, 63, 0.08);
      padding: 1rem;
      box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.6);
    }

    .landing-chart-card h4,
    .landing-proof-image-card h4 {
      margin: 0 0 .3rem;
      font-size: 1rem;
      color: var(--landing-navy);
    }

    .landing-chart-card p,
    .landing-proof-image-card p {
      margin-bottom: .85rem;
      font-size: .9rem;
      color: var(--landing-muted);
    }

    .landing-proof-image-card img {
      width: 100%;
      border-radius: 18px;
      object-fit: cover;
      background: #fff;
    }

    .landing-stats-strip {
      margin-top: 2rem;
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 1rem;
      padding: 1.2rem;
      border-radius: 30px;
      background: linear-gradient(135deg, var(--landing-gold) 0%, #e7b855 100%);
      box-shadow: 0 22px 42px rgba(212, 154, 37, 0.22);
    }

    .landing-stats-strip__item {
      text-align: center;
      color: #fff;
    }

    .landing-stats-strip__item strong {
      display: block;
      font-size: 1.55rem;
      font-weight: 800;
      margin-bottom: .2rem;
    }

    .landing-stats-strip__item span {
      font-size: .88rem;
      font-weight: 700;
      opacity: .92;
    }

    .landing-plans {
      text-align: center;
    }

    .landing-plans__grid {
      margin-top: 2rem;
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 1.1rem;
    }

    .landing-plan-card {
      padding: 1.5rem;
      text-align: left;
      position: relative;
      overflow: hidden;
    }

    .landing-plan-card--featured {
      background:
        radial-gradient(circle at top right, rgba(212, 154, 37, 0.22), transparent 24%),
        linear-gradient(180deg, #14234c 0%, #0f1d3f 100%);
      color: rgba(255, 255, 255, 0.9);
    }

    .landing-plan-card--featured h3,
    .landing-plan-card--featured .landing-plan-card__price,
    .landing-plan-card--featured .landing-plan-card__price small {
      color: #fff;
    }

    .landing-plan-card__flag {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: .45rem .8rem;
      border-radius: 999px;
      background: rgba(212, 154, 37, 0.16);
      color: var(--landing-gold-strong);
      font-size: .76rem;
      font-weight: 800;
      margin-bottom: .8rem;
    }

    .landing-plan-card--featured .landing-plan-card__flag {
      background: rgba(255, 255, 255, 0.14);
      color: #fff;
    }

    .landing-plan-card h3 {
      margin: 0 0 .45rem;
      color: var(--landing-navy);
      font-size: 1.15rem;
    }

    .landing-plan-card__price {
      color: var(--landing-navy);
      font-size: 2rem;
      font-weight: 800;
      line-height: 1;
      margin-bottom: .25rem;
    }

    .landing-plan-card__price small {
      font-size: .95rem;
      color: var(--landing-muted);
      font-weight: 700;
    }

    .landing-plan-card ul {
      list-style: none;
      padding: 0;
      margin: 1rem 0 1.3rem;
      display: grid;
      gap: .65rem;
    }

    .landing-plan-card li {
      display: flex;
      align-items: flex-start;
      gap: .55rem;
      line-height: 1.55;
      font-size: .95rem;
    }

    .landing-plan-card li i {
      color: var(--landing-gold);
      margin-top: .12rem;
    }

    .landing-plan-card--featured li i {
      color: #ffd57c;
    }

    .landing-addon-card {
      padding: 2rem;
      border-radius: 34px;
      background:
        radial-gradient(circle at top right, rgba(37, 211, 102, 0.16), transparent 22%),
        radial-gradient(circle at bottom left, rgba(212, 154, 37, 0.14), transparent 24%),
        linear-gradient(135deg, #14234c 0%, #102047 55%, #0f1d3f 100%);
      color: rgba(255, 255, 255, 0.86);
      box-shadow: var(--landing-shadow);
      border: 1px solid rgba(255, 255, 255, 0.08);
    }

    .landing-addon-card__grid {
      display: grid;
      grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr);
      gap: 1.5rem;
      align-items: center;
    }

    .landing-addon-card h3 {
      margin: .95rem 0 .7rem;
      font-family: var(--landing-font-display);
      font-size: clamp(1.85rem, 3vw, 3rem);
      line-height: 1.02;
      letter-spacing: -.05em;
      color: #fff;
    }

    .landing-addon-card p {
      margin: 0;
      line-height: 1.8;
      color: rgba(255, 255, 255, 0.74);
    }

    .landing-addon-card__pricing {
      margin-top: 1.3rem;
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: .9rem;
    }

    .landing-addon-price-box {
      padding: 1rem 1rem 1.05rem;
      border-radius: 20px;
      background: rgba(255, 255, 255, 0.08);
      border: 1px solid rgba(255, 255, 255, 0.1);
      backdrop-filter: blur(10px);
    }

    .landing-addon-price-box span {
      display: block;
      font-size: .78rem;
      font-weight: 800;
      letter-spacing: .06em;
      text-transform: uppercase;
      color: rgba(255, 255, 255, 0.58);
      margin-bottom: .45rem;
    }

    .landing-addon-price-box strong {
      display: block;
      font-size: 1.7rem;
      line-height: 1.05;
      color: #fff;
    }

    .landing-addon-price-box small {
      display: block;
      margin-top: .35rem;
      color: rgba(255, 255, 255, 0.7);
      line-height: 1.5;
    }

    .landing-addon-price-box--highlight {
      background: linear-gradient(135deg, rgba(212, 154, 37, 0.16) 0%, rgba(37, 211, 102, 0.14) 100%);
    }

    .landing-addon-card__list {
      margin: 1.3rem 0 0;
      padding: 0;
      list-style: none;
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: .75rem .9rem;
    }

    .landing-addon-card__list li {
      display: flex;
      align-items: flex-start;
      gap: .6rem;
      color: rgba(255, 255, 255, 0.88);
      line-height: 1.55;
      font-weight: 700;
    }

    .landing-addon-card__list li i {
      color: #7ae582;
      margin-top: .1rem;
    }

    .landing-addon-card__aside {
      padding: 1.3rem;
      border-radius: 26px;
      background: rgba(255, 255, 255, 0.08);
      border: 1px solid rgba(255, 255, 255, 0.1);
      box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.03);
    }

    .landing-addon-card__proof {
      display: inline-flex;
      align-items: center;
      gap: .7rem;
      padding: .8rem 1rem;
      border-radius: 999px;
      background: rgba(37, 211, 102, 0.12);
      color: #d8ffe5;
      font-weight: 800;
      margin-bottom: 1rem;
    }

    .landing-addon-card__proof strong {
      color: #fff;
      font-size: 1.1rem;
    }

    .landing-addon-card__aside p {
      font-size: .96rem;
    }

    .landing-addon-card__actions {
      display: flex;
      flex-wrap: wrap;
      gap: .8rem;
      margin-top: 1.2rem;
    }

    .landing-addon-card__fineprint {
      margin-top: .9rem;
      color: rgba(255, 255, 255, 0.56);
      font-size: .84rem;
      line-height: 1.6;
    }

    .landing-faq {
      display: grid;
      grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
      gap: 1.4rem;
      align-items: start;
    }

    .landing-faq-copy {
      position: sticky;
      top: 110px;
      padding: 1.4rem;
      border-radius: 28px;
      background: rgba(255, 255, 255, 0.82);
      border: 1px solid rgba(255, 255, 255, 0.86);
      box-shadow: var(--landing-shadow-soft);
    }

    .landing-faq-list {
      display: grid;
      gap: 1rem;
    }

    .landing-faq-item {
      padding: 1.15rem 1.2rem;
    }

    .landing-faq-question {
      width: 100%;
      border: none;
      padding: 0;
      background: transparent;
      color: var(--landing-navy);
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 1rem;
      font: inherit;
      font-weight: 800;
      cursor: pointer;
      text-align: left;
    }

    .landing-faq-question i {
      color: var(--landing-gold);
      font-size: 1.15rem;
      transition: transform .2s ease;
    }

    .landing-faq-answer {
      display: none;
      margin-top: .85rem;
    }

    .landing-faq-item.is-open .landing-faq-answer {
      display: block;
    }

    .landing-faq-item.is-open .landing-faq-question i {
      transform: rotate(180deg);
    }

    .landing-final-cta {
      position: relative;
      overflow: hidden;
      padding: clamp(2.5rem, 5vw, 4rem) 2.2rem;
      border-radius: 32px;
      text-align: center;
      background: var(--landing-navy);
      color: rgba(255, 255, 255, 0.72);
      box-shadow: var(--landing-shadow);
    }

    .landing-final-cta::before,
    .landing-final-cta::after {
      content: '';
      position: absolute;
      border-radius: 9999px;
      filter: blur(90px);
      pointer-events: none;
      z-index: 0;
    }

    .landing-final-cta::before {
      width: 380px;
      height: 380px;
      background: rgba(255, 138, 0, 0.25);
      top: -96px;
      left: 10%;
    }

    .landing-final-cta::after {
      width: 320px;
      height: 320px;
      background: rgba(255, 193, 69, 0.2);
      bottom: -96px;
      right: 10%;
    }

    .landing-final-cta > * {
      position: relative;
      z-index: 1;
    }

    .landing-final-cta h2 {
      color: #fff;
      margin: 1rem auto .8rem;
      max-width: 36rem;
      font-family: var(--landing-font-display);
      font-size: clamp(1.85rem, 3vw, 2.35rem);
      line-height: 1.15;
      letter-spacing: -.02em;
      font-weight: 700;
    }

    .landing-final-cta p {
      margin: 0 auto;
      max-width: 36rem;
      line-height: 1.8;
    }

    .landing-final-cta__actions {
      display: flex;
      justify-content: center;
      flex-wrap: wrap;
      gap: .85rem;
      margin-top: 1.5rem;
    }

    .landing-highlight-pill {
      display: inline-flex;
      align-items: center;
      gap: .45rem;
      padding: .52rem .82rem;
      border-radius: 999px;
      background: rgba(212, 154, 37, 0.12);
      color: var(--landing-navy);
      border: 1px solid rgba(212, 154, 37, 0.18);
      font-size: .86rem;
      font-weight: 700;
    }

    .landing-highlight-pill i {
      color: #ffd57c;
    }

    .reveal {
      opacity: 0;
      transform: translateY(18px);
      transition: opacity .55s ease, transform .55s ease;
    }

    .reveal.on {
      opacity: 1;
      transform: translateY(0);
    }

    .d1 { transition-delay: .08s; }
    .d2 { transition-delay: .16s; }
    .d3 { transition-delay: .24s; }
    .d4 { transition-delay: .32s; }

    .exit-modal {
      position: fixed;
      inset: 0;
      z-index: 10002;
      display: none;
      align-items: center;
      justify-content: center;
      padding: 1rem;
    }

    .exit-modal.is-visible {
      display: flex;
    }

    .exit-modal__backdrop {
      position: absolute;
      inset: 0;
      background: rgba(15, 29, 63, 0.56);
      backdrop-filter: blur(10px);
    }

    .exit-modal__card {
      position: relative;
      z-index: 1;
      width: min(100%, 880px);
      max-height: min(90vh, 720px);
      overflow: hidden;
      display: grid;
      grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
      border-radius: 28px;
      background: #fff;
      box-shadow: 0 28px 60px rgba(15, 29, 63, 0.24);
    }

    .exit-modal.is-visible .exit-modal__card {
      animation: exit-modal-enter .28s ease-out;
    }

    @keyframes exit-modal-enter {
      from { opacity: 0; transform: translateY(12px) scale(.985); }
      to { opacity: 1; transform: translateY(0) scale(1); }
    }

    .exit-modal__dismiss {
      position: absolute;
      top: 12px;
      right: 12px;
      z-index: 2;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 40px;
      height: 40px;
      border: 0;
      border-radius: 999px;
      background: rgba(255, 255, 255, 0.92);
      color: var(--landing-navy);
      box-shadow: 0 8px 18px rgba(15, 29, 63, 0.12);
      cursor: pointer;
    }

    .exit-modal__copy,
    .exit-modal__aside {
      min-height: 0;
      overflow: auto;
      overscroll-behavior: contain;
    }

    .exit-modal__copy {
      padding: 1.55rem 1.55rem 1.25rem;
    }

    .exit-modal__intro {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: .65rem .85rem;
      margin-bottom: .75rem;
    }

    .exit-modal__brand {
      display: inline-flex;
      align-items: center;
      gap: .65rem;
      margin: 0;
      color: var(--landing-navy);
      font-weight: 800;
      letter-spacing: .04em;
      text-transform: uppercase;
      font-size: .78rem;
    }

    .exit-modal__brand img {
      width: 36px;
      height: 36px;
      object-fit: contain;
    }

    .exit-modal__eyebrow {
      display: inline-flex;
      align-items: center;
      gap: .55rem;
      padding: .45rem .8rem;
      border-radius: 999px;
      background: rgba(75, 158, 219, 0.12);
      color: var(--pastorear-deep);
      font-size: .75rem;
      font-weight: 800;
      letter-spacing: .04em;
      text-transform: uppercase;
      margin: 0;
    }

    .exit-modal__title {
      margin: 0 0 .7rem;
      color: var(--landing-navy);
      font-family: var(--landing-font-display);
      font-size: clamp(1.8rem, 3vw, 2.45rem);
      line-height: 1.08;
      letter-spacing: -.04em;
    }

    .exit-modal__subtitle {
      margin: 0 0 .85rem;
      color: var(--landing-navy-soft);
      font-size: 1.05rem;
      font-weight: 650;
      line-height: 1.45;
    }

    .exit-modal__text {
      margin: 0 0 1rem;
      color: var(--landing-muted);
      line-height: 1.7;
    }

    .exit-modal__highlight {
      margin: 0 0 .35rem;
      color: var(--landing-navy);
      font-weight: 800;
    }

    .exit-modal__footnote {
      margin: 0 0 1.2rem;
      color: var(--landing-muted);
      font-size: .92rem;
    }

    .exit-modal__actions {
      display: flex;
      flex-direction: column;
      align-items: stretch;
      gap: .75rem;
    }

    .exit-modal__primary {
      justify-content: center;
    }

    .exit-modal__secondary {
      display: flex;
      flex-wrap: wrap;
      gap: .65rem;
    }

    .exit-modal__secondary a {
      flex: 1 1 160px;
      justify-content: center;
    }

    .exit-modal__stay {
      appearance: none;
      width: 100%;
      min-height: 44px;
      border: 1px solid rgba(26, 43, 74, 0.12);
      border-radius: 999px;
      background: #fff;
      color: var(--landing-navy);
      font: inherit;
      font-weight: 700;
      cursor: pointer;
      padding: .7rem 1.1rem;
      box-shadow: none;
    }

    .exit-modal__aside {
      padding: 1.35rem 1.25rem 1.5rem;
      background: linear-gradient(180deg, #F5FAFB 0%, #E8F3FA 100%);
      border-left: 1px solid rgba(26, 43, 74, 0.06);
    }

    .exit-modal__benefits {
      list-style: none;
      margin: 0;
      padding: 0;
      display: grid;
      gap: .75rem;
    }

    .exit-modal__benefits li {
      list-style: none;
      display: grid;
      grid-template-columns: 34px 1fr;
      gap: .65rem;
      align-items: flex-start;
    }

    .exit-modal__benefits i {
      width: 36px;
      height: 36px;
      border-radius: 12px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      background: rgba(75, 158, 219, 0.14);
      color: var(--pastorear-deep);
    }

    .exit-modal__benefits strong {
      display: block;
      color: var(--landing-navy);
      margin-bottom: .15rem;
    }

    .exit-modal__benefits span {
      display: block;
      color: var(--landing-muted);
      font-size: .86rem;
      line-height: 1.5;
    }

    .exit-modal__close {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: .9rem 1.25rem;
      border-radius: 16px;
      border: 1px solid rgba(15, 29, 63, 0.12);
      background: #fff;
      color: var(--landing-navy-soft);
      font-weight: 800;
      cursor: pointer;
    }

    @keyframes tickerScroll {
      from { transform: translateX(0); }
      to { transform: translateX(-50%); }
    }

    @media (max-width: 1199.98px) {
      .landing-brand {
        font-size: 1.18rem;
      }

      .landing-nav {
        gap: .65rem;
      }

      .landing-nav a {
        font-size: .8rem;
      }

      .landing-actions {
        gap: .4rem;
      }

      .landing-btn,
      .landing-btn-outline,
      .landing-btn-ghost {
        padding: .66rem .84rem;
        font-size: .78rem;
      }

      .landing-hero__grid,
      .landing-proof,
      .landing-faq,
      .landing-addon-card__grid {
        grid-template-columns: 1fr;
      }

      .landing-faq-copy {
        position: static;
      }

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

    @media (max-width: 1480px) {
      .landing-navbar__inner {
        gap: .8rem;
      }

      .landing-brand {
        font-size: 1.2rem;
        gap: .6rem;
      }

      .landing-brand img {
        width: 40px;
        height: 40px;
      }

      .landing-nav {
        gap: .72rem;
        padding-left: .55rem;
      }

      .landing-nav a {
        font-size: .81rem;
      }

      .landing-actions {
        gap: .4rem;
      }

      .landing-btn,
      .landing-btn-outline,
      .landing-btn-ghost {
        padding: .66rem .88rem;
        font-size: .79rem;
      }

      .landing-label-full {
        display: none;
      }

      .landing-label-short {
        display: inline;
      }

    }

    @media (max-width: 1320px) {
      .landing-nav {
        gap: .58rem;
        padding-left: .35rem;
      }

      .landing-nav a {
        font-size: .77rem;
      }

      .landing-btn,
      .landing-btn-outline,
      .landing-btn-ghost {
        padding: .62rem .8rem;
        font-size: .76rem;
      }

      .landing-btn-partner {
        min-width: 112px;
      }
    }

    @media (max-width: 991.98px) {
      .landing-nav {
        display: none;
      }

      .landing-menu-toggle {
        display: inline-flex;
      }

      .landing-navbar__inner {
        grid-template-columns: auto 1fr auto;
      }

      .landing-actions {
        gap: .35rem;
      }

      .landing-hero__visual {
        min-height: 540px;
      }

      .landing-solution__grid,
      .landing-reasons-grid,
      .landing-proof-grid,
      .landing-stats-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      .landing-proof-visual__stats,
      .landing-proof-visual__body,
      .landing-module,
      .landing-module--reverse,
      .landing-addon-card__pricing,
      .landing-addon-card__list {
        grid-template-columns: 1fr;
      }

      .landing-module--reverse .landing-module-media,
      .landing-module--reverse .landing-module-copy {
        order: initial;
      }
    }

    @media (max-width: 767.98px) {
      .landing-navbar__inner {
        min-height: 72px;
        grid-template-columns: auto auto;
      }

      .landing-main {
        padding-top: 84px;
      }

      .landing-actions {
        gap: .55rem;
      }

      .landing-actions .landing-btn-outline {
        display: none;
      }

      .landing-btn,
      .landing-btn-outline,
      .landing-btn-ghost {
        width: 100%;
      }

      .landing-hero {
        padding-bottom: 3rem;
      }

      .landing-hero__actions {
        flex-direction: column;
      }

      .landing-hero__visual {
        min-height: 460px;
      }

      .landing-device-card {
        padding: 1rem;
      }

      .landing-floating-image {
        width: 220px;
        right: -1rem;
        bottom: -1.4rem;
      }

      .landing-float-card {
        min-width: 0;
        width: calc(100% - 32px);
      }

      .landing-float-card--members {
        left: .5rem;
        top: 1.25rem;
      }

      .landing-float-card--security {
        right: .5rem;
        bottom: 1.25rem;
      }

      .landing-device-card {
        animation:
          hero-dash-enter .7s ease-out both,
          hero-dash-float-mobile 8s ease-in-out .7s infinite;
      }

      .landing-float-card--members {
        animation:
          hero-members-enter .7s ease-out .1s both,
          hero-members-float-mobile 6s ease-in-out .8s infinite;
      }

      .landing-float-card--security {
        animation:
          hero-security-enter .7s ease-out .26s both,
          hero-security-float-mobile 8.5s ease-in-out -.8s infinite;
      }

      .landing-floating-image {
        animation:
          hero-devices-enter .72s ease-out .18s both,
          hero-devices-float-mobile 11s ease-in-out .9s infinite;
      }

      .landing-solution__grid,
      .landing-reasons-grid,
      .landing-proof-grid,
      .landing-plans__grid,
      .landing-stats-strip,
      .landing-module-copy ul {
        grid-template-columns: 1fr;
      }

      .landing-proof-visual__stats {
        grid-template-columns: 1fr;
      }

      .landing-final-cta {
        padding: 1.5rem;
      }

      .exit-modal__card {
        grid-template-columns: 1fr;
        width: min(100%, 520px);
        max-height: min(94vh, 820px);
      }

      .exit-modal__copy,
      .exit-modal__aside {
        padding: 1.35rem 1.2rem;
      }

      .exit-modal__aside {
        border-left: 0;
        border-top: 1px solid rgba(26, 43, 74, 0.06);
      }

      .exit-modal__actions {
        padding-top: .75rem;
      }
    }

    /* PST-WEB-INDEX-01: Identidade institucional cream/navy/orange (Abordagem B) */
    .landing-brand,
    .landing-section-title,
    .landing-hero__title,
    .landing-float-card__value,
    .landing-proof-card strong,
    .landing-proof-visual__stat strong,
    .landing-plan-card__price,
    .landing-final-cta h2,
    .landing-addon-card h3 {
      font-family: var(--landing-font-display);
    }

    .landing-nav a {
      color: rgba(27, 36, 49, 0.7);
      border-radius: 999px;
      padding: .45rem .55rem;
      font-weight: 500;
    }

    .landing-nav a:hover,
    .landing-nav a:focus-visible {
      color: var(--landing-text);
      background: rgba(255, 255, 255, 0.72);
    }

    .landing-btn,
    .landing-btn-outline,
    .landing-btn-ghost {
      min-height: 46px;
      border-radius: 999px;
      padding: .82rem 1.25rem;
      font-family: var(--landing-font-body);
      font-weight: 600;
    }

    .landing-btn {
      background: var(--pastorear-orange-ui);
      color: #FFFFFF;
      box-shadow: 0 12px 28px -14px rgba(245, 130, 32, 0.55);
    }

    .landing-btn:hover {
      background: var(--pastorear-orange);
      color: #FFFFFF;
    }

    .landing-btn-outline {
      background: #FFFFFF;
      border: 1.5px solid rgba(26, 43, 74, 0.15);
      color: var(--pastorear-navy);
    }

    .landing-btn-outline:hover {
      border-color: rgba(26, 43, 74, 0.28);
      color: var(--pastorear-navy);
      background: #FFFFFF;
    }

    .landing-btn-ghost {
      color: var(--pastorear-navy);
      border: 1px solid rgba(26, 43, 74, 0.1);
      background: rgba(255, 255, 255, 0.72);
    }

    .landing-badge,
    .landing-highlight-pill,
    .exit-modal__eyebrow {
      background: #FFFFFF;
      color: var(--pastorear-navy);
      border: 1px solid var(--pastorear-border-soft);
      border-radius: 999px;
      letter-spacing: .02em;
      box-shadow: var(--landing-shadow-soft);
    }

    .landing-solution-card:hover,
    .landing-reason-card:hover,
    .landing-proof-card:hover,
    .landing-plan-card:hover {
      box-shadow: var(--pastorear-shadow-card);
      border-color: rgba(245, 130, 32, 0.28);
    }

    .landing-solution-card__icon,
    .landing-reason-card__icon,
    .landing-float-card__icon {
      color: var(--pastorear-orange);
      background: rgba(255, 138, 0, 0.12);
    }

    .landing-module-copy li i,
    .landing-plan-card li i,
    .landing-faq-question i,
    .landing-seal i {
      color: var(--pastorear-orange);
      background: transparent;
    }

    .landing-stats-strip {
      background: linear-gradient(135deg, var(--pastorear-orange-ui) 0%, var(--pastorear-orange) 100%);
      border-radius: 30px;
      box-shadow: 0 22px 42px rgba(245, 130, 32, 0.22);
    }

    .landing-plan-card--featured {
      background:
        radial-gradient(circle at top right, rgba(255, 138, 0, 0.22), transparent 24%),
        linear-gradient(180deg, #1A2B4A 0%, #142238 100%);
      border-color: rgba(255, 255, 255, 0.08);
      box-shadow: 0 20px 44px -22px rgba(26, 43, 74, 0.45);
      color: rgba(255, 255, 255, 0.9);
    }

    .landing-plan-card__flag {
      background: rgba(255, 138, 0, 0.12);
      color: var(--pastorear-orange);
      border-radius: 999px;
    }

    .landing-plan-card--featured .landing-plan-card__flag {
      background: rgba(255, 255, 255, 0.14);
      color: #fff;
    }

    .landing-faq-question {
      color: var(--pastorear-ink-soft);
      min-height: 48px;
    }

    .landing-faq-answer {
      color: var(--landing-muted);
    }

    .landing-module-media {
      background:
        radial-gradient(circle at top right, rgba(255, 138, 0, 0.16), transparent 22%),
        linear-gradient(180deg, #FFF9F0 0%, #fff 100%);
    }

    .landing-addon-card {
      background:
        radial-gradient(circle at top right, rgba(37, 211, 102, 0.16), transparent 22%),
        radial-gradient(circle at bottom left, rgba(255, 138, 0, 0.14), transparent 24%),
        linear-gradient(135deg, #1A2B4A 0%, #15233F 55%, #101B31 100%);
    }

    #botral > .container > div {
      border-radius: 28px !important;
      box-shadow: var(--pastorear-shadow-card);
    }

    .landing-botral-panel {
      position: relative;
      overflow: hidden;
      background:
        radial-gradient(circle at top right, rgba(255, 138, 0, 0.22), transparent 28%),
        radial-gradient(circle at bottom left, rgba(255, 193, 69, 0.16), transparent 30%),
        linear-gradient(135deg, #1A2B4A 0%, #15233F 55%, #101B31 100%);
      color: #FFFFFF;
      border-radius: 28px;
      padding: clamp(2rem, 5vw, 4rem);
      border: 1px solid rgba(255, 255, 255, 0.08);
    }

    .landing-botral-panel__glow {
      width: 18rem;
      height: 18rem;
      opacity: .55;
    }

    .landing-botral-panel__glow--orange {
      top: -4rem;
      right: -2rem;
      background: rgba(255, 138, 0, 0.45);
    }

    .landing-botral-panel__glow--amber {
      bottom: -5rem;
      left: -3rem;
      background: rgba(255, 193, 69, 0.35);
    }

    .landing-botral-panel__grid {
      position: relative;
      z-index: 1;
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
      gap: 2rem;
      align-items: center;
    }

    .landing-botral-panel__cards {
      display: grid;
      gap: 1rem;
    }

    .landing-botral-card {
      border: 1px solid rgba(255, 255, 255, 0.12);
      border-radius: 18px;
      padding: 1.2rem;
      background: rgba(255, 255, 255, 0.05);
    }

    .landing-botral-card strong {
      display: block;
      font-family: var(--landing-font-display);
      color: #FFC145;
      font-size: 1.05rem;
    }

    .landing-botral-card p {
      color: rgba(255, 255, 255, 0.72);
      margin: .55rem 0 0;
      line-height: 1.7;
    }

    .landing-shell .site-float-btn--whatsapp {
      background: #25D366;
      border-radius: 999px;
      box-shadow: 0 16px 32px rgba(37, 211, 102, 0.28);
    }

    .landing-shell .site-whatsapp-panel {
      border: 1px solid var(--pastorear-border-soft);
      border-radius: 24px;
      box-shadow: var(--pastorear-shadow-card);
    }

    .landing-shell .site-whatsapp-panel__send {
      background: #25D366;
      border-radius: 999px;
    }

    @media (prefers-reduced-motion: reduce) {
      *,
      *::before,
      *::after {
        scroll-behavior: auto !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
      }

      .landing-device-card,
      .landing-floating-image,
      .landing-float-card,
      .landing-hero__ambient-glow,
      .landing-live__dot::after,
      .landing-float-card--members .landing-float-card__icon,
      .reveal {
        animation: none !important;
        transition: none !important;
        transform: none !important;
        opacity: 1 !important;
      }

      .exit-modal.is-visible .exit-modal__card {
        animation: none !important;
      }

      .landing-hero__visual {
        --hero-x: 0 !important;
        --hero-y: 0 !important;
      }
    }

    @keyframes hero-dash-float-mobile {
      0%, 100% { transform: translate3d(0, 0, 0); }
      50% { transform: translate3d(0, -3px, 0); }
    }

    @keyframes hero-members-float-mobile {
      0%, 100% { transform: translate3d(0, 0, 0); }
      50% { transform: translate3d(2px, -4px, 0); }
    }

    @keyframes hero-security-float-mobile {
      0%, 100% { transform: translate3d(0, 0, 0); }
      50% { transform: translate3d(-2px, -3px, 0); }
    }

    @keyframes hero-devices-float-mobile {
      0%, 100% { transform: translate3d(0, 0, 0); }
      50% { transform: translate3d(0, -2px, 0); }
    }

    @media (max-width: 767.98px) {
      .landing-btn,
      .landing-btn-outline,
      .landing-btn-ghost {
        min-height: 48px;
      }

      .landing-hero::before,
      .landing-hero::after {
        opacity: .55;
      }
    }

.landing-footer {
  margin-top: 2rem;
  padding: 4rem 0 2rem;
  background: #1A2B4A;
  color: rgba(255, 255, 255, .76);
}
.landing-footer__wrap { width: min(1180px, calc(100% - 32px)); margin: 0 auto; }
.landing-footer__grid {
  display: grid;
  grid-template-columns: 1.4fr .82fr .9fr 1.08fr;
  gap: 2rem;
  align-items: start;
}
.landing-footer__logo {
  display: inline-flex;
  align-items: center;
  gap: .75rem;
  color: #fff;
  font-family: 'Poppins', sans-serif;
  font-size: 1.35rem;
  font-weight: 700;
  letter-spacing: -.03em;
  text-decoration: none;
}
.landing-footer__logo img {
  width: 48px;
  height: 48px;
  object-fit: contain;
  border-radius: 14px;
  background: #fff;
  padding: .32rem;
}
.landing-footer__desc {
  margin: 1rem 0 1.2rem;
  color: rgba(255, 255, 255, .68);
  line-height: 1.75;
  font-family: 'Inter', sans-serif;
}
.landing-footer__social { display: flex; gap: .65rem; flex-wrap: wrap; }
.landing-footer__social a {
  width: 38px;
  height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  color: #fff;
  background: rgba(255, 255, 255, .1);
  border: 1px solid rgba(255, 255, 255, .12);
  text-decoration: none;
}
.landing-footer__heading {
  margin: .35rem 0 1rem;
  color: #FFC145;
  font-family: 'Poppins', sans-serif;
  font-size: .78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.landing-footer__links {
  display: grid;
  gap: .72rem;
}
.landing-footer__links a {
  color: rgba(255, 255, 255, .75);
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  text-decoration: none;
}
.landing-footer__links a:hover { color: #FF8A00; }
.landing-footer__links--contact a {
  display: flex;
  align-items: flex-start;
  gap: .6rem;
}
.landing-footer__links--contact a i {
  color: #FFC145;
  font-size: 1.05rem;
  line-height: 1.5;
  flex-shrink: 0;
}
.landing-footer__address {
  display: flex;
  align-items: flex-start;
  gap: .6rem;
  color: rgba(255, 255, 255, .75);
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  font-style: normal;
  line-height: 1.5;
}
.landing-footer__address i {
  color: #FFC145;
  font-size: 1.05rem;
  line-height: 1.5;
  flex-shrink: 0;
}
.landing-footer__bottom {
  margin-top: 2.5rem;
  padding-top: 1.35rem;
  border-top: 1px solid rgba(255, 255, 255, .12);
  color: rgba(255, 255, 255, .55);
  font-size: .9rem;
  font-family: 'Inter', sans-serif;
  display: flex;
  flex-wrap: wrap;
  gap: .5rem 1.5rem;
  align-items: center;
  justify-content: space-between;
}
@media (max-width: 1024px) {
  .landing-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 768px) {
  .landing-footer__grid { grid-template-columns: 1fr; }
  .landing-footer__bottom { justify-content: flex-start; }
}

/* PASTOREAR_2_PUBLIC_LANDING_PARITY_20 — Fase 2/3/10/12: botão flutuante
   WhatsApp + botão voltar ao topo. Reusa os tokens --landing-* já
   existentes; WhatsApp mantém o verde institucional do próprio serviço
   (reconhecimento imediato do usuário), não um dos tokens da marca. */
.landing-floating-actions {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 60;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 14px;
  pointer-events: none;
}
.landing-floating-actions > * { pointer-events: auto; }

.landing-whatsapp-float {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  background: #25D366;
  color: #fff;
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: .92rem;
  text-decoration: none;
  padding: .85rem 1.15rem;
  border-radius: 999px;
  box-shadow: 0 12px 28px rgba(37, 211, 102, .38);
  transition: transform .18s ease, box-shadow .18s ease;
  animation: landing-whatsapp-pulse 2.8s ease-in-out 1.2s 2;
}
.landing-whatsapp-float:hover,
.landing-whatsapp-float:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 16px 34px rgba(37, 211, 102, .48);
}
.landing-whatsapp-float i { font-size: 1.35rem; line-height: 1; }
.landing-whatsapp-float__label { white-space: nowrap; }

@keyframes landing-whatsapp-pulse {
  0%, 100% { box-shadow: 0 12px 28px rgba(37, 211, 102, .38); }
  50% { box-shadow: 0 12px 28px rgba(37, 211, 102, .38), 0 0 0 8px rgba(37, 211, 102, .18); }
}
@media (prefers-reduced-motion: reduce) {
  .landing-whatsapp-float { animation: none; }
}

.landing-back-to-top {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--landing-navy, #1A2B4A);
  color: #fff;
  border: 1px solid rgba(255, 255, 255, .14);
  box-shadow: var(--landing-shadow, 0 10px 24px rgba(0,0,0,.18));
  cursor: pointer;
  opacity: 0;
  transform: translateY(8px);
  visibility: hidden;
  transition: opacity .2s ease, transform .2s ease, background .18s ease;
}
.landing-back-to-top.is-visible {
  opacity: 1;
  transform: translateY(0);
  visibility: visible;
}
.landing-back-to-top:hover,
.landing-back-to-top:focus-visible { background: var(--landing-gold-strong, #FF8A00); }
.landing-back-to-top i { font-size: 1.15rem; }

@media (max-width: 640px) {
  .landing-floating-actions { right: 14px; bottom: 14px; gap: 10px; }
  .landing-whatsapp-float { padding: .78rem; border-radius: 50%; width: 52px; height: 52px; justify-content: center; }
  .landing-whatsapp-float__label { display: none; }
  .landing-whatsapp-float i { font-size: 1.5rem; }
  .landing-back-to-top { width: 40px; height: 40px; }
}
