/* Film Nagar design controls. Edit these tokens first; preview with npm run dev.
   This file loads last so refinements stay separate from legacy component rules. */
:root {
  --space-xs: 6px;
  --space-sm: 12px;
  --space-md: 16px;
  --space-lg: 24px;
  --space-xl: 32px;
  --page-width: 1280px;
  --page-gutter: clamp(18px, 3vw, 40px);
  --section-space: 24px;
  --card-padding: 16px;
  --film-poster-width: 138px;
  --title-size: clamp(1.85rem, 3.3vw, 3rem);
}
html { scroll-behavior: auto; }
[hidden] { display: none !important; }
.wrap { max-width: var(--page-width); padding-inline: var(--page-gutter); }
.topline .wrap { padding-block: 5px; }
.masthead { min-height: 70px; padding-block: 14px; gap: 22px; }
.logo { font-size: 27px; }
.nav { gap: 22px; }
.eyebrow { margin-bottom: 10px; }
.page-heading { padding: 22px 0 16px; }
.page-heading h1, .compact-heading h1 { font-size: var(--title-size); margin: 8px 0 10px; line-height: 1.14; }
.page-heading>p { font-size: 1rem; margin: 8px 0 0; line-height: 1.55; }
.section { padding-block: var(--section-space); }
.section-heading { margin-bottom: 16px; gap: 16px; }
.section-heading h2 { font-size: clamp(1.5rem, 2.5vw, 2.15rem); }
.button { padding: 10px 16px; min-height: 42px; font-size: 14px; }
.intro { padding: 22px 0 18px; gap: 24px; align-items: center; }
.intro h1 { font-size: clamp(2.1rem, 4vw, 3.5rem); line-height: 1.06; }
.intro p { font-size: 15px; line-height: 1.6; }
.home-search { padding-bottom: 20px; }
.home-search input { padding-block: 12px; }
.feature-grid { gap: 16px; margin-bottom: 0; grid-template-columns: minmax(0, 2.3fr) minmax(270px, 1fr); }
.feature, .feature-content { min-height: 350px; }
.feature-content { padding: 26px; justify-content: flex-end; }
.feature h2 { font-size: clamp(2rem, 3.5vw, 3.3rem); line-height: 1.08; }
.feature-content p { margin: 10px 0 16px; max-width: 440px; font-size: 15px; line-height: 1.5; }
.feature-top { top: 20px; left: 26px; }
.feature .meta { margin-bottom: 8px; }
.feature-grid .score-panel h3 { display: none; }
.feature-grid .score-dimensions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px 16px; }
.feature-grid .meter-label { font-size: 12px; gap: 6px; min-height: 32px; align-items: end; }
.feature-grid .score-note { margin-top: auto; }
.film-overview .score-dimensions { display: none; }
.score-panel { padding: var(--card-padding); }
.score-panel h3 { font-size: 1.35rem; margin: 4px 0 12px; }
.score-line { gap: 12px; margin: 8px 0 12px; }
.score-value { font-size: 3rem; }
.score-note { margin: 12px 0; line-height: 1.5; }
.meter-row { margin-bottom: 8px; }
.meter-label { margin-bottom: 5px; }
.browse-line { gap: 8px; }
.chip { padding: 8px 12px; }
.cards { gap: 18px; }
.poster { height: auto; aspect-ratio: 3/4; max-height: 260px; }
.poster img { width: 100%; height: 100%; object-fit: cover; }
.film-card h3 { margin: 6px 0; font-size: 1.15rem; }
.film-card .meta { margin-top: 10px; }
.craft-feature { padding: 26px 30px; gap: 32px; margin: 0; }
.craft-feature h2 { font-size: 2.25rem; margin-bottom: 12px; }
.craft-feature p { margin-bottom: 16px; }
.craft-words { font-size: 1.85rem; padding-block: 12px; gap: 5px; }
.era-grid a, .era-grid a:first-child { padding: 16px; }
.era-grid h3 { margin: 8px 0 10px; }
.era-grid span { font-size: 1.65rem; }
.catalog-controls { gap: 8px; padding: 8px 0 16px; }
.catalog-controls .search-field { flex: 1 1 310px; }
.catalog-controls select { min-width: 125px; font-size: 14px; padding-block: 11px; }
.catalog-controls .button { margin-left: 0; }
.result-heading { padding-block: 12px; }
.movie-row { grid-template-columns: 42px minmax(0,1fr) 60px 120px 20px; gap: 16px; padding: 10px 0; }
.row-art { width: 42px; height: 58px; }
.row-main h2 { font-size: 1.12rem; margin: 3px 0; }
.row-main p { margin: 3px 0; line-height: 1.5; }
.row-year, .row-main p { font-size: 13px; }
.people-grid { gap: 14px; }
.person-card { padding: 16px; gap: 12px; }
.pagination { padding-block: 18px; margin: 0; }
.catalog-note { margin: 10px 0 24px; }
.breadcrumbs { margin-bottom: 14px; }
.film-header { grid-template-columns: var(--film-poster-width) minmax(0,1fr); gap: 24px; padding-bottom: 18px; align-items: center; }
.detail-poster, .film-header .poster-unavailable { width: var(--film-poster-width); height: 192px; min-height: 0; aspect-ratio: auto; }
.film-header h1 { font-size: var(--title-size); margin: 7px 0 10px; overflow-wrap: anywhere; }
.film-header p { margin: 10px 0 0; font-size: 15px; line-height: 1.5; }
.film-header .meta { font-size: 13px; }
.film-actions { margin-top: 14px; gap: 8px; }
.film-header .eyebrow { margin-bottom: 6px; }
.subnav { gap: 6px; padding-block: 0; overflow-x: auto; font-size: 14px; }
.subnav a { padding: 13px 16px; min-height: 46px; display: inline-flex; align-items: center; border-bottom: 3px solid transparent; }
.subnav a:first-child { padding-left: 12px; }
.subnav a[aria-current="true"] { border-color: var(--ink); background: #edf1e6; font-weight: 700; }
.subnav a:focus-visible { outline: 2px solid var(--ink); outline-offset: -3px; }
.film-layout-active .film-actions { display: none; }
.film-layout-active .page-heading { padding-bottom: 0; }
.film-layout-active .film-panel { padding-top: 20px; padding-bottom: 24px; margin: 0; border-top: 0; scroll-margin-top: 18px; }
.film-layout-active .detail-grid { gap: 28px; padding-top: 22px; }
.film-overview .meter-row, .film-overview .score-panel:has(.score-value) h3 { display: none; }
.film-overview .score-panel { align-self: start; }
.film-overview.single-column { grid-template-columns: minmax(0, 850px); }
.film-panel.review-article { max-width: 900px; }
.film-panel.score-panel { max-width: 660px; padding: 20px; margin-top: 20px; }
.review-title { font-size: 2rem; margin: 8px 0 12px; }
.review-article p { font-size: 1rem; line-height: 1.7; }
.review-callout { padding: 16px; margin-block: 16px; }
.pros-cons { gap: 24px; margin-block: 22px; }
.dimension-detail { padding-block: 14px; }
.research-reading { padding: 0; margin: 0; border: 0; }
.research-reading>h3 { margin: 18px 0 8px; }
.research-reading>p { margin-block: 10px; }
.reading-questions { margin: 18px 0; padding-block: 14px; }
.review-list { gap: 22px; }
.review-tile { grid-template-columns: 100px minmax(0,1fr); gap: 18px; padding-top: 18px; }
.review-tile img { width: 100px; height: 145px; object-fit: cover; }
.review-tile h2 { font-size: 1.7rem; margin: 8px 0; }
.review-tile p { font-size: 15px; line-height: 1.55; margin-block: 8px; }
.review-tile .score-value { font-size: 2.2rem; }
.reading-card-grid { gap: 20px; margin-top: 16px; }
.reading-card { padding-block: 18px; }
.reading-card h3 { font-size: 1.4rem; margin: 10px 0; }
.reading-card p { margin-block: 6px; }
.reading { padding-bottom: 32px; }
.reading>h2 { margin-top: 24px; }
.trust-band { padding-block: 26px; gap: 32px; }
.film-media { padding-block: 24px; }
.media-heading { gap: 20px; margin-bottom: 18px; align-items: center; }
.media-heading h2 { font-size: 1.75rem; margin-bottom: 8px; }
.media-heading p { line-height: 1.5; }
.media-heading .eyebrow { display: none; }
.media-country { flex-basis: 210px; }
.media-country select { height: 42px; font-size: 14px; }
.media-country small { margin-top: 4px; }
.media-listings h3 { font-size: 1.2rem; margin-bottom: 8px; }
.media-section-note { margin-bottom: 14px; line-height: 1.55; }
.media-card-grid { gap: 12px; }
.media-card { padding: var(--card-padding); }
.media-card-kicker { font-size: 11px; margin-bottom: 8px; }
.media-card h4 { font-size: 1rem; margin-bottom: 8px; }
.media-card p { font-size: 13px; line-height: 1.5; margin-bottom: 6px; }
.media-details { margin: 4px 0 10px; color: var(--muted); font-size: 13px; }
.media-details summary { cursor: pointer; padding: 5px 0; font-size: 13px; }
.media-details[open] summary { margin-bottom: 5px; }
.media-open { padding-top: 8px; min-height: 38px; }
.media-empty { padding: 12px 16px; }
.media-unconfirmed { margin-top: 16px; }
.media-searches { padding: 18px; margin-top: 20px; }
.media-searches>summary { cursor: pointer; font-weight: 700; font-size: 1rem; min-height: 28px; }
.media-searches[open]>summary { margin-bottom: 18px; }
.media-search-heading h3 { font-size: 1.4rem; }
.media-search-heading p { margin-bottom: 12px; line-height: 1.55; }
.media-query { margin-bottom: 16px; padding-block: 8px; }
.media-search-columns { gap: 20px; }
.media-search-list { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.media-search-link { padding: 9px 12px; min-height: 44px; }
.media-search-footnote { margin-top: 14px; }
.credits-section { padding-block: 24px; }
.credit-explainer { margin: 0 0 12px; }
.contribute-prompt { padding: 14px 16px; margin: 14px 0; gap: 16px; }
.cast-card .person-name { font-size: 14px; line-height: 1.4; }
.cast-grid { gap: 14px; margin-bottom: 18px; }
.cast-more { margin: 12px 0 18px; }
.cast-more>summary { cursor: pointer; font-size: 14px; font-weight: 600; padding: 8px 0; }
.cast-more .cast-grid { margin-top: 12px; }
.credit-subtitle { margin: 18px 0 12px; }
.credit-toolbar { gap: 10px; padding-block: 10px 16px; }
.crew-department>summary { padding: 14px 12px; }
.credit-row { padding: 10px 12px; }
.credit-footnote { margin-top: 16px; }
.login-layout { gap: 44px; padding: 32px 0 40px; }
.login-story h1 { font-size: clamp(2rem,3.5vw,3rem); }
.login-story>p { font-size: 1rem; line-height: 1.65; }
.login-panel, .account-box, .account-sidebar { padding: 22px; }
.login-assurance { margin-top: 18px; padding-top: 16px; }
.google-button { margin-top: 18px; }
.account-layout { gap: 22px; padding-bottom: 32px; }
.account-heading { padding-bottom: 20px; }
.account-heading h1 { font-size: var(--title-size); }
.form-section { margin-bottom: 20px; padding-bottom: 20px; }
.form-field { margin-bottom: 16px; }
.claim-film { padding: 14px; margin-bottom: 18px; }
.claim-card { padding-block: 16px; }
footer { padding: 26px 0 18px; margin-top: 28px; }
.footer-top { gap: 20px; }
.footer-top p { font-size: 13px; line-height: 1.6; margin-top: 10px; }
.footer-links { gap: 12px 20px; }
.footer-bottom { margin-top: 20px; padding-top: 16px; }
@media(max-width:900px) {
  .masthead { flex-wrap: wrap; gap: 14px 20px; }
  .nav { gap: 18px; }
  .feature-grid { grid-template-columns: minmax(0,1fr); }
  .feature-grid>.score-panel { display: none; }
  .catalog-controls .search-field { flex-basis: 100%; }
  .media-search-list { grid-template-columns: 1fr; }
}
@media(max-width:640px) {
  :root { --section-space: 20px; --film-poster-width: 84px; --title-size: 1.8rem; --card-padding: 14px; }
  .topline { display: none; }
  .masthead { min-height: 0; padding-block: 12px 0; gap: 10px; }
  .logo { font-size: 25px; }
  .brand-icon { width: 27px; height: 30px; }
  .nav { order: 3; width: 100%; justify-content: space-between; gap: 8px; padding: 3px 0 0; }
  .nav a { padding-block: 11px; font-size: 13px; }
  .account-link { margin-left: auto; min-height: 38px; display: flex; align-items: center; }
  .intro { padding-block: 18px 14px; }
  .intro h1 { font-size: 2.15rem; }
  .intro>div { display: none; }
  .home-search { padding-bottom: 14px; gap: 8px; }
  .home-search input { font-size: 14px; }
  .home-search .button { min-width: auto; font-size: 13px; padding: 10px 12px; }
  .feature,.feature-content { min-height: 300px; }
  .feature-content { padding: 20px; }
  .feature-top { left: 20px; top: 16px; }
  .feature h2 { font-size: 2.25rem; }
  .feature-content p { font-size: 14px; max-width: 330px; }
  .cards { gap: 16px 12px; }
  .poster { max-height: 235px; }
  .film-card h3 { font-size: 1rem; }
  .browse-line { gap: 7px; }
  .chip { font-size: 13px; padding: 8px 10px; }
  .craft-feature { padding: 22px; grid-template-columns: 1fr; gap: 0; }
  .craft-feature h2 { font-size: 1.8rem; }
  .craft-words { display: none; }
  .era-grid a,.era-grid a:first-child { padding: 14px; }
  .page-heading { padding-top: 18px; }
  .page-heading>p { font-size: 15px; }
  .film-header { gap: 16px; padding-bottom: 16px; align-items: start; }
  .detail-poster,.film-header .poster-unavailable { height: 118px; min-height: 0; }
  .film-header .poster-unavailable { gap: 6px; }
  .film-header h1 { font-size: 1.75rem; line-height: 1.1; margin: 6px 0 9px; }
  .film-header .eyebrow { font-size: 10px; line-height: 1.5; }
  .film-header .meta { font-size: 12px; line-height: 1.5; }
  .film-header p { font-size: 14px; margin-top: 8px; }
  .film-actions { margin-top: 10px; gap: 6px; }
  .film-actions .button { min-height: 36px; padding: 8px 10px; font-size: 12px; }
  .breadcrumbs { font-size: 12px; margin-bottom: 12px; }
  .subnav { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 0; overflow: visible; }
  .subnav a,.subnav a:first-child { padding: 10px 6px; font-size: 13px; white-space: normal; justify-content: center; text-align: center; }
  .film-layout-active .detail-grid { gap: 16px; grid-template-columns: 1fr; }
  .film-panel.review-article { max-width: 100%; }
  .section-heading h2 { font-size: 1.5rem; }
  .review-title { font-size: 1.7rem; }
  .review-tile { grid-template-columns: 78px minmax(0,1fr); gap: 14px; }
  .review-tile img { width: 78px; height: 114px; }
  .review-tile h2 { font-size: 1.35rem; }
  .review-tile .score-value { font-size: 1.8rem; }
  .movie-row { grid-template-columns: 36px minmax(0,1fr) 38px; gap: 12px; padding-block: 9px; }
  .row-art { width: 36px; height: 50px; }
  .row-main h2 { font-size: 1rem; }
  .row-main p { font-size: 12px; }
  .catalog-controls select { min-width: 0; font-size: 14px; }
  .catalog-controls .button { min-height: 38px; }
  .media-heading { display: grid; grid-template-columns: minmax(0,1fr); gap: 14px; margin-bottom: 16px; }
  .media-country { margin: 0; max-width: none; display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; gap: 8px 14px; }
  .media-country label { margin: 0; font-size: 13px; }
  .media-country small { grid-column: 2; margin: 0; font-size: 11px; }
  .media-heading h2 { font-size: 1.6rem; }
  .media-card-grid { gap: 10px; }
  .media-searches { padding: 16px; }
  .media-search-columns { gap: 18px; }
  .media-search-heading h3 { font-size: 1.3rem; }
  .contribute-prompt { gap: 10px; }
  .credit-toolbar { gap: 8px; }
  .cast-grid { gap: 12px; }
  .credit-row { padding: 10px 0; }
  .account-box, .account-sidebar, .login-panel { padding: 18px; }
  .login-layout { padding-top: 22px; gap: 22px; }
  .login-story h1 { font-size: 2rem; }
  .form-field>span { font-size: 14px; }
  .footer-top { flex-direction: column; }
  .footer-top p { margin: 8px 0 0; }
  .footer-links { gap: 12px 18px; }
  .footer-bottom { margin-top: 16px; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior: auto !important; } }

/* Evidence-backed editorial content and compact artwork acknowledgments. */
.critic-reception { margin-top: 24px; border-top: 1px solid var(--line,#d9d9ce); padding-top: 20px; }
.critic-score-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(170px,1fr)); gap: 12px; margin-top: 14px; }
.critic-score-grid article { padding: 14px; border: 1px solid var(--line,#d9d9ce); }
.critic-score-grid h4 { margin: 0 0 10px; font-size: 14px; }
.critic-score-grid strong { font-family: Georgia,serif; font-size: 28px; }
.critic-score-grid p { font-size: 13px; margin: 8px 0; line-height: 1.4; }
.critic-score-grid small { display: block; font-size: 11px; line-height: 1.6; }
.row-review small { display: block; margin-top: 5px; font-size: 11px; }
.artwork-credits { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.artwork-credits article { display: grid; grid-template-columns: 76px minmax(0,1fr); gap: 14px; padding: 16px 0; border-top: 1px solid var(--line,#d9d9ce); scroll-margin-top: 30px; }
.artwork-credits img { width: 76px; height: 110px; object-fit: contain; }
.artwork-credits h2 { font-size: 17px; margin: 0 0 8px; }
.artwork-credits p,.artwork-credits a { font-size: 12px; overflow-wrap: anywhere; line-height: 1.5; }
.artwork-credits a { text-decoration: underline; }
.row-art img,.review-tile img,.film-header .detail-poster { object-fit: contain; background: #e6e9df; }
.artwork-credits:empty { display: none; }
@media(max-width:640px) { .artwork-credits { grid-template-columns: 1fr; } .critic-score-grid { grid-template-columns: 1fr; } }

.review-art-pending { display: grid; place-items: center; width: 100%; min-height: 114px; background: #e7e9df; color: #61715c; font: 42px Georgia,serif; }

.editorial-badge { background: #e8eedc; color: #314426; }

.review-article>.score-value { font-size: 2.4rem; line-height: 1; margin: 16px 0 20px; }

/* A compact public-rating ledger and a separate, evidence-backed craft review. */
.review-article:has(.review-dashboard) { max-width: none; width: 100%; }
.review-dashboard { font-size: 14px; }
.review-dashboard h2 { font-size: 24px; margin: 4px 0 10px; }
.review-dashboard h3 { font-size: 16px; margin: 0 0 6px; }
.review-dashboard p { margin: 8px 0; line-height: 1.55; }
.review-section-heading { display: flex; justify-content: space-between; align-items: end; gap: 12px; }
.review-section-heading>.small { margin-bottom: 12px; }
.rating-group { display: grid; grid-template-columns: 76px minmax(0,1fr); gap: 12px; padding: 9px 0; border-bottom: 1px solid var(--line,#d9d9ce); }
.rating-group>h3 { font-family: inherit; font-size: 12px; text-transform: uppercase; letter-spacing: .05em; padding-top: 8px; }
.rating-chips { display: grid; grid-template-columns: repeat(auto-fit,minmax(225px,1fr)); gap: 8px; }
.rating-chip { padding: 8px 10px; background: #f0f1e9; min-width: 0; }
.rating-chip>div { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.rating-chip a,.rating-chip span { font-size: 13px; font-weight: 600; }
.rating-chip a:hover { text-decoration: underline; }
.rating-chip strong { font-size: 19px; white-space: nowrap; }
.rating-chip small { display: block; font-size: 10px; line-height: 1.5; color: #5b6055; }
.rating-context { background: transparent; border: 1px dashed var(--line,#d9d9ce); }
.review-details { border-top: 1px solid var(--line,#d9d9ce); margin-top: 12px; padding-top: 10px; }
.review-details summary { cursor: pointer; width: fit-content; font-size: 12px; font-weight: 600; padding: 3px 0; }
.provider-notes { border: 0; margin: 5px 0 0; padding: 0; }
.provider-notes p,.review-details>.small { font-size: 12px; }
.fn-consensus { margin: 18px 0; padding: 18px 20px; background: #e9eedf; border: 1px solid #cbd6bd; }
.consensus-top { display: flex; align-items: center; gap: 24px; }
.consensus-number { font: 66px/1 Georgia,serif; color: #304729; letter-spacing: -.05em; white-space: nowrap; }
.consensus-number>small { font: 16px/1.2 sans-serif; letter-spacing: 0; padding-left: 5px; }
.consensus-description h2 { margin: 3px 0 8px; }
.consensus-components { display: flex; flex-wrap: wrap; gap: 8px 20px; }
.consensus-components span { font-size: 13px; }
.consensus-components small { font-size: 11px; color: #515d46; }
.consensus-description>.small { margin: 6px 0 0; font-size: 11px; }
.consensus-reading { font-size: 13px; }
.calculation-scroll { overflow-x: auto; }
.calculation-table { width: 100%; border-collapse: collapse; font-size: 12px; }
.calculation-table td,.calculation-table th { text-align: left; padding: 7px 8px; border-bottom: 1px solid #cbd6bd; }
.calculation-table td:nth-child(n+3) { text-align: right; font-variant-numeric: tabular-nums; }
.craft-review { padding: 6px 0 0; }
.craft-review .review-title { font-size: 27px; margin: 6px 0; }
.craft-review .review-meta { font-size: 11px; }
.craft-review .review-callout { font-size: 17px; line-height: 1.5; margin: 10px 0 18px; }
.craft-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.craft-grid .dimension-detail { margin: 0; border: 1px solid var(--line,#d9d9ce); padding: 12px; }
.craft-grid .dimension-detail h3 { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px; font-size: 14px; margin: 0 0 8px; }
.craft-grid .dimension-detail h3 span { float: none; font: 22px Georgia,serif; color: #304729; }
.craft-grid .dimension-detail h3 small { font: 11px sans-serif; }
.craft-grid .dimension-detail p { font-size: 12px; margin: 0; }
.craft-pending { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
.craft-pending span { padding: 9px; border: 1px solid var(--line,#d9d9ce); font-size: 12px; display: flex; justify-content: space-between; gap: 8px; }
@media(max-width:850px) { .craft-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) {
  .review-section-heading { display: block; }
  .review-section-heading>.small { display: block; margin: 0 0 6px; }
  .rating-group { grid-template-columns: 1fr; gap: 3px; }
  .rating-chips { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 5px; }
  .rating-chip>div { display: block; }
  .rating-chip strong { display: block; font-size: 20px; }
  .rating-chip a,.rating-chip span { font-size: 12px; }
  .fn-consensus { padding: 14px; }
  .consensus-top { gap: 16px; align-items: flex-start; }
  .consensus-number { font-size: 46px; }
  .consensus-description h2 { font-size: 20px; }
  .craft-grid { grid-template-columns: 1fr; }
  .craft-pending { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

/* Compact language-led discovery and editorial queue. */
[data-global-curation][hidden]{display:none!important}
.latest-content{margin:18px 0 24px}.latest-toolbar{display:flex;gap:16px;align-items:end;flex-wrap:wrap}.latest-toolbar h2{margin:3px 0;font-size:24px}.latest-toolbar>div{margin-right:auto}.latest-toolbar label{display:grid;gap:4px;font-size:12px}.latest-toolbar select{min-height:40px;min-width:150px;padding:8px}.latest-section{margin:16px 0}.latest-section h3{font-size:17px;margin:0 0 8px}.latest-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.latest-card{display:grid;gap:5px;padding:12px;border:1px solid #d9ded7;text-decoration:none}.latest-card span,.latest-card small{font-size:12px;color:#56625b}.content-queue{display:grid;gap:12px}.content-proposal{padding:16px;border:1px solid #d9ded7}.content-proposal pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;background:#f1f3ee;padding:12px}.content-proposal textarea{width:100%;min-height:65px}.content-actions{display:flex;gap:10px;margin-top:10px}.content-status{padding:12px;background:#f1f3ee;margin:12px 0}@media(max-width:650px){.latest-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.latest-toolbar>div{width:100%}.latest-toolbar label{flex:1}.latest-toolbar select{width:100%;min-width:0}}

/* Compact, touch- and keyboard-scrollable film shelves. */
.latest-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.latest-heading h3{margin:0}
.rail-controls{display:flex;gap:6px}
.rail-controls button{border:1px solid #cbd2ca;background:transparent;color:inherit;border-radius:50%;width:34px;height:34px;cursor:pointer}
.latest-rail{display:flex;gap:12px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;padding:2px 2px 10px;scrollbar-width:thin}
.latest-rail .latest-card{flex:0 0 164px;display:flex;flex-direction:column;gap:5px;padding:0;border:0;scroll-snap-align:start;min-width:0}
.latest-poster{aspect-ratio:2/3;width:100%;overflow:hidden;border-radius:6px;background:#e8e9e2;display:grid;place-items:center}
.latest-poster img{display:block;width:100%;height:100%;object-fit:cover}
.latest-poster small{padding:12px;text-align:center}
.latest-card strong{font-size:14px;line-height:1.3}
.latest-rail:focus-visible,.latest-card:focus-visible,.rail-controls button:focus-visible{outline:2px solid #a34c27;outline-offset:2px}
@media(max-width:650px){.latest-rail .latest-card{flex-basis:140px}.latest-rail{gap:10px}}

.latest-poster.landscape-art img{object-fit:contain;background:#18201d}

.latest-rail .latest-card[hidden]{display:none}

.login-benefits{padding-left:18px;margin:16px 0;display:grid;gap:10px;font-size:14px;line-height:1.5}.preference-panel{max-width:780px;margin:0 auto 48px}.preference-panel h2{margin-top:0}

/* Discovery controls: native selects inside compact, keyboard-accessible disclosures. */
.account-link { min-width: 88px; justify-content: center; text-align: center; }
.search-link { display: inline-flex; align-items: center; gap: 9px; min-height: 44px; }
.filter-disclosure { position: relative; }
.filter-disclosure > summary { cursor: pointer; border: 1px solid var(--line); padding: 11px 14px; border-radius: 4px; font-size: 14px; min-height: 44px; }
.filter-disclosure[open] > summary { background: #edf1e6; }
.filter-popover { position: absolute; top: calc(100% + 6px); left: 0; z-index: 10; width: 260px; display: grid; gap: 8px; padding: 16px; border: 1px solid var(--line); background: var(--paper, #fafaf4); box-shadow: 0 8px 24px #16251f18; border-radius: 6px; }
.filter-popover label { font-size: 12px; font-weight: 700; }
.filter-popover input, .filter-popover select { width: 100%; min-width: 0; padding: 11px; border: 1px solid var(--line); border-radius: 3px; background: white; font: inherit; font-size: 14px; }
.filter-popover .small:empty { display: none; }
.filter-popover .small { margin: 0; }
.active-filters { display: flex; flex-wrap: wrap; gap: 6px; }
.filter-chip { display: inline-flex; gap: 12px; align-items: center; border: 1px solid #cbd2c3; border-radius: 20px; padding: 7px 12px; background: #edf1e6; color: inherit; font: inherit; font-size: 13px; cursor: pointer; min-height: 36px; }
.filter-chip span { font-size: 18px; }
.filter-disclosure summary:focus-visible, .filter-chip:focus-visible, .search-link:focus-visible { outline: 2px solid var(--ink); outline-offset: 3px; }
.film-score-summary { display: inline-block; margin-top: 12px; padding: 7px 10px; background: #edf1e6; border: 1px solid #d4dccb; font-size: 13px; font-weight: 600; border-radius: 4px; }
.review-verdict { padding-bottom: 4px; }
.review-verdict .review-callout { font-size: 18px; line-height: 1.55; }
.latest-content { min-height: 260px; }
.latest-toolbar .eyebrow { margin-bottom: 4px; }
#latest-status { margin: 10px 0; }
@media (max-width: 1000px) {
  .masthead { gap: 14px; }
  .nav { gap: 16px; }
  .search-label { display: none; }
}
@media (max-width: 640px) {
  .masthead { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 6px; }
  .masthead .logo { font-size: 23px; gap: 7px; }
  .masthead .nav { grid-column: 1 / -1; order: 3; gap: 4px; }
  .masthead .nav a { font-size: 15px; }
  .masthead .search-link { display: flex; justify-content: center; width: 40px; margin: 0; }
  .masthead .account-link { margin: 0; min-width: 72px; padding: 8px; font-size: 12px; }
  .catalog-controls { position: relative; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .catalog-controls > .search-field { grid-column: 1 / -1; }
  .filter-disclosure { position: static; flex: 1; }
  .filter-disclosure > summary { white-space: nowrap; font-size: 13px; padding: 11px 10px; }
  .filter-popover { top: 100%; width: min(300px,100%); }
  .catalog-controls > label:not(.search-field) { min-width: 100px; flex: 1; }
  .catalog-controls > .button { width: 100%; }
  .film-score-summary { font-size: 12px; line-height: 1.4; margin-top: 8px; }
}

/* Member journeys: discovery first, public contribution by choice. */
.member-identity { border-bottom: 1px solid var(--line); padding-bottom: 14px; margin-bottom: 22px; }
.member-cards { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; margin: 14px 0 22px; }
.member-card { display: block; padding: 20px; border: 1px solid var(--line); border-radius: 5px; background: #f1f4e9; }
.member-card h3 { font-size: 20px; margin: 4px 0 10px; }
.member-card p { font-size: 14px; line-height: 1.6; color: #54614e; margin: 0 0 12px; }
.member-card .text-link { display: block; margin-top: 10px; }
.member-professional { margin: 22px 0; border-block: 1px solid var(--line); padding: 16px 0; }
.member-professional > summary { font-size: 17px; font-weight: 650; cursor: pointer; padding: 6px 0; }
.member-professional > summary span { font-size: 12px; font-weight: 400; margin-left: 12px; }
.member-professional .account-box h2 { font-size: 20px; }
.member-editor { margin-bottom: 24px; }
.member-editor h2 { font-size: 18px; }
.member-editor .button { margin: 0 8px 8px 0; }
.preference-preview { margin: 0 0 20px; border-left: 3px solid #728350; padding: 12px 16px; background: #f1f4e9; }
.preference-preview p { margin: 6px 0 0; font-size: 13px; line-height: 1.5; }
.preference-panel .button:disabled { opacity: .5; cursor: default; }
.claim-steps { list-style: none; padding: 0; margin: 0 0 12px; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 6px; }
.claim-steps button { width: 100%; padding: 12px 8px; border: 1px solid var(--line); background: transparent; color: inherit; font: inherit; font-size: 13px; cursor: pointer; border-radius: 4px; }
.claim-steps button[aria-current=step] { background: #e8eedc; border-color: #5c6e42; font-weight: 700; }
.claim-progress { margin-bottom: 20px; }
.claim-summary { border: 1px solid var(--line); border-radius: 4px; padding: 16px; margin-bottom: 16px; }
.claim-summary h3 { font-size: 16px; }
.claim-signin { max-width: 700px; margin-bottom: 30px; }
.claim-signin .text-link { display: block; margin-top: 18px; }
#claim-form .form-section[hidden] { display: none; }
#claim-form legend:focus-visible { outline: 2px solid #65784b; outline-offset: 4px; }
@media(max-width:640px) {
 .member-cards { grid-template-columns: 1fr; gap: 10px; }
 .member-card { padding: 16px; }
 .member-card h3 { font-size: 18px; }
 .member-professional > summary { font-size: 15px; line-height: 1.5; }
 .claim-steps button { font-size: 12px; padding: 10px 5px; }
 .claim-steps span { display: block; margin-top: 4px; }
 .claim-step-actions { display: flex; flex-wrap: wrap; }
 .claim-step-actions .small { width: 100%; }
}

.unsaved-dialog { width: min(480px,calc(100% - 32px)); padding: 24px; border: 1px solid var(--line); border-radius: 6px; background: #fafbf6; color: #16251f; }
.unsaved-dialog::backdrop { background: #16251f99; }
.unsaved-dialog h2 { font-size: 22px; margin: 0 0 12px; }
.unsaved-dialog p { line-height: 1.6; font-size: 14px; }
.review-evidence-items { padding-left: 20px; font-size: 12px; overflow-wrap: anywhere; }

/* Compact editorial workspace and navigable reference pages. */
.editorial-nav{display:flex;flex-wrap:wrap;gap:6px;border-bottom:1px solid var(--line,#d6ddd5);margin:0 0 20px;padding-bottom:10px}
.editorial-nav a{padding:10px 14px;border-radius:4px;font-weight:650;text-decoration:none}.editorial-nav a[aria-current=page]{background:#16251f;color:white}.editorial-nav a:last-child{margin-left:auto}
.content-status{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.content-status div{display:grid;gap:4px}.content-status span{font-size:13px}.content-proposal{min-width:0}.proposal-heading{display:flex;justify-content:space-between;align-items:start;gap:16px}.proposal-heading h2{margin:4px 0;font-size:24px}.proposal-heading p{font-size:12px;margin:4px 0 12px}.proposal-heading>a{white-space:nowrap}
.proposal-changes{border-top:1px solid #d6ddd5;margin-top:12px}.proposal-field{padding:12px 0!important;margin:0!important;border-bottom:1px solid #d6ddd5}.proposal-field h3{font-size:14px;margin:0 0 8px}.change-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:12px}.change-columns>div{min-width:0;padding:10px 12px;background:#f5f6f2;border-radius:4px}.change-columns>div:last-child{background:#edf3df}.change-label{display:block;text-transform:uppercase;letter-spacing:.07em;font-size:10px;font-weight:700;margin-bottom:5px;color:#4a584b}.change-text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px}.change-values{margin:0;padding-left:18px}.change-values li+li{margin-top:5px}.change-object{margin:0;font-size:13px}.change-object dt{font-weight:650;margin-top:8px}.change-object dd{margin:2px 0 0;overflow-wrap:anywhere}
.proposal-sources,.proposal-raw{margin:14px 0}.content-proposal summary,.editorial-correction summary{cursor:pointer;font-weight:650;padding:8px 0}.proposal-evidence{padding-left:18px;font-size:13px}.proposal-evidence li{margin:8px 0}.proposal-evidence span{margin-left:12px;color:#526051}.proposal-decision{border-top:1px solid #d6ddd5;padding-top:12px}.proposal-decision>label:not(.form-check){display:grid;gap:5px}.proposal-decision textarea{padding:10px;font:inherit}.proposal-decision .form-check{margin-bottom:12px}.content-actions{flex-wrap:wrap}.editorial-correction{margin:24px 0}.editorial-correction form{max-width:680px;display:grid;gap:12px}.editorial-correction label{display:grid;gap:5px}.editorial-correction input,.editorial-correction textarea{width:100%;padding:10px;font:inherit}.editorial-correction button{justify-self:start}
.reading-nav{max-width:760px;margin:0 auto 28px;padding:14px 16px;background:#f1f3ee;border:1px solid #d6ddd5;border-radius:5px}.reading-nav strong{font-size:12px;text-transform:uppercase;letter-spacing:.06em}.reading-nav>div{display:flex;flex-wrap:wrap;gap:4px 18px;margin-top:8px}.reading-nav a{font-size:13px;padding:7px 0;text-underline-offset:3px}.reading h2[id]{scroll-margin-top:100px}.reading h2:focus{outline:2px solid #537730;outline-offset:6px}.missing-search{max-width:500px;margin:20px 0}.missing-search label{display:block;font-size:14px;margin-bottom:8px}.missing-search>div{display:flex;gap:8px}.missing-search input{min-width:0;flex:1;padding:10px;font:inherit}
@media(max-width:600px){.editorial-nav a{padding:10px;font-size:13px}.editorial-nav a:last-child{margin-left:0}.content-status{grid-template-columns:1fr;gap:10px}.content-status div{grid-template-columns:1fr 1fr;gap:8px}.proposal-heading{display:block}.proposal-heading>a{display:inline-block;margin-bottom:8px}.content-proposal{padding:12px}.change-columns{grid-template-columns:1fr}.proposal-evidence span{display:block;margin:3px 0}.reading-nav{margin-bottom:20px}}

#content-desk .latest-toolbar>label{min-width:170px;flex:1 0 170px;max-width:280px}

/* Events: location first, compact discovery, explicit provider handoff. */
.events-heading{display:grid;grid-template-columns:1fr 320px;gap:28px;align-items:center}.events-heading h1{font-size:clamp(36px,4.5vw,62px);line-height:1.02;margin:10px 0 14px}.events-heading p{font-size:16px}.events-ticket{background:#193b30;color:#e7efdc;transform:rotate(3deg);padding:26px;border-radius:14px;border:1px dashed #a8bb84;box-shadow:10px 10px 0 #d5f364}.events-ticket span{font-size:10px;letter-spacing:.15em}.events-ticket strong{display:block;font-size:47px;letter-spacing:-2px;margin:16px 0}.events-ticket div{font-size:11px;letter-spacing:.08em;border-top:1px dashed #92a48b;padding-top:18px}.events-ticket i{display:block;font:24px monospace;letter-spacing:2px;margin-top:13px}
.event-location{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) auto;gap:12px;align-items:end;padding:18px;background:#eef2e8;border:1px solid #d6dfce;border-radius:6px}.event-location label{font-size:12px;font-weight:600;display:flex;flex-wrap:wrap;gap:4px 8px}.event-location label .small{font-weight:400}.event-location input,.event-location select{display:block;flex-basis:100%;width:100%;min-width:0;min-height:44px;padding:10px;border:1px solid #becab4;background:white;border-radius:3px;font:14px inherit}.event-location p{grid-column:1/-1;font-size:12px;margin:0}.event-location .text-link{font-size:12px;margin-left:6px}.event-categories{display:flex;gap:8px;overflow-x:auto;padding:18px 1px 10px;scrollbar-width:thin}.event-categories button{flex-shrink:0;border:1px solid #cbd4c4;background:transparent;padding:10px 16px;border-radius:30px;font:inherit;font-size:13px;cursor:pointer;min-height:42px}.event-categories button[aria-pressed=true]{background:#162b22;color:#fff;border-color:#162b22}.event-filters{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin:6px 0 12px}.event-filters label{font-size:12px;display:grid;gap:4px}.event-filters label:nth-child(2){flex:1;max-width:380px}.event-filters select,.event-filters input{padding:10px;border:1px solid #cbd4c4;min-height:42px;font:inherit;background:#fff;border-radius:3px;min-width:0}#event-status{font-size:13px;color:#4e5b4f;margin:10px 0}
.event-section{margin:22px 0 28px}.event-section-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px}.event-section-heading h2{font-size:24px;line-height:1.2;margin:4px 0;scroll-margin-top:90px}.event-section-heading .eyebrow{font-size:10px}.event-rail{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:10px;scrollbar-width:thin}.event-card{flex:0 0 min(360px,88vw);border:1px solid #d9dfd3;border-radius:8px;overflow:hidden;background:#fff;scroll-snap-align:start;display:flex;flex-direction:column}.event-date-panel{background:#e1eacb;padding:18px 20px;display:grid;grid-template-columns:1fr auto;gap:4px 14px}.event-date-panel>span{grid-column:1/-1;font-size:11px;font-weight:650;text-transform:uppercase;letter-spacing:.05em}.event-date-panel strong{font-size:31px;font-weight:500;align-self:end;text-transform:uppercase}.event-date-panel b{grid-column:2;grid-row:2/4;font-size:58px;letter-spacing:-3px;line-height:1}.event-date-panel small{font-size:11px}.event-card[data-kind=concerts] .event-date-panel{background:#193b30;color:white}.event-card[data-kind=comedy] .event-date-panel{background:#f0d8bc}.event-card-body{display:flex;flex-direction:column;align-items:start;padding:16px;flex:1}.event-card-body h3{font-size:22px;line-height:1.2;margin:6px 0 10px}.event-card-body p{font-size:13px;line-height:1.5;margin:6px 0}.event-card-body .event-place{font-size:11px;color:#5c6759;margin:0}.event-card-body .event-date-range{font-weight:650}.event-card-body .button{font-size:12px;padding:10px 14px;margin:12px 0 9px}.event-card-body>small{font-size:10px;color:#586550;margin-top:auto}.event-card-body .event-availability{font-size:12px;background:#f8edd9;padding:8px}.event-empty{padding:20px;background:#f1f3ee;border:1px dashed #b8c6ad;border-radius:5px;width:100%;font-size:14px}.event-empty h3{font-size:18px;margin:0 0 8px}.event-empty p{margin:0 0 12px;font-size:14px}
.booking-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.booking-provider{display:flex;gap:12px;align-items:center;min-width:0;border:1px solid #d5ddcf;border-radius:5px;padding:14px;text-decoration:none;background:#fff}.booking-provider:hover{border-color:#526f40;background:#f5f8ed}.booking-provider>div{flex:1;min-width:0}.booking-provider strong{display:block;font-size:15px}.booking-provider small{display:block;font-size:11px;color:#56634f;margin-top:4px}.booking-monogram{display:grid;place-items:center;width:36px;height:36px;flex-shrink:0;background:#e8efda;border-radius:8px;font-size:21px;font-weight:700}.event-coverage{border-top:1px solid #d5ddcf;padding:16px 0 26px;font-size:13px}.event-coverage summary{cursor:pointer;font-weight:650}.event-coverage p{max-width:800px;line-height:1.6}.event-filters button,.event-location button{cursor:pointer}
@media(max-width:850px){.events-heading{grid-template-columns:1fr 240px}.events-ticket strong{font-size:38px}.event-location{grid-template-columns:1fr 1fr}.event-location>.button{grid-column:1/-1;justify-self:start}.booking-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.events-heading{display:block;margin-bottom:20px}.events-ticket{display:none}.events-heading h1{font-size:38px}.events-heading p{font-size:14px}.event-location{padding:12px;gap:10px;grid-template-columns:1fr}.event-location>.button{width:100%}.event-location label{min-width:0}.event-section-heading{align-items:start;flex-direction:column;gap:6px}.event-section-heading h2{font-size:22px}.event-filters label{flex:1;min-width:135px}.event-filters label:nth-child(2){max-width:none}.booking-grid{grid-template-columns:1fr}.event-card{flex-basis:87%;min-width:260px}.event-rail{padding-bottom:14px}.nav{gap:12px}.nav a{white-space:nowrap}}

.events-heading{grid-template-columns:1fr 260px;padding-top:24px;padding-bottom:24px;margin-bottom:0}.events-heading h1{font-size:clamp(36px,4vw,50px)}.events-ticket{padding:20px}.events-ticket strong{font-size:36px;margin:12px 0}.events-ticket div{padding-top:12px}.events-ticket i{font-size:18px;margin-top:8px}
#events-app button.text-link{border:0;background:none;color:inherit;font:inherit;font-size:13px;padding:6px 0;text-decoration:underline;text-underline-offset:4px;cursor:pointer}.event-location input,.event-location select{font:inherit;font-size:14px}
@media(max-width:600px){.events-heading h1{font-size:36px}.events-heading{padding-top:22px;padding-bottom:10px}}
.developer-heading h1{font-size:clamp(34px,4vw,52px);line-height:1.06}.developer-badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.developer-badges span{font-size:12px;border:1px solid var(--line,#d9ddd3);padding:5px 9px;border-radius:4px}.developer-docs{max-width:1050px}.developer-docs pre{background:#182720;color:#e9f2e4;padding:18px;border-radius:8px;overflow:auto;max-height:420px;font-size:13px;line-height:1.65;max-width:100%}.developer-docs code{font-size:.9em;overflow-wrap:anywhere}.developer-table{overflow:auto;max-width:100%}.developer-table table{border-collapse:collapse;width:100%;min-width:650px;font-size:13px;line-height:1.6}.developer-table td,.developer-table th{padding:12px 10px;border-bottom:1px solid #d8ded5;text-align:left;vertical-align:top}.developer-explorer{display:flex;align-items:end;gap:12px;margin-top:18px}.developer-explorer label{flex:1;font-size:13px;font-weight:600}.developer-explorer input{display:block;width:100%;padding:12px;margin-top:6px;border:1px solid #b9c4b9;border-radius:5px;background:#fff;font:inherit}.developer-docs details{margin:20px 0}.developer-docs summary{cursor:pointer;font-weight:600}.developer-docs h2{scroll-margin-top:100px}@media(max-width:600px){.developer-explorer{align-items:stretch;flex-direction:column}.developer-docs pre{padding:12px;font-size:12px}.developer-docs{min-width:0}}

/* Give the five main sections the full mobile row and comfortable tap targets. */
@media(max-width:700px){
  .masthead .nav{width:100%;gap:2px;justify-content:space-between}
  .masthead .nav a{flex:1 0 auto;text-align:center;font-size:15px;min-height:44px;padding:12px 2px}
}

/* Home: one editorial lead, followed by two filtered discovery rows. */
.home-spotlight{margin:16px 0 20px}.home-spotlight .feature-grid{grid-template-columns:minmax(0,1.65fr) minmax(300px,1fr)}
.home-spotlight .home-review h3{display:block;font-size:1.45rem;line-height:1.2;margin:12px 0}
.home-review .feature-verdict{font-size:15px;line-height:1.55;margin:0 0 14px}.home-review .score-line{margin:4px 0 12px}.home-review .score-value{font-size:42px}
.feature-navigation{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px}.feature-navigation .rail-controls{display:flex}.home-empty{padding:18px;border:1px solid var(--line,#d9ded7)}
@media(max-width:700px){.home-spotlight .feature-grid{grid-template-columns:1fr}.home-spotlight .feature-grid>.home-review{display:block}.home-spotlight .feature,.home-spotlight .feature-content{min-height:280px}.home-review{padding:18px}.home-review .score-line{display:flex;gap:16px;align-items:center}.feature-navigation{align-items:center}.feature-navigation .small{max-width:70%}}
