/* Audition page presentation. */
.subhero { position: relative; background: var(--deco-hero); color:#fff; padding: clamp(120px,16vh,170px) 0 clamp(50px,7vh,80px); text-align:center; }
.subhero .eyebrow { color: var(--gold); }
.subhero__title { font-family: var(--font-display); font-weight:400; font-size: clamp(2.2rem,5.5vw,4.2rem); line-height:1; margin: 14px 0 16px; text-shadow: 0 4px 0 rgba(0,0,0,0.35); }
.subhero__sub { max-width: 620px; margin: 0 auto; color: rgba(255,255,255,0.82); font-size: clamp(1rem,1.5vw,1.15rem); line-height:1.65; }
.back { position:absolute; left: clamp(20px,5vw,56px); top: 92px; color: rgba(255,255,255,0.75); text-decoration:none; font-size:0.85rem; letter-spacing:0.08em; text-transform:uppercase; font-weight:700; }
.back:hover { color: var(--gold); }
.back { z-index: 2; }
.topbar__tag .dot { background: var(--gold); box-shadow: 0 0 0 0 rgba(217,180,74,0.7); }
.ribbon { background: var(--teal-deep); border-top: 3px solid var(--gold); color: rgba(255,255,255,0.85); }
.ribbon .wrap { display:flex; flex-wrap:wrap; justify-content:center; gap: 10px 22px; padding: 14px clamp(20px,5vw,56px); font-size: clamp(0.82rem,1.2vw,0.95rem); }
.ribbon b { color: var(--gold); text-transform:uppercase; font-size:0.78em; letter-spacing:0.12em; margin-right:6px; }
.formpage { background: var(--ivory); padding: clamp(50px,8vh,90px) 0 clamp(70px,10vh,120px); min-height: 50vh; }
.form-grid { display:grid; grid-template-columns: minmax(0,1fr) 300px; gap: clamp(24px,3.5vw,44px); align-items:start; }
@media (max-width: 900px) { .form-grid { grid-template-columns: 1fr; } .form-aside { position: static !important; order:-1; } }
.fieldset { background:#fff; border:1px solid rgba(69,83,175,0.12); border-radius:12px; padding: clamp(24px,3.5vw,36px); margin-bottom: 22px; box-shadow: 0 3px 14px rgba(19,70,83,0.08); }
.legend { display:flex; align-items:center; gap:12px; font-family: var(--font-display); font-weight:400; font-size: clamp(1.1rem,1.8vw,1.35rem); color: var(--deco-deep); margin: 0 0 6px; }
.legend .opt { font-family: var(--font-sans); font-size:0.78rem; color: rgba(76,76,76,0.6); font-weight:600; }
.step-no { display:inline-flex; align-items:center; justify-content:center; width:32px; height:32px; border-radius:50%; background: var(--deco); color: var(--gold); font-family: var(--font-display); font-size:0.95rem; flex-shrink:0; }
.fs-desc { font-size:0.9rem; color: rgba(76,76,76,0.75); line-height:1.6; margin: 0 0 22px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-bottom:18px; }
.form-row.single { grid-template-columns:1fr; }
@media (max-width: 640px) { .form-row { grid-template-columns:1fr; } }
.form-field { display:flex; flex-direction:column; gap:6px; }
.form-label { font-weight:600; font-size:0.82rem; text-transform:uppercase; letter-spacing:0.1em; color: var(--deco-deep); }
.req { color: var(--deco); margin-left:2px; }
.form-hint { font-size:0.78rem; color: rgba(76,76,76,0.65); line-height:1.5; margin:-2px 0 0; }
.form-input, .form-textarea { font-family: inherit; font-size:1rem; color: var(--clt-gray,#4C4C4C); background:#fff; border:1.5px solid rgba(69,83,175,0.22); border-radius:7px; padding:11px 14px; outline:none; width:100%; transition: border-color .2s, box-shadow .2s; }
.form-input:focus, .form-textarea:focus { border-color: var(--deco); box-shadow: 0 0 0 3px rgba(69,83,175,0.12); }
.form-input.error, .form-textarea.error { border-color: var(--deco); box-shadow: 0 0 0 3px rgba(178,34,52,0.12); }
.form-textarea { resize:vertical; min-height:88px; }
.form-error-msg { display:none; font-size:0.78rem; color: var(--deco); font-weight:600; }
.form-error-msg.visible { display:block; }
.choice-row { display:flex; flex-wrap:wrap; gap:10px; }
.choice { display:flex; align-items:flex-start; gap:10px; background: rgba(69,83,175,0.03); border:1.5px solid rgba(69,83,175,0.16); border-radius:8px; padding:12px 16px; cursor:pointer; font-size:0.92rem; line-height:1.45; color: var(--clt-gray,#4C4C4C); transition: border-color .2s, background .2s; }
.choice:hover { border-color: rgba(69,83,175,0.4); }
.choice:has(input:checked) { border-color: var(--deco); background: rgba(69,83,175,0.06); }
.choice input { accent-color: var(--deco); width:17px; height:17px; margin-top:2px; flex-shrink:0; cursor:pointer; }
.choice b { color: var(--deco-deep); }
.choice small { display:block; color: rgba(76,76,76,0.65); font-size:0.8rem; margin-top:2px; }
.slot-day { margin-bottom: 14px; }
.slot-day__name { font-weight:700; color: var(--deco-deep); font-size:0.95rem; margin: 0 0 8px; }
.slot-day__note { font-weight:400; font-size:0.8rem; color: rgba(76,76,76,0.7); margin-left: 6px; }
.slot-grid { display:grid; grid-template-columns: repeat(auto-fill, minmax(150px,1fr)); gap: 8px; }
.slot { display:flex; flex-direction:column; gap:2px; background: rgba(69,83,175,0.03); border:1.5px solid rgba(69,83,175,0.18); border-radius:8px; padding:10px 12px; cursor:pointer; font-size:0.92rem; line-height:1.35; color: var(--clt-gray,#4C4C4C); transition: border-color .2s, background .2s; }
.slot:hover { border-color: rgba(69,83,175,0.5); }
.slot:has(input:checked) { border-color: var(--deco); background: rgba(69,83,175,0.07); }
.slot input { position:absolute; opacity:0; width:0; height:0; }
.slot b { color: var(--deco-deep); font-size:1rem; }
.slot small { font-size:0.76rem; color: rgba(76,76,76,0.7); }
.slot.full, .slot.locked { cursor:not-allowed; background: rgba(76,76,76,0.05); border-style:dashed; }
.slot.full b, .slot.locked b { color: rgba(76,76,76,0.55); }
.slot.full small { color: var(--deco); font-weight:600; }
.slot.locked small { color: rgba(76,76,76,0.6); }
.slot.open small.spots { color: #2f6b3a; font-weight:600; }
.check-group { display:grid; grid-template-columns: repeat(auto-fill, minmax(200px,1fr)); gap: 8px 18px; }
.check-item { display:flex; align-items:flex-start; gap:10px; cursor:pointer; font-size:0.95rem; color: var(--clt-gray,#4C4C4C); line-height:1.45; }
.check-row { display:flex; align-items:flex-start; gap:8px; }
.check-row .check-item { flex:1 1 auto; }
.role-link { font-size:0.74rem; color: var(--deco); text-decoration: underline dotted; white-space:nowrap; margin-top:4px; }
.role-link:hover { color: var(--deco-deep); }
.check-item input { flex-shrink:0; width:18px; height:18px; margin-top:2px; accent-color: var(--deco); cursor:pointer; }
.file-area { display:flex; align-items:center; gap:14px; padding:14px 18px; background:#fff; border:1.5px dashed rgba(69,83,175,0.28); border-radius:8px; cursor:pointer; }
.file-area:hover { border-color: var(--deco); }
.file-area input { display:none; }
.file-area strong { display:block; color: var(--deco-deep); }
.file-area .txt { font-size:0.88rem; color: var(--clt-gray,#4C4C4C); line-height:1.45; }
.file-name { display:block; font-size:0.82rem; color: var(--deco); font-weight:600; margin-top:4px; }
.submit-row { display:flex; flex-direction:column; align-items:center; gap:14px; padding-top: 10px; }
.submit-btn { font-family: inherit; font-weight:700; font-size: clamp(0.95rem,1.4vw,1.05rem); letter-spacing:0.02em; background: var(--gold); color: var(--teal-deep); border:none; border-radius:999px; padding:16px 40px; cursor:pointer; min-width:260px; box-shadow: 0 8px 24px rgba(176,142,52,0.35); transition: transform .3s, box-shadow .3s; }
.submit-btn:hover { transform: translateY(-2px); box-shadow: 0 14px 32px rgba(176,142,52,0.45); }
.submit-btn:disabled { opacity:.5; cursor:default; transform:none; }
.form-status { width:100%; max-width:560px; text-align:center; font-size:0.92rem; line-height:1.55; border-radius:10px; padding:12px 16px; margin:0; }
.form-status[hidden] { display:none; }
.form-status.busy { background: rgba(176,142,52,0.12); border:1px solid rgba(176,142,52,0.5); color: var(--clt-gray,#4C4C4C); }
.form-status.error { background: rgba(69,83,175,0.10); border:1px solid rgba(69,83,175,0.45); color: var(--deco-deep); font-weight:600; }
.form-privacy { font-size:0.78rem; color: rgba(76,76,76,0.6); text-align:center; line-height:1.6; max-width:44ch; margin:0; }
.form-aside { display:flex; flex-direction:column; gap:16px; position:sticky; top:92px; }
.aside-card { background:#fff; border:1px solid rgba(69,83,175,0.13); border-radius:12px; padding:22px 22px 20px; box-shadow: 0 3px 14px rgba(19,70,83,0.08); }
.aside-card.maroon { background: linear-gradient(165deg, var(--midnight), var(--midnight-deep)); border:none; color: rgba(255,255,255,0.85); }
.aside-card h4 { font-family: var(--font-display); font-weight:400; font-size:1.05rem; color: var(--deco-deep); margin:0 0 14px; }
.aside-card.maroon h4 { color: var(--gold); }
.aside-card ul { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:12px; }
.aside-card li { display:flex; gap:10px; align-items:flex-start; font-size:0.86rem; line-height:1.5; }
.aside-card li::before { content:''; width:6px; height:6px; border-radius:50%; background: var(--gold); flex-shrink:0; margin-top:7px; }
.aside-card .a-date { font-weight:700; color: #fff; }
.aside-card:not(.maroon) .a-date { color: var(--deco-deep); }
.aside-card a { color: var(--gold); }
.aside-card:not(.maroon) a { color: var(--deco-deep); }
.notice { display:flex; gap:12px; align-items:flex-start; background: rgba(176,142,52,0.12); border:1px solid rgba(176,142,52,0.5); border-radius:10px; padding:16px 20px; font-size:0.92rem; line-height:1.6; color: var(--clt-gray,#4C4C4C); margin-bottom: 26px; }
.notice::before { content:''; width:8px; height:8px; border-radius:50%; background: var(--gold); flex-shrink:0; margin-top:7px; }
.state-card { text-align:center; max-width:560px; margin:0 auto; padding: clamp(40px,8vh,80px) 20px; display:flex; flex-direction:column; align-items:center; gap:20px; }
.state-card__icon { width:72px; height:72px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:1.8rem; background: rgba(176,142,52,0.14); color: var(--deco-deep); }
.state-card__head { font-family: var(--font-display); font-weight:400; font-size: clamp(1.5rem,3vw,2.2rem); color: var(--deco-deep); margin:0; line-height:1.1; }
.state-card__sub { font-size: clamp(0.95rem,1.4vw,1.08rem); color: var(--clt-gray,#4C4C4C); line-height:1.65; margin:0; max-width:46ch; }
.state-card .mini-cd { margin-top: 6px; }
.state-card .mini-cd__unit { background: rgba(176,142,52,0.1); border-color: rgba(176,142,52,0.4); }
.state-card .mini-cd__num { color: var(--deco-deep); }
.state-card .mini-cd__lab, .state-card .mini-cd__cap { color: var(--teal-mid); }
.state-card .teaser__ctas { justify-content:center; margin-top: 6px; }
.state-card .teaser-btn.secondary { color: var(--deco-deep); border-color: rgba(69,83,175,0.4); }
.success { display:none; flex-direction:column; align-items:center; text-align:center; gap:20px; padding: clamp(40px,8vh,80px) 20px; max-width:560px; margin:0 auto; }
.success.visible { display:flex; }
.success-icon { width:88px; height:88px; border-radius:50%; background: radial-gradient(circle at 36% 30%, #EED9A0, var(--gold) 55%, #8f6a1c); display:flex; align-items:center; justify-content:center; font-size:2.4rem; color: var(--teal-deep); box-shadow: 0 12px 32px rgba(176,142,52,0.4); }
.success-head { font-family: var(--font-script); font-size: clamp(2rem,5vw,3rem); color: var(--deco-deep); margin:0; line-height:1; }
.success-body { font-size: clamp(0.95rem,1.4vw,1.05rem); color: var(--clt-gray,#4C4C4C); line-height:1.7; max-width:42ch; margin:0; }
.recap { width:100%; max-width:440px; margin:0; display:grid; grid-template-columns:auto 1fr; gap:8px 18px; text-align:left; background: rgba(69,83,175,0.04); border:1px solid rgba(69,83,175,0.12); border-radius:10px; padding:18px 22px; font-size:0.9rem; }
.recap dt { font-weight:700; color: var(--deco-deep); text-transform:uppercase; font-size:0.72rem; letter-spacing:0.1em; align-self:center; }
.recap dd { margin:0; color: var(--clt-gray,#4C4C4C); }
.footer--slim .footer__inner { padding-top: 60px; padding-bottom: 50px; }
