/* ============================================================
   Riot of Colors — editorial templates (project + news)
   Design language: Playfair / Spectral / Courier Prime, dark,
   Ray Gun overlap-but-legible, scanline tie-in to the depth space.
   ============================================================ */

.rd-doc{min-height:100vh;background:var(--void);color:var(--cream);padding-bottom:120px}

/* top utility row */
.rd-doc-top{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;
  padding:16px 32px;background:linear-gradient(var(--void),rgba(10,10,11,.6) 60%,transparent);
  font:400 11px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase}
.rd-doc-back{color:var(--acid)}.rd-doc-back span{display:inline-block;transition:transform .18s}
.rd-doc-back:hover span{transform:translateX(-4px)}
.rd-doc-index{color:rgba(239,233,220,.55)}.rd-doc-index:hover{color:var(--mag)}

/* ---------- hero (project) ---------- */
.rd-hero{position:relative;min-height:clamp(440px,86vh,900px);overflow:hidden;display:flex;align-items:flex-end;background:#000}
.rd-hero-media{position:absolute;inset:0;z-index:0;will-change:transform}
.rd-hero-media img,.rd-hero-media video{width:100%;height:100%;object-fit:cover;display:block}
.rd-hero-scrim{position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(transparent 35%,rgba(10,10,11,.6) 72%,rgba(10,10,11,.94))}
.rd-hero-grain{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:.5;mix-blend-mode:overlay;
  background-image:repeating-linear-gradient(0deg,rgba(0,0,0,.22) 0 1px,transparent 1px 3px);background-size:100% 3px}
.rd-hero-ghost{position:absolute;right:-1%;top:6%;z-index:1;pointer-events:none;
  font-family:var(--serif);font-style:italic;font-weight:900;font-size:clamp(60px,15vw,240px);line-height:.8;
  color:transparent;-webkit-text-stroke:1px rgba(239,233,220,.14);transform:rotate(-5deg);white-space:nowrap;max-width:60%;overflow:hidden}
.rd-hero-inner{position:relative;z-index:3;padding:0 clamp(24px,5vw,72px) clamp(34px,6vh,72px);max-width:1200px;width:100%;margin:0 auto}
.rd-kicker{font:400 12px/1.3 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--mag);margin:0 0 16px}
.rd-hero-title{margin:0;font-family:var(--serif);font-weight:900;font-size:clamp(44px,8.5vw,150px);line-height:.84;
  letter-spacing:-.02em;color:var(--cream);text-shadow:0 6px 40px rgba(0,0,0,.6);max-width:16ch}
.rd-hero-deck{margin:20px 0 0;max-width:52ch;font:italic 400 clamp(16px,1.8vw,24px)/1.4 var(--read);color:rgba(239,233,220,.9)}

/* ---------- ledger ---------- */
.rd-ledger{max-width:1200px;margin:0 auto;padding:22px clamp(24px,5vw,72px);display:flex;flex-wrap:wrap;gap:8px 44px;
  border-bottom:1px solid rgba(239,233,220,.16)}
.rd-ledger>div{display:flex;flex-direction:column;gap:5px;padding:6px 0}
.rd-l-k{font:400 9px/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:rgba(239,233,220,.45)}
.rd-l-v{font:400 14px/1.3 var(--mono);letter-spacing:.02em;color:var(--cream)}
.rd-l-v a{color:var(--cyan);border-bottom:1px solid rgba(0,240,255,.4)}
.rd-l-hot .rd-l-v{color:var(--acid)}

