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

    body {
      font-family: 'Segoe UI', Arial, sans-serif;
      background: #fff;
      color: #1a1a2e;
      min-height: 100vh;
    }

    /* ══ HEADER ══ */
    .site-header {
      display: flex;
      align-items: center;
      gap: 10px;
      padding: 14px 24px;
      border-bottom: 1.5px solid #e0e0e0;
    }
    .site-header img {
      width: 36px;
      height: 36px;
      object-fit: contain;
    }
    .site-header-name {
      font-size: 1.1rem;
      font-weight: 800;
      color: #1a1a2e;
      letter-spacing: -.01em;
    }

    /* ══ PAGE ══ */
    .page {
      max-width: 900px;
      margin: 0 auto;
      padding: 32px 24px 60px;
    }

    .back-link {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      color: #154ba0;
      text-decoration: underline;
      font-size: .9rem;
      font-weight: 600;
      margin-bottom: 22px;
      cursor: pointer;
      transition: opacity .15s;
    }
    .back-link:hover { opacity: .75; }

    h1 {
      font-size: 1.75rem;
      font-weight: 800;
      color: #1a1a2e;
      margin-bottom: 10px;
      line-height: 1.2;
    }

    .subtitle {
      font-size: .92rem;
      color: #555;
      margin-bottom: 30px;
    }

    /* ══ BANK GRID ══ */
    .bank-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 14px;
    }

    .bank-card {
      display: flex;
      align-items: center;
      justify-content: center;
      border: 1px solid #dde1ea;
      border-radius: 12px;
      padding: 22px 18px;
      min-height: 96px;
      cursor: pointer;
      text-decoration: none;
      background: #fff;
      transition: box-shadow .2s, border-color .2s, transform .15s;
      position: relative;
    }
    .bank-card:hover {
      box-shadow: 0 6px 24px rgba(0,0,0,.12);
      border-color: #bbbfc8;
      transform: translateY(-2px);
    }
    .bank-card:active {
      transform: scale(.98);
    }

    .bank-logo {
      max-width: 100%;
      max-height: 62px;
      object-fit: contain;
      display: block;
    }

    .bank-fallback {
      display: none;
      font-size: .85rem;
      font-weight: 700;
      color: #333;
      text-align: center;
      padding: 4px;
    }

    /* ══ SECURE BADGE ══ */
    .secure-footer {
      margin-top: 36px;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      font-size: .75rem;
      color: #2e7d32;
      font-weight: 600;
    }

    /* ══ RESPONSIVE ══ */
    @media (max-width: 700px) {
      .page { padding: 24px 16px 48px; }
      .bank-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
      h1 { font-size: 1.35rem; }
      .bank-card { min-height: 80px; padding: 16px 12px; }
      .bank-logo { max-height: 52px; }
    }
    @media (max-width: 400px) {
      .bank-grid { gap: 8px; }
      .bank-card { min-height: 70px; padding: 12px 10px; }
      .bank-logo { max-height: 44px; }
    }
