/*
Theme Name: Reel Commons
Theme URI: https://reelcommons.org
Author: Volta Rae
Description: Bold, fast classic theme for Reel Commons, a Black-owned Southern California nonprofit funding local films, community screenings and local action. Works with the Classic Editor. Screenings post type, layout shortcodes and Form Keeper forms built in.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: reel-commons
*/

/* ---------- Fonts (self-hosted, no outside requests) ---------- */
@font-face { font-family: "Unbounded"; src: url("assets/fonts/unbounded.woff2") format("woff2"); font-weight: 200 900; font-display: swap; }
@font-face { font-family: "Bricolage Grotesque"; src: url("assets/fonts/bricolage.woff2") format("woff2"); font-weight: 200 800; font-display: swap; }
@font-face { font-family: "Instrument Serif"; src: url("assets/fonts/instrument-serif-italic.woff2") format("woff2"); font-weight: 400; font-style: italic; font-display: swap; }

/* ---------- Tokens ---------- */
:root {
	--ink: #1d1512;        /* espresso */
	--ink-2: #2b211c;
	--paper: #f4ece0;      /* warm cream */
	--paper-2: #eadfcd;
	--card: #fcf8f1;
	--flame: #e4572e;      /* terracotta */
	--cobalt: #2a44c9;
	--lilac: #c3b2f5;
	--sage: #9dbf9e;
	--stone: #7b6f66;
	--line: rgba(29, 21, 18, .14);
	--shadow: var(--ink);
	--display: "Unbounded", "Arial Black", sans-serif;
	--serif: "Instrument Serif", Georgia, serif;
	--body: "Bricolage Grotesque", "Helvetica Neue", Arial, sans-serif;
	--gutter: clamp(16px, 4vw, 40px);
	--max: 1240px;
	--pad: clamp(56px, 8vw, 112px);
	--r: 18px;
}

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body { margin: 0; background: var(--paper); color: var(--ink); font: 400 1.0625rem/1.6 var(--body); -webkit-font-smoothing: antialiased; overflow-x: hidden; }
img, svg, video, iframe { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration-thickness: 1.5px; text-underline-offset: 3px; }
a:hover { text-decoration-color: var(--flame); }
:focus-visible { outline: 3px solid var(--cobalt); outline-offset: 3px; }
h1, h2, h3, h4 { margin: 0 0 .5em; line-height: 1.05; font-family: var(--display); font-weight: 700; letter-spacing: -.02em; }
p, ul, ol { margin: 0 0 1em; }
.screen-reader-text, .rc-skip:not(:focus) { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.rc-skip:focus { position: fixed; top: 8px; left: 8px; z-index: 100; background: var(--lilac); padding: .6rem 1rem; font-weight: 700; border-radius: 99px; }
.rc-wrap { max-width: var(--max); margin: 0 auto; padding: 0 var(--gutter); }
.rc-icon { display: inline-flex; width: 1em; height: 1em; flex: none; }
.rc-icon svg { width: 100%; height: 100%; }

/* ---------- Type helpers ---------- */
.rc-kicker { display: inline-flex; align-items: center; gap: .55rem; margin: 0 0 1.1rem; font: 600 .72rem/1 var(--display); letter-spacing: .12em; text-transform: uppercase; color: var(--flame); }
.rc-kicker::before { content: ""; width: 9px; height: 9px; border-radius: 50%; background: currentColor; }
.rc-h2 { font-size: clamp(2rem, 4.6vw, 3.6rem); font-weight: 700; line-height: 1.02; letter-spacing: -.035em; margin-bottom: .4em; }
.rc-lede { font-size: clamp(1.1rem, 1.7vw, 1.3rem); line-height: 1.5; max-width: 40em; }
.rc-hl, .rc-flow h2 em, .rc-band h2 em, .rc-split-text h2 em { font-family: var(--serif); font-style: italic; font-weight: 400; letter-spacing: -.01em; color: var(--flame); font-size: 1.14em; line-height: .9; }
.rc-tone-dark .rc-hl, .rc-tone-dark h2 em, .rc-footer .rc-hl, .rc-tone-cobalt .rc-hl, .rc-tone-cobalt h2 em, .rc-pagehead .rc-hl { color: var(--lilac); }
.rc-tag { display: inline-block; margin: 0 0 .8rem; padding: .4em .85em; border: 1.5px solid currentColor; border-radius: 99px; font: 600 .62rem/1 var(--display); letter-spacing: .08em; text-transform: uppercase; color: var(--cobalt); }
.rc-small { font-size: .9rem; color: var(--stone); }
.rc-mt { margin-top: 2.5em; }

/* ---------- Buttons ---------- */
.rc-btn { display: inline-flex; align-items: center; gap: .6em; padding: .95em 1.5em; background: var(--ink); color: var(--paper); border: 2px solid var(--ink); border-radius: 99px; font: 600 .82rem/1 var(--display); letter-spacing: .01em; text-decoration: none; cursor: pointer; transition: transform .15s, box-shadow .15s; }
.rc-btn:hover { transform: translateY(-2px); box-shadow: 0 6px 0 0 var(--flame); text-decoration: none; }
.rc-btn:active { transform: translateY(1px); box-shadow: none; }
.rc-btn .rc-icon { width: 1.1em; height: 1.1em; color: var(--lilac); }
.rc-btn-ghost { background: transparent; color: inherit; border-color: currentColor; }
.rc-btn-ghost .rc-icon { color: inherit; }
.rc-btn-dark { background: var(--ink); color: var(--paper); }
.rc-btn-sm { padding: .75em 1.25em; font-size: .72rem; background: var(--flame); border-color: var(--flame); color: var(--ink); }
.rc-btn-sm:hover { box-shadow: 0 5px 0 var(--ink); }
.rc-btn-block { width: 100%; justify-content: center; }
.rc-actions { display: flex; flex-wrap: wrap; gap: 12px 14px; margin: 1.8rem 0 0; }
.rc-tone-dark .rc-btn:not(.rc-btn-ghost), .rc-tone-cobalt .rc-btn:not(.rc-btn-ghost) { background: var(--paper); color: var(--ink); border-color: var(--paper); }
.rc-tone-dark .rc-btn .rc-icon, .rc-tone-cobalt .rc-btn .rc-icon { color: var(--flame); }
.rc-tone-cobalt .rc-btn:hover { box-shadow: 0 6px 0 var(--lilac); }

/* ---------- Header ---------- */
.rc-header { position: sticky; top: 0; z-index: 50; background: rgba(244, 236, 224, .92); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); color: var(--ink); border-bottom: 1px solid var(--line); }
.admin-bar .rc-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .rc-header { top: 0; } }
.rc-header-inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 74px; }
.rc-brand { display: inline-flex; align-items: center; gap: .6rem; color: inherit; text-decoration: none; --rc-reel-hole: var(--paper); }
.rc-brand .rc-icon-reel { width: 34px; height: 34px; color: var(--flame); transition: transform .6s; }
.rc-brand:hover .rc-icon-reel { transform: rotate(72deg); }
.rc-brand-text { font: 400 1.05rem/1 var(--display); letter-spacing: -.02em; }
.rc-brand-text b { font-weight: 800; margin-left: .15em; }
.custom-logo { max-height: 48px; width: auto; }
.rc-nav { display: flex; align-items: center; gap: 22px; }
.rc-menu { display: flex; gap: 2px; list-style: none; margin: 0; padding: 0; }
.rc-menu a { display: block; font-size: .95rem; font-weight: 600; text-decoration: none; padding: .45rem .8rem; border-radius: 99px; }
.rc-menu a:hover { background: var(--paper-2); }
.rc-menu .current-menu-item > a, .rc-menu .current_page_item > a { background: var(--lilac); }
.rc-menu-toggle { display: none; background: none; border: 0; color: inherit; padding: 6px; cursor: pointer; }
.rc-menu-toggle .rc-icon { width: 30px; height: 30px; }
.rc-menu-toggle .rc-icon-close, .rc-menu-toggle[aria-expanded="true"] .rc-icon-menu { display: none; }
.rc-menu-toggle[aria-expanded="true"] .rc-icon-close { display: inline-flex; }
@media (max-width: 1020px) {
	.rc-menu-toggle { display: block; }
	.rc-nav { display: none; position: absolute; left: 0; right: 0; top: 100%; flex-direction: column; align-items: stretch; gap: 0; padding: 8px var(--gutter) 28px; background: var(--paper); border-bottom: 1px solid var(--line); max-height: calc(100vh - 75px); overflow: auto; }
	.rc-nav.is-open { display: flex; }
	.rc-menu { flex-direction: column; gap: 0; }
	.rc-menu a { padding: 14px 0; border-radius: 0; font: 600 1.35rem/1.1 var(--display); letter-spacing: -.02em; border-bottom: 1px solid var(--line); }
	.rc-menu a:hover, .rc-menu .current-menu-item > a, .rc-menu .current_page_item > a { background: none; color: var(--flame); }
	.rc-nav .rc-btn { margin-top: 20px; justify-content: center; font-size: .9rem; padding: 1.1em; }
}

