/* ================================================================================================ */
/*  Press kit stylesheet. Loaded only by press_kit.html, which shares nothing with website.css.      */
/*                                                                                                  */
/*  This does NOT style presskit/press_kit.pdf. That is rendered from the same markdown the page's   */
/*  prose comes from, by scripts/web/press_kit_gen.py, and styled by                                */
/*  src_data/press_kit/press_kit_pdf.css. Nothing in here reaches it.                               */
/*                                                                                                  */
/*  Most of the page body is generated: press_kit_gen.py writes one .pk-section per "## " heading    */
/*  in the markdown, then one .pk-section per media set holding a gallery and an asset table.        */
/*  The rules below have to suit whatever pandoc emits, which is plain HTML, so they hang off        */
/*  element names inside .pk-section rather than classes the markdown cannot produce.                */
/* ================================================================================================ */

*, *::before, *::after { box-sizing: border-box; }

html, body {
  margin: 0;
  padding: 0;
  background: #f4ece0;
  color: #2b1c12;
  font-family: 'Helvetica Neue', Helvetica, Arial, 'Segoe UI', sans-serif;
  font-size: 15px;
  line-height: 1.62;
}

a { color: #8a4b1f; text-decoration: none; }
a:hover { color: #b6641f; text-decoration: underline; }

img { max-width: 100%; height: auto; display: block; }

/* ---------------------------------------------------------------------------------------------- */
/*  Header                                                                                          */
/* ---------------------------------------------------------------------------------------------- */

.pk-header {
  background: #2e1e14;
  color: #f7e9d2;
  border-bottom: 3px solid #f3c77a;
  padding: 2.2rem 1.5rem 1.8rem;
}

.pk-header-inner {
  max-width: 1100px;
  margin: 0 auto;
  display: table;
  width: 100%;
}

.pk-header-main, .pk-header-meta { display: table-cell; vertical-align: bottom; }
.pk-header-meta { text-align: right; font-size: 0.88rem; color: #b39d84; white-space: nowrap; }
.pk-header-meta p { margin: 0.1rem 0; }
.pk-header-meta a { color: #f3c77a; }

.pk-logo { width: 300px; max-width: 62%; margin-bottom: 1rem; }

.pk-header h1 {
  margin: 0 0 0.3rem;
  font-family: 'Newsreader', Georgia, 'Times New Roman', serif;
  font-weight: 500;
  font-size: 2.1rem;
  letter-spacing: -0.02em;
  color: #fdf6ea;
}

.pk-tagline {
  margin: 0;
  font-family: 'Roboto Mono', ui-monospace, Consolas, monospace;
  font-size: 0.76rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #f3c77a;
}

/* ---------------------------------------------------------------------------------------------- */
/*  Sections                                                                                        */
/* ---------------------------------------------------------------------------------------------- */

.pk-main { max-width: 1100px; margin: 0 auto; padding: 2.5rem 1.5rem 4rem; }

.pk-section { margin-top: 2.4rem; padding-top: 1.6rem; border-top: 1px solid #dccbb5; }
.pk-section:first-of-type { margin-top: 0; padding-top: 0; border-top: none; }

.pk-section h2 {
  margin: 0 0 1rem;
  font-family: 'Roboto Mono', ui-monospace, Consolas, monospace;
  font-size: 0.78rem;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #a1836a;
}

.pk-section h3 {
  margin: 1.6rem 0 0.5rem;
  font-family: 'Newsreader', Georgia, 'Times New Roman', serif;
  font-weight: 600;
  font-size: 1.3rem;
  letter-spacing: -0.01em;
  color: #2b1c12;
}
.pk-section h3:first-of-type { margin-top: 0; }

.pk-section p { margin: 0 0 0.9rem; max-width: 68ch; }
.pk-section ul { margin: 0 0 0.9rem; padding-left: 1.2rem; max-width: 68ch; }
.pk-section li { margin-bottom: 0.25rem; }
.pk-section strong { font-weight: 700; }

/* Pandoc renders an image on its own line; give it room and a frame. */
.pk-section > p > img { margin: 1.4rem 0; border: 1px solid #dccbb5; border-radius: 10px; background: #fff; }

/* The fact sheet is a markdown definition list, so it arrives as dl/dt/dd. */
.pk-section dl {
  margin: 0 0 0.9rem;
  display: grid;
  grid-template-columns: max-content 1fr;
  gap: 0.45rem 1.4rem;
  max-width: 68ch;
}
.pk-section dt {
  font-family: 'Roboto Mono', ui-monospace, Consolas, monospace;
  font-size: 0.7rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #a1836a;
  padding-top: 0.25rem;
}
.pk-section dd { margin: 0; }
.pk-section dd p { margin: 0; }

.pk-note { font-size: 0.9rem; color: #5f4a37; }

/* ---------------------------------------------------------------------------------------------- */
/*  Buttons and downloads                                                                           */
/* ---------------------------------------------------------------------------------------------- */

.pk-button {
  display: inline-block;
  margin: 0 0.5rem 0.6rem 0;
  padding: 0.6rem 1.3rem;
  border-radius: 999px;
  border: 1px solid #2e1e14;
  background: #2e1e14;
  color: #f7e9d2;
  font-size: 0.92rem;
  font-weight: 600;
  text-decoration: none;
}
.pk-button:hover { background: #48301e; border-color: #48301e; color: #f7e9d2; text-decoration: none; }

.pk-button-secondary { background: transparent; color: #5f4a37; border-color: #c1ab90; }
.pk-button-secondary:hover { background: transparent; color: #8a4b1f; border-color: #8a4b1f; }

.pk-download-all { margin-top: 1rem; max-width: none; }

/* ---------------------------------------------------------------------------------------------- */
/*  Trailers                                                                                        */
/* ---------------------------------------------------------------------------------------------- */

.pk-media-embed { margin: 0.8rem 0 1.6rem; max-width: 800px; }
.pk-media-embed video {
  width: 100%;
  display: block;
  border-radius: 8px;
  border: 1px solid #dccbb5;
  background: #000;
}

/* ---------------------------------------------------------------------------------------------- */
/*  Asset sections                                                                                  */
/*                                                                                                  */
/*  The gallery shows what a picture looks like; the table under it lists every file in the set      */
/*  with a direct link, including the layered .kra sources a gallery cannot draw. The table is the   */
/*  part a content creator actually works from, so it stays plain and scannable.                     */
/* ---------------------------------------------------------------------------------------------- */

/* Height is worked out from the file count by press_kit_gen.py, so the grid never scrolls inside. */
.pk-gallery-frame {
  width: 100%;
  border: 1px solid #dccbb5;
  border-radius: 10px;
  background: #f4ece0;
}

.pk-assets {
  width: 100%;
  margin: 1.2rem 0 0.6rem;
  border-collapse: collapse;
  font-size: 0.88rem;
}

.pk-assets th {
  text-align: left;
  font-family: 'Roboto Mono', ui-monospace, Consolas, monospace;
  font-size: 0.66rem;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #a1836a;
  padding: 0 0.8rem 0.5rem 0;
  border-bottom: 1px solid #dccbb5;
}

.pk-assets td {
  padding: 0.5rem 0.8rem 0.5rem 0;
  border-bottom: 1px solid #e8dccb;
  vertical-align: baseline;
}
.pk-assets tr:last-child td { border-bottom: none; }

/* The filename is what people scan for, so it gets the mono face and the width. */
.pk-file {
  font-family: 'Roboto Mono', ui-monospace, Consolas, monospace;
  font-size: 0.82rem;
  word-break: break-all;
  width: 45%;
}

.pk-dim { color: #6b5643; white-space: nowrap; }

.pk-assets td:last-child { text-align: right; white-space: nowrap; }
.pk-assets td:last-child a {
  font-family: 'Roboto Mono', ui-monospace, Consolas, monospace;
  font-size: 0.68rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

/* ---------------------------------------------------------------------------------------------- */
/*  Footer                                                                                          */
/* ---------------------------------------------------------------------------------------------- */

.pk-footer {
  background: #241610;
  color: #a89178;
  text-align: center;
  font-size: 0.85rem;
  padding: 1.4rem 1.5rem;
}
.pk-footer a { color: #f3c77a; }

/* ---------------------------------------------------------------------------------------------- */
/*  Narrow screens                                                                                  */
/* ---------------------------------------------------------------------------------------------- */

@media (max-width: 820px) {
  .pk-header-inner, .pk-header-main, .pk-header-meta { display: block; width: auto; }
  .pk-header-meta { text-align: left; margin-top: 1rem; white-space: normal; }
  .pk-section dl { grid-template-columns: 1fr; gap: 0.1rem; }
  .pk-section dt { padding-top: 0.6rem; }
  .pk-assets .pk-dim { display: none; }
  .pk-file { width: auto; }
}

/* ---------------------------------------------------------------------------------------------- */
/*  Printing this page from a browser                                                               */
/*                                                                                                  */
/*  presskit/press_kit.pdf is NOT this. It comes from the markdown, so nothing here affects it.      */
/*  These rules only tidy up Ctrl+P.                                                                */
/* ---------------------------------------------------------------------------------------------- */

@media print {
  html, body { background: #fff; font-size: 11pt; }

  .pk-header { background: #fff; color: #2b1c12; border-bottom: 2px solid #8a4b1f; padding: 0 0 1rem; }
  .pk-header h1 { color: #2b1c12; }
  .pk-tagline { color: #8a4b1f; }
  .pk-header-meta { color: #5f4a37; }
  .pk-header-meta a { color: #8a4b1f; }

  .pk-main { padding: 1rem 0 0; max-width: none; }
  .pk-section h2, .pk-section h3 { page-break-after: avoid; }

  /* None of these do anything on paper; the PDF in the Downloads list is the thing to reach for. */
  .pk-media-embed, .pk-gallery-frame, .pk-download-all { display: none; }

  .pk-assets { font-size: 9pt; }
  .pk-assets td:last-child { display: none; }

  .pk-footer { background: #fff; color: #5f4a37; border-top: 1px solid #dccbb5; }
}
