*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
:root { --white: #fff; --bg: #f7f8f5; --text: #0f172a; --text-2: #475569; --text-3: #94a3b8; --border: #e2e8f0; --accent: #6366f1; --accent-text: #4f46e5; --green: #10b981; }
body { font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; background: #f7f8f5; color: var(--text); -webkit-font-smoothing: antialiased; }
.gs-main { --gs-ink: #17271c; --gs-muted: #617064; --gs-line: #dfe5dc; --gs-green: #203c2a; max-width: 1180px; margin: 0 auto; padding: 164px 40px 58px; color: var(--gs-ink); }
.gs-main [hidden] { display: none !important; }
.gs-shell { display: grid; grid-template-columns: minmax(0, 35fr) minmax(0, 65fr); border: 1px solid var(--gs-line); border-radius: 18px; overflow: hidden; background: #fff; }
.gs-intro { display: flex; flex-direction: column; align-items: flex-start; gap: 26px; padding: 42px 34px; background: var(--gs-green); color: #f6f8ef; }
.gs-intro h1 { font-size: clamp(38px, 3.8vw, 48px); font-weight: 700; letter-spacing: -0.045em; line-height: 1.08; }
.gs-intro > p { font-size: 15px; line-height: 1.65; color: #c4d1c2; max-width: 290px; }
.gs-steps { display: flex; flex-direction: column; gap: 16px; margin-top: auto; padding-top: 65px; width: 100%; }
.gs-steps button { display: flex; align-items: center; gap: 11px; text-align: left; border: 0; background: transparent; color: #bacbb7; font: inherit; font-size: 14px; line-height: 1.4; min-height: 44px; padding: 6px 0; cursor: pointer; }
.gs-step-number { display: grid; place-items: center; border: 1px solid #829a82; border-radius: 50%; width: 30px; height: 30px; flex-shrink: 0; font-size: 12px; font-weight: 500; }
.gs-steps button[aria-current="step"] { color: #fff; font-weight: 600; }
.gs-steps button[aria-current="step"] .gs-step-number { background: #e5eedb; border-color: #e5eedb; color: var(--gs-green); }
.gs-steps button:focus-visible { outline: 2px solid #e5eedb; outline-offset: 4px; border-radius: 5px; }
.gs-form-card { min-width: 0; padding: 40px; }
#gsForm { display: flex; flex-direction: column; min-height: 548px; }
.gs-step-panel { border: 0; min-inline-size: 0; padding: 0; margin: 0; }
.gs-section-heading { margin-bottom: 25px; }
.gs-section-heading h2 { font-size: 28px; font-weight: 700; line-height: 1.2; letter-spacing: -0.035em; scroll-margin-top: 140px; }
.gs-section-heading h2:focus { outline: none; }
.gs-section-heading p { margin-top: 7px; font-size: 13px; line-height: 1.5; color: var(--gs-muted); }
.gs-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 20px; }
.gs-group { min-width: 0; margin-bottom: 20px; }
.gs-group label { display: block; font-size: 13px; font-weight: 600; line-height: 1.4; margin-bottom: 8px; color: var(--gs-ink); }
.gs-optional { float: right; margin-left: 8px; color: var(--gs-muted); font-size: 11px; font-weight: 400; }
.gs-group input, .gs-group select, .gs-group textarea { width: 100%; min-width: 0; min-height: 48px; padding: 12px 13px; border: 1px solid var(--gs-line); border-radius: 8px; font: inherit; font-size: 14px; font-weight: 400; color: var(--gs-ink); background: #fafbf8; transition: border-color .15s, box-shadow .15s; }
.gs-group input::placeholder, .gs-group textarea::placeholder { color: #7b887d; opacity: 1; }
.gs-group select:disabled { opacity: .65; }
.gs-group input:focus-visible, .gs-group select:focus-visible, .gs-group textarea:focus-visible, .gs-form-actions button:focus-visible { outline: 2px solid var(--gs-green); outline-offset: 3px; }
.gs-group textarea { resize: vertical; min-height: 100px; }
.gs-verification { min-height: 65px; margin: 0 0 22px; }
.gs-honeypot { position: absolute; left: -9999px; top: -9999px; }
.gs-form-footer { display: flex; align-items: center; justify-content: space-between; gap: 20px; border-top: 1px solid var(--gs-line); padding-top: 25px; margin-top: auto; }
.gs-note { font-size: 12px; color: var(--gs-muted); line-height: 1.6; }
.gs-form-actions { display: flex; align-items: center; gap: 20px; }
.gs-submit { display: inline-flex; align-items: center; justify-content: center; border: 0; border-radius: 8px; min-height: 48px; padding: 14px 24px; background: var(--gs-green); color: #fff; font: inherit; font-size: 14px; font-weight: 600; line-height: 1.4; cursor: pointer; white-space: nowrap; transition: background .15s; }
.gs-submit:hover:not(:disabled) { background: #2f5038; }
.gs-back { min-height: 44px; border: 0; background: none; padding: 10px 0; color: var(--gs-muted); font: inherit; font-size: 13px; cursor: pointer; }
.gs-main button:disabled { cursor: wait; opacity: .65; }
.gs-form-error { color: #9b2323; background: #fff4f1; border-radius: 7px; padding: 12px 14px; font-size: 13px; line-height: 1.5; margin: 0 0 18px; }
.gs-success { min-height: 548px; display: flex; flex-direction: column; justify-content: center; }
.gs-success h2 { font-size: 30px; line-height: 1.2; letter-spacing: -.03em; margin-bottom: 14px; }
.gs-success p { font-size: 15px; line-height: 1.7; color: var(--gs-muted); }
.gs-assurance { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; padding-top: 28px; }
.gs-assurance h3 { font-size: 14px; font-weight: 600; line-height: 1.4; margin-bottom: 5px; }
.gs-assurance p { font-size: 13px; line-height: 1.5; color: var(--gs-muted); }
@media (max-width: 960px) {
  .gs-main { padding-left: 28px; padding-right: 28px; }
  .gs-intro { padding: 34px 27px; }
  .gs-intro h1 { font-size: 38px; }
  .gs-form-card { padding: 32px; }
  .gs-form-footer { align-items: flex-start; flex-direction: column; }
  .gs-form-actions { align-self: flex-end; }
}
@media (max-width: 720px) {
  .gs-main { padding: 138px 20px 40px; }
  .gs-shell { grid-template-columns: minmax(0, 1fr); }
  .gs-intro { padding: 28px; gap: 18px; }
  .gs-intro h1 { font-size: 36px; }
  .gs-intro > p { max-width: 420px; font-size: 14px; }
  .gs-steps { flex-direction: row; gap: 20px; padding-top: 5px; }
  .gs-steps button { flex: 1; font-size: 13px; }
  .gs-form-card { padding: 28px; }
  #gsForm, .gs-success { min-height: 0; }
  .gs-form-footer { margin-top: 6px; }
  .gs-group input, .gs-group select, .gs-group textarea { font-size: 16px; }
  .gs-assurance { gap: 20px; }
}
@media (max-width: 480px) {
  .gs-main { padding-left: 12px; padding-right: 12px; }
  .gs-intro { padding: 24px; }
  .gs-form-card { padding: 24px; }
  .gs-row { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .gs-section-heading h2 { font-size: 26px; }
  .gs-form-actions { width: 100%; }
  .gs-submit { flex: 1; }
  .gs-assurance { grid-template-columns: minmax(0, 1fr); gap: 16px; padding-left: 12px; padding-right: 12px; }
}
@media (max-width: 350px) { .gs-intro, .gs-form-card { padding: 20px; } .gs-intro h1 { font-size: 33px; } }
@media (prefers-reduced-motion: reduce) { .gs-main *, .gs-main *::before, .gs-main *::after { transition: none; scroll-behavior: auto; } }
