/* Shared signup, in the footer and on the dedicated subscription page. */
.signup label {display:block; margin-bottom:6px; font:600 14px/1.4 Manrope,sans-serif}
.signup-row {display:flex; gap:8px}
.signup input {min-width:0; flex:1; padding:10px 12px; border:1px solid #776e72; border-radius:3px; background:white; font:16px Lato,sans-serif}
.signup .button {justify-content:center; font-size:15px; min-height:44px; cursor:pointer}
.signup .signup-status:not(:empty) {margin:10px 0 0; font:400 15px/1.5 Lato,sans-serif}
.signup .signup-status:empty {margin:0}
/* Keep the signup on the same baseline as the footer identity. */
.site-footer {display:block; padding-block:0 28px; color:#faf5ee; background:#2b302c; color-scheme:dark}
.footer-content {display:flex; align-items:center; justify-content:space-between; gap:40px; padding-top:26px}
.footer-brand .wordmark {display:inline-block; width:auto; margin:0}
.footer-meta {display:flex; align-items:center; gap:18px; margin-top:7px; font:12px/1.5 Manrope,sans-serif}
.footer-meta a {text-underline-offset:3px}
.footer-content .signup {width:min(365px,100%); margin:0}
.footer-content .signup label {font:400 17px/1.4 'Libre Baskerville',Georgia,serif; letter-spacing:-.025em; margin:0 0 6px}
.footer-content .signup-row {display:flex; flex-direction:row; align-items:center; gap:10px; border-bottom:1px solid #a8a59e}
.footer-content .signup input {border:0; border-radius:0; background:transparent; padding:10px 0; min-height:44px; color:inherit}
.footer-content .signup input::placeholder {color:#cdc8bf; opacity:1}
.footer-content .signup button {background:transparent; border:0; color:#dfcdfa; padding:8px 0 8px 8px; font:600 14px/1.4 Manrope,sans-serif}
.footer-content .signup button:hover {text-decoration:underline; text-underline-offset:4px}
.footer-content :focus-visible {outline:2px solid #dfcdfa; outline-offset:2px}
.library h1 {margin-bottom:12px}
.library .library-intro {max-width:62ch; margin:0 0 30px}
.library-tools {display:flex; align-items:end; flex-wrap:wrap; gap:18px; padding:18px 0; border-block:1px solid var(--rule)}
.library-tools label {display:grid; gap:5px; font:600 13px/1.4 Manrope,sans-serif}
.library-tools select {min-height:42px; padding:7px 30px 7px 10px; font:16px Lato,sans-serif; color:var(--ink); border:1px solid #837879; border-radius:3px; background:var(--paper,#fdf8f4)}
#video-count {margin-left:auto; align-self:center; font:14px Manrope,sans-serif}
.collection {padding-block:36px; border-bottom:1px solid var(--rule)}
.collection header {margin-bottom:20px}
.collection h2 {font:400 clamp(24px,3vw,34px)/1.25 'Libre Baskerville',Georgia,serif; letter-spacing:-.04em; margin:0}
.collection header p {margin:7px 0 0; font:16px/1.55 Lato,sans-serif}
.films {display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px}
.film a {display:block; text-decoration:none}
.film a:hover h3,.film a:focus-visible h3 {text-decoration:underline; text-underline-offset:4px}
.film-image {display:block;position:relative}
.film img {display:block;width:100%; height:auto; aspect-ratio:16/9; object-fit:cover}
.film-image span {position:absolute; right:6px; bottom:6px; color:white; background:#19171a; padding:2px 6px; font:600 12px/1.5 Manrope,sans-serif; border-radius:2px}
.film h3 {margin:12px 0 6px; font:600 19px/1.35 Lato,sans-serif}
.film p {margin:0; font:16px/1.55 Lato,sans-serif}
.channel-link {display:inline-block; margin-top:25px}
.library [hidden] {display:none}
@media(max-width:800px) {
 .films {grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:550px) {
 .films {grid-template-columns:1fr}
 .collection {padding-block:26px}
 .library-tools {gap:10px}
 #video-count {width:100%}
 .footer-content {flex-direction:column; align-items:stretch; gap:22px; padding-top:22px}
 .footer-content .signup {width:100%}
 .signup-row {flex-direction:column}
 .signup input {min-height:44px}
}
