/* Consolidated November brief: readable type and calm, explicit controls. */
body { font-size:18px; }
.page-content p, .page-content .paper p, .page-content .director-note p,
.page-content .production-copy li, .page-content .faq-answer li,
.page-content .benefits li, .page-content .benefits p { font-size:18px; line-height:1.75; }
.page-content p, .page-content li { overflow-wrap:break-word; }
.page-content .lead-copy, .page-content .director-note, .page-content .people-copy,
.page-content .faq-answer, .page-content .production-copy { max-width:65ch; }
.page-content .people-copy p { margin-bottom:20px; }
.page-content .people-intro .people-copy p, .page-content .teaser-placeholder p { font-size:18px; line-height:1.75; }
.page-content .director-signature span { font-size:14px; line-height:1.6; }
.page-content .section-lead .media-status { font-size:14px; line-height:1.6; }
.page-content .faqs summary { font-size:20px; line-height:1.5; min-height:64px; padding:20px 0; gap:18px; }
.page-content .faqs p, .page-content .faq-answer p { font-size:18px; }
.page-content .person-profile p { font:14px/1.6 var(--body); color:#c4ceb7; }
.credit-group .person-profile h4 { font-size:27px; line-height:1.25; overflow-wrap:normal; }
.credit-group .text-profile { align-self:stretch; padding:24px 0; }
.page-content .section-lead .eyebrow, .page-content .section-lead .story-credit,
.page-content .sequence-title, .page-content .section-lead .lead-note,
.page-media figcaption, .page-content .section-lead .page-media figcaption,
.team-photograph figcaption, .page-content .director-signature,
.page-content .credits dd, .page-content .donation-form > .small-print,
.page-content .donation-form > .availability, .page-content .donation-form .custom-label,
.page-content .donation-form .amount-help, .page-content .donation-form .payment-caption,
.page-bottom .page-bottom-label, .page-bottom .section-link small,
.page-top .mono, .page-top p, .room-brand-name, .room-title .eyebrow,
.room-load-status, #teaser-status, .page-content .media-status,
#photo-dialog #photo-caption, #photo-status, .gallery-hint { font-size:14px; line-height:1.6; letter-spacing:.03em; }
.page-top { gap:20px; min-height:80px; }
.page-top p { margin-top:5px; }
.page-top > button, .page-index > summary, .room-index > summary,
.room-index nav > a, .room-index nav > button, .page-index nav > a,
.home-teaser-link, .production-brands .mobile-teaser-link,
.page-bottom .section-link strong, .gallery-mode-control,
.page-content .support-details > summary { font-size:16px; line-height:1.4; min-height:48px; }
.page-bottom .section-link { min-height:64px; }
.page-content .amount-presets button, .page-content .dark-button { font-size:18px; }
.page-content .donation-form .donation-label { font-size:30px; line-height:1.2; }
.page-content .donation-heading p { font-size:18px; }
.dialog-body p, .dialog-body #checkout-message, .dialog-body a { font-size:18px; line-height:1.6; }
.dialog-heading .mono, .dialog-heading > span { font-size:14px; line-height:1.5; }
.dialog-body button, .dialog-body label { font-size:16px; min-height:48px; }
button, a, summary { touch-action:manipulation; }
button:focus-visible, a:focus-visible, summary:focus-visible { outline:3px solid #a4e0e5; outline-offset:3px; }
.page-cycle { flex-shrink:0; padding:10px 24px; border-bottom:1px solid #536647; background:#142018; }
.page-cycle a { display:inline-flex; gap:14px; align-items:center; min-height:48px; padding:8px 16px; color:#f4f0d8; background:#35462f; border:1px solid #9ead83; border-bottom-width:3px; border-radius:4px; font-size:18px; line-height:1.4; text-decoration:none; }
.page-cycle a:hover { background:#465b3c; }
.page-cycle a:active { transform:translateY(1px); border-bottom-width:1px; }
.page-cycle-arrow { font-size:30px; line-height:1; }
.page-content .budget-panel { padding:28px 24px; }
.budget-labels { display:grid; grid-template-columns:40% 60%; align-items:end; color:#eee9d2; }
.budget-labels > div { min-width:0; padding-right:14px; }
.budget-labels > div:last-child { padding:0 0 0 14px; border-left:1px solid #75876b; }
.budget-labels span { display:block; font:14px/1.5 var(--mono); letter-spacing:.02em; }
.budget-labels strong { display:block; margin-top:10px; font:500 24px/1.4 var(--body); }
.page-content .budget-track { display:flex; margin:14px 0 18px; height:28px; background:none; overflow:hidden; }
.page-content .budget-track > span { width:40%; background:#62b9d5; border:0; }
.page-content .budget-track > i { position:static; display:block; width:60%; height:100%; background:#db9b50; border:0; }
.page-content .budget-note { font-size:16px; line-height:1.6; }
.clean-video-player { width:100%; background:#050907; }
.clean-video-player video { display:block; width:100%; object-fit:contain; }
.teaser-section .clean-video-player { max-width:1000px; }
.page-content .section-lead .page-media { max-width:390px; }
.page-content .photo-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.gallery-mode-control { font-size:16px; white-space:normal; }
.gallery-open { overflow:hidden; }
.gallery-open .page-content { overflow:hidden; }
#photo-dialog { width:min(1500px,calc(100vw - 24px)); max-width:none; max-height:calc(100dvh - 24px); }
#photo-dialog .gallery-stage { display:grid; grid-template-columns:64px minmax(0,1fr) 64px; align-items:center; }
#photo-dialog .gallery-stage figure { min-width:0; padding:12px 0 0; }
#photo-dialog .gallery-arrow { display:flex; align-items:center; justify-content:center; width:48px; height:64px; min-width:0; margin:0 auto; padding:0; border:1px solid #b5c197; background:#35462f; color:#fff8dc; font:30px/1 var(--body); cursor:pointer; }
#photo-dialog #photo-image { height:min(58dvh,780px); width:100%; object-fit:contain; }
#photo-dialog .photo-actions { font-size:16px; line-height:1.5; padding:12px 18px 18px; }
#photo-thumbnails button { min-height:72px; }
#photo-thumbnails button img { width:88px; height:64px; }
#photo-status { margin:4px 18px; }
@media (max-width:1050px), (max-height:600px) {
 .page-content .section { padding:28px 22px 40px; }
 .page-content .photo-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .page-top > #close-page { font-size:14px; padding:8px; }
 .page-top p, .page-top .mono, .page-bottom .page-bottom-label { font-size:14px; }
 .page-bottom .section-link strong { font-size:16px; }
 .page-cycle { padding:8px 14px; }
 .room-header { height:116px; }
 .room-title .eyebrow { font-size:14px; }
}
@media (max-width:599px) {
 .page-top { padding:10px 14px; grid-template-columns:minmax(0,1fr) auto; gap:8px; }
 .page-index > summary { padding:10px 12px; }
 .page-top > #close-page { font-size:14px; gap:8px; }
 .page-top > #close-page > span { width:24px; }
 .page-cycle a { min-height:48px; font-size:16px; padding:8px 12px; }
 .page-content .section { padding:28px 18px 40px; }
 .page-content .photo-grid { gap:20px; grid-template-columns:minmax(0,1fr); }
 .page-content .photo-grid figure { margin:0; }
 .page-content .budget-panel { padding:24px 14px; }
 .budget-labels > div { padding-right:8px; }
 .budget-labels > div:last-child { padding-left:8px; }
 .budget-labels strong { font-size:20px; }
 .page-bottom .section-link { padding:10px; min-height:52px; }
 .page-bottom .section-link strong { font-size:14px; }
 .page-bottom .page-bottom-label { font-size:14px; }
 .page-content .amount-presets { grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
 .page-content .person-profile p { font-size:14px; }
 .credit-group .person-profile h4 { font-size:25px; }
 .gallery-toolbar { align-items:center; gap:12px; }
 .gallery-mode-control { padding:10px 12px; font-size:14px; flex-shrink:0; }
 #photo-dialog .gallery-stage { grid-template-columns:48px minmax(0,1fr) 48px; }
 #photo-dialog .gallery-arrow { width:44px; height:56px; }
 #photo-dialog #photo-image { height:38dvh; }
 #photo-dialog #photo-caption { font-size:14px; }
 #photo-dialog .gallery-hint { display:none; }
 #photo-dialog .photo-actions { justify-content:center; }
 .room-index > summary { font-size:14px; padding:10px 12px; }
}
@media (max-width:359px) {
 .page-index > summary { padding:10px 8px; gap:8px; font-size:14px; }
 .page-top > #close-page { max-width:160px; white-space:normal; line-height:1.4; }
 .page-top > #close-page > span { flex-shrink:0; }
}

.clean-video-player video { cursor:pointer; }
.clean-video-player video:focus-visible { outline:3px solid #a4e0e5; outline-offset:4px; }
