.contact-page{background:radial-gradient(circle at 72% 12%,rgba(86,43,198,.14),transparent 27%),linear-gradient(180deg,#030714,#050919 55%,#030714)}
.contact-main{min-height:calc(100vh - 180px);padding:64px 0 70px}
.contact-shell{display:grid;grid-template-columns:minmax(0,.86fr) minmax(520px,1.14fr);gap:58px;align-items:start;max-width:1120px}
.contact-intro{padding-top:24px}.contact-kicker{font-size:10px;font-weight:800;letter-spacing:.14em;color:#a987ff}.contact-intro h1{margin:10px 0 14px;font-size:44px;line-height:1.05;letter-spacing:-.035em}.contact-intro>p{max-width:510px;margin:0;color:#aeb7c8;font-size:14px;line-height:1.7}.contact-help-list{margin-top:28px;border-top:1px solid #202945}.contact-help-list>div{display:grid;gap:5px;padding:15px 0;border-bottom:1px solid #202945}.contact-help-list strong{font-size:13px;color:#edf0f8}.contact-help-list span{font-size:11px;line-height:1.55;color:#8491a5}.contact-security-note{margin-top:22px;padding:14px 15px;border-left:2px solid #7955ea;background:rgba(94,64,196,.08);display:grid;gap:5px}.contact-security-note strong{font-size:11px;color:#dcd5ff}.contact-security-note span{font-size:10px;line-height:1.55;color:#929fb3}
.contact-form-card{border:1px solid #26334b;border-radius:12px;background:rgba(8,15,29,.92);box-shadow:0 22px 70px rgba(0,0,0,.2);padding:24px}.contact-form-head{margin-bottom:20px}.contact-form-head>span{font-size:8px;font-weight:800;letter-spacing:.12em;color:#8774c8}.contact-form-head h2{margin:5px 0 0;font-size:21px;letter-spacing:-.02em}.contact-form{display:grid;gap:14px}.contact-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.contact-field{display:grid;gap:7px}.contact-field>span{font-size:9px;font-weight:700;color:#9eabc0}.contact-field input,.contact-field select,.contact-field textarea{width:100%;border:1px solid #2b3a53;border-radius:8px;background:#081220;color:#dbe3ef;outline:0;padding:0 11px;font:inherit;font-size:11px;transition:.16s}.contact-field input,.contact-field select{height:42px}.contact-field textarea{padding-top:11px;padding-bottom:11px;resize:vertical;line-height:1.55;min-height:150px}.contact-field input:focus,.contact-field select:focus,.contact-field textarea:focus{border-color:#6f55db;box-shadow:0 0 0 2px rgba(111,85,219,.08)}.contact-field input[readonly]{color:#8f9caf;background:#07101c}.contact-field small{font-size:8px;color:#65748b}.contact-submit{min-height:43px;margin-top:2px;border-radius:8px}.contact-submit:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}.contact-alert{margin-bottom:14px;border:1px solid;border-radius:8px;padding:11px 12px;font-size:10px;line-height:1.5}.contact-alert.success{color:#65dfa0;border-color:rgba(73,214,143,.25);background:rgba(42,177,111,.07)}.contact-alert.error{color:#ff8e9f;border-color:rgba(240,89,112,.24);background:rgba(204,55,78,.07)}.contact-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.contact-footer{margin-top:0}.contact-footer .footer-links{flex-wrap:wrap}.contact-footer .footer-links a{margin:0}
@media(max-width:900px){.contact-main{padding:44px 0 56px}.contact-shell{grid-template-columns:1fr;gap:30px;max-width:760px}.contact-intro{padding-top:0}.contact-intro h1{font-size:36px}.contact-intro>p{max-width:650px}.contact-help-list{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #202945;border-bottom:1px solid #202945}.contact-help-list>div{padding:14px 13px;border-bottom:0}.contact-help-list>div:not(:last-child){border-right:1px solid #202945}.contact-security-note{margin-top:18px}}
@media(max-width:620px){.contact-main{padding:30px 0 42px}.contact-shell{gap:24px}.contact-intro h1{font-size:30px;margin-top:8px}.contact-intro>p{font-size:12px;line-height:1.65}.contact-help-list{grid-template-columns:1fr}.contact-help-list>div{padding:12px 0}.contact-help-list>div:not(:last-child){border-right:0;border-bottom:1px solid #202945}.contact-form-card{padding:17px;border-radius:10px}.contact-form-head h2{font-size:18px}.contact-field-grid{grid-template-columns:1fr}.contact-field input,.contact-field select{height:40px}.contact-field textarea{min-height:140px}.contact-submit{width:100%}}


/* ===== v35 AJAX contact UX ===== */
.contact-submit,.contact-submit:hover,.contact-submit:focus,.contact-submit:active{color:#fff!important}
.contact-submit{position:relative;overflow:hidden}
.contact-submit-loading{display:none;align-items:center;justify-content:center;gap:8px;color:#fff}
.contact-submit.is-loading .contact-submit-label{display:none}
.contact-submit.is-loading .contact-submit-loading{display:inline-flex}
.contact-spinner{width:13px;height:13px;border:2px solid rgba(255,255,255,.34);border-top-color:#fff;border-radius:50%;animation:contact-spin .7s linear infinite}
@keyframes contact-spin{to{transform:rotate(360deg)}}
.contact-feedback:empty{display:none}
.contact-feedback .contact-alert{animation:contact-alert-in .18s ease-out}
@keyframes contact-alert-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.contact-field input.is-invalid,.contact-field select.is-invalid,.contact-field textarea.is-invalid{border-color:#db536d;box-shadow:0 0 0 2px rgba(219,83,109,.08)}
.contact-field input.is-valid:not([readonly]),.contact-field select.is-valid,.contact-field textarea.is-valid{border-color:#315d54}
.contact-field-error{display:none!important;min-height:0;font-size:9px!important;color:#ff8799!important;line-height:1.4}
.contact-field-error.is-visible{display:block!important}
.contact-message-meta{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-height:14px}
.contact-message-meta .contact-field-error{flex:1}
.contact-char-count{margin-left:auto;white-space:nowrap;color:#65748b!important}
.contact-char-count.is-near-limit{color:#e5a955!important}
.contact-char-count.is-at-limit{color:#ff8799!important}
@media(max-width:620px){.contact-message-meta{gap:8px}.contact-field-error{font-size:8.5px!important}}
@media(min-width:901px){.contact-page .nav-authenticated .nav-links{gap:18px;font-size:12px}.contact-page .nav-authenticated .nav-links>a:not(.btn){white-space:nowrap}}
@media(min-width:901px) and (max-width:1080px){.contact-page .nav-authenticated .nav-links{gap:11px;font-size:11px}.contact-page .nav-authenticated .btn{padding-inline:12px}}
