/*-- -------------------------- -->
<---      Contact Hero           -->
<--- -------------------------- -*/

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #contact-hero-4524 {
    padding: var(--sectionPadding);
    /* 160px - 200px */
    padding-top: clamp(15rem, 20vw, 12.5rem);
    background-color: #1a1a1a;
    position: relative;
    z-index: 1;
    overflow: hidden;
  }
  #contact-hero-4524 .cs-container {
    width: 100%;
    max-width: 80rem;
    margin: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    z-index: 1;
  }
  #contact-hero-4524 .cs-content {
    text-align: center;
    width: 100%;
    max-width: 43.75rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
  }
  #contact-hero-4524 .cs-title {
    /* 31px - 49px */
    font-size: clamp(1.9375rem, 3.9vw, 3.0625rem);
    color: var(--bodyTextColorWhite);
    margin: 0;
  }
  #contact-hero-4524 .cs-text {
    color: var(--bodyTextColorWhite);
    opacity: 0.8;
    margin: 0;
  }
  #contact-hero-4524 .cs-background {
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -2;
  }
  #contact-hero-4524 .cs-background img {
    position: absolute;
    top: 20%;
    left: 0;
    height: 120%;
    width: 100%;
    opacity: 0.4;
    object-fit: cover;
  }
  #contact-hero-4524:before {
    content: '';
    width: 100%;
    height: 100%;
    background: rgba(26, 26, 26, 0.7);
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
  }
}

/* Large Desktop - 1920px */
@media only screen and (min-width: 120rem) {
  #contact-hero-4524 {
    /* 200px - 300px */
    padding-top: clamp(25rem, 20vw, 12.5rem);
  }
  #contact-hero-4524 .cs-container {
    margin-bottom: 10rem;
  }
}

/*-- -------------------------- -->
<---    Contact Information     -->
<--- -------------------------- -*/

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #contact-info-4525 {
    padding: var(--sectionPadding);
    position: relative;
    z-index: 1;
  }
  #contact-info-4525 .cs-container {
    width: 100%;
    max-width: 80rem;
    margin: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2.5rem;
  }
  #contact-info-4525 .cs-content {
    text-align: center;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
  }
  #contact-info-4525 .cs-card-group {
    width: 100%;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    /* 16px - 20px */
    gap: clamp(1rem, 2vw, 1.25rem);
  }
  #contact-info-4525 .cs-item {
    list-style: none;
    grid-column: span 12;
    background: #fff;
    border: 1px solid #ececec;
    border-radius: 1rem;
    /* 24px - 32px */
    padding: clamp(1.5rem, 3vw, 2rem);
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 1.25rem;
    align-items: start;
    transition: border-color 0.3s, box-shadow 0.3s;
  }
  #contact-info-4525 .cs-item:hover {
    border-color: var(--primary);
    box-shadow: 0 4px 12px rgba(0, 102, 204, 0.1);
  }
  #contact-info-4525 .cs-icon-picture {
    width: 3rem;
    height: 3rem;
    background-color: color-mix(in srgb, var(--primary) 10%, transparent);
    border-radius: 0.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
  }
  #contact-info-4525 .cs-icon {
    width: 1.5rem;
    height: auto;
    filter: brightness(0) saturate(100%) invert(27%) sepia(100%) saturate(2594%) hue-rotate(195deg) brightness(99%) contrast(101%);
  }
  #contact-info-4525 .cs-text-group {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
  }
  #contact-info-4525 .cs-h3 {
    font-family: var(--headerFont);
    /* 18px - 20px */
    font-size: clamp(1.125rem, 2vw, 1.25rem);
    line-height: 1.4em;
    margin: 0;
    color: var(--headerColor);
  }
  #contact-info-4525 .cs-item-text {
    font-size: var(--bodyFontSize);
    line-height: 1.5em;
    margin: 0;
    color: var(--bodyTextColor);
    text-decoration: none;
  }
  #contact-info-4525 .cs-item-text:hover {
    color: var(--primary);
    text-decoration: underline;
  }
  #contact-info-4525 .cs-item-text[href] {
    color: var(--primary);
    font-weight: 600;
  }
}

