/* Edge & Busby Press — site styles
   One place for every color, font and space, so pages can't drift apart. */

@font-face { font-family: "Playfair Display"; src: url("../fonts/playfair-display-latin-400-normal.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Playfair Display"; src: url("../fonts/playfair-display-latin-500-normal.woff2") format("woff2"); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: "Playfair Display"; src: url("../fonts/playfair-display-latin-400-italic.woff2") format("woff2"); font-weight: 400; font-style: italic; font-display: swap; }
@font-face { font-family: "Crimson Pro"; src: url("../fonts/crimson-pro-latin-400-normal.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Crimson Pro"; src: url("../fonts/crimson-pro-latin-500-normal.woff2") format("woff2"); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: "Crimson Pro"; src: url("../fonts/crimson-pro-latin-600-normal.woff2") format("woff2"); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: "Crimson Pro"; src: url("../fonts/crimson-pro-latin-400-italic.woff2") format("woff2"); font-weight: 400; font-style: italic; font-display: swap; }

:root {
  --black: #0b0907;
  --panel: #14110d;
  --line: #2a241b;
  --cream: #ece6d6;
  --muted: #b9b09c;
  --gold: #b5a06a;
  --gold-bright: #cdb77c;
  --copper: #c27a52;
  --copper-bright: #d98f65;
  --holly: #b23a2e;

  /* one accent per section; a section sets --accent and everything in it follows */
  --accent: var(--gold);
  --accent-bright: var(--gold-bright);

  --serif-display: "Playfair Display", Georgia, serif;
  --serif-body: "Crimson Pro", Georgia, serif;

  --space-1: 0.5rem;
  --space-2: 1rem;
  --space-3: 1.5rem;
  --space-4: 2.5rem;
  --space-5: 4rem;
  --space-6: 6rem;

  --measure: 36rem;
  --wide: 68rem;
  --cover-w: 17rem;      /* every book cover on the site is this wide */
}

* { box-sizing: border-box; }
html { background: var(--black); }
body {
  margin: 0;
  background: var(--black);
  color: var(--cream);
  font-family: var(--serif-body);
  font-size: 1.25rem;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}
img { display: block; max-width: 100%; }
a { color: var(--accent-bright); }
h1, h2, h3 { font-family: var(--serif-display); font-weight: 400; line-height: 1.15; margin: 0; color: var(--accent); }
p { margin: 0 0 var(--space-2); }
p:last-child { margin-bottom: 0; }
em, i { font-style: italic; }

/* ---------- masthead: logo above the links, on every page ---------- */
.masthead {
  text-align: center; padding: var(--space-4) var(--space-3) var(--space-3);
  background: radial-gradient(ellipse 50% 90% at 50% 40%, rgba(181, 160, 106, 0.12), transparent 70%), var(--black);
}
.masthead__logo { display: inline-block; }
.masthead__logo img { width: 11rem; margin: 0 auto; }

/* ---------- navigation ---------- */
.nav {
  border-top: 1px solid var(--line);
  position: sticky; top: 0; z-index: 10;
  background: rgba(11, 9, 7, 0.94);
  border-bottom: 1px solid var(--line);
  backdrop-filter: blur(6px);
}
.nav__inner {
  max-width: var(--wide); margin: 0 auto; padding: 0 var(--space-3);
  display: flex; align-items: center; justify-content: center; gap: var(--space-4);
  height: 3.5rem;
}
.nav a {
  font-family: var(--serif-body); font-size: 0.85rem; letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--cream); text-decoration: none; padding: 0.25rem 0;
  border-bottom: 1px solid transparent;
}
.nav a:hover, .nav a[aria-current="page"] { color: var(--gold-bright); border-bottom-color: var(--gold); }
.nav__shop { color: var(--gold-bright) !important; }
.nav__toggle { display: none; }

/* ---------- hero ---------- */
.hero {
  text-align: center;
  padding: var(--space-6) var(--space-3);
  background:
    radial-gradient(ellipse 60% 70% at 50% 45%, rgba(181, 160, 106, 0.16), transparent 70%),
    radial-gradient(ellipse 120% 90% at 50% 0%, #1d1912, var(--black) 75%);
  border-bottom: 1px solid var(--line);
}
.hero__logo { width: min(22rem, 70vw); margin: 0 auto var(--space-4); }
.hero__tagline { font-size: clamp(1.8rem, 4vw, 2.6rem); margin-bottom: var(--space-3); }
.hero__intro { max-width: var(--measure); margin: 0 auto; color: var(--muted); font-size: 1.3rem; }

/* ---------- divider ---------- */
.rule { width: 4rem; height: 1px; background: var(--accent); margin: var(--space-3) auto; border: 0; opacity: 0.7; }
.moth { width: 5.5rem; margin: var(--space-5) auto; opacity: 0.9; }

/* ---------- book feature (the same block for every book) ---------- */
.feature {
  max-width: var(--wide); margin: 0 auto;
  padding: var(--space-6) var(--space-3);
  display: grid; grid-template-columns: var(--cover-w) 1fr; gap: var(--space-5);
  align-items: center;
}
.feature + .feature { border-top: 1px solid var(--line); }
.feature__cover {
  width: var(--cover-w); aspect-ratio: 3 / 5; object-fit: cover; object-position: center;
  box-shadow: 0 1.5rem 3rem rgba(0, 0, 0, 0.6), 0 0 0 1px rgba(255, 255, 255, 0.04);
}
.feature__kicker {
  font-size: 0.85rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--accent); margin-bottom: var(--space-1);
}
.feature__title { font-size: clamp(2.4rem, 5vw, 3.4rem); margin-bottom: var(--space-1); }
.feature__sub { font-family: var(--serif-display); font-style: italic; font-size: 1.3rem; color: var(--cream); margin-bottom: var(--space-3); }
.feature__body { max-width: var(--measure); color: var(--muted); }
.feature__body strong { color: var(--cream); font-weight: 500; }
.feature__facts {
  display: flex; flex-wrap: wrap; gap: var(--space-1) var(--space-4);
  margin: var(--space-3) 0; padding: var(--space-2) 0;
  border-top: 1px solid var(--line); border-bottom: 1px solid var(--line);
}
.feature__facts div { font-size: 1.05rem; }
.feature__facts span { display: block; font-size: 0.8rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--accent); }