/* ---------- Page flow: full-bleed bands + a readable column ---------- */
.rc-flow > * { max-width: calc(780px + 2 * var(--gutter)); margin-left: auto; margin-right: auto; padding-left: var(--gutter); padding-right: var(--gutter); }
.rc-flow > .rc-bleed { max-width: none; padding-left: 0; padding-right: 0; }
.rc-flow > .rc-split, .rc-flow > .rc-cards, .rc-flow > .rc-tiers, .rc-flow > .rc-steps, .rc-flow > .rc-stats-wrap, .rc-flow > .rc-shows, .rc-flow > .rc-photo { max-width: var(--max); }
.rc-flow > .rc-form { max-width: calc(820px + 2 * var(--gutter)); }
.rc-flow > :not(.rc-bleed):first-child { margin-top: var(--pad); }
.rc-flow > :not(.rc-bleed):last-child { margin-bottom: var(--pad); }
.rc-flow > .rc-bleed + :not(.rc-bleed), .rc-flow > :not(.rc-bleed) + .rc-bleed { margin-top: var(--pad); }
.rc-flow > h2 { font-size: clamp(1.7rem, 3.6vw, 2.6rem); letter-spacing: -.035em; margin-top: 1.6em; }
.rc-flow > h3, .rc-prose h3 { font-size: 1.2rem; margin-top: 1.4em; }
.rc-flow ul:not([class]), .rc-prose ul, .rc-card ul, .rc-tier ul { padding-left: 0; list-style: none; }
.rc-flow ul:not([class]) li, .rc-prose ul li, .rc-card ul li, .rc-tier ul li { position: relative; padding-left: 1.5em; margin-bottom: .45em; }
.rc-flow ul:not([class]) li::before, .rc-prose ul li::before, .rc-card ul li::before, .rc-tier ul li::before { content: ""; position: absolute; left: .1em; top: .62em; width: .5em; height: .5em; border-radius: 50%; background: var(--flame); }
.rc-flow ol:not([class]) { padding-left: 1.3em; }
.rc-flow ol:not([class]) li { margin-bottom: .5em; padding-left: .3em; }
.rc-flow ol:not([class]) li::marker { font-weight: 700; color: var(--flame); }
.rc-section-pad { padding-top: var(--pad); padding-bottom: var(--pad); }
.rc-center { text-align: center; }
.rc-center .rc-band-head, .rc-center .rc-lede { margin-left: auto; margin-right: auto; }
.rc-center .rc-actions { justify-content: center; }

