/* ============================================================
   DAF — Recognition page
   Editorial awards ledger
   ============================================================ */

/* ---------- Page head ---------- */
.rg-hero { position: relative; background: var(--paper); border-bottom: 1px solid var(--line); }
.rg-hero .hero-tex {
  position: absolute; left: 0; top: 0; bottom: 0; width: clamp(14px, 3vw, 46px);
  background: url('assets/texture-blue-1.png') center/cover;
  z-index: 1;
}
.rg-hero-in {
  position: relative; z-index: 2;
  max-width: var(--maxw); margin: 0 auto;
  padding: clamp(48px, 7vw, 100px) var(--pad) clamp(40px, 5vw, 64px);
}
.rg-hero .label { display: block; margin-bottom: 22px; }
.rg-h1 { font-size: clamp(46px, 6.5vw, 96px); max-width: 14ch; }

/* rankings bar */
.rg-ranks {
  max-width: var(--maxw); margin: 0 auto;
  display: grid; grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--line);
}
.rg-ranks-wrap { background: var(--paper); border-bottom: 1px solid var(--line); }
.rg-rank { padding: clamp(24px, 3vw, 38px) 26px; border-right: 1px solid var(--line); }
.rg-rank:first-child { padding-left: var(--pad); }
.rg-rank:last-child { border-right: 0; }
.rg-rank .n { font-family: var(--serif); font-size: clamp(30px, 3.2vw, 46px); line-height: 1; letter-spacing: -0.01em; }
.rg-rank .n .it { font-style: italic; color: var(--blue); }
.rg-rank .l {
  font-family: var(--grotesk); font-weight: 600; font-size: 10px;
  letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted); margin-top: 12px;
  max-width: 30ch;
}

/* ---------- Festival ledger ---------- */
.rg-index { background: var(--paper); }
.rg-fest {
  max-width: var(--maxw); margin: 0 auto;
  display: grid; grid-template-columns: minmax(220px, 300px) 1fr;
  border-bottom: 1px solid var(--line);
}
.rg-fest-id {
  padding: clamp(30px, 4vw, 52px) 30px clamp(30px, 4vw, 52px) var(--pad);
  border-right: 1px solid var(--line);
  display: flex; flex-direction: column; align-items: flex-start; gap: 16px;
}
.rg-fest-id .em {
  height: 58px; display: flex; align-items: center;
}
.rg-fest-id .em img { height: 56px; width: auto; max-width: none; opacity: .92; }
/* optical size balancing per logo */
.rg-fest-id .em img[src*="Dubai_Lynx"],
.rg-fest-id .em img[src*="Effie"],
.rg-fest-id .em img[src*="Clio"],
.rg-fest-id .em img[src*="ElSol"] { height: 74px; }
.rg-fest-id .em img[src*="GoldenDrum"],
.rg-fest-id .em img[src*="Eurobest"],
.rg-fest-id .em img[src*="Andy"],
.rg-fest-id .em img[src*="PHNX"],
.rg-fest-id .em img[src*="LBB"],
.rg-fest-id .em img[src*="IAB"] { height: 40px; }
.rg-fest-id .fname {
  font-family: var(--grotesk); font-weight: 700; font-size: 15px;
  letter-spacing: 0.1em; text-transform: uppercase;
}
.rg-fest-id .fcount { font-family: var(--mono); font-size: 11px; letter-spacing: 0.08em; color: var(--muted); }

.rg-list {
  padding: clamp(22px, 3vw, 40px) var(--pad) clamp(22px, 3vw, 40px) clamp(26px, 3vw, 44px);
  columns: 2; column-gap: clamp(28px, 4vw, 64px);
}
.rg-aw {
  display: grid; grid-template-columns: 112px 1fr; gap: 14px; align-items: baseline;
  padding: 8px 0; border-bottom: 1px solid var(--line-soft);
  break-inside: avoid;
}
.rg-aw .tier {
  font-family: var(--mono); font-size: 9.5px; font-weight: 700;
  letter-spacing: 0.1em; text-transform: uppercase; color: var(--muted);
}
.rg-aw .cat { font-family: var(--grotesk); font-size: 13.5px; line-height: 1.4; color: var(--ink); }
.rg-aw.grand .tier { color: var(--blue); }
.rg-aw.grand .cat { font-weight: 600; }

/* placeholder rows for festivals still being filled in */
.rg-aw.tbd .cat { color: var(--muted); font-style: italic; }

/* ---------- Footnote ---------- */
.rg-note {
  background: var(--paper);
  text-align: center; padding: clamp(50px, 7vw, 100px) var(--pad);
  border-bottom: 1px solid var(--line);
}
.rg-note .nh { font-size: clamp(28px, 3.6vw, 50px); margin-bottom: 18px; }
.rg-note .body-text { margin: 0 auto 28px; }

/* ---------- Responsive ---------- */
@media (max-width: 960px) {
  .rg-list { columns: 1; }
}
@media (max-width: 720px) {
  .rg-ranks { grid-template-columns: 1fr; }
  .rg-rank { border-right: 0; border-bottom: 1px solid var(--line); padding-left: var(--pad); }
  .rg-rank:last-child { border-bottom: 0; }
  .rg-fest { grid-template-columns: 1fr; }
  .rg-fest-id { border-right: 0; border-bottom: 1px solid var(--line-soft); flex-direction: row; align-items: center; gap: 18px; padding-top: 24px; padding-bottom: 24px; }
  .rg-fest-id .em { height: 44px; }
  .rg-fest-id .em img { height: 42px; max-width: none; }
  .rg-list { padding-left: var(--pad); }
}