/* ---------- body ---------- */
.rd-doc-body{max-width:820px;margin:0 auto;padding:60px clamp(24px,5vw,40px) 0}
.rd-lead{font-family:var(--read);font-weight:400;font-size:clamp(22px,3vw,40px);line-height:1.25;letter-spacing:-.01em;color:var(--cream);margin:0 0 44px}
.rd-lead::first-letter{color:var(--mag)}
.rd-prose{font:400 clamp(15px,1.35vw,18px)/1.72 var(--read);color:rgba(239,233,220,.9)}
.rd-prose>*{margin:0 0 22px}
.rd-prose h2{font-family:var(--serif);font-weight:700;font-size:clamp(26px,4vw,52px);line-height:.98;color:var(--cream);margin:48px 0 18px;letter-spacing:-.01em}
.rd-prose h3{font-family:var(--serif);font-weight:700;font-size:clamp(20px,2.6vw,32px);line-height:1;color:var(--cream);margin:36px 0 14px}
.rd-prose h2 em,.rd-prose h3 em{color:var(--mag)}
.rd-prose a{color:var(--cyan);border-bottom:1px solid rgba(0,240,255,.35)}
.rd-prose a:hover{color:#fff;border-color:#fff}
.rd-prose img{width:100%;height:auto;display:block;border:1px solid rgba(239,233,220,.16);margin:34px 0}
.rd-prose figure{margin:34px 0}
.rd-prose figcaption{font:400 11px/1.5 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:rgba(239,233,220,.5);margin-top:8px}
.rd-prose blockquote{border-left:3px solid var(--mag);margin:34px 0;padding:4px 0 4px 24px;
  font:italic 400 clamp(20px,2.6vw,30px)/1.35 var(--serif);color:var(--cream)}
.rd-prose ul,.rd-prose ol{padding-left:22px}
.rd-prose li{margin:0 0 8px}
.rd-prose code{font-family:var(--mono);font-size:.88em;background:rgba(239,233,220,.08);padding:2px 6px}
.rd-prose hr{border:0;border-top:1px solid rgba(239,233,220,.16);margin:44px 0}

/* case blocks (from meta JSON) */
.rd-case-blocks{max-width:820px;margin:44px auto 0}
.rd-case-block{margin:0 0 40px}
.rd-case-block h2{font-family:var(--serif);font-weight:700;font-size:clamp(24px,3.4vw,44px);line-height:1;color:var(--cream);margin:0 0 12px}
.rd-case-block p{font:400 clamp(15px,1.35vw,18px)/1.7 var(--read);color:rgba(239,233,220,.88);margin:0 0 16px}
.rd-case-block img{width:100%;border:1px solid rgba(239,233,220,.16)}
.rd-case-block--wide{max-width:none}

/* tags */
.rd-tags{display:flex;flex-wrap:wrap;gap:8px;margin:40px 0 0}
.rd-tags a{font:400 14px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#fff;background:var(--blur);
  padding:8px 12px;transform:skewX(-8deg);transition:background .15s}
.rd-tags a:hover{background:var(--mag)}

/* pager */
.rd-pager{max-width:1200px;margin:80px auto 0;padding:0 clamp(24px,5vw,40px);display:grid;grid-template-columns:1fr 1fr;gap:24px;
  border-top:1px solid rgba(239,233,220,.16);padding-top:34px}
.rd-pager a{display:flex;flex-direction:column;gap:8px}
.rd-pager-next{text-align:right}
.rd-p-l{font:400 14px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--mag)}
.rd-p-t{font-family:var(--serif);font-weight:700;font-size:clamp(20px,3vw,38px);line-height:.98;color:var(--cream);transition:color .15s,transform .18s}
.rd-pager a:hover .rd-p-t{color:var(--mag)}
.rd-pager-prev:hover .rd-p-t{transform:translateX(6px)}
.rd-pager-next:hover .rd-p-t{transform:translateX(-6px)}

