.contact-modern-page{
  --contact-blue:#0d6efd;
  --contact-blue-dark:#0a58ca;
  --contact-deep:#082645;
  --contact-text:#102235;
  --contact-muted:#66788b;
  --contact-line:#dbe5f0;
  --contact-white:#ffffff;
  --contact-soft:#f4f8fc;
  --contact-shadow:0 18px 50px rgba(8, 32, 63, 0.10);
  background:
    radial-gradient(circle at top left, rgba(13,110,253,.05), transparent 24%),
    linear-gradient(180deg,#f8fbff 0%,#f3f8fd 100%);
  color:var(--contact-text);
  overflow:hidden;
}

.contact-modern-page *{
  box-sizing:border-box;
}

.contact-hero{
  position:relative;
  padding:120px 0 115px;
  background:
    linear-gradient(100deg, rgba(4,31,61,.88) 0%, rgba(8,60,120,.56) 48%, rgba(13,110,253,.32) 100%),
    url('https://images.unsplash.com/photo-1521790797524-b2497295b8a0?auto=format&fit=crop&w=1800&q=80') center center / cover no-repeat;
  overflow:hidden;
}

.contact-hero-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(4,31,61,.06), rgba(4,31,61,.32));
}

.contact-hero-content{
  position:relative;
  z-index:2;
  max-width:760px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.14);
  border-radius:30px;
  padding:34px;
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  box-shadow:0 20px 60px rgba(0,0,0,.12);
}

.contact-mini-title{
  display:inline-block;
  margin-bottom:14px;
  color:var(--contact-blue);
  font-size:13px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.contact-hero .contact-mini-title{
  color:#fff;
  padding:8px 15px;
  border-radius:999px;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.18);
}

.contact-hero h1{
  color:#fff;
  font-size:clamp(38px,6vw,68px);
  line-height:1.02;
  font-weight:800;
  margin:0 0 16px;
}

.contact-hero p{
  color:rgba(255,255,255,.94);
  font-size:19px;
  line-height:1.8;
  margin:0;
  max-width:700px;
}

.contact-hero-badges{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:22px;
}

.contact-hero-badges span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:11px 15px;
  border-radius:999px;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.18);
  color:#fff;
  font-size:14px;
  font-weight:600;
}

.contact-main{
  position:relative;
  padding:70px 0 100px;
  margin-top:-44px;
  z-index:3;
}

.contact-main-grid{
  display:grid;
  grid-template-columns:.88fr 1.12fr;
  gap:28px;
  align-items:start;
}

.contact-info-column{
  display:grid;
  gap:20px;
}

.contact-info-card,
.contact-side-box,
.contact-form-card{
  background:rgba(255,255,255,.95);
  border:1px solid rgba(255,255,255,.84);
  border-radius:28px;
  box-shadow:var(--contact-shadow);
}

.contact-info-card{
  padding:30px 26px;
}

.contact-info-card h2,
.contact-form-head h2{
  font-size:clamp(28px,4vw,42px);
  line-height:1.08;
  font-weight:800;
  color:#082645;
  margin:0 0 12px;
}

.contact-info-card p,
.contact-form-head p{
  margin:0;
  color:var(--contact-muted);
  font-size:16px;
  line-height:1.85;
}

.contact-info-list{
  display:grid;
  gap:14px;
  margin-top:24px;
}

.contact-info-item{
  display:flex;
  gap:14px;
  align-items:flex-start;
  padding:16px;
  background:#f7fbff;
  border:1px solid #e2ecf6;
  border-radius:18px;
}

