.contact-v2-body{ overflow-x:hidden; }

.contact-v2-hero{
  position:relative;
  overflow:hidden;
  padding:128px 0 72px;
  min-height:650px;
  color:#fff;
  background:
    linear-gradient(135deg, rgba(3,47,84,.96), rgba(7,95,168,.9) 48%, rgba(0,199,217,.72)),
    image-set(
      url('/assets/img/v2/contact-hero-support-v2.webp') type('image/webp'),
      url('/assets/img/v2/contact-hero-support-v2.png') type('image/png')
    ) center right/cover no-repeat;
}
.contact-v2-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
  background-size:48px 48px;
  mask-image:linear-gradient(to bottom, #000 0%, transparent 90%);
}
.contact-v2-hero-grid{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(320px,.9fr);
  gap:2rem;
  align-items:end;
}
.contact-v2-hero h1{
  max-width:830px;
  font-size:clamp(2.55rem, 5vw, 5.05rem);
  line-height:.96;
  letter-spacing:-.06em;
  margin:0 0 1.15rem;
}
.contact-v2-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.8rem;
  margin-top:1rem;
}
.contact-v2-panel{
  display:grid;
  gap:.85rem;
  border:1px solid rgba(255,255,255,.18);
  background:linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,.08));
  backdrop-filter:blur(20px);
  border-radius:30px;
  padding:1.1rem;
  box-shadow:0 30px 80px rgba(0,0,0,.22);
}
.contact-v2-panel div{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:.35rem .75rem;
  padding:.9rem;
  border:1px solid rgba(255,255,255,.14);
  border-radius:22px;
  background:rgba(255,255,255,.12);
}
.contact-v2-panel i{
  grid-row:1 / span 2;
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:15px;
  color:var(--store-cyan);
  background:rgba(0,199,217,.16);
  font-size:1.25rem;
}
.contact-v2-panel strong{ font-size:1.05rem; }
.contact-v2-panel span{ color:rgba(255,255,255,.72); }

.contact-v2-strip{
  position:relative;
  z-index:2;
  margin-top:-38px;
}
.contact-v2-cards{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
}
.contact-v2-cards a,
.contact-v2-form-card,
.contact-v2-map-card,
.contact-v2-faq{
  border:1px solid var(--store-line);
  background:rgba(255,255,255,.92);
  box-shadow:var(--store-shadow);
}
.contact-v2-cards a{
  display:grid;
  gap:.35rem;
  padding:1.15rem;
  border-radius:24px;
  text-decoration:none;
  color:var(--store-ink);
}
.contact-v2-cards i{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:15px;
  color:var(--store-blue);
  background:#eef4ff;
  font-size:1.25rem;
}
.contact-v2-cards span{ color:var(--store-muted); }

.contact-v2-section{ padding:72px 0 0; }
.contact-v2-section .store-v2-eyebrow{
  color:var(--store-ink);
  background:#fff;
  border-color:var(--store-line);
  margin-bottom:.85rem;
}
.contact-v2-section h2{
  font-size:clamp(2rem, 3.2vw, 3.35rem);
  line-height:1;
  letter-spacing:-.05em;
  margin:0 0 1rem;
}
.contact-v2-section p{ color:var(--store-muted); }

.contact-v2-grid{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);
  gap:1rem;
  align-items:stretch;
}
.contact-v2-form-card,
.contact-v2-map-card,
.contact-v2-faq{
  border-radius:30px;
  overflow:hidden;
}
.contact-v2-form-card{
  padding:1.35rem;
}
.contact-v2-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.9rem;
}
.contact-v2-form-grid label{
  display:grid;
  gap:.35rem;
}
.contact-v2-form-grid label span{
  color:#263445;
  font-weight:900;
  font-size:.86rem;
}
.contact-v2-form-grid .input{
  min-height:48px;
  border:1px solid var(--store-line);
  border-radius:8px;
  padding:.72rem .85rem;
  outline:none;
}
.contact-v2-form-grid textarea.input{
  min-height:140px;
  resize:vertical;
}
.contact-v2-form-grid .input:focus{
  border-color:var(--store-blue);
  box-shadow:0 0 0 .18rem rgba(11,95,255,.14);
}
.contact-v2-full{ grid-column:1 / -1; }
.contact-v2-check{
  grid-template-columns:auto 1fr;
  align-items:start;
}
.contact-v2-check input{
  margin-top:.28rem;
  accent-color:var(--store-blue);
}
.contact-v2-form-grid em{
  display:none;
  color:#b42318;
  font-style:normal;
  font-size:.8rem;
}
.contact-v2-form-card.was-validated .input:invalid + em,
.contact-v2-form-card.was-validated .contact-v2-check input:invalid ~ em{
  display:block;
}
.contact-v2-map{
  width:100%;
  height:420px;
  border:0;
  display:block;
  background:#f6fbff;
}
.contact-v2-map-info{
  display:grid;
  gap:.35rem;
  padding:1.1rem;
}
.contact-v2-map-info span{ color:var(--store-muted); }
.contact-v2-map-info a{
  color:var(--store-blue);
  text-decoration:none;
  font-weight:900;
}

.contact-v2-faq{
  display:grid;
  grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);
  gap:1rem;
  padding:1.25rem;
}
.contact-v2-faq .accordion-item{
  border:1px solid var(--store-line);
  border-radius:8px;
  overflow:hidden;
  margin-bottom:.7rem;
}
.contact-v2-faq .accordion-button{
  font-weight:900;
}
.contact-v2-faq .accordion-button:focus{
  box-shadow:none;
}

@media (max-width: 991.98px){
  .contact-v2-hero{
    min-height:auto;
    padding:112px 0 56px;
  }
  .contact-v2-hero-grid,
  .contact-v2-grid,
  .contact-v2-faq{
    grid-template-columns:1fr;
  }
  .contact-v2-cards{
    grid-template-columns:1fr;
  }
}
@media (max-width: 575.98px){
  .contact-v2-form-grid{
    grid-template-columns:1fr;
  }
  .contact-v2-full{ grid-column:auto; }
  .contact-v2-map{ height:320px; }
}
