.page-header{
  position:relative;
  padding:0;
  min-height:600px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:transparent;
}

.page-header::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(
      to right,
      rgba(2,6,23,0.85) 0%,
      rgba(2,6,23,0.78) 40%,
      rgba(2,6,23,0.68) 70%,
      rgba(2,6,23,0.55) 100%
    ),
    url('/assets/images/Get_intouch_with_friendly_expertise.png') center 70% / cover no-repeat;
  animation:heroZoom 18s ease-in-out infinite alternate;
  z-index:0;
  transform-origin:center;
}

.page-header .container{
  position:relative;
  z-index:1;
  max-width:1200px;
  margin:0 auto;
  padding:0 20px;
}

.page-header-card{
  text-align:center;
  color:#ffffff;
  padding:120px 20px;
  max-width:900px;
  margin:0 auto;
}

@keyframes heroZoom{
  0%{ transform:scale(1) translateY(0px); }
  100%{ transform:scale(1.08) translateY(-15px); }
}

.page-header-card h1{
  font-size:60px;
  font-weight:900;
  margin:0 0 18px;
  animation:fadeUp 1.2s ease forwards;
  text-shadow:0 10px 30px rgba(0,0,0,0.45);
}

.page-header-card p{
  font-size:20px;
  max-width:760px;
  margin:0 auto;
  color:rgba(255,255,255,0.92);
  animation:fadeUp 1.6s ease forwards;
  text-shadow:0 8px 22px rgba(0,0,0,0.35);
}

@keyframes fadeUp{
  0%{ opacity:0; transform:translateY(30px); }
  100%{ opacity:1; transform:translateY(0); }
}
.contact-section{
    padding:40px 0 90px;
    background:transparent;
}

.contact-section .container{
    max-width:1200px;
    margin:0 auto;
}

.contact-grid{
    display:grid;
    grid-template-columns:1fr 1.1fr;
    gap:30px;
    align-items:start;
}

.contact-info-card,
.contact-form-card{
    background:#ffffff;
    border-radius:20px;
    padding:40px;
    box-shadow:0 20px 60px rgba(0,0,0,0.06);
    transition:transform .25s ease, box-shadow .25s ease;
}

.contact-info-card:hover,
.contact-form-card:hover{
    transform:translateY(-4px);
    box-shadow:0 25px 70px rgba(0,0,0,0.08);
}

.contact-info-card h2,
.contact-form-card h2{
    font-size:26px;
    margin:0 0 18px;
    color:#334155;
    font-weight:700;
}

.contact-details{
    display:flex;
    flex-direction:column;
    gap:16px;
    margin-top:10px;
    margin-bottom:24px;
}

.contact-item{
    display:flex;
    gap:14px;
    align-items:flex-start;
}

.contact-item i{
    font-size:18px;
    color:#2F6FA3;
    margin-top:4px;
    width:22px;
    text-align:center;
}

.contact-item h4{
    margin:0 0 4px;
    font-size:14px;
    font-weight:800;
    color: #334155;
}

.contact-item p{
    margin:0;
    color:#475569;
    line-height:1.6;
}

.contact-item a{
    text-decoration:none;

}

.contact-item a:hover{
    color:#1e40af;
}

.contact-info-card h3{
    margin:10px 0 12px;
    font-size:18px;
    font-weight:800;
    color: #334155;
}

.social-links-large{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}

.social-links-large a{
    width:44px;
    height:44px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:12px;
    background:#ffffff;
    border:1px solid rgba(15,23,42,0.12);
    box-shadow:0 10px 30px rgba(0,0,0,0.06);
    color: #2F6FA3;
    text-decoration:none;
    transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease, color .2s ease;
}

.social-links-large a:hover{
    transform:translateY(-2px);
    border-color:rgba(37,99,235,0.30);
    box-shadow:0 14px 38px rgba(0,0,0,0.08);
    color:#1e40af;
}

.alert{
    border-radius:14px;
    padding:14px 16px;
    font-weight:600;
    margin:0 0 16px;
}

.alert-success{
    background:rgba(16,185,129,0.12);
    border:1px solid rgba(16,185,129,0.25);
    color:#065f46;
}

.alert-error{
    background:rgba(239,68,68,0.10);
    border:1px solid rgba(239,68,68,0.22);
    color:#7f1d1d;
}

