.cta{
  position:relative;
  width:100%;
  height:auto;
  margin:56px auto 0;
  padding:60px clamp(34px,6vw,90px);
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:50px;
  align-items:center;
  overflow:hidden;
  color:#281a10;
  text-align:left;
  background:var(--paper-alt)
}
.cta::before,.cta::after{
  content:"";
  position:absolute;
  border-radius:50%;
  pointer-events:none
}
.cta::before{
  width:310px;
  height:310px;
  right:-80px;
  top:-185px;
  border:1px solid rgba(255,255,255,.22);
  box-shadow:0 0 0 42px rgba(255,255,255,.05),0 0 0 84px rgba(255,255,255,.035);
  animation:orb-spin 20s linear infinite
}
.cta::after{
  width:150px;
  height:150px;
  left:45%;
  bottom:-120px;
  background:rgba(255,255,255,.12);
  filter:blur(35px);
  animation:cta-pulse 5s ease-in-out infinite
}
.cta-copy,.cta-actions{
  position:relative;
  z-index:1
}
.cta .eyebrow{
  color:#281a10
}
.cta-copy h2{
  margin:13px 0 15px;
  font:400 clamp(39px,4.5vw,63px)/.98 var(--font-family);
  letter-spacing:-.04em
}
.cta-copy h2 em{
  color:#281a10;
  font-style:normal
}
.cta-copy p{
  max-width:620px;
  margin:0;
  color:#211711;
  font-size:18px;
  line-height:1.65
}
.cta-actions{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:17px
}
.contact-form{
  width:100%;
  max-width:540px;
  margin-left:auto;
  padding:28px;
  display:grid;
  gap:17px;
  border:1px solid rgba(180,124,71,.24);
  border-radius:22px;
  background:rgba(255,255,255,.76);
  box-shadow:0 20px 48px rgba(74,49,28,.1)
}
.form-field{
  display:grid;
  gap:7px
}
.form-field>span{
  color:#5f4633;
  font-size:11px;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase
}
.form-field input,.form-field textarea{
  width:100%;
  border:1px solid rgba(180,124,71,.3);
  border-radius:10px;
  color:var(--ink);
  background:rgba(250,247,244,.88);
  font-size:14px;
  transition:border-color .2s,box-shadow .2s,background .2s
}
.form-field input{
  height:48px;
  padding:0 15px
}
.form-field textarea{
  min-height:132px;
  padding:13px 15px;
  line-height:1.5;
  resize:vertical
}
.form-field input::placeholder,.form-field textarea::placeholder{
  color:#92857a
}
.form-field input:focus,.form-field textarea:focus{
  border-color:var(--gold);
  background:#fff;
  box-shadow:0 0 0 4px rgba(180,124,71,.1)
}
.contact-form .button{
  width:100%;
  min-height:54px;
  border:0;
  cursor:pointer
}
.contact-form .button span[aria-hidden]{
  margin-left:18px;
  font-size:20px;
  transition:transform .3s
}
.contact-form .button:hover span[aria-hidden]{
  transform:translateX(6px)
}
.contact-form .button:disabled{
  cursor:wait;
  filter:saturate(.65);
  opacity:.78;
  transform:none
}
.form-honeypot{
  position:absolute;
  left:-10000px;
  width:1px;
  height:1px;
  overflow:hidden
}
.form-note{
  margin:-7px 0 0;
  color:#76675d;
  font-size:11px;
  line-height:1.4;
  text-align:center
}
.form-status{
  min-height:0;
  margin:-7px 0 0;
  font-size:12px;
  font-weight:700;
  line-height:1.45;
  text-align:center
}
.form-status:empty{
  display:none
}
.form-status.is-success{
  color:#27643a
}
.form-status.is-error{
  color:#9a2e2e
}
.cta-phone{
  color:#211711;
  text-decoration:none;
  font-size:11px
}
.cta-phone strong{
  font-size:13px
}
@media(max-width:800px){
  .cta{
    grid-template-columns:1fr;
    gap:30px;
    padding:50px 34px
  }
  .contact-form{
    max-width:none;
    margin-left:0
  }
}
@media(max-width:520px){
  .cta{
    padding:42px 24px;
    border-radius:22px
  }
  .cta-copy h2{
    font-size:39px
  }
  .contact-form{
    padding:21px;
    border-radius:17px
  }
}
