/* Quote form finishing layer.
   Loaded after each skin so the CTA/form stays readable and consistent. */
.bigcta{
  position:relative;
  z-index:3;
  max-width:min(980px,100%) !important;
  margin:clamp(2rem,5vw,4rem) auto !important;
  padding:clamp(2.8rem,6vw,5.2rem) 0 !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  overflow:visible !important;
}
.bigcta::before,
.bigcta::after{
  display:none !important;
}
.bigcta h2{
  max-width:12em;
  margin-left:auto;
  margin-right:auto;
  text-align:center;
  text-wrap:balance;
}
.bigcta > p{
  max-width:24em;
  margin-left:auto;
  margin-right:auto;
  text-align:center;
  text-wrap:balance;
}
.qform{
  width:100% !important;
  max-width:min(720px,100%) !important;
  margin:0 auto !important;
  gap:1rem !important;
}
.qform .frow{
  gap:1rem !important;
}
.qform input,
.qform select,
.qform textarea{
  min-height:58px;
  border-radius:22px !important;
  border:1.5px solid color-mix(in srgb, var(--accent, #9b7bff) 42%, var(--line, rgba(255,255,255,.22))) !important;
  background:color-mix(in srgb, var(--bg, #090912) 72%, transparent) !important;
  color:var(--ink, #fff) !important;
  box-shadow:0 20px 60px -52px rgba(0,0,0,.45);
  -webkit-backdrop-filter:blur(10px) saturate(1.08);
  backdrop-filter:blur(10px) saturate(1.08);
}
.qform input::placeholder,
.qform textarea::placeholder{
  color:color-mix(in srgb, var(--ink, #fff) 64%, transparent) !important;
  opacity:1 !important;
}
.qform select,
.qform select option{
  color:var(--ink, #fff) !important;
  background:var(--bg, #090912) !important;
}
.qform input:focus,
.qform select:focus,
.qform textarea:focus{
  outline:none !important;
  border-color:var(--accent, #9b7bff) !important;
  box-shadow:0 0 0 4px color-mix(in srgb, var(--accent, #9b7bff) 20%, transparent),0 20px 60px -52px rgba(0,0,0,.45);
}
.qform textarea{
  min-height:150px;
}
.qform button.cta-solid,
.qform button[type="submit"]{
  min-height:58px;
  border-radius:22px !important;
  background:var(--accent, #9b7bff) !important;
  color:var(--accent-ink, #061018) !important;
  border:0 !important;
  font-weight:900 !important;
  text-shadow:none !important;
}
.bigcta-contact{
  max-width:28em;
  margin-left:auto;
  margin-right:auto;
  text-align:center;
  text-wrap:balance;
}

@supports not (color: color-mix(in srgb, white, black)){
  .qform input,
  .qform select,
  .qform textarea{
    border-color:var(--line, rgba(255,255,255,.24)) !important;
    background:rgba(255,255,255,.08) !important;
  }
  .qform input::placeholder,
  .qform textarea::placeholder{
    color:rgba(180,170,215,.95) !important;
  }
}

@media(max-width:880px){
  .bigcta{
    width:100% !important;
    margin:0 auto !important;
    padding:clamp(2.4rem,12vw,4.2rem) 0 !important;
    overflow-x:clip !important;
  }
  .qform{
    /* 포커스 링(4px shadow)이 wrap overflow:clip에 잘리지 않도록 여백 확보 */
    padding-left:6px !important;
    padding-right:6px !important;
    box-sizing:border-box !important;
  }
  .bigcta h2{
    font-size:clamp(2.05rem,9.8vw,2.8rem) !important;
    line-height:1.04 !important;
  }
  .bigcta > p{
    font-size:clamp(1.04rem,5.2vw,1.32rem) !important;
    line-height:1.38 !important;
    margin-bottom:1.8rem !important;
  }
  .qform{
    gap:.78rem !important;
  }
  .qform .frow{
    gap:.78rem !important;
  }
  .qform input,
  .qform select,
  .qform textarea{
    min-height:64px;
    border-radius:18px !important;
    padding:1rem 1.18rem !important;
    font-size:clamp(1rem,4.8vw,1.22rem) !important;
    line-height:1.3 !important;
  }
  .qform textarea{
    min-height:174px;
  }
  .qform button.cta-solid,
  .qform button[type="submit"]{
    min-height:64px;
    border-radius:18px !important;
    font-size:clamp(1.02rem,4.7vw,1.22rem) !important;
  }
}
