/* ---------- HERO ---------- */
.hero{
  min-height:40vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:64px 18px;
  position:relative;
  overflow:hidden;
  background:linear-gradient(180deg, rgba(255,255,255,0.85) 20%, rgba(255,255,255,0.95) 100%), url('https://images.unsplash.com/photo-1505842465776-3acb8e1d1638?auto=format&fit=crop&w=1400&q=80') center/cover no-repeat;
}
.hero::before{
  content:'';
  position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(7,10,25,0.12), rgba(7,10,25,0.06));
  pointer-events:none;
}

.hero-content{
  position:relative;z-index:2;
  text-align:center;
  max-width:800px;
}

.kicker{display:inline-block;background:linear-gradient(90deg,#ec7846,#ec4846);color:white;padding:6px 12px;border-radius:999px;font-weight:600;font-size:13px;margin-bottom:12px;letter-spacing:0.2px}

h1{font-size:32px;margin:12px 0 16px;line-height:1.2;font-weight:700}
p.lead{color:var(--muted);margin:0 auto;font-size:18px;line-height:1.6}

/* ---------- CONTACT SECTION ---------- */
.section{
  padding:48px 18px;
}

.contact-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:48px;
  max-width:1120px;
  margin:0 auto;
}

.contact-info h2{
  font-size:28px;
  margin:0 0 16px;
  line-height:1.2;
  font-weight:700;
}

.contact-info p{
  color:var(--text);
  font-size:16px;
  line-height:1.7;
  margin:0 0 32px;
}

.contact-methods{
  display:grid;
  gap:24px;
}

.contact-item{
  display:flex;
  gap:16px;
  align-items:flex-start;
  padding:20px;
  background:var(--card);
  border-radius:12px;
  border:1px solid rgba(12,15,22,0.04);
  box-shadow:0 6px 20px rgba(12,15,22,0.04);
}

.contact-icon{
  width:48px;
  height:48px;
  border-radius:10px;
  background:linear-gradient(180deg,var(--primary),#ec7846);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:24px;
  flex-shrink:0;
}

.contact-item h3{
  font-size:18px;
  margin:0 0 4px;
  font-weight:700;
}

.contact-item p.muted{
  color:var(--muted);
  font-size:14px;
  margin:0 0 8px;
}

.contact-item a{
  color:var(--primary);
  text-decoration:none;
  font-weight:600;
  font-size:15px;
}

.contact-item a:hover{
  text-decoration:underline;
}

/* ---------- CONTACT FORM ---------- */
.contact-form-wrapper{
  width:100%;
}

.contact-form-card{
  background:var(--card);
  border-radius:16px;
  padding:32px;
  border:1px solid rgba(12,15,22,0.04);
  box-shadow:0 8px 30px rgba(12,15,22,0.04);
}

.contact-form-card h2{
  font-size:24px;
  margin:0 0 24px;
  font-weight:700;
}

.contact-form{
  display:flex;
  flex-direction:column;
  gap:20px;
}

.form-group{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.form-group label{
  font-weight:600;
  font-size:14px;
  color:var(--text);
}

.form-group input,
.form-group select,
.form-group textarea{
  padding:12px 16px;
  border-radius:10px;
  border:2px solid rgba(15,23,42,0.1);
  font-size:16px;
  font-family:inherit;
  background:white;
  color:var(--text);
  transition:border-color 0.2s,box-shadow 0.2s;
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus{
  outline:none;
  border-color:var(--primary);
  box-shadow:0 0 0 3px rgba(236,72,70,0.1);
}

.form-group textarea{
  resize:vertical;
  min-height:120px;
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:14px 28px;
  border-radius:10px;
  font-weight:700;
  border:0;
  cursor:pointer;
  font-size:16px;
  transition:transform 0.2s,box-shadow 0.2s;
  text-decoration:none;
}

.btn:hover{
  transform:translateY(-2px);
}

.btn-primary{
  background:linear-gradient(180deg,var(--primary),#ec7846);
  color:#07203a;
  box-shadow:0 8px 22px rgba(255,184,0,0.12);
  align-self:flex-start;
}

/* ---------- Responsive larger screens ---------- */
@media(min-width:900px){
  h1{font-size:48px}
  p.lead{font-size:20px}
  .contact-grid{
    grid-template-columns:1fr 1fr;
    gap:64px;
  }
  .contact-form-card{
    padding:40px;
  }
}

@media(min-width:640px){
  h1{font-size:40px}
}