/* ---------- Bands ---------- */
.rc-band { padding: var(--pad) 0; position: relative; }
.rc-band-head { max-width: 880px; margin-bottom: clamp(32px, 5vw, 56px); }
.rc-band > .rc-wrap > p, .rc-band > .rc-wrap > ul { max-width: 46em; }
.rc-band > .rc-wrap > h3 { font-size: 1.3rem; margin-top: 1.4em; }
.rc-tone-paper { background: var(--paper); }
.rc-tone-cream { background: var(--paper-2); }
.rc-tone-dark { background: var(--ink); color: var(--paper); --shadow: var(--flame); }
.rc-tone-dark .rc-kicker { color: var(--lilac); }
.rc-tone-dark .rc-lede, .rc-tone-dark p { color: rgba(244, 236, 224, .84); }
.rc-tone-cobalt { background: var(--cobalt); color: var(--paper); --shadow: var(--ink); }
.rc-tone-cobalt .rc-kicker { color: var(--lilac); }
.rc-tone-cobalt p { color: rgba(244, 236, 224, .9); }
.rc-tone-lilac { background: var(--lilac); --shadow: var(--ink); }
.rc-tone-lilac .rc-kicker, .rc-tone-lilac .rc-hl, .rc-tone-lilac h2 em { color: var(--ink); }
.rc-tone-flame, .rc-tone-gold { background: var(--flame); --shadow: var(--ink); }
.rc-tone-flame .rc-kicker, .rc-tone-gold .rc-kicker { color: var(--ink); }
.rc-tone-flame .rc-hl, .rc-tone-gold .rc-hl, .rc-tone-flame h2 em, .rc-tone-gold h2 em { color: var(--paper); }

