/* Application enhancements keep the original position, dark fields and pink accents. */
.application-form .input-label { display:block; font-size:12px; color:#bbb; margin:0 0 5px; }
.application-errors { clear:both; margin:0 3% 14px 0; padding:12px; border-left:3px solid #de1270; background:#301c24; color:#fff; }
.application-errors a { display:inline-block; margin:4px 8px 0 0; text-decoration:underline; }
.application-renew { display:block; clear:both; margin:0 0 16px; padding:10px 14px; background:#980045; color:#fff; border:1px solid #de1270; border-radius:3px; font:inherit; cursor:pointer; }
.photo-uploads { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; width:98%; clear:both; }
.photo-upload { min-width:0; padding:14px; border:1px solid #4c4c4c; background:#191919; box-sizing:border-box; }
.photo-drop { border:1px dashed #777; padding:14px 10px; border-radius:3px; background:#202020; transition:border-color .15s,background .15s; }
.photo-drop.drag-over, .photo-drop:focus-within { border-color:#ef4b96; background:#301c27; }
.photo-drop label { display:block; text-align:center; cursor:pointer; }
.photo-drop strong, .photo-drop-hint, .photo-drop small { display:block; }
.photo-drop strong { color:#fff; font-size:16px; font-weight:600; margin-bottom:8px; }
.photo-drop-hint { font-size:13px; color:#eee; }
.photo-drop small { font-size:11px; color:#aaa; margin:6px 0; }
.application-form .photo-drop input[type=file] { float:none; width:100%; max-width:100%; font-size:12px; color:#bbb; padding:4px 0; }
.photo-drop input::file-selector-button { padding:8px; margin-right:6px; color:#fff; background:#3a3035; border:1px solid #7e4e63; border-radius:2px; cursor:pointer; font:inherit; }
.photo-preview-link { display:block; margin:12px 0 0; cursor:zoom-in; }
.upload-preview { display:block; width:100%; height:170px; object-fit:contain; background:#121212; }
.application-form .photo-status { float:none; width:auto; font-size:12px; margin:10px 0 0; min-height:1.4em; color:#c7c7c7; }
.photo-status.field-error { color:#ff9dc8; }
.photo-upload progress { display:block; width:100%; height:6px; margin:12px 0; accent-color:#de1270; }
.photo-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; }
.photo-actions:has(> [hidden]):not(:has(> :not([hidden]))) { display:none; }
.photo-actions button { background:transparent; border:1px solid #66525c; border-radius:2px; color:#ddd; font:inherit; font-size:12px; padding:7px 9px; cursor:pointer; }
.photo-upload[aria-busy] { opacity:.8; }
.application-form .form-reassurance { box-sizing:border-box; color:#ccc; font-size:13px; padding:0; border:0; }
.application-form .form_send { min-width:190px; }
.application-form .form_send:disabled { opacity:.6; cursor:wait; }
.application-form [aria-invalid=true] { border-bottom-color:#f368a6; }
@media(max-width:800px) {
 .application-form { scroll-margin-top:12px; }
 .application-form [class^="form_line_"] input, .application-form select { font-size:16px; }
 .application-form .form_line_5 { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 12px; width:98%; }
 .application-form .form_line_5 > label { float:none; width:100%; margin-right:0; }
 .application-form .form_line_5 input { padding-inline:8px; }
 .application-form .form_send { width:70%; margin-left:15%; font-size:16px; padding:14px 12px; }
}

/* Casting-only spacing; shared public pages retain their original layout. */
.casting-heading { margin-block:20px 18px; }
.casting-heading h1 { float:none; width:auto; margin:0 0 6px; font-size:220%; line-height:1.25; }
.casting-heading p { float:none; width:auto; margin:0; color:#bfbfbf; font-size:14px; line-height:1.6; }
.mobile-review-link { display:none; }
.casting-page .application-box { display:grid; grid-template-columns:minmax(0,1fr) 300px; align-items:start; }
.casting-page .application-form { float:none; width:auto; padding:22px 28px 26px; min-width:0; }
.application-form > h2.visually-hidden { width:1px; height:1px; margin:0; }
.application-form .application-requirements { float:none; width:auto; margin:0 0 4px; color:#bbb; font-size:12px; line-height:1.5; }
.application-intro { margin:0 0 18px; font-size:12px; line-height:1.6; }
.application-intro summary { cursor:pointer; color:#e6b4cb; padding:4px 0; }
.application-intro .archive-copy { padding:4px 0 10px; color:#c5c5c5; }
.application-intro .archive-copy p { float:none; width:auto; margin:8px 0; font-size:13px; }
.application-intro .archive-copy strong { font-weight:300; }
.application-form fieldset { float:none; display:flow-root; width:100%; }
.application-form legend { position:static; width:auto; height:auto; overflow:visible; clip-path:none; padding:0; margin:0 0 12px; font-size:14px; color:#eee; font-weight:600; }
.application-form [class^="form_line_"] { float:none; display:grid; gap:0 16px; width:100%; }
.application-form [class^="form_line_"] > label { float:none; width:auto; margin:0 0 14px; }
.application-form .form_line_2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.application-form .form_line_3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.application-form .form_line_5 { grid-template-columns:repeat(5,minmax(0,1fr)); }
.application-form [class^="form_line_"] input, .application-form .form_line_3 select { padding:10px 12px; }
.application-form .form_predel { float:none; clear:both; width:100%; margin:8px 0 18px; border:0; border-top:1px solid #353535; }
.application-form .form_tip { float:none; width:100%; display:flex; align-items:flex-start; gap:10px; padding:0; margin:0 0 14px; background:none; box-sizing:border-box; font-size:12px; line-height:1.65; color:#bdbdbd; }
.form-tip-icon { flex:0 0 18px; box-sizing:border-box; height:18px; border:1px solid #9c7185; color:#e3aec6; border-radius:50%; line-height:16px; text-align:center; font-size:12px; margin-top:2px; }
.application-form .check { display:flex; align-items:flex-start; gap:8px; }
.application-form .check input { flex:0 0 17px; width:17px; height:17px; margin:2px 0 0; }
.application-form .check span { min-width:0; }
.application-form .form_tip .check { margin:8px 0 0; }
.application-form .photo-uploads { width:100%; }
.application-form .photo-guidance { margin:12px 0 16px; }
.photo-guidance svg { width:21px; height:21px; flex:0 0 21px; color:#d991b3; }
.photo-status:empty { display:none; }
.application-form .form_send_info { float:none; width:100%; text-align:left; border-top:1px solid #353535; padding-top:14px; }
.application-form .form-reassurance { float:none; width:auto; margin:0 0 12px; line-height:1.6; }
.consent-row + .consent-row { margin-top:12px; }
.application-form .form_send_info .check { font-size:13px; line-height:1.55; color:#ddd; margin:0; }
.consent-row > a { display:inline-block; margin:2px 0 0 25px; font-size:12px; line-height:1.5; color:#e49fbd; text-decoration:underline; text-underline-offset:3px; }
.application-submit { display:flex; flex-wrap:wrap; align-items:center; gap:12px 20px; margin-top:20px; }
.application-form .form_send { display:inline-flex; justify-content:center; align-items:center; gap:22px; width:auto; min-width:230px; float:none; margin:0; padding:14px 20px; border:1px solid #e23d87; border-radius:3px; font-size:14px; background:#b90055; }
.application-form .form_send:hover { background:#d8126b; }
.application-form .form_ssl { float:none; display:flex; align-items:center; gap:6px; width:auto; font-size:11px; color:#aaa; text-align:left; }
.form_ssl svg { width:18px; height:18px; flex:0 0 18px; }
.casting-page .application-sidebar { float:none; box-sizing:border-box; width:100%; min-width:0; padding:24px 20px; border-bottom:0; background:#252525; }
.application-faq { display:flow-root; border-top:1px solid #414141; margin-top:26px; padding-top:18px; }
.application-faq h2 { margin:0 0 12px; font-size:21px; }
.application-faq .faq_item { font-size:13px; padding-block:9px; }
.application-faq-photo { clear:both; padding-top:24px; margin:0 -20px -24px; }
.application-faq-photo img { display:block; width:100%; height:auto; }
.casting-reviews p, .casting-reviews h2 { float:none; width:auto; }
.casting-reviews .review-eyebrow, .reviews-dialog .review-eyebrow { margin:0 0 5px; font-size:11px; text-transform:uppercase; letter-spacing:1px; color:#d4a9bd; }
.casting-reviews h2 { font-size:20px; margin:0; color:#fff; line-height:1.3; }
.casting-reviews h2 strong { font-size:36px; color:#f27ab0; font-weight:300; }
.casting-reviews .review-source { font-size:11px; margin:5px 0 17px; color:#aaa; }
.review-slides { display:grid; }
.casting-review-slide { grid-area:1/1; margin:0; min-width:0; }
.review-slides.is-enhanced .casting-review-slide { opacity:0; visibility:hidden; pointer-events:none; transition:opacity .6s ease,visibility 0s .6s; }
.review-slides.is-enhanced .casting-review-slide.is-current { opacity:1; visibility:visible; pointer-events:auto; transition-delay:0s; }
.review-slides.is-enhanced blockquote { height:10.5em; overflow:hidden; display:-webkit-box; -webkit-line-clamp:6; -webkit-box-orient:vertical; }
.casting-review-slide blockquote { margin:0 0 16px; font-size:14px; line-height:1.75; color:#e2e2e2; }
.casting-review-slide figcaption, .review-full figcaption { display:flex; align-items:center; gap:10px; color:#eee; font-size:13px; }
.casting-review-slide img, .review-full img { border-radius:50%; object-fit:cover; object-position:center top; flex:0 0 42px; }
.review-controls { display:flex; align-items:center; justify-content:space-between; gap:8px; margin:12px 0; }
.review-controls button { color:#ddd; border:1px solid #535353; background:transparent; min-width:36px; height:36px; border-radius:3px; cursor:pointer; font-size:16px; }
.review-controls [data-review-pause] { font-size:11px; padding:0 8px; border-color:transparent; }
.review-read-more { display:flex; width:100%; justify-content:space-between; gap:14px; border:1px solid #9c5a77; border-radius:3px; padding:11px 12px; background:transparent; color:#ffd4e7; font-size:13px; cursor:pointer; }
.review-read-more:hover { background:#3a2630; }
.review-library { font-size:13px; margin-top:16px; }
.review-library summary { cursor:pointer; color:#e49fbd; }
.reviews-open { overflow:hidden; }
.reviews-dialog { width:min(760px,calc(100vw - 32px)); max-width:calc(100vw - 32px); max-height:calc(100dvh - 40px); box-sizing:border-box; padding:0; border:1px solid #555; border-radius:6px; background:#202020; color:#ddd; text-align:left; box-shadow:0 16px 80px #0009; }
.reviews-dialog[open] { display:flex; flex-direction:column; }
.reviews-dialog::backdrop { background:#080808d9; }
.reviews-dialog > header { flex-shrink:0; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:20px 24px 12px; }
.reviews-dialog h2 { float:none; width:auto; margin:0; font-size:24px; color:#fff; }
.reviews-dialog .review-eyebrow { float:none; width:auto; }
.reviews-dialog h2 span { color:#f27ab0; }
.reviews-dialog [data-close-dialog] { cursor:pointer; }
.reviews-dialog header button { flex:0 0 40px; height:40px; border:1px solid #666; background:transparent; color:#fff; border-radius:3px; font-size:28px; line-height:1; }
.reviews-dialog .reviews-dialog-intro { float:none; width:auto; margin:0; padding:0 24px 16px; font-size:12px; line-height:1.6; color:#aaa; }
.reviews-dialog-body { overflow-y:auto; overscroll-behavior:contain; padding:0 24px; min-height:0; }
.review-full { padding:20px 0; margin:0; border-top:1px solid #414141; break-inside:avoid; }
.review-full blockquote { margin:10px 0 0; font-size:14px; line-height:1.75; white-space:pre-line; overflow-wrap:anywhere; }
.reviews-dialog footer { padding:14px 24px; border-top:1px solid #414141; }
.reviews-dialog footer button { width:100%; background:#b90055; color:#fff; border:1px solid #e23d87; padding:12px; border-radius:3px; font-size:14px; }
.legal-copy { font-size:14px; line-height:1.75; overflow-wrap:anywhere; }
.legal-copy p, .legal-copy h2, .legal-copy h3 { float:none; width:auto; margin:0 0 16px; }
.legal-copy h2, .legal-copy h3 { font-size:17px; line-height:1.4; margin-top:18px; }
.legal-copy ul, .legal-copy ol { padding-left:22px; }
.legal-copy a { color:#ed9fc1; text-decoration:underline; }
.legal-copy [style="color: rgb(255, 0, 0);"] { color:#ff92ae!important; }
.legal-dialog > header { align-items:flex-start; }
.legal-dialog header h2 { font-size:22px; line-height:1.35; }
.article-modal-copy { font-size:14px; line-height:1.75; overflow-wrap:anywhere; }
.article-modal-copy p, .article-modal-copy h2, .article-modal-copy h3 { float:none; width:auto; margin:0 0 16px; }
.article-modal-copy h2, .article-modal-copy h3 { font-size:18px; line-height:1.4; margin-top:22px; }
.article-modal-copy a { color:#ed9fc1; text-decoration:underline; }
.article-modal-copy ul, .article-modal-copy ol { padding-left:22px; }
.article-modal-cover { float:left; width:110px; margin:0 18px 12px 0; }
.article-modal-copy .article-modal-summary { color:#eee; }
.article-modal-copy .archive-copy { clear:both; }
.article-modal-copy img { max-width:100%; height:auto; }
.article-modal-copy .archive-copy a[data-gallery] { display:block; width:fit-content; max-width:100%; margin:16px 0; cursor:zoom-in; }
.article-modal-copy .archive-copy a[data-gallery] img { display:block; max-height:300px; width:auto; object-fit:contain; }
.article-modal-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:20px 0; }
.article-modal-gallery img { width:100%; height:140px; object-fit:cover; }
.article-dialog > header { align-items:flex-start; }
@media(max-width:1050px) {
 .casting-page .application-box { grid-template-columns:minmax(0,1fr) 270px; }
 .casting-page .application-form { padding:20px; }
 .application-form .form_line_5 { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(max-width:800px) {
 .casting-page .header .head_top { min-height:64px; }
 .casting-page .header .brand-home { max-width:250px; }
 .casting-page .header .mobile-casting-cta { display:none; }
 .casting-page .casting-heading { width:auto; float:none; margin:8px 16px 16px; }
 .casting-heading h1 { font-size:22px; }
 .casting-heading p { font-size:13px; line-height:1.5; }
 .mobile-review-link { display:inline-block; padding:8px 0 0; margin:0; color:#e6b4cb; font-size:12px; background:none; border:0; cursor:pointer; text-decoration:underline; text-underline-offset:3px; }
 .casting-page .application-box { grid-template-columns:1fr; }
 .casting-page .application-form { padding:16px; }
 .application-form .application-intro { margin-bottom:14px; }
 .application-form .form_line_2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .application-form .form_line_3 { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .application-form .form_line_5 { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .application-form [class^="form_line_"] { gap:0 12px; }
 .application-form .form_send { width:100%; min-width:0; font-size:15px; }
 .application-submit { gap:12px; }
 .application-form .form_ssl { width:100%; justify-content:center; }
 .casting-page .application-sidebar { padding:20px 16px; border-left:0; border-top:1px solid #414141; }
 .application-faq-photo { margin:0 -16px -20px; }
 .application-faq-photo img { max-width:295px; margin-left:auto; }
 .casting-review-slide blockquote { font-size:14px; }
 .review-slides.is-enhanced blockquote { height:8.75em; -webkit-line-clamp:5; }
 .reviews-dialog { max-height:calc(100dvh - 24px); }
 .reviews-dialog > header { padding:16px 16px 10px; }
 .reviews-dialog h2 { font-size:21px; }
 .reviews-dialog .reviews-dialog-intro { padding:0 16px 12px; }
 .reviews-dialog-body { padding:0 16px; }
 .reviews-dialog footer { padding:12px 16px; }
 .legal-dialog header h2 { font-size:19px; }
}
@media(prefers-reduced-motion:reduce) {
 .review-slides.is-enhanced .casting-review-slide { transition:none; }
}
@media(max-width:480px) {
 .application-form .form_line_2 { grid-template-columns:1fr; }
}
@media(max-width:480px) {
 .photo-uploads { grid-template-columns:1fr; gap:14px; }
 .photo-upload { padding:12px; }
 .photo-drop { padding:12px; }
}
