:root {
    --color-primary: #2560D2;
    --color-primary-hover: #1e4db1;
    --color-white: #FFFFFF;
    --color-bg-light: #DFEAFB;
    --color-text: #0E0E0E;
    --color-error: #EF4444;
    --color-success: #2e7d32;
    --color-shadow: rgba(159, 183, 221, 0.8);
    --color-border: #e2e8f0;
    --color-icon-bg: rgba(167, 197, 255, 0.27);
    --color-modal-overlay: rgba(20, 27, 52, 0.3);
    --color-close-bg: #E7EFFF;
    --color-close-hover: #f1f5f9;
    --color-success-bg: #e8f5e9;
    --color-success-border: #a5d6a7;
    --color-error-bg: #ffebee;
    --color-error-border: #ef9a9a;
    --color-text-muted: #4B5563;
    --color-select-arrow: #0E0E0E;
  }
  
  body {
      font-family: "Roboto", sans-serif;
      background: linear-gradient(180deg, var(--color-white) 0%, var(--color-bg-light) 100%);
      min-height: 100vh;
      margin: 0;
      box-sizing: border-box;
  }
  
  .header {
      display: flex;
      justify-content: center;    
      align-items: center;    
      height: 10vh;
  }
  
  main {
      padding: 0 20px;
  }
  
  .subheader-section .btn {
      margin: 0 auto;
  }
  
  .subheader-section .text {
      text-align: center;
      max-width: 834px;
      margin:20px auto 50px;
  }
  
  .h1 {
      text-align: center;
      font-weight: 700;
      font-size: 52px;
      margin-bottom: 10px;
  }
  
  .h2 {
      font-size: 24px;
      font-weight: 700;
      line-height: 26px;
      margin-bottom: 25px;
  }
  
  .text {
      font-size: 18px;
      line-height: 28px;
      margin: 0;
  }
  
  .btn {
      display: flex;
      justify-content: center;
      align-items: center;
      background-color: var(--color-primary);
      color: var(--color-white);
      width: 187px;
      height: 50px;
      border-radius: 8px;
      cursor: pointer;
      border: none;
      transition: background-color 0.3s ease;
  }
  
  .btn:hover {
      background-color: var(--color-primary-hover);
  }
  
  .content-section {
      width: 100%;
      margin-top: 100px;
  }
  
  .content-section-wrapper {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(526px, 1fr));
      justify-items: stretch;
      gap: 30px;
      max-width: 1200px;
      margin: 0 auto;
  }
  
  .card {

      background-color: var(--color-white);
      padding: 40px;
      border-radius: 14px;
      box-shadow: 0 4px 39px var(--color-shadow);
  }
  
  .card .card-icon {
      display: flex;
      justify-content: center;
      align-items: center;
      width: 84px;
      height: 84px;
      border-radius: 50%;
      background-color: var(--color-icon-bg);
      margin-bottom: 20px;
  }
  
  .card .card-icon svg {
      width: 42px;
      height: 42px;
      fill: var(--color-primary);
      color: var(--color-primary);
  }

  .card .card-heading {
      font-size: 18px;
      /* font-weight: 600; */
      line-height: 26px;
      margin-bottom: 9px;
  }
  
  .cta-section {
      display: flex;
      align-items: center;
      justify-content: center;
      background-color: var(--color-white);
      padding-left: 40px;
      margin: 50px 0;
      border-radius: 16px;
      box-shadow: 0 4px 39px rgba(159, 183, 221, 0.2);
      max-width: 1160px;
      margin-left: auto;
      margin-right: auto;
      text-align: center;
  }
  
  .cta-content {
      max-width: 700px;
      margin: 0 auto 40px;
      padding-right: 20px;
  }
  
  .cta-content .text {
      text-align: left;
      margin-bottom: 40px;
  }
  
  .cta-title {
      font-size: 40px;
      font-weight: 700;
      color: var(--color-text);
      margin: 0 0 10px;
      line-height: 1.2;
      text-align: left;
  }
  
  .btn-cta:hover {
      background-color: var(--color-primary-hover);
  }
  
  .cta-image {
      display: flex;
      max-width: 600px;
      border-radius: 16px;
  }
  
  .cta-image img {
      width: 100%;
      height: auto;
      border-radius: 16px;
      object-fit: cover;
  }
  
  .card ul {
      list-style: none;
      padding-left: 0;
      margin: 20px 0 0;
  }
  
  .card li {
      display: flex;
      flex-direction: column;
      position: relative;
      padding-left: 20px;
      margin-bottom: 15px;
  }
  
  .card li::before {
      content: '';
      position: absolute;
      left: 0;
      top: 9px;
      width: 8px;
      height: 8px;
      background-color: var(--color-primary);
      border-radius: 30px;
  }
  
  .modal-overlay {
      display: none;
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background-color: var(--color-modal-overlay);
      z-index: 1000;
      align-items: center;
      justify-content: center;
      padding: 20px;
  }
  
  .modal-container {
      background: var(--color-white);
      border-radius: 12px;
      width: 100%;
      max-width: 593px;
      max-height: 90vh;
      overflow-y: auto;
      position: relative;
      padding: 40px;
      box-shadow: 0 4px 39px var(--color-shadow);
  }
  
  .modal-close {
      position: absolute;
      top: 20px;
      right: 20px;
      background: none;
      border: none;
      cursor: pointer;
      padding: 5px;
      display: flex;
      align-items: center;
      justify-content: center;
      border-radius: 50%;
      background-color: var(--color-close-bg);
      transition: background-color 0.2s;
      width: 44px;
      height: 44px;
  }
  
  .modal-close:hover {
      background-color: var(--color-close-hover);
  }
  
  .modal-title {
      font-size: 24px;
      font-weight: 700;
      color: var(--color-text);
      margin: 0px 0 20px;
  }
  
  .success-modal .modal-title {
      margin: 20px 0 0px;
  }
  
  .demo-form {
      display: flex;
      flex-direction: column;
      gap: 25px;
  }
  
  .form-group {
      display: flex;
      flex-direction: column;
      gap: 8px;
  }
  
  .form-group label {
      font-size: 9px;
      text-transform: uppercase;
      color: var(--color-text);
  }
  
  .form-group input,
  .form-group select,
  .form-group textarea {
      padding: 12px 16px;
      border: 1px solid var(--color-border);
      border-radius: 8px;
      font-size: 14px;
      transition: border-color 0.2s;
      color: var(--color-text);
  }
  
  .form-group input:focus,
  .form-group select:focus,
  .form-group textarea:focus {
      outline: none;
      border-color: var(--color-primary);
      box-shadow: 0 0 0 3px rgba(37, 96, 210, 0.1);
  }
  
  .form-group textarea {
      resize: vertical;
      min-height: 100px;
  }
  
  .form-group.error input,
  .form-group.error select,
  .form-group.error textarea {
      border-color: var(--color-error) !important;
  }
  
  .success-modal {
      max-width: 500px;
      text-align: center;
      padding: 40px;
  }
  
  .success-icon {
      width: 80px;
      height: 80px;
      margin-bottom: 20px;
  }
  
  .success-content {
      display: flex;
      flex-direction: column;
      align-items: center;
  }
  
  .success-message {
      font-size: 18px;
      line-height: 1.5;
      color: var(--color-text-muted);
      margin: 15px 0 30px;
  }
  
  .modal-overlay {
      display: none;
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background-color: rgba(0, 0, 0, 0.5);
      z-index: 1000;
      align-items: center;
      justify-content: center;
      padding: 20px;
      opacity: 0;
      transition: opacity 0.3s ease;
  }
  
  .modal-overlay:not(.hidden) {
      display: flex;
      opacity: 1;
  }
  
  .error-message {
      display: none;
      color: var(--color-error);
      font-size: 12px;
      margin-top: 4px;
      line-height: 1.3;
  }
  
  .error-message:not(:empty) {
      display: block;
  }
  
  .form-status {
      padding: 12px 16px;
      border-radius: 8px;
      margin-bottom: 20px;
      display: none;
      font-size: 14px;
      line-height: 1.5;
  }
  
  .form-status.success {
      background-color: var(--color-success-bg);
      color: var(--color-success);
      border: 1px solid var(--color-success-border);
  }
  
  .form-status.error {
      background-color: var(--color-error-bg);
      color: var(--color-error);
      border: 1px solid var(--color-error-border);
  }
  
  select {
      padding-right: 40px;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%230E0E0E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
      background-repeat: no-repeat;
      background-position: right 12px center;
      background-size: 16px;
      -webkit-appearance: none;
      -moz-appearance: none;
      appearance: none;
      width: 100%;
      box-sizing: border-box; 
  }
  
  select::-ms-expand {
      display: none; 
  }
  
  .footer {
      display: flex;
      justify-content: center;
      align-items: center;
      height: 48px;
      background-color: var(--color-white);
  }
  
  @media (max-width: 991px) {
      .cta-section {
          flex-wrap: wrap;
          padding: 20px 20px 0 20px;
      }
  
      .cta-title, .cta-content .text {
          text-align: center;
      }
  
      .cta-content .btn {
          margin: 0 auto;
      }
  
      .cta-image {
          max-width: 400px;
      }
  }
  
  @media (max-width: 768px) {
      .card {
          max-width: 100%;
      }
  
      .content-section-wrapper {
          grid-template-columns: 1fr;
      }
  }
  
  @media (max-width: 568px) {
      .h1 {
          font-size: 32px;
      }
  
      .subheader-section .text {
          margin-bottom: 20px;
      }
  
      .content-section {
          margin-top: 50px;
      }
  
      .h2 {
          font-size: 19px;
      }
  
      .cta-title {
          font-size: 24px;
      }
  }

    