/* Approved design with typography reduced slightly for a calmer, balanced layout. */
:root { color-scheme: dark; --red: #df0010; --white: #f7f4f4; }
* {box-sizing: border-box;}
html {scroll-behavior: smooth;}
body {margin: 0; min-width: 280px; background: #000; color: var(--white); font-family: Georgia, 'Times New Roman', serif; -webkit-font-smoothing: antialiased;}
.page {max-width: 1086px; width: calc(100% - 44px); margin-inline: auto; text-align: center;}
.hero {padding-top: 63px;}
.movie-logo {display: block; width: min(100%, 710px); height: auto; margin-inline: auto;}
/* Requested extra black breathing room between title and logline. */
.logline {max-width: 855px; margin: 81px auto 0; font-size: clamp(17px, 2.15vw, 22px); line-height: 1.55; font-weight: 400;}
.presale {margin: 59px auto 0;}
.presale h2 {margin: 0; font-weight: 400; font-size: clamp(18px, 2.85vw, 30px); line-height: 1.4; letter-spacing: .018em;}
.presale time {white-space: nowrap;}
.social {margin-top: 64px;}
.social h2,.contact h2 {margin: 0 0 30px; font-size: clamp(31px, 4.25vw, 45px); font-weight: 400; line-height: 1.12;}
.social-links {display: flex; flex-direction: column; align-items: center; gap: 20px;}
.social-link {display: flex; align-items: center; justify-content: flex-start; gap: 23px; max-width: 100%; color: var(--white); font-size: clamp(15px, 2.6vw, 27px); line-height: 1.2; text-decoration: none; transition: color .2s ease;}
.social-link:hover,.social-link:focus-visible {color: #ff7070;}
.social-icon {width: 50px; height: 50px; flex: 0 0 50px;}
.contact {max-width: 648px; margin: 65px auto 0;}
.contact h2 {margin-bottom: 27px;}
#contact-form {display: flex; flex-direction: column; align-items: stretch; gap: 19px;}
.field {width: 100%;}
.field input,.field textarea {width: 100%; display: block; appearance: none; border: 2px solid #bfbaba; border-radius: 8px; background: transparent; color: #fff; font: 19px Georgia,'Times New Roman',serif; outline: none; transition: border-color .15s, box-shadow .15s;}
.field input {height: 59px; padding: 0 19px;}
.field textarea {height: 175px; min-height: 145px; padding: 19px 19px; resize: vertical;}
.field input::placeholder,.field textarea::placeholder {color:#ede7e7; opacity:1;}
.field input:focus,.field textarea:focus {border-color:#fff; box-shadow: 0 0 0 2px rgba(255,255,255,.2);}
.submit {align-self: center; min-width: 305px; min-height: 72px; border: 0; border-radius: 8px; margin: 3px 0 0; background: #e00011; color: #fff; cursor: pointer; text-transform: uppercase; font: bold 31px Georgia,'Times New Roman',serif; letter-spacing: .01em; transition: background .2s, transform .15s;}
.submit:hover {background:#f01023;}
.submit:active {transform:scale(.98);}
.submit:disabled {opacity:.6;cursor:wait;}
.form-status {min-height: 24px; margin: 0; font:16px/1.5 system-ui,sans-serif; color:#b5f0c4;}
.form-status.form-error {color:#ff8a8a;}
.footer {margin: 110px auto 24px; padding: 0 20px; color: #888; text-align:center; font: 12px/1.5 system-ui,sans-serif;}
.sr-only {position:absolute;clip:rect(0,0,0,0);white-space:nowrap;overflow:hidden;width:1px;height:1px;padding:0;margin:-1px;border:0;}
.trap {position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important;}
@media(max-width:700px) {
 .page {width: calc(100% - 34px);}
 .hero {padding-top: 49px;}
 .movie-logo {width: 94%;}
 .logline {margin-top: 67px; max-width: 550px; font-size: clamp(16px, 4vw, 20px); line-height: 1.5;}
 .presale {margin-top: 56px;}
 .presale h2 {font-size: clamp(17px,4vw,21px); line-height:1.45; letter-spacing:.012em;}
 .social {margin-top: 62px;}
 .social h2,.contact h2 {font-size: 34px; margin-bottom: 25px;}
 .social-links {gap: 15px; align-items:center;}
 .social-link {font-size:clamp(13px,3.65vw,20px); gap:12px;}
 .social-icon {width:34px;height:34px;flex-basis:34px;}
 .contact {margin-top:66px;}
 #contact-form {gap:16px;}
 .field input,.field textarea {font-size:17px;border-width:1.5px;}
 .field input {height:57px;padding:0 15px;}
 .field textarea {height:155px;padding:17px 15px;}
 .submit {min-width:220px; min-height:62px; font-size:26px; margin-top:2px;}
 .footer {margin-top:90px;}
}
@media(max-width:380px) {
 .page {width:calc(100% - 28px);}
 .social-link {font-size:clamp(12px,3.4vw,15px);gap:9px;}
 .social-icon {width:30px;height:30px;flex-basis:30px;}
}
@media(prefers-reduced-motion:reduce) {*{scroll-behavior:auto!important;transition:none!important;}}
