
    .ct-eyebrow {
      display: inline-block;
      font-family: var(--font-label);
      font-size: 11px;
      letter-spacing: 2px;
      text-transform: uppercase;
      color: #477080;
      margin-bottom: 16px;
    }

    /* Programs section */
    .ct-programs { padding: 90px 0 80px; }
    .ct-programs-header {
      max-width: 760px;
      margin-bottom: 48px;
    }
    .ct-programs-title {
      font-family: var(--font-heading);
      font-weight: 400;
      font-size: 42px;
      line-height: 1.05;
      letter-spacing: -0.027em;
      color: #00476b;
      margin-bottom: 14px;
    }
    .ct-programs-sub {
      font-size: 16px;
      line-height: 28px;
      color: #333333;
      opacity: 0.78;
    }
    .ct-programs-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 28px;
    }
    .ct-program {
      position: relative;
      background: #fff;
      border: 1px solid #e8e4e0;
      border-radius: 24px;
      padding: 40px;
      overflow: hidden;
      transition: box-shadow 0.3s, transform 0.2s, border-color 0.2s;
      display: flex;
      flex-direction: column;
    }
    .ct-program:hover {
      box-shadow: 0 24px 60px rgba(0, 71, 107, 0.1);
      transform: translateY(-3px);
      border-color: #d6dee4;
    }
    .ct-program::before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      height: 6px;
      background: linear-gradient(90deg, #00476b 0%, #477080 100%);
    }
    .ct-program--late::before {
      background: linear-gradient(90deg, #477080 0%, #477080 100%);
    }
    .ct-program-brand-row {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 24px;
      margin-bottom: 22px;
    }
    .ct-program-logo {
      display: block;
      width: 150px;
      height: 63px;
      object-fit: contain;
      object-position: left center;
    }
    .ct-phase-badge {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      align-self: flex-start;
      background: linear-gradient(135deg, #00476b 0%, #477080 100%);
      color: #fff;
      padding: 7px 14px;
      border-radius: 100px;
      font-family: var(--font-label);
      font-size: 11px;
      letter-spacing: 2px;
      text-transform: uppercase;
      margin-bottom: 0;
    }
    .ct-program--late .ct-phase-badge {
      background: linear-gradient(135deg, #477080 0%, #477080 100%);
    }
    .ct-program-eyebrow {
      font-family: var(--font-label);
      font-size: 11px;
      letter-spacing: 2px;
      text-transform: uppercase;
      color: #477080;
      opacity: 0.65;
      margin-bottom: 8px;
      display: block;
    }
    .ct-program h3 {
      font-family: var(--font-heading);
      font-weight: 500;
      font-size: 28px;
      line-height: 1.1;
      letter-spacing: -0.025em;
      color: #00476b;
      margin-bottom: 16px;
    }
    .ct-program p {
      font-size: 15px;
      line-height: 25px;
      color: #333333;
      opacity: 0.85;
      margin-bottom: 14px;
    }
    .ct-program p:last-of-type { margin-bottom: 24px; }
    .ct-program-facts {
      display: flex;
      flex-direction: column;
      gap: 12px;
      padding: 20px 0;
      border-top: 1px solid #ebe8e4;
      border-bottom: 1px solid #ebe8e4;
      margin-bottom: 24px;
    }
    .ct-program-fact {
      display: flex;
      align-items: flex-start;
      gap: 12px;
      font-size: 14px;
      line-height: 22px;
      color: #333333;
      letter-spacing: -0.2px;
    }
    .ct-program-fact .material-symbols-rounded {
      font-size: 18px;
      color: #477080;
      flex-shrink: 0;
      margin-top: 2px;
    }
    .ct-program-fact strong {
      color: #00476b;
      font-weight: 600;
    }
    .ct-program-actions {
      display: flex;
      flex-direction: column;
      gap: 14px;
      align-items: stretch;
      margin-top: auto;
    }
    .ct-program-primary {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      width: 100%;
      min-height: 54px;
      padding: 15px 24px;
      border-radius: 100px;
      background: #00476b;
      color: #fff;
      font-family: var(--font-body);
      font-size: 15px;
      font-weight: 600;
      text-decoration: none;
      transition: transform 0.2s, box-shadow 0.2s, background 0.2s;
    }
    .ct-program-primary:hover {
      transform: translateY(-2px);
      background: #003a58;
      box-shadow: 0 14px 32px rgba(0, 71, 107, 0.22);
    }
    .ct-program-primary .material-symbols-rounded { font-size: 19px; }
    .ct-program-secondary {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: center;
      gap: 8px 18px;
    }
    .ct-program-phone {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      background: #00476b;
      color: #fff;
      padding: 12px 20px;
      border-radius: 100px;
      font-family: var(--font-body);
      font-weight: 600;
      font-size: 14px;
      letter-spacing: -0.2px;
      text-decoration: none;
      transition: transform 0.2s, box-shadow 0.2s;
    }
    .ct-program-phone:hover {
      transform: translateY(-2px);
      box-shadow: 0 12px 28px rgba(0, 71, 107, 0.22);
    }
    .ct-program-phone .material-symbols-rounded { font-size: 16px; }
    .ct-program-email {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      font-size: 13.5px;
      color: #477080;
      text-decoration: none;
      letter-spacing: -0.2px;
      border-bottom: 1px solid transparent;
      transition: border-color 0.2s;
    }
    .ct-program-email:hover { border-bottom-color: #477080; }
    .ct-program-email .material-symbols-rounded { font-size: 14px; }

    /* Trial journey */
    .ct-journey {
      padding: 90px 0;
      background: #f8f9fa;
      border-top: 1px solid #e8e4e0;
      border-bottom: 1px solid #e8e4e0;
    }
    .ct-journey-header {
      max-width: 760px;
      margin-bottom: 56px;
    }
    .ct-journey-title {
      font-family: var(--font-heading);
      font-weight: 400;
      font-size: 38px;
      line-height: 1.05;
      letter-spacing: -0.026em;
      color: #00476b;
      margin-bottom: 12px;
    }
    .ct-journey-sub {
      font-size: 15.5px;
      line-height: 26px;
      color: #333333;
      opacity: 0.7;
    }
    .ct-steps {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 28px;
      position: relative;
    }
    .ct-steps::before {
      content: "";
      position: absolute;
      top: 28px;
      left: 12.5%;
      right: 12.5%;
      height: 2px;
      background-image: linear-gradient(to right, #c8d4dc 0, #c8d4dc 8px, transparent 8px, transparent 16px);
      background-size: 16px 2px;
      background-repeat: repeat-x;
      z-index: 0;
    }
    .ct-step {
      position: relative;
      z-index: 1;
      text-align: left;
      padding: 0 4px;
    }
    .ct-step-num {
      width: 56px;
      height: 56px;
      background: #fff;
      border: 2px solid #477080;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      font-family: var(--font-heading);
      font-weight: 500;
      font-size: 20px;
      color: #00476b;
      margin-bottom: 22px;
    }
    .ct-step-label {
      font-family: var(--font-label);
      font-size: 10px;
      letter-spacing: 2px;
      text-transform: uppercase;
      color: #477080;
      opacity: 1;
      margin-bottom: 6px;
    }
    .ct-step h3 {
      font-family: var(--font-heading);
      font-weight: 500;
      font-size: 20px;
      letter-spacing: -0.017em;
      color: #00476b;
      margin-bottom: 8px;
    }
    .ct-step p {
      font-size: 14px;
      line-height: 22px;
      color: #333333;
      opacity: 0.78;
    }

    /* FAQ */
    .ct-faq { padding: 90px 0 100px; }
    .ct-faq-header {
      max-width: 760px;
      margin-bottom: 36px;
    }
    .ct-faq-title {
      font-family: var(--font-heading);
      font-weight: 400;
      font-size: 38px;
      line-height: 1.05;
      letter-spacing: -0.026em;
      color: #00476b;
      margin-bottom: 12px;
    }
    .ct-faq-sub {
      font-size: 15.5px;
      line-height: 26px;
      color: #333333;
      opacity: 0.7;
    }
    .ct-faq-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 14px 28px;
    }

    @media (max-width: 1024px) {
      .ct-programs { padding: 70px 0 56px; }
      .ct-programs-title { font-size: 34px; }
      .ct-programs-grid { grid-template-columns: 1fr; gap: 22px; }
      .ct-program { padding: 32px 28px; border-radius: 20px; }
      .ct-journey { padding: 70px 0; }
      .ct-journey-title { font-size: 30px; }
      .ct-steps { grid-template-columns: 1fr 1fr; gap: 32px 24px; }
      .ct-steps::before { display: none; }
      .ct-faq { padding: 70px 0 80px; }
      .ct-faq-title { font-size: 30px; }
      .ct-faq-grid { grid-template-columns: 1fr; }
    }
    @media (max-width: 640px) {
      .ct-programs { padding: 56px 0 40px; }
      .ct-programs-title { font-size: 28px; letter-spacing: -1.2px; }
      .ct-program-brand-row { align-items: flex-start; flex-direction: column; gap: 14px; }
      .ct-program h3 { font-size: 24px; }
      .ct-journey { padding: 56px 0; }
      .ct-journey-title { font-size: 26px; }
      .ct-steps { grid-template-columns: 1fr; gap: 28px; }
      .ct-faq { padding: 56px 0 70px; }
      .ct-faq-title { font-size: 26px; }
    }
    .ct-contact-actions { display: flex; flex-direction: column; align-items: center; gap: 14px; flex-shrink: 0; }
    .ct-contact-email { color: #fff; font-size: 15px; text-underline-offset: 4px; }
