*,
    *::before,
    *::after {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
    }

    :root {
      --black: #0a0a0a;
      --white: #ffffff;
      --gray-50: #f9f9f9;
      --gray-100: #f0f0f0;
      --gray-200: #e5e5e5;
      --gray-400: #a0a0a0;
      --gray-600: #5a5a5a;
      --gray-800: #1a1a1a;
      --green: #1a9e6e;
      --green-light: #22c55e;
      --green-bg: #f0fdf4;
      --red-bg: #fef2f2;
      --lavender: #f5f3ff;
      --font: 'Inter', sans-serif;
    }

    html {
      scroll-behavior: smooth;
    }

    body {
      font-family: var(--font);
      background: var(--white);
      color: var(--black);
      line-height: 1.6;
      -webkit-font-smoothing: antialiased;
    }

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

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

    .container {
      max-width: 1080px;
      margin: 0 auto;
      padding: 0 32px;
    }

    /* ── NAVBAR ── */
    nav {
      position: sticky;
      top: 0;
      z-index: 100;
      background: rgba(255, 255, 255, 0.9);
      backdrop-filter: blur(12px);
    }

    .reverse-text {
      --highlight: #0a9e59;
      background: linear-gradient(90deg, var(--highlight) 50%, transparent 50%) 100% 0 / 200% 100% no-repeat;
      background-position: 100% 0;
      animation: highlight-slide 1s forwards;
      color: white;
      padding: 3px
    }

    @keyframes highlight-slide {
      from {
        background-position: 100% 0;
      }
      to {
        background-position: 0% 0;
      }
    }

    .nav-inner {
      display: flex;
      align-items: center;
      justify-content: space-between;
      height: 60px;
    }

    .nav-logo {
      height: 48px;
      width: auto;
    }

    .nav-logo-text {
      font-size: 1.1rem;
      font-weight: 800;
      letter-spacing: -0.03em;
      color: var(--black);
    }

    .nav-right {
      display: flex;
      align-items: center;
      gap: 12px;
    }

    .nav-login {
      font-size: .875rem;
      font-weight: 500;
      color: var(--gray-600);
      padding: 8px 16px;
    }

    .btn-nav {
      background: var(--black);
      color: var(--white);
      font-size: .875rem;
      font-weight: 600;
      padding: 9px 18px;
      border-radius: 8px;
      transition: opacity .15s;
    }

    .btn-nav:hover {
      opacity: .85;
    }

    /* ── HERO ── */
    #hero {
      background: linear-gradient(0deg, #d1fae5 0%, #a7f3d0 20%, #ecfdf5 50%, #ffffff 80%);
      padding: 64px 0 0;
      text-align: center;
      overflow: hidden;
    }

    .hero-eyebrow {
      font-size: .8rem;
      font-weight: 500;
      color: var(--gray-600);
      margin-bottom: 20px;
    }

    .mb24 {
      margin-bottom: 24px;
    }

    .mt24 {
      margin-top: 24px;
    }

    #hero h1 {
      font-size: clamp(2.8rem, 6vw, 5rem);
      font-weight: 900;
      line-height: 1.05;
      letter-spacing: -0.04em;
      color: var(--black);
      max-width: 800px;
      margin: 0 auto 24px;
    }

    #hero h1 .green {
      color: var(--green);
    }

    #hero p {
      font-size: 1rem;
      color: var(--gray-600);
      max-width: 480px;
      margin: 0 auto 32px;
      line-height: 1.7;
    }

    .hero-btns {
      display: flex;
      gap: 12px;
      justify-content: center;
      flex-wrap: wrap;
      margin-bottom: 56px;
    }

    .btn-primary {
      background: var(--black);
      color: var(--white);
      font-size: .9rem;
      font-weight: 600;
      padding: 12px 22px;
      border-radius: 8px;
      transition: opacity .15s;
      display: inline-block;
    }

    .btn-primary:hover {
      opacity: .85;
    }

    .btn-secondary {
      background: var(--white);
      color: var(--black);
      font-size: .9rem;
      font-weight: 600;
      padding: 12px 22px;
      border-radius: 8px;
      border: 1px solid var(--gray-200);
      transition: border-color .15s;
      display: inline-block;
    }

    .btn-secondary:hover {
      border-color: var(--gray-400);
    }

    .hero-app-img {
      max-width: 820px;
      margin: 0 auto;
      border-radius: 16px 16px 0 0;
      overflow: hidden;
      box-shadow: 0 -4px 60px rgba(0, 0, 0, .12);
    }

    /* ── LOGOS ── */
    #logos {
      padding: 40px 0;
      border-bottom: 1px solid var(--gray-200);
    }

    .logos-inner {
      display: flex;
      align-items: center;
      gap: 90px;
      flex-wrap: wrap;
      justify-content: center;
    }

    .logos-inner img {
      height: 40px;
      width: auto;
      opacity: .45;
      filter: grayscale(1);
    }

    /* ── STATS ── */
    #stats {
      background: var(--lavender);
      padding: 80px 0;
      text-align: center;
    }

    .section-eyebrow {
      font-size: .75rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: .1em;
      color: var(--gray-400);
      margin-bottom: 10px;
    }

    #stats h2 {
      font-size: clamp(1.6rem, 3vw, 2.2rem);
      font-weight: 800;
      letter-spacing: -0.03em;
      margin-bottom: 40px;
    }

    .stats-cards {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 16px;
      margin-bottom: 40px;
    }

    .stat-card {
      background: var(--white);
      border-radius: 16px;
      padding: 36px 28px;
      text-align: left;
      border: 1px solid var(--gray-200);
    }

    .stat-num {
      font-size: 3rem;
      font-weight: 900;
      letter-spacing: -0.04em;
      line-height: 1;
      margin-bottom: 12px;
      color: var(--black);
    }

    .stat-num .emoji {
      font-size: 2rem;
      vertical-align: middle;
      margin-left: 4px;
    }

    .stat-card p {
      font-size: .9rem;
      color: var(--gray-600);
      line-height: 1.6;
    }

    .stats-btns {
      display: flex;
      gap: 12px;
      justify-content: center;
      flex-wrap: wrap;
    }

    /* ── TESTIMONIAL ── */
    #testimonial {
      padding: 80px 0;
      text-align: center;
    }

    .testimonial-text {
      font-size: clamp(1.1rem, 2.2vw, 1.5rem);
      font-weight: 500;
      color: var(--black);
      max-width: 820px;
      margin: 0 auto 32px;
      line-height: 1.6;
    }

    .testimonial-author {
      display: flex;
      align-items: center;
      gap: 14px;
      justify-content: center;
    }

    .testimonial-author img {
      width: 44px;
      height: 44px;
      border-radius: 50%;
      object-fit: cover;
    }

    .t-name {
      font-size: .9rem;
      font-weight: 700;
      text-align: left;
    }

    .t-role {
      font-size: .8rem;
      color: var(--gray-400);
      text-align: left;
    }

    /* ── TESTIMONIAL SLIDER ── */
    .testimonial-slider-wrapper {
      position: relative;
      max-width: 820px;
      margin: 0 auto;
    }

    .testimonial-slider {
      position: relative;
      overflow: hidden;
    }

    .slider-inner {
      display: flex;
      transition: transform 0.5s ease;
      width: 300%; /* 3 slides */
    }

    .slide {
      flex: 0 0 33.333333%; /* 100% / 3 */
      padding: 0 20px;
      box-sizing: border-box;
    }

    /* Position slides via radio buttons */
    #slide1:checked ~ .slider-inner {
      transform: translateX(0%);
    }
    #slide2:checked ~ .slider-inner {
      transform: translateX(-33.333333%);
    }
    #slide3:checked ~ .slider-inner {
      transform: translateX(-66.666666%);
    }

    /* ── NAVIGATION DOTS ──
       Estado manejado 100% por JS con la clase .active.
       Sin animaciones CSS, sin reglas :checked en los dots.
    ── */
    .slider-nav {
      display: flex;
      justify-content: center;
      gap: 12px;
      margin-top: 40px;
    }

    .slider-dot {
      width: 10px;
      height: 10px;
      border-radius: 50%;
      background: var(--gray-200);
      cursor: pointer;
      transition: background 0.3s;
    }

    .slider-dot:focus {
      outline: 2px solid var(--green);
      outline-offset: 2px;
    }

    .slider-dot.active {
      background: var(--black);
    }

    /* Auto-rotation usando CSS custom properties */
    .testimonial-slider {
      --slide-index: 0;
      animation: rotate-slides 15s infinite;
    }

    @keyframes rotate-slides {
      0%, 29%   { --slide-index: 0; }
      33%, 62%  { --slide-index: 1; }
      66%, 95%  { --slide-index: 2; }
      100%      { --slide-index: 0; }
    }

    /* Aplicar transform basado en slide index */
    .slider-inner {
      transform: translateX(calc(var(--slide-index) * -33.333333%));
      transition: transform 0.5s ease;
    }

    /* Pausar animación al hacer hover */
    .testimonial-slider:hover {
      animation-play-state: paused;
    }

    /* Control manual via radio buttons sobreescribe la auto-rotación */
    #slide1:checked ~ .slider-inner {
      transform: translateX(0%) !important;
    }
    #slide2:checked ~ .slider-inner {
      transform: translateX(-33.333333%) !important;
    }
    #slide3:checked ~ .slider-inner {
      transform: translateX(-66.666666%) !important;
    }

    /* ── WHY ── */
    #why {
      padding: 80px 0;
      background: var(--white);
    }

    #why h2 {
      font-size: clamp(1.8rem, 3.5vw, 2.6rem);
      font-weight: 900;
      letter-spacing: -0.04em;
      max-width: 600px;
      margin-bottom: 12px;
    }

    #why>.container>p {
      font-size: .95rem;
      color: var(--gray-600);
      margin-bottom: 48px;
      max-width: 520px;
    }

    .why-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 16px;
    }

    .why-card {
      border-radius: 16px;
      padding: 32px;
      border: 1px solid;
    }

    .why-card.bad {
      background: var(--red-bg);
      border-color: #fecaca;
    }

    .why-card.good {
      background: var(--green-bg);
      border-color: #bbf7d0;
    }

    .why-card-title {
      font-size: .8rem;
      font-weight: 700;
      margin-bottom: 20px;
      color: var(--gray-800);
    }

    .why-items {
      display: flex;
      flex-direction: column;
      gap: 10px;
      margin-bottom: 20px;
    }

    .why-item {
      display: flex;
      align-items: center;
      gap: 10px;
      font-size: .875rem;
      font-weight: 500;
      color: var(--gray-800);
    }

    .files-mess {
      display: flex;
      flex-wrap: wrap;
      gap: 6px;
      margin-top: 8px;
    }

    .file-tag {
      background: white;
      border: 1px solid #fca5a5;
      border-radius: 6px;
      padding: 3px 8px;
      font-size: .7rem;
      color: #dc2626;
      font-weight: 500;
    }

    .why-gif {
      border-radius: 12px;
      overflow: hidden;
      margin-top: 12px;
    }

    /* ── FEATURES ── */
    .feature-block {
      padding: 80px 0;
      border-top: 1px solid var(--gray-100);
    }

    .feature-layout {
      grid-template-columns: 1fr 1fr;
      gap: 72px;
      align-items: center;
    }

    .feature-layout.flip {
      direction: rtl;
    }

    .feature-layout.flip>* {
      direction: ltr;
    }

    .feature-text .eyebrow {
      font-size: .75rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: .08em;
      color: var(--gray-400);
      margin-bottom: 12px;
    }

    .feature-text h2 {
      font-size: clamp(1.7rem, 3vw, 2.4rem);
      font-weight: 900;
      letter-spacing: -0.04em;
      line-height: 1.1;
      margin-bottom: 16px;
    }

    .feature-text p {
      font-size: .9rem;
      color: var(--gray-600);
      line-height: 1.7;
      margin-bottom: 24px;
    }

    .btn-link {
      font-size: .875rem;
      font-weight: 600;
      color: var(--black);
      border: 1px solid var(--gray-200);
      padding: 9px 18px;
      border-radius: 8px;
      display: inline-block;
      transition: border-color .15s;
    }

    .btn-link:hover {
      border-color: var(--gray-400);
    }

    .feature-bullets {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 20px;
      margin-top: 32px;
    }

    .fb h5 {
      font-size: .825rem;
      font-weight: 700;
      margin-bottom: 4px;
    }

    .fb p {
      font-size: .8rem;
      color: var(--gray-600);
    }

    .feature-img-wrap {
      border-radius: 20px;
      overflow: hidden;
      background: var(--lavender);
      padding: 24px;
    }

    .feature-img-wrap img {
      border-radius: 12px;
    }

    /* ── ANALYTICS ── */
    #analytics {
      padding: 80px 0;
      background: var(--gray-50);
      border-top: 1px solid var(--gray-100);
      text-align: center;
    }

    #analytics .eyebrow {
      font-size: .75rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: .08em;
      color: var(--gray-400);
      margin-bottom: 12px;
    }

    #analytics h2 {
      font-size: clamp(1.8rem, 3.5vw, 2.6rem);
      font-weight: 900;
      letter-spacing: -0.04em;
      margin-bottom: 12px;
    }

    #analytics p {
      font-size: .9rem;
      color: var(--gray-600);
      max-width: 520px;
      margin: 0 auto 48px;
    }

    .analytics-img {
      max-width: 820px;
      margin: 0 auto;
      border-radius: 16px;
      overflow: hidden;
      background: white;
      box-shadow: 0 4px 32px rgba(0, 0, 0, .08);
    }

    /* ── EMAILS ── */
    #emails {
      padding: 80px 0;
      border-top: 1px solid var(--gray-100);
    }

    .emails-layout {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 64px;
      align-items: center;
    }

    .emails-text h2 {
      font-size: clamp(1.7rem, 3vw, 2.4rem);
      font-weight: 900;
      letter-spacing: -0.04em;
      line-height: 1.1;
      margin-bottom: 16px;
    }

    .emails-text p {
      font-size: .9rem;
      color: var(--gray-600);
      margin-bottom: 24px;
      line-height: 1.7;
    }

    .emails-img {
      border-radius: 16px;
      overflow: hidden;
      box-shadow: 0 4px 32px rgba(0, 0, 0, .08);
    }

    /* ── INTEGRATIONS ── */
    #integrations {
      padding: 80px 0;
      border-top: 1px solid var(--gray-100);
    }

    .integrations-layout {
      display: block;
      grid-template-columns: 1fr 1fr;
      gap: 64px;
      align-items: center;
      text-align: center;
    }

    .int-logos {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 12px;
      align-items: center;
    }

    .int-api-badge {
      grid-column: span 4;
      background: var(--black);
      color: white;
      font-size: .75rem;
      font-weight: 700;
      letter-spacing: .1em;
      padding: 10px;
      border-radius: 10px;
      text-align: center;
    }

    .int-logo {
      background: var(--gray-50);
      border: 1px solid var(--gray-200);
      border-radius: 12px;
      padding: 14px;
      display: flex;
      align-items: center;
      justify-content: center;
    }

    .int-logo img {
      height: 24px;
      width: auto;
    }

    .integrations-text .eyebrow {
      font-size: .75rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: .08em;
      color: var(--gray-400);
      margin-bottom: 12px;
    }

    .integrations-text h2 {
      font-size: clamp(1.5rem, 2.5vw, 2rem);
      font-weight: 900;
      letter-spacing: -0.04em;
      margin-bottom: 16px;
    }

    .integrations-text p {
      font-size: .9rem;
      color: var(--gray-600);
      margin-bottom: 24px;
      line-height: 1.7;
    }

    .api-btns {
      display: block;
      margin: auto;
      gap: 10px;
      flex-wrap: wrap;
    }

    /* ── COMPARISON ── */
    #comparison {
      padding: 80px 0;
      background: var(--gray-50);
      border-top: 1px solid var(--gray-100);
      text-align: center;
    }

    #comparison .eyebrow {
      font-size: .75rem;
      font-weight: 600;
      color: var(--gray-400);
      text-transform: uppercase;
      letter-spacing: .08em;
      margin-bottom: 10px;
    }

    #comparison h2 {
      font-size: clamp(1.8rem, 3.5vw, 2.6rem);
      font-weight: 900;
      letter-spacing: -0.04em;
      margin-bottom: 48px;
    }

    .comp-table {
      width: 100%;
      border-collapse: collapse;
      background: white;
      border-radius: 16px;
      overflow: hidden;
      box-shadow: 0 2px 20px rgba(0, 0, 0, .06);
    }

    .comp-table th {
      padding: 16px 20px;
      font-size: .8rem;
      font-weight: 700;
      text-align: center;
      background: var(--black);
      color: white;
    }

    .comp-table th:first-child {
      text-align: left;
    }

    .comp-table th.col-q {
      background: #0f7a55;
      color: white;
    }

    .comp-table td {
      padding: 16px 20px;
      font-size: .875rem;
      border-bottom: 1px solid var(--gray-100);
      text-align: center;
    }

    .comp-table td:first-child {
      text-align: left;
      font-weight: 600;
    }

    .comp-table tbody tr:last-child td {
      border-bottom: none;
    }

    .comp-table td.good {
      color: #15803d;
      font-weight: 600;
      background: #f0fdf4;
    }

    .comp-table td.bad {
      color: var(--gray-400);
    }

    /* ── PRICING ── */
    #pricing {
      padding: 80px 0;
      border-top: 1px solid var(--gray-100);
      text-align: center;
    }

    #pricing h2 {
      font-size: clamp(1.8rem, 3.5vw, 2.6rem);
      font-weight: 900;
      letter-spacing: -0.04em;
      margin-bottom: 8px;
    }

    #pricing>.container>p {
      font-size: .9rem;
      color: var(--gray-600);
      margin-bottom: 24px;
    }

    .pricing-badges {
      display: flex;
      gap: 20px;
      justify-content: center;
      margin-bottom: 24px;
      flex-wrap: wrap;
    }

    .pricing-badges span {
      font-size: .8rem;
      color: var(--gray-600);
    }

    .billing-toggle {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 12px;
      margin-bottom: 48px;
    }

    .toggle-opt {
      font-size: .875rem;
      font-weight: 500;
      color: var(--gray-400);
      cursor: pointer;
    }

    .toggle-opt.active {
      color: var(--black);
      font-weight: 600;
    }

    .switch {
      position: relative;
      width: 44px;
      height: 24px;
      cursor: pointer;
    }

    .switch input {
      opacity: 0;
      width: 0;
      height: 0;
    }

    .slider {
      position: absolute;
      inset: 0;
      background: var(--gray-200);
      border-radius: 100px;
      transition: background .2s;
    }

    .switch input:checked+.slider {
      background: var(--black);
    }

    .knob {
      position: absolute;
      top: 3px;
      left: 3px;
      width: 18px;
      height: 18px;
      background: white;
      border-radius: 50%;
      transition: transform .2s;
      box-shadow: 0 1px 3px rgba(0, 0, 0, .2);
    }

    .switch input:checked~.knob {
      transform: translateX(20px);
    }

    .save-pill {
      background: #dcfce7;
      color: #15803d;
      font-size: .7rem;
      font-weight: 700;
      padding: 3px 10px;
      border-radius: 100px;
    }

    .pricing-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 16px;
      text-align: left;
    }

    .p-card {
      border: 1px solid var(--gray-200);
      border-radius: 16px;
      padding: 32px 28px;
      background: white;
      position: relative;
    }

    .p-card.popular {
      background: var(--black);
      border-color: var(--black);
      color: white;
    }

    .pop-badge {
      position: absolute;
      top: -12px;
      left: 50%;
      transform: translateX(-50%);
      background: #22c55e;
      color: white;
      font-size: .65rem;
      font-weight: 800;
      text-transform: uppercase;
      letter-spacing: .1em;
      padding: 4px 12px;
      border-radius: 100px;
      white-space: nowrap;
    }

    .p-name {
      font-size: .75rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: .1em;
      color: var(--gray-400);
      margin-bottom: 10px;
    }

    .p-card.popular .p-name {
      color: #6b7280;
    }

    .p-amount {
      font-size: 2.8rem;
      font-weight: 900;
      letter-spacing: -0.04em;
      line-height: 1;
    }

    .p-period {
      font-size: .85rem;
      color: var(--gray-400);
      margin-bottom: 4px;
    }

    .p-card.popular .p-period {
      color: #6b7280;
    }

    .p-billing {
      font-size: .75rem;
      color: var(--gray-400);
      margin-bottom: 24px;
      min-height: 18px;
    }

    .p-card.popular .p-billing {
      color: #6b7280;
    }

    .p-features {
      list-style: none;
      display: flex;
      flex-direction: column;
      gap: 10px;
      margin-bottom: 28px;
    }

    .p-features li {
      display: flex;
      align-items: center;
      gap: 8px;
      font-size: .875rem;
      color: var(--gray-600);
    }

    .p-card.popular .p-features li {
      color: #9ca3af;
    }

    .p-features li.ticket::before {
      content: '✓';
      color: #22c55e;
      font-weight: 700;
      flex-shrink: 0;
    }

    .btn-plan {
      display: block;
      text-align: center;
      font-size: .875rem;
      font-weight: 600;
      padding: 11px;
      border-radius: 8px;
      transition: opacity .15s;
    }

    .btn-plan:hover {
      opacity: .85;
    }

    .btn-plan-dark {
      background: var(--gray-100);
      color: var(--black);
    }

    .btn-plan-white {
      background: white;
      color: var(--black);
    }

    /* ── FAQ ── */
    #faq {
      padding: 80px 0;
      border-top: 1px solid var(--gray-100);
    }

    #faq h2 {
      font-size: clamp(1.8rem, 3.5vw, 2.4rem);
      font-weight: 900;
      letter-spacing: -0.04em;
      margin-bottom: 48px;
      text-align: center;
    }

    .faq-wrap {
      max-width: 680px;
      margin: 0 auto;
    }

    details {
      border-bottom: 1px solid var(--gray-200);
    }

    details:first-of-type {
      border-top: 1px solid var(--gray-200);
    }

    summary {
      font-size: .925rem;
      font-weight: 600;
      padding: 18px 0;
      cursor: pointer;
      display: flex;
      justify-content: space-between;
      align-items: center;
      list-style: none;
    }

    summary::-webkit-details-marker {
      display: none;
    }

    summary::after {
      content: '+';
      font-size: 1.2rem;
      color: var(--gray-400);
      flex-shrink: 0;
      margin-left: 16px;
    }

    details[open] summary::after {
      content: '–';
    }

    details p {
      font-size: .875rem;
      color: var(--gray-600);
      line-height: 1.7;
      padding-bottom: 18px;
    }

    /* ── FOOTER ── */
    footer {
      background: var(--white);
      border-top: 1px solid var(--gray-200);
      padding: 56px 0 32px;
    }

    .footer-grid {
      display: grid;
      grid-template-columns: 1.4fr 1fr 1fr 1fr;
      gap: 48px;
      margin-bottom: 48px;
    }

    .footer-brand p.tagline {
      font-size: .85rem;
      color: var(--gray-400);
      margin-top: 10px;
    }

    .footer-col h5 {
      font-size: .75rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: .1em;
      color: var(--black);
      margin-bottom: 16px;
    }

    .footer-col ul {
      list-style: none;
      display: flex;
      flex-direction: column;
      gap: 10px;
    }

    .footer-col a {
      font-size: .875rem;
      color: var(--gray-400);
      transition: color .15s;
    }

    .footer-col a:hover {
      color: var(--black);
    }

    .footer-bottom {
      border-top: 1px solid var(--gray-100);
      padding-top: 24px;
      font-size: .8rem;
      color: var(--gray-400);
    }

    @media (max-width: 860px) {
      .stats-cards,
      .why-grid,
      .feature-layout,
      .emails-layout,
      .integrations-layout,
      .pricing-grid,
      .footer-grid {
        grid-template-columns: 1fr;
      }

      .feature-layout.flip {
        direction: ltr;
      }

      .feature-bullets {
        grid-template-columns: 1fr;
      }

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

    /* ── FONTS ── */
    @font-face {
      font-family: 'Inter-Custom';
      src: url('/assets/fonts/vQyevYAyHtARFwPqUzQGpnDs.woff2') format('woff2');
      font-weight: 400;
      font-style: normal;
    }

    @font-face {
      font-family: 'Inter-Custom';
      src: url('/assets/fonts/d3tHnaQIAeqiE5hGcRw4mmgWYU.woff2') format('woff2');
      font-weight: 600;
      font-style: normal;
    }

    @font-face {
      font-family: 'Inter-Custom';
      src: url('/assets/fonts/7AHDUZ4A7LFLVFUIFSARGIWCRQJHISQP.woff2') format('woff2');
      font-weight: 500;
      font-style: normal;
      font-display: swap;
    }

    @font-face {
      font-family: 'Inter-Custom';
      src: url('/assets/fonts/DXD0Q7LSl7HEvDzucnyLnGBHM.woff2') format('woff2');
      font-weight: 700;
      font-style: normal;
      font-display: swap;
    }

    @font-face {
      font-family: 'Inter-Custom';
      src: url('/assets/fonts/Y7SCNZJOT2MW5ADSGOFLDGH4TNL4JCQY.woff2') format('woff2');
      font-weight: 800;
      font-style: normal;
    }

    body {
      font-family: 'Inter-Custom', sans-serif;
      -webkit-font-smoothing: antialiased;
    }

    h1,
    h2,
    h3 {
      font-weight: 800;
      letter-spacing: -0.025em;
    }

    /* ── HERO TITLE ANIMATION ── */
    #title-text {
      background: linear-gradient(to right, #22c55e, #04120d);
      -webkit-background-clip: text;
      background-clip: text;
      -webkit-text-fill-color: transparent;
      color: transparent;
      padding-right: 5px;
      display: inline-block;
    }

    #changing-text {
      display: inline-block;
      border-right: 3px solid #22c55e;
      padding-right: 4px;
      margin-right: 5px;
      white-space: nowrap;
      vertical-align: bottom;
    }

    .blinking {
      animation: blink-cursor 0.8s step-end infinite;
    }

    @keyframes blink-cursor {
      from, to { border-color: transparent; }
      50% { border-color: #22c55e; }
    }

    /* ── LOGOS SLIDER (Infinito) ── */
    .logos-slider {
      overflow: hidden;
      width: 100%;
      background: var(--white);
      padding: 60px 0;
      position: relative;
    }

    .logos-slider::before,
    .logos-slider::after {
      content: "";
      position: absolute;
      top: 0;
      width: 150px;
      height: 100%;
      z-index: 2;
      pointer-events: none;
    }

    .logos-slider::before {
      left: 0;
      background: linear-gradient(to right, white, transparent);
    }

    .logos-slider::after {
      right: 0;
      background: linear-gradient(to left, white, transparent);
    }

    .logos-inner {
      display: flex;
      width: max-content;
      gap: 80px;
      align-items: center;
      animation: scroll-infinito 40s linear infinite;
    }

    .logos-inner img {
      height: 35px;
      flex-shrink: 0;
      filter: grayscale(1);
      opacity: 0.5;
      transition: all 0.3s ease;
    }

    .logos-inner img:hover {
      filter: grayscale(0);
      opacity: 1;
    }

    @keyframes scroll-infinito {
      0%   { transform: translateX(0); }
      100% { transform: translateX(-50%); }
    }

    /* ── CENTERED TEXT BLOCKS ── */
    .centered-text {
      text-align: center;
    }

    .centered-text h2,
    .centered-text p {
      margin-left: auto;
      margin-right: auto;
      text-align: center;
    }

    #why .centered-text h2 {
      max-width: 600px;
      margin-left: auto;
      margin-right: auto;
      text-align: center;
    }

    #why .centered-text p {
      max-width: 520px;
      margin-left: auto;
      margin-right: auto;
      text-align: center;
    }

    .feature-text .centered-text h2,
    .feature-text .centered-text p {
      max-width: 100% !important;
    }

    /* ── 3D SCROLL TILT ── */
    .hero-app-img,
    .feature-img-wrap {
      perspective: 1200px;
    }

    .hero-app-img img,
    .feature-img-wrap img {
      transition: transform 0.1s ease-out;
      will-change: transform;
      transform-style: preserve-3d;
    }

    /* ── UTILITIES ── */
    .small {
      font-size: .8rem;
      color: var(--gray-400);
    }

    .mt12 {
      margin-top: 12px;
    }

    p.li.no-ticket::before {
      list-style: none;
    }