/* ---------- Hero ---------- */
.rc-hero { background: var(--paper); color: var(--ink); padding: clamp(40px, 6vw, 88px) 0 clamp(64px, 8vw, 112px); position: relative; overflow: hidden; --shadow: var(--ink); }
.rc-hero::before { content: ""; position: absolute; width: 62vw; height: 62vw; max-width: 820px; max-height: 820px; right: -12vw; top: -10vw; border-radius: 50%; background: radial-gradient(circle at 40% 40%, var(--lilac), rgba(195, 178, 245, 0) 68%); opacity: .8; pointer-events: none; }
.rc-hero::after { content: ""; position: absolute; width: 34vw; height: 34vw; max-width: 460px; max-height: 460px; left: -10vw; bottom: -14vw; border-radius: 50%; background: radial-gradient(circle, rgba(228, 87, 46, .3), rgba(228, 87, 46, 0) 70%); pointer-events: none; }
.rc-hero-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(32px, 6vw, 80px); align-items: center; position: relative; z-index: 1; }
.rc-hero .rc-kicker { color: var(--cobalt); }
.rc-hero-title { margin: 0 0 1.5rem; font-size: clamp(2.6rem, 6.4vw, 6rem); font-weight: 800; line-height: 1; letter-spacing: -.055em; }
.rc-hero-line { display: block; }
.rc-hero-title .rc-hl { font-size: 1.2em; letter-spacing: -.02em; padding-right: .05em; }
.rc-hero-intro { font-size: clamp(1.1rem, 1.6vw, 1.3rem); max-width: 32em; color: #4a3d36; }
.rc-hero-intro p:last-child { margin-bottom: 0; }
.rc-hero-media { position: relative; padding: 0 0 40px 24px; }
.rc-frame { margin: 0; position: relative; background: var(--ink-2); border-radius: var(--r); box-shadow: 10px 10px 0 var(--shadow, var(--ink)); }
.rc-frame img { width: 100%; height: 100%; object-fit: cover; border-radius: var(--r); }
.rc-frame figcaption { position: absolute; left: 12px; bottom: 12px; padding: .35rem .7rem; border-radius: 99px; background: var(--paper); color: var(--ink); font-size: .78rem; font-weight: 600; }
.rc-frame-main { aspect-ratio: 4 / 5; transform: rotate(2deg); box-shadow: 12px 12px 0 var(--cobalt); }
.rc-frame-small { position: absolute; width: 46%; aspect-ratio: 4 / 3; left: -4%; bottom: 0; transform: rotate(-5deg); box-shadow: 8px 8px 0 var(--flame); border: 5px solid var(--paper); }
.rc-frame-small img { border-radius: calc(var(--r) - 5px); }
.rc-sticker { position: absolute; z-index: 2; right: -8px; bottom: 26px; padding: .75em 1.15em; background: var(--lilac); color: var(--ink); font: 700 clamp(.66rem, 1.1vw, .8rem)/1 var(--display); letter-spacing: .05em; text-transform: uppercase; border-radius: 99px; transform: rotate(-8deg); box-shadow: 0 0 0 2px var(--ink); white-space: nowrap; }
.rc-split .rc-sticker, .rc-photo .rc-sticker { right: auto; left: -12px; bottom: auto; top: 22px; }
@media (max-width: 900px) {
	.rc-hero-grid { grid-template-columns: 1fr; }
	.rc-hero-media { max-width: 440px; width: 88%; margin: 0 auto; padding: 0 0 30px; }
}

/* ---------- Marquee ---------- */
.rc-marquee { overflow: hidden; background: var(--cobalt); color: var(--paper); }
.rc-marquee-flame { background: var(--flame); color: var(--ink); }
.rc-marquee-dark { background: var(--ink); }
.rc-marquee-track { display: flex; width: max-content; animation: rc-scroll 40s linear infinite; }
.rc-marquee-track > div { display: flex; align-items: center; flex: none; }
.rc-marquee span { padding: 1.05rem 1.1rem; font: 600 clamp(.95rem, 1.8vw, 1.25rem)/1 var(--display); letter-spacing: -.01em; white-space: nowrap; }
.rc-marquee .rc-star { padding: 0; color: var(--lilac); font-size: .9rem; }
.rc-marquee:hover .rc-marquee-track { animation-play-state: paused; }
@keyframes rc-scroll { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .rc-marquee-track { animation: none; } }

/* ---------- Steps (the model) ---------- */
.rc-steps { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: clamp(20px, 3vw, 36px); }
.rc-step { position: relative; padding-top: 1.2rem; border-top: 1.5px solid currentColor; }
.rc-step-n { display: inline-grid; place-items: center; width: 3.2rem; height: 3.2rem; margin-bottom: 1.1rem; border-radius: 50%; background: var(--flame); color: var(--ink); font: 700 .95rem/1 var(--display); }
.rc-tone-dark .rc-step-n, .rc-tone-cobalt .rc-step-n { background: var(--lilac); }
.rc-step h3 { font-size: clamp(1.25rem, 2vw, 1.55rem); letter-spacing: -.03em; }
.rc-step-text p:last-child { margin-bottom: 0; }

/* ---------- Split ---------- */
.rc-split { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(32px, 6vw, 88px); align-items: center; }
.rc-band .rc-split + .rc-split { margin-top: var(--pad); }
.rc-split-left .rc-split-img { order: -1; }
.rc-split-img { aspect-ratio: 1 / 1; transform: rotate(-1.5deg); box-shadow: 10px 10px 0 var(--cobalt); }
.rc-split-left .rc-split-img { transform: rotate(1.5deg); box-shadow: 10px 10px 0 var(--flame); }
.rc-split-text > h2 { font-size: clamp(1.9rem, 3.8vw, 3rem); letter-spacing: -.04em; line-height: 1.02; }
.rc-split-text > h3 { font-size: 1.3rem; }
.rc-split-text p:last-child { margin-bottom: 0; }
@media (max-width: 860px) {
	.rc-split { grid-template-columns: 1fr; }
	.rc-split-left .rc-split-img { order: 0; }
	.rc-split-img { aspect-ratio: 4 / 3; width: calc(100% - 12px); }
}

/* ---------- Cards ---------- */
.rc-cards { display: grid; gap: clamp(18px, 2.4vw, 28px); }
.rc-cols-2 { grid-template-columns: repeat(2, 1fr); }
.rc-cols-3 { grid-template-columns: repeat(3, 1fr); }
.rc-cols-4 { grid-template-columns: repeat(4, 1fr); }
.rc-card { display: flex; flex-direction: column; background: var(--card); color: var(--ink); border: 1.5px solid var(--ink); border-radius: var(--r); overflow: hidden; transition: transform .2s, box-shadow .2s; }
.rc-card:hover { transform: translateY(-4px); box-shadow: 0 10px 0 var(--shadow); }
.rc-card-img { display: block; margin: 0; aspect-ratio: 4 / 3; overflow: hidden; background: var(--ink-2); }
.rc-card-img img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%; transition: transform .5s; }
.rc-card:hover .rc-card-img img { transform: scale(1.04); }
.rc-card-body > .rc-tag { align-self: flex-start; }
.rc-card-body { display: flex; flex-direction: column; flex: 1; padding: 22px 22px 24px; }
.rc-card h3 { font-size: 1.15rem; letter-spacing: -.03em; line-height: 1.15; }
.rc-card h3 a { text-decoration: none; }
.rc-card p, .rc-tone-dark .rc-card p, .rc-tone-cobalt .rc-card p { color: #4a3d36; }
.rc-card-body > p:last-of-type { margin-bottom: 1rem; }
.rc-more { margin-top: auto; display: inline-flex; align-items: center; gap: .45em; font: 600 .75rem/1 var(--display); text-decoration: none; }
.rc-more .rc-icon { transition: transform .15s; color: var(--flame); }
.rc-card:hover .rc-more .rc-icon { transform: translateX(4px); }
@media (max-width: 960px) { .rc-cols-3, .rc-cols-4 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 620px) { .rc-cols-2, .rc-cols-3, .rc-cols-4 { grid-template-columns: 1fr; } }

/* ---------- Grant tiers ---------- */
.rc-tiers { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(18px, 2.4vw, 28px); align-items: stretch; }
.rc-tier { background: var(--card); color: var(--ink); border: 1.5px solid var(--ink); border-radius: var(--r); padding: 28px 26px; }
.rc-tier.is-featured { background: var(--cobalt); color: var(--paper); border-color: var(--cobalt); transform: translateY(-10px); box-shadow: 0 10px 0 var(--ink); }
.rc-tier.is-featured ul li::before { background: var(--lilac); }
.rc-tier-name { margin: 0; font: 600 .72rem/1 var(--display); letter-spacing: .12em; text-transform: uppercase; }
.rc-tier-amount { margin: .5rem 0 .3rem; font: 800 clamp(2.6rem, 4.6vw, 3.6rem)/1 var(--display); letter-spacing: -.06em; }
.rc-tier-for { font-family: var(--serif); font-style: italic; font-size: 1.45rem; line-height: 1.1; color: var(--flame); margin-bottom: 1rem; }
.rc-tier.is-featured .rc-tier-for { color: var(--lilac); }
.rc-tier-text p:last-child, .rc-tier-text ul:last-child { margin-bottom: 0; }
@media (max-width: 900px) { .rc-tiers { grid-template-columns: 1fr; } .rc-tier.is-featured { transform: none; } }

/* ---------- Stats ---------- */
.rc-stats-wrap { margin-bottom: 2.6rem; }
.rc-stats-wrap:last-child { margin-bottom: 0; }
.rc-stats-note { font-family: var(--serif); font-style: italic; font-size: 1.5rem; color: var(--flame); margin-bottom: .6rem; }
.rc-tone-dark .rc-stats-note, .rc-tone-cobalt .rc-stats-note { color: var(--lilac); }
.rc-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; margin: 0; border-top: 1.5px solid currentColor; }
.rc-stat { padding: 22px 18px 6px 0; border-right: 1px solid var(--line); }
.rc-tone-dark .rc-stat, .rc-tone-cobalt .rc-stat { border-color: rgba(244, 236, 224, .2); }
.rc-stat:last-child { border-right: 0; }
.rc-stat + .rc-stat { padding-left: 18px; }
.rc-stat dt { font: 800 clamp(2.2rem, 4.6vw, 3.8rem)/1 var(--display); letter-spacing: -.06em; color: var(--flame); }
.rc-tone-dark .rc-stat dt, .rc-tone-cobalt .rc-stat dt { color: var(--lilac); }
.rc-stat dd { margin: .6rem 0 0; font-size: .98rem; font-weight: 600; }
@media (max-width: 760px) { .rc-stats { grid-template-columns: repeat(2, 1fr); } .rc-stat:nth-child(2) { border-right: 0; } .rc-stat:nth-child(3) { padding-left: 0; } .rc-stat:nth-child(n+3) { border-top: 1px solid var(--line); } }