.contact-info-icon{
  width:48px;
  height:48px;
  min-width:48px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:16px;
  background:linear-gradient(135deg,#e9f2ff,#f5f9ff);
  color:var(--contact-blue);
  font-size:20px;
  font-weight:800;
}

.contact-info-item strong{
  display:block;
  color:#0a2b55;
  font-size:16px;
  margin-bottom:4px;
}

.contact-info-item span{
  display:block;
  color:var(--contact-muted);
  font-size:14px;
  line-height:1.65;
}

.contact-side-box{
  padding:26px 24px;
  background:linear-gradient(180deg,#ffffff 0%,#f7fbff 100%);
}

.contact-side-box h3{
  margin:0 0 14px;
  color:#082645;
  font-size:24px;
  line-height:1.15;
  font-weight:800;
}

.contact-side-points{
  display:grid;
  gap:12px;
}

.contact-side-points div{
  display:flex;
  gap:10px;
  align-items:flex-start;
  color:#425466;
  line-height:1.7;
  font-size:15px;
}

.contact-side-points span{
  width:26px;
  height:26px;
  min-width:26px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:#eaf3ff;
  color:var(--contact-blue);
  font-weight:800;
  font-size:14px;
}

.contact-form-card{
  padding:30px 28px;
}

.contact-form-head{
  margin-bottom:20px;
}

.contact-form-card .form-control{
  min-height:58px;
  border-radius:16px;
  border:1px solid rgba(16,34,53,.10);
  background:#f8fbff;
  color:var(--contact-text);
  padding:14px 16px;
  box-shadow:none;
}

.contact-form-card textarea.form-control{
  min-height:165px;
  resize:vertical;
  padding-top:16px;
}

.contact-form-card .form-control:focus{
  border-color:rgba(13,110,253,.34);
  box-shadow:0 0 0 4px rgba(13,110,253,.08);
  background:#fff;
}

.contact-submit-btn{
  width:100%;
  min-height:58px;
  border:0;
  border-radius:16px;
  background:linear-gradient(135deg,var(--contact-blue) 0%, var(--contact-blue-dark) 100%);
  color:#fff;
  font-weight:800;
  font-size:16px;
  box-shadow:0 14px 30px rgba(13,110,253,.18);
  transition:.25s ease;
}

.contact-submit-btn:hover{
  transform:translateY(-2px);
}

.reveal{
  opacity:0;
  transform:translateY(28px);
  transition:opacity .8s ease, transform .8s ease;
}

.reveal.show{
  opacity:1;
  transform:translateY(0);
}

@media (max-width: 991px){
  .contact-main-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width: 768px){
  .contact-hero{
    padding:105px 0 95px;
    background:
      linear-gradient(180deg, rgba(4,31,61,.78) 0%, rgba(8,60,120,.44) 48%, rgba(13,110,253,.24) 100%),
      url('https://images.unsplash.com/photo-1521790797524-b2497295b8a0?auto=format&fit=crop&w=1800&q=80') center center / cover no-repeat;
  }

  .contact-hero-content{
    max-width:88%;
    margin:0 auto;
    padding:22px 16px 18px;
    border-radius:24px;
    background:rgba(255,255,255,.08);
    backdrop-filter:blur(3px);
    -webkit-backdrop-filter:blur(3px);
  }

  .contact-hero h1{
    font-size:38px;
    margin-bottom:12px;
  }

  .contact-hero p{
    font-size:15.5px;
    line-height:1.75;
  }

  .contact-hero-badges{
    justify-content:center;
    gap:8px;
    margin-top:16px;
  }

  .contact-hero-badges span{
    font-size:12px;
    padding:8px 11px;
  }

  .contact-main{
    padding:34px 0 72px;
    margin-top:0;
  }

  .contact-info-card,
  .contact-side-box,
  .contact-form-card{
    border-radius:22px;
  }

  .contact-info-card,
  .contact-form-card,
  .contact-side-box{
    padding:22px 18px;
  }

  .contact-info-card h2,
  .contact-form-head h2{
    font-size:30px;
    line-height:1.12;
  }

  .contact-info-card p,
  .contact-form-head p{
    font-size:15px;
    line-height:1.75;
  }

  .contact-info-item{
    padding:14px;
    border-radius:16px;
  }

  .contact-info-icon{
    width:42px;
    height:42px;
    min-width:42px;
    border-radius:14px;
    font-size:18px;
  }

  .contact-side-box h3{
    font-size:22px;
  }

  .contact-form-card .form-control{
    min-height:54px;
    border-radius:14px;
    font-size:15px;
  }

  .contact-form-card textarea.form-control{
    min-height:150px;
  }

  .contact-submit-btn{
    min-height:54px;
    border-radius:14px;
    font-size:15px;
  }
}

@media (max-width: 480px){
  .contact-hero{
    padding:98px 0 88px;
  }

  .contact-hero-content{
    max-width:84%;
  }

  .contact-hero h1{
    font-size:33px;
  }

  .contact-hero p{
    font-size:14.5px;
  }
}