/* section color themes: change one variable and the title, rules, labels and button all follow */
.theme-copper { --accent: var(--copper); --accent-bright: var(--copper-bright); }
.theme-holly  { --accent: var(--gold); --accent-bright: var(--gold-bright); }

/* ---------- buttons (always follow the section's accent) ---------- */
.button {
  display: inline-block; margin-top: var(--space-2);
  background: var(--accent); color: var(--black);
  font-family: var(--serif-body); font-weight: 600; font-size: 0.9rem; letter-spacing: 0.16em; text-transform: uppercase;
  text-decoration: none; padding: 0.95rem 1.8rem; border-radius: 2px;
  transition: background 0.15s ease;
}
.button:hover { background: var(--accent-bright); }
.button--ghost { background: transparent; color: var(--accent-bright); box-shadow: inset 0 0 0 1px var(--accent); }
.button--ghost:hover { background: rgba(255, 255, 255, 0.04); }

/* ---------- imprint cards (four equal cards, always the same size) ---------- */
.imprints { background: var(--panel); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: var(--space-6) var(--space-3); }
.imprints__head { text-align: center; margin-bottom: var(--space-4); }
.imprints__head h2 { font-size: 2.2rem; }
.imprints__grid {
  max-width: var(--wide); margin: 0 auto;
  display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-3);
}
.card {
  display: flex; flex-direction: column;
  border: 1px solid var(--line); background: var(--black);
  padding: var(--space-4) var(--space-3); text-align: center; text-decoration: none; color: var(--cream);
  transition: border-color 0.15s ease, transform 0.15s ease;
}
.card:hover { border-color: var(--accent); transform: translateY(-2px); }
.card h3 { font-size: 1.45rem; margin-bottom: var(--space-2); }
.card p { color: var(--muted); font-size: 1.1rem; flex: 1; }
.card__more { margin-top: var(--space-3); font-size: 0.8rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--accent-bright); }

/* ---------- members ---------- */
.members { text-align: center; padding: 0 var(--space-3) var(--space-6); }
.members h2 { font-size: 1.6rem; }
.members__row { display: flex; justify-content: center; gap: var(--space-4); flex-wrap: wrap; }
/* every member logo sits on an identical cream tile, so mismatched logo files still line up */
.members__logo {
  width: 15rem; height: 7rem; display: grid; place-items: center;
  background: #fff; border-radius: 2px; padding: var(--space-2) var(--space-3);
}
.members__logo img { max-width: 100%; max-height: 100%; object-fit: contain; }