/* ---------- Dollar bar ---------- */
.rc-bar { margin: 0; max-width: 900px; }
.rc-flow > .rc-bar { max-width: calc(900px + 2 * var(--gutter)); }
.rc-bar figcaption { font: 600 .72rem/1 var(--display); letter-spacing: .1em; text-transform: uppercase; margin-bottom: .8rem; }
.rc-bar-track { display: flex; gap: 6px; height: 76px; }
.rc-bar-seg { display: flex; align-items: center; padding-left: 18px; min-width: 0; overflow: hidden; border-radius: 99px; }
.rc-bar-seg b { font: 800 clamp(1.1rem, 2.4vw, 1.6rem)/1 var(--display); letter-spacing: -.04em; }
.rc-seg-1 { background: var(--cobalt); color: var(--paper); }
.rc-seg-2 { background: var(--flame); color: var(--ink); }
.rc-seg-3 { background: var(--lilac); color: var(--ink); }
.rc-seg-4 { background: var(--sage); color: var(--ink); }
.rc-bar-key { list-style: none; padding: 0; margin: 1.2rem 0 0; display: flex; flex-wrap: wrap; gap: 10px 28px; }
.rc-bar-key li { display: flex; align-items: center; gap: .5rem; }
.rc-dot { width: 14px; height: 14px; border-radius: 50%; flex: none; }

