/* Header Banner */
.page-banner {
  align-self: stretch;
  height: 300px;
  padding-left: 40px;
  padding-right: 40px;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 10px;
  display: flex;
  background-repeat: no-repeat;
  background-size: cover; }
  .page-banner .page-banner-title {
    justify-content: center;
    display: flex;
    flex-direction: column;
    color: #fff;
    font-size: 37px;
    font-family: SVN-Sofia Pro;
    font-weight: 600;
    line-height: 40px;
    word-wrap: break-word; }
  .page-banner .page-banner-subtitle {
    opacity: 0.80;
    justify-content: center;
    display: flex;
    flex-direction: column;
    color: #fff;
    font-size: 16px;
    font-family: SVN-Sofia Pro;
    font-weight: 400;
    word-wrap: break-word; }
  @media (max-width: 1199px) {
    .page-banner {
      padding-left: 16px;
      padding-right: 16px; } }

/* Contact Page Styles extracted from inline styles */
/* Wrapper */
.contact-wrapper {
  padding: 40px 0; }

/* Tabs */
.contact-tabs {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 40px;
  gap: 30px; }
  .contact-tabs .contact-tab {
    padding: 15px 30px;
    background: #ffffff;
    border-radius: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    cursor: pointer; }
    .contact-tabs .contact-tab.contact-tab--active {
      background: linear-gradient(318deg, #3500BB 0%, #49BFFF 100%); }
      .contact-tabs .contact-tab.contact-tab--active .contact-tab__label {
        color: #ffffff; }
    .contact-tabs .contact-tab:hover {
      background: linear-gradient(318deg, #3500BB 0%, #49BFFF 100%);
      color: #fff; }
      .contact-tabs .contact-tab:hover .contact-tab__label {
        color: #ffffff; }
    .contact-tabs .contact-tab .contact-tab__label {
      color: black;
      text-align: center;
      font-size: 20px;
      font-family: SVN-Sofia Pro, sans-serif;
      font-weight: 500;
      line-height: 32px; }

/* Columns */
.contact-columns {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 30px; }
  .contact-columns .contact-card {
    flex: 1 1 0;
    align-self: stretch;
    padding: 24px;
    background: #ffffff;
    border-radius: 12px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 24px; }
  .contact-columns .contact-card__header {
    align-self: stretch;
    display: flex;
    flex-direction: column;
    gap: 8px; }
    .contact-columns .contact-card__header .contact-heading {
      color: #4D4D4D;
      font-size: 24px;
      font-family: SVN-Sofia Pro, sans-serif;
      font-weight: 700;
      line-height: 32px; }
    .contact-columns .contact-card__header .contact-subtext {
      color: #4D4D4D;
      font-size: 16px;
      font-family: SVN-Sofia Pro, sans-serif;
      font-weight: 400;
      line-height: 24px; }
  .contact-columns .divider {
    align-self: stretch;
    height: 0px;
    outline: 1px #ECE6E6 solid;
    outline-offset: -0.5px; }
  .contact-columns .contact-item {
    align-self: stretch;
    color: #4D4D4D;
    font-size: 18px;
    font-weight: 400;
    line-height: 28px; }
  .contact-columns .contact-info-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
    justify-content: space-between;
    width: 100%; }
  .contact-columns .contact-info-blockleft {
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 24px; }
  .contact-columns .contact-info-qrcode {
    flex: 0 0 200px;
    max-width: 200px; }
    .contact-columns .contact-info-qrcode img {
      max-width: 200px; }
  .contact-columns .contact-info-block {
    align-self: stretch;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start; }
    .contact-columns .contact-info-block .contact-info-row {
      display: flex;
      justify-content: flex-start;
      align-items: center;
      gap: 8px; }
      .contact-columns .contact-info-block .contact-info-row .icon-circle {
        width: 32px;
        height: 32px;
        padding: 8px;
        background: #E1ECFB;
        border-radius: 16px;
        line-height: 16px; }
      .contact-columns .contact-info-block .contact-info-row .contact-info-label {
        color: #4D4D4D;
        font-size: 16px;
        font-family: SVN-Sofia Pro, sans-serif;
        font-weight: 600;
        line-height: 24px; }
    .contact-columns .contact-info-block .contact-info-value {
      padding-left: 40px;
      color: #4D4D4D;
      font-size: 16px;
      font-family: SVN-Sofia Pro, sans-serif;
      font-weight: 400;
      line-height: 24px; }

/* CTA Section */
.contact-cta-section {
  align-self: stretch;
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  gap: 0; }
  .contact-cta-section .cta-form {
    flex: 1;
    padding: 40px;
    background: linear-gradient(318deg, #3500BB 0%, #49BFFF 100%);
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 31px; }
  .contact-cta-section .cta-headline {
    color: #ffffff;
    font-size: 37px;
    font-family: SVN-Sofia Pro, sans-serif;
    font-weight: 600;
    line-height: 40px; }
  .contact-cta-section .cta-fields {
    align-self: stretch;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 12px; }
    .contact-cta-section .cta-fields .cta-field-row {
      align-self: stretch;
      display: flex;
      justify-content: flex-start;
      align-items: center;
      flex-wrap: wrap;
      gap: 16px; }
    .contact-cta-section .cta-fields .cta-input {
      background: rgba(0, 0, 0, 0.2);
      border-radius: 10px;
      border: 1px rgba(255, 255, 255, 0.7) solid;
      height: 53px; }
    .contact-cta-section .cta-fields .cta-input--half {
      flex: 0 0 calc(50% - 8px);
      max-width: calc(50% - 8px); }
    .contact-cta-section .cta-fields .cta-input--full {
      flex: 0 0 100%;
      max-width: 100%; }
    .contact-cta-section .cta-fields .cta-input--textarea {
      width: 100%;
      height: 103px; }
  .contact-cta-section .cta-submit {
    padding: 12px 20px;
    background: linear-gradient(318deg, #DA0009 0%, #FF9900 100%);
    border-radius: 5px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: 10px; }
  .contact-cta-section .cta-submit__label {
    color: #ffffff;
    font-size: 14px;
    font-family: SVN-Sofia Pro, sans-serif;
    font-weight: 700;
    text-transform: uppercase; }
  .contact-cta-section .cta-side {
    flex: 1;
    padding: 40px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    gap: 10px; }
    .contact-cta-section .cta-side .cta-image {
      align-self: stretch;
      border-radius: 20px; }
    .contact-cta-section .cta-side .cta-ribbon {
      padding: 5px 20px;
      background: linear-gradient(90deg, #ffffff 0%, rgba(255, 255, 255, 0.6) 5%, rgba(255, 255, 255, 0) 15%, rgba(255, 255, 255, 0) 85%, rgba(255, 255, 255, 0.6) 95%, #ffffff 100%), linear-gradient(318deg, #3500BB 0%, #49BFFF 100%);
      display: flex;
      justify-content: flex-start;
      align-items: center;
      gap: 10px; }
    .contact-cta-section .cta-side .cta-ribbon__label {
      color: #ffffff;
      font-size: 14px;
      font-family: SVN-Sofia Pro, sans-serif;
      font-weight: 600;
      line-height: 14px; }
    .contact-cta-section .cta-side .cta-side-title {
      align-self: stretch;
      text-align: center;
      color: #222222;
      font-size: 32px;
      font-family: SVN-Sofia Pro, sans-serif;
      font-weight: 500; }
    .contact-cta-section .cta-side .cta-button-row {
      display: flex;
      justify-content: flex-start;
      align-items: flex-start;
      gap: 10px; }
    .contact-cta-section .cta-side .cta-button {
      min-width: 200px;
      padding: 12px 20px;
      border-radius: 5px;
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 10px;
      cursor: pointer; }
    .contact-cta-section .cta-side .cta-button--blue {
      background: linear-gradient(318deg, #3500BB 0%, #49BFFF 100%); }
    .contact-cta-section .cta-side .cta-button--orange {
      background: linear-gradient(318deg, #DA0009 0%, #FF9900 100%); }
    .contact-cta-section .cta-side .cta-button__label {
      color: #ffffff;
      font-size: 14px;
      font-family: SVN-Sofia Pro, sans-serif;
      font-weight: 700;
      text-transform: uppercase; }

/* Additional groups to remove remaining inline styles */
.cta-side-group {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  gap: 21px; }

/* Form control resets to make .cta-input classes apply cleanly */
.cta-input {
  box-sizing: border-box;
  width: 100%;
  color: #fff;
  padding: 0 12px;
  outline: none; }

.cta-input::placeholder {
  color: rgba(255, 255, 255, 0.7); }

.cta-input--textarea {
  padding: 12px;
  resize: vertical; }

.cta-submit {
  border: none;
  cursor: pointer; }

.contact-iframe-section iframe {
  width: 100%;
  height: 500px; }

@media (max-width: 991px) {
  .contact-tabs {
    gap: 15px; }
    .contact-tabs .contact-tab {
      padding: 15px; }
      .contact-tabs .contact-tab .contact-tab__label {
        font-size: 16px; }
  .contact-columns .contact-card {
    flex: 0 0 100%;
    max-width: 100%; }
  .contact-cta-section {
    flex-wrap: wrap; }
    .contact-cta-section .cta-form {
      flex: 0 0 100%;
      max-width: 100%;
      padding-left: 16px;
      padding-right: 16px; }
    .contact-cta-section .cta-side {
      flex: 0 0 100%;
      max-width: 100%;
      padding-left: 16px;
      padding-right: 16px; } }

@media (max-width: 991px) {
  .contact-tabs {
    white-space: nowrap;
    overflow: auto;
    justify-content: flex-start; } }

/* Normal heading variant (no uppercase, lighter weight) */
.contact-heading--normal {
  font-weight: 400;
  text-transform: none; }