.required{
    color:#ef4444;
    font-weight:800;
}

.contact-form .form-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
}

.contact-form .form-group{
    margin-top:12px;
}

.contact-form label{
    display:block;
    font-size:14px;
    font-weight:800;
    color: #334155;
    margin:0 0 8px;
}

.contact-form input[type="text"],
.contact-form input[type="email"],
.contact-form input[type="tel"],
.contact-form select,
.contact-form textarea{
    width:100%;
    border-radius:12px;
    border:1px solid rgba(15,23,42,0.14);
    padding:12px 14px;
    font-size:15px;
    color: #334155;
    outline:none;
    transition:border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
    background:#ffffff;
}

.contact-form textarea{
    min-height:140px;
    resize:vertical;
    line-height:1.6;
}

.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus{
    border-color:rgba(37,99,235,0.55);
    box-shadow:0 0 0 4px rgba(37,99,235,0.14);
}

.checkbox-group label{
    display:flex;
    align-items:flex-start;
    gap:10px;
    color:#475569;
    font-weight:600;
    line-height:1.6;
    cursor:pointer;
}

.checkbox-group input[type="checkbox"]{
    margin-top:4px;
    accent-color: #2F6FA3;
}

.checkbox-group a{
    color: #2F6FA3;
    text-decoration:none;
    font-weight:700;
}

.checkbox-group a:hover{
    color:#1e40af;
}

.btn-block{
    width:100%;
    display:inline-flex;
    align-items:center;
    justify-content:center;
}

button:disabled{
    opacity:0.6;
    cursor:not-allowed;
    transform:none;
}

.is-invalid{
    border-color:rgba(239,68,68,0.55) !important;
    box-shadow:0 0 0 4px rgba(239,68,68,0.10) !important;
}

.is-valid{
    border-color:rgba(16,185,129,0.45) !important;
    box-shadow:0 0 0 4px rgba(16,185,129,0.10) !important;
}

@media (max-width:992px){
    .page-header-card{
        min-height:480px;
        padding:70px 26px;
    }

    .contact-grid{
        grid-template-columns:1fr;
    }

    .contact-form .form-row{
        grid-template-columns:1fr;
    }
}

@media (max-width:576px){
    .page-header-card{
        min-height:420px;
        padding:60px 18px;
        border-radius:22px;
    }

    .page-header-card h1{
        font-size:36px;
    }

    .page-header-card p{
        font-size:16px;
    }

    .contact-info-card,
    .contact-form-card{
        padding:26px 18px;
        border-radius:18px;
    }
}

@media (max-width:992px){
  .page-header{ min-height:520px; }
  .page-header-card{ padding:90px 20px; }
  .page-header-card h1{ font-size:44px; }
}

@media (max-width:576px){
  .page-header{ min-height:460px; }
  .page-header-card{ padding:70px 18px; }
  .page-header-card h1{ font-size:36px; }
  .page-header-card p{ font-size:16px; }
}

@media (prefers-reduced-motion: reduce){
  .page-header::before{ animation:none !important; }
  .page-header-card h1,
  .page-header-card p{ animation:none !important; }
}

.submit-wrapper{
  position:relative;
}

.submit-tooltip{
  position:absolute;
  bottom:120%;
  left:50%;
  transform:translateX(-50%);
  background:#0f172a;
  color:#ffffff;
  padding:8px 12px;
  font-size:13px;
  border-radius:8px;
  white-space:nowrap;
  opacity:0;
  pointer-events:none;
  transition:opacity .2s ease, transform .2s ease;
  box-shadow:0 10px 25px rgba(0,0,0,0.2);
  z-index:10;
}

.submit-tooltip::after{
  content:"";
  position:absolute;
  top:100%;
  left:50%;
  transform:translateX(-50%);
  border-width:6px;
  border-style:solid;
  border-color:#0f172a transparent transparent transparent;
}

.page-header.page-header--compact{
  min-height: 220px !important;
  padding: 18px 0 !important;
}

.page-header.page-header--compact .page-header-card{
  padding: 28px 18px !important;
}

.page-header.page-header--compact .page-header-card h1{
  font-size: 34px !important;
  margin-bottom: 10px !important;
}

.page-header.page-header--compact .page-header-card p{
  font-size: 16px !important;
}

.page-header.page-header--compact::before{
  animation: none !important;
  transform: none !important;
}