/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #contact-info-4525 .cs-item {
    grid-column: span 6;
  }
}

/* Desktop - 1024px */
@media only screen and (min-width: 64rem) {
  #contact-info-4525 .cs-item {
    grid-column: span 4;
  }
}

/*-- -------------------------- -->
<---      Contact Form          -->
<--- -------------------------- -*/

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #contact-form-4526 {
    padding: var(--sectionPadding);
    background: #f7f9fc;
    position: relative;
    z-index: 1;
  }
  #contact-form-4526 .cs-container {
    width: 100%;
    max-width: 56rem;
    margin: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2rem;
  }
  #contact-form-4526 .cs-content {
    text-align: center;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
  }
  #contact-form-4526 .cs-form {
    width: 100%;
    background: #fff;
    border: 1px solid #ececec;
    border-radius: 1rem;
    overflow: hidden;
  }
  #contact-form-4526 .cs-steps {
    width: 100%;
    overflow: hidden;
    position: relative;
  }
  #contact-form-4526 .cs-track {
    width: 300%;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    transition: transform 0.45s ease;
  }
  #contact-form-4526 .cs-step {
    margin: 0;
    /* 24px - 32px */
    padding: clamp(1.5rem, 4vw, 2rem);
    display: block;
    box-sizing: border-box;
    border: none;
    background: transparent;
  }
  #contact-form-4526 .cs-step legend { 
    display: none; 
  }
  #contact-form-4526 .cs-grid-2 {
    display: grid;
    grid-template-columns: 1fr;
    /* 16px - 20px */
    gap: clamp(1rem, 2vw, 1.25rem);
  }
  #contact-form-4526 .cs-field { 
    display: flex; 
    flex-direction: column; 
    /* 12px - 16px */
    gap: clamp(0.75rem, 1.5vw, 1rem);
    margin-bottom: 1.25rem; 
  }
  #contact-form-4526 .cs-field:last-child { 
    margin-bottom: 0; 
  }
  #contact-form-4526 .cs-label { 
    font-family: var(--headerFont);
    font-weight: 600; 
    color: var(--headerColor); 
    /* 14px - 16px */
    font-size: clamp(0.875rem, 1.5vw, 1rem);
  }
  #contact-form-4526 .cs-required { 
    color: #e63946; 
    margin-left: 0.25rem; 
  }
  #contact-form-4526 .cs-input {
    width: 100%;
    font-family: var(--bodyFont);
    font-size: 1rem;
    line-height: 1.5em;
    /* 12px - 14px */
    padding: clamp(0.75rem, 1.5vw, 0.875rem) 1rem;
    color: var(--headerColor);
    background: #fff;
    border: 1px solid #e2e2e2;
    border-radius: 0.5rem;
    transition: border-color 0.3s, box-shadow 0.3s;
    box-sizing: border-box;
  }
  #contact-form-4526 .cs-input:focus { 
    outline: none; 
    border-color: var(--primary); 
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary) 20%, transparent); 
  }
  #contact-form-4526 .cs-input::placeholder {
    color: #999;
  }
  #contact-form-4526 .cs-button-solid {
    font-size: 1rem;
    /* 46px - 56px */
    line-height: clamp(2.875rem, 5.5vw, 3.5rem);
    text-decoration: none;
    font-weight: 700;
    text-align: center;
    color: #fff;
    white-space: nowrap;
    margin: 0;
    min-width: 9.375rem;
    /* 24px - 32px */
    padding: 0 clamp(1.5rem, 2vw, 2rem);
    background-color: var(--primary);
    background-image: none;
    border-radius: 0.25rem;
    border: none;
    overflow: hidden;
    display: inline-block;
    position: relative;
    z-index: 1;
    transition: background-color 0.3s;
    cursor: pointer;
    box-sizing: border-box;
  }
  #contact-form-4526 .cs-button-solid:hover { 
    background-color: var(--primaryLight); 
  }
  #contact-form-4526 .cs-actions { 
    display: flex; 
    /* 12px - 16px */
    gap: clamp(0.75rem, 1.5vw, 1rem); 
    margin-top: 1.5rem; 
  }
  #contact-form-4526 .cs-actions .cs-button-solid { 
    margin: 0; 
  }
  #contact-form-4526 .cs-progress { 
    display: flex; 
    justify-content: center; 
    /* 8px - 12px */
    gap: clamp(0.5rem, 1vw, 0.75rem); 
    /* 16px - 24px */
    padding: clamp(1rem, 2vw, 1.5rem); 
  }
  #contact-form-4526 .cs-dot {
    width: 10px; 
    height: 10px; 
    border-radius: 50%; 
    background: #e0e0e0; 
    display: inline-block; 
    transition: background-color 0.3s, transform 0.3s;
  }
  #contact-form-4526 .cs-dot.cs-active { 
    background: var(--primary); 
    transform: scale(1.15); 
  }
}

