/* Movies uses the Books tokens and navigation, with its own editorial layouts. */
body[data-movies-page] { background: #f7f5f1; }
body[data-movies-page] .books-section { padding-block: clamp(48px, 6vw, 88px); }
body[data-movies-page] .section-heading { margin-bottom: 27px; }
body[data-movies-page] .section-heading h2 { font-size: clamp(2.1rem, 3vw, 3.15rem); }
body[data-movies-page] .section-heading .text-link { flex: none; font-size: .82rem; font-weight: 720; }
.movie-meta-dot { margin-inline: .35em; opacity: .55; }
body[data-movies-page] .books-header-inner { position: relative; }
body[data-movies-page] .books-brand { min-height: 44px; }
body[data-movies-page] .movie-desktop-nav a { display: inline-flex; align-items: center; min-height: 44px; }
body[data-movies-page] .language-switcher button { min-width: 44px; min-height: 44px; }
body[data-movies-page] footer { background: #345f79; }
.movie-mobile-nav { display: none; }

/* The opening is deliberately shorter than a full-screen marketing hero. */
.movie-intro { padding-top: clamp(34px, 3vw, 45px); padding-bottom: clamp(28px, 2.6vw, 38px); }
.movie-intro h1 { max-width: 13ch; margin-top: 12px; font-size: clamp(3.4rem, 6vw, 6rem); font-weight: 760; line-height: .96; letter-spacing: -.072em; text-wrap: balance; }
.movie-intro p { max-width: 54ch; margin-top: 18px; color: var(--muted); font-size: clamp(1.05rem, 1.5vw, 1.27rem); }
.movie-feature-section { padding-bottom: clamp(55px, 7vw, 92px); }
.movie-feature-grid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); gap: 25px 28px; align-items: start; }
.movie-feature-grid .movie-story--lead { grid-row: span 2; }

