:root{
  --brand-red:#E8321E;      /* Rewind Red — accents/LIVE only, never buttons */
  --brand-bg:#101114;       /* Deep Charcoal */
  --brand-ink:#EDE6D6;      /* Warm Bone */
  --brand-action:#2B2B30;   /* Action Graphite — primary CTAs (Emerald's replacement) */
  --brand-secondary:#F4F1EA;/* Pearl/Ivory — secondary buttons */
}
/* Free on YouTube — big-artwork grid (James, 2026-09-24). Layout/chrome only.
   1 col phone (<720px) / 2 col tablet / 3 col desktop (>=1024px). 16/9 art boxes
   reserve space before load (no layout shift). No badges, no verification chrome. */
.free-head{margin:0 0 20px}
.free-h1{margin:0;font-size:clamp(26px,3.2vw,34px);font-weight:750;letter-spacing:-.01em;color:#f2e9d8;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.free-count{font-size:14px;font-weight:600;letter-spacing:.02em;color:var(--muted,#a89c86)}
.free-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:0;padding:0 0 8px}
@media(max-width:1023px){.free-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:719px){.free-grid{grid-template-columns:minmax(0,1fr);gap:16px}}
.free-card{position:relative;margin:0;min-width:0}
.free-tap{display:block;width:100%;padding:0;border:0;background:none;cursor:pointer;text-align:left;border-radius:14px;color:inherit;font:inherit}
.free-tap:focus-visible{outline:2px solid var(--brand-ink,#EDE6D6);outline-offset:3px}
.free-art{position:relative;display:block;aspect-ratio:16/9;border-radius:14px;overflow:hidden;background:#161311}
.free-art img{width:100%;height:100%;object-fit:cover;display:block}
.free-ring{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .18s ease;pointer-events:none}
.free-tap:hover .free-ring,.free-tap:focus-visible .free-ring,.free-tap:active .free-ring{opacity:1}
.free-dot{width:66px;height:66px;border-radius:50%;background:rgba(43,43,48,.94);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 28px rgba(0,0,0,.55)}
.free-tri{width:0;height:0;border-style:solid;border-width:11px 0 11px 19px;border-color:transparent transparent transparent #fff;margin-left:5px}
button.free-title{display:block;width:100%;margin:11px 2px 0;padding:0;border:0;background:none;cursor:pointer;text-align:left;font:inherit;font-size:16.5px;font-weight:650;line-height:1.3;color:#f2e9d8}
button.free-title:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
button.free-title:focus-visible{outline:2px solid var(--brand-ink,#EDE6D6);outline-offset:3px}
/* the (i) details affordance: always visible on touch, on hover/focus elsewhere */
.free-info{position:absolute;z-index:2;top:10px;right:10px;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;border:1px solid rgba(242,233,216,.32);background:rgba(8,7,6,.72);color:#f2e9d8;cursor:pointer;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);opacity:0;transition:opacity .18s ease,background .18s ease,transform .12s ease}
.free-card:hover .free-info,.free-card:focus-within .free-info{opacity:1}
.free-info svg{width:20px;height:20px}
.free-info:hover{background:var(--brand-action,#2B2B30);border-color:var(--brand-action,#2B2B30)}
.free-info:active{transform:scale(.94)}
.free-info:focus-visible{opacity:1;outline:2px solid var(--brand-ink,#EDE6D6);outline-offset:2px}
@media(hover:none){.free-info{opacity:1}}
.free-channel{display:block;margin:3px 2px 0;font-size:13px;line-height:1.4;color:var(--muted,#a89c86)}
.free-yt{display:inline-block;margin:7px 2px 0;font-size:13px;font-weight:700;color:#EDE6D6;text-decoration:underline;text-underline-offset:3px}
.free-yt:hover{color:#ffffff}
@media(prefers-reduced-motion:reduce){.free-ring{transition:none}}

/* ---------- instant premium player overlay (James, 2026-09-26) ----------
   Artwork tap -> the full movie starts IMMEDIATELY in this large cinematic
   overlay: 16:9 stage, graphite controls, fullscreen, honest errors. */
.fnow{position:fixed;inset:0;z-index:120;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(4,3,2,.93);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);animation:fnowIn .22s ease}
@keyframes fnowIn{from{opacity:0}to{opacity:1}}
.fnow-card{width:min(1120px,100%);max-height:94svh;overflow:auto;background:#0d0b0a;border:1px solid rgba(242,233,216,.16);border-radius:20px;box-shadow:0 40px 120px rgba(0,0,0,.65)}
.fnow-stage{position:relative;aspect-ratio:16/9;background:#070605;overflow:hidden}
.fnow-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.fnow-stage iframe{position:absolute;inset:0;z-index:1;width:100%;height:100%;border:0}
.fnow-badge{position:absolute;z-index:3;right:14px;bottom:14px;display:inline-flex;align-items:center;min-height:34px;padding:0 14px;border-radius:999px;background:var(--brand-action,#2B2B30);color:#fff;font-size:11px;font-weight:800;letter-spacing:.14em;pointer-events:none;box-shadow:0 8px 24px rgba(0,0,0,.45)}
.fnow-loading{position:absolute;z-index:3;left:50%;top:16px;transform:translateX(-50%);padding:9px 16px;border-radius:999px;background:rgba(5,5,4,.88);color:#fff;font-size:12px;font-weight:760;letter-spacing:.03em;pointer-events:none}
.fnow-ctrls{position:absolute;z-index:3;top:14px;left:14px;display:flex;gap:10px}
.fnow-btn{display:grid;place-items:center;width:44px;height:44px;border:1px solid rgba(242,233,216,.28);border-radius:50%;background:rgba(8,7,6,.78);color:#fff;cursor:pointer;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:background .18s,border-color .18s}
.fnow-btn:hover{background:var(--brand-action,#2B2B30);border-color:#4a4a52}
.fnow-btn svg{width:20px;height:20px}
.fnow-btn .snd-off{display:none}
.fnow-btn.muted .snd-off{display:block}
.fnow-btn.muted .snd-on{display:none}
.fnow-x{position:absolute;z-index:3;top:14px;right:14px;display:grid;place-items:center;width:44px;height:44px;border:1px solid rgba(242,233,216,.28);border-radius:50%;background:rgba(8,7,6,.78);color:#fff;font-size:22px;line-height:1;cursor:pointer;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.fnow-x:hover{background:var(--brand-action,#2B2B30);border-color:#4a4a52}
.fnow-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:18px 22px}
.fnow-meta{min-width:0}
.fnow-title{display:block;font-size:19px;font-weight:750;color:#f2e9d8}
.fnow-sub{display:block;margin-top:4px;font-size:13px;color:var(--muted,#a89c86)}
.fnow-actions{display:flex;gap:10px}
.fnow-action{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 22px;border-radius:999px;border:1px solid rgba(242,233,216,.25);background:transparent;color:#f2e9d8;font-size:14px;font-weight:720;cursor:pointer}
.fnow-action:hover{border-color:#4a4a52}
.fnow-action:focus-visible{outline:2px solid var(--brand-ink,#EDE6D6);outline-offset:2px}
.fnow-details{background:var(--brand-action,#2B2B30);border-color:var(--brand-action,#2B2B30);color:#fff}
.fnow-details:hover{background:#1f1f24;border-color:#1f1f24}
.fnow-err{position:absolute;inset:0;z-index:4;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:24px;text-align:center;background:rgba(5,5,4,.84)}
.fnow-err p{margin:0;color:#f2e9d8;font-size:16px;font-weight:650}
.fnow-retry{min-width:200px}
@media(max-width:600px){.fnow{padding:10px}.fnow-card{border-radius:16px}.fnow-bar{padding:16px}}
@media(prefers-reduced-motion:reduce){.fnow{animation:none}.free-info{transition:none}}

/* ---------- sort control (James, 2026-09-26) ---------- */
.free-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.free-sort-wrap{display:inline-flex;align-items:center;flex:none}
.free-sort{appearance:none;-webkit-appearance:none;min-height:44px;border:1px solid var(--line);border-radius:999px;background-color:var(--surface);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23a89c86' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 15px center;color:var(--muted,#a89c86);padding:0 38px 0 17px;font:inherit;font-size:12px;font-weight:650;cursor:pointer;transition:color .17s,border-color .17s}
.free-sort:hover{color:var(--ink);border-color:var(--line-strong)}
.free-sort:focus-visible{outline:2px solid var(--brand-ink,#EDE6D6);outline-offset:2px}
.free-sort option{background-color:#161311;color:#f2e9d8}
