:root {
      /* Tokens oficiales compartidos con los partials de Menares. */
      --brand-dark: #1A2530;
      --brand-dark-2: #243647;
      --brand-cyan: #00B4D8;
      --brand-cyan-soft: #e6f9fd;
      --bg-app: #f0f4f8;
      --card-bg: #ffffff;
      --text-main: #1d2d42;
      --text-muted: #54657b;
      --border-light: rgba(26, 37, 48, 0.08);
      --navy: var(--brand-dark);
      --navy-deep: #0c1d2c;
      --cyan: var(--brand-cyan);
      --cyan-dark: #007d97;
      --mint: #2fd6a3;
      --mint-dark: #087443;
      --gold: #f0b84a;
      --gold-dark: #945400;
      --magenta: #c70072;
      --ink: var(--text-main);
      --muted: var(--text-muted);
      --line: #d9e3ec;
      --soft: #f3f8fb;
      --paper: #fffdf8;
      --white: #ffffff;
      --shadow-sm: 0 14px 36px rgba(24, 54, 72, 0.09);
      --shadow-lg: 0 28px 80px rgba(11, 37, 53, 0.14);
      --radius: 24px;
    }

    * {
      box-sizing: border-box;
    }

    html {
      scroll-behavior: smooth;
      scroll-padding-top: 112px;
    }

    body {
      margin: 0;
      color: var(--ink);
      background:
        radial-gradient(circle at 8% 4%, rgba(0, 180, 216, 0.10), transparent 24rem),
        linear-gradient(180deg, #f7fbfd 0, #ffffff 38rem, #f5f9fb 100%);
      font-family: Inter, Arial, sans-serif;
      -webkit-font-smoothing: antialiased;
    }

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

    a {
      color: inherit;
    }

    button,
    a {
      -webkit-tap-highlight-color: transparent;
    }

    button {
      font: inherit;
    }

    .skip-link {
      position: fixed;
      top: 12px;
      left: 12px;
      z-index: 100;
      transform: translateY(-160%);
      padding: 11px 15px;
      border-radius: 10px;
      background: var(--navy);
      color: #fff;
      font-weight: 800;
      text-decoration: none;
      transition: transform 0.2s ease;
    }

    .skip-link:focus {
      transform: translateY(0);
    }

    .site-header {
      position: sticky;
      top: 0;
      z-index: 50;
      border-bottom: 1px solid rgba(196, 215, 226, 0.78);
      background: rgba(255, 255, 255, 0.88);
      backdrop-filter: blur(18px);
      transition: background 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease;
    }

    .site-header.is-scrolled {
      border-bottom-color: rgba(190, 211, 222, 0.92);
      background: rgba(255, 255, 255, 0.96);
      box-shadow: 0 10px 32px rgba(13, 40, 57, 0.10);
    }

    .header-inner {
      width: min(1180px, calc(100% - 40px));
      min-height: 78px;
      margin: 0 auto;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 22px;
      transition: min-height 0.28s ease;
    }

    .brand {
      display: inline-flex;
      align-items: center;
      width: 180px;
      height: 52px;
      flex: 0 0 auto;
      overflow: hidden;
      text-decoration: none;
      transition: width 0.28s ease, height 0.28s ease;
    }

    .brand img {
      width: 100%;
      max-width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center;
      image-rendering: auto;
    }

    .site-header.is-scrolled .header-inner {
      min-height: 70px;
    }

    .site-header.is-scrolled .brand {
      width: 168px;
      height: 48px;
    }

    .scroll-progress {
      position: absolute;
      right: 0;
      bottom: -1px;
      left: 0;
      height: 3px;
      overflow: hidden;
      pointer-events: none;
    }

    .scroll-progress span {
      display: block;
      width: 100%;
      height: 100%;
      transform: scaleX(0);
      transform-origin: left center;
      background: linear-gradient(90deg, var(--brand-dark), var(--brand-cyan), var(--brand-dark-2));
      box-shadow: 0 0 14px rgba(0, 180, 216, 0.42);
      will-change: transform;
    }

    .header-actions {
      display: flex;
      align-items: center;
      gap: 9px;
    }

    .back-button,
    .primary-button,
    .secondary-button {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 9px;
      min-height: 44px;
      border-radius: 12px;
      padding: 0 15px;
      font-size: 13px;
      font-weight: 850;
      line-height: 1.2;
      text-decoration: none;
      cursor: pointer;
      transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
    }

    .back-button,
    .primary-button {
      border: 1px solid var(--navy);
      background: var(--navy);
      color: #fff;
      box-shadow: 0 12px 24px rgba(26, 37, 48, 0.16);
    }

    .secondary-button {
      border: 1px solid #cde1ea;
      background: #fff;
      color: var(--navy);
    }

    .back-button:hover,
    .primary-button:hover,
    .secondary-button:hover {
      transform: translateY(-1px);
    }

    .back-button:focus-visible,
    .primary-button:focus-visible,
    .secondary-button:focus-visible,
    .route-link:focus-visible,
    summary:focus-visible,
    input:focus-visible {
      outline: 3px solid rgba(0, 180, 216, 0.32);
      outline-offset: 3px;
    }

    .button-icon {
      display: block;
      width: 17px;
      height: 17px;
      flex: 0 0 auto;
      align-self: center;
    }

    main {
      overflow: hidden;
    }

    .hero {
      width: min(1180px, calc(100% - 40px));
      margin: 34px auto 0;
      display: grid;
      grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr);
      gap: clamp(30px, 5vw, 64px);
      align-items: center;
      min-height: 0;
    }

    .hero-copy {
      max-width: 840px;
    }

    .eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 9px;
      margin: 0 0 17px;
      color: var(--cyan-dark);
      font-size: 12px;
      font-weight: 900;
      letter-spacing: 0.06em;
      text-transform: uppercase;
    }

    .eyebrow::before {
      content: "";
      width: 22px;
      height: 3px;
      border-radius: 999px;
      background: var(--cyan);
    }

    h1,
    h2,
    h3 {
      font-family: Montserrat, Inter, sans-serif;
      color: var(--navy);
    }

    h1 {
      max-width: 650px;
      margin: 0;
      font-size: clamp(42px, 5.5vw, 70px);
      line-height: 0.99;
      letter-spacing: -0.052em;
      font-weight: 900;
    }

    h1 span {
      color: var(--cyan-dark);
    }

    .hero-copy > p {
      max-width: 590px;
      margin: 23px 0 0;
      color: #465e72;
      font-size: 17px;
      line-height: 1.7;
      font-weight: 570;
    }

    .hero-facts {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      margin-top: 27px;
    }

    .fact-pill {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      min-height: 39px;
      padding: 0 13px;
      border: 1px solid #d4e6ed;
      border-radius: 999px;
      background: rgba(255, 255, 255, 0.82);
      color: #42596b;
      font-size: 12px;
      font-weight: 800;
      box-shadow: 0 8px 22px rgba(23, 69, 91, 0.05);
      transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
    }

    .fact-pill:hover {
      transform: translateY(-2px);
      border-color: rgba(0, 180, 216, 0.42);
      box-shadow: 0 12px 28px rgba(23, 69, 91, 0.10);
    }

    .fact-pill svg {
      width: 16px;
      height: 16px;
      flex: 0 0 auto;
      color: var(--cyan-dark);
    }

    .hero-visual {
      position: relative;
      width: 100%;
      max-width: 500px;
      justify-self: center;
      border: 1px solid rgba(201, 222, 232, 0.88);
      border-radius: 32px;
      padding: 10px;
      background: #fff;
      box-shadow: var(--shadow-lg);
      isolation: isolate;
      overflow: visible;
      transition: transform 0.35s ease, box-shadow 0.35s ease;
    }

    .hero-visual:hover {
      transform: translateY(-4px);
      box-shadow: 0 34px 88px rgba(11, 37, 53, 0.18);
    }

    .hero-visual::before,
    .hero-visual::after {
      content: "";
      position: absolute;
      z-index: -1;
      border-radius: 999px;
    }

    .hero-visual::before {
      width: 148px;
      height: 148px;
      top: -36px;
      right: -38px;
      border: 22px solid rgba(47, 214, 163, 0.17);
    }

    .hero-visual::after {
      width: 74px;
      height: 74px;
      left: -28px;
      bottom: 32px;
      background: rgba(240, 184, 74, 0.22);
    }

    .hero-visual img {
      width: 100%;
      aspect-ratio: 1696 / 960;
      border-radius: 23px;
      object-fit: cover;
      background: #f8fbfd;
    }

    .hero-sticker {
      position: absolute;
      left: 28px;
      bottom: 25px;
      display: flex;
      align-items: center;
      gap: 11px;
      max-width: 220px;
      padding: 12px 14px;
      border: 1px solid rgba(255, 255, 255, 0.8);
      border-radius: 15px;
      background: rgba(12, 29, 44, 0.91);
      color: #fff;
      box-shadow: 0 15px 28px rgba(12, 29, 44, 0.22);
      backdrop-filter: blur(10px);
    }

    .hero-sticker svg {
      width: 24px;
      height: 24px;
      flex: 0 0 auto;
      color: #7be8ff;
    }

    .hero-sticker span {
      font-size: 11px;
      line-height: 1.35;
      font-weight: 700;
    }

    .hero-sticker strong {
      display: block;
      margin-bottom: 2px;
      font-size: 13px;
      font-weight: 900;
    }

    .route-nav {
      width: min(1100px, calc(100% - 40px));
      margin: 28px auto 60px;
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      border: 1px solid #d8e6ed;
      border-radius: 18px;
      background: #fff;
      box-shadow: var(--shadow-sm);
      overflow: hidden;
    }

    .route-link {
      min-width: 0;
      display: grid;
      grid-template-columns: 36px minmax(0, 1fr);
      gap: 10px;
      align-items: center;
      padding: 16px 17px;
      text-decoration: none;
      transition: background 0.22s ease, color 0.22s ease, box-shadow 0.22s ease;
    }

    .route-link + .route-link {
      border-left: 1px solid #e3edf2;
    }

    .route-link:hover {
      background: #f3fafc;
    }

    .route-link.is-active {
      position: relative;
      z-index: 1;
      background: linear-gradient(135deg, #eefafd, #f5fffb);
      box-shadow: inset 0 -3px 0 var(--cyan);
    }

    .route-link.is-active .route-number {
      color: #fff;
      background: linear-gradient(135deg, var(--cyan-dark), var(--cyan));
      box-shadow: 0 8px 18px rgba(0, 146, 176, 0.20);
    }

    .route-number {
      display: grid;
      place-items: center;
      width: 36px;
      height: 36px;
      border-radius: 11px;
      background: #eaf8fb;
      color: var(--cyan-dark);
      font-family: Montserrat, Inter, sans-serif;
      font-size: 12px;
      font-weight: 900;
      transition: color 0.22s ease, background 0.22s ease, box-shadow 0.22s ease;
    }

    .route-link strong,
    .route-link small {
      display: block;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    .route-link strong {
      color: var(--navy);
      font-size: 12px;
      font-weight: 900;
    }

    .route-link small {
      margin-top: 2px;
      color: var(--muted);
      font-size: 10px;
      font-weight: 650;
    }

    .guide-section {
      position: relative;
      width: min(1100px, calc(100% - 40px));
      margin: 0 auto;
      padding: 0 0 48px;
    }

    .guide-section + .guide-section {
      padding-top: 48px;
      border-top: 1px solid #dce8ee;
    }

    .section-head {
      display: grid;
      grid-template-columns: 76px minmax(0, 1fr);
      gap: 0 22px;
      align-items: start;
      margin-bottom: 28px;
    }

    .section-head > div,
    .section-head > p {
      grid-column: 2;
    }

    .step-badge {
      position: relative;
      grid-row: 1 / span 2;
      display: grid;
      place-items: center;
      width: 76px;
      height: 76px;
      border-radius: 22px;
      overflow: hidden;
      border: 1px solid rgba(255, 255, 255, 0.14);
      background:
        radial-gradient(circle at 78% 18%, rgba(0, 180, 216, 0.48), transparent 38%),
        linear-gradient(145deg, #1c3448, var(--navy-deep));
      color: #fff;
      box-shadow: 0 15px 30px rgba(26, 37, 48, 0.17);
      font-family: Montserrat, Inter, sans-serif;
      font-size: 24px;
      font-weight: 900;
    }

    .step-badge::after {
      content: "";
      position: absolute;
      width: 28px;
      height: 28px;
      right: -12px;
      bottom: -12px;
      border: 7px solid rgba(0, 180, 216, 0.38);
      border-radius: 999px;
    }

    .section-kicker {
      display: block;
      margin-bottom: 6px;
      color: var(--cyan-dark);
      font-size: 11px;
      font-weight: 900;
      letter-spacing: 0.06em;
      text-transform: uppercase;
    }

    .section-head h2 {
      margin: 0;
      font-size: clamp(29px, 4vw, 45px);
      line-height: 1.08;
      letter-spacing: -0.036em;
      font-weight: 900;
    }

    .section-head p {
      max-width: 760px;
      margin: 13px 0 0;
      color: var(--muted);
      font-size: 15px;
      line-height: 1.65;
      font-weight: 550;
    }

    .bank-limits-access {
      display: grid;
      grid-template-columns: 52px minmax(0, 1fr) auto;
      gap: 15px;
      align-items: center;
      margin-bottom: 20px;
      padding: 17px 18px;
      border: 1px solid rgba(0, 180, 216, 0.24);
      border-radius: 18px;
      background: linear-gradient(135deg, var(--brand-cyan-soft), #ffffff 72%);
      box-shadow: 0 12px 30px rgba(26, 37, 48, 0.07);
    }

    .bank-limits-access-icon {
      display: grid;
      place-items: center;
      width: 52px;
      height: 52px;
      border: 1px solid rgba(0, 180, 216, 0.22);
      border-radius: 16px;
      background: #fff;
      color: var(--cyan-dark);
      box-shadow: 0 9px 20px rgba(0, 125, 151, 0.09);
    }

    .bank-limits-access-icon svg {
      width: 25px;
      height: 25px;
    }

    .bank-limits-access-copy span,
    .bank-limits-access-copy strong,
    .bank-limits-access-copy small {
      display: block;
    }

    .bank-limits-access-copy span {
      margin-bottom: 3px;
      color: var(--cyan-dark);
      font-size: 9px;
      font-weight: 900;
      letter-spacing: 0.075em;
      text-transform: uppercase;
    }

    .bank-limits-access-copy strong {
      color: var(--brand-dark);
      font-size: 14px;
      line-height: 1.35;
      font-weight: 900;
    }

    .bank-limits-access-copy small {
      margin-top: 3px;
      color: var(--text-muted);
      font-size: 10px;
      line-height: 1.45;
      font-weight: 620;
    }

    .bank-limits-open {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      min-height: 54px;
      padding: 0 26px;
      border: 1px solid var(--brand-cyan);
      border-radius: 14px;
      background: var(--brand-cyan);
      color: var(--brand-dark);
      font-size: 14px;
      font-weight: 900;
      line-height: 1.2;
      white-space: nowrap;
      cursor: pointer;
      box-shadow: 0 14px 30px rgba(0, 180, 216, 0.30);
      transition: transform 0.18s ease, box-shadow 0.18s ease;
    }

    .bank-limits-open:hover {
      transform: translateY(-2px);
      box-shadow: 0 14px 28px rgba(0, 180, 216, 0.27);
    }

    .bank-limits-open:focus-visible {
      outline: 3px solid rgba(0, 180, 216, 0.28);
      outline-offset: 3px;
    }

    .bank-limits-open svg {
      width: 19px;
      height: 19px;
    }

    .hero-cta {
      justify-self: center;
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 12px;
      text-align: center;
    }

    .hero-cta-hint {
      display: inline-flex;
      align-items: center;
      gap: 7px;
      font-size: 13px;
      font-weight: 800;
      letter-spacing: 0.02em;
      color: var(--brand-dark);
    }

    .hero-cta-hint svg {
      width: 15px;
      height: 15px;
      animation: heroHintNudge 2.6s ease-in-out infinite;
    }

    .hero-limits-cta {
      animation: limitsHeartbeat 2.6s ease-in-out infinite;
      transform-origin: center;
    }

    .hero-limits-cta:hover {
      animation-play-state: paused;
    }

    .hero-cta-note {
      max-width: 250px;
      font-size: 11.5px;
      line-height: 1.5;
      color: #5a7183;
    }

    /* Palpitacion: doble latido (bum-bum) y una pausa larga de reposo. */
    @keyframes limitsHeartbeat {
      0%, 30%, 58%, 100% {
        transform: scale(1);
        box-shadow: 0 12px 26px rgba(0, 180, 216, 0.22);
      }
      12% {
        transform: scale(1.05);
        box-shadow: 0 16px 34px rgba(0, 180, 216, 0.40);
      }
      42% {
        transform: scale(1.05);
        box-shadow: 0 16px 34px rgba(0, 180, 216, 0.40);
      }
    }

    @keyframes heroHintNudge {
      0%, 100% { transform: translateY(0); }
      50% { transform: translateY(3px); }
    }

    @media (prefers-reduced-motion: reduce) {
      .hero-limits-cta,
      .hero-cta-hint svg {
        animation: none;
      }
    }

    .limits-grid {
      display: grid;
      grid-template-columns: minmax(0, 0.94fr) minmax(0, 1.06fr);
      gap: 20px;
      align-items: stretch;
    }

    .story-card,
    .method-card,
    .installment-card,
    .receipt-card {
      border: 1px solid #d9e6ec;
      border-radius: var(--radius);
      background: #fff;
      box-shadow: var(--shadow-sm);
      transition: transform 0.28s ease, border-color 0.28s ease, box-shadow 0.28s ease;
    }

    .story-card:hover,
    .method-card:hover,
    .installment-card:hover,
    .receipt-card:hover {
      transform: translateY(-3px);
      border-color: rgba(0, 180, 216, 0.32);
      box-shadow: 0 20px 46px rgba(24, 54, 72, 0.12);
    }

    .limit-story {
      display: flex;
      flex-direction: column;
      height: 100%;
      padding: clamp(24px, 4vw, 38px);
    }

    .limit-visual {
      min-height: 250px;
      flex: 1 1 250px;
      display: grid;
      place-items: center;
      margin-bottom: 26px;
      border-radius: 19px;
      background:
        radial-gradient(circle at 80% 15%, rgba(0, 180, 216, 0.20), transparent 10rem),
        linear-gradient(145deg, #102639, #0b1b29);
      overflow: hidden;
    }

    .limit-visual svg {
      width: min(330px, 88%);
    }

    .limit-story h3,
    .unlock-card h3,
    .method-card h3,
    .installment-card h3,
    .receipt-card h3 {
      margin: 0;
      font-size: 21px;
      line-height: 1.25;
      letter-spacing: -0.022em;
      font-weight: 900;
    }

    .limit-story > p,
    .unlock-card > p,
    .method-card > p,
    .installment-card > p,
    .receipt-card > p {
      margin: 11px 0 0;
      color: var(--muted);
      font-size: 13px;
      line-height: 1.6;
      font-weight: 570;
    }

    .pros-cons {
      display: grid;
      gap: 13px;
    }

    .insight-card {
      display: grid;
      grid-template-columns: 48px minmax(0, 1fr);
      gap: 14px;
      align-items: start;
      min-height: 0;
      padding: 19px;
      border-radius: 19px;
      transition: transform 0.24s ease, box-shadow 0.24s ease;
    }

    .insight-card:hover {
      transform: translateX(3px);
      box-shadow: 0 13px 30px rgba(24, 54, 72, 0.08);
    }

    .insight-card.good {
      border: 1px solid #bcebdc;
      background: #effbf7;
    }

    .insight-card.caution {
      border: 1px solid #f1ddb2;
      background: #fff9ec;
    }

    .insight-icon {
      position: relative;
      display: grid;
      place-items: center;
      width: 48px;
      height: 48px;
      border-radius: 15px;
      border: 1px solid rgba(255, 255, 255, 0.82);
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.92), 0 8px 18px rgba(35, 84, 75, 0.09);
    }

    .good .insight-icon {
      background: #d6f7ec;
      color: var(--mint-dark);
    }

    .caution .insight-icon {
      background: #ffedc8;
      color: var(--gold-dark);
    }

    .insight-icon svg {
      width: 24px;
      height: 24px;
      align-self: center;
      justify-self: center;
    }

    .insight-card > div > span {
      display: block;
      margin-bottom: 4px;
      color: currentColor;
      font-size: 11px;
      font-weight: 900;
      letter-spacing: 0.045em;
      text-transform: uppercase;
    }

    .insight-card strong {
      display: block;
      color: var(--navy);
      font-size: 15px;
      line-height: 1.35;
      font-weight: 900;
    }

    .insight-card p {
      margin: 6px 0 0;
      color: #50677a;
      font-size: 12px;
      line-height: 1.55;
      font-weight: 600;
    }

    .unlock-card {
      padding: 25px;
      border: 1px solid #d7e4ea;
      border-radius: 19px;
      background: #fff;
    }

    .mini-label {
      display: inline-flex;
      align-items: center;
      gap: 7px;
      margin-bottom: 11px;
      color: var(--gold-dark);
      font-size: 10px;
      font-weight: 900;
      letter-spacing: 0.05em;
      text-transform: uppercase;
    }

    .mini-label svg {
      width: 26px;
      height: 26px;
      padding: 5px;
      flex: 0 0 auto;
      border: 1px solid #f0d9a6;
      border-radius: 8px;
      background: #fff8e8;
    }

    .unlock-flow {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 9px;
      margin-top: 20px;
    }

    .unlock-node {
      position: relative;
      min-width: 0;
      padding: 15px 12px;
      border: 1px solid #e3eaf0;
      border-radius: 14px;
      background: #f8fbfd;
      text-align: center;
    }

    .unlock-node + .unlock-node::before {
      content: "";
      position: absolute;
      top: 50%;
      left: -11px;
      transform: translate(-50%, -50%);
      display: grid;
      place-items: center;
      width: 21px;
      height: 21px;
      border-radius: 999px;
      border: 1px solid #dbe8ee;
      background-color: #fff;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23007d97' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m13 6 6 6-6 6'/%3E%3C/svg%3E");
      background-position: center;
      background-repeat: no-repeat;
      background-size: 13px;
      box-shadow: 0 5px 12px rgba(20, 69, 88, 0.10);
    }

    .unlock-node svg {
      width: 42px;
      height: 42px;
      margin: 0 auto 9px;
      padding: 9px;
      border: 1px solid #d8eaf0;
      border-radius: 13px;
      background: linear-gradient(145deg, #fff, #eaf8fc);
      color: var(--cyan-dark);
      box-shadow: 0 8px 18px rgba(0, 124, 151, 0.10);
    }

    .unlock-node strong,
    .unlock-node span {
      display: block;
    }

    .unlock-node strong {
      color: var(--navy);
      font-size: 12px;
      line-height: 1.3;
      font-weight: 900;
    }

    .unlock-node span {
      margin-top: 3px;
      color: var(--muted);
      font-size: 10px;
      line-height: 1.35;
      font-weight: 650;
    }

    .limit-scope-module {
      position: relative;
      margin-top: 22px;
      overflow: hidden;
      border: 1px solid rgba(0, 180, 216, 0.24);
      border-radius: var(--radius);
      background: linear-gradient(145deg, #ffffff 0%, var(--brand-cyan-soft) 100%);
      box-shadow: var(--shadow-sm);
    }

    .limit-scope-module::before {
      content: "";
      position: absolute;
      top: 0;
      right: 0;
      left: 0;
      height: 5px;
      background: linear-gradient(90deg, var(--brand-dark), var(--brand-cyan));
    }

    .limit-scope-intro {
      display: grid;
      grid-template-columns: 62px minmax(0, 1fr);
      gap: 17px;
      align-items: center;
      padding: 29px 29px 22px;
    }

    .limit-scope-icon {
      display: grid;
      place-items: center;
      width: 62px;
      height: 62px;
      border: 1px solid rgba(0, 180, 216, 0.22);
      border-radius: 19px;
      background: #fff;
      color: var(--cyan-dark);
      box-shadow: 0 13px 28px rgba(26, 37, 48, 0.10);
    }

    .limit-scope-icon svg {
      width: 29px;
      height: 29px;
    }

    .limit-scope-kicker {
      display: block;
      margin-bottom: 5px;
      color: var(--cyan-dark);
      font-size: 10px;
      font-weight: 900;
      letter-spacing: 0.09em;
      text-transform: uppercase;
    }

    .limit-scope-intro h3 {
      margin: 0;
      color: var(--brand-dark);
      font-family: Montserrat, Inter, sans-serif;
      font-size: clamp(21px, 3vw, 29px);
      line-height: 1.16;
      letter-spacing: -0.025em;
      font-weight: 900;
    }

    .limit-scope-intro p {
      margin: 7px 0 0;
      color: var(--text-muted);
      font-size: 13px;
      line-height: 1.55;
      font-weight: 600;
    }

    .limit-webpay-exception {
      display: grid;
      grid-template-columns: 132px minmax(0, 1fr) auto;
      gap: 16px;
      align-items: center;
      margin: 0 29px 18px;
      padding: 15px 17px;
      border: 1px solid rgba(199, 0, 114, 0.18);
      border-radius: 17px;
      background: rgba(255, 255, 255, 0.92);
      box-shadow: 0 10px 24px rgba(26, 37, 48, 0.06);
    }

    .limit-webpay-logo {
      display: grid;
      place-items: center;
      min-height: 52px;
      padding: 7px 11px;
      border-radius: 13px;
      background: #fff7fb;
    }

    .limit-webpay-logo img {
      width: 112px;
      height: 42px;
      object-fit: contain;
    }

    .limit-webpay-exception > div > strong,
    .limit-webpay-exception > div > span {
      display: block;
    }

    .limit-webpay-exception > div > strong {
      color: var(--brand-dark);
      font-size: 14px;
      line-height: 1.35;
      font-weight: 900;
    }

    .limit-webpay-exception > div > span {
      margin-top: 4px;
      color: var(--text-muted);
      font-size: 11px;
      line-height: 1.5;
      font-weight: 620;
    }

    .limit-webpay-exception .limit-webpay-badge {
      margin: 0;
      padding: 8px 11px;
      border-radius: 999px;
      background: #fde5f2;
      color: var(--magenta);
      font-size: 10px;
      font-weight: 900;
      text-transform: uppercase;
      white-space: nowrap;
    }

    .limit-scope-steps {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 12px;
      padding: 0 29px 27px;
    }

    .limit-scope-step {
      min-width: 0;
      display: grid;
      grid-template-columns: 38px minmax(0, 1fr);
      gap: 11px;
      align-items: start;
      padding: 16px;
      border: 1px solid rgba(26, 37, 48, 0.09);
      border-radius: 16px;
      background: rgba(255, 255, 255, 0.88);
      box-shadow: 0 10px 24px rgba(26, 37, 48, 0.06);
    }

    .limit-scope-number {
      display: grid;
      place-items: center;
      width: 38px;
      height: 38px;
      border-radius: 12px;
      background: var(--brand-dark);
      color: #fff;
      font-family: Montserrat, Inter, sans-serif;
      font-size: 13px;
      font-weight: 900;
      font-variant-numeric: tabular-nums;
      box-shadow: 0 8px 18px rgba(26, 37, 48, 0.16);
    }

    .limit-scope-step:nth-child(2) .limit-scope-number,
    .limit-scope-step:nth-child(3) .limit-scope-number {
      background: var(--cyan-dark);
    }

    .limit-scope-step > div > strong,
    .limit-scope-step > div > span {
      display: block;
    }

    .limit-scope-step > div > strong {
      color: var(--brand-dark);
      font-size: 13px;
      line-height: 1.35;
      font-weight: 900;
    }

    .limit-scope-step > div > span {
      margin-top: 4px;
      color: var(--text-muted);
      font-size: 11px;
      line-height: 1.48;
      font-weight: 620;
    }

    .limit-bank-rule {
      display: grid;
      grid-template-columns: 42px minmax(0, 1fr);
      gap: 13px;
      align-items: center;
      padding: 17px 29px;
      background: linear-gradient(105deg, var(--brand-dark), var(--brand-dark-2));
      color: #fff;
    }

    .limit-bank-rule svg {
      width: 42px;
      height: 42px;
      padding: 9px;
      border: 1px solid rgba(255, 255, 255, 0.16);
      border-radius: 13px;
      background: rgba(255, 255, 255, 0.08);
      color: #7be8ff;
    }

    .limit-bank-rule strong,
    .limit-bank-rule span {
      display: block;
    }

    .limit-bank-rule strong {
      font-size: 13px;
      line-height: 1.35;
      font-weight: 900;
    }

    .limit-bank-rule span {
      margin-top: 2px;
      color: #c7d8e3;
      font-size: 11px;
      line-height: 1.48;
      font-weight: 600;
    }

    .gateway-flow {
      display: grid;
      grid-template-columns: 1fr 44px 1fr 44px 1fr;
      gap: 9px;
      align-items: center;
      margin-bottom: 20px;
    }

    .gateway-node {
      min-height: 128px;
      display: grid;
      place-items: center;
      align-content: center;
      gap: 8px;
      padding: 16px;
      border: 1px solid #dbe7ed;
      border-radius: 18px;
      background: #fff;
      text-align: center;
      box-shadow: var(--shadow-sm);
    }

    .gateway-node img {
      width: 150px;
      height: 54px;
      object-fit: contain;
    }

    .gateway-node .menares-gateway-logo {
      width: 156px;
      max-width: 100%;
      height: 46px;
      object-fit: cover;
      object-position: center;
      image-rendering: auto;
    }

    .gateway-choice-node {
      border-color: rgba(0, 180, 216, 0.24);
      background: linear-gradient(145deg, #fff, var(--brand-cyan-soft));
    }

    .gateway-choice-icon {
      display: grid;
      place-items: center;
      width: 48px;
      height: 48px;
      border: 1px solid rgba(0, 180, 216, 0.20);
      border-radius: 15px;
      background: #fff;
      color: var(--cyan-dark);
      box-shadow: 0 9px 20px rgba(0, 125, 151, 0.10);
    }

    .gateway-choice-icon svg {
      width: 24px;
      height: 24px;
    }

    .gateway-node strong,
    .gateway-node small {
      display: block;
    }

    .gateway-node strong {
      color: var(--navy);
      font-size: 12px;
      font-weight: 900;
    }

    .gateway-node small {
      color: var(--muted);
      font-size: 10px;
      line-height: 1.35;
      font-weight: 650;
    }

    .gateway-arrow {
      display: grid;
      place-items: center;
      width: 40px;
      height: 40px;
      justify-self: center;
      border: 1px solid #d7e9ef;
      border-radius: 13px;
      background: linear-gradient(145deg, #fff, #edf9fc);
      color: var(--cyan-dark);
      box-shadow: 0 8px 20px rgba(0, 125, 151, 0.10);
    }

    .gateway-arrow svg {
      width: 22px;
      height: 22px;
    }

    .webpay-option {
      position: relative;
      margin-top: 22px;
      padding: clamp(20px, 3vw, 28px);
      overflow: hidden;
      border: 1px solid rgba(0, 180, 216, 0.22);
      border-radius: var(--radius);
      background: linear-gradient(145deg, #ffffff, #f5fbfd);
      box-shadow: var(--shadow-sm);
    }

    .webpay-option::before {
      content: "";
      position: absolute;
      top: 0;
      right: 0;
      left: 0;
      height: 5px;
      background: linear-gradient(90deg, var(--brand-dark), var(--brand-cyan));
    }

    .webpay-option-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 24px;
      margin-bottom: 20px;
      padding: 6px 2px 18px;
      border-bottom: 1px solid var(--border-light);
    }

    .webpay-option-kicker {
      display: inline-flex;
      align-items: center;
      gap: 7px;
      margin-bottom: 7px;
      color: var(--cyan-dark);
      font-size: 10px;
      font-weight: 900;
      letter-spacing: 0.09em;
      text-transform: uppercase;
    }

    .webpay-option-kicker::before {
      content: "";
      width: 8px;
      height: 8px;
      border-radius: 999px;
      background: var(--brand-cyan);
      box-shadow: 0 0 0 5px rgba(0, 180, 216, 0.11);
    }

    .webpay-option-head h3 {
      margin: 0;
      color: var(--brand-dark);
      font-family: Montserrat, Inter, sans-serif;
      font-size: clamp(21px, 3vw, 29px);
      line-height: 1.15;
      letter-spacing: -0.025em;
      font-weight: 900;
    }

    .webpay-option-head p {
      max-width: 690px;
      margin: 7px 0 0;
      color: var(--text-muted);
      font-size: 12px;
      line-height: 1.55;
      font-weight: 600;
    }

    .webpay-option-logo {
      width: 142px;
      height: 48px;
      flex: 0 0 auto;
      object-fit: contain;
    }

    .webpay-logo-frame {
      display: grid;
      place-items: center;
      width: 174px;
      min-height: 72px;
      padding: 10px 14px;
      border: 1px solid #dce7ed;
      border-radius: 15px;
      background: #fff;
      box-shadow: inset 0 0 0 4px #f8fbfd, 0 12px 25px rgba(26, 37, 48, 0.10);
    }

    .webpay-option-brand {
      display: grid;
      justify-items: end;
      gap: 7px;
      flex: 0 0 auto;
    }

    .webpay-limit-badge {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      padding: 7px 10px;
      border: 1px solid rgba(0, 180, 216, 0.20);
      border-radius: 999px;
      background: var(--brand-cyan-soft);
      color: var(--cyan-dark);
      font-size: 9px;
      font-weight: 900;
      letter-spacing: 0.03em;
      text-transform: uppercase;
      white-space: nowrap;
    }

    .webpay-limit-badge svg {
      width: 14px;
      height: 14px;
    }

    .commission-banner {
      display: grid;
      grid-template-columns: 54px minmax(0, 1fr) auto;
      gap: 16px;
      align-items: center;
      margin-bottom: 20px;
      padding: 18px;
      border: 1px solid #f0cde1;
      border-radius: 18px;
      background: linear-gradient(135deg, #fff7fb, #fff);
    }

    .commission-icon {
      display: grid;
      place-items: center;
      width: 54px;
      height: 54px;
      border-radius: 17px;
      border: 1px solid rgba(199, 0, 114, 0.12);
      background: #fde5f2;
      color: var(--magenta);
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.92), 0 9px 20px rgba(151, 0, 86, 0.10);
    }

    .commission-icon svg {
      width: 27px;
    }

    .commission-banner strong,
    .commission-banner span {
      display: block;
    }

    .commission-banner strong {
      color: #631343;
      font-size: 15px;
      line-height: 1.35;
      font-weight: 900;
    }

    .commission-banner span {
      margin-top: 4px;
      color: #79536c;
      font-size: 12px;
      line-height: 1.5;
      font-weight: 600;
    }

    .commission-banner .commission-icon {
      display: grid;
      margin-top: 0;
      color: var(--magenta);
    }

    .commission-badge {
      padding: 8px 10px;
      border-radius: 999px;
      background: #fff;
      color: var(--magenta);
      font-size: 10px;
      font-weight: 900;
      text-transform: uppercase;
      white-space: nowrap;
      box-shadow: 0 7px 18px rgba(199, 0, 114, 0.08);
    }

    .commission-rates {
      grid-column: 2 / -1;
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 10px;
    }

    .commission-extra {
      grid-column: 2 / -1;
      margin: 4px 0 0;
      font-size: 13px;
      line-height: 1.55;
      color: #41586a;
    }

    .commission-extra strong {
      color: var(--brand-dark);
    }

    .commission-rate {
      min-width: 0;
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 3px 12px;
      align-items: center;
      padding: 12px 14px;
      border: 1px solid #efd8e5;
      border-radius: 14px;
      background: rgba(255, 255, 255, 0.88);
    }

    .commission-rate span {
      margin: 0;
      color: #70465f;
      font-size: 11px;
      line-height: 1.35;
      font-weight: 850;
    }

    .commission-rate strong {
      grid-row: 1 / 3;
      grid-column: 2;
      color: var(--magenta);
      font-family: Montserrat, Inter, sans-serif;
      font-size: 25px;
      line-height: 1;
      font-weight: 900;
      white-space: nowrap;
    }

    .commission-rate small {
      color: #8a687c;
      font-size: 9px;
      line-height: 1.3;
      font-weight: 700;
    }

    .method-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 16px;
    }

    .method-card {
      position: relative;
      overflow: hidden;
      padding: 26px;
    }

    .method-card::after {
      content: "";
      position: absolute;
      width: 105px;
      height: 105px;
      right: -31px;
      top: -31px;
      border-radius: 999px;
      background: rgba(0, 180, 216, 0.08);
    }

    .method-card.credit::after {
      background: rgba(0, 180, 216, 0.11);
    }

    .method-head {
      display: flex;
      align-items: center;
      gap: 13px;
      margin-bottom: 13px;
    }

    .method-icon {
      display: grid;
      place-items: center;
      width: 48px;
      height: 48px;
      flex: 0 0 auto;
      border-radius: 15px;
      border: 1px solid rgba(0, 180, 216, 0.15);
      background: #e9f8fc;
      color: var(--cyan-dark);
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9), 0 8px 18px rgba(0, 125, 151, 0.08);
    }

    .credit .method-icon {
      background: var(--brand-cyan-soft);
      color: var(--cyan-dark);
    }

    .method-icon svg {
      width: 25px;
      height: 25px;
    }

    .method-head > div > span {
      display: block;
      margin-top: 3px;
      color: var(--muted);
      font-size: 10px;
      font-weight: 800;
      text-transform: uppercase;
    }

    .feature-list {
      display: grid;
      gap: 10px;
      margin: 18px 0 0;
      padding: 0;
      list-style: none;
    }

    .feature-list li {
      display: grid;
      grid-template-columns: 20px minmax(0, 1fr);
      gap: 9px;
      align-items: start;
      color: #4b6274;
      font-size: 12px;
      line-height: 1.5;
      font-weight: 620;
    }

    .feature-list svg {
      width: 20px;
      height: 20px;
      margin-top: 0;
      padding: 3px;
      align-self: start;
      border-radius: 6px;
      background: #edf9fc;
      color: var(--cyan-dark);
    }

    .credit .feature-list svg {
      background: var(--brand-cyan-soft);
      color: var(--cyan-dark);
    }

    .installments-layout {
      display: grid;
      grid-template-columns: minmax(0, 1.18fr) minmax(300px, 0.82fr);
      gap: 20px;
    }

    .installment-card {
      padding: clamp(25px, 4vw, 38px);
    }

    .installment-visual {
      position: relative;
      min-height: 280px;
      display: grid;
      place-items: center;
      overflow: hidden;
      border-radius: var(--radius);
      background:
        radial-gradient(circle at 18% 22%, rgba(47, 214, 163, 0.22), transparent 9rem),
        linear-gradient(145deg, #122c40, #0a1926);
      box-shadow: var(--shadow-sm);
    }

    .installment-visual svg {
      width: min(330px, 86%);
    }

    .bank-rule {
      margin-top: 22px;
      padding: 18px;
      border-left: 4px solid var(--mint);
      border-radius: 0 14px 14px 0;
      background: #eefbf7;
    }

    .bank-rule strong,
    .bank-rule span {
      display: block;
    }

    .bank-rule strong {
      color: #075d3a;
      font-size: 14px;
      line-height: 1.4;
      font-weight: 900;
    }

    .bank-rule span {
      margin-top: 5px;
      color: #3d6a58;
      font-size: 12px;
      line-height: 1.55;
      font-weight: 620;
    }

    .condition-chips {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      margin-top: 18px;
    }

    .condition-chip {
      display: inline-flex;
      align-items: center;
      gap: 7px;
      padding: 9px 11px;
      border: 1px solid #d9e6ec;
      border-radius: 999px;
      background: #fff;
      color: #52697b;
      font-size: 10px;
      font-weight: 800;
    }

    .condition-chip::before {
      content: "";
      width: 7px;
      height: 7px;
      border-radius: 999px;
      background: var(--mint);
    }

    .receipt-layout {
      display: grid;
      grid-template-columns: minmax(320px, 0.82fr) minmax(0, 1.18fr);
      gap: 20px;
      align-items: stretch;
    }

    .receipt-visual {
      position: relative;
      min-height: 390px;
      overflow: hidden;
      border-radius: var(--radius);
      background: linear-gradient(145deg, #eaf8fc, #f9fcfd);
      border: 1px solid #d7e8ef;
    }

    .receipt-visual svg {
      position: absolute;
      inset: 50% auto auto 50%;
      width: 86%;
      transform: translate(-50%, -50%);
    }

    .receipt-stamp {
      position: absolute;
      right: 24px;
      bottom: 24px;
      display: grid;
      place-items: center;
      width: 84px;
      height: 84px;
      border: 3px solid var(--mint-dark);
      border-radius: 999px;
      color: var(--mint-dark);
      background: rgba(255, 255, 255, 0.91);
      transform: rotate(-8deg);
      font-size: 9px;
      font-weight: 950;
      letter-spacing: 0.06em;
      text-align: center;
      text-transform: uppercase;
    }

    .receipt-card {
      padding: clamp(25px, 4vw, 38px);
    }

    .receipt-steps {
      display: grid;
      gap: 12px;
      margin-top: 22px;
    }

    .receipt-step {
      display: grid;
      grid-template-columns: 40px minmax(0, 1fr);
      gap: 13px;
      align-items: start;
      padding: 15px;
      border: 1px solid #e0e9ee;
      border-radius: 15px;
      background: #fafcfd;
    }

    .receipt-step > span {
      display: grid;
      place-items: center;
      width: 40px;
      height: 40px;
      border-radius: 12px;
      border: 1px solid rgba(255, 255, 255, 0.16);
      background:
        radial-gradient(circle at 78% 18%, rgba(0, 180, 216, 0.42), transparent 38%),
        linear-gradient(145deg, #1c3448, var(--navy-deep));
      color: #fff;
      box-shadow: 0 8px 18px rgba(13, 40, 57, 0.14);
      font-family: Montserrat, Inter, sans-serif;
      font-size: 12px;
      font-weight: 900;
    }

    .receipt-step strong,
    .receipt-step small {
      display: block;
    }

    .receipt-step strong {
      margin-top: 1px;
      color: var(--navy);
      font-size: 13px;
      line-height: 1.35;
      font-weight: 900;
    }

    .receipt-step small {
      margin-top: 4px;
      color: var(--muted);
      font-size: 11px;
      line-height: 1.5;
      font-weight: 620;
    }

    .retry-warning {
      display: flex;
      align-items: flex-start;
      gap: 10px;
      margin-top: 16px;
      padding: 14px;
      border-radius: 14px;
      background: #fff8e9;
      color: #754b12;
      font-size: 11px;
      line-height: 1.5;
      font-weight: 700;
    }

    .retry-warning svg {
      width: 30px;
      height: 30px;
      flex: 0 0 auto;
      padding: 6px;
      border: 1px solid rgba(117, 75, 18, 0.14);
      border-radius: 10px;
      background: rgba(255, 255, 255, 0.68);
      box-shadow: 0 6px 14px rgba(117, 75, 18, 0.08);
    }

    .final-check {
      position: relative;
      width: min(1100px, calc(100% - 40px));
      margin: 0 auto 60px;
      overflow: hidden;
      border-radius: 30px;
      background:
        radial-gradient(circle at 90% 10%, rgba(0, 180, 216, 0.24), transparent 20rem),
        var(--navy-deep);
      color: #fff;
      box-shadow: var(--shadow-lg);
    }

    .final-check-inner {
      position: relative;
      z-index: 1;
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(320px, 0.78fr);
      gap: 30px;
      padding: clamp(28px, 4vw, 44px);
    }

    .final-check .eyebrow {
      color: #7be8ff;
    }

    .final-check h2 {
      margin: 0;
      color: #fff;
      font-size: clamp(28px, 4vw, 43px);
      line-height: 1.08;
      letter-spacing: -0.035em;
      font-weight: 900;
    }

    .final-check p {
      max-width: 610px;
      margin: 13px 0 0;
      color: #bdd0de;
      font-size: 13px;
      line-height: 1.65;
      font-weight: 570;
    }

    .checklist {
      display: grid;
      gap: 10px;
      margin-top: 24px;
    }

    .check-item {
      display: grid;
      grid-template-columns: 23px minmax(0, 1fr);
      gap: 11px;
      align-items: center;
      color: #edf7fb;
      font-size: 12px;
      line-height: 1.45;
      font-weight: 720;
      cursor: pointer;
    }

    .check-item input {
      appearance: none;
      width: 23px;
      height: 23px;
      margin: 0;
      border: 1px solid #6c8798;
      border-radius: 7px;
      background: rgba(255, 255, 255, 0.08);
      cursor: pointer;
    }

    .check-item input:checked {
      border-color: var(--mint);
      background-color: var(--mint);
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230c1d2c' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 4 4L19 6'/%3E%3C/svg%3E");
      background-position: center;
      background-size: 16px;
      background-repeat: no-repeat;
    }

    .finish-card {
      align-self: center;
      padding: 24px;
      border: 1px solid rgba(255, 255, 255, 0.16);
      border-radius: 20px;
      background: rgba(255, 255, 255, 0.08);
      backdrop-filter: blur(12px);
    }

    .progress-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 14px;
      margin-bottom: 10px;
      color: #fff;
      font-size: 11px;
      font-weight: 850;
    }

    .progress-track {
      height: 7px;
      margin-bottom: 20px;
      overflow: hidden;
      border-radius: 999px;
      background: rgba(255, 255, 255, 0.16);
    }

    .progress-fill {
      display: block;
      width: 0;
      height: 100%;
      border-radius: inherit;
      background: linear-gradient(90deg, var(--cyan), var(--mint));
      transition: width 0.25s ease;
    }

    .finish-card .primary-button {
      width: 100%;
      min-height: 49px;
      border-color: var(--cyan);
      background: var(--cyan);
      color: var(--navy-deep);
      box-shadow: none;
    }

    .finish-card .secondary-button {
      width: 100%;
      min-height: 44px;
      margin-top: 9px;
      border-color: rgba(255, 255, 255, 0.18);
      background: rgba(255, 255, 255, 0.08);
      color: #fff;
    }

    .finish-hint {
      display: block;
      margin-top: 11px;
      color: #9db4c4;
      font-size: 10px;
      line-height: 1.45;
      text-align: center;
      font-weight: 650;
    }

    .faq {
      width: min(820px, calc(100% - 40px));
      margin: 0 auto 60px;
    }

    .faq h2 {
      margin: 0 0 16px;
      font-size: 27px;
      line-height: 1.2;
      text-align: center;
      font-weight: 900;
    }

    .faq details {
      border-bottom: 1px solid #dce7ed;
      transition: border-color 0.22s ease, background 0.22s ease;
    }

    .faq details[open] {
      border-bottom-color: rgba(0, 180, 216, 0.42);
      background: linear-gradient(90deg, rgba(235, 249, 252, 0.58), transparent 72%);
    }

    .faq summary {
      position: relative;
      padding: 16px 46px 16px 8px;
      color: var(--navy);
      font-size: 13px;
      line-height: 1.4;
      font-weight: 850;
      cursor: pointer;
      list-style: none;
    }

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

    .faq summary::after {
      content: "";
      position: absolute;
      top: 50%;
      right: 4px;
      transform: translateY(-50%);
      display: grid;
      place-items: center;
      width: 28px;
      height: 28px;
      border-radius: 9px;
      border: 1px solid rgba(0, 180, 216, 0.16);
      background:
        linear-gradient(var(--cyan-dark), var(--cyan-dark)) center / 11px 2px no-repeat,
        linear-gradient(var(--cyan-dark), var(--cyan-dark)) center / 2px 11px no-repeat,
        #eaf6fa;
      box-shadow: 0 6px 14px rgba(0, 125, 151, 0.09);
      transition: transform 0.24s ease, background 0.24s ease;
    }

    .faq details[open] summary::after {
      transform: translateY(-50%) rotate(180deg);
      background:
        linear-gradient(#fff, #fff) center / 11px 2px no-repeat,
        var(--cyan-dark);
    }

    .faq details p {
      margin: -3px 42px 20px 0;
      color: var(--muted);
      font-size: 12px;
      line-height: 1.65;
      font-weight: 570;
    }

    .site-footer {
      border-top: 0;
      background: #fff;
    }

    .footer-cta-wrap {
      border-top: 1px solid rgba(0, 180, 216, 0.20);
      border-bottom: 1px solid rgba(0, 180, 216, 0.16);
      background:
        radial-gradient(circle at 9% 20%, rgba(0, 180, 216, 0.13), transparent 14rem),
        linear-gradient(135deg, #f0fbfd, #ffffff 72%);
    }

    .footer-cta {
      width: min(1100px, calc(100% - 40px));
      margin: 0 auto;
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      align-items: center;
      justify-content: space-between;
      gap: 30px;
      padding: 31px 0;
    }

    .footer-cta-copy {
      display: grid;
      grid-template-columns: 54px minmax(0, 1fr);
      gap: 15px;
      align-items: center;
    }

    .footer-cta-icon {
      display: grid;
      place-items: center;
      width: 54px;
      height: 54px;
      border: 1px solid rgba(0, 180, 216, 0.24);
      border-radius: 17px;
      background: #fff;
      color: var(--cyan-dark);
      box-shadow: 0 11px 24px rgba(0, 125, 151, 0.10);
    }

    .footer-cta-icon svg {
      width: 27px;
      height: 27px;
    }

    .footer-kicker {
      display: block;
      margin-bottom: 4px;
      color: var(--cyan-dark);
      font-size: 9px;
      font-weight: 900;
      letter-spacing: 0.08em;
      text-transform: uppercase;
    }

    .footer-cta h2 {
      margin: 0;
      color: var(--brand-dark);
      font-family: Montserrat, Inter, sans-serif;
      font-size: clamp(20px, 3vw, 28px);
      line-height: 1.16;
      letter-spacing: -0.025em;
      font-weight: 900;
    }

    .footer-cta p {
      max-width: 690px;
      margin: 6px 0 0;
      color: var(--text-muted);
      font-size: 11px;
      line-height: 1.5;
      font-weight: 620;
    }

    .footer-actions {
      display: flex;
      align-items: center;
      gap: 9px;
    }

    .footer-back-button {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 7px;
      min-height: 44px;
      padding: 0 14px;
      border: 1px solid rgba(26, 37, 48, 0.16);
      border-radius: 11px;
      background: #fff;
      color: var(--brand-dark);
      font-size: 11px;
      font-weight: 900;
      text-decoration: none;
      white-space: nowrap;
      transition: transform 0.18s ease, border-color 0.18s ease;
    }

    .footer-back-button:hover {
      transform: translateY(-2px);
      border-color: var(--brand-cyan);
    }

    .footer-back-button svg {
      width: 16px;
      height: 16px;
    }

    .footer-base {
      background:
        radial-gradient(circle at 84% 0%, rgba(0, 180, 216, 0.16), transparent 19rem),
        linear-gradient(115deg, var(--brand-dark), #0c1d2c);
      color: #fff;
    }

    .footer-inner {
      width: min(1100px, calc(100% - 40px));
      margin: 0 auto;
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 28px;
      align-items: center;
      padding: 30px 0 22px;
    }

    .footer-brand {
      display: flex;
      align-items: center;
      gap: 16px;
    }

    .footer-logo-frame {
      display: grid;
      place-items: center;
      width: 178px;
      height: 62px;
      padding: 5px 7px;
      border: 1px solid rgba(255, 255, 255, 0.18);
      border-radius: 14px;
      background: #fff;
      box-shadow: 0 14px 28px rgba(0, 0, 0, 0.18);
    }

    .footer-logo-frame img {
      width: 164px;
      max-width: 100%;
      height: 48px;
      object-fit: cover;
      object-position: center;
      image-rendering: auto;
    }

    .footer-brand-copy span,
    .footer-brand-copy strong,
    .footer-brand-copy small {
      display: block;
    }

    .footer-brand-copy span {
      color: #7be8ff;
      font-size: 9px;
      font-weight: 900;
      letter-spacing: 0.08em;
      text-transform: uppercase;
    }

    .footer-brand-copy strong {
      margin-top: 3px;
      font-size: 14px;
      line-height: 1.3;
      font-weight: 900;
    }

    .footer-brand-copy small {
      max-width: 390px;
      margin-top: 4px;
      color: #a9becc;
      font-size: 10px;
      line-height: 1.45;
      font-weight: 600;
    }

    .footer-links {
      display: flex;
      flex-wrap: wrap;
      justify-content: flex-end;
      gap: 8px 16px;
    }

    .footer-links a {
      color: #dcebf2;
      font-size: 10px;
      font-weight: 750;
      text-decoration: none;
      transition: color 0.18s ease;
    }

    .footer-links a:hover {
      color: #7be8ff;
    }

    .footer-bottom {
      width: min(1100px, calc(100% - 40px));
      margin: 0 auto;
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 26px;
      padding: 17px 0 24px;
      border-top: 1px solid rgba(255, 255, 255, 0.10);
    }

    .footer-copyright {
      flex: 0 0 auto;
      color: #829cac;
      font-size: 10px;
      line-height: 1.5;
      font-weight: 650;
      white-space: nowrap;
    }

    .footer-note {
      max-width: 690px;
      margin: 0;
      color: #9db4c4;
      font-size: 10px;
      line-height: 1.55;
      font-weight: 600;
      text-align: right;
    }

    .footer-note strong {
      color: #dcebf2;
    }

    body.limits-dialog-open {
      overflow: hidden;
    }

    .guide-limits-modal {
      position: fixed;
      inset: 0;
      z-index: 120;
      display: none;
      align-items: center;
      justify-content: center;
      padding: 22px;
      background: rgba(5, 14, 24, 0.62);
      backdrop-filter: blur(7px);
    }

    .guide-limits-modal.is-open {
      display: flex;
    }

    .guide-limits-panel {
      width: min(860px, 100%);
      max-height: min(88vh, 860px);
      display: flex;
      flex-direction: column;
      overflow: hidden;
      border: 1px solid rgba(255, 255, 255, 0.18);
      border-radius: 24px;
      background: #f7fafc;
      box-shadow: 0 34px 90px rgba(0, 0, 0, 0.34);
    }

    .guide-limits-head {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 18px;
      align-items: start;
      padding: 23px 25px;
      background:
        radial-gradient(circle at 86% 0%, rgba(0, 180, 216, 0.25), transparent 14rem),
        linear-gradient(115deg, var(--brand-dark), #0c1d2c);
      color: #fff;
    }

    .guide-limits-head span {
      display: block;
      margin-bottom: 4px;
      color: #7be8ff;
      font-size: 9px;
      font-weight: 900;
      letter-spacing: 0.08em;
      text-transform: uppercase;
    }

    .guide-limits-head h2 {
      margin: 0;
      color: #fff;
      font-family: Montserrat, Inter, sans-serif;
      font-size: clamp(21px, 3vw, 29px);
      line-height: 1.15;
      letter-spacing: -0.025em;
      font-weight: 900;
    }

    .guide-limits-head p {
      max-width: 650px;
      margin: 7px 0 0;
      color: #b7cad6;
      font-size: 11px;
      line-height: 1.5;
      font-weight: 600;
    }

    .guide-limits-close {
      display: grid;
      place-items: center;
      width: 44px;
      height: 44px;
      border: 1px solid rgba(255, 255, 255, 0.15);
      border-radius: 12px;
      background: rgba(255, 255, 255, 0.08);
      color: #fff;
      cursor: pointer;
      transition: background 0.18s ease, transform 0.18s ease;
    }

    .guide-limits-close:hover {
      background: rgba(255, 255, 255, 0.15);
      transform: rotate(3deg);
    }

    .guide-limits-close svg {
      width: 20px;
      height: 20px;
    }

    .guide-limits-body {
      min-height: 0;
      overflow-y: auto;
      padding: 20px 24px 24px;
      overscroll-behavior: contain;
    }

    .guide-limits-webpay {
      display: grid;
      grid-template-columns: 42px minmax(0, 1fr) auto;
      gap: 12px;
      align-items: center;
      margin-bottom: 16px;
      padding: 12px 14px;
      border: 1px solid rgba(0, 180, 216, 0.20);
      border-radius: 15px;
      background: var(--brand-cyan-soft);
    }

    .guide-limits-webpay-icon {
      display: grid;
      place-items: center;
      width: 42px;
      height: 42px;
      border-radius: 12px;
      background: #fff;
      color: var(--cyan-dark);
    }

    .guide-limits-webpay-icon svg {
      width: 22px;
      height: 22px;
    }

    .guide-limits-webpay strong,
    .guide-limits-webpay small {
      display: block;
    }

    .guide-limits-webpay strong {
      color: var(--brand-dark);
      font-size: 12px;
      line-height: 1.35;
      font-weight: 900;
    }

    .guide-limits-webpay small {
      margin-top: 2px;
      color: var(--text-muted);
      font-size: 9px;
      line-height: 1.45;
      font-weight: 620;
    }

    .guide-limits-webpay > span:last-child {
      padding: 7px 9px;
      border-radius: 999px;
      background: #fff;
      color: var(--cyan-dark);
      font-size: 9px;
      font-weight: 900;
      text-transform: uppercase;
      white-space: nowrap;
    }

    .guide-limits-search-row {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 12px;
      align-items: end;
      margin-bottom: 14px;
    }

    .guide-limits-search label {
      display: block;
      margin-bottom: 6px;
      color: var(--brand-dark);
      font-size: 10px;
      font-weight: 900;
    }

    .guide-limits-search-control {
      position: relative;
    }

    .guide-limits-search-control svg {
      position: absolute;
      top: 50%;
      left: 13px;
      width: 17px;
      height: 17px;
      transform: translateY(-50%);
      color: #71859a;
      pointer-events: none;
    }

    .guide-limits-search input {
      width: 100%;
      min-height: 44px;
      padding: 0 14px 0 40px;
      border: 1px solid #d4e3ea;
      border-radius: 11px;
      background: #fff;
      color: var(--brand-dark);
      font: 700 12px Inter, Arial, sans-serif;
      outline: none;
    }

    .guide-limits-search input:focus {
      border-color: var(--brand-cyan);
      box-shadow: 0 0 0 4px rgba(0, 180, 216, 0.12);
    }

    .guide-limits-count {
      min-width: 104px;
      padding: 9px 11px;
      border-radius: 10px;
      background: #eef4f7;
      color: #52697b;
      font-size: 9px;
      line-height: 1.35;
      font-weight: 850;
      text-align: center;
    }

    .guide-limits-list {
      display: grid;
      gap: 9px;
    }

    .guide-limit-group {
      overflow: hidden;
      border: 1px solid #dce7ed;
      border-radius: 14px;
      background: #fff;
      box-shadow: 0 8px 20px rgba(26, 37, 48, 0.04);
    }

    .guide-limit-summary {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 14px;
      padding: 14px 15px;
      cursor: pointer;
      list-style: none;
    }

    .guide-limit-summary::-webkit-details-marker {
      display: none;
    }

    .guide-limit-bank strong,
    .guide-limit-bank span {
      display: block;
    }

    .guide-limit-bank strong {
      color: var(--brand-dark);
      font-size: 12px;
      line-height: 1.3;
      font-weight: 900;
    }

    .guide-limit-bank span {
      margin-top: 2px;
      color: #71859a;
      font-size: 9px;
      font-weight: 700;
    }

    .guide-limit-chevron {
      position: relative;
      width: 27px;
      height: 27px;
      flex: 0 0 auto;
      border-radius: 9px;
      background: var(--brand-cyan-soft);
    }

    .guide-limit-chevron::before,
    .guide-limit-chevron::after {
      content: "";
      position: absolute;
      top: 50%;
      left: 50%;
      width: 11px;
      height: 2px;
      border-radius: 999px;
      background: var(--cyan-dark);
      transform: translate(-50%, -50%);
      transition: transform 0.18s ease;
    }

    .guide-limit-chevron::after {
      transform: translate(-50%, -50%) rotate(90deg);
    }

    .guide-limit-group[open] .guide-limit-chevron::after {
      transform: translate(-50%, -50%) rotate(0deg) scaleX(0);
    }

    .guide-limit-items {
      display: grid;
      gap: 0;
      padding: 0 15px 14px;
    }

    .guide-limit-item {
      display: grid;
      grid-template-columns: minmax(0, 1.1fr) minmax(260px, 0.9fr);
      gap: 14px;
      align-items: center;
      padding: 12px 0;
      border-top: 1px solid #e8eef2;
    }

    .guide-limit-method {
      color: var(--brand-dark);
      font-size: 11px;
      line-height: 1.4;
      font-weight: 800;
    }

    .guide-limit-amounts {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 8px;
    }

    .guide-limit-amount {
      min-width: 0;
      padding: 8px 9px;
      border-radius: 10px;
      background: #f2f7f9;
    }

    .guide-limit-amount span,
    .guide-limit-amount strong {
      display: block;
    }

    .guide-limit-amount span {
      margin-bottom: 3px;
      color: #71859a;
      font-size: 8px;
      font-weight: 900;
      text-transform: uppercase;
    }

    .guide-limit-amount strong {
      color: var(--brand-dark);
      font-size: 11px;
      line-height: 1.25;
      font-weight: 900;
      overflow-wrap: anywhere;
    }

    .guide-limits-empty {
      margin: 8px 0 0;
      padding: 18px;
      border: 1px dashed #cbdde5;
      border-radius: 13px;
      color: var(--text-muted);
      font-size: 11px;
      line-height: 1.5;
      font-weight: 700;
      text-align: center;
    }

    .guide-limits-foot {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 18px;
      padding: 15px 24px;
      border-top: 1px solid #dce7ed;
      background: #fff;
    }

    .guide-limits-foot p {
      max-width: 600px;
      margin: 0;
      color: var(--text-muted);
      font-size: 10px;
      line-height: 1.45;
      font-weight: 620;
    }

    .guide-limits-dismiss {
      min-height: 44px;
      padding: 0 14px;
      border: 1px solid var(--brand-dark);
      border-radius: 10px;
      background: var(--brand-dark);
      color: #fff;
      font-size: 10px;
      font-weight: 900;
      cursor: pointer;
      white-space: nowrap;
    }

    @keyframes heroRingPulse {
      0%, 100% { transform: scale(1); opacity: 0.72; }
      50% { transform: scale(1.08); opacity: 1; }
    }

    @keyframes stickerFloat {
      0%, 100% { transform: translate3d(0, 0, 0); }
      50% { transform: translate3d(0, -5px, 0); }
    }

    @keyframes gatewayDrift {
      0%, 100% { transform: translate3d(0, 0, 0); }
      50% { transform: translate3d(4px, 0, 0); }
    }

    @keyframes gatewayDrop {
      0%, 100% { transform: translate3d(0, 0, 0); }
      50% { transform: translate3d(0, 4px, 0); }
    }

    @keyframes stampPop {
      0% { opacity: 0; transform: rotate(-14deg) scale(0.72); }
      70% { opacity: 1; transform: rotate(-5deg) scale(1.06); }
      100% { opacity: 1; transform: rotate(-8deg) scale(1); }
    }

    .hero-visual::before {
      animation: heroRingPulse 6s ease-in-out infinite;
    }

    .hero-sticker {
      animation: stickerFloat 4.8s ease-in-out infinite;
    }

    .gateway-arrow {
      animation: gatewayDrift 1.9s ease-in-out infinite;
    }

    html.motion-ready [data-reveal] {
      opacity: 0;
      transform: translate3d(0, 22px, 0);
      transition:
        opacity 0.55s ease-out var(--reveal-delay, 0ms),
        transform 0.72s cubic-bezier(0.22, 1, 0.36, 1) var(--reveal-delay, 0ms);
    }

    html.motion-ready [data-reveal="left"] {
      transform: translate3d(-26px, 0, 0);
    }

    html.motion-ready [data-reveal="right"] {
      transform: translate3d(26px, 0, 0);
    }

    html.motion-ready [data-reveal="scale"] {
      transform: translate3d(0, 12px, 0) scale(0.975);
    }

    html.motion-ready [data-reveal].is-visible {
      opacity: 1;
      transform: none;
      will-change: auto;
    }

    html.motion-ready [data-reveal]:not(.is-visible) {
      will-change: opacity, transform;
    }

    html.motion-ready .receipt-visual[data-reveal].is-visible .receipt-stamp {
      animation: stampPop 0.72s cubic-bezier(0.22, 1, 0.36, 1) 0.32s both;
    }

    @media (hover: hover) {
      html.motion-ready .hero-visual[data-reveal].is-visible:hover {
        transform: translateY(-4px);
      }

      html.motion-ready .story-card[data-reveal].is-visible:hover,
      html.motion-ready .method-card[data-reveal].is-visible:hover,
      html.motion-ready .installment-card[data-reveal].is-visible:hover,
      html.motion-ready .receipt-card[data-reveal].is-visible:hover {
        transform: translateY(-3px);
      }
    }

    @media (max-width: 960px) {
      .hero {
        grid-template-columns: 1fr;
        min-height: 0;
        margin-top: 40px;
        gap: 32px;
      }

      .hero-copy,
      .hero-visual {
        width: 100%;
        max-width: 760px;
        margin-inline: auto;
      }

      .hero-visual {
        max-width: 620px;
      }

      .route-nav {
        margin-bottom: 54px;
      }

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

      .guide-section {
        padding-bottom: 42px;
      }

      .guide-section + .guide-section {
        padding-top: 42px;
      }

      .route-link:nth-child(3) {
        border-left: 0;
        border-top: 1px solid #e3edf2;
      }

      .route-link:nth-child(4) {
        border-top: 1px solid #e3edf2;
      }

      .limits-grid,
      .installments-layout,
      .receipt-layout {
        grid-template-columns: 1fr;
      }

      .receipt-visual {
        min-height: 330px;
      }

      .final-check-inner {
        grid-template-columns: 1fr;
      }

      .footer-cta {
        grid-template-columns: 1fr;
        gap: 20px;
      }

      .footer-actions {
        justify-content: flex-start;
      }

      .finish-card {
        width: 100%;
        max-width: none;
      }
    }

    @media (max-width: 680px) {
      html {
        scroll-padding-top: 86px;
      }

      .header-inner,
      .hero,
      .route-nav,
      .guide-section,
      .final-check,
      .faq,
      .footer-cta,
      .footer-inner,
      .footer-bottom {
        width: min(calc(100% - 28px), 1100px);
      }

      .header-inner {
        min-height: 70px;
      }

      .brand {
        width: 150px;
        height: 44px;
      }

      .site-header.is-scrolled .header-inner {
        min-height: 64px;
      }

      .site-header.is-scrolled .brand {
        width: 142px;
        height: 42px;
      }

      .back-button {
        min-height: 40px;
        padding: 0 12px;
        font-size: 11px;
      }

      .hero {
        margin-top: 28px;
        gap: 22px;
      }

      h1 {
        font-size: clamp(39px, 13vw, 55px);
      }

      .hero-copy > p {
        font-size: 15px;
      }

      .hero-facts {
        gap: 7px;
      }

      .fact-pill {
        font-size: 10px;
      }

      .hero-visual {
        display: none;
      }

      .route-nav {
        margin-top: 22px;
        margin-bottom: 48px;
      }

      .route-link {
        grid-template-columns: 31px minmax(0, 1fr);
        padding: 13px 11px;
      }

      .route-number {
        width: 31px;
        height: 31px;
        border-radius: 9px;
        font-size: 10px;
      }

      .route-link strong {
        font-size: 10px;
      }

      .route-link small {
        display: none;
      }

      .guide-section {
        padding-bottom: 32px;
      }

      .guide-section + .guide-section {
        padding-top: 36px;
      }

      .section-head {
        grid-template-columns: 57px minmax(0, 1fr);
        gap: 14px;
        margin-bottom: 26px;
      }

      .step-badge {
        grid-row: 1;
        width: 55px;
        height: 55px;
        border-radius: 17px;
        font-size: 17px;
      }

      .section-kicker {
        font-size: 9px;
      }

      .section-head h2 {
        font-size: clamp(27px, 9vw, 36px);
      }

      .section-head > p {
        grid-column: 1 / -1;
        margin-top: 9px;
        font-size: 13px;
      }

      .bank-limits-access {
        grid-template-columns: 46px minmax(0, 1fr);
        gap: 12px;
        padding: 15px;
      }

      .bank-limits-access-icon {
        width: 46px;
        height: 46px;
        border-radius: 14px;
      }

      .bank-limits-access-icon svg {
        width: 23px;
        height: 23px;
      }

      .bank-limits-access-copy strong {
        font-size: 13px;
      }

      .bank-limits-open {
        grid-column: 1 / -1;
        width: 100%;
      }

      .limit-story,
      .method-card,
      .installment-card,
      .receipt-card {
        padding: 21px;
      }

      .limit-visual {
        min-height: 175px;
        flex-basis: 175px;
      }

      .insight-card {
        grid-template-columns: 41px minmax(0, 1fr);
        min-height: 0;
        padding: 17px;
      }

      .insight-icon {
        width: 41px;
        height: 41px;
        border-radius: 12px;
      }

      .unlock-card {
        padding: 20px;
      }

      .unlock-flow {
        grid-template-columns: 1fr;
      }

      .unlock-node + .unlock-node::before {
        top: -4px;
        left: 50%;
        transform: translate(-50%, -50%) rotate(90deg);
      }

      .limit-scope-intro {
        grid-template-columns: 50px minmax(0, 1fr);
        gap: 13px;
        padding: 25px 20px 19px;
      }

      .limit-scope-icon {
        width: 50px;
        height: 50px;
        border-radius: 15px;
      }

      .limit-scope-icon svg {
        width: 25px;
        height: 25px;
      }

      .limit-scope-intro h3 {
        font-size: 20px;
      }

      .limit-scope-steps {
        grid-template-columns: 1fr;
        padding: 0 20px 21px;
      }

      .limit-webpay-exception {
        grid-template-columns: 1fr;
        gap: 10px;
        margin: 0 20px 17px;
        padding: 15px;
      }

      .limit-webpay-logo {
        width: 132px;
        min-height: 48px;
        justify-self: start;
      }

      .limit-webpay-logo img {
        width: 108px;
        height: 38px;
      }

      .limit-webpay-exception .limit-webpay-badge {
        justify-self: start;
      }

      .limit-bank-rule {
        grid-template-columns: 38px minmax(0, 1fr);
        padding: 16px 20px;
      }

      .limit-bank-rule svg {
        width: 38px;
        height: 38px;
      }

      .gateway-flow {
        grid-template-columns: 1fr;
      }

      .gateway-arrow svg {
        transform: rotate(90deg);
      }

      .gateway-arrow {
        animation-name: gatewayDrop;
      }

      .gateway-node {
        min-height: 96px;
        padding: 12px;
      }

      .webpay-option-head {
        align-items: flex-start;
        flex-direction: column-reverse;
        gap: 12px;
      }

      .webpay-option-logo {
        width: 126px;
        height: 42px;
      }

      .webpay-option-brand {
        justify-items: start;
      }

      .webpay-logo-frame {
        width: 154px;
        min-height: 64px;
        padding: 8px 12px;
      }

      .commission-banner {
        grid-template-columns: 46px minmax(0, 1fr);
        gap: 12px;
      }

      .commission-icon {
        width: 46px;
        height: 46px;
        border-radius: 14px;
      }

      .commission-badge {
        grid-column: 1 / -1;
        justify-self: start;
      }

      .commission-rates {
        grid-column: 1 / -1;
      }

      .commission-extra {
        grid-column: 1 / -1;
      }

      .commission-rate {
        grid-template-columns: 1fr;
        gap: 3px;
      }

      .commission-rate strong {
        grid-row: auto;
        grid-column: auto;
        font-size: 23px;
      }

      .method-grid {
        grid-template-columns: 1fr;
      }

      .installment-visual {
        min-height: 230px;
      }

      .receipt-visual {
        min-height: 285px;
      }

      .receipt-stamp {
        right: 16px;
        bottom: 16px;
        width: 70px;
        height: 70px;
        font-size: 8px;
      }

      .final-check {
        margin-bottom: 48px;
        border-radius: 23px;
      }

      .final-check-inner {
        padding: 26px 21px;
      }

      .footer-cta {
        padding: 25px 0;
      }

      .footer-cta-copy {
        grid-template-columns: 46px minmax(0, 1fr);
        gap: 12px;
      }

      .footer-cta-icon {
        width: 46px;
        height: 46px;
        border-radius: 14px;
      }

      .footer-cta-icon svg {
        width: 23px;
        height: 23px;
      }

      .footer-cta h2 {
        font-size: 22px;
      }

      .footer-actions {
        display: grid;
        width: 100%;
        grid-template-columns: 1fr;
      }

      .footer-actions .bank-limits-open,
      .footer-back-button {
        width: 100%;
      }

      .footer-inner {
        min-height: 0;
        grid-template-columns: 1fr;
        padding: 25px 0 19px;
        gap: 20px;
      }

      .footer-brand {
        align-items: center;
        flex-direction: row;
        gap: 12px;
      }

      .footer-logo-frame {
        width: 145px;
        height: 54px;
        flex: 0 0 auto;
      }

      .footer-logo-frame img {
        width: 132px;
        height: 40px;
      }

      .footer-brand-copy {
        min-width: 0;
      }

      .footer-brand-copy strong {
        font-size: 13px;
      }

      .footer-brand-copy small {
        font-size: 9px;
      }

      .footer-links {
        justify-content: flex-start;
      }

      .footer-bottom {
        flex-direction: column;
        gap: 8px;
        padding: 15px 0 22px;
      }

      .footer-note {
        text-align: left;
      }

      .guide-limits-modal {
        align-items: flex-end;
        padding: 10px;
      }

      .guide-limits-panel {
        width: 100%;
        max-height: 94vh;
        border-radius: 22px 22px 14px 14px;
      }

      .guide-limits-head {
        gap: 12px;
        padding: 19px;
      }

      .guide-limits-head h2 {
        font-size: 21px;
      }

      .guide-limits-body {
        padding: 16px;
      }

      .guide-limits-webpay {
        grid-template-columns: 38px minmax(0, 1fr);
      }

      .guide-limits-webpay-icon {
        width: 38px;
        height: 38px;
      }

      .guide-limits-webpay > span:last-child {
        grid-column: 2;
        justify-self: start;
      }

      .guide-limits-search-row {
        grid-template-columns: 1fr;
        gap: 8px;
      }

      .guide-limits-count {
        min-width: 0;
        justify-self: start;
      }

      .guide-limit-item {
        grid-template-columns: 1fr;
        gap: 8px;
      }

      .guide-limit-amounts {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      .guide-limits-foot {
        align-items: stretch;
        flex-direction: column;
        gap: 10px;
        padding: 14px 16px;
      }

      .guide-limits-dismiss {
        width: 100%;
      }

      html.motion-ready [data-reveal="left"],
      html.motion-ready [data-reveal="right"] {
        transform: translate3d(0, 18px, 0);
      }
    }

    @media (prefers-reduced-motion: reduce) {
      html {
        scroll-behavior: auto;
      }

      *,
      *::before,
      *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
      }

      html.motion-ready [data-reveal] {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
      }
    }

    .guia-referencial {
      width: min(1100px, calc(100% - 40px));
      margin: 0 auto;
      padding: 16px 0;
      color: #566a7a;
      font-size: 12.5px;
      line-height: 1.5;
    }

    .guia-referencial strong {
      color: #1a2530;
    }