/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #contact-form-4526 .cs-grid-2 { 
    grid-template-columns: repeat(2, 1fr); 
    /* 16px - 20px */
    gap: clamp(1rem, 2vw, 1.25rem); 
  }
  #contact-form-4526 .cs-step {
    /* 32px - 48px */
    padding: clamp(2rem, 4vw, 3rem);
  }
}

/* Desktop - 1024px */
@media only screen and (min-width: 64rem) {
  #contact-form-4526 .cs-actions {
    justify-content: flex-end;
  }
}

/*-- -------------------------- -->
<---      Service Area          -->
<--- -------------------------- -*/

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #contact-service-4527 {
    padding: var(--sectionPadding);
    position: relative;
    z-index: 1;
  }
  #contact-service-4527 .cs-container {
    width: 100%;
    max-width: 80rem;
    margin: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2.5rem;
  }
  #contact-service-4527 .cs-content {
    text-align: center;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
  }
  #contact-service-4527 .cs-card-group {
    width: 100%;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    /* 16px - 20px */
    gap: clamp(1rem, 2vw, 1.25rem);
  }
  #contact-service-4527 .cs-item {
    list-style: none;
    grid-column: span 12;
    background: #fff;
    border: 1px solid #ececec;
    border-radius: 1rem;
    /* 24px - 32px */
    padding: clamp(1.5rem, 3vw, 2rem);
    text-align: center;
    transition: border-color 0.3s, box-shadow 0.3s, transform 0.3s;
  }
  #contact-service-4527 .cs-item:hover {
    border-color: var(--primary);
    box-shadow: 0 4px 12px rgba(0, 102, 204, 0.1);
    transform: translateY(-2px);
  }
  #contact-service-4527 .cs-h3 {
    font-family: var(--headerFont);
    /* 18px - 20px */
    font-size: clamp(1.125rem, 2vw, 1.25rem);
    line-height: 1.4em;
    margin: 0 0 0.75rem 0;
    color: var(--headerColor);
  }
  #contact-service-4527 .cs-item-text {
    font-size: var(--bodyFontSize);
    line-height: 1.5em;
    margin: 0;
    color: var(--bodyTextColor);
  }
}

/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #contact-service-4527 .cs-item {
    grid-column: span 6;
  }
}

/* Desktop - 1024px */
@media only screen and (min-width: 64rem) {
  #contact-service-4527 .cs-item {
    grid-column: span 3;
  }
}

/* Large Desktop - 1300px */
@media only screen and (min-width: 81.25rem) {
  #contact-service-4527 .cs-item {
    text-align: left;
  }
}
