
    .cu-page { font-family: "Poppins", system-ui, sans-serif; color: #333; }
    .cu-hero {
      background: linear-gradient(135deg, #faf7fc 0%, #f0f4ff 55%, #fdf4ff 100%);
      padding: 2.5rem 0 2rem;
    }
    .cu-hero h1 { font-weight: 800; letter-spacing: -0.02em; color: #1a1a2e; }
    .cu-badge {
      display: inline-block;
      padding: 0.35rem 0.9rem;
      background: linear-gradient(135deg, rgba(110,57,138,.12), rgba(189,69,151,.12));
      color: #5b2c91;
      font-size: 0.8rem;
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 0.06em;
      margin-bottom: 1rem;
    }
    .cu-section-title { font-weight: 700; color: #1a1a2e; margin-bottom: 0.75rem; }
    .cu-info-card {
      background: #fff;
      border: 1px solid #ece6f5;
      border-radius: 14px;
      padding: 1.5rem;
      height: 100%;
      transition: box-shadow 0.2s, transform 0.2s;
    }
    .cu-info-card:hover {
      box-shadow: 0 12px 36px rgba(91, 44, 145, 0.1);
      transform: translateY(-2px);
    }
    .cu-info-card .cu-icon {
      width: 3rem;
      height: 3rem;
      border-radius: 12px;
      display: flex;
      align-items: center;
      justify-content: center;
      background: linear-gradient(135deg, rgb(110, 57, 138), rgb(189, 69, 151));
      color: #fff;
      font-size: 1.15rem;
      margin-bottom: 1rem;
    }
    .cu-info-card h3 { font-size: 1rem; font-weight: 700; color: #2d1b4e; margin-bottom: 0.5rem; }
    .cu-info-card p { font-size: 0.92rem; color: #555; margin: 0; line-height: 1.6; }
    .cu-info-card a { color: #5b2c91; text-decoration: none; font-weight: 600; }
    .cu-info-card a:hover { text-decoration: underline; color: #933e90; }
    .cu-form-wrap {
      background: #fff;
      border: 1px solid #e8e8f0;
      border-radius: 16px;
      padding: 2rem 2rem 2.25rem;
      box-shadow: 0 16px 48px rgba(45, 27, 78, 0.08);
    }
    .cu-form-wrap .form-label {
      font-weight: 600;
      font-size: 0.88rem;
      color: #2d1b4e;
      margin-bottom: 0.35rem;
    }
    .cu-form-wrap .form-control,
    .cu-form-wrap .form-select {
      border: 1px solid #e0dce8;
      border-radius: 8px;
      padding: 0.65rem 0.9rem;
      font-size: 0.95rem;
    }
    .cu-form-wrap .form-control:focus,
    .cu-form-wrap .form-select:focus {
      border-color: #a78bfa;
      box-shadow: 0 0 0 0.2rem rgba(139, 92, 246, 0.15);
    }
    .cu-submit-btn {
      display: inline-block;
      padding: 14px 36px;
      background: linear-gradient(135deg, rgb(110, 57, 138), rgb(189, 69, 151));
      color: #fff;
      border: none;
      border-radius: 0;
      font-weight: 600;
      font-size: 1rem;
      transition: 0.3s ease;
      width: 100%;
    }
    .cu-submit-btn:hover {
      color: #fff;
      box-shadow: 0 8px 24px rgba(91, 44, 145, 0.35);
    }
    .cu-aside-img img {
      width: 100%;
      border-radius: 16px;
      object-fit: cover;
      box-shadow: 0 16px 48px rgba(45, 27, 78, 0.12);
    }
    .cu-map-wrap {
      border: 1px solid #ece6f5;
      border-radius: 14px;
      overflow: hidden;
      box-shadow: 0 8px 24px rgba(45, 27, 78, 0.08);
      background: #f8f6fc;
    }
    .cu-map-wrap iframe {
      display: block;
      width: 100%;
      height: 280px;
      border: 0;
    }
    .cu-map-caption {
      padding: 0.75rem 1rem;
      background: #fff;
      border-top: 1px solid #ece6f5;
      font-size: 0.88rem;
    }
    .cu-map-caption a {
      color: #5b2c91;
      font-weight: 600;
      text-decoration: none;
    }
    .cu-map-caption a:hover { text-decoration: underline; }
    .cu-alert-success {
      display: none;
      background: linear-gradient(135deg, rgba(110,57,138,.08), rgba(189,69,151,.08));
      border: 1px solid #c4b5fd;
      border-radius: 10px;
      padding: 1rem 1.25rem;
      color: #2d1b4e;
      font-size: 0.95rem;
      margin-bottom: 1.25rem;
    }
    .cu-alert-success.show { display: block; }
    .cu-office-hours li {
      display: flex;
      justify-content: space-between;
      padding: 0.5rem 0;
      border-bottom: 1px solid #f0ecf5;
      font-size: 0.92rem;
    }
    .cu-office-hours li:last-child { border-bottom: none; }
    .cu-office-hours span:first-child { color: #555; }
    .cu-office-hours span:last-child { font-weight: 600; color: #2d1b4e; }
    .cu-social a {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 2.5rem;
      height: 2.5rem;
      border-radius: 8px;
      background: linear-gradient(135deg, rgb(110, 57, 138), rgb(189, 69, 151));
      color: #fff;
      margin-right: 0.5rem;
      text-decoration: none;
      transition: transform 0.2s;
    }
    .cu-social a:hover { color: #fff; transform: translateY(-2px); }
    .cu-strip {
      background: linear-gradient(120deg, #2d1b4e 0%, #5b2c91 50%, #7c3aed 100%);
      color: #fff;
      padding: 2rem 0;
    }
    .cu-strip a { color: #fff; font-weight: 600; }
