/* Isolated styles for the filmmaking article and readable script pages. */
html body.film-resource-page { background:#080808; color:#eee; padding:0 20px 32px; }
.film-resource-page * { box-sizing:border-box; }
.resource-shell { width:min(100%,960px); margin:0 auto; }
.resource-topbar,.resource-actions { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; padding:20px 0; }
.resource-topbar a,.resource-actions a,.habit-nav a,.page-jump a { text-decoration:none; border:1px solid #66531c; border-radius:5px; padding:8px 12px; }
.film-resource-page a:focus-visible,.film-resource-page summary:focus-visible { outline:2px solid #ffcc00; outline-offset:4px; }
.resource-header { max-width:850px; margin:12px auto 24px; }
html body.film-resource-page .resource-kicker { color:#ffcc00; font-size:.8rem; letter-spacing:.16em; text-transform:uppercase; margin:12px auto !important; }
html body.film-resource-page h1 { font-size:clamp(1.65rem,4vw,2.6rem); line-height:1.18; text-wrap:balance; color:#fff; margin:16px 0 !important; }
html body.film-resource-page .resource-meta,html body.film-resource-page .archive-note { max-width:760px; color:#bbb; font-size:.9rem; line-height:1.65; margin:14px auto !important; }
.archive-note { padding:12px 16px; border-left:3px solid #ffcc00; background:#161616; }
.article-hero { max-width:800px; margin:20px auto 28px; }
.article-hero img { display:block; width:100%; height:auto; border-radius:8px; }
.article-copy { max-width:760px; margin:0 auto; text-align:left; }
html body.film-resource-page .article-copy p { max-width:none; text-align:left; line-height:1.8; font-size:1rem; margin:16px 0 !important; color:#eee; }
.article-intro { font-size:1.05rem; }
.habit-nav { padding:20px; margin:28px 0; border:1px solid #41391f; border-radius:8px; background:#141414; }
.habit-nav ol { list-style:none; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.habit-nav a { display:block; height:100%; line-height:1.45; }
.habit-section { padding:24px 0 8px; border-top:1px solid #36301d; scroll-margin-top:24px; }
html body.film-resource-page .habit-section h2 { font-size:clamp(1.3rem,3vw,1.65rem); line-height:1.3; color:#ffcc00; text-align:left; margin:8px 0 20px !important; }
.article-photo { margin:24px 0 28px; }
.article-photo img { display:block; width:100%; height:auto; }
.article-photo figcaption { padding-top:10px; color:#b7b7b7; font-size:.82rem; line-height:1.6; text-align:left; }
.article-copy a { display:inline; }
.article-copy blockquote { border-left:3px solid #ffcc00; padding-left:20px; margin:20px 0; }
.resource-footer { border-top:1px solid #36301d; margin-top:28px; padding-top:12px; }
.resource-footer p { max-width:none; }
.page-jump { max-width:900px; margin:16px auto 24px; text-align:left; border:1px solid #443b21; border-radius:7px; padding:14px; }
.page-jump summary { color:#ffcc00; cursor:pointer; font-weight:bold; }
.page-jump nav { display:grid; grid-template-columns:repeat(auto-fit,minmax(85px,1fr)); gap:8px; margin-top:15px; }
.page-jump a { text-align:center; font-size:.9rem; }
.script-page { max-width:900px; margin:24px auto; padding:24px clamp(16px,5vw,48px) 32px; background:#faf9f5; color:#222; border:1px solid #d8d5cb; border-radius:6px; box-shadow:0 8px 30px #0005; scroll-margin-top:18px; }
html body.film-resource-page .script-page h2 { font-family:'Inter',Arial,sans-serif; font-size:.82rem; color:#655c42; letter-spacing:.06em; text-align:left; text-transform:uppercase; border-bottom:1px solid #ddd8c8; padding-bottom:12px; margin:0 0 24px !important; }
html body.film-resource-page .script-page p { font-family:'Courier New',Courier,monospace; font-size:1rem; line-height:1.65; color:#222; text-align:left; max-width:none; margin:14px 0 !important; overflow-wrap:break-word; }
html body.film-resource-page .script-page .script-dialogue { max-width:42ch; margin:10px auto 20px !important; }
html body.film-resource-page .script-page .script-cue { text-align:center; font-weight:bold; margin:20px 0 8px !important; }
html body.film-resource-page .script-page .script-scene { font-weight:bold; margin-top:26px !important; }
html body.film-resource-page .script-cover p { text-align:center; }
html body.film-resource-page .script-page .source-page-number { text-align:right; font-size:.8rem; color:#777; margin:22px 0 0 !important; }
.script-illustration { margin:18px auto; max-width:300px; }
.script-illustration img { display:block; max-width:100%; width:auto; height:auto; margin:0 auto !important; border-radius:0; }
.zip-logo { display:block; width:180px; max-width:60%; height:auto; margin:10px auto 24px !important; }
.zip-product { display:block; width:280px; max-width:100%; height:auto; margin:24px auto !important; }
.budget-table { border-collapse:collapse; width:100%; color:#222; text-align:left; font-size:.95rem; line-height:1.6; }
.budget-table th,.budget-table td { padding:8px 10px; border-bottom:1px solid #e1ddcf; }
.budget-table td:last-child { text-align:right; white-space:nowrap; }
.budget-table .budget-section th { padding-top:22px; color:#655124; }
.budget-table .budget-total td { font-weight:bold; border-top:2px solid #655124; }
.resource-skip { position:absolute; left:-10000px; top:8px; }
.resource-skip:focus { position:fixed; left:8px; z-index:100; padding:12px; background:#000; }
@media(max-width:600px) {
 html body.film-resource-page { padding-inline:12px !important; }
 .habit-nav ol { grid-template-columns:1fr; }
 .habit-nav { padding:14px; }
 .script-page { padding:20px 14px; }
 html body.film-resource-page .script-page p { font-size:.95rem; }
 .resource-topbar,.resource-actions { gap:8px; }
 .resource-topbar a,.resource-actions a { font-size:.88rem; }
}
@media print {
 html,html body.film-resource-page { background:#fff !important; color:#000 !important; padding:0 !important; }
 .resource-topbar,.resource-actions,.page-jump,.resource-footer,.habit-nav,.resource-skip { display:none !important; }
 .script-page { box-shadow:none; border:0; border-radius:0; break-before:page; margin:0; }
 .script-page:first-of-type { break-before:auto; }
 html body.film-resource-page :is(h1,h2,p,a),html body.film-resource-page .article-copy p { color:#000 !important; }
 .article-photo,.script-illustration { break-inside:avoid; }
}
