:root { --ink:#121212; --paper:#f1eee5; --orange:#ff553c; --acid:#cdfc51; --muted:#6f6b62; --line:rgba(18,18,18,.17); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:"DM Sans",sans-serif; overflow-x:hidden; }
.grain { position:fixed; pointer-events:none; inset:0; z-index:8; opacity:.13; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E"); }
.site-header { height:86px; display:flex; align-items:center; justify-content:space-between; padding:0 clamp(22px,5vw,76px); border-bottom:1px solid var(--line); position:relative; z-index:2; }
.wordmark { color:var(--ink); font:700 25px/1 "DM Sans",sans-serif; letter-spacing:-1.8px; text-decoration:none; } .wordmark span:not(.mark) { font-family:"Playfair Display",serif; font-style:italic; letter-spacing:-2px; } .wordmark .mark { color:var(--orange); }
nav { display:flex; gap:32px; margin-left:98px; } nav a,.header-link { color:var(--ink); text-decoration:none; font:500 12px "DM Mono",monospace; letter-spacing:.02em; text-transform:uppercase; } nav a:hover,.header-link:hover { color:var(--orange); } .header-link span { color:var(--orange); margin-left:4px; }
.hero { min-height:640px; display:grid; grid-template-columns:1.02fr .98fr; padding:clamp(70px,11vw,150px) clamp(22px,9vw,140px) 90px; gap:50px; position:relative; }
.hero-copy { position:relative; z-index:1; } .eyebrow { font:500 11px/1.3 "DM Mono",monospace; letter-spacing:.09em; text-transform:uppercase; color:var(--muted); margin:0 0 24px; } .eyebrow span { display:inline-block; width:7px; height:7px; margin:0 8px 1px 0; background:var(--orange); border-radius:50%; }
h1,h2 { margin:0; font:700 clamp(58px,7vw,112px)/.89 "DM Sans",sans-serif; letter-spacing:-.077em; } h1 em,h2 em { font-family:"Playfair Display",serif; font-weight:600; letter-spacing:-.09em; } .hero-description { width:min(405px,100%); margin:32px 0; color:#4d4b45; font-size:17px; line-height:1.55; }
.hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:24px; } .button { display:inline-flex; gap:24px; align-items:center; text-decoration:none; font:600 12px "DM Mono",monospace; letter-spacing:.04em; text-transform:uppercase; } .button-primary { background:var(--ink); color:var(--paper); padding:18px 19px; } .button-primary:hover { background:var(--orange); } .button-text { color:var(--ink); border-bottom:1px solid var(--ink); padding-bottom:5px; } .button-text:hover { color:var(--orange); border-color:var(--orange); }
.hero-art { position:relative; min-height:430px; } .hero-photo { position:absolute; width:58%; aspect-ratio:3/4; right:10%; top:1%; background:linear-gradient(150deg,rgba(10,10,10,.05),rgba(10,10,10,.6)),url('https://images.unsplash.com/photo-1485846234645-a62644f84728?auto=format&fit=crop&w=900&q=85') center/cover; filter:saturate(.75) contrast(1.08); }
.film-frame { position:absolute; border:1px solid var(--ink); width:53%; aspect-ratio:3/4; } .frame-one { left:7%; top:9%; background:var(--acid); transform:rotate(-10deg); } .frame-two { right:1%; bottom:3%; background:var(--orange); transform:rotate(7deg); } .frame-three { left:20%; bottom:0; background:transparent; transform:rotate(2deg); }
.frame-caption { position:absolute; left:-3%; bottom:7%; font:500 11px/1.25 "DM Mono",monospace; letter-spacing:.04em; transform:rotate(-90deg); transform-origin:left top; } .frame-caption span { font-size:9px; color:var(--muted); }.ticket { position:absolute; top:12%; right:0; background:var(--paper); border:1px solid var(--ink); padding:11px 15px; transform:rotate(8deg); font:500 10px/1.4 "DM Mono",monospace; text-align:center; }.ticket span { font-size:8px; }
.ticker { border-top:1px solid var(--ink); border-bottom:1px solid var(--ink); background:var(--orange); white-space:nowrap; overflow:hidden; height:48px; display:flex; align-items:center; } .ticker div { font:500 12px "DM Mono",monospace; letter-spacing:.06em; animation:marquee 28s linear infinite; } .ticker b { margin:0 16px; } .pulse { width:8px; height:8px; display:inline-block; background:var(--acid); border-radius:50%; margin:0 12px 0 10px; }
.section { padding:clamp(80px,10vw,148px) clamp(22px,9vw,140px); border-bottom:1px solid var(--line); }.section-heading { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:50px; }.section-heading h2,.about h2 { font-size:clamp(47px,5.9vw,91px); }.feed-status { font:500 10px "DM Mono",monospace; letter-spacing:.07em; text-transform:uppercase; margin-bottom:10px; }.status-dot { display:inline-block; width:7px; height:7px; border-radius:50%; background:#53a44d; margin-right:7px; }
.review-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:34px 18px; }.review-card { min-width:0; }.poster { height:330px; position:relative; overflow:hidden; display:flex; align-items:center; justify-content:center; color:#fff; text-align:center; font:700 31px/.8 "DM Sans",sans-serif; letter-spacing:-.08em; background-position:center; background-size:cover; isolation:isolate; }.poster::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,transparent 42%,rgba(0,0,0,.6)); }.poster small { position:absolute; bottom:14px; left:14px; font:500 9px "DM Mono",monospace; letter-spacing:.08em; }.review-card-content { padding:16px 2px 0; }.review-meta { display:flex; justify-content:space-between; gap:8px; color:var(--muted); font:500 9px "DM Mono",monospace; letter-spacing:.08em; }.rating { color:var(--orange); letter-spacing:0; font-size:13px; white-space:nowrap; }.review-card h3 { margin:11px 0 8px; font-size:23px; letter-spacing:-.06em; }.review-card p { margin:0 0 15px; color:#514e48; font-size:13px; line-height:1.48; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }.review-card button { cursor:pointer; appearance:none; border:0; border-bottom:1px solid var(--ink); padding:0 0 4px; background:transparent; color:var(--ink); font:600 10px "DM Mono",monospace; text-transform:uppercase; letter-spacing:.04em; }.review-card button:hover,.about a:hover { color:var(--orange); border-color:var(--orange); }.catalogue-note { text-align:center; margin:55px 0 0; color:var(--muted); font:500 10px "DM Mono",monospace; letter-spacing:.07em; text-transform:uppercase; }
.support { background:var(--ink); color:var(--paper); display:grid; grid-template-columns:1.05fr .95fr; gap:100px; align-items:end; }.support .eyebrow { color:#a9a59a; }.support h2 { font-size:clamp(43px,5.4vw,82px); }.support-copy>p:last-child { color:#b7b3a7; line-height:1.55; max-width:430px; margin:28px 0 0; }.signup-form { padding-bottom:5px; }.signup-form label { display:block; font:500 10px "DM Mono",monospace; text-transform:uppercase; letter-spacing:.08em; margin-bottom:11px; color:#b7b3a7; }.email-row { display:flex; border-bottom:1px solid #a9a59a; }.email-row input { flex:1; color:var(--paper); background:transparent; border:0; outline:0; min-width:0; padding:12px 0; font:400 17px "DM Sans",sans-serif; }.email-row input::placeholder { color:#77746d; }.email-row button { cursor:pointer; border:0; color:var(--ink); background:var(--acid); padding:11px 14px; font:600 10px "DM Mono",monospace; text-transform:uppercase; letter-spacing:.05em; }.signup-form p { color:#969288; font-size:12px; margin:11px 0 0; }
.compact { align-items:flex-end; }.section-note { max-width:285px; font-size:13px; line-height:1.45; color:var(--muted); margin:0 0 7px; }.recommendation-grid { display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:14px; }.rec { min-height:280px; padding:24px; color:var(--ink); text-decoration:none; display:flex; flex-direction:column; justify-content:space-between; transition:transform .2s ease; }.rec:hover { transform:translateY(-5px); }.rec-one { color:var(--paper); background:linear-gradient(135deg,rgba(9,9,9,.1),rgba(9,9,9,.7)),url('https://images.unsplash.com/photo-1489599849927-2ee91cede3ba?auto=format&fit=crop&w=1000&q=80') center/cover; }.rec-two { background:var(--acid); }.rec-three { background:var(--orange); }.rec-label,.rec-action { font:500 10px "DM Mono",monospace; text-transform:uppercase; letter-spacing:.07em; }.rec strong { font:600 31px/.94 "DM Sans",sans-serif; letter-spacing:-.07em; }.rec-one .rec-label,.rec-one .rec-action { color:#fff; }
.about { padding-bottom:130px; }.about-layout { display:grid; grid-template-columns:1fr 1fr; gap:12%; align-items:end; }.about-layout h2 { margin-top:3px; }.about-layout>div p { max-width:410px; color:#4d4a45; font-size:18px; line-height:1.5; margin:0 0 28px; }
footer { background:var(--ink); color:var(--paper); min-height:125px; padding:40px clamp(22px,5vw,76px); display:flex; align-items:center; justify-content:space-between; } footer .wordmark,footer a { color:var(--paper); } footer p,footer>a { color:#9c988e; font:500 10px "DM Mono",monospace; letter-spacing:.04em; text-decoration:none; text-transform:uppercase; }
.review-dialog { width:min(860px,calc(100% - 30px)); max-height:min(680px,calc(100vh - 30px)); padding:0; border:0; background:var(--paper); color:var(--ink); box-shadow:0 24px 90px rgba(0,0,0,.38); grid-template-columns:265px 1fr; overflow:hidden; }.review-dialog[open] { display:grid; }.review-dialog::backdrop { background:rgba(15,14,12,.78); backdrop-filter:blur(4px); }.dialog-poster { min-height:100%; background:linear-gradient(145deg,#b0835d,#111) center/cover; }.dialog-copy { padding:55px 60px 48px; overflow-y:auto; }.dialog-copy h2 { font-size:clamp(44px,5vw,69px); line-height:.92; }.dialog-rating { color:var(--orange); font-size:21px; margin:18px 0 27px; }.review-body { color:#3f3d38; font-size:16px; line-height:1.64; }.review-body p { margin:0 0 18px; }.dialog-close { position:absolute; z-index:2; right:16px; top:13px; border:0; background:var(--ink); color:var(--paper); height:34px; width:34px; border-radius:50%; cursor:pointer; font:300 25px/1 sans-serif; }.dialog-close:hover { background:var(--orange); }
@keyframes marquee { to { transform:translateX(-45%); } }
@media (max-width: 980px) { .review-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width: 760px) { .site-header { height:68px; } nav { display:none; }.header-link { font-size:10px; }.hero { min-height:auto; grid-template-columns:1fr; padding-top:75px; padding-bottom:70px; }.hero-art { min-height:330px; margin-top:8px; }.hero-photo { width:55%; right:14%; }.review-grid,.support,.recommendation-grid,.about-layout { grid-template-columns:1fr; }.review-grid { gap:40px; }.poster { height:430px; }.section-heading { align-items:flex-start; flex-direction:column; gap:20px; }.feed-status { margin:0; }.support { gap:55px; }.recommendation-grid { gap:12px; }.rec { min-height:220px; }.about-layout { gap:35px; }.section-note { margin:0; }.ticker { height:43px; } footer { flex-direction:column; gap:20px; align-items:flex-start; }.hero-description { font-size:15px; }.review-dialog[open] { grid-template-columns:1fr; overflow-y:auto; }.dialog-poster { min-height:220px; }.dialog-copy { padding:35px 28px 38px; overflow:visible; } }

/* Catalogue, article and local studio */
.review-card-link { display:block; color:inherit; text-decoration:none; }.review-card-link:hover .poster { transform:translateY(-4px); }.poster { transition:transform .2s ease; }.read-note { border-bottom:1px solid var(--ink); padding-bottom:4px; font:600 10px "DM Mono",monospace; text-transform:uppercase; letter-spacing:.04em; }.review-card-link:hover .read-note { color:var(--orange); border-color:var(--orange); }
.catalogue-page { padding:clamp(70px,10vw,130px) clamp(22px,9vw,140px) clamp(85px,11vw,150px); min-height:70vh; }.catalogue-intro { max-width:740px; }.catalogue-intro h1 { font-size:clamp(60px,8vw,118px); }.catalogue-intro>p:last-child { color:var(--muted); max-width:370px; margin:30px 0 0; line-height:1.55; }.catalogue-toolbar { border-top:1px solid var(--ink); border-bottom:1px solid var(--line); margin-top:65px; padding:17px 0; display:flex; justify-content:space-between; align-items:end; gap:30px; }.catalogue-search { color:var(--muted); font:500 10px "DM Mono",monospace; letter-spacing:.07em; text-transform:uppercase; }.catalogue-search input { display:block; width:min(390px,70vw); padding:9px 0 0; border:0; outline:0; background:transparent; color:var(--ink); font:500 19px "DM Sans",sans-serif; }.catalogue-search input::placeholder { color:#97938b; }.catalogue-toolbar>p { margin:0 0 7px; white-space:nowrap; color:var(--muted); font:500 10px "DM Mono",monospace; letter-spacing:.07em; text-transform:uppercase; }.catalogue-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:38px 16px; padding-top:38px; }.catalogue-card a { display:block; color:var(--ink); text-decoration:none; }.catalogue-poster { height:280px; display:flex; align-items:center; justify-content:center; text-align:center; color:white; background-position:center; background-size:cover; font:700 27px/.82 "DM Sans",sans-serif; letter-spacing:-.08em; transition:transform .2s ease; }.catalogue-card a:hover .catalogue-poster { transform:translateY(-5px); }.catalogue-card h2 { margin:13px 0 4px; font:600 19px/1 "DM Sans",sans-serif; letter-spacing:-.05em; }.catalogue-card p { margin:0; color:var(--muted); font:500 9px "DM Mono",monospace; letter-spacing:.06em; text-transform:uppercase; }.catalogue-card p span { color:var(--orange); font-size:12px; }.empty-state { font:500 12px "DM Mono",monospace; color:var(--muted); }
.review-page { min-height:72vh; }.loading-copy { padding:130px 10vw; font:500 11px "DM Mono",monospace; letter-spacing:.07em; text-transform:uppercase; }.review-article { padding:38px clamp(22px,9vw,140px) 130px; }.back-link { color:var(--ink); text-decoration:none; font:600 10px "DM Mono",monospace; text-transform:uppercase; letter-spacing:.05em; border-bottom:1px solid var(--ink); padding-bottom:4px; }.review-hero { display:grid; grid-template-columns:230px 1fr; gap:clamp(36px,7vw,110px); align-items:end; margin:60px 0 70px; }.review-poster { min-height:345px; background:linear-gradient(145deg,#95765e,#25211e) center/cover; display:flex; align-items:center; justify-content:center; color:#fff; text-align:center; font:700 36px/.8 "DM Sans",sans-serif; letter-spacing:-.08em; }.review-hero h1 { font-size:clamp(60px,8vw,118px); }.large-rating { color:var(--orange); font-size:28px; margin:22px 0 0; }.review-reading { max-width:680px; margin-left:calc(230px + clamp(36px,7vw,110px)); color:#393732; font-size:18px; line-height:1.72; }.review-reading p { margin:0 0 25px; }.review-reading blockquote { margin:34px 0; padding:3px 0 3px 25px; border-left:2px solid var(--orange); color:#5f5a51; font:italic 600 21px/1.45 "Playfair Display",serif; }.not-found { padding:120px 10vw; min-height:55vh; }.not-found h1 { margin-bottom:32px; }.not-found a { color:var(--ink); font:600 11px "DM Mono",monospace; text-transform:uppercase; text-decoration:none; border-bottom:1px solid var(--ink); padding-bottom:4px; }
.admin-body { background:#e9e4da; }.admin-label { margin:0; font:500 10px "DM Mono",monospace; text-transform:uppercase; letter-spacing:.08em; color:var(--muted); }.admin-page { padding:clamp(60px,9vw,120px) clamp(22px,9vw,140px); min-height:calc(100vh - 86px); }.admin-gate { max-width:540px; }.admin-gate h1,.admin-heading h1 { font-size:clamp(59px,7vw,100px); }.admin-gate>p:not(.eyebrow) { max-width:390px; color:var(--muted); line-height:1.5; margin:25px 0 30px; }.admin-gate form { max-width:420px; }.admin-gate label,.admin-list label,.editor-form label,.field-label { display:block; color:var(--muted); font:500 10px "DM Mono",monospace; text-transform:uppercase; letter-spacing:.07em; }.admin-gate form>div { display:flex; border-bottom:1px solid var(--ink); }.admin-gate input { flex:1; border:0; outline:0; min-width:0; padding:12px 0; background:transparent; color:var(--ink); font:400 17px "DM Sans",sans-serif; }.admin-gate button,.save-button { cursor:pointer; border:0; color:var(--paper); background:var(--ink); padding:12px 15px; font:600 10px "DM Mono",monospace; text-transform:uppercase; letter-spacing:.05em; }.form-help { color:var(--muted); font-size:12px; line-height:1.4; }.admin-heading { display:flex; justify-content:space-between; align-items:end; margin-bottom:55px; }.sign-out,.reset-button { cursor:pointer; border:0; border-bottom:1px solid var(--ink); background:transparent; padding:0 0 4px; color:var(--ink); font:600 10px "DM Mono",monospace; text-transform:uppercase; letter-spacing:.04em; }.admin-layout { display:grid; grid-template-columns:270px 1fr; gap:clamp(35px,7vw,110px); }.admin-list { border-top:1px solid var(--ink); padding-top:15px; }.admin-list select { width:100%; margin-top:14px; border:0; outline:0; background:transparent; color:var(--ink); font:500 14px/1.4 "DM Sans",sans-serif; }.admin-list option { padding:7px 2px; }.admin-list p { color:var(--muted); font:500 10px "DM Mono",monospace; letter-spacing:.05em; text-transform:uppercase; }.editor-form { border-top:1px solid var(--ink); padding-top:15px; }.editor-title { display:flex; justify-content:space-between; align-items:baseline; }.editor-title h2 { font-size:31px; }.poster-editor { display:grid; grid-template-columns:140px 1fr; gap:24px; padding:28px 0; border-bottom:1px solid var(--line); }.admin-poster { min-height:205px; background:linear-gradient(145deg,#95765e,#25211e) center/cover; }.toggle-row { margin:12px 0; cursor:pointer; color:var(--ink)!important; font:500 12px "DM Sans",sans-serif!important; text-transform:none!important; letter-spacing:0!important; }.toggle-row input { accent-color:var(--orange); margin-right:8px; }.upload-control { width:max-content; margin-top:19px; cursor:pointer; border-bottom:1px solid var(--ink); padding-bottom:4px; color:var(--ink)!important; }.upload-control input { display:none; }.field-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px 18px; padding:28px 0; }.editor-form input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.editor-form textarea { width:100%; margin-top:8px; border:0; border-bottom:1px solid var(--line); outline:0; resize:vertical; background:transparent; color:var(--ink); padding:9px 0; font:400 16px "DM Sans",sans-serif; }.editor-form input:focus,.editor-form textarea:focus { border-color:var(--orange); }.body-field { padding-bottom:29px; }.editor-actions { display:flex; flex-wrap:wrap; align-items:center; gap:20px; }.save-button { background:var(--orange); color:var(--ink); }.save-button:hover { background:var(--acid); }.editor-actions p { color:var(--muted); font-size:12px; margin:0; }
@media (max-width:980px) { .catalogue-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:760px) { .catalogue-toolbar,.admin-heading { align-items:flex-start; flex-direction:column; }.catalogue-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 13px; }.catalogue-poster { height:235px; }.review-hero,.admin-layout { grid-template-columns:1fr; }.review-reading { margin-left:0; }.review-hero { margin:40px 0 45px; }.review-poster { min-height:420px; }.admin-layout { gap:40px; }.poster-editor { grid-template-columns:110px 1fr; }.field-grid { grid-template-columns:1fr; }.admin-label { display:none; } }

/* Dark editorial theme */
:root { --ink:#f4f4f0; --paper:#111318; --orange:#ff694c; --acid:#cafb65; --muted:#a1a5ae; --line:rgba(244,244,240,.16); }
body,.admin-body { background:var(--paper); color:var(--ink); }.site-header { background:rgba(17,19,24,.9); }.wordmark,.header-link,nav a { color:var(--ink); }.hero-description,.review-card p,.about-layout>div p,.section-note,.catalogue-intro>p:last-child,.review-reading { color:#bec0c5; }.button-primary { color:#111318; }.button-text,.review-card-link,.about a { color:var(--ink); }.button-text { border-color:var(--ink); }.ticker { color:#111318; }.support { background:#06070a; color:var(--ink); }.support-copy>p:last-child,.signup-form label,.signup-form p { color:#9b9fa8; }.email-row { border-color:#737780; }.email-row input { color:var(--ink); }.rec-two,.rec-three { color:#101215; }.catalogue-card h2,.review-card h3,.review-card-link { color:var(--ink); }.review-card p { color:#aeb1b8; }.read-note { border-color:var(--ink); }.catalogue-toolbar { border-top-color:var(--ink); }.catalogue-search input { color:var(--ink); }.catalogue-poster,.review-poster { box-shadow:0 18px 42px rgba(0,0,0,.28); }.review-reading { color:#d0d2d5; }.review-reading blockquote { color:#bec2ca; }.review-metadata { display:flex; flex-wrap:wrap; gap:13px 28px; margin:27px 0 0; }.review-metadata div { display:grid; gap:4px; }.review-metadata dt { color:var(--muted); font:500 9px "DM Mono",monospace; text-transform:uppercase; letter-spacing:.08em; }.review-metadata dd { margin:0; color:var(--ink); font-size:13px; }.detail-header { min-height:86px; padding:0 clamp(22px,5vw,76px); display:grid; grid-template-columns:1fr auto 1fr; align-items:center; border-bottom:1px solid var(--line); }.detail-header .wordmark { justify-self:center; }.detail-back,.detail-all { color:var(--ink); text-decoration:none; font:600 10px "DM Mono",monospace; text-transform:uppercase; letter-spacing:.07em; }.detail-back:hover,.detail-all:hover { color:var(--orange); }.detail-all { justify-self:end; }.back-link { display:none; } footer { background:#06070a; color:var(--ink); } footer .wordmark,footer a { color:var(--ink); } footer p,footer>a { color:#8e939c; }
.featured-strip { position:absolute; inset:2% 0 0 0; }.hero-film { position:absolute; display:block; width:51%; aspect-ratio:2/3; overflow:hidden; background-color:#282b33; background-size:cover; background-position:center; box-shadow:0 25px 65px rgba(0,0,0,.48); color:#fff; text-decoration:none; transition:transform .25s ease; }.hero-film:hover { transform:translateY(-9px) rotate(0deg)!important; }.hero-film span { position:absolute; left:15px; right:15px; bottom:15px; font:600 12px/1 "DM Sans",sans-serif; letter-spacing:-.04em; opacity:0; transition:opacity .2s ease; }.hero-film:hover span { opacity:1; }.hero-film-1 { left:2%; top:3%; transform:rotate(-8deg); }.hero-film-2 { right:4%; top:9%; transform:rotate(7deg); }.hero-film-3 { left:25%; bottom:0; transform:rotate(1deg); }.frame-caption { color:var(--ink); z-index:1; }.ticket { background:#15171c; color:var(--ink); border-color:var(--line); z-index:3; }
.admin-body { color:var(--ink); }.admin-gate>p:not(.eyebrow),.form-help,.editor-actions p { color:#a1a5ae; }.admin-gate input,.editor-form input:not([type=radio]):not([type=checkbox]),.editor-form textarea { color:var(--ink); }.admin-list select { color:var(--ink); }.admin-list option { background:#15171c; }.admin-heading-actions { display:flex; align-items:center; gap:22px; }.sync-button { cursor:pointer; border:1px solid var(--orange); color:var(--ink); background:transparent; padding:10px 13px; font:600 10px "DM Mono",monospace; text-transform:uppercase; letter-spacing:.05em; }.sync-button:hover { background:var(--orange); color:#121418; }.sync-button:disabled { opacity:.5; cursor:wait; }.publish-toggle { margin:22px 0 0; color:var(--ink)!important; font:600 11px "DM Mono",monospace!important; }.publish-toggle input { accent-color:var(--orange); margin-right:8px; }.metadata-editor { border-top:1px solid var(--line); padding:25px 0 30px; }.metadata-editor .field-grid { padding-bottom:24px; }.services-field {display: flex; flex-wrap: wrap; gap: 12px 24px; margin-top: 16px; }.services-field legend { width: 100%; margin-bottom: 16px; }.services-field label { width: calc(25% - 18px); display: flex; align-items: center; gap: 8px; font-size: 14px; cursor: pointer; white-space: nowrap; }.services-field input[type="checkbox"] {margin: 0; flex-shrink: 0; }
@media (max-width:760px) { .detail-header { min-height:68px; grid-template-columns:1fr 1fr; }.detail-header .wordmark { display:none; }.detail-all { justify-self:end; }.hero-art { min-height:370px; }.hero-film { width:55%; }.hero-film-3 { left:23%; }.review-metadata { margin-top:20px; }.admin-heading-actions { width:100%; justify-content:space-between; } }

/* Poster quality, fluid themes, and navigation controls */
.grain { display:none; }.poster,.catalogue-poster,.review-poster,.hero-film { position:relative; isolation:isolate; overflow:hidden; }.poster-image,.catalogue-poster-image,.review-poster-image,.hero-poster-image { position:absolute; inset:0; z-index:0; width:100%; height:100%; display:block; object-fit:cover; object-position:center; image-rendering:auto; }.poster::after,.catalogue-poster::after,.review-poster::after,.hero-film::after { content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(180deg,transparent 36%,rgba(0,0,0,.6)); }.poster span,.poster small,.catalogue-poster span,.review-poster span,.hero-film span { position:relative; z-index:2; }.hero-film span { position:absolute; }.poster-image,.catalogue-poster-image,.review-poster-image,.hero-poster-image { transition:transform .35s ease; }.review-card-link:hover .poster-image,.catalogue-card a:hover .catalogue-poster-image,.hero-film:hover .hero-poster-image { transform:scale(1.035); }
body,.site-header,.support,footer,.catalogue-toolbar,.admin-body,.admin-list option,.theme-toggle { transition:background-color .25s ease,color .25s ease,border-color .25s ease; }.header-actions,.detail-actions { display:flex; align-items:center; gap:18px; }.theme-toggle { cursor:pointer; display:inline-flex; align-items:center; gap:8px; border:0; padding:0; background:transparent; color:var(--muted); font:500 9px "DM Mono",monospace; text-transform:uppercase; letter-spacing:.06em; }.theme-toggle:hover { color:var(--orange); }.theme-toggle i { position:relative; display:inline-block; width:29px; height:16px; border:1px solid var(--line); border-radius:20px; }.theme-toggle i::after { content:""; position:absolute; top:3px; left:3px; width:8px; height:8px; border-radius:50%; background:currentColor; transition:transform .2s ease; }.theme-toggle[aria-pressed="true"] i::after { transform:translateX(12px); }.detail-actions { justify-self:end; }.detail-all { justify-self:auto; }
:root[data-theme="light"] { --ink:#18202d; --paper:#f6f7fa; --orange:#d64d37; --acid:#bce85d; --muted:#657083; --line:rgba(24,32,45,.17); }.site-header { background:rgba(17,19,24,.9); }.support,footer { background:#06070a; }.admin-list option { background:#15171c; }:root[data-theme="light"] .site-header { background:rgba(246,247,250,.9); }:root[data-theme="light"] .support,:root[data-theme="light"] footer { background:#e9edf2; }:root[data-theme="light"] .admin-list option { background:#f6f7fa; }:root[data-theme="light"] .hero-description,:root[data-theme="light"] .review-card p,:root[data-theme="light"] .about-layout>div p,:root[data-theme="light"] .section-note,:root[data-theme="light"] .catalogue-intro>p:last-child,:root[data-theme="light"] .review-reading { color:#4c5769; }:root[data-theme="light"] .support-copy>p:last-child,:root[data-theme="light"] .signup-form label,:root[data-theme="light"] .signup-form p { color:#657083; }:root[data-theme="light"] footer p,:root[data-theme="light"] footer>a { color:#657083; }:root[data-theme="light"] .email-row input { color:var(--ink); }
@media (max-width:760px) { .header-actions { gap:10px; }.theme-toggle span { display:none; }.detail-actions { gap:12px; }.detail-actions .theme-toggle span { display:none; } }

/* Contained hero, consistent contrast, and tactile catalogue cards */
:root { --surface-raised:#171a21; --surface-strong:#07090d; --button-bg:var(--ink); --button-fg:var(--paper); --accent-text:#111318; --soft-text:#bec0c5; }.hero { overflow:hidden; }.hero-art { height:clamp(350px,42vw,500px); min-height:0; overflow:hidden; }.featured-strip { inset:0; overflow:hidden; }.hero-film { width:48%; height:84%; aspect-ratio:auto; }.hero-film-1 { left:4%; top:8%; }.hero-film-2 { right:3%; top:7%; }.hero-film-3 { left:26%; bottom:1%; }.hero-poster-image { object-fit:cover; object-position:center; }.button-primary { background:var(--button-bg); color:var(--button-fg); }.email-row button,.save-button { color:var(--accent-text); }.support,footer { background:var(--surface-strong); }.ticket { background:var(--surface-raised); color:var(--ink); border-color:var(--line); }.hero-description,.review-card p,.about-layout>div p,.section-note,.catalogue-intro>p:last-child,.review-reading { color:var(--soft-text); }.catalogue-card a { border-radius:2px; }.catalogue-card a:hover .catalogue-poster { transform:translateY(-5px) scale(1.03); box-shadow:0 22px 34px rgba(0,0,0,.32); }.catalogue-card a:hover h2 { color:var(--orange); }.review-card-link:hover .poster { transform:translateY(-4px) scale(1.015); box-shadow:0 18px 32px rgba(0,0,0,.28); }.social-links { display:flex; align-items:center; gap:13px; }.social-links a { display:grid; place-items:center; width:27px; height:27px; color:#a8aeb8; border:1px solid var(--line); border-radius:50%; transition:color .18s ease,border-color .18s ease,transform .18s ease; }.social-links a:hover { color:var(--orange); border-color:var(--orange); transform:translateY(-2px); }.social-links svg { width:13px; height:13px; fill:none; stroke:currentColor; stroke-width:1.7; }
:root[data-theme="light"] { --surface-raised:#ffffff; --surface-strong:#e8edf3; --button-bg:#172033; --button-fg:#f7f8fb; --accent-text:#101722; --soft-text:#4d586a; }.theme-toggle { color:var(--muted); }:root[data-theme="light"] .support,:root[data-theme="light"] footer { background:var(--surface-strong); }:root[data-theme="light"] .ticket { background:var(--surface-raised); }:root[data-theme="light"] .hero-description,:root[data-theme="light"] .review-card p,:root[data-theme="light"] .about-layout>div p,:root[data-theme="light"] .section-note,:root[data-theme="light"] .catalogue-intro>p:last-child,:root[data-theme="light"] .review-reading { color:var(--soft-text); }:root[data-theme="light"] .rec-one { color:#fff; }:root[data-theme="light"] .catalogue-card a:hover .catalogue-poster,:root[data-theme="light"] .review-card-link:hover .poster { box-shadow:0 19px 30px rgba(20,30,45,.2); }
@media (max-width:760px) { .hero { overflow:hidden; }.hero-art { height:350px; min-height:350px; }.hero-film { width:54%; height:82%; }.hero-film-1 { left:4%; }.hero-film-2 { right:0; }.hero-film-3 { left:23%; bottom:0; }.social-links { margin-top:2px; } }

/* Preserve the natural 2:3 shape of portrait cinema artwork in card grids. */
.poster,.catalogue-poster { height:auto; aspect-ratio:2 / 3; }

/* Admin poster preview */
.admin-poster { position:relative; isolation:isolate; overflow:hidden; }
.admin-poster-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; display:block; }
.bulk-tmdb-button { width:100%; margin-top:14px; border:1px solid var(--line); border-radius:8px; padding:10px 12px; background:transparent; color:var(--ink); font:600 10px "DM Mono",monospace; text-transform:uppercase; letter-spacing:.05em; cursor:pointer; transition:background .18s ease,color .18s ease; }.bulk-tmdb-button:hover { background:var(--orange); color:#101216; border-color:var(--orange); }.bulk-tmdb-button:disabled { opacity:.55; cursor:wait; }.poster-choices { max-width:430px; grid-template-columns:repeat(5,minmax(0,1fr)); }.poster-choice { min-width:0; }.poster-editor { align-items:start; }
.studio-action-bar { margin-top:44px; border:1px solid var(--line); border-radius:14px; padding:24px; background:color-mix(in srgb,var(--paper) 88%,var(--ink)); box-shadow:0 16px 36px rgba(0,0,0,.08); }.studio-action-bar .publish-actions { align-items:center; }.studio-action-bar .sync-button,.studio-action-bar .save-button { min-width:112px; min-height:42px; border-radius:999px; padding:0 18px; transition:transform .18s ease,box-shadow .18s ease,background .18s ease; }.studio-action-bar .sync-button { border-color:var(--line); background:var(--paper); }.studio-action-bar .sync-button:hover { background:var(--ink); color:var(--paper); border-color:var(--ink); transform:translateY(-2px); box-shadow:0 10px 20px rgba(0,0,0,.14); }.studio-action-bar .save-button { background:var(--orange); }.studio-action-bar .save-button:hover { background:var(--acid); transform:translateY(-2px); box-shadow:0 10px 20px rgba(244,87,58,.28); }.studio-action-bar select { border:1px solid var(--line); border-radius:999px; padding:9px 13px; background:var(--paper); color:var(--ink); font:600 10px "DM Mono",monospace; text-transform:uppercase; }.poster-choices { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin:16px 0; }.poster-choice { aspect-ratio:2/3; padding:0; overflow:hidden; border:2px solid transparent; background:var(--surface-raised); cursor:pointer; border-radius:6px; }.poster-choice:hover,.poster-choice.is-selected { border-color:var(--orange); }.poster-choice img { width:100%; height:100%; object-fit:cover; display:block; }
.movie-list-heading { display:flex; justify-content:space-between; align-items:center; margin-bottom:10px; }.select-all { color:var(--muted)!important; font-size:10px!important; cursor:pointer; }.select-all input { accent-color:var(--orange); margin-right:5px; }.movie-list { max-height:430px; overflow:auto; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }.movie-row { display:flex; align-items:center; gap:8px; min-width:0; padding:7px 3px; }.movie-row input { accent-color:var(--orange); flex:0 0 auto; }.movie-row button { min-width:0; overflow:hidden; border:0; padding:0; background:transparent; color:var(--ink); text-align:left; text-overflow:ellipsis; white-space:nowrap; cursor:pointer; font:500 14px/1.35 "DM Sans",sans-serif; }.movie-row button:hover,.movie-row button.is-active { color:var(--orange); }.movie-row button.is-active { font-weight:700; }
.series-studio { background:color-mix(in srgb,var(--paper) 94%,var(--orange)); }.series-create-grid { display:grid; grid-template-columns:1fr 120px auto; gap:12px; align-items:end; }.series-create-grid label { color:var(--muted); font:500 10px "DM Mono",monospace; text-transform:uppercase; letter-spacing:.06em; }.series-create-grid input { width:100%; margin-top:7px; border:0; border-bottom:1px solid var(--line); padding:9px 0; background:transparent; color:var(--ink); font:400 15px "DM Sans",sans-serif; }.content-type-label,.content-badge { display:inline-flex; align-items:center; border:1px solid var(--orange); border-radius:999px; color:var(--orange); background:color-mix(in srgb,var(--paper) 85%,transparent); font:600 9px "DM Mono",monospace; text-transform:uppercase; letter-spacing:.08em; }.content-type-label { margin-left:8px; padding:3px 7px; vertical-align:middle; }.content-badge { position:absolute; z-index:3; left:10px; top:10px; padding:5px 7px; }.movie-row small { color:var(--orange); font:600 8px "DM Mono",monospace; letter-spacing:.06em; margin-right:5px; }.content-filters { display:flex; gap:6px; align-items:end; }.content-filters button { border:1px solid var(--line); border-radius:999px; padding:8px 11px; background:transparent; color:var(--muted); cursor:pointer; font:600 10px "DM Mono",monospace; text-transform:uppercase; }.content-filters button.is-active,.content-filters button:hover { border-color:var(--orange); color:#101216; background:var(--orange); }
@media (max-width:760px) { .series-create-grid { grid-template-columns:1fr; }.content-filters { width:100%; order:3; }.content-filters button { flex:1; }.catalogue-toolbar { flex-wrap:wrap; } }
@media (max-width:760px) { .poster-choices { grid-template-columns:repeat(3,minmax(0,1fr)); }.studio-action-bar { padding:18px; } }

/* Brand logo — single mark, monochrome in dark theme */
.brand-logo { display:inline-flex; align-items:center; text-decoration:none; line-height:0; }
.brand-logo .logo { height:32px; width:auto; display:block; }
.brand-logo .logo.logo-mono { filter: grayscale(1) brightness(1.15) contrast(1.05); }
footer .brand-logo .logo { height:28px; }
@media (max-width:760px) { .brand-logo .logo { height:26px; } }

/* Mobile primary navigation */
.menu-toggle { display:none; width:42px; height:42px; border:1px solid var(--line); border-radius:50%; padding:0; background:transparent; color:var(--ink); cursor:pointer; place-items:center; align-content:center; gap:5px; }.menu-toggle i { display:block; width:16px; height:1px; background:currentColor; transition:transform .2s ease; }.menu-toggle[aria-expanded="true"] i:first-child { transform:translateY(3px) rotate(45deg); }.menu-toggle[aria-expanded="true"] i:last-child { transform:translateY(-3px) rotate(-45deg); }
@media (max-width:760px) { .site-header { height:68px; padding:0 18px; position:sticky; top:0; z-index:30; backdrop-filter:blur(16px); }.site-header nav[data-mobile-menu] { position:fixed; top:68px; left:0; right:0; z-index:29; display:grid; gap:0; margin:0; padding:14px 18px 20px; border-bottom:1px solid var(--line); background:var(--paper); box-shadow:0 18px 28px rgba(0,0,0,.2); transform:translateY(-130%); opacity:0; pointer-events:none; transition:transform .22s ease,opacity .18s ease; }.site-header nav[data-mobile-menu].is-open { transform:translateY(0); opacity:1; pointer-events:auto; }.site-header nav[data-mobile-menu] a { padding:15px 3px; border-bottom:1px solid var(--line); font-size:12px; }.site-header nav[data-mobile-menu] a:last-child { border-bottom:0; }.menu-toggle { display:grid; }.desktop-only { display:none; }.header-actions { gap:12px; }.theme-toggle { min-width:30px; justify-content:center; }.theme-toggle span { display:none; }.menu-open { overflow:hidden; } }

/* Admin site settings */
.site-settings { border:1px solid var(--line); padding:18px 20px; margin:0 0 36px; }
.site-settings .field-label { margin:0 0 10px; }
.site-settings .publish-toggle { margin:0; }
.site-settings .form-help { margin:10px 0 0; }

/* Half-filled star ratings */
.star-row { display:inline-flex; align-items:center; gap:1px; letter-spacing:0; }
.star { display:inline-block; font-size:1em; line-height:1; }
.star-full { color:var(--orange); }
.star-empty { color:color-mix(in srgb, var(--orange) 32%, transparent); }
.star-half {
  position:relative;
  color:transparent;
  background:linear-gradient(90deg, var(--orange) 50%, color-mix(in srgb, var(--orange) 32%, transparent) 50%);
  -webkit-background-clip:text;
  background-clip:text;
}
.rating .star-row, .large-rating .star-row, .catalogue-card p .star-row { color:inherit; }
.large-rating .star { font-size:0.95em; }

/* Hero poster stack — tighter, intentional fan */
.hero-art {
  height:clamp(380px, 44vw, 520px);
  min-height:0;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}
.featured-strip {
  position:absolute;
  inset:6% 4% 8% 4%;
  overflow:visible;
}
.hero-film {
  position:absolute;
  width:min(46%, 220px);
  height:auto;
  aspect-ratio:2 / 3;
  border-radius:4px;
  overflow:hidden;
  background-color:#1a1d24;
  background-size:cover;
  background-position:center;
  box-shadow:0 22px 50px rgba(0,0,0,.55), 0 0 0 1px rgba(255,255,255,.06);
  color:#fff;
  text-decoration:none;
  transition:transform .28s ease, box-shadow .28s ease;
}
.hero-film-1 {
  left:6%;
  top:10%;
  z-index:1;
  transform:rotate(-9deg) translateY(8px);
}
.hero-film-2 {
  right:8%;
  top:6%;
  z-index:3;
  transform:rotate(8deg) translateY(0);
}
.hero-film-3 {
  left:50%;
  bottom:4%;
  z-index:2;
  transform:translateX(-50%) rotate(1.5deg);
  width:min(48%, 236px);
}
.hero-film:hover {
  z-index:5;
  transform:translateY(-10px) rotate(0deg) scale(1.03) !important;
  box-shadow:0 28px 60px rgba(0,0,0,.6);
}
.hero-film span {
  position:absolute;
  left:12px; right:12px; bottom:12px;
  font:600 11px/1.15 "DM Sans",sans-serif;
  letter-spacing:-.03em;
  opacity:0;
  transition:opacity .2s ease;
  text-shadow:0 1px 8px rgba(0,0,0,.8);
}
.hero-film:hover span { opacity:1; }
.frame-caption { z-index:4; }
.ticket { z-index:4; }

@media (max-width:760px) {
  .hero-art { height:340px; min-height:340px; }
  .featured-strip { inset:4% 2% 6% 2%; }
  .hero-film { width:min(52%, 160px); }
  .hero-film-1 { left:2%; top:12%; }
  .hero-film-2 { right:2%; top:8%; }
  .hero-film-3 { width:min(54%, 170px); bottom:2%; }
}

/* Partner / promo section */
.promo-grid {
  display:grid;
  grid-template-columns:1.45fr 1fr 1fr;
  gap:14px;
}
.promo-card {
  min-height:280px;
  padding:24px;
  color:var(--ink);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:16px;
  border:1px solid var(--line);
  background:var(--surface-raised, #171a21);
  transition:transform .2s ease, border-color .2s ease;
}
.promo-card:hover { transform:translateY(-4px); border-color:var(--orange); }
.promo-featured {
  color:#101215;
  background:linear-gradient(145deg, var(--acid), #9ecf3a);
  border-color:transparent;
}
.promo-card .rec-label {
  font:500 10px "DM Mono",monospace;
  text-transform:uppercase;
  letter-spacing:.07em;
  opacity:.85;
}
.promo-card strong {
  font:600 28px/.94 "DM Sans",sans-serif;
  letter-spacing:-.06em;
  display:block;
}
.promo-card p {
  margin:0;
  font-size:14px;
  line-height:1.5;
  opacity:.85;
  max-width:34ch;
}
.promo-card .rec-action {
  font:600 10px "DM Mono",monospace;
  text-transform:uppercase;
  letter-spacing:.05em;
  color:inherit;
  text-decoration:none;
  border-bottom:1px solid currentColor;
  padding-bottom:3px;
  width:max-content;
}
.promo-card .rec-action:hover { color:var(--orange); border-color:var(--orange); }
.promo-featured .rec-action:hover { color:#101215; border-color:#101215; opacity:.75; }
:root[data-theme="light"] .promo-card:not(.promo-featured) {
  background:#fff;
}
@media (max-width:760px) {
  .promo-grid { grid-template-columns:1fr; }
  .promo-card { min-height:220px; }
}

/* Liquid-glass header + subtle scroll reveal */
.site-header,
.detail-header {
  position: sticky;
  top: 0;
  z-index: 20;
  transition: background-color .28s ease, backdrop-filter .28s ease, border-color .28s ease, box-shadow .28s ease;
}
.site-header.is-glass,
.detail-header.is-glass {
  background: color-mix(in srgb, var(--paper) 62%, transparent);
  backdrop-filter: blur(16px) saturate(1.25);
  -webkit-backdrop-filter: blur(16px) saturate(1.25);
  border-bottom-color: color-mix(in srgb, var(--line) 80%, transparent);
  box-shadow: 0 10px 30px rgba(0,0,0,.12);
}
:root[data-theme="light"] .site-header.is-glass,
:root[data-theme="light"] .detail-header.is-glass {
  background: color-mix(in srgb, var(--paper) 72%, transparent);
  box-shadow: 0 8px 24px rgba(20,30,45,.08);
}
.reveal {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity .55s ease, transform .55s ease;
}
.reveal.is-visible {
  opacity: 1;
  transform: none;
}
@media (prefers-reduced-motion: reduce) {
  .reveal { opacity: 1; transform: none; transition: none; }
  .site-header, .detail-header { transition: none; }
}

/* Catalogue sort + pagination */
.catalogue-toolbar {
  align-items: end;
  flex-wrap: wrap;
  gap: 18px 28px;
}
.catalogue-sort {
  color: var(--muted);
  font: 500 10px "DM Mono", monospace;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.catalogue-sort select {
  display: block;
  margin-top: 8px;
  border: 0;
  border-bottom: 1px solid var(--line);
  background: transparent;
  color: var(--ink);
  font: 500 15px "DM Sans", sans-serif;
  padding: 6px 0;
  outline: 0;
  min-width: 150px;
}
.catalogue-pager {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
  margin-top: 42px;
}
.catalogue-pager button {
  cursor: pointer;
  border: 1px solid var(--line);
  background: transparent;
  color: var(--ink);
  min-width: 38px;
  height: 38px;
  padding: 0 12px;
  font: 600 11px "DM Mono", monospace;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.catalogue-pager button.is-active,
.catalogue-pager button:hover:not(:disabled) {
  border-color: var(--orange);
  color: var(--orange);
}
.catalogue-pager button:disabled {
  opacity: .35;
  cursor: default;
}
.pager-gap {
  color: var(--muted);
  align-self: center;
  font: 500 12px "DM Mono", monospace;
}

/* Admin featured picks */
.featured-picks {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 12px;
}
.featured-picks label {
  display: block;
  color: var(--muted);
  font: 500 10px "DM Mono", monospace;
  text-transform: uppercase;
  letter-spacing: .07em;
}
.featured-picks select {
  width: 100%;
  margin-top: 8px;
  border: 0;
  border-bottom: 1px solid var(--line);
  background: transparent;
  color: var(--ink);
  padding: 8px 0;
  font: 500 14px "DM Sans", sans-serif;
  outline: 0;
}
@media (max-width: 760px) {
  .featured-picks { grid-template-columns: 1fr; }
}

/* Hide any residual poster title overlays */
.poster > span,
.catalogue-poster > span,
.review-poster > span,
.hero-film > span { display: none !important; }

/* Review metadata redesign */
.review-metadata-panel {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 26px 0 0;
}
.meta-chip {
  display: grid;
  gap: 4px;
  min-width: min(100%, 160px);
  padding: 10px 12px;
  border: 1px solid var(--line);
  background: color-mix(in srgb, var(--paper) 88%, #000 12%);
}
.meta-chip-live {
  border-color: color-mix(in srgb, var(--orange) 55%, var(--line));
  background: color-mix(in srgb, var(--orange) 14%, transparent);
}
.meta-chip-label {
  color: var(--muted);
  font: 500 9px "DM Mono", monospace;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.meta-chip-value {
  color: var(--ink);
  font-size: 13px;
  line-height: 1.35;
}
.meta-stream-row {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-top: 4px;
}
.stream-badges { display: flex; flex-wrap: wrap; gap: 8px; }
.stream-badge {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 6px 10px;
  border-radius: 999px;
  font: 600 11px "DM Sans", sans-serif;
  letter-spacing: .01em;
  color: #fff;
  background: #333;
}
.stream-badge i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: currentColor;
  opacity: .9;
  box-shadow: 0 0 0 2px rgba(255,255,255,.18);
}
.stream-netflix { background: #e50914; }
.stream-prime { background: #0f79af; }
.stream-max { background: #002be7; }
.stream-disney { background: #113ccf; }
.stream-apple { background: #1c1c1e; }
.stream-mubi { background: #184eff; }
.stream-generic { background: #444953; }

/* Verdict card */
.verdict-card {
  max-width: 720px;
  margin: 48px 0 0 calc(230px + clamp(36px, 7vw, 110px));
  padding: 28px 30px;

  border-left: 4px solid var(--orange);

  background:
    linear-gradient(
      135deg,
      color-mix(in srgb, var(--orange) 10%, transparent),
      color-mix(in srgb, var(--surface) 88%, transparent)
    );

  border-radius: 0 10px 10px 0;
}

.verdict-label {

  margin: 0 0 18px;

  color: var(--orange);

  font: 700 11px "DM Mono", monospace;

  letter-spacing: .18em;

  text-transform: uppercase;
}

.verdict-text {
  margin: 0 !important;
  color: var(--ink) !important;
  font-family: "DM Sans", system-ui, sans-serif !important;
  font-style: normal !important;
  font-size: 21px !important;
  line-height: 1.8 !important;
  font-weight: 500 !important;
  letter-spacing: -.01em !important;
}

.verdict-text strong{

    display:block;

    margin-bottom:14px;

    font-size:30px;

    font-weight:700;

    line-height:1.2;
}

@media (max-width:760px){

  .verdict-card{

      margin-left:0;

      padding:22px;

  }

  .verdict-text{

      font-size:18px;

      line-height:1.7;

  }

  .verdict-text strong{

      font-size:24px;

  }

}

/* Admin production publish helper */
.publish-box {
  margin-top: 22px;
  padding: 16px 18px;
  border: 1px solid var(--line);
  background: color-mix(in srgb, var(--orange) 8%, transparent);
}
.publish-steps {
  margin: 10px 0 14px;
  padding-left: 18px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.55;
}
.publish-steps li { margin: 4px 0; }
.publish-box code {
  font-family: "DM Mono", monospace;
  font-size: 12px;
  color: var(--ink);
}


/* iOS catalogue visibility — never leave content at opacity 0 on small screens */
@media (max-width: 860px) {
  .reveal {
    opacity: 1 !important;
    transform: none !important;
  }
  .review-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 22px;
    min-height: 120px;
  }
  .review-card,
  .catalogue-card {
    opacity: 1 !important;
    visibility: visible !important;
  }
  .poster,
  .catalogue-poster {
    min-height: 220px;
  }
  .review-card-content {
    opacity: 1 !important;
  }
}
@supports (-webkit-touch-callout: none) {
  /* Safari (iPhone) hard fallback */
  .reveal { opacity: 1 !important; transform: none !important; }
}

/* Compact share icons beside date */
.review-kicker {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 8px;
}
.review-kicker .eyebrow { margin: 0; }
.share-icons {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}
.icon-btn {
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  padding: 0;
  border: 1px solid var(--line);
  background: transparent;
  color: var(--muted);
  border-radius: 4px;
}
.icon-btn:hover,
.icon-btn.is-copied {
  color: var(--orange);
  border-color: var(--orange);
}


/* Instagram share cards */
.ig-share-panel {
  margin-top: 28px;
  padding: 16px 18px;
  border: 1px solid var(--line);
  max-width: 420px;
}
.ig-share-label {
  margin: 0 0 6px;
  font: 600 10px "DM Mono", monospace;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--orange);
}
.ig-share-help {
  margin: 0 0 14px;
  font-size: 13px;
  line-height: 1.45;
  color: var(--muted);
}
.ig-share-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.ig-card-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 14px;
  background: var(--orange);
  color: #101215;
  text-decoration: none;
  font: 600 11px "DM Mono", monospace;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.ig-card-btn:hover { filter: brightness(1.06); }
.ig-card-btn-ghost {
  background: transparent;
  color: var(--ink);
  border: 1px solid var(--line);
}

/* Studio catalogue controls and calmer editor hierarchy */
.studio-search { margin: 14px 0 10px; }
.studio-search input,
.studio-list-controls select,
.content-type-control select,
.catalogue-genre select {
  width: 100%; box-sizing: border-box; margin-top: 6px; border: 1px solid var(--line); border-radius: 6px;
  padding: 9px 10px; outline: 0; background: var(--paper); color: var(--ink); font: 500 13px "DM Sans", sans-serif;
}
.studio-search input:focus,.studio-list-controls select:focus,.content-type-control select:focus,.catalogue-genre select:focus { border-color: var(--orange); }
.studio-list-controls { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin-bottom: 12px; }
.studio-list-controls label { font-size: 9px!important; }
.empty-studio-list { margin: 16px 3px; color: var(--muted); font: 500 11px "DM Mono", monospace!important; text-transform: none!important; }
.editor-title { align-items: flex-end; gap: 20px; margin-bottom: 10px; }
.editor-title h2 { margin: 7px 0 0; line-height: 1.05; }
.content-type-control { width: 145px; flex: 0 0 145px; }
.content-type-control select { text-transform: none; letter-spacing: normal; }
.poster-editor { margin-top: 12px; border-top: 1px solid var(--line); }
.genre-field { grid-column: span 2; }
.genre-field span { display: block; margin-top: 6px; color: var(--muted); font: 400 11px "DM Sans", sans-serif; text-transform: none; letter-spacing: normal; }
.card-genres { display: block; margin-top: 5px; color: var(--muted); font: 500 10px "DM Mono", monospace; letter-spacing: .02em; text-transform: uppercase; }
.catalogue-genre { min-width: 135px; }
.catalogue-genre select { margin-top: 8px; padding: 8px 10px; }
.bulk-category { display: grid; grid-template-columns: 1fr auto; gap: 8px; align-items: end; margin-top: 8px; }
.bulk-category select { width: 100%; margin-top: 6px; border: 1px solid var(--line); border-radius: 6px; padding: 8px; background: var(--paper); color: var(--ink); }
.bulk-category .bulk-tmdb-button { width: auto; margin: 0; white-space: nowrap; }
.bulk-clear { margin-top: 8px!important; color: var(--orange); }
.tmdb-match-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 14px 0; max-width: 670px; }
.tmdb-match-list button { display: flex; min-width: 0; gap: 9px; align-items: center; padding: 7px; border: 1px solid var(--line); border-radius: 6px; background: transparent; color: var(--ink); text-align: left; cursor: pointer; }
.tmdb-match-list button:hover { border-color: var(--orange); background: color-mix(in srgb, var(--orange) 8%, transparent); }
.tmdb-match-list img,.tmdb-no-poster { width: 34px; height: 49px; flex: 0 0 34px; object-fit: cover; background: var(--line); }
.tmdb-match-list b,.tmdb-match-list small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tmdb-match-list b { font: 600 12px "DM Sans", sans-serif; }.tmdb-match-list small { margin-top: 3px; color: var(--muted); font: 500 9px "DM Mono", monospace; text-transform: uppercase; }
@media (min-width: 761px) { .admin-layout { align-items: start; } .admin-list { position: sticky; top: 105px; } }
@media (max-width: 760px) { .studio-list-controls,.bulk-category,.tmdb-match-list { grid-template-columns: 1fr; } .content-type-control { width: 100%; flex-basis: auto; } .editor-title { align-items: flex-start; flex-direction: column; } .genre-field { grid-column: auto; } .bulk-category .bulk-tmdb-button { width: 100%; } }

/* Series editor and catalogue controls */
.content-type-inline { margin-right: .55rem; color: var(--orange); }

/* Poster cards are always portrait. The previous fixed desktop heights made
   2:3 artwork fill a wider frame, which cropped it and looked zoomed. */
.review-grid .poster,
.catalogue-grid .catalogue-poster {
  height:auto !important;
  aspect-ratio:2 / 3;
}
.review-card-link:hover .poster,
.catalogue-card a:hover .catalogue-poster {
  transform:translateY(-4px);
}
