
    
    .tpc-hero {
      padding: 56px 16px 48px;
      background: linear-gradient(180deg, #E8F2FA 0%, #FFFFFF 100%);
    }
    .tpc-hero__inner {
      max-width: 1100px;
      margin: 0 auto;
      text-align: center;
    }
    .tpc-hero h1 {
      font-size: clamp(30px, 4.4vw, 48px);
      line-height: 1.1;
      letter-spacing: -0.02em;
      color: var(--tp-blue-navy);
      margin: 0 0 16px;
    }
    .tpc-hero h1 span {
      color: var(--tp-blue-bright);
    }
    .tpc-hero__lead {
      font-size: 17px;
      line-height: 1.55;
      color: #4b5563;
      max-width: 720px;
      margin: 0 auto 28px;
    }
    .tpc-hero__cta {
      display: inline-flex;
      gap: 12px;
      flex-wrap: wrap;
      justify-content: center;
    }
    
    .tpc-hero__cta .tp-button--secondary {
      background: #fbbf24;
      color: var(--tp-blue-navy);
      border-color: #fbbf24;
      font-weight: 700;
    }
    .tpc-hero__cta .tp-button--secondary:hover {
      background: #f59e0b;
      border-color: #f59e0b;
      color: var(--tp-blue-navy);
    }
    
    .tpc-hero__floats {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 16px;
      max-width: 760px;
      margin: 36px auto 0;
    }
    @media (max-width: 640px) {
      .tpc-hero__floats { grid-template-columns: 1fr; gap: 10px; }
    }
    .tpc-hero__float {
      background: transparent;
      border-radius: 0;
      padding: 6px 4px;
      box-shadow: none;
      border: none;
      display: flex;
      align-items: center;
      gap: 12px;
      text-align: left;
    }
    .tpc-hero__float-icon {
      width: 40px; height: 40px;
      border-radius: 10px;
      display: flex; align-items: center; justify-content: center;
      flex-shrink: 0;
    }
    .tpc-hero__float-icon--blue   { background: rgba(0, 103, 178,0.12);  color: var(--tp-blue-bright); }
    .tpc-hero__float-icon--green  { background: rgba(22,163,74,0.12); color: #16A34A; }
    .tpc-hero__float-icon--coral  { background: rgba(231,111,81,0.14); color: #E76F51; }
    .tpc-hero__float-text strong {
      display: block;
      font-size: 19px;
      font-weight: 800;
      color: var(--tp-blue-navy);
      line-height: 1;
    }
    .tpc-hero__float-text span {
      font-size: 12px;
      color: #6b7280;
      margin-top: 4px;
      display: block;
      letter-spacing: 0.2px;
    }

    
    .tpc-marquee {
      padding: 28px 0 20px;
      background: #fff;
      border-top: 1px solid rgba(36,51,76,0.05);
    }
    .tpc-marquee__label {
      text-align: center;
      font-size: 13px;
      color: #6b7280;
      margin: 0 0 14px;
      letter-spacing: 0.3px;
      text-transform: uppercase;
      font-weight: 600;
    }

    
    .tpc-comparativa { padding: 56px 16px; background: #F8F9FB; }
    .tpc-comparativa__inner { max-width: 1200px; margin: 0 auto; }

    
    .tpc-fold { display: grid; grid-template-columns: minmax(0, 1fr); grid-template-areas: "hero" "form"; background: #fff; }
    .tpc-fold > #hero-comparar   { grid-area: hero; }
    .tpc-fold > .tp-form-section { grid-area: form; }
    .tpc-fold > #comparativa     { grid-area: tabla; }
    .tpc-hero__lead--short { display: block; }
    .tpc-hero__lead--long  { display: none; }
    @media (min-width: 960px) {
      .tpc-fold {
        grid-template-columns: minmax(0, 540px) minmax(0, 600px);
        grid-template-areas: "hero form";
        justify-content: center;      
        align-items: start;           
        column-gap: 64px;
        background: #fff;             
      }
      
      .tpc-fold > #hero-comparar   { background: transparent; padding: 76px 0 56px; }
      .tpc-fold .tpc-hero__inner   { max-width: 540px; margin: 0; text-align: left; }
      .tpc-fold .tpc-hero h1       { margin: 0 0 18px; }
      .tpc-fold .tpc-hero__lead--long  { display: block; margin: 0 0 30px; max-width: none; }
      .tpc-fold .tpc-hero__lead--short { display: none; }
      .tpc-fold .tpc-hero__cta     { justify-content: flex-start; margin: 0; }
      
      .tpc-fold .tpc-hero__floats  {
        margin: 34px 0 0; max-width: none;
        padding-top: 30px; border-top: 1px solid #EDEFF3;
        gap: 20px 24px;
      }
      
      .tpc-fold > .tp-form-section { background: transparent; padding: 56px 0; }
      .tpc-fold .tp-form-section .tp-container   { max-width: 600px; margin: 0; padding: 0; }
      .tpc-fold .tp-form-section .tp-form-layout { display: block; }
      .tpc-fold .tp-form-section .tp-form-copy   { display: none; }
      .tpc-fold .tp-form-wrap      { width: 100%; }
      
      .tpc-fold > #comparativa     { width: 100vw; margin-left: calc(50% - 50vw); }
    }

    
    
    .tpc-table__row { transition: background 0.15s; }
    .tpc-table__row td:first-child {
      border-left: 4px solid var(--brand-color, transparent);
    }
    .tpc-table__row:hover {
      background: color-mix(in srgb, var(--brand-color, var(--tp-blue-bright)) 5%, transparent) !important;
    }
    
    .tpc-table__row .tpc-table__tipo {
      background: color-mix(in srgb, var(--brand-color, var(--tp-blue-bright)) 12%, transparent);
      color: var(--brand-color, var(--tp-blue-bright));
    }
    
    .tpc-table__row .tpc-table__cta {
      background: var(--brand-color, var(--tp-blue-navy));
    }
    .tpc-table__row .tpc-table__cta:hover {
      filter: brightness(1.10);
    }
    
    .tpc-table__row .tpc-table__uf {
      color: var(--brand-color, var(--tp-blue-bright));
    }

    
    .tpc-table__brand {
      display: flex;
      align-items: center;
      gap: 12px;
    }
    .tpc-table__logo {
      width: auto;
      max-width: 100px;
      height: 28px;
      object-fit: contain;
      object-position: left center;
      flex-shrink: 0;
    }

    .tpc-section-head {
      text-align: center;
      max-width: 720px;
      margin: 0 auto 32px;
    }
    .tpc-section-head h2 {
      font-size: clamp(24px, 3.2vw, 34px);
      color: var(--tp-blue-navy);
      margin: 0 0 12px;
    }
    .tpc-section-head h2 span { color: var(--tp-blue-bright); }
    .tpc-section-head p {
      color: #4b5563;
      font-size: 16px;
      line-height: 1.55;
      margin: 0;
    }
    .tpc-disclaimer {
      background: #FFF8E5;
      border-left: 3px solid #fbbf24;
      padding: 12px 16px;
      border-radius: 6px;
      font-size: 13px;
      color: #4b5563;
      margin: 0 0 24px;
      max-width: 1100px;
      margin-left: auto;
      margin-right: auto;
    }
    .tpc-table-wrap {
      overflow-x: auto;
      border-radius: 16px;
      box-shadow: 0 8px 24px -10px rgba(36,51,76,0.12);
      border: 1px solid rgba(36,51,76,0.06);
      background: #fff;
    }
    .tpc-table {
      width: 100%;
      min-width: 760px;
      border-collapse: collapse;
      font-size: 15px;
    }
    .tpc-table thead {
      background: linear-gradient(135deg, var(--tp-blue-navy) 0%, #1a2638 100%);
    }
    .tpc-table thead th:first-child { border-top-left-radius: 12px; }
    .tpc-table thead th:last-child  { border-top-right-radius: 12px; }
    .tpc-table th {
      text-align: left;
      padding: 16px 16px;
      font-weight: 700;
      font-size: 12px;
      letter-spacing: 0.6px;
      text-transform: uppercase;
      color: #fff;
      border-bottom: none;
    }
    .tpc-table td {
      padding: 18px 16px;
      border-bottom: 1px solid rgba(36,51,76,0.06);
      vertical-align: middle;
    }
    .tpc-table tbody tr:last-child td { border-bottom: none; }
    .tpc-table tbody tr:hover { background: #FAFBFC; }
    .tpc-table__name {
      font-weight: 700;
      color: var(--tp-blue-navy);
      font-size: 16px;
    }
    .tpc-table__diff {
      color: #4b5563;
      font-size: 14px;
      line-height: 1.45;
    }
    .tpc-table__uf {
      font-weight: 700;
      color: var(--tp-blue-bright);
      font-size: 17px;
      white-space: nowrap;
    }
    .tpc-table__clp {
      display: block;
      font-size: 12px;
      color: #6b7280;
      font-weight: 500;
      margin-top: 2px;
    }
    .tpc-table__tipo {
      display: inline-block;
      padding: 4px 10px;
      background: rgba(0, 103, 178,0.08);
      color: var(--tp-blue-bright);
      border-radius: 999px;
      font-size: 12px;
      font-weight: 600;
      white-space: nowrap;
    }
    .tpc-table__cta {
      display: inline-block;
      padding: 8px 14px;
      background: var(--tp-blue-navy);
      color: white;
      border-radius: 8px;
      text-decoration: none;
      font-size: 13px;
      font-weight: 600;
      transition: background 0.2s;
      white-space: nowrap;
    }
    .tpc-table__cta:hover { background: var(--tp-blue-bright); }

    
    @media (max-width: 640px) {
      .tpc-table-wrap { overflow: hidden; }               
      .tpc-table { min-width: 0; width: 100%; display: block; }
      .tpc-table thead { display: none; }                 
      .tpc-table tbody { display: block; }

      
      .tpc-table__row {
        display: grid;
        grid-template-columns: 1fr auto;
        grid-template-areas:
          "brand brand"
          "diff  price"
          "cta   cta";
        column-gap: 12px;
        row-gap: 13px;
        padding: 16px;
        border-bottom: 1px solid rgba(36,51,76,0.10);
      }
      .tpc-table__row:last-child { border-bottom: none; }
      .tpc-table__row > td { display: block; padding: 0; border: none !important; box-sizing: border-box; min-width: 0; }
      .tpc-table__row > td:nth-child(1) { grid-area: brand; }              
      .tpc-table__row > td:nth-child(2) { grid-area: diff; align-self: center; }
      .tpc-table__row > td:nth-child(3) { grid-area: price; text-align: right; align-self: center; }
      .tpc-table__row > td:nth-child(4) { display: none; }                 
      .tpc-table__row > td:nth-child(5) { grid-area: cta; }

      .tpc-table__logo { height: 34px; max-width: 150px; }
      .tpc-table__diff { font-size: 14px; }
      .tpc-table__uf   { font-size: 18px; }
      .tpc-table__clp::after { content: " / mes"; }
      
      .tpc-table__cta { display: block; width: 100%; box-sizing: border-box; text-align: center; padding: 12px; font-size: 15px; }
    }

    
    .visually-hidden {
      position: absolute !important;
      width: 1px !important;
      height: 1px !important;
      padding: 0 !important;
      margin: -1px !important;
      overflow: hidden !important;
      clip: rect(0,0,0,0) !important;
      white-space: nowrap !important;
      border: 0 !important;
    }

    
    .tpc-marquee .tp-marquee-logo {
      filter: grayscale(100%);
      opacity: 0.62;
      transition: filter 0.3s ease, opacity 0.3s ease;
    }
    .tpc-marquee .tp-marquee-logo:hover {
      filter: grayscale(0%);
      opacity: 1;
    }

    
    .tpc-priorizar { background: #fff !important; }       
    .tpc-form-bg-soft { background: #F8F9FB; }            
    
    .tpc-faq { background: #F8F9FB !important; }          

    .tpc-uf-note {
      font-size: 13px;
      color: #6b7280;
      margin: 16px 0 0;
      text-align: center;
    }
    .tpc-uf-note a { color: var(--tp-blue-bright); text-decoration: none; }
    .tpc-uf-note a:hover { text-decoration: underline; }

    
    .tpc-priorizar { padding: 56px 16px; background: #F8F9FB; }
    .tpc-priorizar__inner { max-width: 1100px; margin: 0 auto; }
    .tpc-filtros-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 16px;
      margin-top: 28px;
    }
    @media (max-width: 900px) { .tpc-filtros-grid { grid-template-columns: repeat(2, 1fr); } }
    @media (max-width: 480px) { .tpc-filtros-grid { grid-template-columns: 1fr; } }
    .tpc-filtro {
      background: #fff;
      border: 1px solid rgba(36,51,76,0.08);
      border-radius: 16px;
      padding: 24px 20px;
      text-decoration: none;
      color: var(--tp-blue-navy);
      transition: transform 0.2s, box-shadow 0.2s, border-color 0.2s;
      display: block;
    }
    .tpc-filtro:hover {
      transform: translateY(-2px);
      box-shadow: 0 12px 28px -12px rgba(36,51,76,0.15);
      border-color: rgba(0, 103, 178,0.25);
    }
    .tpc-filtro__icon {
      width: 44px; height: 44px;
      border-radius: 12px;
      background: rgba(0, 103, 178,0.10);
      color: var(--tp-blue-bright);
      display: flex;
      align-items: center;
      justify-content: center;
      margin-bottom: 14px;
    }
    .tpc-filtro--coral .tpc-filtro__icon { background: rgba(231,111,81,0.12); color: #E76F51; }
    .tpc-filtro--green .tpc-filtro__icon { background: rgba(22,163,74,0.10); color: #16A34A; }
    .tpc-filtro--purple .tpc-filtro__icon { background: rgba(91,95,199,0.10); color: #5B5FC7; }
    .tpc-filtro h3 {
      font-size: 17px;
      font-weight: 700;
      margin: 0 0 6px;
      color: var(--tp-blue-navy);
    }
    .tpc-filtro p {
      font-size: 13px;
      line-height: 1.5;
      color: #6b7280;
      margin: 0;
    }

    
    .tpc-metodo { padding: 56px 16px; background: #fff; }
    .tpc-metodo__inner { max-width: 900px; margin: 0 auto; }
    .tpc-metodo__list {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 24px;
      margin-top: 28px;
    }
    @media (max-width: 768px) { .tpc-metodo__list { grid-template-columns: 1fr; } }
    .tpc-metodo__item {
      padding: 20px;
      background: #F8F9FB;
      border-radius: 12px;
    }
    .tpc-metodo__item h3 {
      font-size: 15px;
      color: var(--tp-blue-bright);
      margin: 0 0 8px;
      font-weight: 700;
    }
    .tpc-metodo__item p { font-size: 14px; line-height: 1.55; color: #4b5563; margin: 0; }

    
    .tpc-faq { padding: 56px 16px; background: #fff; }
    .tpc-faq__inner { max-width: 760px; margin: 0 auto; }
    .tpc-faq-list { margin-top: 24px; }
    .tpc-faq-item {
      border-bottom: 1px solid rgba(36,51,76,0.08);
      padding: 16px 0;
    }
    .tpc-faq-item summary {
      cursor: pointer;
      font-weight: 600;
      color: var(--tp-blue-navy);
      font-size: 16px;
      list-style: none;
      position: relative;
      padding-right: 30px;
    }
    .tpc-faq-item summary::-webkit-details-marker { display: none; }
    .tpc-faq-item summary::after {
      content: "+";
      position: absolute;
      right: 0; top: 50%;
      transform: translateY(-50%);
      font-size: 22px;
      color: var(--tp-blue-bright);
      font-weight: 400;
      transition: transform 0.2s;
    }
    .tpc-faq-item[open] summary::after { content: "−"; }
    .tpc-faq-item__body {
      margin-top: 10px;
      color: #4b5563;
      line-height: 1.6;
      font-size: 15px;
    }
  