:root { color-scheme: dark; font-family: Arial, Helvetica, sans-serif; font-synthesis: none; }
* { box-sizing: border-box; }
html { min-height: 100%; }
body { margin: 0; min-height: 100vh; color: #eee; background: #070b27; }
.background-art { position: fixed; inset: 0; z-index: -1; background: url('background.svg') center center / cover no-repeat, linear-gradient(135deg,#080a27,#170222); }
.page { min-height: 100svh; padding: 42px 18px; display: grid; place-items: center; }
.contact-card { position: relative; width: min(100%, 586px); padding: 42px 40px 38px; border-radius: 18px; overflow: hidden; background: linear-gradient(165deg, rgba(12,15,47,.97) 0%, rgba(17,9,39,.97) 62%, rgba(29,6,34,.95) 100%); box-shadow: 0 24px 65px rgba(0,0,0,.20); }
.contact-card:before { content: ''; position:absolute; inset: 0; pointer-events:none; opacity:.4; background: radial-gradient(circle at 44% 62%,rgba(184,27,145,.12),transparent 18%), radial-gradient(circle at 90% 90%,rgba(177,13,104,.1),transparent 30%); }
.contact-card > * { position:relative; }
.brand { display: flex; align-items: center; justify-content:center; font-size: 34px; font-weight: 900; letter-spacing: -2px; line-height: 1; user-select:none; }
.brand-bet {color:#fff} .brand-valo{color:#ff008c}
h1 { margin: 30px 0 30px; font-weight:400; color:#ff008c; text-align:center; font-size:25px; }
form { display:flex; flex-direction:column; }
.field { margin: 0 0 23px; }
.field input, .field textarea { display:block; width:100%; border:0; border-bottom:1px solid rgba(200,190,221,.075); outline:0; border-radius:0; background:transparent; color:#fff; font: 16px/1.45 Arial,Helvetica,sans-serif; padding: 12px 0 10px; transition: border-color .15s; }
.field input { height:47px; }
.field textarea { height:82px; min-height:82px; resize:vertical; padding-top:12px; }
.field input::placeholder, .field textarea::placeholder {color:#a49fad; opacity:1; font-weight:600;}
.field input:focus, .field textarea:focus {border-color:#ff008c;}
.field-message {margin: 0 0 24px;}
.preferences { border:0; margin:0 0 15px; padding:0; }
.preferences legend { padding:0 0 8px; color:#ff008c; font-size:16px; }
.choice {display:flex; gap:9px; align-items:center; width:max-content; max-width:100%; margin:4px 0; font-size:16px; cursor:pointer; }
.choice input { margin:0; width:24px; height:24px; flex:none; accent-color:#e6007e; cursor:pointer; }
button { min-height:47px; border:0; border-radius:5px; background:#cc006b; color:white; font-size:17px; cursor:pointer; transition:background .15s, transform .15s; }
button:hover {background:#f00083} button:active {transform:scale(.99)} button:disabled {opacity:.65; cursor:wait;}
.status { min-height:0; text-align:center; font-size:14px; line-height:1.4; margin:0; }
.status:not(:empty) {margin-top:13px;}
.status.error{color:#ff9cbf} .status.success{color:#8cf2c1}
.trap { position:absolute; height:1px; width:1px; overflow:hidden; left:-9999px; }
.sr-only {position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;}
@media(max-width:600px) {
  .page {padding: 24px 13px;}
  .contact-card {padding:36px 25px 26px; border-radius:16px;}
  .brand {font-size: 36px;}
  h1 { font-size: 27px; margin:36px 0 35px; }
  .field {margin-bottom:29px;}
  .field input,.field textarea{font-size:18px;}
  .field input{height:51px;}
  .field textarea{height:92px; min-height:92px;}
  .field-message{margin-bottom:29px;}
  .preferences legend {font-size:17px;}
  .choice{font-size:17px; margin:5px 0;}
  .choice input {height:27px;width:27px;}
  button{min-height:59px;font-size:20px;margin-top:4px;}
}
@media(max-width:360px) { .contact-card{padding:28px 19px 22px} .brand{font-size:30px} h1{font-size:24px;} .field input,.field textarea{font-size:16px;} }
@media(prefers-reduced-motion:reduce){*{transition:none!important;}}

.privacy { display:flex; align-items:flex-start; gap:10px; margin:4px 0 16px; color:#b9b2c4; font-size:12px; line-height:1.4; cursor:pointer; }
.privacy input { flex:0 0 17px; width:17px; height:17px; margin:0; accent-color:#e6007e; }