/* ---------- CTA band ---------- */
.rc-cta { padding: clamp(56px, 7vw, 96px) 0; }
.rc-cta-inner { display: grid; grid-template-columns: 1.2fr 1fr; gap: clamp(24px, 5vw, 64px); align-items: end; }
.rc-cta-title { margin: 0; font-size: clamp(2.2rem, 5.4vw, 4.4rem); font-weight: 800; letter-spacing: -.05em; line-height: 1; }
.rc-cta-text { font-size: 1.15rem; }
.rc-cta-text .rc-actions { margin-top: 1rem; }
.rc-cta .rc-btn-ghost { color: var(--ink); }
.rc-cta .rc-btn:hover { box-shadow: 0 6px 0 var(--paper); }
@media (max-width: 860px) { .rc-cta-inner { grid-template-columns: 1fr; } }

/* ---------- Quote & photo ---------- */
.rc-quote { margin: 0; padding: 0; }
.rc-quote p { font: italic 400 clamp(1.9rem, 4vw, 3.2rem)/1.1 var(--serif); margin: 0 0 .5em; }
.rc-quote cite { font: normal 600 .72rem/1 var(--display); letter-spacing: .1em; text-transform: uppercase; }
.rc-photo { aspect-ratio: 16 / 8; }
.rc-tilt-left { transform: rotate(-1deg); }
.rc-tilt-right { transform: rotate(1deg); }

/* ---------- Page head ---------- */
.rc-pagehead { background: var(--cobalt); color: var(--paper); padding: clamp(48px, 7vw, 96px) 0; position: relative; overflow: hidden; --shadow: var(--ink); }
.rc-pagehead::after { content: ""; position: absolute; width: 560px; height: 560px; right: -160px; top: -200px; border-radius: 50%; background: radial-gradient(circle, rgba(195, 178, 245, .55), rgba(195, 178, 245, 0) 70%); pointer-events: none; }
.rc-pagehead .rc-kicker { color: var(--lilac); }
.rc-pagehead-grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr; gap: 48px; align-items: center; }
.has-img .rc-pagehead-grid { grid-template-columns: 1.3fr .7fr; }
.rc-pagehead-title { margin: 0 0 .45em; font-size: clamp(2.3rem, 5.8vw, 4.8rem); font-weight: 800; line-height: 1.02; letter-spacing: -.05em; max-width: 16ch; }
.has-img .rc-pagehead-title { max-width: none; }
.rc-pagehead .rc-lede { color: rgba(244, 236, 224, .9); margin: 0; }
.rc-pagehead-img { aspect-ratio: 4 / 3; transform: rotate(2deg); box-shadow: 10px 10px 0 var(--flame); }
@media (max-width: 860px) { .has-img .rc-pagehead-grid { grid-template-columns: 1fr; } .rc-pagehead-img { width: calc(100% - 14px); max-width: 520px; } }

