/* AI Forward Press — one page. Type, rules and a single accent. */
:root {
  --afp-accent: #ec3013;
  --afp-accent-deep: #c3260f;
  --afp-ink: #201e1d;
  --afp-ground: #f3f2f2;
  --afp-surface: #eae9e9;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--afp-ground);
  font-family: "Archivo", system-ui, sans-serif;
  color: var(--afp-ink);
  font-size: 15px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; }
a { color: var(--afp-accent-deep); }
a:hover { color: var(--afp-ink); }
:focus-visible { outline: 2px solid var(--afp-accent); outline-offset: 2px; }
::selection { background: color-mix(in srgb, var(--afp-accent) 22%, transparent); }
.grayscale { filter: grayscale(1) contrast(1.08); }
.grayscale img { display: block; width: 100%; }

/* reveal on scroll — see script.js; no-JS keeps everything visible */
[data-reveal].is-hidden { opacity: 0; transform: translateY(18px); }
[data-reveal] { transition: opacity 620ms ease, transform 620ms ease; }

/* hover states, generated from the source design */
.h1:hover { color: var(--afp-accent-deep, #c3260f); }
.h2:hover { color: var(--afp-accent-deep, #c3260f); }
.h3:hover { color: var(--afp-accent-deep, #c3260f); }
.h4:hover { color: var(--afp-accent-deep, #c3260f); }
.h5:hover { background: var(--afp-accent-deep, #c3260f); }
.h6:hover { background: var(--afp-accent-deep, #c3260f); }
.h7:hover { background: rgba(32,30,29,0.07); }
.h8:hover { color: var(--afp-accent-deep, #c3260f); }
.h9:hover { color: var(--afp-accent-deep, #c3260f); }
.h10:hover { color: var(--afp-accent-deep, #c3260f); }
.h11:hover { background: #3a3735; }
.h12:hover { color: var(--afp-accent, #ec3013); }
.h13:hover { color: var(--afp-accent, #ec3013); }

@media (max-width: 900px) {
  .afp-split { grid-template-columns: minmax(0, 1fr) !important; }
  .afp-thirds { grid-template-columns: minmax(0, 1fr) !important; }
  .afp-row { grid-template-columns: minmax(0, 1fr) !important; gap: 6px !important; }
  .afp-nav-links { display: none !important; }
  .afp-display { font-size: 46px !important; }
}
@media print {
  [data-reveal] { opacity: 1 !important; transform: none !important; }
}