/* related */
.rd-related{max-width:1200px;margin:90px auto 0;padding:0 clamp(24px,5vw,40px)}
.rd-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:8px}
.work-card{display:block;color:var(--cream)}
.work-card__media{display:block;aspect-ratio:4/3;overflow:hidden;border:1px solid rgba(239,233,220,.16);background:#141416;filter:grayscale(.35) contrast(1.03);transition:filter .25s}
.work-card:hover .work-card__media{filter:none}
.work-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.16,1,.3,1)}
.work-card:hover .work-card__media img{transform:scale(1.05)}
.work-card__caption{display:flex;flex-direction:column;gap:3px;padding-top:10px}
.work-card__caption strong{font-family:var(--serif);font-weight:700;font-size:clamp(16px,1.8vw,22px);line-height:1}
.work-card__caption em{font:400 14px/1.3 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:rgba(239,233,220,.55);font-style:normal}
.rd-rootahead-note{max-width:70ch;margin:18px 0 0;font:400 11px/1.5 var(--mono);letter-spacing:.02em;color:rgba(239,233,220,.58)}
.roc-paper .rd-rootahead-note{color:rgba(17,17,17,.58)}
.rd-related-all{display:inline-block;margin-top:34px;font:italic 700 clamp(16px,2vw,22px)/1 var(--serif);color:var(--acid);border-bottom:1px solid var(--acid);padding-bottom:3px}
.rd-related-all:hover{color:#fff;border-color:#fff}

/* ============================================================
   NEWS
   ============================================================ */
.rd-doc--news{max-width:100%}
.rd-news-head{max-width:900px;margin:0 auto;padding:clamp(40px,9vh,110px) clamp(24px,5vw,40px) 30px;text-align:left}
.rd-news-head .rd-kicker{display:flex;align-items:center;gap:8px}
.rd-news-head .rd-dot{color:var(--mag);animation:rd-blip 1.1s steps(1) infinite}
@keyframes rd-blip{50%{opacity:.25}}
.rd-news-title{margin:0;font-family:var(--serif);font-weight:900;font-size:clamp(38px,7vw,110px);line-height:.86;letter-spacing:-.02em;color:var(--cream);max-width:18ch}
.rd-news-title em{color:var(--mag);font-style:italic}
.rd-news-deck{margin:22px 0 0;max-width:60ch;font:italic 400 clamp(17px,2vw,26px)/1.4 var(--read);color:rgba(239,233,220,.9)}
.rd-news-figure{position:relative;margin:30px auto 0;max-width:1200px;padding:0 clamp(24px,5vw,40px)}
.rd-news-figure .rd-hero-media{position:relative;inset:auto;aspect-ratio:16/8;overflow:hidden;border:1px solid rgba(239,233,220,.16)}
.rd-news-figure .rd-hero-grain{opacity:.4}
.rd-doc-body--news{max-width:740px;padding-top:50px}
.rd-news-external{display:inline-block;margin-top:30px;font:italic 700 clamp(16px,2vw,22px)/1 var(--serif);color:var(--cyan);border-bottom:1px solid var(--cyan);padding-bottom:3px}
.rd-news-external:hover{color:#fff;border-color:#fff}

/* related project card (news) */
.rd-news-related{margin:56px 0 0;border-top:1px solid rgba(239,233,220,.16);padding-top:30px}
.rd-news-related-card{display:grid;grid-template-columns:160px 1fr;gap:22px;align-items:center}
.rd-nr-media{display:block;aspect-ratio:4/3;overflow:hidden;border:1px solid rgba(239,233,220,.16);background:#141416}
.rd-nr-media img{width:100%;height:100%;object-fit:cover;filter:grayscale(.3);transition:filter .25s,transform .5s}
.rd-news-related-card:hover .rd-nr-media img{filter:none;transform:scale(1.04)}
.rd-nr-copy{display:flex;flex-direction:column;gap:6px}
.rd-nr-copy strong{font-family:var(--serif);font-weight:700;font-size:clamp(22px,3vw,40px);line-height:.98}
.rd-nr-copy em{font:400 14px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:rgba(239,233,220,.55);font-style:normal}
.rd-nr-go{font:400 11px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--acid);margin-top:4px}

/* more dispatches */
.rd-related--news{max-width:900px}
.rd-news-more{margin-top:8px}
.rd-nm-row{display:grid;grid-template-columns:120px 1fr;gap:18px;align-items:baseline;padding:14px 0;border-bottom:1px solid rgba(239,233,220,.12)}
.rd-nm-d{font:400 14px/1.5 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--mag)}
.rd-nm-t{font-family:var(--serif);font-weight:700;font-size:clamp(18px,2.4vw,34px);line-height:1;color:var(--cream);transition:color .15s,transform .18s}
.rd-nm-row:hover .rd-nm-t{color:var(--mag);transform:translateX(8px)}

/* ---------- responsive ---------- */
@media(max-width:820px){
  .rd-related-grid{grid-template-columns:1fr}
  .rd-pager{grid-template-columns:1fr;gap:26px}
  .rd-pager-next{text-align:left}
  .rd-news-related-card{grid-template-columns:1fr}
  .rd-nm-row{grid-template-columns:80px 1fr}
  .rd-hero-ghost{display:none}
}

/* Elementor-owned body: full width, unclamped. Classic content still uses .rd-prose. */
.rd-doc--elementor .rd-doc-elementor{width:100%;margin:0}
.rd-doc--elementor .rd-doc-elementor > *{max-width:none}
.rd-doc-body--after{padding-top:48px}

/* Standalone tags / external link under a full-width Elementor body */
.rd-tags--solo{max-width:1200px;margin:40px auto 0;padding:0 clamp(24px,5vw,40px)}
.rd-news-external-wrap{max-width:820px;margin:36px auto 0;padding:0 clamp(24px,5vw,40px)}
