/* ── CTA ── */
.cta{
  padding:var(--section-y) var(--pad-x);
  background:var(--white);
  border-top:1px solid var(--gray-200);
  text-align:center;position:relative;
}
.cta-h2{
  font-family:var(--font-head);
  font-size:clamp(32px,5.5vw,72px);
  font-weight:900;letter-spacing:-2.5px;line-height:1;
  color:var(--black);margin-bottom:36px;
}
.cta-h2 span{color:var(--primary);}
.cta-squiggle{
  display:inline-block;margin-bottom:48px;
  font-size:clamp(48px,10vw,120px);line-height:1;
  transform:rotate(-10deg);
  filter:none;
}
.cta-btn{
  display:inline-flex;align-items:center;gap:10px;
  font-size:15px;font-weight:700;
  padding:18px 44px;border-radius:999px;
  background:var(--primary);color:var(--white);
  transition:transform 0.2s,box-shadow 0.2s;
}
.cta-btn:hover{transform:translateY(-2px);box-shadow:0 12px 32px rgba(60,5,119,0.3);}
.cta-btn svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2.5;}

/* ── CONTACT FORM ── */
.contact-section{
  padding:var(--section-y) var(--pad-x);
  background:var(--black);
  position:relative;overflow:hidden;
}
.contact-section::before{
  content:'';position:absolute;
  width:600px;height:600px;border-radius:50%;
  background:radial-gradient(circle, rgba(60,5,119,0.35) 0%, transparent 70%);
  top:-200px;right:-100px;pointer-events:none;
}
.contact-eyebrow{
  font-size:11px;font-weight:700;letter-spacing:0.14em;
  text-transform:uppercase;color:rgba(255,255,255,0.25);
  margin-bottom:20px;
}
.contact-headline{
  font-family:var(--font-head);
  font-size:clamp(24px,3vw,40px);
  font-weight:900;letter-spacing:-1.5px;line-height:1.05;
  color:var(--white);margin-bottom:12px;
}
.contact-sub{
  font-size:14px;color:rgba(255,255,255,0.3);
  font-style:italic;margin-bottom:clamp(48px,6vw,72px);
  font-weight:300;
}

/* Sentence-style form */
.contact-form{
  max-width:820px;
}
.contact-sentence{
  font-family:var(--font-head);
  font-size:clamp(15px,1.8vw,22px);
  font-weight:900;letter-spacing:-0.5px;line-height:2.0;
  color:rgba(255,255,255,0.25);
}
.contact-sentence .field-wrap{
  display:inline-block;
  position:relative;
  vertical-align:baseline;
  margin:0 6px;
}
.contact-field{
  font-family:var(--font-head);
  font-size:inherit;
  font-weight:900;
  letter-spacing:-0.5px;
  line-height:1;
  background:transparent;
  border:none;
  border-bottom:1.5px solid rgba(255,255,255,0.2);
  color:var(--white);
  outline:none;
  width:100px;
  padding:2px 2px 4px;
  transition:border-color 0.3s, width 0.2s ease;
  caret-color:var(--primary);
}
.contact-field::placeholder{
  color:rgba(255,255,255,0.18);
}
.contact-field:focus{
  border-color:var(--primary);
}
.contact-field.field-email{width:130px;}
.contact-field.field-company{width:120px;}
.contact-field.field-superpower{width:130px;}

/* Required asterisk */
.contact-field[required] + .field-req{
  position:absolute;top:6px;right:-10px;
  font-size:10px;color:var(--primary);font-family:var(--font-body);
  font-weight:700;
}

/* Submit row */
.contact-submit-row{
  margin-top:clamp(40px,5vw,64px);
  display:flex;align-items:center;gap:24px;flex-wrap:wrap;
}
.contact-submit{
  display:inline-flex;align-items:center;gap:10px;
  font-size:14px;font-weight:700;font-family:var(--font-body);
  padding:16px 40px;border-radius:999px;
  background:var(--white);color:var(--black);
  border:none;cursor:pointer;
  transition:background 0.2s,color 0.2s,transform 0.15s,box-shadow 0.2s;
}
.contact-submit:hover{
  background:var(--primary);color:var(--white);
  transform:translateY(-2px);
  box-shadow:0 12px 32px rgba(60,5,119,0.4);
}
.contact-submit svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2.5;}
.contact-note{
  font-size:12px;color:rgba(255,255,255,0.2);
  font-weight:400;
}

/* Success state */
.contact-success{
  display:none;
  font-family:var(--font-head);font-size:clamp(24px,3vw,40px);
  font-weight:900;letter-spacing:-1.5px;color:var(--white);
  margin-top:40px;
}
.contact-success span{color:var(--primary);}



@keyframes pulse{0%,100%{transform:scale(1);opacity:0.7;}50%{transform:scale(1.3);opacity:1;}}
@keyframes spin-slow{0%{transform:rotate(0deg);}100%{transform:rotate(360deg);}}
