/* Frame: black and warm gold from the application's film-strip logo. */
.frame-hero { background: linear-gradient(115deg, #080808 0%, #211a0e 60%, #49300d 100%); border-bottom: 4px solid #f4c35a; }
.frame-logo { border-radius: 1.5rem; object-fit: contain; }
.frame-kicker { color: #f4c35a; font-weight: 700; letter-spacing: .08em; }
.frame-hero-title { font-size: clamp(1.7rem, 3vw, 2.7rem); font-weight: 700; line-height: 1.3; }
.frame-measure { max-width: 65ch; }
.frame-hero-status { color: #f5e8d0; }
.btn-frame { background: #f4c35a; border: 2px solid #f4c35a; color: #171108; font-weight: 700; }
.btn-frame:hover, .btn-frame:focus-visible { background: #ffda87; border-color: #ffda87; color: #171108; }
.frame-page { background: #faf8f3; color: #242018; }
.frame-prose { max-width: 76ch; margin-inline: auto; }
.frame-prose p { line-height: 1.8; margin-bottom: 1.4rem; }
.frame-prose h2 { font-size: clamp(1.6rem, 3vw, 2.2rem); font-weight: 700; margin-bottom: 1.4rem; }
.frame-prose h3 { font-size: 1.35rem; font-weight: 700; }
.frame-page a:not(.btn) { color: #76500b; text-decoration: underline; text-underline-offset: .2em; }
.frame-download { border: 1px solid #d5cbb8; border-left: 4px solid #956609; border-radius: .5rem; }
.frame-subnav.navbar { background-color: #f5f0e5 !important; }
.frame-subnav .navbar-brand, .frame-subnav .nav-link { color: #45320e; }
.frame-subnav .nav-link:hover, .frame-subnav .nav-link.active { color: #171108; text-decoration: underline; text-underline-offset: .2em; }
.frame-hero a:focus-visible, .frame-page a:focus-visible, #frameNav a:focus-visible { outline: 3px solid #ffc107 !important; outline-offset: 3px !important; box-shadow: 0 0 0 2px #171108 !important; }