/* Original abstract covers distinguish the guides without implying film artwork rights. */
.movie-collection-art { --art-bg: #dcecf7; --art-ink: #345974; --art-accent: #f5dfe4; --art-rotate: -19deg; --art-size: 35%; position: relative; display: block; width: 100%; aspect-ratio: 1.95; overflow: hidden; isolation: isolate; background: var(--art-bg); }
.movie-collection-art::before { content: ''; position: absolute; width: var(--art-size); aspect-ratio: 1; top: 50%; left: 50%; border: clamp(14px,2.6vw,35px) solid var(--art-ink); border-radius: 50%; transform: translate(-50%,-50%) rotate(var(--art-rotate)); opacity: .83; }
.movie-collection-art::after { content: ''; position: absolute; width: 74%; height: 18%; top: 40%; left: 13%; background: var(--art-accent); transform: rotate(var(--art-rotate)); mix-blend-mode: multiply; }
.movie-art-mark { position: absolute; z-index: 1; width: 19%; height: 58%; top: 21%; left: 15%; border: 1px solid var(--art-ink); transform: rotate(calc(var(--art-rotate) * -1)); opacity: .63; }
.movie-art-rule { position: absolute; z-index: 2; right: 8%; bottom: 12%; width: 28%; border-top: 2px solid var(--art-ink); }
.art-movies-everyone-should-watch { --art-bg:#dcecf7; --art-ink:#245d83; --art-accent:#f2dacd; --art-rotate:-27deg; --art-size:39%; }
.art-movies-for-a-friday-night { --art-bg:#263344; --art-ink:#f3d4a8; --art-accent:#c17170; --art-rotate:24deg; --art-size:34%; }
.art-modern-cinema-essentials { --art-bg:#e4e1ed; --art-ink:#545176; --art-accent:#a9c8c5; --art-rotate:-12deg; --art-size:43%; }
.art-international-cinema-essentials { --art-bg:#e7eee8; --art-ink:#436b61; --art-accent:#eac3aa; --art-rotate:33deg; }
.art-brazilian-cinema-essentials { --art-bg:#e9d5bd; --art-ink:#536c5c; --art-accent:#e7a599; --art-rotate:-38deg; --art-size:43%; }
.art-feel-good-movies { --art-bg:#f5dfe4; --art-ink:#805264; --art-accent:#e1c782; --art-rotate:15deg; }
.art-movies-that-make-you-think { --art-bg:#d9e1de; --art-ink:#3d6061; --art-accent:#cfb9d8; --art-rotate:-8deg; --art-size:46%; }
.art-movies-with-unforgettable-endings { --art-bg:#d9dce8; --art-ink:#525a7c; --art-accent:#e6b4ad; --art-rotate:39deg; }
.art-science-fiction-essentials { --art-bg:#cfdde2; --art-ink:#315668; --art-accent:#9bb2c3; --art-rotate:-43deg; }
.art-thrillers-worth-watching { --art-bg:#c9d1cf; --art-ink:#344d4b; --art-accent:#b7766b; --art-rotate:58deg; }
.art-horror-essentials { --art-bg:#d8d3d1; --art-ink:#56434b; --art-accent:#a5797c; --art-rotate:-51deg; }
.art-best-romantic-movies { --art-bg:#f0d9d6; --art-ink:#865861; --art-accent:#dcbcb1; --art-rotate:21deg; }
.art-animation-essentials { --art-bg:#e4e6cf; --art-ink:#5b7052; --art-accent:#e7ae9b; --art-rotate:-29deg; }
.art-comedy-favorites { --art-bg:#f3e4bf; --art-ink:#786244; --art-accent:#d2c5a6; --art-rotate:49deg; }
.art-christopher-nolan-essentials { --art-bg:#d1dbde; --art-ink:#425565; --art-accent:#a8bcc6; --art-rotate:-58deg; }
.art-wes-anderson-essentials { --art-bg:#e7d9d0; --art-ink:#886c62; --art-accent:#c8d6bf; --art-rotate:7deg; }
.art-quentin-tarantino-essentials { --art-bg:#d7c5c0; --art-ink:#66464a; --art-accent:#baa58a; --art-rotate:31deg; }
.art-studio-ghibli-essentials { --art-bg:#d9e6dc; --art-ink:#537765; --art-accent:#e0d4bd; --art-rotate:-16deg; }
.art-studio-ghibli-essentials .movie-art-mark, .art-best-romantic-movies .movie-art-mark { border-radius: 50% 50% 4% 4%; }
.art-science-fiction-essentials .movie-art-mark, .art-christopher-nolan-essentials .movie-art-mark { border-radius: 50%; }
.art-movies-for-a-friday-night .movie-art-mark, .art-horror-essentials .movie-art-mark { left: 68%; }
.art-modern-cinema-essentials::before, .art-movies-that-make-you-think::before, .art-christopher-nolan-essentials::before { border-radius: 4%; transform: translate(-50%,-50%) rotate(var(--art-rotate)); }
.art-international-cinema-essentials::before, .art-quentin-tarantino-essentials::before { width: 58%; height: 56%; aspect-ratio: auto; border-radius: 0; }
.art-brazilian-cinema-essentials::before, .art-feel-good-movies::before { top: 64%; left: 66%; width: 42%; }
.art-movies-with-unforgettable-endings::before, .art-horror-essentials::before { top: 23%; left: 77%; width: 60%; }
.art-science-fiction-essentials::after, .art-thrillers-worth-watching::after { width: 13%; height: 95%; top: 3%; left: 54%; }
.art-best-romantic-movies::before { width: 27%; left: 42%; box-shadow: 75px 0 0 -3px var(--art-bg), 75px 0 0 1px var(--art-ink); }
.art-animation-essentials::after, .art-comedy-favorites::after { width: 35%; height: 35%; top: 18%; left: 58%; border-radius: 50%; }
.art-wes-anderson-essentials::before { width: 29%; left: 50%; border-width: clamp(20px,3vw,42px); }
.art-studio-ghibli-essentials::after { width: 65%; height: 54%; top: 48%; left: 18%; border-radius: 50% 50% 0 0; }

body[data-movies-page] .collection-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 36px 24px; border: 0; }
.movie-story-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 38px 28px; }
.movie-story-grid--what-to-watch, .movie-story-grid--genres { grid-template-columns: repeat(3,minmax(0,1fr)); }
.movie-story-grid--filmmakers { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 22px; }
body[data-movies-page] .movie-story { display: flex; flex-direction: column; min-width: 0; min-height: 0; padding: 0; border: 0; background: transparent; transition: none; }
body[data-movies-page] .movie-story[hidden] { display: none; }
body[data-movies-page] .movie-story:hover { background: transparent; }
.movie-story .movie-collection-art { flex: none; transition: filter .2s ease; }
.movie-story:hover .movie-collection-art { filter: saturate(1.18); }
.movie-story:focus-visible { outline-offset: 7px; }
.movie-story .collection-copy { display: block; padding-top: 15px; }
.movie-story .eyebrow { font-size: .7rem; }
body[data-movies-page] .movie-story h3 { max-width: 21ch; margin-top: 7px; font-size: clamp(1.45rem,2vw,2.05rem); line-height: 1.1; letter-spacing: -.048em; }
body[data-movies-page] .movie-story--lead h3 { max-width: 17ch; font-size: clamp(2.5rem,3.7vw,4rem); line-height: 1.02; }
body[data-movies-page] .movie-story--feature h3 { font-size: clamp(1.55rem,2vw,2.15rem); }
body[data-movies-page] .movie-story--compact h3 { font-size: clamp(1.35rem,1.75vw,1.8rem); }
body[data-movies-page] .movie-story .collection-description { display: block; max-width: 58ch; margin-top: 9px; color: var(--muted); font-size: .9rem; line-height: 1.45; }
.movie-story--lead .collection-description { max-width: 45ch; font-size: 1rem !important; }
.movie-story--compact .collection-description { display: -webkit-box !important; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.movie-story .story-arrow { display: inline-block; margin-top: 12px; color: var(--blue-deep); font-size: .78rem; font-weight: 760; }
.movie-story:hover h3, .movie-story:focus-visible h3 { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; }
.movie-feature-grid .movie-story--lead .movie-collection-art { aspect-ratio: 1.72; }
.movie-feature-grid .movie-story--feature .movie-collection-art { aspect-ratio: 2.6; }
.movie-story--compact .movie-collection-art { aspect-ratio: 2.1; }
.movie-mood-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 0 25px; border-top: 1px solid var(--line); }
.movie-mood-grid a { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 63px; border-bottom: 1px solid var(--line); font-size: .95rem; font-weight: 730; }
.movie-mood-grid a span:last-child { color: var(--blue-deep); }
.movie-mood-grid a:hover { color: var(--blue-deep); }

/* Browse and collections index retain their existing search and filter behavior. */
.movie-filters { grid-template-columns: minmax(170px,1.5fr) repeat(3,minmax(120px,1fr)); }
.movie-card--art a { grid-template-columns: 55px minmax(0,1fr) minmax(150px,.22fr) 22px; }
.movie-card-art { width: 55px; height: 70px; }
.movie-card-art img { display: block; width: 100%; height: 100%; object-fit: contain; }
body[data-movies-page="collections"] .collection-grid { margin-top: 28px; }
body[data-movies-page="collections"] .movie-story .movie-collection-art { aspect-ratio: 1.8; }
.movie-source-links { display: flex; flex-wrap: wrap; gap: 10px 18px; margin: 0 0 18px; font-size: .82rem; font-weight: 750; }
.movie-source-links a { color: var(--blue-deep); text-decoration: underline; text-underline-offset: 3px; }
.movie-source-card { grid-template-columns: 72px minmax(0,1fr) auto; align-items: start; }
.movie-source-card small,.movie-source-card em,.movie-source-method { display: block; margin-top: 4px; color: var(--muted); font-size: .78rem; font-style: normal; line-height: 1.45; }
.movie-source-card em { color: #75546a; font-weight: 750; }

/* Collection pages read as guides, with the approved editorial text visible. */
.movie-guide-intro { padding-top: clamp(36px,5vw,72px); padding-bottom: clamp(55px,7vw,98px); }
.movie-guide-intro h1 { max-width: 16ch; margin-top: 13px; font-size: clamp(3.2rem,6vw,6rem); line-height: .98; letter-spacing: -.068em; text-wrap: balance; }
.movie-guide-intro p { max-width: 57ch; margin-top: 25px; color: var(--muted); font-size: clamp(1.13rem,1.8vw,1.45rem); line-height: 1.5; }
.movie-guide-count { display: block; margin-top: 24px; color: var(--blue-deep); font-size: .8rem; font-weight: 760; }
.movie-guide-count > span[aria-hidden] { margin-inline: 9px; color: var(--line); }
.movie-guide-body { padding-top: 0 !important; }
.movie-guide-entries { max-width: 960px; border-top: 1px solid var(--line); }
.movie-guide-entry { display: grid; grid-template-columns: minmax(0,1fr); gap: 34px; padding-block: clamp(34px,5vw,65px); border-bottom: 1px solid var(--line); }
.movie-guide-entry--art { grid-template-columns: minmax(180px,.42fr) minmax(0,1fr); }
.movie-guide-entry:nth-child(even).movie-guide-entry--art .movie-guide-art { order: 2; }
.movie-guide-art img { display: block; width: 100%; height: auto; }
.movie-guide-copy { max-width: 66ch; }
.movie-guide-entry h2 { margin-top: 8px; font-size: clamp(2rem,3vw,3.3rem); line-height: 1.08; letter-spacing: -.054em; }
.movie-guide-entry h2 a:hover { color: var(--blue-deep); }
.movie-guide-director { margin-top: 10px; color: var(--muted); font-size: .85rem; }
.movie-guide-description { max-width: 65ch; margin-top: 22px; font-size: clamp(1rem,1.3vw,1.12rem); line-height: 1.7; }
.movie-guide-link, .movie-guide-back { display: inline-block; margin-top: 22px; color: var(--blue-deep); font-size: .83rem; font-weight: 760; text-decoration: underline; text-underline-offset: 4px; }
.movie-guide-back { margin-top: 30px; }

/* Film pages keep facts separate from the editorial recommendation. */
.movie-detail { padding-top: clamp(30px,5vw,58px); padding-bottom: clamp(55px,7vw,90px); }
.movie-detail .detail-layout { grid-template-columns: minmax(0,1.45fr) minmax(245px,.55fr); gap: clamp(36px,6vw,90px); margin-top: 4px; }
.movie-detail h1 { max-width: 14ch; margin-top: 12px; font-size: clamp(3.5rem,6vw,6.4rem); line-height: 1; }
.movie-original-title { margin-top: 16px; color: var(--muted); font-size: .98rem; }
.movie-detail .detail-author { margin-top: 22px !important; font-size: 1rem !important; font-weight: 700; }
.movie-detail .detail-description { max-width: 61ch; margin-top: 30px; font-size: clamp(1.15rem,1.6vw,1.4rem); line-height: 1.62; }
.movie-detail .detail-tags { margin-top: 32px; }
.movie-detail .detail-facts { padding: 25px 26px; border: 1px solid var(--line); border-radius: 0; background: #fffdfa; }
.movie-detail .detail-facts dl > div { border-color: var(--line); }
.movie-detail .detail-cover { max-width: none; }
.movie-more-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 25px; border-top: 1px solid var(--line); }
.movie-more-grid .movie-card a { grid-template-columns: minmax(0,1fr) auto; }
.movie-more-grid .book-card-meta { display: none; }
.movie-related-list { border-top: 1px solid var(--line); }
.movie-related-list a { display: grid; grid-template-columns: minmax(0,1fr) auto 20px; gap: 16px; align-items: center; min-height: 68px; border-bottom: 1px solid var(--line); font-weight: 730; }
.movie-related-list a:hover { color: var(--blue-deep); }
.movie-related-list small { color: var(--muted); font-size: .76rem; font-weight: 600; }
.fact-source { max-width: 960px; margin-left: max(0px,calc((100% - var(--wrap))/2)); }

@media (max-width: 960px) {
  body[data-movies-page] .books-header-inner { min-height: 72px; flex-wrap: nowrap; gap: 12px; padding-block: 8px; }
  body[data-movies-page] .movie-desktop-nav { display: none; }
  body[data-movies-page] .language-switcher { margin-left: 0; }
  .movie-mobile-nav { display: block; margin-left: auto; }
  .movie-mobile-nav summary { display: flex; align-items: center; justify-content: center; gap: 8px; min-width: 74px; min-height: 44px; padding: 0 8px; border: 1px solid var(--line); border-radius: 7px; cursor: pointer; font-size: .82rem; font-weight: 750; list-style: none; }
  .movie-mobile-nav summary::-webkit-details-marker { display: none; }
  .movie-mobile-nav[open] summary { background: var(--blue); }
  .movie-menu-icon { font-size: 1rem; line-height: 1; }
  body[data-movies-page] .movie-mobile-nav nav { position: absolute; z-index: 10; top: calc(100% - 1px); right: var(--gutter); display: grid; width: min(320px, calc(100vw - 2 * var(--gutter))); margin: 0; padding: 8px; border: 1px solid var(--line); border-radius: 0 0 9px 9px; background: var(--paper); box-shadow: 0 18px 32px rgba(23,36,45,.16); white-space: normal; overflow: visible; }
  body[data-movies-page] .movie-mobile-nav:not([open]) nav { display: none; }
  .movie-mobile-nav nav a { display: flex; align-items: center; min-height: 44px; padding: 8px 12px; border-radius: 5px; font-size: .92rem; }
  .movie-mobile-nav nav a:hover, .movie-mobile-nav nav a:focus-visible { background: var(--blue); }
}
@media (max-width: 1050px) {
  .movie-filters { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .movie-filters label:first-child { grid-column: 1 / -1; }
  .movie-story-grid--filmmakers, body[data-movies-page] .collection-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 800px) {
  .movie-feature-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .movie-feature-grid .movie-story--lead { grid-column: 1 / -1; grid-row: auto; }
  .movie-feature-grid .movie-story--lead .movie-collection-art { aspect-ratio: 2; }
  .movie-story-grid--what-to-watch, .movie-story-grid--genres { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .movie-mood-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .movie-detail .detail-layout { grid-template-columns: minmax(0,1fr) minmax(220px,.55fr); }
}
@media (max-width: 680px) {
  .movie-intro { padding-top: 34px; padding-bottom: 45px; }
  .movie-intro h1 { font-size: clamp(3rem,11vw,4.5rem); }
  .movie-feature-grid, .movie-story-grid, .movie-story-grid--what-to-watch, .movie-story-grid--genres, .movie-story-grid--filmmakers, body[data-movies-page] .collection-grid { grid-template-columns: 1fr; gap: 33px; }
  .movie-feature-grid .movie-story--lead .movie-collection-art { aspect-ratio: 1.7; }
  .movie-feature-grid .movie-story--feature .movie-collection-art { aspect-ratio: 2.2; }
  body[data-movies-page] .movie-story h3 { font-size: 1.8rem; }
  body[data-movies-page] .movie-story--lead h3 { font-size: 2.6rem; }
  .movie-mood-grid { gap: 0 14px; }
  .movie-mood-grid a { min-height: 62px; font-size: .83rem; }
  .movie-guide-intro h1 { font-size: clamp(3rem,10vw,4.4rem); }
  .movie-guide-entry--art { grid-template-columns: 1fr; }
  .movie-guide-entry:nth-child(even).movie-guide-entry--art .movie-guide-art { order: 0; }
  .movie-guide-art img { max-width: 340px; }
  .movie-detail .detail-layout { grid-template-columns: 1fr; gap: 38px; }
  .movie-detail h1 { font-size: clamp(3.2rem,10vw,4.8rem); }
  .movie-more-grid { grid-template-columns: 1fr; }
  .movie-related-list a { grid-template-columns: minmax(0,1fr) 18px; }
  .movie-related-list small { display: none; }
  .movie-card--art a { grid-template-columns: 48px minmax(0,1fr) 18px; }
  .movie-source-card { grid-template-columns: 1fr auto; }
}
@media (prefers-reduced-motion: reduce) {
  .movie-story .movie-collection-art { transition: none; }
}
