.form-shell { width: min(900px, 100%); margin-inline: auto; padding: clamp(24px, 4vw, 44px); background: var(--card-bg); border: 1px solid var(--color-border); border-radius: var(--radius-lg); box-shadow: var(--shadow-card); }
.form-shell h2, .form-shell h3 { margin-bottom: 24px; font-family: var(--fd); font-size: clamp(31px, 4vw, 46px); letter-spacing: .03em; text-transform: uppercase; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.form-field { display: flex; flex-direction: column; gap: 7px; }
.form-field.full { grid-column: 1 / -1; }
.form-field label { color: var(--text-muted); font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.form-field input, .form-field select, .form-field textarea { width: 100%; min-height: 48px; border: 1px solid var(--color-border); border-radius: 11px; outline: none; padding: 11px 13px; background: var(--input-bg); color: var(--text-body); transition: border-color .25s, box-shadow .25s, background .25s; }
.form-field textarea { min-height: 145px; resize: vertical; }
.form-field input:focus, .form-field select:focus, .form-field textarea:focus { border-color: var(--gold); box-shadow: 0 0 0 3px rgba(212,137,26,.13); }
.form-field select option { color: #111; background: #fff; }
.form-actions { margin-top: 22px; display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.form-honeypot { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; opacity: 0 !important; }
.form-note { color: var(--text-muted); font-size: 12px; }

.contact-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 32px; }
.contact-card { padding: 20px; background: var(--card-bg); border: 1px solid var(--color-border); border-radius: 16px; }
.contact-card span { display: block; color: var(--gold); font-size: 11px; font-weight: 900; text-transform: uppercase; letter-spacing: .1em; }
.contact-card a, .contact-card strong { display: block; margin-top: 7px; font-size: 15px; word-break: break-word; }

@media (max-width: 700px) {
  .form-grid, .contact-cards { grid-template-columns: 1fr; }
}

/* Shared shell used only by Contact and Team Building pages */
.service-hero { position: relative; min-height: 520px; display: grid; align-items: end; overflow: hidden; }
.service-hero::before { content: ""; position: absolute; inset: 0; background: #000 var(--service-image, none) center/contain no-repeat; }
.service-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,0,0,.86), rgba(0,0,0,.52) 56%, rgba(0,0,0,.24)); }
.service-hero-content { position: relative; z-index: 1; padding-block: clamp(92px, 13vh, 135px) clamp(62px, 8vh, 90px); color: #fff; }
.service-hero-content .display-title { max-width: 980px; }
.service-hero-content .lead { margin: 22px 0 0; color: rgba(255,255,255,.76); }
.service-form-section { background: var(--bg-elevated); border-top: 1px solid var(--color-border); }
.service-form-intro { max-width: 780px; margin: 0 auto 28px; text-align: center; }
.service-form-intro .lead { margin-inline: auto; }

@media (max-width: 700px) {
  .service-hero { min-height: 440px; }
  .service-hero-content { padding-block: 78px 48px; }
}