/* ---------- footer ---------- */
.footer { border-top: 1px solid var(--line); padding: var(--space-5) var(--space-3); text-align: center; color: var(--muted); font-size: 1rem; }
.footer nav { display: flex; justify-content: center; gap: var(--space-3); flex-wrap: wrap; margin-bottom: var(--space-3); }
.footer a { color: var(--cream); text-decoration: none; letter-spacing: 0.12em; text-transform: uppercase; font-size: 0.8rem; }
.footer a:hover { color: var(--gold-bright); }

/* ---------- draft-only placeholder ---------- */
.placeholder-cover {
  width: var(--cover-w); aspect-ratio: 2 / 3; display: grid; place-items: center; text-align: center; padding: var(--space-3);
  border: 1px dashed var(--accent); color: var(--accent); font-size: 1rem;
}

/* ---------- phones and small screens ---------- */
@media (max-width: 860px) {
  .nav__inner { gap: 0.4rem var(--space-3); flex-wrap: wrap; justify-content: center; height: auto; padding: 0.7rem var(--space-2); }
  .nav a, .nav__dropbtn { font-size: 0.78rem; }
  .feature { grid-template-columns: 1fr; text-align: center; gap: var(--space-4); padding: var(--space-5) var(--space-3); }
  .feature__cover, .placeholder-cover { margin: 0 auto; width: min(var(--cover-w), 70vw); }
  .feature__body { margin: 0 auto; }
  .feature__facts { justify-content: center; }
  .imprints__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 520px) {
  body { font-size: 1.15rem; }
  .masthead__logo img { width: 8rem; }
  .imprints__grid { grid-template-columns: 1fr; }
}

/* ======================================================================
   Inner pages
   ====================================================================== */

/* imprints dropdown in the menu */
.nav__drop { position: relative; }
.nav__dropbtn {
  background: none; border: 0; cursor: pointer; padding: 0.25rem 0;
  font-family: var(--serif-body); font-size: 0.85rem; letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--cream); border-bottom: 1px solid transparent;
}
.nav__dropbtn::after { content: " \25BE"; font-size: 0.7em; }
.nav__dropbtn[aria-current="page"], .nav__drop:hover .nav__dropbtn { color: var(--gold-bright); border-bottom-color: var(--gold); }
.nav__menu {
  display: none; position: absolute; top: 100%; left: 50%; transform: translateX(-50%);
  background: var(--panel); border: 1px solid var(--line); padding: var(--space-1) 0; min-width: 14rem; z-index: 20;
}
.nav__drop:hover .nav__menu, .nav__drop:focus-within .nav__menu { display: block; }
.nav__menu a { display: block; padding: 0.6rem var(--space-3); border: 0; white-space: nowrap; }
.nav__menu a:hover { background: var(--black); }

/* page header */
.page-head {
  text-align: center; padding: var(--space-6) var(--space-3) var(--space-5);
  background: radial-gradient(ellipse 60% 80% at 50% 30%, color-mix(in srgb, var(--accent) 14%, transparent), transparent 70%);
  border-bottom: 1px solid var(--line);
}
.page-head h1 { font-size: clamp(2.2rem, 5vw, 3.4rem); max-width: 50rem; margin: 0 auto; }
.page-head__kicker { font-size: 0.85rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--accent); margin-bottom: var(--space-2); }
.page-head__lede { max-width: var(--measure); margin: 0 auto; color: var(--muted); font-size: 1.3rem; }
.steps { color: var(--cream); font-family: var(--serif-display); font-style: italic; margin-top: var(--space-3); }

/* content blocks: one reading width for every page */
.block { max-width: 46rem; margin: 0 auto; padding: var(--space-5) var(--space-3) 0; }
.block--wide { max-width: var(--wide); }
.block:last-child { padding-bottom: var(--space-6); }
.block h2 { font-size: 2rem; }
.block h3 { font-family: var(--serif-display); font-weight: 400; color: var(--accent-bright); font-size: 1.2rem; margin: var(--space-3) 0 var(--space-1); }
.rule--left { margin-left: 0; }
.lead { font-family: var(--serif-display); font-size: 1.45rem; line-height: 1.4; color: var(--cream); }
.note { border-left: 2px solid var(--accent); padding-left: var(--space-2); color: var(--cream); }
.small { font-size: 1rem; color: var(--muted); }
.center { text-align: center; margin-top: var(--space-4); }

