/* Start custom CSS for text-editor, class: .elementor-element-8d5ab2f */*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

    :root {
      --cps-red:       #CC2229;
      --cps-red-dark:  #8B1A1A;
      --cps-blue:      #1A3A8F;
      --cps-blue-link: #1A5FB4;
      --cps-cyan-soft: #4DD9FF;
      --cps-white:     #FFFFFF;
      --cps-offwhite:  #F4F7FC;
      --cps-border:    #DDE3EF;
      --cps-text:      #1C1C1C;
      --cps-muted:     #5A6478;
      --radius-md:     10px;
      --radius-lg:     14px;
      --font-body:     'DM Sans', 'Segoe UI', sans-serif;
      --font-display:  'Playfair Display', Georgia, serif;
    }

    body {
      font-family: var(--font-body);
      background: var(--cps-offwhite);
      color: var(--cps-text);
      font-size: 15px;
      line-height: 1.6;
    }

    a { text-decoration: none; transition: color 0.15s; }
    svg { display: block; flex-shrink: 0; }

    /* ── HERO ── */
    #cps-hero {
      position: relative;
      background: linear-gradient(135deg, #0A1628 0%, #0D2855 30%, #0B3070 52%, #0F4A8A 72%, #1560A8 86%, #1D7CC4 100%);
      overflow: hidden;
      padding: 4rem 2rem 3.5rem;
      text-align: center;
    }
    #cps-hero::after {
      content: '';
      position: absolute; inset: 0;
      background-image:
        linear-gradient(rgba(255,255,255,0.025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,0.025) 1px, transparent 1px);
      background-size: 48px 48px;
      pointer-events: none; z-index: 1;
    }
    .cps-orb { position: absolute; border-radius: 50%; pointer-events: none; }
    .orb-tl { width:380px;height:380px;top:-100px;left:-100px;background:radial-gradient(circle,rgba(0,120,255,0.22) 0%,transparent 65%); }
    .orb-br { width:300px;height:300px;bottom:-80px;right:-60px;background:radial-gradient(circle,rgba(0,191,255,0.18) 0%,transparent 65%); }
    .orb-tr { width:220px;height:220px;top:30px;right:28%;background:radial-gradient(circle,rgba(29,124,196,0.28) 0%,transparent 60%); }

    .hero-inner { position: relative; z-index: 2; }

    @keyframes fadeUp {
      from { opacity:0; transform:translateY(16px); }
      to   { opacity:1; transform:translateY(0); }
    }

    .hero-icons {
      display: flex; justify-content: center; gap: 1.25rem;
      margin-bottom: 1.75rem; animation: fadeUp 0.6s ease both;
    }
    .hero-icon-box {
      width:58px;height:58px;border-radius:16px;
      background:rgba(255,255,255,0.07);
      border:1px solid rgba(0,191,255,0.30);
      display:flex;align-items:center;justify-content:center;
      box-shadow:0 0 24px rgba(0,191,255,0.20),inset 0 1px 0 rgba(255,255,255,0.08);
      transition:transform 0.2s;
    }
    .hero-icon-box:hover { transform:translateY(-4px); }
    .hero-icon-box svg { width:24px;height:24px;stroke:#4DD9FF;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round; }

    .hero-logo-wrap {
      margin-bottom:1.75rem;
      animation:fadeUp 0.6s ease both;
    }
    .hero-logo {
      height:90px;
      width:auto;
      object-fit:contain;
      filter:drop-shadow(0 4px 16px rgba(0,0,0,0.30));
    }

    .hero-badge {
      display:inline-block;
      background:rgba(0,191,255,0.12);border:1px solid rgba(0,191,255,0.28);
      color:var(--cps-cyan-soft);font-size:11px;letter-spacing:1.8px;
      text-transform:uppercase;padding:5px 16px;border-radius:40px;
      margin-bottom:0.9rem;animation:fadeUp 0.6s 0.1s ease both;
    }
    .hero-title {
      font-family:var(--font-display);color:#fff !important;
      font-size:42px;font-weight:600;letter-spacing:-0.5px;
      margin-bottom:0.5rem;
      text-shadow:0 2px 24px rgba(0,0,0,0.30);
      animation:fadeUp 0.6s 0.2s ease both;
    }
    .hero-sub {
      color:rgba(255,255,255,0.62);font-size:14.5px;
      margin-bottom:0;animation:fadeUp 0.6s 0.3s ease both;
    }

    /* ── RED STRIP ── */
    #cps-strip { height:4px;background:linear-gradient(90deg,var(--cps-red-dark) 0%,var(--cps-red) 50%,var(--cps-red-dark) 100%); }

    /* ── LAYOUT ── */
    .cps-section { max-width:1020px;margin:0 auto;padding:2.5rem 1.5rem; }
    .cps-section.no-top { padding-top:0; }

    /* ── CARD ── */
    .cps-card {
      background:var(--cps-white);border:1px solid var(--cps-border);
      border-radius:var(--radius-lg);padding:2rem 1.75rem;
      box-shadow:0 4px 20px rgba(26,58,143,0.07);
    }

    .card-title {
      font-size:18px;font-weight:600;color:var(--cps-blue);
      margin-bottom:1.5rem;display:flex;align-items:center;gap:10px;
    }
    .card-title::after {
      content:'';flex:1;height:2px;
      background:linear-gradient(90deg,var(--cps-red),transparent);border-radius:2px;
    }
    .card-title-dot { width:9px;height:9px;border-radius:50%;background:var(--cps-red);flex-shrink:0; }

    /* ── SECTION TITLE ── */
    .section-title {
      font-family:var(--font-display);font-size:22px;font-weight:600;
      color:var(--cps-blue);text-align:center;margin-bottom:1.5rem;position:relative;
    }
    .section-title span { background:var(--cps-offwhite);padding:0 14px;position:relative;z-index:1; }
    .section-title::before {
      content:'';position:absolute;top:52%;left:0;right:0;height:1px;
      background:linear-gradient(90deg,transparent,var(--cps-border),transparent);
    }

    /* ── BODY TEXT ── */
    .body-text p {
      font-size:14.5px;color:var(--cps-muted);line-height:1.85;margin-bottom:1.1rem;
    }
    .body-text p:last-child { margin-bottom:0; }

    /* ── LOGO BANNER ── */
    .logo-banner {
      margin-top:1.5rem;
      background:var(--cps-white);
      border:1px solid var(--cps-border);
      border-radius:var(--radius-lg);
      padding:2.25rem 2rem;
      text-align:center;
      box-shadow:0 4px 20px rgba(26,58,143,0.07);
      position:relative;
      overflow:hidden;
    }
    .logo-banner::before {
      content:'';
      position:absolute;
      top:0;left:0;right:0;
      height:4px;
      background:linear-gradient(90deg,var(--cps-red-dark),var(--cps-red),var(--cps-red-dark));
    }
    .logo-banner-label {
      font-size:10.5px;font-weight:700;
      text-transform:uppercase;letter-spacing:2px;
      color:var(--cps-red);margin-bottom:1.25rem;
    }
    .logo-banner-img {
      max-width:380px !important;width:100%;height:auto;
      object-fit:contain;
      filter:drop-shadow(0 6px 20px rgba(0,0,0,0.10));
      display:block;margin:0 auto;
    }
    .logo-banner-sub {
      margin-top:1.25rem;
      font-size:12px;color:var(--cps-muted);
      letter-spacing:0.5px;
    }

    /* ── INFO GRID (2-col) ── */
    .info-grid {
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:1.25rem;
    }

    /* ── HIGHLIGHT CARD (changed/assured) ── */
    .highlight-card {
      background:var(--cps-offwhite);
      border:1px solid var(--cps-border);
      border-left:4px solid var(--cps-red);
      border-radius:var(--radius-lg);
      padding:1.5rem 1.5rem;
      box-shadow:0 3px 12px rgba(26,58,143,0.06);
    }
    .highlight-card h3 {
      font-size:15.5px;font-weight:700;
      color:var(--cps-blue);margin-bottom:0.75rem;
    }
    .highlight-card p {
      font-size:14px;color:var(--cps-muted);line-height:1.8;
    }

    /* ── CEFR TABLE ── */
    .cefr-wrap {
      overflow-x:auto;
      margin-top:1.5rem;
    }
    .cefr-table {
      width:100%;
      border-collapse:collapse;
      background:var(--cps-white);
      border-radius:var(--radius-lg);
      overflow:hidden;
      box-shadow:0 3px 12px rgba(26,58,143,0.07);
    }
    .cefr-table thead tr {
      background:linear-gradient(135deg,#0D2855,#1A3A8F);
    }
    .cefr-table thead th {
      padding:13px 20px;
      font-size:13px;font-weight:600;
      color:#fff;text-align:center;
      letter-spacing:0.4px;
    }
    .cefr-table thead th:first-child { text-align:left; }

    .cefr-table tbody tr {
      border-bottom:1px solid var(--cps-border);
      transition:background 0.15s;
    }
    .cefr-table tbody tr:last-child { border-bottom:none; }
    .cefr-table tbody tr:hover { background:var(--cps-offwhite); }

    .cefr-table tbody td {
      padding:13px 20px;
      font-size:14px;color:var(--cps-muted);
      text-align:center;
    }
    .cefr-table tbody td:first-child {
      text-align:left;font-weight:700;
      color:var(--cps-blue);font-size:14.5px;
    }

    .check-icon {
      display:inline-flex;align-items:center;justify-content:center;
      width:26px;height:26px;border-radius:50%;
      background:rgba(26,58,143,0.08);
    }
    .check-icon svg {
      width:14px;height:14px;
      stroke:var(--cps-blue);fill:none;
      stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;
    }

    /* ── FEATURE CARDS (3-up) ── */
    .feature-grid {
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:1.1rem;
    }
    .feature-card {
      background:var(--cps-white);
      border:1px solid var(--cps-border);
      border-top:3px solid var(--cps-red);
      border-radius:var(--radius-lg);
      padding:1.5rem 1.4rem;
      box-shadow:0 3px 12px rgba(26,58,143,0.06);
      transition:transform 0.18s,box-shadow 0.18s;
    }
    .feature-card:hover { transform:translateY(-3px);box-shadow:0 8px 24px rgba(26,58,143,0.11); }

    .feature-icon {
      width:44px;height:44px;border-radius:11px;
      background:linear-gradient(135deg,rgba(26,58,143,0.09),rgba(26,31,107,0.14));
      border:1px solid rgba(26,58,143,0.13);
      display:flex;align-items:center;justify-content:center;
      margin-bottom:1rem;
    }
    .feature-icon svg { width:20px;height:20px;stroke:var(--cps-blue);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round; }

    .feature-label { font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--cps-red);margin-bottom:4px; }
    .feature-card h3 { font-size:15px;font-weight:600;color:var(--cps-blue);margin-bottom:0.6rem; }
    .feature-card p { font-size:13.5px;color:var(--cps-muted);line-height:1.7; }

    /* ── RESPONSIVE ── */
    @media (max-width:820px) { .feature-grid { grid-template-columns:1fr 1fr; } }
    @media (max-width:720px) {
      .info-grid { grid-template-columns:1fr; }
      .cps-section { padding:1.5rem 1rem; }
    }
    @media (max-width:600px) {
      .feature-grid { grid-template-columns:1fr; }
      .hero-title { font-size:30px; }
    }
    @media (max-width:420px) { #cps-hero { padding:3rem 1rem 2.5rem; } }/* End custom CSS */