.form-section { background:#f8f7f3; padding:100px 48px; }
.form-section .form-layout { display:grid; grid-template-columns:1fr 1.2fr; gap:80px; align-items:start; }
.form-section .eyebrow { font-family:var(--font-semi); font-size:11px; font-weight:600; letter-spacing:0.2em; text-transform:uppercase; color:var(--red); margin-bottom:16px; display:flex; align-items:center; gap:10px; }
.form-section .section-headline *{ font-family:var(--font-display); font-size:clamp(36px,4vw,52px); font-weight:800; line-height:0.95; color:var(--charcoal); text-transform:uppercase; letter-spacing:-0.01em; margin-bottom:20px; }
.form-section .section-body *{ font-size:16px; color:var(--mid); line-height:1.7; font-weight:300; margin-bottom:16px; }
.form-section .form-wrap { background:var(--white); padding:48px 44px; }
.form-section .form-title { font-family:var(--font-display); font-size:32px; font-weight:800; text-transform:uppercase; color:var(--charcoal); line-height:0.95; margin-bottom:28px; }
.form-group { margin-bottom:18px; }
.form-section form label { display:block; font-family:var(--font-semi); font-size:11px; font-weight:600; letter-spacing:0.1em; text-transform:uppercase; color:var(--mid); margin-bottom:6px; }
.form-section form input[type=text],.form-section form input[type=search],.form-section form input[type=email],.form-section form input[type=password],.form-section form input[type=tel], .form-section form input[type=number],.form-section form input[type=file],.form-section form select,.form-section form textarea{
  width:100%; padding:12px 16px; border:1px solid var(--border); background:#f8f7f3; font-family:var(--font-body); font-size:15px; color:var(--charcoal); border-radius:2px; outline:none; transition:border-color 0.2s; font-weight:300; }
.form-section form input:focus, .form-section form select:focus, .form-section form textarea:focus { border-color:var(--red); background:var(--white); }
.form-section form textarea { min-height:100px; resize:vertical; }
.form-section .hs-button { width:100%; padding:16px; background:var(--red); color:white; border:none; font-family:var(--font-semi); font-size:14px; font-weight:600; letter-spacing:0.08em; text-transform:uppercase; cursor:pointer; border-radius:2px; margin-top:8px; transition:background 0.2s; }
.form-section .hs-button:hover { background:var(--red-light); }
.form-section .form-title , .form-section form{background:#fff;}

var(--charcoal);
  border-radius:2px;
  outline:none;
  transition:all 0.2s ease;
  font-weight:300;
  appearance:none;
}

.form-section form input:focus,
.form-section form select:focus,
.form-section form textarea:focus{
  border-color:var(--red);
  background:#fff;
}

.form-section form textarea{
  min-height:100px;
  resize:vertical;
}

.form-section .hs-button{
  width:100%;
  padding:16px;
  background:var(--red);
  color:#fff;
  border:none;
  font-family:var(--font-semi);
  font-size:14px;
  font-weight:600;
  letter-spacing:0.08em;
  text-transform:uppercase;
  cursor:pointer;
  border-radius:2px;
  margin-top:8px;
  transition:background 0.2s ease;
}

.form-section .hs-button:hover{
  background:var(--red-light);
}

.form-section .hs-error-msgs{
  list-style:none;
  padding:0;
  margin:6px 0 0;
}

.form-section .hs-error-msgs label{
  color:#d92d20;
  font-size:11px;
  letter-spacing:0;
}

/* ---------- LARGE TABLET ---------- */

@media (max-width:1024px){

  .form-section .form-layout{
    gap:48px;
  }

  .form-section .form-wrap{
    padding:40px 32px;
  }

}

/* ---------- TABLET ---------- */

@media (max-width:900px){

  .form-section{
    padding:72px 24px;
  }

  .form-section .form-layout{
    grid-template-columns:1fr;
    gap:40px;
  }

  .form-section .section-headline *{
    font-size:48px;
  }

  .form-section .form-wrap{
    padding:32px 24px;
  }

}

/* ---------- MOBILE ---------- */

@media (max-width:767px){

  .form-section{
    padding:56px 20px;
  }

  .form-section .form-layout{
    gap:32px;
  }

  .form-section .section-headline *{
    font-size:36px;
    line-height:1;
  }

  .form-section .section-body *{
    font-size:15px;
    line-height:1.7;
  }

  .form-section .form-wrap{
    padding:28px 20px;
  }

  .form-section .form-title{
    font-size:26px;
    margin-bottom:22px;
  }

  .form-section form input[type=text],
  .form-section form input[type=search],
  .form-section form input[type=email],
  .form-section form input[type=password],
  .form-section form input[type=tel],
  .form-section form input[type=number],
  .form-section form input[type=file],
  .form-section form select,
  .form-section form textarea{
    padding:12px 14px;
    font-size:14px;
  }

  .form-section .hs-button{
    padding:14px;
    font-size:13px;
  }

}

/* ---------- SMALL MOBILE ---------- */

@media (max-width:480px){

  .form-section{
    padding:48px 16px;
  }

  .form-section .section-headline *{
    font-size:30px;
  }

  .form-section .form-wrap{
    padding:24px 18px;
  }

  .form-section .form-title{
    font-size:22px;
  }

}