/* SOPRANO CLUB — shared inner-page finish. Base layouts stay in styles.css. */
body { --panel:#191e20; --panel2:#23292b; --field-bg:#1b2224; --field-border:#72766f; --placeholder:#aeb2ae; --header-height:72px; }
body .site-header { padding-top:calc(.4375rem + env(safe-area-inset-top,0px)); }
body .site-header.is-scrolled { background:rgba(16,20,22,.97); }
.skip-link { position:fixed; z-index:100; left:1rem; top:1rem; transform:translateY(-160%); padding:.7rem 1rem; color:#182023; background:#e1d0b6; }
.skip-link:focus { transform:none; }
body .nav a { font-size:.78rem; }
body .lang-menu { border-radius:2px; }
body:not([data-page="home"]) .inner-page { padding-top:clamp(2rem,5vw,4.5rem); }
body .page-hero { max-width:850px; margin-bottom:2.5rem; }
body .page-hero h1, body .contact-intro h1, body .legal-page > h1 { font-family:Georgia,'Times New Roman',serif; font-size:clamp(2.5rem,5vw,4.5rem); font-weight:400; line-height:1.14; letter-spacing:-.025em; margin:.75rem 0 1.3rem; }
body .page-hero p:not(.eyebrow), body .contact-intro > p:not(.eyebrow) { font-size:.94rem; line-height:1.9; max-width:62ch; }
body :is(.search-field,input:not([type="radio"]):not([type="checkbox"]),textarea,select) { border-radius:2px; }
body input:focus-visible, body textarea:focus-visible, body select:focus-visible { outline-width:1px; }
.collection-caption { display:flex; justify-content:space-between; align-items:center; gap:1rem; padding-top:1.3rem; margin-bottom:1rem; border-top:1px solid var(--line); font-size:.62rem; color:var(--muted); letter-spacing:.14em; }
body .filters { gap:1rem; margin-bottom:2rem; }
body .filters select { color-scheme:dark; font-size:.85rem; }
body .all-castings { gap:1.7rem; }
body .all-castings .card-media img { aspect-ratio:16/9; }
body .all-castings .casting-card h3 { margin-bottom:1.2rem; font-size:1.45rem; }
.empty-results { padding:3rem 1.5rem; text-align:center; border:1px solid var(--line); }
.empty-results h2 { font-family:Georgia,serif; font-size:1.8rem; font-weight:400; }
.empty-results p { color:var(--muted); }
body .notice { font-size:.77rem; line-height:1.8; }
body .destination-card, body .detail-layout, body .contact-form-wrap, body .geography-dialog {
 color-scheme:dark; --panel:#191e20; --panel2:#252c2d; --text:#eeeae3; --muted:#b5b9b9; --accent:#d2b995; --accent-hover:#eedcc0; --line:rgba(214,202,184,.2); --field-bg:#151b1d; --field-border:#72766f; --placeholder:#aeb2ae; --primary-bg:#e1d0b6; --primary-hover:#eee1cc; --primary-text:#182023; --error:#ffb9ad; --success:#b1e2cc;
}
body .destination-grid { gap:2rem; }
body .destination-card { padding:0; overflow:hidden; border-radius:2px; }
body .destination-card .card-media { margin:0; border-radius:0; }
body .destination-card .card-media img { aspect-ratio:16/10; }
.destination-body { padding:1.5rem; }
body .destination-body h2 { font-family:Georgia,serif; font-size:2rem; margin:.35rem 0 .7rem; }
body .destination-body .eyebrow { color:var(--accent); font-size:.6rem; }
body .destination-body p { line-height:1.85; font-size:.86rem; }
body .destination-body .text-link { font-size:.76rem; }
@media(hover:hover) and (pointer:fine) { .destination-card:hover .photo-mono, .detail-layout:hover .photo-mono, .quiz-role-choice:hover .photo-mono { opacity:0; } }
.destination-card:focus-within .photo-mono, .quiz-role-choice:focus-within .photo-mono, .quiz-role-choice:has(input:checked) .photo-mono { opacity:0; }
.quiet-cta { display:flex; justify-content:space-between; align-items:center; gap:2rem; padding:2.5rem 0 .5rem; margin-top:2rem; border-top:1px solid var(--line); }
.quiet-cta h2 { font:400 clamp(1.4rem,2.5vw,2rem)/1.4 Georgia,serif; margin:0 0 .6rem; }
.quiet-cta p { color:var(--muted); font-size:.85rem; margin:0; }
body .detail-page { max-width:1200px; }
body .detail-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); padding:0; border-radius:2px; overflow:hidden; }
body .detail-media { margin:0; border-radius:0; background:#222729; min-height:550px; }
body .detail-media img { height:100%; min-height:550px; aspect-ratio:auto; object-fit:cover; }
body .detail-copy { padding:clamp(1.5rem,3vw,2.5rem); }
body .detail-copy h1 { font:400 clamp(1.8rem,3.2vw,2.7rem)/1.22 Georgia,serif; margin-bottom:1.3rem; }
body .detail-copy > p:not(.eyebrow) { font-size:.88rem; line-height:1.85; }
body .detail-copy > p.small { font-size:.72rem; }
body .detail-facts { margin-block:1.7rem; }
body .detail-facts > div { font-size:.8rem; padding-block:.85rem; }
body .detail-copy .button { width:100%; }
.detail-media-caption { margin:.75rem 0 0; font-size:.7rem; color:var(--muted); }
.participation-steps { padding-top:3rem; }
.participation-steps > div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2rem; margin-top:1.5rem; }
.participation-steps article { border-top:1px solid var(--line); padding-top:1rem; }
.participation-steps article > span { color:var(--accent); font-size:.65rem; }
.participation-steps h2 { font:400 1.25rem/1.4 Georgia,serif; margin:.75rem 0; }
.participation-steps p { font-size:.83rem; color:var(--muted); line-height:1.8; }
body .contact-layout { max-width:1200px; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:clamp(2rem,6vw,5rem); }
body .contact-form-wrap { border-radius:2px; padding:2rem; }
body .contact-form-wrap h2 { font:400 1.85rem/1.35 Georgia,serif; }
body .contact-form { gap:1.2rem; }
.contact-availability { margin-top:1.8rem; padding-block:1.2rem; border-block:1px solid var(--line); }
.contact-availability p { margin:0 0 .3rem; font-size:.9rem; }
.contact-photo { margin-top:1.5rem; overflow:hidden; }
.contact-photo img { width:100%; aspect-ratio:16/8; object-fit:cover; filter:grayscale(1); }
body .contact-form .consent { font-size:.75rem; }
body .quiz-shell { max-width:1200px; margin-inline:auto; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:stretch; gap:0; padding:3rem var(--edge-right) 3rem var(--edge-left); }
.application-intro { position:relative; overflow:hidden; isolation:isolate; min-height:610px; }
.application-photo, .application-photo::after { position:absolute; inset:0; z-index:-1; }
.application-photo img { width:100%; height:100%; object-fit:cover; object-position:58% center; filter:grayscale(1); }
.responsive-photo { display:block; width:100%; height:100%; }
.application-photo::after { content:""; background:linear-gradient(180deg,rgba(10,16,19,.12) 5%,rgba(10,16,19,.55) 45%,rgba(10,16,19,.95)); z-index:1; }
.application-intro-copy { padding:2.5rem; display:flex; flex-direction:column; justify-content:flex-end; height:100%; }
.application-intro-copy h2 { font:400 clamp(2rem,3.2vw,2.8rem)/1.25 Georgia,serif; max-width:15ch; margin:.7rem 0 1rem; }
.application-intro-copy p:not(.eyebrow) { font-size:.87rem; line-height:1.85; color:#deded7; max-width:36ch; }
.application-intro-copy > span { font-size:.65rem; letter-spacing:.1em; color:var(--accent); margin-top:1rem; }
body .quiz-card { --panel:#e7dfd2; --panel2:#f5eee3; --text:#222b2d; --muted:#59615e; --accent:#6e5636; --accent-hover:#49371f; --line:rgba(60,52,40,.2); --field-bg:#f5eee3; --field-border:#8b8c7d; --placeholder:#6b716b; --primary-bg:#243033; --primary-hover:#354245; --primary-text:#f6eee0; --error:#973832; --success:#2c624c; max-width:none; border-radius:0; padding:2rem 2.5rem; box-shadow:none; border-color:transparent; }
body.quiz-page .quiz-question { font-family:Georgia,serif; font-size:clamp(1.5rem,2.2vw,2rem); line-height:1.3; }
body .quiz-choice, body .quiz-input-prefix, body.quiz-page .quiz-card input:not([type="radio"]):not([type="checkbox"]), body.quiz-page .quiz-card textarea, body.quiz-page .quiz-next { border-radius:2px; }
body .quiz-choice:has(input:checked) { background:#d9cfbd; }
body .quiz-role-choice { padding-top:0; }
.role-photo { display:block; grid-column:1/-1; width:calc(100% + 1.5rem); margin-inline:-.75rem; overflow:hidden; aspect-ratio:4/3; }
body .quiz-role-choice .role-photo img { width:100%; height:100%; margin:0; aspect-ratio:4/3; object-fit:cover; }
body .quiz-card .photo-mono { margin:0; }
body .legal-page { max-width:1200px; padding-top:clamp(2rem,5vw,4.5rem); }
body .legal-page > .muted { max-width:70ch; line-height:1.85; }
.document-status { display:inline-flex; align-items:center; gap:.6rem; color:var(--accent); font-size:.74rem; margin:1rem 0 2rem; }
.status-dot { width:5px; height:5px; border-radius:50%; background:var(--accent); }
.document-layout { display:grid; grid-template-columns:240px minmax(0,1fr); gap:3rem; margin-top:2rem; align-items:start; }
.document-nav { display:grid; position:sticky; top:100px; }
.document-nav a { padding:.7rem 0; border-bottom:1px solid var(--line); color:var(--muted); font-size:.78rem; line-height:1.6; }
.document-nav a:hover { color:var(--accent); }
body .legal-copy { --panel:#e7dfd2; --text:#222b2d; --muted:#535d59; --accent:#6e5636; --accent-hover:#49371f; --line:rgba(60,52,40,.2); --primary-bg:#243033; --primary-hover:#354245; --primary-text:#f6eee0; margin:0; padding:clamp(1.5rem,4vw,3rem); border-radius:2px; }
body .legal-copy h2 { font:400 1.5rem/1.4 Georgia,serif; scroll-margin-top:100px; margin-top:2rem; }
body .legal-copy h2:first-child { margin-top:0; }
body .legal-copy p, body .legal-copy li { font-size:.88rem; line-height:1.9; }
.standards-list { list-style:none; counter-reset:standards; padding:0!important; }
.standards-list li { position:relative; counter-increment:standards; padding:1rem 0 1rem 2rem; margin:0!important; border-bottom:1px solid var(--line); }
.standards-list li::before { content:counter(standards,decimal-leading-zero); position:absolute; left:0; top:1.1rem; color:var(--accent); font-size:.65rem; }
body .geography-dialog { border-radius:2px; }
body .geography-countries li.is-selected { background:#32372f; }
@media(max-width:900px) {
 body .contact-layout { grid-template-columns:1fr; gap:2rem; }
 .contact-photo { display:none; }
 body .quiz-shell { grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); }
 body .quiz-card { padding:1.5rem; }
 .application-intro-copy { padding:1.5rem; }
 .document-layout { grid-template-columns:180px minmax(0,1fr); gap:1.5rem; }
}
@media(max-width:700px) {
 body .detail-layout { grid-template-columns:1fr; }
 body .detail-media { min-height:0; }
 body .detail-media img { height:auto; min-height:0; aspect-ratio:16/10; }
 body .quiz-shell { grid-template-columns:1fr; padding-block:1.5rem; gap:1.5rem; }
 .application-intro { min-height:0; }
 .application-photo { display:none; }
 .application-intro-copy { padding:0; }
 .application-intro-copy h2 { font-size:1.9rem; max-width:24ch; margin:0 0 .5rem; }
 .application-intro-copy p:not(.eyebrow) { margin-bottom:.5rem; max-width:45ch; }
 .application-intro-copy > span { margin:.2rem 0 0; }
 .application-intro-copy .eyebrow { font-size:.55rem; }
 body .quiz-card { padding:1.25rem; }
 body .contact-form-wrap { padding:1.25rem; }
 .quiet-cta { flex-direction:column; align-items:flex-start; }
 .participation-steps > div { grid-template-columns:1fr; gap:.75rem; }
 .participation-steps h2 { margin:.4rem 0; }
 .document-layout { grid-template-columns:1fr; }
 .document-nav { position:static; grid-template-columns:1fr 1fr; column-gap:1rem; }
 .document-nav .eyebrow { grid-column:1/-1; }
 body .legal-copy { padding:1.4rem; }
}
@media(max-width:400px) { .document-nav { grid-template-columns:1fr; } .collection-caption { letter-spacing:.06em; } }
.contact-photo img { height:auto; }
.contact-layout { align-items:start; }
.application-context { margin:0 0 .75rem; padding-bottom:.75rem; border-bottom:1px solid var(--line); }
/* Keep long localized headings inside narrow screens. */
body .legal-page h1 { overflow-wrap:anywhere; }
@media(max-width:480px) { body .legal-page h1 { font-size:clamp(1.6rem,7.4vw,2.2rem); } }
