/* Build Awesome V3.20 — Global contact form + CTA placement
   Scope: non-homepage contact section before footer. Does not target the locked homepage hero slider. */

.ba-v319-contact-section{
  position:relative;
  overflow:hidden;
  padding:clamp(64px,8vw,112px) 0;
  background:
    radial-gradient(circle at 10% 10%, rgba(236,19,106,.15), transparent 32%),
    radial-gradient(circle at 90% 0%, rgba(243,85,44,.13), transparent 28%),
    linear-gradient(135deg,#fffdfc 0%,#fff6fb 46%,#f7f1ff 100%);
  border-top:1px solid rgba(82,39,137,.10);
}
.ba-v319-contact-section::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(82,39,137,.06) 1px,transparent 1px),
    linear-gradient(180deg,rgba(82,39,137,.05) 1px,transparent 1px);
  background-size:42px 42px;
  mask-image:radial-gradient(circle at 50% 45%,#000 0%,transparent 72%);
  pointer-events:none;
}
.ba-v319-contact-section::after{
  content:"";
  position:absolute;
  right:-120px;
  bottom:-190px;
  width:min(560px,72vw);
  aspect-ratio:1;
  border-radius:50%;
  background:radial-gradient(circle,rgba(82,39,137,.13),transparent 68%);
  pointer-events:none;
}
.ba-v319-contact-shell{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr);
  gap:clamp(24px,4vw,48px);
  align-items:stretch;
}
.ba-v319-contact-copy,
.ba-v319-form-card{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(82,39,137,.13);
  border-radius:34px;
  background:rgba(255,255,255,.78);
  box-shadow:0 28px 80px rgba(82,39,137,.12);
  backdrop-filter:blur(18px);
}
.ba-v319-contact-copy{
  padding:clamp(28px,4vw,50px);
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.ba-v319-contact-copy::before,
.ba-v319-form-card::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:5px;
  background:var(--ba-gradient);
}
.ba-v319-contact-copy h2{
  max-width:720px;
  font-size:clamp(34px,4.4vw,64px);
  line-height:1.03;
  letter-spacing:-.055em;
  margin-bottom:18px;
}
.ba-v319-contact-copy .ba-lead{
  color:#4f425f;
  max-width:760px;
  margin-bottom:24px;
}
.ba-v319-contact-benefits{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:0 0 24px;
}
.ba-v319-contact-benefits span{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:38px;
  padding:9px 13px;
  border-radius:999px;
  background:#fff;
  border:1px solid rgba(82,39,137,.12);
  box-shadow:0 10px 28px rgba(82,39,137,.07);
  color:#33244d;
  font-size:13px;
  font-weight:900;
}
.ba-v319-contact-benefits svg{
  width:17px;
  height:17px;
  color:var(--ba-magenta);
}
.ba-v319-contact-mini-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin:6px 0 24px;
}
.ba-v319-contact-mini-grid article{
  min-height:118px;
  padding:16px;
  border-radius:22px;
  background:linear-gradient(135deg,#fff,#fff7fb 48%,#faf5ff);
  border:1px solid rgba(82,39,137,.11);
  box-shadow:0 14px 36px rgba(82,39,137,.07);
}
.ba-v319-contact-mini-grid strong{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  margin-bottom:10px;
  border-radius:13px;
  background:var(--ba-gradient);
  color:#fff;
  font-size:12px;
  letter-spacing:.05em;
}
.ba-v319-contact-mini-grid span{
  display:block;
  color:#4f455d;
  font-weight:800;
  font-size:13px;
  line-height:1.45;
}
.ba-v319-direct-contact{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:auto;
}
.ba-v319-direct-contact a{
  display:inline-flex;
  align-items:center;
  min-height:42px;
  padding:10px 14px;
  border-radius:999px;
  color:var(--ba-purple);
  background:rgba(255,255,255,.72);
  border:1px solid rgba(82,39,137,.13);
  font-weight:900;
}
.ba-v319-direct-contact a:hover{
  color:var(--ba-magenta);
  border-color:rgba(236,19,106,.32);
}
.ba-v319-form-card{
  padding:clamp(26px,3.4vw,44px);
}
.ba-v319-form-card::after{
  content:"";
  position:absolute;
  right:-80px;
  top:-120px;
  width:260px;
  height:260px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(236,19,106,.13),transparent 70%);
  pointer-events:none;
}
.ba-v319-form-card > *{
  position:relative;
  z-index:1;
}
.ba-v319-form-badge{
  display:inline-flex;
  align-items:center;
  margin:0 0 14px;
  padding:7px 12px;
  border-radius:999px;
  background:linear-gradient(135deg,rgba(236,19,106,.12),rgba(82,39,137,.10));
  color:var(--ba-berry);
  border:1px solid rgba(236,19,106,.18);
  font-size:12px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.ba-v319-form-card h3{
  margin-bottom:8px;
  font-size:clamp(25px,2.5vw,36px);
}
.ba-v319-form-card > p{
  color:#665a77;
  margin-bottom:20px;
}
.ba-v319-form-notice{
  margin:0 0 18px;
  padding:13px 15px;
  border-radius:16px;
  font-weight:900;
  line-height:1.45;
}
.ba-v319-form-notice.success{
  color:#0f6a3a;
  background:rgba(22,163,74,.10);
  border:1px solid rgba(22,163,74,.28);
}
.ba-v319-form-notice.error{
  color:#991b1b;
  background:rgba(236,19,106,.10);
  border:1px solid rgba(236,19,106,.25);
}
.ba-v319-contact-form{
  display:grid;
  gap:14px;
}
.ba-v319-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.ba-v319-contact-form label{
  display:grid;
  gap:7px;
  color:#2b1e43;
  font-weight:900;
}
.ba-v319-contact-form label span{
  font-size:13px;
  letter-spacing:.04em;
}
.ba-v319-contact-form input,
.ba-v319-contact-form textarea{
  width:100%;
  border:1px solid rgba(82,39,137,.15);
  border-radius:18px;
  background:#fff;
  color:var(--ba-ink);
  padding:14px 15px;
  outline:none;
  box-shadow:0 8px 22px rgba(82,39,137,.045);
  transition:border-color .22s ease,box-shadow .22s ease,transform .22s ease;
}
.ba-v319-contact-form textarea{
  resize:vertical;
  min-height:136px;
}
.ba-v319-contact-form input::placeholder,
.ba-v319-contact-form textarea::placeholder{
  color:#8a7d9a;
}
.ba-v319-contact-form input:focus,
.ba-v319-contact-form textarea:focus{
  border-color:rgba(236,19,106,.55);
  box-shadow:0 0 0 4px rgba(236,19,106,.10),0 16px 34px rgba(82,39,137,.09);
  transform:translateY(-1px);
}
.ba-v319-contact-form .ba-btn{
  width:max-content;
  min-width:190px;
  margin-top:4px;
}
body.single-services .ba-v319-contact-section{
  background:
    radial-gradient(circle at 8% 10%,rgba(236,19,106,.16),transparent 32%),
    radial-gradient(circle at 88% 0,rgba(82,39,137,.14),transparent 30%),
    linear-gradient(135deg,#fffdfc 0%,#fff5fa 48%,#f6f0ff 100%);
}
body.search .ba-v319-contact-section,
body.error404 .ba-v319-contact-section{
  margin-top:0;
}
@media (max-width:1100px){
  .ba-v319-contact-shell{grid-template-columns:1fr;}
  .ba-v319-contact-copy{min-height:auto;}
}
@media (max-width:760px){
  .ba-v319-contact-section{padding:56px 0;}
  .ba-v319-contact-copy,.ba-v319-form-card{border-radius:26px;padding:24px;}
  .ba-v319-form-grid,.ba-v319-contact-mini-grid{grid-template-columns:1fr;}
  .ba-v319-contact-mini-grid article{min-height:auto;}
  .ba-v319-direct-contact{display:grid;}
  .ba-v319-contact-form .ba-btn{width:100%;}
}
@media (prefers-reduced-motion:reduce){
  .ba-v319-contact-form input,
  .ba-v319-contact-form textarea{transition:none;}
  .ba-v319-contact-form input:focus,
  .ba-v319-contact-form textarea:focus{transform:none;}
}