/* lists */
.plain { padding-left: 1.1rem; margin: 0 0 var(--space-2); }
.plain li { margin-bottom: 0.3rem; }
.lines { list-style: none; padding: 0; margin: 0 0 var(--space-3); }
.lines li { padding: 0.6rem 0; border-bottom: 1px solid var(--line); }
.touch__intro { margin-top: var(--space-3); font-size: 0.85rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--accent); }
.touch { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr)); gap: var(--space-1) var(--space-3); }
.touch li { padding: 0.5rem 0; border-bottom: 1px solid var(--line); }
.touch span { color: var(--muted); display: block; font-size: 1rem; }

/* fact grid (word counts, prizes, dates) */
.facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr)); border-top: 1px solid var(--line); border-left: 1px solid var(--line); margin: var(--space-3) 0; }
.facts div { padding: var(--space-2); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.facts span { display: block; font-size: 0.78rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--accent); margin-bottom: 0.2rem; }

.cols { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-4); }

/* submissions lanes: every card and every image the same size */
.lanes { display: grid; grid-template-columns: repeat(5, 1fr); gap: var(--space-2); }
@media (max-width: 1100px) { .lanes { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 700px) { .lanes { grid-template-columns: repeat(2, 1fr); } }
.lane { display: flex; flex-direction: column; text-decoration: none; color: var(--cream); background: var(--panel); border: 1px solid var(--line); transition: border-color 0.15s ease, transform 0.15s ease; }
.lane:hover { border-color: var(--accent); transform: translateY(-2px); }
.lane__img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; object-position: top; display: block; }
.lane__img--mark { display: grid; place-items: center; background: radial-gradient(circle, color-mix(in srgb, var(--accent) 18%, var(--black)), var(--black) 70%); }
.lane__img--mark img { width: 40%; opacity: 0.85; }
.lane__text { padding: var(--space-3); text-align: center; flex: 1; display: flex; flex-direction: column; }
.lane h3 { font-family: var(--serif-display); font-weight: 400; color: var(--accent); font-size: 1.5rem; margin: 0 0 0.3rem; }
.lane p { color: var(--muted); font-size: 1.05rem; margin: 0; }
.lane .card__more { margin-top: auto; padding-top: var(--space-3); }
.lane__date { color: var(--cream) !important; font-size: 0.95rem !important; margin-top: 0.3rem !important; }

/* about */
.founders { display: grid; grid-template-columns: 1fr; gap: var(--space-4); }
.founder h3 { font-size: 1.6rem; margin-top: 0; }

/* kept */
.kept-top, .judge, .tinsel-head { display: grid; grid-template-columns: var(--cover-w) 1fr; gap: var(--space-5); align-items: start; }
.judge__photo { width: var(--cover-w); aspect-ratio: 1; object-fit: cover; filter: grayscale(1) contrast(1.05); box-shadow: 0 1rem 2rem rgba(0,0,0,0.5); }
.posters { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-2); margin-top: var(--space-4); }
.posters img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.page-kept .page-head { border-bottom-color: color-mix(in srgb, var(--copper) 35%, var(--line)); }

/* authors */
.authors { display: grid; gap: var(--space-4); }
.author { display: grid; grid-template-columns: 9rem 1fr; gap: var(--space-4); align-items: start; padding-bottom: var(--space-4); border-bottom: 1px solid var(--line); }
.author h3 { margin-top: 0; font-size: 1.5rem; }
.author p { color: var(--muted); }
.portrait { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 50%; display: block; }
.portrait--empty { display: grid; place-items: center; background: var(--panel); border: 1px solid var(--accent); color: var(--accent); font-family: var(--serif-display); font-size: 2rem; }
.tinsel-head { margin: var(--space-5) 0 var(--space-4); align-items: center; }
.tinsel-head .feature__cover { width: 11rem; }
.tinsel-head { grid-template-columns: 11rem 1fr; }
.contributors { display: grid; grid-template-columns: repeat(auto-fill, minmax(10rem, 1fr)); gap: var(--space-4) var(--space-3); }
.contributor { text-align: center; }
.contributor .portrait { width: 8rem; margin: 0 auto var(--space-2); }
.contributor .portrait--empty { width: 8rem; height: 8rem; font-size: 1.6rem; }
.contributor h3 { font-size: 1.1rem; margin: 0 0 0.2rem; }
.contributor p { font-size: 0.98rem; color: var(--muted); font-style: italic; }