/* ---------- Screenings ---------- */
.rc-shows { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(18px, 2.4vw, 28px); }
.rc-show { position: relative; display: flex; flex-direction: column; background: var(--card); color: var(--ink); border: 1.5px solid var(--ink); border-radius: var(--r); transition: transform .2s, box-shadow .2s; }
.rc-show:hover { transform: translateY(-4px); box-shadow: 0 10px 0 var(--ink); }
.rc-show-img { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--ink-2); border-radius: calc(var(--r) - 2px) calc(var(--r) - 2px) 0 0; }
.rc-show-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.rc-show:hover .rc-show-img img { transform: scale(1.04); }
.rc-show-noimg { display: grid; place-items: center; height: 100%; color: var(--flame); --rc-reel-hole: var(--ink-2); }
.rc-show-noimg .rc-icon { width: 64px; height: 64px; }
.is-past .rc-show-img img { filter: grayscale(1); }
.rc-show-date { position: absolute; top: 14px; left: 14px; display: flex; flex-direction: column; align-items: center; min-width: 62px; padding: 8px 8px 9px; background: var(--paper); color: var(--ink); border-radius: 14px; line-height: 1; box-shadow: 0 4px 0 var(--ink); }
.rc-show-date span { font: 600 .6rem/1 var(--display); letter-spacing: .1em; text-transform: uppercase; }
.rc-show-date b { font: 800 1.6rem/1 var(--display); letter-spacing: -.05em; margin: 4px 0 3px; color: var(--flame); }
.is-past .rc-show-date b { color: var(--stone); }
.rc-show-body { padding: 20px 22px 24px; display: flex; flex-direction: column; flex: 1; }
.rc-show h3 { font-size: 1.15rem; letter-spacing: -.03em; line-height: 1.15; margin-bottom: .5em; }
.rc-show h3 a { text-decoration: none; }
.rc-show-where { display: flex; align-items: center; gap: .35rem; font-weight: 600; font-size: .95rem; }
.rc-show-where .rc-icon { color: var(--flame); }
.rc-show-action { margin: auto 0 0; padding-top: .6rem; font-size: .95rem; }
.rc-show-action .rc-tag { margin: 0 .4rem 0 0; }
@media (max-width: 960px) { .rc-shows { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 620px) { .rc-shows { grid-template-columns: 1fr; } }
.rc-event { display: grid; grid-template-columns: 340px 1fr; gap: clamp(32px, 5vw, 72px); align-items: start; }
.rc-event-card { position: sticky; top: 100px; background: var(--card); border: 1.5px solid var(--ink); border-radius: var(--r); padding: 26px 24px 24px; }
.rc-show-date-lg { position: static; display: inline-flex; margin-bottom: 1.2rem; background: var(--lilac); }
.rc-event-card dl { margin: 0 0 1rem; }
.rc-event-card dl > div { padding: .75rem 0; border-top: 1px solid var(--line); }
.rc-event-card dt { font: 600 .62rem/1 var(--display); letter-spacing: .1em; text-transform: uppercase; color: var(--stone); }
.rc-event-card dd { margin: .35rem 0 0; font-weight: 600; }
.rc-action-box { background: var(--cobalt); color: var(--paper); padding: 22px 26px; margin-bottom: 2rem; border-radius: var(--r); }
.rc-action-box .rc-tag { color: var(--lilac); }
.rc-action-box p { margin: 0; font-size: 1.3rem; font-weight: 600; line-height: 1.35; }
.rc-flow-narrow { max-width: 760px; }
@media (max-width: 860px) { .rc-event { grid-template-columns: 1fr; } .rc-event-card { position: static; } }

/* ---------- Prose ---------- */
.rc-prose > *:first-child { margin-top: 0; }
.rc-flow a:not([class]), .rc-prose a:not([class]) { text-decoration-color: var(--flame); }
.rc-flow blockquote:not([class]) { margin: 1.5em auto; padding: 0; font: italic 400 1.9rem/1.2 var(--serif); }
.rc-flow img.alignright { float: right; margin: 0 0 1em 1.5em; max-width: 45%; border-radius: var(--r); }
.rc-flow img.alignleft { float: left; margin: 0 1.5em 1em 0; max-width: 45%; border-radius: var(--r); }
.rc-flow .aligncenter { margin-left: auto; margin-right: auto; }
.wp-caption-text { font-size: .85rem; color: var(--stone); }
.rc-empty { border: 1.5px dashed var(--ink); border-radius: var(--r); padding: 28px; background: var(--card); max-width: 760px; color: var(--ink); }
.rc-empty p { font-weight: 600; font-size: 1.15rem; }
.rc-note { border: 1.5px dashed var(--flame); border-radius: 12px; padding: 12px 16px; background: #fff1ec; color: var(--ink); font-size: .95rem; }
.rc-contact { list-style: none; padding: 0; }
.rc-contact li { display: flex; align-items: center; gap: .6rem; margin-bottom: .6rem; font-weight: 600; font-size: 1.15rem; }
.rc-contact .rc-icon { color: var(--flame); }
.rc-pager { margin-top: 3rem; }
.rc-pager .nav-links { display: flex; gap: 8px; }
.rc-pager .page-numbers { padding: .55em .95em; border: 1.5px solid var(--ink); border-radius: 99px; text-decoration: none; font-weight: 700; }
.rc-pager .current { background: var(--ink); color: var(--paper); }

/* ---------- Forms (Form Keeper) ---------- */
.rc-form .fk-form, .rc-flow .fk-form { --fk-button: var(--ink); --fk-button-text: var(--paper); --fk-border: rgba(29, 21, 18, .35); --fk-field-bg: var(--card); --fk-radius: 12px; --fk-accent: var(--cobalt); max-width: 820px; margin: 0; }
.fk-form .fk-field > label, .fk-form legend { font: 600 .68rem/1.3 var(--display); letter-spacing: .06em; text-transform: uppercase; }
.fk-form .fk-button { border-radius: 99px !important; font: 600 .82rem/1 var(--display); padding: 1.1em 1.8em; }
.fk-form .fk-button:hover { opacity: 1; background: var(--flame); color: var(--ink); }
.fk-sent { border-left: 0 !important; border-radius: var(--r) !important; background: var(--lilac) !important; color: var(--ink); font-weight: 600; font-size: 1.15rem; }
.rc-form { max-width: 900px; padding: clamp(22px, 3vw, 40px); background: var(--card); border: 1.5px solid var(--ink); border-radius: calc(var(--r) + 6px); }
.rc-tone-dark .rc-form, .rc-tone-cobalt .rc-form { color: var(--ink); }
.fk-form.rc-inline-form { display: grid; grid-template-columns: 1fr 120px auto; gap: 8px; align-items: end; margin: 0 0 1rem; }
.fk-form.rc-inline-form .fk-field > label { font-size: .6rem; }
.fk-form.rc-inline-form .fk-actions { grid-column: auto; }
.fk-form.rc-inline-form .fk-button { padding: 1em 1.3em; }
.rc-form.rc-form-newsletter { padding: 0; background: none; border: 0; }
.rc-footer .fk-form.rc-inline-form { grid-template-columns: 1fr 110px; }
.rc-footer .fk-form.rc-inline-form .fk-actions { grid-column: 1 / -1; }
.rc-footer .fk-form.rc-inline-form .fk-button { width: 100%; }
@media (max-width: 520px) { .fk-form.rc-inline-form { grid-template-columns: 1fr 1fr; } .fk-form.rc-inline-form .fk-field:first-of-type { grid-column: 1 / -1; } }

/* ---------- Footer ---------- */
.rc-footer { background: var(--ink); color: var(--paper); padding: clamp(56px, 7vw, 96px) 0 28px; --shadow: var(--flame); }
.rc-footer-big { font: 800 clamp(2.1rem, 6.2vw, 5.6rem)/1.02 var(--display); letter-spacing: -.055em; margin-bottom: clamp(36px, 5vw, 64px); color: rgba(244, 236, 224, .92); }
.rc-footer-big em { font-family: var(--serif); font-style: italic; font-weight: 400; font-size: 1.18em; letter-spacing: -.02em; color: var(--lilac); }
.rc-footer-grid { display: grid; grid-template-columns: 1.3fr .8fr 1.2fr; gap: 40px; padding-bottom: 36px; border-bottom: 1px solid rgba(244, 236, 224, .16); }
.rc-footer .rc-brand { --rc-reel-hole: var(--ink); }
.rc-footer-tag { margin-top: 1rem; color: rgba(244, 236, 224, .75); max-width: 30em; }
.rc-footer-h { font: 600 .68rem/1 var(--display); letter-spacing: .12em; text-transform: uppercase; color: var(--lilac); margin-bottom: 1.1rem; }
.rc-footer .rc-menu, .rc-footer-menu { display: block; list-style: none; margin: 0; padding: 0; }
.rc-footer .rc-menu li, .rc-footer-menu li { margin-bottom: .45rem; }
.rc-footer .rc-menu a, .rc-footer-menu a { display: inline; font: 500 1rem/1.4 var(--body); padding: 0; border: 0; border-radius: 0; background: none !important; text-decoration: none; color: inherit; }
.rc-footer .rc-menu a:hover, .rc-footer-menu a:hover { color: var(--lilac); }
.rc-footer p { color: rgba(244, 236, 224, .8); }
.rc-footer .fk-form { --fk-field-bg: var(--ink-2); --fk-border: rgba(244, 236, 224, .35); --fk-button: var(--lilac); --fk-button-text: var(--ink); color: var(--paper); }
.rc-socials { display: flex; gap: 10px; }
.rc-socials a { display: grid; place-items: center; width: 42px; height: 42px; border: 1.5px solid currentColor; border-radius: 50%; }
.rc-socials a:hover { background: var(--lilac); color: var(--ink); border-color: var(--lilac); }
.rc-socials .rc-icon { width: 19px; height: 19px; }
.rc-legal { margin: 24px 0 0; font-size: .85rem; color: rgba(244, 236, 224, .6); }
@media (max-width: 860px) { .rc-footer-grid { grid-template-columns: 1fr; } }
