.submission-page { position: relative; min-height: 100vh; padding: clamp(7rem, 10vw, 11rem) 0 clamp(5rem, 8vw, 9rem); overflow: hidden; color: #fff; background: #210b31 url("../images/cosmic-clouds.jpg") center / cover fixed; }
.submission-page::before { position: absolute; inset: 0; content: ""; background: linear-gradient(180deg, rgba(19,5,35,.52), rgba(46,16,59,.78)), url("../images/stars-field.webp") center top / 2048px auto repeat-y; pointer-events: none; }
.submission-page__glow { position: absolute; top: 12%; left: 50%; width: min(70rem, 90vw); aspect-ratio: 1.8; background: radial-gradient(circle, rgba(174,74,255,.34), transparent 67%); filter: blur(20px); transform: translateX(-50%); pointer-events: none; }
.submission-page__shell { position: relative; z-index: 1; width: min(74rem, calc(100% - 2rem)); margin: 0 auto; }
.submission-hero { max-width: 58rem; margin: 0 auto clamp(2rem, 4vw, 3.5rem); text-align: center; }
.submission-hero__eyebrow { margin: 0 0 .9rem; color: #e6b5ff; font: 600 .82rem/1.2 "Manrope", sans-serif; letter-spacing: .18em; text-transform: uppercase; }
.submission-hero h1 { margin: 0; font: 700 clamp(2.2rem, 5vw, 4.8rem)/.98 "Geist", sans-serif; letter-spacing: -.045em; text-wrap: balance; }
.submission-hero > p:last-child { max-width: 48rem; margin: 1.4rem auto 0; color: rgba(255,255,255,.8); font: 400 clamp(.95rem, 1.25vw, 1.1rem)/1.7 "Manrope", sans-serif; }
.submission-form, .submission-success { padding: clamp(1.4rem, 4vw, 3.5rem); border: 1px solid rgba(255,255,255,.38); border-radius: clamp(1.3rem, 2.5vw, 2.2rem); background: linear-gradient(145deg, rgba(255,255,255,.1), rgba(255,255,255,.18)); box-shadow: inset 0 0 2rem rgba(255,255,255,.08), 0 2rem 5rem rgba(12,0,25,.35); backdrop-filter: blur(18px); }
.submission-form { display: grid; gap: 2rem; }
.submission-form__notice { padding: 1rem 1.2rem; border: 1px solid rgba(255,130,169,.7); border-radius: .9rem; background: rgba(100,18,51,.42); }
.submission-form__types { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1rem; margin: 0; padding: 0; border: 0; }
.submission-form__types legend { grid-column: 1 / -1; margin-bottom: .25rem; font: 600 1.1rem/1.3 "Geist", sans-serif; }
.submission-form__types label { position: relative; cursor: pointer; }
.submission-form__types input { position: absolute; opacity: 0; }
.submission-form__types label > span { display: flex; min-height: 6rem; flex-direction: column; justify-content: center; padding: 1rem 1.2rem; border: 1px solid rgba(255,255,255,.23); border-radius: 1rem; background: rgba(30,9,45,.48); transition: .2s ease; }
.submission-form__types small { margin-top: .35rem; color: rgba(255,255,255,.67); }
.submission-form__types input:checked + span { border-color: #dda8ff; background: rgba(124,45,178,.38); box-shadow: 0 0 0 3px rgba(216,145,255,.13), inset 0 0 1.6rem rgba(215,143,255,.1); }
.submission-form__types input:focus-visible + span { outline: 2px solid #fff; outline-offset: 3px; }
.submission-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1.4rem 1.6rem; }
.submission-field { display: flex; flex-direction: column; gap: .55rem; font: 500 .92rem/1.4 "Manrope", sans-serif; }
.submission-field input, .submission-field textarea { width: 100%; border: 1px solid rgba(255,255,255,.28); border-radius: .85rem; outline: 0; background: rgba(19,5,31,.5); color: #fff; font: 400 1rem/1.5 "Manrope", sans-serif; transition: border-color .2s, box-shadow .2s; }
.submission-field input { height: 3.25rem; padding: 0 .95rem; }
.submission-field textarea { min-height: 10rem; padding: .9rem 1rem; resize: vertical; }
.submission-field input:focus, .submission-field textarea:focus { border-color: #e0afff; box-shadow: 0 0 0 3px rgba(218,151,255,.16); }
.submission-field__error { color: #ffc2d7; font-size: .82rem; }
.submission-consents { display: grid; gap: .7rem; }
.submission-consents label { display: flex; align-items: flex-start; gap: .7rem; color: rgba(255,255,255,.82); font: 400 .9rem/1.5 "Manrope", sans-serif; cursor: pointer; }
.submission-consents input { width: 1.1rem; height: 1.1rem; margin-top: .15rem; accent-color: #b95cff; }
.submission-form__helper { margin: -.8rem 0 0; color: rgba(255,255,255,.65); font-size: .88rem; }
.submission-form__submit { display: inline-flex; min-height: 3.5rem; align-items: center; justify-content: center; gap: .8rem; justify-self: start; padding: .8rem 1.5rem; border: 1px solid rgba(255,255,255,.75); border-radius: 999px; background: linear-gradient(135deg,#9f3ee6,#632193); color: #fff; font: 600 1rem/1 "Manrope", sans-serif; cursor: pointer; box-shadow: 0 .8rem 2rem rgba(102,28,154,.3); }
.submission-form__submit:hover { transform: translateY(-2px); box-shadow: 0 1rem 2.4rem rgba(122,37,178,.42); }
.submission-form__submit:focus-visible { outline: 2px solid #fff; outline-offset: 4px; }
.submission-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.submission-success { display: flex; max-width: 50rem; align-items: center; gap: 1.4rem; margin: 0 auto; }
.submission-success > span { display: grid; width: 3.5rem; height: 3.5rem; flex: 0 0 3.5rem; place-items: center; border-radius: 50%; background: rgba(131,239,176,.18); color: #a9ffca; font-size: 1.6rem; }
.submission-success h2, .submission-success p { margin: 0; }
.submission-success p { margin-top: .45rem; color: rgba(255,255,255,.76); }
@media (max-width: 720px) { .submission-page { padding-top: 6.5rem; background-attachment: scroll; } .submission-form__types, .submission-form__grid { grid-template-columns: 1fr; } .submission-form { gap: 1.5rem; } .submission-form__submit { width: 100%; } .submission-success { align-items: flex-start; } }
@media (prefers-reduced-motion: reduce) { .submission-form__submit, .submission-form__types label > span { transition: none; } }
