/* ==========================================================================
   press.css — ten mastheads, ten sets of house rules.
   Each [data-press] is a complete art direction: stock colour, ink, typeface
   pairing, screen ruling, column count, and its own structural quirks.
   ========================================================================== */

/* ---------------------------------------------------------------- bulletin
   Laboratory bulletin, late 1940s. Typescript on cream, red rubber stamp,
   everything ruled off. Coarse screen — early photo-engraving was crude.      */
[data-press="bulletin"] {
  --paper: #ece3cd; --ink: #201d17; --ink-2: #5d5646; --accent: #9d2b16;
  --plate-bg: #f2ebd9;
  --font-head: "Special Elite", "Courier New", monospace;
  --font-body: "Courier Prime", "Courier New", monospace;
  --head-size: clamp(21px, 2.7vw, 31px); --head-leading: 1.12; --head-track: -0.005em;
  --head-weight: 400;
  --body-size: 12.5px; --body-leading: 1.62;
  --kicker-track: 0.3em; --kicker-size: 10px;
  --dot: 6.5px; --crush: 12; --screen-angle: 15deg; --soften: 0.9px;
  --pad: 28px 26px 30px; --plate-ratio: 5 / 4;
  --byline-rule: 1px solid #b9ae91; --byline-pad: 9px;
  --ink-sep: url(#ink-bulletin);
}
[data-press="bulletin"] .paper { border: 1px solid #c3b795; outline: 5px solid var(--paper); }
[data-press="bulletin"] .head { text-decoration: underline; text-underline-offset: 5px;
  text-decoration-thickness: 1px; }
[data-press="bulletin"] .body { text-align: justify; }

/* --------------------------------------------------------------- popmech
   Popular-science monthly, 1958. Loud slab serif, process yellow, everything
   an announcement. Tight coarse screen on newsprint-grade stock.              */
[data-press="popmech"] {
  --paper: #f2d24b; --ink: #17130c; --ink-2: #6b5512; --accent: #c8281c;
  --plate-bg: #fff6cf;
  --font-head: "Alfa Slab One", Georgia, serif;
  --font-body: "Oswald", "Arial Narrow", sans-serif;
  --head-size: clamp(27px, 3.8vw, 44px); --head-leading: 0.94; --head-track: -0.018em;
  --head-weight: 400; --head-case: uppercase;
  --body-size: 14px; --body-leading: 1.44; --body-track: 0.005em;
  --kicker-track: 0.16em; --kicker-size: 11.5px;
  --dot: 5.5px; --crush: 15; --screen-angle: 45deg; --soften: 0.7px;
  --pad: 24px; --plate-ratio: 16 / 10;
  --ink-sep: url(#ink-popmech);
}
[data-press="popmech"] .kicker { background: var(--accent); color: #fff5d2;
  padding: 4px 9px; display: inline-flex; }
[data-press="popmech"] .head { -webkit-text-stroke: 0.5px var(--ink); }
[data-press="popmech"] .plate { border: 4px solid var(--ink); }

/* ------------------------------------------------------------ underground
   Counterculture broadside, 1972. Bulbous display face, burnt newsprint,
   set slightly crooked because nobody was being careful.                      */
[data-press="underground"] {
  --paper: #dcc3a0; --ink: #2d1b0f; --ink-2: #6b4a2c; --accent: #b4441a;
  --plate-bg: #e8d4b6;
  --font-head: "Rubik Mono One", Impact, sans-serif;
  --font-body: "Inter", system-ui, sans-serif;
  --head-size: clamp(19px, 2.5vw, 28px); --head-leading: 1.16; --head-track: -0.03em;
  --head-weight: 400;
  --body-size: 13px; --body-leading: 1.56;
  --kicker-track: 0.2em;
  --dot: 8px; --crush: 11; --screen-angle: 70deg; --soften: 1.1px;
  --pad: 26px 24px 30px; --plate-ratio: 1 / 1;
  --ink-sep: url(#ink-underground);
}
[data-press="underground"] .head { transform: rotate(-1.6deg); transform-origin: 0 50%; }
[data-press="underground"] .plate { transform: rotate(1.2deg); }
[data-press="underground"] .body { column-count: var(--cols, 1); }

/* -------------------------------------------------------------- corporate
   Annual report, 1984. Cold, expensive, mostly empty. Fine screen because
   the print budget allowed it.                                               */
[data-press="corporate"] {
  --paper: #dfe2e4; --ink: #12202e; --ink-2: #566878; --accent: #1e4d7b;
  --plate-bg: #eef1f3;
  --font-head: "Archivo Black", Helvetica, sans-serif;
  --font-body: "Inter", system-ui, sans-serif;
  --head-size: clamp(20px, 2.6vw, 30px); --head-leading: 1.06; --head-track: -0.028em;
  --body-size: 12.5px; --body-leading: 1.66;
  --kicker-track: 0.28em; --kicker-size: 9.5px;
  --dot: 2.4px; --crush: 20; --screen-angle: 30deg; --soften: 0.35px;
  --pad: 34px 30px; --plate-ratio: 21 / 9;
  --ink-sep: url(#ink-corporate);
}
[data-press="corporate"] .paper { border-top: 7px solid var(--accent); }
[data-press="corporate"] .byline { --byline-rule: 1px solid #b6bec5; --byline-pad: 10px; }

/* ------------------------------------------------------------- broadsheet
   Daily newspaper. Two columns, didone headline, grey stock, a dropped cap
   and a rule above the fold.                                                 */
[data-press="broadsheet"] {
  --paper: #e5e1d6; --ink: #16150f; --ink-2: #57544a; --accent: #1d1c16;
  --plate-bg: #eeebe1;
  --font-head: "Playfair Display", Georgia, serif;
  --font-body: "Source Serif 4", Georgia, serif;
  --head-size: clamp(24px, 3.2vw, 37px); --head-leading: 1.0; --head-track: -0.012em;
  --head-weight: 800;
  --body-size: 12.5px; --body-leading: 1.5; --cols: 2;
  --col-rule: 1px solid #c2bcac;
  --kicker-track: 0.22em; --kicker-size: 9.5px;
  --dot: 4.2px; --crush: 15; --screen-angle: 38deg; --soften: 0.6px;
  --pad: 26px 24px 28px; --plate-ratio: 3 / 2;
  --ink-sep: url(#ink-broadsheet);
}
[data-press="broadsheet"] .paper { border-top: 3px double var(--ink); }
[data-press="broadsheet"] .body::first-letter {
  float: left; font-family: var(--font-head); font-size: 3.05em;
  line-height: 0.82; padding: 0.06em 0.09em 0 0; font-weight: 800;
}

/* ---------------------------------------------------------------- journal
   Peer-reviewed. White, small, dense, a numbered figure caption and nothing
   decorative anywhere.                                                       */
[data-press="journal"] {
  --paper: #f7f6f2; --ink: #14140f; --ink-2: #5f5d54; --accent: #383630;
  --plate-bg: #ffffff;
  --font-head: "Source Serif 4", Georgia, serif;
  --font-body: "Inter", system-ui, sans-serif;
  --head-size: clamp(19px, 2.4vw, 27px); --head-leading: 1.16; --head-track: -0.008em;
  --head-weight: 600;
  --body-size: 12px; --body-leading: 1.62; --cols: 2;
  --kicker-track: 0.2em; --kicker-size: 9px;
  --dot: 2.6px; --crush: 19; --screen-angle: 12deg; --soften: 0.35px;
  --pad: 30px 28px; --plate-ratio: 4 / 3;
  --cap-size: 9.5px; --font-cap: "Inter", sans-serif;
  --ink-sep: url(#ink-journal);
}
[data-press="journal"] .paper { border: 1px solid #ddd9cd; }
[data-press="journal"] .plate { border: 1px solid #cfcabc; }
[data-press="journal"] .plate-cap::before { content: "Fig. — "; font-weight: 700; }

/* ------------------------------------------------------------------- zine
   Photocopied at 3am, contrast blown out, stapled. The screen is deliberately
   ruined because it has been through a photocopier four times.               */
[data-press="zine"] {
  --paper: #eceae4; --ink: #000000; --ink-2: #3a3a3a; --accent: #000000;
  --plate-bg: #ffffff;
  --font-head: "Anton", Impact, sans-serif;
  --font-body: "Space Mono", monospace;
  --head-size: clamp(26px, 3.6vw, 42px); --head-leading: 0.9; --head-track: -0.01em;
  --head-weight: 400; --head-case: uppercase;
  --body-size: 11.5px; --body-leading: 1.52;
  --kicker-track: 0.14em;
  --dot: 11px; --crush: 7; --screen-angle: 55deg; --soften: 1.8px;
  --pad: 22px 20px 26px; --plate-ratio: 1 / 1;
  --ink-sep: url(#ink-zine);
}
[data-press="zine"] .paper { filter: contrast(1.14); }
[data-press="zine"] .kicker { background: #000; color: #eceae4; padding: 3px 7px;
  display: inline-flex; }
[data-press="zine"] .head { transform: rotate(-0.9deg); }
[data-press="zine"] .plate { transform: rotate(0.8deg) scale(0.985); border: 3px solid #000; }
[data-press="zine"] .byline { text-decoration: underline; }

/* ------------------------------------------------------------------- neon
   Technology monthly, 1997. Black stock, fluorescent duotone, a typeface
   that thinks it is from the future.                                         */
[data-press="neon"] {
  --paper: #121016; --ink: #f2ecff; --ink-2: #9a90b8; --accent: #16e0c8;
  --plate-bg: #1c1826;
  --font-head: "Syne", "Arial Black", sans-serif;
  --font-body: "Space Mono", monospace;
  --head-size: clamp(23px, 3.1vw, 35px); --head-leading: 1.0; --head-track: -0.022em;
  --head-weight: 800;
  --body-size: 11.5px; --body-leading: 1.6;
  --kicker-track: 0.26em;
  --dot: 3.6px; --crush: 17; --screen-angle: 62deg; --soften: 0.5px;
  --pad: 28px 26px 30px; --plate-ratio: 16 / 10;
  --head-ink: #f2ecff;
  --ink-sep: url(#ink-neon);
}
[data-press="neon"] .paper { border: 1px solid #2f2842; }

[data-press="neon"] .plate::after { mix-blend-mode: hard-light; }
[data-press="neon"] .head { text-shadow: 2px 0 0 #ff2fb3, -2px 0 0 #16e0c8; }
[data-press="neon"] .stamp { opacity: 0.8; }
[data-press="neon"] .paper::after { opacity: 0.25; }

/* ------------------------------------------------------------- supplement
   Weekend colour supplement. Warm, glossy, the photograph does the talking
   and the type gets out of the way.                                          */
[data-press="supplement"] {
  --paper: #f6eee1; --ink: #241c14; --ink-2: #77685a; --accent: #a8562c;
  --plate-bg: #fffaf1;
  --font-head: "Abril Fatface", Georgia, serif;
  --font-body: "Lora", Georgia, serif;
  --head-size: clamp(26px, 3.5vw, 40px); --head-leading: 1.02; --head-track: -0.014em;
  --head-weight: 400;
  --body-size: 13px; --body-leading: 1.58;
  --kicker-track: 0.24em; --kicker-size: 10px;
  --dot: 3px; --crush: 9; --screen-angle: 25deg; --soften: 0.5px;
  --pad: 0 0 28px; --plate-ratio: 4 / 5; --plate-gap: 22px;
  --plate-base: saturate(1.35);
  --plate-bright: 1.06;
}
/* full-bleed plate: the photo runs to the trim on three sides */
[data-press="supplement"] .plate { margin: 0 0 22px; }
[data-press="supplement"] .kicker,
[data-press="supplement"] .head,
[data-press="supplement"] .byline,
[data-press="supplement"] .body,
[data-press="supplement"] .source,
[data-press="supplement"] .plate-cap { padding-inline: 28px; }

/* -------------------------------------------------------------- manifesto
   Contemporary quarterly. Enormous type, almost no picture, black and white
   and extremely sure of itself.                                              */
[data-press="manifesto"] {
  --paper: #eceae5; --ink: #0c0c0b; --ink-2: #6a6862; --accent: #0c0c0b;
  --plate-bg: #f6f5f2;
  --font-head: "Archivo Black", Helvetica, sans-serif;
  --font-body: "Inter", system-ui, sans-serif;
  --head-size: clamp(30px, 4.4vw, 52px); --head-leading: 0.88; --head-track: -0.042em;
  --head-case: none;
  --body-size: 12.5px; --body-leading: 1.58;
  --kicker-track: 0.3em; --kicker-size: 9.5px;
  --dot: 3.1px; --crush: 21; --screen-angle: 0deg; --soften: 0.45px;
  --pad: 30px 28px 32px; --plate-ratio: 21 / 9; --plate-gap: 24px;
  --ink-sep: url(#ink-manifesto);
}
/* picture last: the argument comes first */
[data-press="manifesto"] .paper { display: flex; flex-direction: column; }
[data-press="manifesto"] .plate { order: 9; margin: 22px 0 0; }
[data-press="manifesto"] .plate-cap { order: 10; margin: 8px 0 0; }
[data-press="manifesto"] .head { margin-bottom: 14px; }
[data-press="manifesto"] .source { order: 11; }

/* ---------------------------------------------------------------- reduced */
@media (prefers-reduced-motion: reduce) {
  [data-press] .head, [data-press] .plate { transform: none !important; }
}





/* ---------------------------------------------------------- mark overrides
   --mark-dot is the single ruling for the whole mark plate. --mark-fill is the
   dot radius through the mark (coverage is about pi x fill^2, so 42% reads as
   a 55% tint). --bed-strength keeps the panel's screen from fighting it. */
[data-press="zine"]        { --mark-dot: 2.5px; --mark-fill: 46%; --bed-strength: 0.42; }
[data-press="underground"] { --mark-dot: 2.9px; --bed-strength: 0.46; }
[data-press="bulletin"]    { --mark-dot: 2.8px; --bed-strength: 0.48; }
[data-press="popmech"]     { --mark-dot: 2.7px; --mark-paper: #f7e07a; --bed-strength: 0.5; }
[data-press="broadsheet"]  { --mark-dot: 2.5px; --bed-strength: 0.5; }
[data-press="journal"]     { --mark-dot: 2.3px; --bed-strength: 0.5; }
[data-press="corporate"]   { --mark-dot: 2.3px; --bed-strength: 0.5; }
[data-press="neon"] {
  --mark-dot: 2.4px;
  --mark-fill: 45%;
  --mark-paper: #0f0d14;
  --mark-ground: radial-gradient(circle at 38% 30%, #322b4a, #1b1727 60%, #0b0910);
  --mark-density: 0.96;           /* light mark on a dark panel */
  --bed-strength: 0.7;
}
[data-press="supplement"] {
  --mark-dot: 2.3px;
  --mark-fill: 44%;
  --mark-paper: #fbf5ea;
  --mark-filter: saturate(1.35) brightness(1.02);   /* keeps the brand colour */
  --bed-strength: 0.45;
}
[data-press="manifesto"]   { --mark-dot: 2.2px; --mark-size: 72%; --bed-strength: 0.4; }
