.cta { border:0; border-radius:0; text-align:left; cursor:pointer; }
.footer-contact { padding:0; border:0; background:none; color:var(--paper); cursor:pointer; font:inherit; letter-spacing:inherit; }
.footer-contact:hover { color:var(--ignition); }
.footer-contact:focus-visible { outline:2px solid var(--paper); outline-offset:5px; }
.contact-modal:not([open]),[hidden] { display:none !important; }
.contact-modal { position:fixed; width:min(calc(100% - 44px),690px); max-width:none; max-height:calc(100svh - 44px); margin:auto; overflow-y:auto; overscroll-behavior:contain; border:1px solid #44403c; padding:clamp(25px,4vw,40px); background:#11100e; color:#f5f2ec; box-shadow:0 32px 120px #000b; scrollbar-color:#5d5954 #11100e; }
.contact-modal::backdrop { background:#000d; backdrop-filter:blur(12px); }
.modal-topline { position:absolute; inset:0 0 auto; height:5px; background:#ff4a00; }
.modal-close { display:flex; align-items:center; gap:14px; margin-left:auto; padding:2px 0 10px; background:none; border:0; color:#bdbab4; font-size:12px; cursor:pointer; }
.modal-close span { font:400 28px/1 Arial,sans-serif; color:#ff4a00; }
.modal-close:hover { color:#f5f2ec; }
.modal-close:disabled { opacity:.4; cursor:wait; }
.modal-eyebrow { color:#f5f2ec; font-size:12px; margin:4px 0 13px; }
.modal-eyebrow span { color:#ff4a00; font-size:20px; font-weight:900; margin-right:9px; }
.modal-head h2 { margin:0; font:italic 900 clamp(45px,6.5vw,73px)/.9 "Barlow Condensed",Impact,"Arial Narrow",sans-serif; letter-spacing:-.025em; text-transform:uppercase; }
.modal-head h2 em { color:#ff4a00; }
.modal-head > p:last-child { color:#bdbab4; font-size:13px; line-height:1.55; max-width:440px; margin:16px 0 25px; }
.contact-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:17px 16px; padding:0; border:0; margin:0; min-width:0; }
.contact-field { display:flex; flex-direction:column; min-width:0; gap:8px; }
.contact-field-full { grid-column:1/-1; }
.contact-field > span { font:500 12px/1.4 "IBM Plex Mono",monospace; letter-spacing:.07em; }
.contact-field b { color:#ff4a00; }
.contact-field small { font-size:12px; font-weight:400; line-height:1.4; color:#a7a39e; }
.contact-field input,.contact-field select,.contact-field textarea { width:100%; min-width:0; appearance:none; background:#1d1b19; border:1px solid #635e58; border-radius:0; padding:13px 14px; color:#f5f2ec; font:400 16px/1.45 "Inter",Arial,sans-serif; transition:border-color .18s,background .18s; }
.contact-field select { cursor:pointer; padding-right:34px; background-image:linear-gradient(45deg,transparent 50%,#ff4a00 50%),linear-gradient(135deg,#ff4a00 50%,transparent 50%); background-position:calc(100% - 20px) 52%,calc(100% - 15px) 52%; background-size:5px 5px; background-repeat:no-repeat; }
.contact-field select:invalid { color:#a7a39e; }
.contact-field select option { color:#f5f2ec; background:#1d1b19; }
.contact-field input::placeholder,.contact-field textarea::placeholder { color:#a7a39e; }
.contact-field input:focus,.contact-field select:focus,.contact-field textarea:focus { outline:2px solid #ff4a00; outline-offset:2px; border-color:#ff4a00; background:#25211e; }
.contact-field textarea { resize:vertical; min-height:88px; }
.contact-honeypot,.visually-hidden { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.captcha-row { margin:22px 0 8px; min-height:1px; }
#contactCaptcha { min-width:0; }
.contact-feedback { min-height:20px; color:#bdbab4; font:400 12px/1.5 "Inter",Arial,sans-serif; margin:12px 0 10px; }
.contact-feedback[data-status="error"] { color:#ff9168; }
.contact-retry { border:0; background:none; color:#ff9168; padding:0 0 16px; cursor:pointer; font:500 12px/1.5 "IBM Plex Mono",monospace; text-align:left; }
.contact-submit { width:100%; min-height:67px; display:flex; align-items:center; justify-content:space-between; gap:18px; border:0; border-radius:0; padding:13px 20px; background:#ff4a00; color:#080808; font:italic 900 clamp(30px,4.5vw,43px)/1 "Barlow Condensed",Impact,"Arial Narrow",sans-serif; text-transform:uppercase; cursor:pointer; transition:background .2s,transform .2s; }
.contact-submit svg { width:27px; height:27px; flex:none; }
.contact-submit:hover:not(:disabled) { background:#ff7039; transform:translateY(-2px); }
.contact-submit:disabled { opacity:.48; cursor:not-allowed; }
.contact-submit:focus-visible,.modal-close:focus-visible,.contact-retry:focus-visible,.contact-alternative a:focus-visible { outline:2px solid #f5f2ec; outline-offset:4px; }
.contact-privacy,.contact-alternative { font:400 13px/1.6 "Inter",Arial,sans-serif; color:#aaa69f; margin:14px 0 0; }
.contact-alternative a { color:#f5f2ec; text-underline-offset:3px; }
.contact-success { padding:12px 0 0; }
.success-mark { display:inline-block; color:#ff4a00; font:400 54px/1 Arial,sans-serif; }
.contact-success h3 { font:italic 900 clamp(34px,6vw,54px)/1 "Barlow Condensed",Impact,sans-serif; margin:16px 0; }
.contact-success p { color:#bdbab4; font-size:15px; line-height:1.6; margin:0 0 30px; }
.contact-success h3:focus { outline:none; }
.noscript-contact { padding:20px; color:#f5f2ec; text-align:center; }
body.contact-open { overflow:hidden; }
@media(max-width:560px) {
 .contact-modal { width:calc(100% - 16px); max-height:calc(100svh - 16px); padding:24px 19px; }
 .contact-submit { min-height:64px; padding:13px 16px; gap:10px; font-size:clamp(24px,7vw,35px); }
 .contact-fields { grid-template-columns:1fr; gap:13px; }
 .modal-head h2 { font-size:clamp(41px,10.5vw,60px); }
 .modal-head > p:last-child { margin-bottom:20px; }
 .contact-field textarea { min-height:82px; }
 .captcha-row { margin-top:18px; }
}
@media(prefers-reduced-motion:reduce) { .contact-submit,.contact-field input,.contact-field select,.contact-field textarea { transition:none; } }
