.contact-section { position: relative; overflow: hidden; padding: var(--section-space) max(32px, calc((100vw - 1400px) / 2)); color: #fff; background: radial-gradient(circle at 12% 30%, rgba(255, 77, 18, .2), transparent 26%), linear-gradient(135deg, #080808, #17171b); }
.contact-section::after { position: absolute; right: -30px; bottom: -100px; color: rgba(255, 255, 255, .025); content: "4K"; font-size: clamp(230px, 27vw, 420px); font-weight: 900; letter-spacing: -.14em; line-height: 1; }
.contact-shell { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(40px, 7vw, 110px); align-items: center; max-width: 1400px; margin: 0 auto; }
.contact-copy h2 { max-width: 540px; margin: 12px 0 20px; font-size: clamp(40px, 4.8vw, 68px); line-height: .97; letter-spacing: -.055em; }
.contact-copy > p { max-width: 500px; color: rgba(255, 255, 255, .7); font-size: 17px; }
.contact-direct { display: flex; flex-direction: column; gap: 4px; margin-top: 34px; }
.contact-direct span { color: rgba(255, 255, 255, .5); font-size: 12px; letter-spacing: .1em; text-transform: uppercase; }
.contact-direct a { color: #fff; font-size: 15px; font-weight: 800; transition: color .2s ease; }
.contact-direct a:hover { color: var(--orange); }
.contact-card { padding: clamp(22px, 3vw, 38px); border: 1px solid rgba(255, 255, 255, .12); border-radius: 28px; color: var(--text); background: rgba(255, 255, 255, .97); box-shadow: 0 30px 80px rgba(0, 0, 0, .34); }
.contact-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.contact-field { display: grid; gap: 7px; }
.contact-field-wide { grid-column: 1 / -1; }
.contact-field label { font-size: 12px; font-weight: 800; }
.contact-field input, .contact-field select, .contact-field textarea { width: 100%; min-height: 48px; padding: 12px 14px; outline: 0; border: 1px solid #dedee2; border-radius: 11px; color: #171717; background: #fff; font-size: 14px; transition: border-color .2s ease, box-shadow .2s ease; }
.contact-field textarea { min-height: 128px; resize: vertical; }
.contact-field input:focus, .contact-field select:focus, .contact-field textarea:focus { border-color: var(--orange); box-shadow: 0 0 0 4px rgba(255, 77, 18, .1); }
.contact-consent { display: grid; grid-template-columns: auto 1fr; gap: 9px; align-items: start; }
.contact-consent input { margin-top: 4px; accent-color: var(--orange); }
.contact-consent label { color: #66666f; font-size: 12px; line-height: 1.5; }
.errorlist { grid-column: 1 / -1; margin: 0; padding: 0; color: #b42318; font-size: 11px; font-weight: 700; list-style: none; }
.form-errors { margin-bottom: 16px; padding: 11px; border-radius: 9px; color: #b42318; background: #fff0ed; font-size: 12px; }
.contact-messages p { margin: 0 0 18px; padding: 13px 15px; border-radius: 10px; color: #176a38; background: #e8f7ed; font-size: 13px; font-weight: 700; }
.contact-messages p.error { color: #b42318; background: #fff0ed; }
.contact-submit { width: 100%; margin-top: 22px; border: 0; cursor: pointer; }
.contact-submit span { margin-left: auto; font-size: 18px; }
.contact-turnstile { display: grid; gap: 9px; margin-top: 22px; }
.contact-turnstile-widget { min-height: 65px; }
.contact-turnstile-status { min-height: 18px; margin: 0; color: #5b5b63; font-size: 12px; line-height: 1.45; }
.contact-turnstile-status[data-state="success"] { color: #176a38; }
.contact-turnstile-status[data-state="error"] { color: #b42318; }
.contact-submit:disabled,
.turnstile-pending .contact-submit { cursor: not-allowed; opacity: .58; pointer-events: none; }
@media (max-width: 900px) { .contact-section { padding-inline: 24px; } .contact-shell { grid-template-columns: 1fr; } .contact-copy h2 { max-width: 700px; } .contact-card { max-width: 760px; } }
@media (max-width: 760px) { .contact-section { padding: var(--section-space) 14px; } .contact-card { border-radius: 20px; } .contact-fields { grid-template-columns: 1fr; } .contact-field-wide { grid-column: auto; } .contact-copy h2 { font-size: 42px; } }
