:root {
      --navy: #071422;
      --band: #1A6BB5;
      --blue: #2F6BFF;
      --cyan: #14E0C8;
      --ink: #162233;
      --muted: #5A6A7C;
      --line: #E4EAF2;
      --soft: #F4F7FB;
      --white: #ffffff;
      --shadow: 0 10px 28px rgba(11, 47, 107, 0.05);
      --radius: 16px;
    }

    * { box-sizing: border-box; }

    html { scroll-behavior: smooth; scroll-padding-top: 92px; }

    body {
      margin: 0;
      font-family: Manrope, "Segoe UI", sans-serif;
      color: var(--ink);
      background: var(--white);
      font-size: 17px;
      line-height: 1.65;
    }

    img { max-width: 100%; }

    h1, h2, h3, p { margin: 0; }

    ul { margin: 0; padding: 0; list-style: none; }

    a { color: inherit; }

    :focus-visible {
      outline: 2px solid var(--blue);
      outline-offset: 3px;
    }

    ::selection { background: #d7e6f8; }

    .wrap {
      width: min(1120px, calc(100% - 48px));
      margin: 0 auto;
    }

    .header {
      position: sticky;
      top: 0;
      z-index: 30;
      background: rgba(255, 255, 255, 0.94);
      backdrop-filter: blur(12px);
      border-bottom: 1px solid rgba(11, 47, 107, 0.08);
    }

    .header.scrolled {
      box-shadow: 0 8px 24px rgba(11, 47, 107, 0.04);
    }

    .header-inner {
      min-height: 84px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 24px;
    }

    .logo {
      display: flex;
      align-items: center;
      line-height: 0;
      flex: none;
    }

    .logo img,
    .footer-logo {
      height: 68px;
      width: auto;
      display: block;
    }

    .header-end {
      display: flex;
      align-items: center;
      gap: 28px;
      margin-left: auto;
    }

    .nav {
      display: flex;
      align-items: center;
      gap: 28px;
    }

    .nav a:not(.btn) {
      text-decoration: none;
      font-weight: 600;
      font-size: 0.95rem;
      color: var(--ink);
    }

    .nav a:not(.btn):hover { color: var(--blue); }

    .menu-item { position: relative; }

    .menu-parent {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      border: 0;
      background: none;
      padding: 0;
      font: inherit;
      font-weight: 600;
      font-size: 0.95rem;
      color: var(--ink);
      cursor: pointer;
    }

    .menu-parent:hover { color: var(--blue); }

    .menu-parent svg {
      width: 14px;
      height: 14px;
      fill: none;
      stroke: currentColor;
      stroke-width: 2;
      stroke-linecap: round;
      stroke-linejoin: round;
    }

    .submenu {
      display: none;
      position: absolute;
      top: calc(100% + 16px);
      right: 0;
      min-width: 230px;
      padding: 8px;
      background: var(--white);
      border: 1px solid var(--line);
      border-radius: 14px;
      box-shadow: 0 16px 36px rgba(11, 47, 107, 0.08);
      z-index: 40;
    }

    .submenu a {
      display: block;
      padding: 12px;
      border-radius: 10px;
    }

    .submenu a:hover { background: #F4F7FB; }

    .menu-item.open .submenu { display: block; }

    @media (min-width: 1201px) {
      .menu-item:hover .submenu,
      .menu-item:focus-within .submenu { display: block; }
    }

    .nav-toggle {
      display: none;
      width: 44px;
      height: 44px;
      border: 1px solid var(--line);
      border-radius: 12px;
      background: var(--white);
      position: relative;
      cursor: pointer;
      padding: 0;
    }

    .nav-toggle span {
      position: absolute;
      left: 12px;
      width: 18px;
      height: 2px;
      border-radius: 2px;
      background: var(--navy);
      transition: transform 0.2s ease, opacity 0.2s ease;
    }

    .nav-toggle span:nth-child(1) { top: 15px; }
    .nav-toggle span:nth-child(2) { top: 21px; }
    .nav-toggle span:nth-child(3) { top: 27px; }

    .nav-toggle[aria-expanded="true"] span:nth-child(1) {
      top: 21px;
      transform: rotate(45deg);
    }

    .nav-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }

    .nav-toggle[aria-expanded="true"] span:nth-child(3) {
      top: 21px;
      transform: rotate(-45deg);
    }

    .btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      font-family: inherit;
      min-height: 48px;
      padding: 0 18px;
      border-radius: 12px;
      border: 1px solid transparent;
      text-decoration: none;
      font-weight: 700;
      font-size: 0.95rem;
      line-height: 1;
      cursor: pointer;
      transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
    }

    .btn svg {
      width: 18px;
      height: 18px;
      fill: none;
      stroke: currentColor;
      stroke-width: 1.8;
      stroke-linecap: round;
      stroke-linejoin: round;
      flex: none;
    }

    .btn-primary {
      background: var(--blue);
      color: var(--white);
    }

    .btn-primary:hover { background: #1A52D6; }

    .btn-ghost {
      background: var(--white);
      color: var(--navy);
      border-color: #D5DEE9;
    }

    .btn-ghost:hover {
      border-color: var(--navy);
      background: #F7F9FC;
    }

    .btn-block { width: 100%; }

    .header-cta-mobile { display: none; }

    .trial {
      padding: 0;
      background: var(--cyan);
    }

    .trial-card {
      width: 100%;
      height: 2cm;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 4px;
      overflow: hidden;
      text-align: center;
      border: 0;
      font: inherit;
      cursor: pointer;
      background: var(--cyan);
      color: var(--navy);
      border-radius: 0;
      padding: 0 16px;
      text-decoration: none;
      animation: egg-blink 0.9s steps(1) infinite;
    }

    @keyframes egg-blink {
      0%, 100% { background: var(--cyan); }
      50% { background: #7FF3E4; }
    }

    .trial-card strong,
    .trial-card span {
      font-size: 18px;
      font-weight: 700;
      line-height: 1;
      color: var(--navy);
      white-space: nowrap;
    }

    .trial-line {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
    }

    .trial-card .trial-action {
      margin-left: 28px;
    }

    .trial-now {
      font-weight: 700;
      letter-spacing: 0.04em;
      text-transform: uppercase;
    }

    .modal {
      position: fixed;
      inset: 0;
      z-index: 80;
      display: grid;
      place-items: center;
      padding: 20px;
      background: rgba(11, 24, 48, 0.55);
    }

    .modal[hidden] { display: none; }

    .modal-card {
      width: min(560px, 100%);
      max-height: calc(100vh - 24px);
      overflow: auto;
      background: var(--white);
      border-radius: 20px;
      box-shadow: 0 24px 60px rgba(11, 47, 107, 0.18);
      padding: 18px 20px 16px;
    }

    .modal-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      margin-bottom: 12px;
    }

    .modal-head h2 {
      font-size: 1.3rem;
    }

    .modal-close {
      width: 36px;
      height: 36px;
      border: 1px solid var(--line);
      border-radius: 10px;
      background: var(--white);
      color: var(--navy);
      font-size: 1.3rem;
      line-height: 1;
      cursor: pointer;
    }

    #teste-form {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 10px 12px;
    }

    .form-field {
      display: grid;
      gap: 4px;
      margin: 0;
      min-width: 0;
    }

    .form-field.full { grid-column: 1 / -1; }

    .form-field span {
      font-size: 0.84rem;
      font-weight: 700;
      color: var(--navy);
      line-height: 1.2;
    }

    .form-field input,
    .form-field select {
      width: 100%;
      height: 40px;
      border: 1px solid #D5DEE9;
      border-radius: 12px;
      padding: 0 12px;
      font: inherit;
      font-size: 0.95rem;
      color: var(--ink);
      background: var(--white);
    }

    #teste-form .btn { grid-column: 1 / -1; min-height: 44px; }

    @media (max-width: 640px) {
      .form-field.wide-mobile { grid-column: 1 / -1; }
    }

    .form-field input:focus,
    .form-field select:focus {
      outline: 2px solid var(--blue);
      outline-offset: 1px;
    }

    @media (max-width: 520px) {
      .trial-card strong,
      .trial-card span { font-size: 14px; }
      .trial-card .trial-action { margin-left: 14px; }
    }

    .hero {
      padding: 72px 0 96px;
      background: var(--band);
      color: #E8EEF5;
    }

    .hero .eyebrow { color: var(--cyan); }

    .selo {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      margin: 0 0 18px;
      padding: 6px 16px 6px 6px;
      border: 1px solid var(--cyan);
      border-radius: 999px;
      background: rgba(20, 224, 200, 0.1);
      color: #F4F7FB;
      text-decoration: none;
    }

    .selo strong {
      width: 46px;
      height: 46px;
      display: grid;
      place-items: center;
      border-radius: 50%;
      background: var(--cyan);
      color: var(--navy);
      font-size: 1rem;
      line-height: 1;
    }

    .selo span {
      max-width: 9.5rem;
      font-weight: 700;
      font-size: 0.86rem;
      line-height: 1.2;
    }

    .selo:hover { background: rgba(20, 224, 200, 0.18); }

    .hero h1 { color: #F4F7FB; }

    .hero .lead { color: #C5D0DE; }

    .hero .btn-primary {
      background: var(--cyan);
      color: var(--navy);
    }

    .hero .btn-primary:hover { background: #3EF0DC; }

    .hero .btn-ghost {
      background: transparent;
      color: #F4F7FB;
      border-color: rgba(255, 255, 255, 0.28);
    }

    .hero .btn-ghost:hover {
      background: rgba(255, 255, 255, 0.06);
      border-color: var(--cyan);
    }

    .hero-panel {
      display: grid;
      gap: 10px;
      padding: 22px;
      border: 1px solid rgba(255, 255, 255, 0.12);
      border-radius: 24px;
      background: rgba(255, 255, 255, 0.04);
    }

    .hero-panel p {
      color: var(--cyan);
      font-weight: 700;
      font-size: 0.92rem;
      letter-spacing: 0.04em;
    }

    .hero-panel ul {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 10px;
    }

    .hero-panel li { min-width: 0; }

    .hero-panel a {
      display: block;
      padding: 16px 14px;
      border-radius: 14px;
      background: rgba(255, 255, 255, 0.06);
      color: #F4F7FB;
      font-weight: 700;
      font-size: 0.95rem;
      line-height: 1.3;
      text-decoration: none;
    }

    .hero-panel a:hover { background: rgba(20, 224, 200, 0.18); }

    .product-hero { position: relative; padding: 56px 0 72px; }

    .product-hero:has(.product-title) { padding-top: 0; }

    .product-hero h1 { overflow-wrap: break-word; }

    .title-row {
      display: grid;
      grid-template-columns: 48px minmax(0, 1fr) 48px;
      align-items: center;
      width: 100%;
      max-width: 100%;
      box-sizing: border-box;
      min-height: 56px;
      padding: 0 8px;
    }

    .product-title {
      display: block;
      min-width: 0;
      max-width: 100%;
      min-height: 0;
      margin: 0;
      overflow: hidden;
      text-align: center;
      line-height: 1.1;
    }

    .product-title span { display: inline; }

    .back-arrow {
      width: 48px;
      height: 48px;
      justify-self: center;
      display: grid;
      place-items: center;
      border-radius: 50%;
      border: 0;
      background: var(--cyan);
      color: var(--navy);
      text-decoration: none;
      box-shadow: 0 6px 16px rgba(7, 20, 34, 0.18);
    }

    .back-arrow:hover { background: #3EF0DC; }

    .back-arrow svg {
      width: 26px;
      height: 26px;
      fill: none;
      stroke: currentColor;
      stroke-width: 2.4;
      stroke-linecap: round;
      stroke-linejoin: round;
    }

    .product-grid {
      display: grid;
      grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
      gap: 48px;
      align-items: stretch;
    }

    .product-grid > div:last-child {
      display: flex;
      flex-direction: column;
    }

    .product-hero .hero-actions {
      margin-top: auto;
      padding-top: 32px;
    }

    .product-photo {
      position: relative;
      height: 420px;
      min-height: 420px;
      border-radius: 24px;
      border: 1px solid rgba(255, 255, 255, 0.18);
      background: rgba(255, 255, 255, 0.06);
      display: grid;
      place-items: center;
      overflow: hidden;
      color: rgba(244, 247, 251, 0.72);
      font-weight: 700;
      letter-spacing: 0.04em;
    }

    .product-photo img {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center;
      display: block;
    }

    .product-hero h2 {
      margin: 22px 0 8px;
      color: #F4F7FB;
      font-size: 1.35rem;
    }

    .product-note { color: #C5D0DE; }

    .feature-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 12px;
    }

    .feature-grid li {
      display: flex;
      align-items: center;
      gap: 12px;
      min-height: 96px;
      margin: 0;
      padding: 16px;
      border-radius: 18px;
      border: 1px solid rgba(255, 255, 255, 0.16);
      background: rgba(255, 255, 255, 0.07);
      color: #F4F7FB;
      font-weight: 700;
      font-size: 0.98rem;
      line-height: 1.25;
    }

    .feature-copy {
      display: flex;
      flex-direction: column;
      gap: 4px;
      min-width: 0;
    }

    .feature-copy small {
      font-size: 0.78rem;
      font-weight: 500;
      line-height: 1.35;
      color: #C5D0DE;
    }

    .feature-more {
      display: inline-flex;
      align-items: center;
      gap: 2px;
      margin-top: 2px;
      color: #F5C400;
      font-size: 0.75rem;
      font-weight: 700;
      letter-spacing: 0.02em;
    }

    .feature-more svg {
      width: 14px;
      height: 14px;
      fill: none;
      stroke: currentColor;
      stroke-width: 2.4;
      stroke-linecap: round;
      stroke-linejoin: round;
    }

    .feature-grid li.feature-item { padding: 0; }

    .feature-open {
      width: 100%;
      min-height: 96px;
      display: flex;
      align-items: center;
      gap: 12px;
      margin: 0;
      padding: 16px;
      border: 0;
      border-radius: 18px;
      background: transparent;
      color: inherit;
      font: inherit;
      font-weight: 700;
      font-size: 0.98rem;
      line-height: 1.25;
      text-align: left;
      cursor: pointer;
    }

    .feature-open:hover { background: rgba(255, 255, 255, 0.06); }

    .feature-grid-six {
      gap: 6px;
    }

    .feature-grid-six li,
    .feature-grid-six .feature-open {
      min-height: 0;
      gap: 8px;
      padding: 6px 8px;
      font-size: 0.78rem;
      align-items: flex-start;
    }

    .feature-grid-six li { border-radius: 14px; }

    .feature-grid-six .feature-open { border-radius: 14px; }

    .feature-grid-six .feature-icon {
      width: 32px;
      height: 32px;
      border-radius: 10px;
    }

    .feature-grid-six .feature-icon svg {
      width: 16px;
      height: 16px;
    }

    .feature-grid-six .feature-copy { gap: 2px; }

    .feature-grid-six .feature-copy small {
      font-size: 0.68rem;
      line-height: 1.25;
      display: -webkit-box;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
      overflow: hidden;
    }

    .feature-grid-six .feature-more {
      margin-top: 0;
      font-size: 0.68rem;
    }

    .feature-grid-six .feature-more svg {
      width: 12px;
      height: 12px;
    }

    .product-hero:has(.feature-grid-six) .hero-actions { padding-top: 8px; }

    .ops-list {
      display: grid;
      gap: 8px;
    }

    .ops-list li {
      display: flex;
      align-items: center;
      gap: 10px;
      min-height: 44px;
      margin: 0;
      padding: 10px 12px;
      border-radius: 12px;
      background: #F4F7FB;
      color: var(--navy);
      font-weight: 700;
    }

    .ops-list li::before {
      content: "";
      width: 8px;
      height: 8px;
      flex: none;
      border-radius: 50%;
      background: var(--cyan);
    }

    .feature-icon {
      width: 44px;
      height: 44px;
      flex: none;
      display: grid;
      place-items: center;
      border-radius: 14px;
      background: rgba(20, 224, 200, 0.16);
      color: var(--cyan);
    }

    .feature-icon svg {
      width: 22px;
      height: 22px;
      fill: none;
      stroke: currentColor;
      stroke-width: 1.8;
      stroke-linecap: round;
      stroke-linejoin: round;
    }

    .back {
      display: inline-block;
      margin-bottom: 18px;
      color: #F4F7FB;
      font-weight: 700;
      text-decoration: none;
    }

    .back:hover { color: var(--cyan); }

    .product-copy {
      max-width: 720px;
    }

    .product-copy p + p { margin-top: 12px; }

    .system-links {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 12px;
    }

    .system-links a {
      display: block;
      padding: 16px 18px;
      border: 1px solid var(--line);
      border-radius: 14px;
      background: var(--white);
      color: var(--navy);
      font-weight: 700;
      text-decoration: none;
    }

    .system-links a:hover {
      border-color: var(--blue);
      color: var(--blue);
    }

    .hero .wrap {
      width: min(1280px, calc(100% - 48px));
    }

    .hero-grid {
      display: grid;
      grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
      gap: 40px;
      align-items: start;
    }

    .hero-grid > *,
    .modulo-grid > *,
    .contact-grid > *,
    .solutions > *,
    .resources > *,
    .why > * {
      min-width: 0;
    }

    .eyebrow {
      color: var(--blue);
      font-weight: 700;
      font-size: 0.95rem;
      margin-bottom: 14px;
    }

    h1 {
      font-size: clamp(2rem, 3.5vw, 3.15rem);
      line-height: 1.15;
      letter-spacing: -0.03em;
      font-weight: 700;
      color: var(--navy);
    }

    h1 span { display: block; }

    .lead {
      margin-top: 18px;
      max-width: 36rem;
      color: #3C4B5E;
      font-size: 1.08rem;
    }

    .hero-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 12px;
      margin-top: 32px;
    }

    .scene {
      display: flex;
      align-items: center;
      justify-content: center;
      background: var(--white);
      border: 1px solid #E3EAF3;
      border-radius: 28px;
      box-shadow: 0 16px 40px rgba(11, 47, 107, 0.06);
      padding: 12px;
      overflow: hidden;
    }

    .scene-photo {
      position: relative;
      width: 100%;
      border-radius: 18px;
      overflow: hidden;
      container-type: inline-size;
    }

    .scene img {
      width: 100%;
      height: auto;
      display: block;
      object-fit: contain;
      object-position: center;
    }

    .scene-caption {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      height: 17%;
      margin: 0;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 0 16px;
      background: #f0f3f8;
      color: #16324d;
      font-weight: 700;
      font-size: clamp(13px, 1.45vw, 22px);
      line-height: 1.15;
      letter-spacing: -0.02em;
      text-align: center;
    }

    .scene-badge {
      position: absolute;
      left: 28%;
      top: 31.4%;
      width: 40%;
      height: 6.8%;
      margin: 0;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 0 8px;
      background: linear-gradient(180deg, #c47a3c 0%, #b25c2a 22%, #a64e22 100%);
      color: #fff;
      font-weight: 800;
      font-size: 1.55cqi;
      letter-spacing: 0.01em;
      line-height: 1;
      text-align: center;
      white-space: nowrap;
      border-radius: 0.7cqi;
    }

    .device {
      background: var(--white);
      border: 1px solid #E3EAF3;
      border-radius: 22px;
      box-shadow: 0 16px 40px rgba(11, 47, 107, 0.06);
      padding: 18px 16px 16px;
    }

    .device-bar {
      display: flex;
      align-items: center;
      gap: 10px;
      padding: 0 6px 14px;
    }

    .device-bar i {
      width: 8px;
      height: 8px;
      border-radius: 50%;
      display: block;
    }

    .device-bar i:nth-child(1) { background: var(--navy); }
    .device-bar i:nth-child(2) { background: var(--blue); }
    .device-bar i:nth-child(3) { background: #E8890C; }

    .device-bar strong {
      font-size: 0.95rem;
      color: var(--navy);
    }

    .device ul {
      display: grid;
      gap: 8px;
    }

    .device li {
      display: flex;
      align-items: center;
      gap: 12px;
      min-height: 72px;
      padding: 12px 14px;
      background: #F6F9FC;
      border-radius: 16px;
    }

    .device li .copy {
      min-width: 0;
      flex: 1;
    }

    .device strong {
      display: block;
      font-size: 0.98rem;
      color: var(--navy);
    }

    .device em {
      display: block;
      margin-top: 2px;
      font-style: normal;
      color: var(--muted);
      font-size: 0.86rem;
      line-height: 1.35;
    }

    .pill {
      flex: none;
      font-size: 0.75rem;
      font-weight: 700;
      color: var(--blue);
      background: #fff;
      border-radius: 999px;
      padding: 6px 10px;
      white-space: nowrap;
    }

    .scene-notes {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 12px;
    }

    .note {
      display: flex;
      align-items: center;
      gap: 12px;
      min-height: 72px;
      padding: 14px 16px;
      background: var(--white);
      border: 1px solid #E3EAF3;
      border-radius: 18px;
      box-shadow: 0 10px 24px rgba(11, 47, 107, 0.04);
      color: var(--navy);
      font-weight: 700;
      font-size: 0.95rem;
    }

    .icon,
    .device .icon {
      width: 40px;
      height: 40px;
      border-radius: 12px;
      background: #EAF2FB;
      color: var(--blue);
      display: inline-flex;
      align-items: center;
      justify-content: center;
      flex: none;
    }

    .icon svg,
    .device svg,
    .addons svg {
      width: 20px;
      height: 20px;
      fill: none;
      stroke: currentColor;
      stroke-width: 1.7;
      stroke-linecap: round;
      stroke-linejoin: round;
    }

    .cmv { padding: 0; }

    .cmv-band {
      width: 100%;
      background: var(--band);
      color: var(--white);
      border-radius: 0;
      padding: 40px 0;
    }

    .cmv-inner {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 32px;
    }

    .cmv-kicker {
      color: #F0B429;
      font-weight: 700;
      font-size: 0.92rem;
      letter-spacing: 0.04em;
      margin-bottom: 8px;
    }

    .cmv h2 {
      color: var(--white);
      font-size: clamp(1.65rem, 2.5vw, 2.15rem);
    }

    .cmv p {
      margin-top: 10px;
      max-width: 38rem;
      color: rgba(255, 255, 255, 0.84);
      font-size: 1.02rem;
    }

    .cmv .btn {
      background: var(--white);
      color: var(--navy);
      flex: none;
    }

    .cmv .btn:hover { background: #F4F7FB; }

    .diag-perguntas {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 16px;
    }

    .diag fieldset {
      margin: 0;
      border: 1px solid var(--line);
      border-radius: 16px;
      background: var(--white);
      padding: 16px 16px 14px;
    }

    .diag legend {
      padding: 0 4px;
      font-weight: 700;
      color: var(--navy);
      font-size: 1rem;
    }

    .diag-options {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      margin-top: 12px;
    }

    .diag-options label {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      margin: 0;
      padding: 8px 12px;
      border: 1px solid #D5DEE9;
      border-radius: 999px;
      background: var(--white);
      color: var(--ink);
      font-size: 0.92rem;
      line-height: 1.3;
      cursor: pointer;
    }

    .diag-options input {
      accent-color: var(--blue);
      margin: 0;
    }

    .diag-options label:has(input:checked) {
      border-color: var(--blue);
      background: #EAF2FB;
      color: var(--navy);
      font-weight: 700;
    }

    .diag-result {
      margin-top: 18px;
      padding: 24px;
      border-radius: 20px;
      background: var(--navy);
      color: var(--white);
    }

    .diag-result[hidden] { display: none; }

    .diag-kicker {
      color: #F0B429;
      font-weight: 700;
      font-size: 0.92rem;
      letter-spacing: 0.04em;
      margin-bottom: 8px;
    }

    .diag-panorama {
      max-width: 42rem;
      color: rgba(255, 255, 255, 0.92);
      font-size: 1.05rem;
    }

    .diag-convite {
      margin-top: 10px;
      color: rgba(255, 255, 255, 0.84);
    }

    .diag-contato {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 12px;
      margin-top: 18px;
    }

    .diag-contato label {
      display: grid;
      gap: 4px;
      font-size: 0.84rem;
      font-weight: 700;
    }

    .diag-contato input {
      height: 40px;
      border: 0;
      border-radius: 12px;
      padding: 0 12px;
      font: inherit;
      font-size: 0.95rem;
      font-weight: 500;
      color: var(--ink);
    }

    .diag-result .btn {
      margin-top: 14px;
      background: var(--white);
      color: var(--navy);
    }

    .diag-result .btn:hover { background: #F4F7FB; }

    @media (max-width: 800px) {
      .diag-perguntas,
      .diag-contato { grid-template-columns: 1fr; }
    }

    .section { padding: 96px 0; }

    .section-soft { background: var(--soft); }

    .section-head {
      max-width: 640px;
      margin-bottom: 40px;
    }

    h2 {
      font-size: clamp(1.7rem, 2.4vw, 2.2rem);
      line-height: 1.2;
      letter-spacing: -0.03em;
      color: var(--navy);
      font-weight: 700;
    }

    .section-head p,
    .modulo-copy > p {
      margin-top: 14px;
      color: var(--muted);
      font-size: 1.05rem;
    }

    .solutions {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 18px;
    }

    .card {
      background: var(--white);
      border: 1px solid var(--line);
      border-radius: var(--radius);
      box-shadow: var(--shadow);
      padding: 26px 24px 28px;
    }

    .card h3 {
      margin: 16px 0 8px;
      font-size: 1.05rem;
      color: var(--navy);
    }

    .card p {
      color: var(--muted);
      font-size: 0.98rem;
    }

    @media (hover: hover) {
      .card, .resource {
        transition: transform 0.2s ease, box-shadow 0.2s ease;
      }

      .card:hover, .resource:hover {
        transform: translateY(-2px);
        box-shadow: 0 14px 32px rgba(11, 47, 107, 0.07);
      }
    }

    .modulo-grid {
      display: grid;
      grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
      gap: 56px;
      align-items: start;
    }

    .promo-row {
      margin-top: 36px;
      display: grid;
      grid-template-columns: repeat(auto-fill, 296px);
      gap: 18px;
      justify-content: start;
      align-items: stretch;
    }

    .promo-card {
      background: var(--white);
      border: 1px solid var(--line);
      border-radius: 20px;
      box-shadow: var(--shadow);
      padding: 18px;
    }

    .promo-card img {
      width: 100%;
      height: auto;
      aspect-ratio: 682 / 1024;
      object-fit: cover;
      display: block;
      border-radius: 14px;
    }

    .promises { margin-top: 32px; }

    .promises li {
      display: flex;
      align-items: center;
      gap: 14px;
      padding: 18px 0;
      border-top: 1px solid var(--line);
      font-weight: 700;
      font-size: 1.2rem;
      color: var(--navy);
    }

    .promises li:last-child { border-bottom: 1px solid var(--line); }

    .promises li::before {
      content: "";
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background: var(--blue);
      flex: none;
    }

    .price-card {
      background: var(--white);
      border: 1px solid #DCE6F2;
      border-top: 3px solid var(--blue);
      border-radius: 20px;
      box-shadow: 0 16px 40px rgba(11, 47, 107, 0.06);
      padding: 32px;
    }

    .price-card .label {
      font-weight: 700;
      color: var(--navy);
      font-size: 1.05rem;
    }

    .price-note {
      margin-top: 10px;
      color: #3C4B5E;
    }

    .price {
      margin-top: 8px;
      font-size: 2.6rem;
      line-height: 1;
      letter-spacing: -0.03em;
      font-weight: 700;
      color: var(--navy);
    }

    .price span {
      font-size: 1.05rem;
      font-weight: 600;
      letter-spacing: 0;
      color: var(--muted);
    }

    .addon-head {
      margin-top: 28px;
      padding-top: 22px;
      border-top: 1px solid var(--line);
    }

    .addon-head strong {
      display: block;
      color: var(--navy);
    }

    .addon-price {
      margin-top: 4px;
      font-weight: 700;
      color: var(--navy);
      font-size: 1.15rem;
    }

    .addons { margin-top: 16px; }

    .addons li {
      display: flex;
      align-items: center;
      gap: 10px;
      padding: 9px 0;
      border-bottom: 1px solid #F0F3F7;
      color: #243246;
    }

    .addons svg { color: var(--blue); width: 18px; height: 18px; }

    .price-card .btn { margin-top: 22px; }

    .resources {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 12px;
    }

    .resource {
      display: flex;
      align-items: center;
      gap: 14px;
      min-height: 76px;
      padding: 16px 18px;
      background: var(--white);
      border: 1px solid var(--line);
      border-radius: 14px;
      box-shadow: var(--shadow);
      font-weight: 600;
      line-height: 1.35;
    }

    .why {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 34px 40px;
    }

    .why li { padding-top: 16px; border-top: 2px solid #E1E8F2; }

    .why h3 {
      font-size: 1.05rem;
      color: var(--navy);
      margin-bottom: 6px;
    }

    .why p {
      color: var(--muted);
      font-size: 0.98rem;
    }

    .cta {
      background: var(--band);
      color: var(--white);
      text-align: center;
      padding: 88px 0;
    }

    .cta h2 { color: var(--white); }

    .cta p {
      max-width: 520px;
      margin: 14px auto 28px;
      color: rgba(255, 255, 255, 0.84);
      font-size: 1.05rem;
    }

    .cta .btn {
      background: var(--white);
      color: var(--navy);
    }

    .cta .btn:hover { background: #F4F7FB; }

    .contact-grid {
      display: grid;
      grid-template-columns: minmax(0, 0.86fr) minmax(0, 1.14fr);
      gap: 28px;
      align-items: stretch;
    }

    .info-card {
      background: var(--white);
      border: 1px solid var(--line);
      border-radius: 20px;
      box-shadow: var(--shadow);
      padding: 32px;
    }

    .info-card h3 {
      font-size: 1.25rem;
      color: var(--navy);
      margin-bottom: 14px;
    }

    address {
      font-style: normal;
      color: #314155;
      line-height: 1.7;
    }

    .contact-block {
      margin-top: 22px;
      padding-top: 18px;
      border-top: 1px solid var(--line);
    }

    .contact-block span {
      display: block;
      color: var(--muted);
      font-size: 0.92rem;
      margin-bottom: 2px;
    }

    .contact-block a {
      font-weight: 700;
      color: var(--navy);
      text-decoration: none;
    }

    .contact-block a:hover { color: var(--blue); }

    .info-card .btn { margin-top: 26px; }

    .map-link {
      display: inline-block;
      margin-top: 18px;
      color: var(--blue);
      font-weight: 700;
      text-decoration: none;
    }

    .map-link:hover { text-decoration: underline; }

    .map {
      min-height: 420px;
      border-radius: 20px;
      overflow: hidden;
      border: 1px solid var(--line);
      background: var(--soft);
    }

    .map iframe {
      width: 100%;
      height: 100%;
      min-height: 420px;
      border: 0;
      display: block;
    }

    .footer {
      border-top: 1px solid var(--line);
      padding: 36px 0 42px;
      background: var(--white);
    }

    .footer-inner {
      display: flex;
      align-items: center;
      gap: 28px;
    }

    .footer-logo { height: 56px; }

    .footer p { color: var(--muted); }

    .footer strong {
      display: block;
      color: var(--navy);
      margin-bottom: 6px;
    }

    .footer a {
      color: var(--navy);
      font-weight: 700;
      text-decoration: none;
    }

    .footer a:hover { color: var(--blue); }

    .copy { margin-top: 14px; font-size: 0.9rem; }

    .js .reveal {
      opacity: 0;
      transform: translateY(10px);
      transition: opacity 0.6s ease, transform 0.6s ease;
    }

    .js .reveal.show {
      opacity: 1;
      transform: none;
    }

    @media (max-width: 980px) {
      .hero { padding: 48px 0 56px; }
      .cmv-band { padding: 28px 0; }
      .cmv-inner { flex-direction: column; align-items: flex-start; }
      .cmv .btn { width: 100%; }
      .hero-grid,
      .product-grid,
      .modulo-grid,
      .contact-grid { grid-template-columns: minmax(0, 1fr); gap: 36px; }
      .product-photo { height: 240px; min-height: 240px; }
      .product-hero .hero-actions { margin-top: 32px; padding-top: 0; }
      .scene, .device, .price-card, .card, .info-card, .map { max-width: 100%; }
      .solutions { grid-template-columns: 1fr 1fr; }
      .why { grid-template-columns: 1fr 1fr; }
      .promo-row { grid-template-columns: minmax(0, 296px); }
      .scene img {
        position: static;
        inset: auto;
        width: 100%;
        height: auto;
        object-fit: contain;
      }
      .scene-notes { grid-template-columns: 1fr 1fr; }
      .section { padding: 72px 0; }
    }

    @media (max-width: 1200px) {
      .wrap { width: min(1120px, calc(100% - 32px)); }
      .logo img { height: 54px; }
      .header-inner { min-height: 74px; }
      .nav-toggle { display: block; }
      .header-cta-desktop { display: none; }
      .header-cta-mobile { display: inline-flex; margin-top: 12px; }

      .nav {
        display: none;
        position: absolute;
        left: 0;
        right: 0;
        top: 100%;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        background: var(--white);
        border-bottom: 1px solid var(--line);
        padding: 6px 20px 18px;
        box-shadow: 0 18px 36px rgba(11, 47, 107, 0.06);
      }

      .nav.open { display: flex; }

      .nav a:not(.btn) {
        padding: 14px 2px;
        border-bottom: 1px solid #EEF2F6;
        font-size: 1.02rem;
      }

      .menu-item { width: 100%; }

      .menu-parent {
        width: 100%;
        justify-content: space-between;
        padding: 14px 2px;
        border-bottom: 1px solid #EEF2F6;
        font-size: 1.02rem;
      }

      .submenu {
        position: static;
        min-width: 0;
        margin: 0;
        padding: 0 0 4px 12px;
        border: 0;
        border-radius: 0;
        box-shadow: none;
      }

      .submenu a { padding: 12px 2px; }
    }

    @media (max-width: 640px) {
      .solutions,
      .why,
      .resources,
      .system-links,
      .feature-grid { grid-template-columns: minmax(0, 1fr); }
      .feature-grid.feature-grid-six { grid-template-columns: 1fr 1fr; }
      .hero-actions .btn { width: 100%; }
      .title-row { grid-template-columns: 44px minmax(0, 1fr) 44px; padding: 0 6px; }
      .back-arrow { width: 40px; height: 40px; }
      .product-title { font-size: 1.35rem; }
      .product-title span { display: block; }
      .price-card, .info-card { padding: 24px; }
      .footer-inner { flex-direction: column; align-items: flex-start; }
      .price { font-size: 2.3rem; }
      h1 { font-size: 1.85rem; }
      .logo img { max-height: 52px; }
      .pill { display: none; }
    }

    @media (prefers-reduced-motion: reduce) {
      html { scroll-behavior: auto; }
      .js .reveal { opacity: 1; transform: none; }
      .btn, .card, .resource, .nav-toggle span { transition: none; }
      .trial-card { animation: none; background: var(--cyan); }
    }
