/*
Theme Name: ReelCrew 2026
Text Domain: reelcrew-2026
Description: Custom dark editorial media theme for The ReelCrew.
Version: 1.1.0
Requires at least: 6.0
Requires PHP: 7.4
License: GPL-2.0-or-later
WPVibe: yes
*/

html { scroll-behavior: smooth; background:#000; }
* { box-sizing:border-box; }
body.rc-body { margin:0 !important; background:#000 !important; color:#f2f2f2 !important; font-family:"Helvetica Neue",Helvetica,Arial,sans-serif !important; overflow-x:hidden; }
.rc-body a { color:inherit !important; text-decoration:none !important; }
.rc-body img { display:block; max-width:100%; }
.rc-body button { font:inherit; }
[x-cloak] { display:none !important; }

.rc-shell { width:min(calc(100% - 48px),1360px); margin:0 auto; }

.rc-header { position:sticky; top:0; z-index:100; background:#000 !important; border-bottom:1px solid #2c2c2c; }
body.admin-bar .rc-header { top:32px; }
.rc-header-grid { height:72px; display:grid; grid-template-columns:220px 1fr; align-items:center; }
.rc-logo { display:flex; align-items:center; width:fit-content; height:48px; overflow:visible; }
.rc-logo img { width:168px !important; height:auto !important; max-height:54px !important; object-fit:contain; }
.rc-desktop-nav { display:flex; justify-content:flex-end; align-items:center; height:100%; }
.rc-desktop-nav a { display:flex; align-items:center; height:100%; padding:0 14px; border-left:1px solid #2c2c2c; color:#f2f2f2 !important; font:700 .64rem/1 "IBM Plex Mono","SFMono-Regular",Consolas,monospace; letter-spacing:.045em; white-space:nowrap; }
.rc-desktop-nav a:last-child { border-right:1px solid #2c2c2c; }
.rc-desktop-nav a:hover { background:#f2f2f2 !important; color:#000 !important; }
.rc-menu-toggle,.rc-mobile-nav { display:none; }

.rc-main { min-height:100vh; background:#000 !important; color:#f2f2f2 !important; }
.home .rc-main > section + section { margin-top:clamp(24px,2.6vw,40px); }
.rc-hero { position:relative; overflow:hidden; background:#000 !important; border-bottom:1px solid #2c2c2c; }
.rc-hero-media { position:absolute; inset:0; z-index:0; overflow:hidden; }
.rc-hero-media img { width:100% !important; height:100% !important; object-fit:cover !important; object-position:center 42% !important; filter:grayscale(1) contrast(1.08); transform:scale(1.035); animation:rcHeroImage 1.35s cubic-bezier(.2,.7,.2,1) forwards; }
.rc-hero-shade { position:absolute; inset:0; z-index:1; background:rgba(0,0,0,.62); }
.rc-hero-grid { position:relative; z-index:2; min-height:560px; display:grid; grid-template-columns:72px minmax(0,1fr) 240px; border-left:1px solid rgba(255,255,255,.22); border-right:1px solid rgba(255,255,255,.22); background:transparent !important; }
.rc-hero-index { padding:32px 18px; border-right:1px solid #2c2c2c; color:#8b8b8b !important; font:700 .70rem/1 "SFMono-Regular",Consolas,monospace; }
.rc-hero-copy { display:flex; flex-direction:column; justify-content:space-between; min-width:0; padding:32px 44px 44px; background:transparent !important; }
.rc-kicker { margin:0; color:#8b8b8b !important; font:700 .70rem/1.35 "SFMono-Regular",Consolas,monospace; letter-spacing:.08em; }
.rc-hero h1 { margin:auto 0 0 !important; max-width:980px; color:#f2f2f2 !important; font-family:"Anton",Impact,sans-serif !important; font-size:clamp(4.8rem,9vw,8.8rem) !important; line-height:.92 !important; letter-spacing:-.025em !important; font-weight:400 !important; text-transform:uppercase !important; }
.rc-hero h1 span { display:block; opacity:0; transform:translateY(34px); animation:rcHeroLine .72s cubic-bezier(.2,.75,.25,1) forwards; }
.rc-hero h1 span:nth-child(1) { animation-delay:.12s; }
.rc-hero h1 span:nth-child(2) { animation-delay:.22s; }
.rc-hero h1 span:nth-child(3) { animation-delay:.32s; }
.rc-hero-kicker { opacity:0; animation:rcFadeIn .7s ease .18s forwards; }
.rc-hero-meta { display:flex; flex-direction:column; justify-content:space-between; padding:32px 26px; border-left:1px solid rgba(255,255,255,.22); background:rgba(0,0,0,.18) !important; color:#f2f2f2 !important; font:700 .70rem/1.45 "IBM Plex Mono",monospace; letter-spacing:.04em; }
.rc-hero-meta p { margin:0; color:#8b8b8b !important; }
.rc-hero-meta a { align-self:flex-start; color:#f2f2f2 !important; border-bottom:1px solid #f2f2f2; padding-bottom:3px; }

.rc-block { padding:0; background:#000 !important; color:#f2f2f2 !important; border-bottom:1px solid #2c2c2c; }
.rc-block>.rc-shell { border-left:1px solid #2c2c2c; border-right:1px solid #2c2c2c; background:#000 !important; }
.rc-block-label { min-height:60px; display:grid; grid-template-columns:72px 1fr; border-bottom:1px solid #2c2c2c; background:#000 !important; color:#f2f2f2 !important; font:700 .70rem/1 "SFMono-Regular",Consolas,monospace; letter-spacing:.08em; }
.rc-block-label span { display:flex; align-items:center; padding:0 18px; color:#f2f2f2 !important; }
.rc-block-label span:first-child { border-right:1px solid #2c2c2c; color:#777 !important; }

.rc-feature { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(300px,.72fr); background:#000 !important; }
.rc-feature-image { aspect-ratio:16/9; overflow:hidden; background:#111 !important; border-right:1px solid #2c2c2c; }
.rc-fit-image { width:100% !important; height:100% !important; object-fit:cover !important; object-position:center !important; }
.rc-feature-text { min-width:0; display:flex; flex-direction:column; justify-content:flex-end; padding:34px; background:#000 !important; color:#f2f2f2 !important; }
.rc-meta { display:flex; justify-content:space-between; gap:18px; color:#7f7f7f !important; font:700 .66rem/1.2 "SFMono-Regular",Consolas,monospace; letter-spacing:.06em; }
.rc-meta span,.rc-meta a { color:#7f7f7f !important; }
.rc-feature-text h2 { margin:24px 0 !important; color:#f2f2f2 !important; font-family:"Anton",Impact,sans-serif !important; font-size:clamp(2.3rem,3.8vw,4.4rem) !important; line-height:.96 !important; letter-spacing:-.018em !important; font-weight:400 !important; text-transform:uppercase; overflow-wrap:anywhere; }
.rc-link { width:fit-content; color:#f2f2f2 !important; border-bottom:1px solid #f2f2f2; padding-bottom:3px; font:700 .70rem/1 "SFMono-Regular",Consolas,monospace; }

.rc-section-list { display:grid; background:#000 !important; }
.rc-section-row { min-height:132px; display:grid; grid-template-columns:minmax(220px,.7fr) 1fr 64px; align-items:center; background:#000 !important; color:#f2f2f2 !important; border-bottom:1px solid #2c2c2c; }
.rc-section-row:last-child { border-bottom:0; }
.rc-section-row:hover { background:#f2f2f2 !important; color:#000 !important; }
.rc-section-name { padding:0 34px; color:inherit !important; font-family:"Anton",Impact,sans-serif !important; font-size:clamp(3rem,5.3vw,5.9rem) !important; line-height:.88 !important; letter-spacing:-.02em !important; font-weight:400 !important; }
.rc-section-copy { padding:0 34px; border-left:1px solid #2c2c2c; color:#8b8b8b !important; font-size:.95rem; line-height:1.5; }
.rc-section-row:hover .rc-section-copy { color:#333 !important; }
.rc-section-arrow { height:100%; display:grid; place-items:center; border-left:1px solid #2c2c2c; color:inherit !important; }
.rc-section-arrow svg { width:22px; height:22px; display:block; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:square; stroke-linejoin:miter; }

.rc-post-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); background:#000 !important; }
.rc-card { min-width:0; padding-bottom:30px; background:#000 !important; color:#f2f2f2 !important; border-right:1px solid #2c2c2c; }
.rc-card:nth-child(3n) { border-right:0; }
.rc-card:nth-child(n+4) { border-top:1px solid #2c2c2c; }
.rc-card-image { display:block; width:100%; aspect-ratio:16/9; overflow:hidden; background:#111 !important; border-bottom:1px solid #2c2c2c; }
.rc-card-image img { width:100% !important; height:100% !important; object-fit:cover !important; object-position:center !important; transition:filter .35s ease,transform .55s cubic-bezier(.2,.7,.2,1); }
.rc-card:hover .rc-card-image img { filter:grayscale(1); transform:scale(1.025); }
.rc-card .rc-meta { padding:18px 22px 0; }
.rc-card h3 { margin:14px 22px 0 !important; color:#f2f2f2 !important; font-family:"Helvetica Neue",Helvetica,Arial,sans-serif !important; font-size:1.2rem !important; line-height:1.1 !important; letter-spacing:-.035em !important; font-weight:700 !important; text-transform:uppercase; overflow-wrap:anywhere; }
.rc-card h3 a { color:#f2f2f2 !important; }

.rc-about-grid { min-height:360px; display:grid; grid-template-columns:34% 66%; background:#000 !important; }
.rc-about-year { padding:34px; border-right:1px solid #2c2c2c; color:#777 !important; font:700 .82rem/1 "SFMono-Regular",Consolas,monospace; }
.rc-about-copy { display:flex; flex-direction:column; justify-content:space-between; padding:34px 38px 40px; background:#000 !important; }
.rc-about-copy h2,.rc-collab h2 { margin:0 !important; color:#f2f2f2 !important; font-family:"Anton",Impact,sans-serif !important; font-size:clamp(3.8rem,6.8vw,7rem) !important; line-height:.9 !important; letter-spacing:-.02em !important; font-weight:400 !important; }
.rc-about-copy p { margin:30px 0 0; max-width:42ch; color:#8b8b8b !important; font-size:.95rem; line-height:1.55; }

.rc-collab-grid { min-height:380px; display:grid; grid-template-columns:minmax(0,1.5fr) minmax(300px,.5fr); background:#000 !important; }
.rc-collab-grid>div:first-child { display:flex; flex-direction:column; justify-content:space-between; padding:34px 38px 40px; border-right:1px solid #2c2c2c; background:#000 !important; }
.rc-collab-side { display:flex; flex-direction:column; justify-content:space-between; padding:34px; background:#000 !important; }
.rc-collab-side p { margin:0; color:#8b8b8b !important; font-size:.95rem; line-height:1.55; }
.rc-box-link { display:block; padding:16px; border:1px solid #f2f2f2; color:#f2f2f2 !important; font:700 .68rem/1.2 "SFMono-Regular",Consolas,monospace; text-align:center; }
.rc-box-link:hover { background:#f2f2f2 !important; color:#000 !important; }

.rc-footer { background:#000 !important; border-top:0; }
.rc-footer-inner { min-height:76px; display:grid; grid-template-columns:1fr 1fr 1fr; align-items:center; gap:20px; color:#777 !important; font:700 .66rem/1.4 "SFMono-Regular",Consolas,monospace; letter-spacing:.04em; }
.rc-footer-inner a { color:#f2f2f2 !important; }
.rc-footer-inner>div:nth-child(2) { text-align:center; }
.rc-footer-inner>div:last-child { text-align:right; }

@media (max-width:960px) {
  .rc-header-grid { grid-template-columns:1fr auto; }
  .rc-desktop-nav { display:none; }
  .rc-menu-toggle { display:block; width:54px; height:54px; padding:0 14px; background:#000 !important; border:0; border-left:1px solid #2c2c2c; }
  .rc-menu-toggle span { display:block; width:100%; height:1px; margin:7px 0; background:#f2f2f2; }
  .rc-mobile-nav { position:absolute; left:0; right:0; top:72px; display:none; background:#000 !important; border-bottom:1px solid #2c2c2c; }
  .rc-mobile-nav.is-open { display:block; }
  body.admin-bar .rc-mobile-nav { top:72px; }
  .rc-mobile-nav a { display:block; padding:18px 24px; background:#000 !important; color:#f2f2f2 !important; border-top:1px solid #2c2c2c; font:700 .78rem/1 "SFMono-Regular",Consolas,monospace; }
  .rc-hero-grid { grid-template-columns:56px 1fr; min-height:520px; }
  .rc-hero-meta { grid-column:1/-1; min-height:94px; border-left:0; border-top:1px solid #2c2c2c; flex-direction:row; align-items:flex-end; }
  .rc-feature { grid-template-columns:1fr; }
  .rc-feature-image { border-right:0; border-bottom:1px solid #2c2c2c; }
  .rc-section-row { grid-template-columns:1fr 64px; }
  .rc-section-copy { grid-column:1/-1; order:3; padding:16px 24px; border-left:0; border-top:1px solid #2c2c2c; }
  .rc-post-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .rc-card:nth-child(3n) { border-right:1px solid #2c2c2c; }
  .rc-card:nth-child(2n) { border-right:0; }
  .rc-card:nth-child(n+3) { border-top:1px solid #2c2c2c; }
  .rc-about-grid,.rc-collab-grid { grid-template-columns:1fr; }
  .rc-about-year,.rc-collab-grid>div:first-child { border-right:0; border-bottom:1px solid #2c2c2c; }
}
@media (max-width:782px) { body.admin-bar .rc-header { top:46px; } }
@media (max-width:620px) {
  body.admin-bar .rc-header { top:0; }
  .rc-header { top:0; }
  .rc-shell { width:calc(100% - 24px); }
  .rc-header-grid { height:62px; }
  .rc-logo { height:42px; }
  .rc-logo img { width:142px !important; max-height:44px !important; }
  .rc-mobile-nav { top:62px; }
  .rc-hero-grid { min-height:auto; grid-template-columns:42px 1fr; }
  .rc-hero-index { padding:24px 12px; }
  .rc-hero-copy { padding:24px 22px 32px; }
  .rc-hero h1 { margin-top:70px !important; font-size:clamp(3.4rem,16.5vw,5rem) !important; line-height:.90 !important; }
  .rc-hero-meta { padding:22px; }
  .rc-block-label { min-height:54px; grid-template-columns:42px 1fr; }
  .rc-block-label span { padding:0 14px; }
  .rc-feature-text { padding:24px 22px 30px; }
  .rc-feature-text h2 { font-size:2.2rem !important; }
  .rc-section-row { min-height:112px; }
  .rc-section-name { padding:0 22px; font-size:2.9rem !important; }
  .rc-section-copy { padding:20px 22px; }
  .rc-post-grid { grid-template-columns:1fr; }
  .rc-card,.rc-card:nth-child(2n),.rc-card:nth-child(3n) { border-right:0; padding-bottom:0; }
  .rc-card:nth-child(n+2) { border-top:0; }
  .rc-card:not(:last-child) { margin-bottom:36px; }
  .rc-card .rc-meta { padding:18px 22px 0; }
  .rc-card h3 { margin:14px 22px 0 !important; padding-bottom:30px; font-size:1.16rem !important; line-height:1.12 !important; }
  .rc-about-grid,.rc-collab-grid { min-height:0; }
  .rc-about-copy,.rc-collab-grid>div:first-child,.rc-collab-side { padding:26px 22px 34px; }
  .rc-about-copy h2,.rc-collab h2 { font-size:3.8rem !important; }
  .rc-footer-inner { grid-template-columns:1fr; padding:22px 0; gap:7px; }
  .rc-footer-inner>div:nth-child(2),.rc-footer-inner>div:last-child { text-align:left; }
}

.rc-reveal { opacity:0; transform:translateY(24px); transition:opacity .7s ease var(--rc-delay,0ms),transform .7s cubic-bezier(.2,.7,.2,1) var(--rc-delay,0ms); }
.rc-reveal.is-visible { opacity:1; transform:translateY(0); }
.rc-feature-image img { transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .4s ease; }
.rc-feature:hover .rc-feature-image img { transform:scale(1.018); filter:grayscale(.25); }
.rc-section-row .rc-section-arrow { transition:transform .25s ease; }
.rc-section-row:hover .rc-section-arrow { transform:translate(3px,-3px); }
.rc-box-link { transition:background .2s ease,color .2s ease; }

@keyframes rcHeroImage { from { opacity:.35; transform:scale(1.065); } to { opacity:1; transform:scale(1.035); } }
@keyframes rcHeroLine { to { opacity:1; transform:translateY(0); } }
@keyframes rcFadeIn { to { opacity:1; } }

.rc-body:not(.home) { background:#fff !important; color:#0a0a0a !important; }
.rc-body:not(.home) .rc-header { background:#fff !important; border-bottom:1px solid #111; }
.rc-body:not(.home) .rc-logo img { filter:invert(1); }
.rc-body:not(.home) .rc-desktop-nav a { color:#0a0a0a !important; border-color:#111; }
.rc-body:not(.home) .rc-desktop-nav a:hover { background:#0a0a0a !important; color:#fff !important; }
.rc-body:not(.home) .rc-menu-toggle { background:#fff !important; border-left-color:#111; }
.rc-body:not(.home) .rc-menu-toggle span { background:#0a0a0a; }
.rc-body:not(.home) .rc-mobile-nav { background:#fff !important; border-bottom-color:#111; }
.rc-body:not(.home) .rc-mobile-nav a { background:#fff !important; color:#0a0a0a !important; border-top-color:#111; }

.rc-submain { min-height:100vh; background:#fff !important; color:#0a0a0a !important; }
.rc-subhero { background:#fff !important; border-bottom:1px solid #111; }
.rc-subhero-grid { min-height:360px; display:grid; grid-template-columns:72px minmax(0,1fr); border-left:1px solid #111; border-right:1px solid #111; }
.rc-sub-index { padding:24px 18px; border-right:1px solid #111; color:#666; font:700 .70rem/1 "IBM Plex Mono",monospace; }
.rc-subhero-copy { display:flex; flex-direction:column; justify-content:space-between; padding:24px 32px 30px; }
.rc-sub-kicker { margin:0; color:#666; font:700 .70rem/1.35 "IBM Plex Mono",monospace; letter-spacing:.08em; }
.rc-subhero h1,.rc-article-title h1,.rc-error h1 { margin:72px 0 0 !important; color:#0a0a0a !important; font-family:"Anton",Impact,sans-serif !important; font-size:clamp(4.5rem,9vw,8.4rem) !important; line-height:.9 !important; letter-spacing:-.02em !important; font-weight:400 !important; text-transform:uppercase; }
.rc-sub-desc { max-width:58ch; margin-top:24px; color:#555; line-height:1.5; }

.rc-subblock { background:#fff !important; border-bottom:1px solid #111; }
.rc-subblock>.rc-shell { border-left:1px solid #111; border-right:1px solid #111; }
.rc-sub-label { min-height:52px; display:grid; grid-template-columns:72px 1fr; border-bottom:1px solid #111; color:#0a0a0a; font:700 .70rem/1 "IBM Plex Mono",monospace; letter-spacing:.08em; }
.rc-sub-label span { display:flex; align-items:center; padding:0 18px; }
.rc-sub-label span:first-child { border-right:1px solid #111; color:#666; }

.rc-subgrid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); background:#fff; }
.rc-subcard { min-width:0; padding-bottom:24px; border-right:1px solid #111; background:#fff; }
.rc-subcard:nth-child(3n) { border-right:0; }
.rc-subcard:nth-child(n+4) { border-top:1px solid #111; }
.rc-subcard-image { display:block; width:100%; aspect-ratio:16/9; overflow:hidden; background:#eee; border-bottom:1px solid #111; }
.rc-subcard-image img { width:100% !important; height:100% !important; object-fit:cover !important; transition:transform .45s cubic-bezier(.2,.7,.2,1),filter .3s ease; }
.rc-subcard:hover .rc-subcard-image img { transform:scale(1.02); filter:grayscale(1); }
.rc-submeta { display:flex; justify-content:space-between; gap:16px; padding:14px 18px 0; color:#666; font:700 .66rem/1.2 "IBM Plex Mono",monospace; letter-spacing:.05em; text-transform:uppercase; }
.rc-subcard h2,.rc-sublist-row h2 { margin:12px 18px 0 !important; color:#0a0a0a !important; font-family:"Anton",Impact,sans-serif !important; font-size:1.65rem !important; line-height:1 !important; letter-spacing:-.01em !important; font-weight:400 !important; text-transform:uppercase; }
.rc-subcard h2 a,.rc-sublist-row h2 a { color:#0a0a0a !important; }
.rc-subpagination { display:flex; gap:8px; padding:22px; border-top:1px solid #111; font:700 .68rem/1 "IBM Plex Mono",monospace; }
.rc-subpagination .page-numbers { display:inline-flex; min-width:38px; min-height:38px; align-items:center; justify-content:center; border:1px solid #111; padding:0 10px; color:#0a0a0a !important; }
.rc-subpagination .current,.rc-subpagination .page-numbers:hover { background:#0a0a0a; color:#fff !important; }
.rc-subempty { padding:48px 24px; color:#555; }

.rc-article-head { border-bottom:1px solid #111; background:#fff; }
.rc-article-headgrid { min-height:430px; display:grid; grid-template-columns:72px 1fr; border-left:1px solid #111; border-right:1px solid #111; }
.rc-article-title { padding:24px 32px 34px; display:flex; flex-direction:column; justify-content:space-between; min-width:0; }
.rc-article-title .rc-submeta { padding:0; }
.rc-article-title h1 { max-width:1100px; overflow-wrap:anywhere; }
.rc-article-media { aspect-ratio:16/9; overflow:hidden; border-left:1px solid #111; border-right:1px solid #111; border-bottom:1px solid #111; background:#eee; }
.rc-article-video { position:relative; background:#000; }
.rc-article-video iframe,.rc-article-video video,.rc-article-video .wp-video,.rc-article-video .mejs-container { width:100% !important; height:100% !important; max-width:none !important; }
.rc-article-video iframe { position:absolute; inset:0; border:0; }
.rc-video-fallback { position:absolute; inset:0; display:grid; place-items:center; background:#0a0a0a; color:#fff !important; font:700 .75rem/1 "IBM Plex Mono",monospace; letter-spacing:.06em; }
.rc-article-bodygrid { display:grid; grid-template-columns:220px minmax(0,1fr); border-left:1px solid #111; border-right:1px solid #111; border-bottom:1px solid #111; }
.rc-article-aside { display:flex; flex-direction:column; gap:10px; padding:28px 22px; border-right:1px solid #111; color:#666; font:700 .68rem/1 "IBM Plex Mono",monospace; }
.rc-article-content { max-width:860px; padding:52px 48px 70px; color:#161616; font-size:1.08rem; line-height:1.72; }
.rc-article-content h2,.rc-article-content h3,.rc-page-content h2,.rc-page-content h3 { color:#0a0a0a !important; font-family:"Anton",Impact,sans-serif !important; font-weight:400 !important; line-height:1 !important; letter-spacing:-.01em; text-transform:uppercase; }
.rc-article-content h2,.rc-page-content h2 { margin:2.3em 0 .55em !important; font-size:2.7rem !important; }
.rc-article-content h3,.rc-page-content h3 { margin:2em 0 .5em !important; font-size:2rem !important; }
.rc-article-content p,.rc-page-content p { margin:0 0 1.35em; }
.rc-article-content a,.rc-page-content a { color:#0a0a0a !important; text-decoration:underline !important; text-underline-offset:3px; }
.rc-article-content img,.rc-page-content img { height:auto !important; }
.rc-article-content figure { margin:2.2em 0; }
.rc-article-inline-media { margin:2.8em 0 !important; border-top:1px solid #111; border-bottom:1px solid #111; background:#f3f3f3; overflow:hidden; }
.rc-article-inline-media img { width:100% !important; height:auto !important; display:block; object-fit:cover; }
.rc-article-inline-media figcaption { padding:10px 0 0; border-top:1px solid #111; color:#666; font:500 .66rem/1.4 "IBM Plex Mono",monospace; }
.rc-article-content figcaption { margin-top:8px; color:#666; font:500 .66rem/1.4 "IBM Plex Mono",monospace; }
.rc-article-content blockquote,.rc-page-content blockquote { margin:2em 0; padding:0 0 0 22px; border-left:4px solid #0a0a0a; font-size:1.35rem; line-height:1.45; }
.rc-article-nav { display:grid; grid-template-columns:1fr 1fr; border-left:1px solid #111; border-right:1px solid #111; border-bottom:1px solid #111; font:700 .68rem/1.35 "IBM Plex Mono",monospace; text-transform:uppercase; }
.rc-article-nav>div { min-height:86px; display:flex; align-items:center; padding:18px 22px; }
.rc-article-nav>div+div { justify-content:flex-end; text-align:right; border-left:1px solid #111; }
.rc-article-nav a { color:#0a0a0a !important; }

.rc-page-media { aspect-ratio:16/9; overflow:hidden; border-left:1px solid #111; border-right:1px solid #111; border-bottom:1px solid #111; background:#eee; }
.rc-page-bodygrid { display:grid; grid-template-columns:220px minmax(0,1fr); border-left:1px solid #111; border-right:1px solid #111; border-bottom:1px solid #111; }
.rc-page-aside { padding:28px 22px; border-right:1px solid #111; color:#666; font:700 .68rem/1.4 "IBM Plex Mono",monospace; }
.rc-page-content { max-width:960px; padding:52px 48px 70px; color:#161616; font-size:1.05rem; line-height:1.7; }
.rc-contact-form { margin-top:36px; }
.rc-contact-form .nf-form-content { max-width:none !important; padding:0 !important; }
.rc-contact-form .nf-field-container { margin-bottom:22px !important; }
.rc-contact-form label { color:#0a0a0a !important; font:700 .72rem/1.2 "IBM Plex Mono",monospace !important; letter-spacing:.04em; text-transform:uppercase; }
.rc-contact-form input:not([type=button]):not([type=submit]),.rc-contact-form textarea,.rc-contact-form select { width:100% !important; border:1px solid #111 !important; border-radius:0 !important; background:#fff !important; color:#0a0a0a !important; box-shadow:none !important; padding:14px !important; font-family:"Helvetica Neue",Helvetica,Arial,sans-serif !important; }
.rc-contact-form textarea { min-height:180px; }
.rc-contact-form input[type=button],.rc-contact-form input[type=submit],.rc-contact-form button { border:1px solid #111 !important; border-radius:0 !important; background:#0a0a0a !important; color:#fff !important; padding:14px 22px !important; font:700 .72rem/1 "IBM Plex Mono",monospace !important; letter-spacing:.05em; text-transform:uppercase; }
.rc-contact-form input[type=button]:hover,.rc-contact-form input[type=submit]:hover,.rc-contact-form button:hover { background:#fff !important; color:#0a0a0a !important; }

.rc-sub-search { margin-top:30px; max-width:560px; }
.rc-sub-search .search-form,.rc-error .search-form { display:grid; grid-template-columns:1fr auto; }
.rc-sub-search .search-field,.rc-error .search-field { width:100%; min-height:48px; padding:0 14px; border:1px solid #111; border-radius:0; background:#fff; color:#0a0a0a; font:600 .8rem/1 "IBM Plex Mono",monospace; }
.rc-sub-search .search-submit,.rc-error .search-submit { min-height:48px; border:1px solid #111; border-left:0; border-radius:0; padding:0 18px; background:#0a0a0a; color:#fff; font:700 .70rem/1 "IBM Plex Mono",monospace; text-transform:uppercase; }
.rc-sublist { display:grid; }
.rc-sublist-row { padding:28px 20px 32px; border-bottom:1px solid #111; }
.rc-sublist-row:last-child { border-bottom:0; }
.rc-sublist-row .rc-submeta { padding:0; }
.rc-sublist-row h2 { margin:16px 0 10px !important; font-size:2.2rem !important; }
.rc-subexcerpt { max-width:72ch; color:#555; line-height:1.55; }
.rc-subexcerpt p { margin:0; }

.rc-error { min-height:calc(100vh - 148px); background:#fff; }
.rc-error-grid { min-height:calc(100vh - 148px); display:grid; grid-template-columns:72px 1fr; border-left:1px solid #111; border-right:1px solid #111; }
.rc-error-copy { display:flex; flex-direction:column; justify-content:center; padding:42px; }
.rc-error-copy h1 { margin:28px 0 !important; }
.rc-error-copy>p:not(.rc-sub-kicker) { max-width:46ch; color:#555; line-height:1.55; }
.rc-error-actions { display:grid; grid-template-columns:max-content minmax(280px,520px); gap:28px; align-items:end; margin-top:34px; }
.rc-error-actions>a { color:#0a0a0a !important; border-bottom:1px solid #111; padding-bottom:4px; font:700 .70rem/1 "IBM Plex Mono",monospace; }

.rc-body:not(.home) .rc-footer { background:#fff !important; border-top:1px solid #111; }
.rc-body:not(.home) .rc-footer-inner { color:#666 !important; }
.rc-body:not(.home) .rc-footer-inner a { color:#0a0a0a !important; }

@media (max-width:960px) {
  .rc-subgrid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .rc-subcard:nth-child(3n) { border-right:1px solid #111; }
  .rc-subcard:nth-child(2n) { border-right:0; }
  .rc-subcard:nth-child(n+3) { border-top:1px solid #111; }
  .rc-article-bodygrid,.rc-page-bodygrid { grid-template-columns:150px minmax(0,1fr); }
  .rc-error-actions { grid-template-columns:1fr; }
}
@media (max-width:620px) {
  .rc-subhero-grid,.rc-article-headgrid,.rc-error-grid { grid-template-columns:42px 1fr; min-height:300px; }
  .rc-sub-index { padding:20px 12px; }
  .rc-subhero-copy,.rc-article-title { padding:20px 18px 26px; }
  .rc-subhero h1,.rc-article-title h1,.rc-error h1 { margin-top:56px !important; font-size:clamp(3.2rem,16vw,4.9rem) !important; }
  .rc-sub-label { grid-template-columns:42px 1fr; min-height:46px; }
  .rc-sub-label span { padding:0 12px; }
  .rc-subgrid { grid-template-columns:1fr; }
  .rc-subcard,.rc-subcard:nth-child(2n),.rc-subcard:nth-child(3n) { border-right:0; }
  .rc-subcard:nth-child(n+2) { border-top:1px solid #111; }
  .rc-article-bodygrid,.rc-page-bodygrid { grid-template-columns:1fr; }
  .rc-article-aside,.rc-page-aside { border-right:0; border-bottom:1px solid #111; }
  .rc-article-content,.rc-page-content { padding:36px 20px 52px; font-size:1rem; }
  .rc-article-content h2,.rc-page-content h2 { font-size:2.25rem !important; }
  .rc-article-nav { grid-template-columns:1fr; }
  .rc-article-nav>div+div { border-left:0; border-top:1px solid #111; justify-content:flex-start; text-align:left; }
  .rc-error-copy { padding:28px 18px; }
}

@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { scroll-behavior:auto !important; animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; }
  .rc-reveal { opacity:1; transform:none; }
}