/* arc schedule */
.sched { list-style: none; padding: 0; margin: var(--space-3) 0; }
.sched li { display: grid; grid-template-columns: 1.4fr 1fr auto; gap: var(--space-2); padding: 0.8rem 0; border-bottom: 1px solid var(--line); align-items: baseline; }
.sched__by { color: var(--muted); }
.sched__when { color: var(--accent-bright); font-size: 0.95rem; letter-spacing: 0.08em; text-transform: uppercase; }

.footer__social a { margin: 0 var(--space-1); }

@media (max-width: 860px) {
  .cols, .kept-top, .judge, .tinsel-head { grid-template-columns: 1fr; }
  .kept-top .feature__cover, .judge__photo { margin: 0 auto; }
  .posters { grid-template-columns: repeat(2, 1fr); }
  .author { grid-template-columns: 6rem 1fr; gap: var(--space-3); }
  .sched li { grid-template-columns: 1fr; gap: 0; }
  .nav__menu { left: 0; transform: none; }
}

/* embedded forms (ARC sign-up, newsletter) sit on a cream card so they don't clash */
.embed { background: #fff; border-radius: 2px; overflow: hidden; margin-top: var(--space-3); }
.embed iframe { display: block; width: 100%; height: 1700px; border: 0; }
.embed--short { max-width: 30rem; }
.embed--short iframe { height: 320px; }

/* ======================================================================
   Round two (Nov 8): Andy's notes
   ====================================================================== */

/* longer gold rules everywhere */
.rule { width: min(16rem, 60%); }
.rule--left { width: min(12rem, 60%); margin-left: 0; }

/* fact boxes: label on top, value pinned to the bottom so a row always lines up */
.facts div { display: flex; flex-direction: column; }
.facts__v { margin-top: auto; font-weight: 400; }

.callout { font-family: var(--serif-display); font-size: 1.35rem; color: var(--accent-bright); border: 1px solid var(--accent); padding: var(--space-2) var(--space-3); margin: var(--space-3) 0; text-align: center; }
.soon { margin-top: var(--space-2); font-family: var(--serif-display); font-style: italic; color: var(--accent-bright); font-size: 1.3rem; }
.center-block { text-align: center; }
.center-h { text-align: center; }
.embed--short { margin-left: auto; margin-right: auto; }

/* ---------- imprint colors (page background follows the imprint) ---------- */
body.theme-eb        { --page-bg: #221d18; --panel: #2b241d; --line: #3a3127; }
body.theme-honeythief{ --page-bg: #3a2817; --panel: #452f1b; --line: #5a4026; }
body.theme-sweetrot  { --page-bg: #471619; --panel: #3a1113; --line: #6a2a2d; }
body.theme-oneshots  { --page-bg: #1b2740; --panel: #0a0d17; --line: #2e3d5e; }
body[class*="theme-eb"], body[class*="theme-honeythief"], body[class*="theme-sweetrot"], body[class*="theme-oneshots"] { background: var(--page-bg); }
body.theme-sweetrot h1, body.theme-sweetrot h2 { font-family: "Fraunces", Georgia, serif; font-style: italic; }
@font-face { font-family: "Fraunces"; src: url("../fonts/fraunces-latin-400-italic.woff2") format("woff2"); font-weight: 400; font-style: italic; font-display: swap; }

.imprint-head { text-align: center; padding: var(--space-5) var(--space-3) var(--space-5); border-bottom: 1px solid var(--line); background: radial-gradient(ellipse 60% 80% at 50% 30%, rgba(255,255,255,0.05), transparent 70%); }
.imprint-head h1 { font-size: clamp(2rem, 4.5vw, 3rem); max-width: 50rem; margin: 0 auto; }
.imprint-head__logo { margin: 0 auto var(--space-4); width: min(26rem, 80vw); }
.imprint-head__logo--sweetrot { width: min(9rem, 40vw); }
.imprint-head__logo--edge-and-busby { width: min(13rem, 50vw); }

/* ---------- submissions lanes: same box, same logo area, rows line up ---------- */
.lane { background: var(--page-bg, var(--panel)); }
.lane__img { width: 100%; aspect-ratio: 4 / 3; display: grid; place-items: center; padding: var(--space-3); border-bottom: 1px solid var(--line); overflow: hidden; }
.lane__img img { max-width: 100%; max-height: 100%; object-fit: contain; }
.lane__img img.lane__tall { max-height: 85%; }
.lane__img img.lane__cover { width: 100%; height: 100%; max-height: none; object-fit: cover; object-position: top; }
.lane.theme-copper .lane__img { padding: 0; }
.lane h3 { min-height: 2.4em; display: flex; align-items: center; justify-content: center; line-height: 1.15; }
.lane p { min-height: 1.4em; }
.lane__date { min-height: 2.6em !important; }
.lane.theme-eb { --page-bg: #221d18; }
.lane.theme-honeythief { --page-bg: #3a2817; }
.lane.theme-sweetrot { --page-bg: #471619; }
.lane.theme-oneshots { --page-bg: #1b2740; }

/* ---------- authors: three or four across, like the Tinsel grid ---------- */
.authors { display: grid; grid-template-columns: repeat(auto-fill, minmax(17rem, 1fr)); gap: var(--space-5) var(--space-4); }
.author { display: block; text-align: center; border: 0; padding: 0; }
.author .portrait { width: 10rem; margin: 0 auto var(--space-2); }
.author .portrait--empty { width: 10rem; height: 10rem; }
.author h3 { margin: 0 0 var(--space-1); font-size: 1.4rem; }
.author p { font-size: 1.05rem; text-align: left; }

.founders { grid-template-columns: 1fr 1fr; gap: var(--space-5); margin-top: var(--space-4); }
.founder { text-align: center; }
.founder .portrait { width: 11rem; margin: 0 auto var(--space-2); }
.founder p { text-align: left; }

/* ---------- ARC schedule as a real table so columns line up ---------- */
table.sched { width: 100%; border-collapse: collapse; margin: var(--space-3) 0; }
table.sched th { text-align: left; font-family: var(--serif-body); font-weight: 400; font-size: 0.85rem; text-transform: uppercase; color: var(--accent); padding: 0 var(--space-2) var(--space-1) 0; border-bottom: 1px solid var(--accent); }
table.sched td { padding: 0.8rem var(--space-2) 0.8rem 0; border-bottom: 1px solid var(--line); vertical-align: top; }
table.sched td:nth-child(1) { width: 45%; }
table.sched td:nth-child(2) { width: 30%; color: var(--muted); }
table.sched td:nth-child(3) { color: var(--accent-bright); white-space: nowrap; }

@media (max-width: 860px) {
  .founders { grid-template-columns: 1fr; }
  .author .portrait { width: 8rem; }
}
/* fact boxes, take two: labels always reserve two lines, so values start on the same line across a row */
.facts { grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); }
.facts span { min-height: 2.5em; display: flex; align-items: flex-end; }
.facts__v { margin-top: 0; }
.kept-top .facts { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 700px) { .kept-top .facts { grid-template-columns: repeat(2, 1fr); } }

/* ======================================================================
   Round three (Nov 8, late): symmetry, centered headings, softer cream
   ====================================================================== */
:root { --cream: #e8e3d6; --muted: #c9c0ab; }
body { color: var(--cream); }

/* section headings centered, no little gold lines under them */
.block h2, .block > h3 { text-align: center; }
.block .rule, .block .rule--left { display: none; }
.block .touch__intro { text-align: center; }
.page-head .rule, .imprint-head .rule { width: min(20rem, 70%); }
.about-center p { text-align: center; }
.block .lead { text-align: center; }
.kept-top h2, .judge h2 { text-align: left; }

/* the facts grid sets its own column count in the page, so rows are always even */
.facts { grid-template-columns: none; }
@media (max-width: 700px) { .facts { grid-template-columns: repeat(2, 1fr) !important; } }

/* black and white portraits */
.portrait, .judge__photo { filter: grayscale(1) contrast(1.05); }

/* submissions lane art: whole logo and whole cover visible */
.lane__img img.lane__tall { max-height: 100%; height: 100%; width: auto; }
.lane.theme-copper .lane__img { padding: var(--space-2); background: #1a120d; }
.lane__img img.lane__cover { width: auto; height: 100%; object-fit: contain; }
.center-text { text-align: center; }
/* lanes: taller art box so the whole Kept cover and the full SR drip show */
.lane__img { aspect-ratio: 2 / 3; }
.lane.theme-copper .lane__img { padding: 0; }
.lane__img img.lane__cover { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.lane__img img { max-width: 85%; }
/* author pages */
.portrait--lg { width: 14rem; margin: var(--space-4) auto var(--space-3); }
.author-bio p { text-align: left; }
.placeholder-book { width: var(--cover-w); aspect-ratio: 3 / 5; background: var(--cream); color: #1a1612; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: var(--space-3); box-shadow: 0 1.5rem 3rem rgba(0,0,0,0.6); }
.placeholder-book span { font-family: var(--serif-display); font-size: 1.9rem; line-height: 1.2; }
.placeholder-book small { margin-top: var(--space-2); font-size: 1.1rem; }
.book__blurb { color: var(--cream); max-width: var(--measure); }
.socials { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--space-2); margin-top: var(--space-3); }
.social { border: 1px solid var(--gold); color: var(--gold-bright); text-decoration: none; padding: 0.6rem 1.3rem; font-size: 0.85rem; text-transform: uppercase; letter-spacing: 0.08em; }
.social:hover { background: rgba(181,160,106,0.1); }
.author a { color: inherit; text-decoration: none; }
.author .card__more { display: inline-block; margin-top: var(--space-1); color: var(--gold-bright); }
.contributor a { display: block; }
.contributor a:hover .portrait { outline: 2px solid var(--gold); outline-offset: 3px; }
@media (max-width: 860px) { .placeholder-book { margin: 0 auto; width: min(var(--cover-w), 70vw); } }
/* even rows: 8 authors = 4 x 2, 24 Tinsel authors = 6 x 4 */
.authors { grid-template-columns: repeat(4, 1fr); gap: var(--space-5) var(--space-3); }
.author .portrait { width: 8.5rem; }
.contributors { grid-template-columns: repeat(6, 1fr); }
@media (max-width: 1100px) { .authors { grid-template-columns: repeat(2, 1fr); } .contributors { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 600px) { .authors { grid-template-columns: 1fr; } .contributors { grid-template-columns: repeat(2, 1fr); } }
/* softer cream for all regular text; white and gold kept for emphasis */
:root { --cream: #ddd3bc; --muted: #cbc0a8; }
strong, b, .lead { color: #f4f0e6; }
.facts__v { color: var(--cream); font-weight: 400; }
.center-btn { text-align: center; margin-top: var(--space-3); }
/* initials circles stay gold (the black-and-white filter is for photos only) */
.portrait--empty { filter: none; color: var(--gold); border-color: var(--gold); }
/* highlighted notes: bolder and easier to spot */
.note { font-weight: 600; color: #f4f0e6; border-left: 3px solid var(--accent); background: rgba(255,255,255,0.04); padding: var(--space-2) var(--space-3); }

/* back link on author pages */
.backlink { max-width: var(--wide); margin: 0 auto; padding: var(--space-3) var(--space-3) 0; }
.backlink a { color: var(--gold-bright); text-decoration: none; font-size: 1rem; letter-spacing: 0.04em; }
.backlink a:hover { text-decoration: underline; }
.backlink--bottom { text-align: center; padding-bottom: var(--space-5); }

/* Tinsel header centered; bigger contributor photos */
.tinsel-head { display: block !important; text-align: center; margin: var(--space-5) 0 var(--space-4); }
.tinsel-head .feature__cover { width: 13rem; margin: 0 auto var(--space-3); }
.tinsel-head__sub { font-family: var(--serif-display); font-style: italic; font-size: 1.3rem; margin: 0; }
.contributors { grid-template-columns: repeat(4, 1fr); gap: var(--space-5) var(--space-4); }
.contributor .portrait, .contributor .portrait--empty { width: 11rem; height: 11rem; }
.contributor h3 { font-size: 1.25rem; }
@media (max-width: 860px) { .contributors { grid-template-columns: repeat(2, 1fr); } .contributor .portrait, .contributor .portrait--empty { width: 8rem; height: 8rem; } }
