/* Uses the two already-preloaded site fonts: Cormorant 300 and Manrope 400. */
/* A quiet, self-hosted film library. All rules stay inside its own wrapper. */
.film-library{--fl-ink:#302923;--fl-muted:#655c52;--fl-bronze:#80623b;--fl-line:#dfd5c7;padding:126px 0 70px;background:#f5f1eb;color:var(--fl-ink)}
.film-library [hidden]{display:none!important}
.film-library .fl-intro{position:static;inset:auto;z-index:auto;border:0;transition:none;margin:0 0 30px}
.film-library .fl-intro::before{content:none}
.film-library .page-return{margin-bottom:15px}
.film-library .page-back-link{font-weight:400}
.film-library .fl-intro>.eyebrow{font-weight:400;font-size:10px;letter-spacing:.2em;color:var(--fl-bronze);margin-bottom:16px}
.film-library .fl-intro-row{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:54px;align-items:center}
.film-library h1{font:300 clamp(45px,5.4vw,67px)/1.02 var(--serif,Georgia,serif);letter-spacing:-.028em;color:var(--fl-ink);margin:0;text-wrap:balance}
.film-library .fl-intro-description{font:400 15px/1.85 var(--sans,system-ui,sans-serif);color:var(--fl-muted);margin:0;max-width:36em}
.film-library .fl-intro-meta{display:flex;gap:24px;align-items:flex-start;justify-content:space-between;border-bottom:1px solid var(--fl-line);padding:25px 0 26px;margin-top:10px}
.film-library .fl-intro-meta>span{flex-shrink:0;font:400 11px/1.8 var(--sans);color:var(--fl-bronze)}
.film-library .fl-intro-meta p{font:400 11px/1.8 var(--sans);color:var(--fl-muted);max-width:56em;margin:0}
.film-library .fl-toolbar{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:24px}
.film-library .fl-filters{display:flex;flex-wrap:wrap;gap:8px}
/* Reserve the complete filter geometry before progressive enhancement. The
   hidden controls stay invisible and unfocusable, while the count cannot jump. */
.film-library .fl-filters[hidden]{display:flex!important;visibility:hidden;pointer-events:none}
.film-library .fl-filters button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 16px;border:1px solid #d6c9b6;border-radius:999px;background:transparent;color:var(--fl-ink);font:400 12px/1.5 var(--sans);cursor:pointer;transition:background .18s ease,color .18s ease,border-color .18s ease}
.film-library .fl-filters button[aria-pressed="true"]{background:var(--fl-ink);border-color:var(--fl-ink);color:#fffdf9}
.film-library .fl-count{flex-shrink:0;white-space:nowrap;color:var(--fl-muted);font:400 11px/1.5 var(--sans);margin:0}
.film-library .fl-gallery{padding:0;margin:0}
.film-library .fl-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.film-library .fl-card{min-width:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--fl-line);border-radius:22px;background:#fffdf9;box-shadow:0 7px 22px #43321e06;scroll-margin-top:110px}
.film-library .fl-screen{position:relative;width:100%;aspect-ratio:16/9;background:#eee8de;overflow:hidden;flex-shrink:0}
.film-library .fl-screen picture,.film-library .fl-screen video{position:absolute;inset:0;width:100%;height:100%;display:block}
.film-library .fl-screen img{width:100%;height:100%;display:block;object-fit:contain}
.film-library .fl-screen video{object-fit:contain;background:#f4f0e9}
.film-library .fl-ai{position:absolute;left:12px;bottom:12px;z-index:2;background:#f6f2e9ed;color:#403b35;border:0;border-radius:5px;padding:4px 7px;font:400 10px/1.4 var(--sans);pointer-events:none;white-space:nowrap}
.film-library .fl-duration{position:absolute;right:12px;top:12px;z-index:2;background:#f6f2e9ed;color:#403b35;border-radius:5px;padding:4px 7px;font:400 10px/1.4 var(--sans);pointer-events:none;white-space:nowrap}
.film-library .fl-duration span{font-weight:400}
.film-library .fl-play{position:absolute;inset:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center;border:0;background:transparent;color:var(--fl-ink);cursor:pointer;padding:0}
.film-library .fl-play-circle{display:grid;place-items:center;width:54px;height:54px;border:1px solid #ffffffd6;border-radius:50%;background:#fcf9f2ed;box-shadow:0 4px 20px #30292324;transition:transform .18s ease,background .18s ease}
.film-library .fl-play-circle svg{margin-left:2px}
.film-library .fl-play-label{position:absolute;right:12px;bottom:12px;display:block;padding:5px 9px;border-radius:999px;background:#fcf9f2ed;color:var(--fl-ink);font:400 10px/1.4 var(--sans)}
.film-library .fl-copy{display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:23px 24px 21px}
.film-library .fl-kicker{color:var(--fl-bronze);font:400 10px/1.5 var(--sans);letter-spacing:.06em;margin:0 0 10px;text-transform:uppercase}
.film-library .fl-copy h3{font:300 clamp(28px,2.55vw,34px)/1.07 var(--serif,Georgia,serif);letter-spacing:-.025em;color:var(--fl-ink);margin:0 0 13px;text-wrap:balance}
.film-library .fl-description{font:400 12px/1.8 var(--sans);color:var(--fl-muted);margin:0 0 22px}
.film-library .fl-links{display:flex;flex-wrap:wrap;column-gap:17px;row-gap:0;margin-top:auto;width:100%;padding-top:9px;border-top:1px solid #e9e0d3}
.film-library .fl-links a{display:inline-flex;align-items:center;gap:5px;min-height:40px;font:400 10px/1.5 var(--sans);color:var(--fl-ink);text-decoration:underline;text-decoration-color:#d6c4a6;text-underline-offset:4px}
.film-library .fl-links a span{color:var(--fl-bronze);font-size:15px}
.film-library .fl-status{font:400 10px/1.65 var(--sans);color:var(--fl-muted);min-height:1.65em;margin:4px 0 0}
.film-library .fl-direct{font:400 12px/1.8 var(--sans);margin-top:12px}
.film-library .fl-direct a{text-decoration:underline;text-underline-offset:4px}
.film-library .fl-card--combined{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,2.1fr);align-items:center;background:#eee6d9;margin-top:15px;box-shadow:none}
.film-library .fl-card--combined .fl-copy{padding:26px 34px}
.film-library .fl-combined-intro{font:400 11px/1.5 var(--sans);color:var(--fl-bronze);margin:0 0 12px}
.film-library .fl-card--combined .fl-description{max-width:60em;margin-bottom:12px}
.film-library .fl-card--combined .fl-links{border-color:#d9cbb6}
.film-library .fl-card.fl-card-playing{grid-column:1/-1;display:flex;flex-direction:column;justify-self:center;width:100%;max-width:1000px}
.film-library .fl-card-playing .fl-screen{max-width:1000px;margin-inline:auto}
.film-library .fl-card-playing .fl-duration{display:none}
.film-library .fl-card-playing .fl-copy{width:100%;padding:24px 30px}
.film-library .fl-card-playing .fl-description{max-width:72em}
.film-library .fl-note{max-width:76em;font:400 12px/1.9 var(--sans);color:var(--fl-muted);margin:30px 0 0}
.film-library .fl-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.film-library :is(a,button,video):focus-visible{outline:3px solid var(--fl-bronze);outline-offset:3px}
.film-library .fl-play:focus-visible,.film-library video:focus-visible{outline-offset:-5px}
@media (hover:hover){.film-library .fl-filters button:not([aria-pressed="true"]):hover{background:#e9dfcf;border-color:#bfa682}.film-library .fl-play:hover .fl-play-circle{background:#fffdf9;transform:scale(1.07)}.film-library .fl-links a:hover{text-decoration-color:currentColor}}
@media (max-width:1000px){.film-library .fl-intro-row{gap:32px}.film-library .fl-toolbar{align-items:flex-start}.film-library .fl-grid{gap:18px}.film-library .fl-copy{padding:21px 20px}.film-library .fl-card--combined .fl-copy{padding:25px}.film-library .fl-intro-meta{display:block}.film-library .fl-intro-meta p{max-width:65em;margin-top:9px}.film-library .fl-count{padding-top:12px}}
@media (max-width:899px){.film-library .fl-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.film-library .fl-intro-row{grid-template-columns:minmax(0,1fr);gap:20px}.film-library .fl-intro-description{max-width:53em}.film-library .fl-copy h3{font-size:32px}.film-library .fl-card--combined{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr)}.film-library .fl-filters button{min-height:44px;padding:9px 14px}.film-library .fl-card--combined .fl-copy h3{font-size:30px}}
@media (max-width:599px){.film-library{padding:112px 0 48px}.film-library>.wrap{padding:0 20px}.film-library .fl-intro{margin-bottom:23px}.film-library h1{font-size:45px}.film-library .fl-intro>.eyebrow{font-size:9px;letter-spacing:.15em}.film-library .fl-intro-description{font-size:14px;line-height:1.85}.film-library .fl-intro-meta{padding:20px 0;margin-top:0}.film-library .fl-intro-meta>span{font-size:10px}.film-library .fl-intro-meta p{font-size:11px}.film-library .fl-toolbar{display:block;margin-bottom:18px}.film-library .fl-filters{gap:7px}.film-library .fl-filters button{font-size:11px;padding:9px 13px}.film-library .fl-count{padding:0;margin-top:13px}.film-library .fl-grid{grid-template-columns:minmax(0,1fr);gap:21px}.film-library .fl-card{border-radius:19px}.film-library .fl-copy{padding:23px 22px 20px}.film-library .fl-copy h3{font-size:34px}.film-library .fl-description{font-size:13px}.film-library .fl-links a{font-size:11px;min-height:44px}.film-library .fl-play-circle{width:58px;height:58px}.film-library .fl-card--combined{display:flex;margin-top:7px}.film-library .fl-card--combined .fl-copy{padding:24px 22px}.film-library .fl-card--combined .fl-copy h3{font-size:34px}}
@media (prefers-reduced-motion:reduce){.film-library *{transition:none!important}}
@media (forced-colors:active){.film-library .fl-ai,.film-library .fl-duration,.film-library .fl-play-circle,.film-library .fl-play-label{background:Canvas;color:CanvasText;outline:1px solid CanvasText}.film-library .fl-filters button[aria-pressed="true"]{background:Highlight;color:HighlightText}}
