/*
Theme Name: Mots
Description: A colorful, playful magazine theme with a quiet, text-first reading experience. Headlines in Goudy Old Style, running text in Mots.
Version: 1.01
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: mots
*/

/* ---------- Mots, the body text face (self-hosted from /fonts) ---------- */
@font-face { font-family: "Mots"; src: url("fonts/mots-regular.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Mots"; src: url("fonts/mots-italic.woff2") format("woff2"); font-weight: 400; font-style: italic; font-display: swap; }
@font-face { font-family: "Mots"; src: url("fonts/mots-bold.woff2") format("woff2"); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: "Mots"; src: url("fonts/mots-bold-italic.woff2") format("woff2"); font-weight: 700; font-style: italic; font-display: swap; }

:root {
  --ink: #17140f;
  --paper: #fbf6ea;
  --muted: #6b645a;
  --rule: #e4d9c1;

  --red: #e3262f;
  --blue: #2b4cff;
  --yellow: #ffc928;
  --pink: #ff8ac4;
  --green: #12b886;
  --purple: #7a45e6;
  --orange: #ff7a1a;

  --serif: "Goudy Old Style", "Sorts Mill Goudy", Georgia, serif;
  --sans: "Bricolage Grotesque", system-ui, -apple-system, "Segoe UI", sans-serif;
  --text: "Mots", Georgia, serif;

  --measure: 38rem;
  --wide: 74rem;
  --accent: var(--red);
}

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--serif);
  font-size: 1.1875rem;
  line-height: 1.55;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible {
  outline: 3px solid var(--blue);
  outline-offset: 3px;
}
h1, h2, h3, h4 { font-weight: 400; }

.skip-link {
  position: absolute; left: -999px; top: 0; z-index: 100;
  background: var(--ink); color: var(--paper);
  padding: .6rem 1rem; font-family: var(--sans);
}
.skip-link:focus { left: 1rem; }
.screen-reader-text {
  border: 0; clip: rect(1px,1px,1px,1px); clip-path: inset(50%);
  height: 1px; width: 1px; margin: -1px; overflow: hidden;
  padding: 0; position: absolute; word-wrap: normal !important;
}

/* ---------- Rainbow stripe ---------- */
.stripe {
  height: 8px;
  background: linear-gradient(90deg,
    var(--red) 0 16.66%, var(--yellow) 0 33.33%, var(--green) 0 50%,
    var(--blue) 0 66.66%, var(--purple) 0 83.33%, var(--pink) 0);
}

/* ---------- Masthead ---------- */
.masthead {
  text-align: center;
  padding: 1.5rem 1.25rem 0;
  border-bottom: 2px solid var(--ink);
}
.masthead__date {
  font-family: var(--sans);
  font-size: .72rem;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--muted);
  margin: 0 0 .4rem;
}
.masthead__title { margin: 0; font-size: clamp(3rem, 9vw, 6.5rem); line-height: .95; }
.masthead__title a {
  font-style: italic;
  text-decoration: none;
  letter-spacing: -.02em;
  transition: color .2s;
}
.masthead__title a:hover { color: var(--red); }
.masthead .custom-logo { margin: 0 auto; max-height: 120px; width: auto; }
.masthead__tagline { font-style: italic; color: var(--muted); margin: .4rem 0 0; font-size: 1.15rem; }

.nav { border-top: 1px solid var(--ink); margin-top: 1.2rem; }
.nav__list {
  list-style: none; margin: 0; padding: .75rem 0;
  display: flex; flex-wrap: wrap; justify-content: center; gap: .4rem 1.6rem;
  font-family: var(--sans); font-weight: 700; font-size: .78rem;
  letter-spacing: .12em; text-transform: uppercase;
}
.nav__list a {
  text-decoration: none;
  padding-bottom: 3px;
  border-bottom: 3px solid transparent;
  transition: border-color .2s;
}
.nav__list li:nth-child(6n+1) a:hover, .nav__list li:nth-child(6n+1).current-menu-item a { border-color: var(--red); }
.nav__list li:nth-child(6n+2) a:hover, .nav__list li:nth-child(6n+2).current-menu-item a { border-color: var(--blue); }
.nav__list li:nth-child(6n+3) a:hover, .nav__list li:nth-child(6n+3).current-menu-item a { border-color: var(--yellow); }
.nav__list li:nth-child(6n+4) a:hover, .nav__list li:nth-child(6n+4).current-menu-item a { border-color: var(--green); }
.nav__list li:nth-child(6n+5) a:hover, .nav__list li:nth-child(6n+5).current-menu-item a { border-color: var(--purple); }
.nav__list li:nth-child(6n+6) a:hover, .nav__list li:nth-child(6n+6).current-menu-item a { border-color: var(--pink); }
/* Category links use their category's color instead of the rotation */
.nav__list li[class*="accent--"] a:hover, .nav__list li[class*="accent--"].current-menu-item a { border-color: var(--accent); }

@media (max-width: 640px) {
  .nav__list { flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto; padding-inline: .25rem; }
  .nav__list li { flex: 0 0 auto; }
}

/* Slim masthead on story pages */
.masthead--slim { padding-top: 1rem; }
.masthead--slim .masthead__title { font-size: clamp(1.9rem, 5vw, 2.8rem); }
.masthead--slim .masthead__date { display: none; }
.masthead--slim .nav { margin-top: .8rem; }

/* ---------- Kicker pills & bylines ---------- */
.kicker {
  display: inline-block;
  font-family: var(--sans);
  font-weight: 800;
  font-size: .68rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  text-decoration: none;
  background: var(--accent);
  color: var(--on-accent, var(--ink));
  padding: .35em .7em;
  border-radius: 999px;
}
.byline {
  font-family: var(--sans);
  font-size: .74rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--muted);
  margin: 0;
}

/* ---------- Accent color sets ---------- */
.accent--red    { --accent: var(--red);    --on-accent: #fff; }
.accent--blue   { --accent: var(--blue);   --on-accent: #fff; }
.accent--yellow { --accent: var(--yellow); }
.accent--pink   { --accent: var(--pink); }
.accent--green  { --accent: var(--green); }
.accent--purple { --accent: var(--purple); --on-accent: #fff; }
.accent--orange { --accent: var(--orange); }

/* ---------- Hero ---------- */
.hero { max-width: var(--wide); margin: 2.75rem auto 3.5rem; padding: 0 1.25rem; }
.hero__link {
  display: grid;
  grid-template-columns: 1.25fr 1fr;
  background: var(--accent);
  color: var(--on-accent, var(--ink));
  border: 2px solid var(--ink);
  box-shadow: 9px 9px 0 var(--ink);
  text-decoration: none;
  transition: transform .2s ease, box-shadow .2s ease;
}
.hero__link:hover { transform: translate(-3px, -3px); box-shadow: 12px 12px 0 var(--ink); }
.hero__media { border-right: 2px solid var(--ink); min-height: 22rem; overflow: hidden; }
.hero__media img { width: 100%; height: 100%; object-fit: cover; }
.hero__body {
  padding: clamp(1.5rem, 4vw, 3rem);
  display: flex; flex-direction: column; justify-content: center; gap: .9rem;
}
.hero .kicker { background: var(--on-accent, var(--ink)); color: var(--accent); align-self: flex-start; }
.hero__title { font-size: clamp(2.3rem, 4.6vw, 4rem); line-height: 1; margin: 0; letter-spacing: -.01em; text-wrap: balance; }
.hero__excerpt { font-size: 1.25rem; font-style: italic; margin: 0; }
.hero .byline { color: inherit; }

@media (max-width: 760px) {
  .hero__link { grid-template-columns: 1fr; }
  .hero__media { border-right: 0; border-bottom: 2px solid var(--ink); min-height: 15rem; }
}

/* Patterned placeholders when there's no featured image */
.placeholder {
  display: grid; place-items: center;
  width: 100%; height: 100%;
  background-color: var(--accent);
  background-image:
    radial-gradient(circle at 25% 30%, rgba(255,255,255,.4) 0 14%, transparent 15%),
    repeating-linear-gradient(45deg, transparent 0 14px, rgba(0,0,0,.07) 14px 28px);
}
.placeholder__initial {
  font-size: clamp(5rem, 12vw, 9rem);
  font-style: italic;
  line-height: 1;
  color: var(--on-accent, var(--ink));
}

/* ---------- Card grid ---------- */
.grid {
  max-width: var(--wide);
  margin: 0 auto 4rem;
  padding: 0 1.25rem;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(17rem, 1fr));
  gap: 3rem 2rem;
}
.card { display: flex; flex-direction: column; }
.card__media {
  display: block;
  text-decoration: none;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border: 2px solid var(--ink);
  background: var(--accent);
  margin-bottom: 1rem;
}
.card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.card:hover .card__media img { transform: scale(1.05) rotate(-.5deg); }
.card__body { display: flex; flex-direction: column; align-items: flex-start; gap: .55rem; }
.card__title { font-size: 1.65rem; line-height: 1.1; margin: 0; text-wrap: balance; }
.card__title a {
  text-decoration: none;
  background-image: linear-gradient(var(--accent), var(--accent));
  background-repeat: no-repeat;
  background-size: 0 .38em;
  background-position: 0 88%;
  transition: background-size .3s ease;
}
.card__title a:hover, .card__title a:focus-visible { background-size: 100% .38em; }
.card__excerpt { margin: 0; color: var(--muted); font-size: 1.08rem; }
.card.sticky .card__media { box-shadow: 6px 6px 0 var(--accent); }

/* ---------- Archive / search headers ---------- */
.archive-header { max-width: var(--wide); margin: 3rem auto 2.5rem; padding: 0 1.25rem; text-align: center; }
.archive-header h1 { font-size: clamp(2.6rem, 7vw, 5rem); font-style: italic; margin: 0; line-height: 1; }
.archive-header__desc { font-style: italic; color: var(--muted); max-width: 36rem; margin: .8rem auto 0; }

/* ---------- Pagination ---------- */
.pagination { max-width: var(--wide); margin: 0 auto 5rem; padding: 0 1.25rem; }
.pagination .nav-links { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem; font-family: var(--sans); font-weight: 700; }
.page-numbers { border: 2px solid var(--ink); padding: .45em .85em; text-decoration: none; }
.page-numbers:hover { background: var(--yellow); }
.page-numbers.current { background: var(--ink); color: var(--paper); }
.page-numbers.dots { border-color: transparent; }

/* ---------- Reading progress bar ---------- */
.progress { position: fixed; top: 0; left: 0; right: 0; height: 5px; z-index: 60; pointer-events: none; }
.admin-bar .progress { top: 32px; }
@media (max-width: 782px) { .admin-bar .progress { top: 46px; } }
.progress span {
  display: block; height: 100%;
  transform-origin: 0 50%; transform: scaleX(0);
  background: linear-gradient(90deg, var(--red), var(--yellow), var(--green), var(--blue), var(--purple));
}

/* ---------- The story page: all about the text ---------- */
.story { padding: 0 1.25rem; }
.story__header { max-width: 44rem; margin: 4rem auto 2.75rem; text-align: center; }
.story__title {
  font-size: clamp(2.5rem, 6.5vw, 4.4rem);
  line-height: 1.02;
  letter-spacing: -.01em;
  margin: 1rem 0 .9rem;
  text-wrap: balance;
}
.story__dek {
  font-size: clamp(1.25rem, 2.6vw, 1.5rem);
  font-style: italic;
  line-height: 1.35;
  color: var(--muted);
  max-width: 36rem;
  margin: 0 auto 1.4rem;
  text-wrap: pretty;
}
.story__byline { font-size: 1.2rem; margin: 0 0 .2rem; }
.story__byline a { text-decoration: none; border-bottom: 2px solid var(--accent); }
.story__meta { font-family: var(--sans); font-size: .74rem; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); margin: 0; }

.story__figure { max-width: 58rem; margin: 0 auto 3.25rem; }
.story__figure img { width: 100%; }
figcaption, .wp-element-caption {
  font-family: var(--sans);
  font-size: .8rem;
  line-height: 1.45;
  color: var(--muted);
  margin-top: .6rem;
}

.story__body {
  max-width: var(--measure);
  margin: 0 auto;
  font-size: 1.32rem;
  line-height: 1.62;
  hyphens: auto;
  hanging-punctuation: first;
  text-wrap: pretty;
}
.story__body p { margin: 0 0 1.15em; }
/* Drop caps: automatic on the first paragraph and on the paragraph right after a
   section break, plus any paragraph given the "Drop cap" format in the editor. */
.story__body > p:first-of-type::first-letter,
.story__body hr + p::first-letter,
.story__body .wp-block-separator + p::first-letter,
.story__body p.is-style-drop-cap::first-letter,
.story__body p.has-drop-cap:not(:focus)::first-letter {
  float: left;
  font-size: 4.7em;
  font-weight: 400;
  font-style: normal;
  text-transform: none;
  line-height: .78;
  margin: 0;
  padding: .07em .09em 0 0;
  color: var(--accent);
}
.story__body > p:last-of-type::after {
  content: "";
  display: inline-block;
  width: .55em; height: .55em;
  margin-left: .35em;
  background: var(--accent);
}
.story__body a {
  text-decoration-line: underline;
  text-decoration-color: var(--accent);
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
}
.story__body a:hover { background: color-mix(in srgb, var(--accent) 25%, transparent); }
.story__body h2 { font-size: 1.75rem; line-height: 1.15; text-align: center; margin: 2.2em 0 .9em; }
.story__body h3 { font-size: 1.4rem; font-style: italic; text-align: center; margin: 2em 0 .7em; }
.story__body h4 { font-family: var(--sans); font-size: .85rem; letter-spacing: .12em; text-transform: uppercase; margin: 2em 0 .6em; }
.story__body ul, .story__body ol { padding-left: 1.2em; margin: 0 0 1.15em; }
.story__body li { margin-bottom: .35em; }
.story__body blockquote {
  margin: 2em 0;
  padding: 0 0 0 1.25em;
  border-left: 4px solid var(--accent);
  font-style: italic;
}
.story__body blockquote cite { display: block; font-style: normal; font-family: var(--sans); font-size: .8rem; margin-top: .6em; color: var(--muted); }
.story__body .wp-block-pullquote {
  border: 0;
  border-top: 2px solid var(--ink);
  border-bottom: 2px solid var(--ink);
  padding: 1.6em 0;
  margin: 2.5em 0;
  text-align: center;
}
.story__body .wp-block-pullquote blockquote { border: 0; padding: 0; margin: 0; }
.story__body .wp-block-pullquote p { font-size: 1.65rem; line-height: 1.25; }
.story__body hr, .story__body .wp-block-separator {
  border: 0; height: auto; background: none; opacity: 1;
  text-align: center; margin: 2.6em 0; overflow: visible;
}
.story__body hr::before, .story__body .wp-block-separator::before {
  content: "✦ ✦ ✦";
  color: var(--accent);
  letter-spacing: .9em;
  font-size: .9rem;
}
.story__body figure { margin: 2.5em 0; }
.story__body .alignwide { width: min(58rem, 92vw); position: relative; left: 50%; transform: translateX(-50%); max-width: none; }
.story__body .alignfull { width: 100vw; position: relative; left: 50%; transform: translateX(-50%); max-width: none; }
.story__body code { font-size: .85em; background: var(--rule); padding: .1em .3em; border-radius: 3px; }
.story__body pre { font-size: .85rem; background: var(--ink); color: var(--paper); padding: 1.2em; overflow-x: auto; }

/* Running text is set in Mots; headlines, masthead and pull quotes stay in Goudy */
.story__body, .story__dek, .hero__excerpt, .card__excerpt,
.archive-header__desc, .author-box__bio, .comment-content, .not-found p {
  font-family: var(--text);
}
.story__body h2, .story__body h3, .story__body .wp-block-pullquote p { font-family: var(--serif); }

/* ---------- Category end marks ----------
   The last paragraph of a story ends with a small mark in the story's accent color.
   Posts in these categories (matched by category slug) get an icon instead of the square;
   any other category, and pages, keep the square. */
.story[class*="category-"] .story__body > p:last-of-type::after {
  -webkit-mask-position: center; mask-position: center;
  -webkit-mask-size: contain; mask-size: contain;
  -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
}
/* film camera */
.category-film .story__body > p:last-of-type::after,
.category-movies .story__body > p:last-of-type::after { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22%23000%22%3E%3Cpath d=%22M3.4 6a3.6 3.6 0 1 0 7.2 0a3.6 3.6 0 1 0 -7.2 0zM11.9 6a3.6 3.6 0 1 0 7.2 0a3.6 3.6 0 1 0 -7.2 0z%22/%3E%3Crect x=%222%22 y=%2210.5%22 width=%2214%22 height=%229%22 rx=%221.2%22/%3E%3Cpath d=%22M16.5 13.2 22 10.5v9l-5.5-2.7z%22/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22%23000%22%3E%3Cpath d=%22M3.4 6a3.6 3.6 0 1 0 7.2 0a3.6 3.6 0 1 0 -7.2 0zM11.9 6a3.6 3.6 0 1 0 7.2 0a3.6 3.6 0 1 0 -7.2 0z%22/%3E%3Crect x=%222%22 y=%2210.5%22 width=%2214%22 height=%229%22 rx=%221.2%22/%3E%3Cpath d=%22M16.5 13.2 22 10.5v9l-5.5-2.7z%22/%3E%3C/svg%3E"); }
/* open book */
.category-books .story__body > p:last-of-type::after { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22%23000%22%3E%3Cpath d=%22M1.5 5.2C4.8 4 8.4 4.2 11.2 6.3v13.4C8.4 17.8 4.8 17.6 1.5 18.6z%22/%3E%3Cpath d=%22M22.5 5.2C19.2 4 15.6 4.2 12.8 6.3v13.4c2.8-1.9 6.4-2.1 9.7-1.1z%22/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22%23000%22%3E%3Cpath d=%22M1.5 5.2C4.8 4 8.4 4.2 11.2 6.3v13.4C8.4 17.8 4.8 17.6 1.5 18.6z%22/%3E%3Cpath d=%22M22.5 5.2C19.2 4 15.6 4.2 12.8 6.3v13.4c2.8-1.9 6.4-2.1 9.7-1.1z%22/%3E%3C/svg%3E"); }
/* music notes */
.category-music .story__body > p:last-of-type::after { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22%23000%22%3E%3Cellipse cx=%226.2%22 cy=%2218.2%22 rx=%223.4%22 ry=%222.6%22 transform=%22rotate%28-20 6.2 18.2%29%22/%3E%3Cellipse cx=%2217.6%22 cy=%2216%22 rx=%223.4%22 ry=%222.6%22 transform=%22rotate%28-20 17.6 16%29%22/%3E%3Cpath d=%22M8 6.2 21 3v3.6L8 9.8z%22/%3E%3Crect x=%227.9%22 y=%226.5%22 width=%221.9%22 height=%2212%22/%3E%3Crect x=%2219.1%22 y=%223.4%22 width=%221.9%22 height=%2212.6%22/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22%23000%22%3E%3Cellipse cx=%226.2%22 cy=%2218.2%22 rx=%223.4%22 ry=%222.6%22 transform=%22rotate%28-20 6.2 18.2%29%22/%3E%3Cellipse cx=%2217.6%22 cy=%2216%22 rx=%223.4%22 ry=%222.6%22 transform=%22rotate%28-20 17.6 16%29%22/%3E%3Cpath d=%22M8 6.2 21 3v3.6L8 9.8z%22/%3E%3Crect x=%227.9%22 y=%226.5%22 width=%221.9%22 height=%2212%22/%3E%3Crect x=%2219.1%22 y=%223.4%22 width=%221.9%22 height=%2212.6%22/%3E%3C/svg%3E"); }
/* paint palette */
.category-art .story__body > p:last-of-type::after { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22%23000%22%3E%3Cpath fill-rule=%22evenodd%22 d=%22M12 2C6.2 2 1.8 6.3 1.8 11.6c0 5.6 4.6 9.6 9.4 9.6 1.7 0 2.4-1 2.4-2.1 0-1.4-1-1.8-1-3 0-1.1.9-1.9 2-1.9h2.8c3 0 4.8-2.1 4.8-4.6C22.2 5.6 17.6 2 12 2zM5.0 11.6a1.6 1.6 0 1 0 3.2 0a1.6 1.6 0 1 0 -3.2 0zM7.200000000000001 6.6a1.6 1.6 0 1 0 3.2 0a1.6 1.6 0 1 0 -3.2 0zM12.4 5.8a1.6 1.6 0 1 0 3.2 0a1.6 1.6 0 1 0 -3.2 0zM16.2 9.2a1.6 1.6 0 1 0 3.2 0a1.6 1.6 0 1 0 -3.2 0z%22/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22%23000%22%3E%3Cpath fill-rule=%22evenodd%22 d=%22M12 2C6.2 2 1.8 6.3 1.8 11.6c0 5.6 4.6 9.6 9.4 9.6 1.7 0 2.4-1 2.4-2.1 0-1.4-1-1.8-1-3 0-1.1.9-1.9 2-1.9h2.8c3 0 4.8-2.1 4.8-4.6C22.2 5.6 17.6 2 12 2zM5.0 11.6a1.6 1.6 0 1 0 3.2 0a1.6 1.6 0 1 0 -3.2 0zM7.200000000000001 6.6a1.6 1.6 0 1 0 3.2 0a1.6 1.6 0 1 0 -3.2 0zM12.4 5.8a1.6 1.6 0 1 0 3.2 0a1.6 1.6 0 1 0 -3.2 0zM16.2 9.2a1.6 1.6 0 1 0 3.2 0a1.6 1.6 0 1 0 -3.2 0z%22/%3E%3C/svg%3E"); }
/* hamburger */
.category-food .story__body > p:last-of-type::after { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22%23000%22%3E%3Cmask id=%22k%22%3E%3Crect width=%2224%22 height=%2224%22 fill=%22%23fff%22/%3E%3Cg fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.1%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M7.6 6.9l.9-.5M11.6 5.6h1M15.6 6.9l-.9-.5M9.6 8.6h.9M13.6 8.6h.9%22/%3E%3C/g%3E%3Cg fill=%22%23000%22%3E%3C/g%3E%3C/mask%3E%3Cg mask=%22url%28%23k%29%22%3E%3Cpath d=%22M3 10.6C3 6.2 7 3.4 12 3.4s9 2.8 9 7.2z%22/%3E%3Crect x=%222.2%22 y=%2212%22 width=%2219.6%22 height=%223.1%22 rx=%221.55%22/%3E%3Cpath d=%22M3.4 16.6h17.2v1.3c0 1.6-1.3 2.7-3 2.7H6.4c-1.7 0-3-1.1-3-2.7z%22/%3E%3C/g%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22%23000%22%3E%3Cmask id=%22k%22%3E%3Crect width=%2224%22 height=%2224%22 fill=%22%23fff%22/%3E%3Cg fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.1%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M7.6 6.9l.9-.5M11.6 5.6h1M15.6 6.9l-.9-.5M9.6 8.6h.9M13.6 8.6h.9%22/%3E%3C/g%3E%3Cg fill=%22%23000%22%3E%3C/g%3E%3C/mask%3E%3Cg mask=%22url%28%23k%29%22%3E%3Cpath d=%22M3 10.6C3 6.2 7 3.4 12 3.4s9 2.8 9 7.2z%22/%3E%3Crect x=%222.2%22 y=%2212%22 width=%2219.6%22 height=%223.1%22 rx=%221.55%22/%3E%3Cpath d=%22M3.4 16.6h17.2v1.3c0 1.6-1.3 2.7-3 2.7H6.4c-1.7 0-3-1.1-3-2.7z%22/%3E%3C/g%3E%3C/svg%3E"); }
/* pen nib */
.category-essays .story__body > p:last-of-type::after { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22%23000%22%3E%3Cpath fill-rule=%22evenodd%22 d=%22M12 1.5 18.5 10 15 19.5H9L5.5 10zM10.4 11a1.6 1.6 0 1 0 3.2 0a1.6 1.6 0 1 0 -3.2 0zM11.4 2.8h1.2v6.6h-1.2z%22/%3E%3Crect x=%228.6%22 y=%2220.5%22 width=%226.8%22 height=%222.2%22 rx=%22.6%22/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22%23000%22%3E%3Cpath fill-rule=%22evenodd%22 d=%22M12 1.5 18.5 10 15 19.5H9L5.5 10zM10.4 11a1.6 1.6 0 1 0 3.2 0a1.6 1.6 0 1 0 -3.2 0zM11.4 2.8h1.2v6.6h-1.2z%22/%3E%3Crect x=%228.6%22 y=%2220.5%22 width=%226.8%22 height=%222.2%22 rx=%22.6%22/%3E%3C/svg%3E"); }
/* headphones */
.category-audio .story__body > p:last-of-type::after { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22%23000%22%3E%3Cpath d=%22M3 14.5a9 9 0 0 1 18 0h-2.3a6.7 6.7 0 0 0-13.4 0z%22/%3E%3Crect x=%222.5%22 y=%2213%22 width=%225.5%22 height=%229%22 rx=%221.6%22/%3E%3Crect x=%2216%22 y=%2213%22 width=%225.5%22 height=%229%22 rx=%221.6%22/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22%23000%22%3E%3Cpath d=%22M3 14.5a9 9 0 0 1 18 0h-2.3a6.7 6.7 0 0 0-13.4 0z%22/%3E%3Crect x=%222.5%22 y=%2213%22 width=%225.5%22 height=%229%22 rx=%221.6%22/%3E%3Crect x=%2216%22 y=%2213%22 width=%225.5%22 height=%229%22 rx=%221.6%22/%3E%3C/svg%3E"); }
/* basketball */
.category-nba .story__body > p:last-of-type::after { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22%23000%22%3E%3Cmask id=%22k%22%3E%3Crect width=%2224%22 height=%2224%22 fill=%22%23fff%22/%3E%3Cg fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 2v20M2 12h20M5.3 4.6c2.9 2.1 4 4.6 4 7.4s-1.1 5.3-4 7.4M18.7 4.6c-2.9 2.1-4 4.6-4 7.4s1.1 5.3 4 7.4%22/%3E%3C/g%3E%3Cg fill=%22%23000%22%3E%3C/g%3E%3C/mask%3E%3Cg mask=%22url%28%23k%29%22%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%2210%22/%3E%3C/g%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22%23000%22%3E%3Cmask id=%22k%22%3E%3Crect width=%2224%22 height=%2224%22 fill=%22%23fff%22/%3E%3Cg fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 2v20M2 12h20M5.3 4.6c2.9 2.1 4 4.6 4 7.4s-1.1 5.3-4 7.4M18.7 4.6c-2.9 2.1-4 4.6-4 7.4s1.1 5.3 4 7.4%22/%3E%3C/g%3E%3Cg fill=%22%23000%22%3E%3C/g%3E%3C/mask%3E%3Cg mask=%22url%28%23k%29%22%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%2210%22/%3E%3C/g%3E%3C/svg%3E"); }
/* soccer ball */
.category-futbol .story__body > p:last-of-type::after { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22%23000%22%3E%3Cmask id=%22k%22%3E%3Crect width=%2224%22 height=%2224%22 fill=%22%23fff%22/%3E%3Cg fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 8.2V2.6M15.6 10.8l5.4-1.8M14.2 15l3.3 4.6M9.8 15l-3.3 4.6M8.4 10.8 3 9%22/%3E%3C/g%3E%3Cg fill=%22%23000%22%3E%3Cpath d=%22M12 7.6 16.2 10.6 14.6 15.6H9.4L7.8 10.6z%22/%3E%3C/g%3E%3C/mask%3E%3Cg mask=%22url%28%23k%29%22%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%2210%22/%3E%3C/g%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22%23000%22%3E%3Cmask id=%22k%22%3E%3Crect width=%2224%22 height=%2224%22 fill=%22%23fff%22/%3E%3Cg fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 8.2V2.6M15.6 10.8l5.4-1.8M14.2 15l3.3 4.6M9.8 15l-3.3 4.6M8.4 10.8 3 9%22/%3E%3C/g%3E%3Cg fill=%22%23000%22%3E%3Cpath d=%22M12 7.6 16.2 10.6 14.6 15.6H9.4L7.8 10.6z%22/%3E%3C/g%3E%3C/mask%3E%3Cg mask=%22url%28%23k%29%22%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%2210%22/%3E%3C/g%3E%3C/svg%3E"); }
/* baseball */
.category-mlb .story__body > p:last-of-type::after { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22%23000%22%3E%3Cmask id=%22k%22%3E%3Crect width=%2224%22 height=%2224%22 fill=%22%23fff%22/%3E%3Cg fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.2%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M6.4 3.9c2.4 2.1 3.6 5 3.6 8.1s-1.2 6-3.6 8.1M17.6 3.9c-2.4 2.1-3.6 5-3.6 8.1s1.2 6 3.6 8.1M7.2 6.6l1.8-.7M8.6 9.4l1.9-.3M8.6 14.6l1.9.3M7.2 17.4l1.8.7M16.8 6.6l-1.8-.7M15.4 9.4l-1.9-.3M15.4 14.6l-1.9.3M16.8 17.4l-1.8.7%22/%3E%3C/g%3E%3Cg fill=%22%23000%22%3E%3C/g%3E%3C/mask%3E%3Cg mask=%22url%28%23k%29%22%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%2210%22/%3E%3C/g%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22%23000%22%3E%3Cmask id=%22k%22%3E%3Crect width=%2224%22 height=%2224%22 fill=%22%23fff%22/%3E%3Cg fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.2%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M6.4 3.9c2.4 2.1 3.6 5 3.6 8.1s-1.2 6-3.6 8.1M17.6 3.9c-2.4 2.1-3.6 5-3.6 8.1s1.2 6 3.6 8.1M7.2 6.6l1.8-.7M8.6 9.4l1.9-.3M8.6 14.6l1.9.3M7.2 17.4l1.8.7M16.8 6.6l-1.8-.7M15.4 9.4l-1.9-.3M15.4 14.6l-1.9.3M16.8 17.4l-1.8.7%22/%3E%3C/g%3E%3Cg fill=%22%23000%22%3E%3C/g%3E%3C/mask%3E%3Cg mask=%22url%28%23k%29%22%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%2210%22/%3E%3C/g%3E%3C/svg%3E"); }
/* football */
.category-nfl .story__body > p:last-of-type::after { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22%23000%22%3E%3Cmask id=%22k%22%3E%3Crect width=%2224%22 height=%2224%22 fill=%22%23fff%22/%3E%3Cg fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.2%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M9.2 14.8l5.6-5.6M10.1 12.3l1.6 1.6M11.6 10.8l1.6 1.6M13.1 9.3l1.6 1.6M5.4 15.6l3 3M15.6 5.4l3 3%22/%3E%3C/g%3E%3Cg fill=%22%23000%22%3E%3C/g%3E%3C/mask%3E%3Cg mask=%22url%28%23k%29%22%3E%3Cpath d=%22M3.2 20.8C2.4 12.6 7.6 4.4 20.8 3.2c.8 8.2-4.4 16.4-17.6 17.6z%22/%3E%3C/g%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22%23000%22%3E%3Cmask id=%22k%22%3E%3Crect width=%2224%22 height=%2224%22 fill=%22%23fff%22/%3E%3Cg fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.2%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M9.2 14.8l5.6-5.6M10.1 12.3l1.6 1.6M11.6 10.8l1.6 1.6M13.1 9.3l1.6 1.6M5.4 15.6l3 3M15.6 5.4l3 3%22/%3E%3C/g%3E%3Cg fill=%22%23000%22%3E%3C/g%3E%3C/mask%3E%3Cg mask=%22url%28%23k%29%22%3E%3Cpath d=%22M3.2 20.8C2.4 12.6 7.6 4.4 20.8 3.2c.8 8.2-4.4 16.4-17.6 17.6z%22/%3E%3C/g%3E%3C/svg%3E"); }
/* hockey puck */
.category-hockey .story__body > p:last-of-type::after { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22%23000%22%3E%3Cmask id=%22k%22%3E%3Crect width=%2224%22 height=%2224%22 fill=%22%23fff%22/%3E%3Cg fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M2.8 9.2c0 2 4.1 3.6 9.2 3.6s9.2-1.6 9.2-3.6%22/%3E%3C/g%3E%3Cg fill=%22%23000%22%3E%3C/g%3E%3C/mask%3E%3Cg mask=%22url%28%23k%29%22%3E%3Cellipse cx=%2212%22 cy=%229%22 rx=%229.2%22 ry=%223.6%22/%3E%3Cpath d=%22M2.8 9h18.4v5.4c0 2-4.1 3.6-9.2 3.6s-9.2-1.6-9.2-3.6z%22/%3E%3C/g%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22%23000%22%3E%3Cmask id=%22k%22%3E%3Crect width=%2224%22 height=%2224%22 fill=%22%23fff%22/%3E%3Cg fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M2.8 9.2c0 2 4.1 3.6 9.2 3.6s9.2-1.6 9.2-3.6%22/%3E%3C/g%3E%3Cg fill=%22%23000%22%3E%3C/g%3E%3C/mask%3E%3Cg mask=%22url%28%23k%29%22%3E%3Cellipse cx=%2212%22 cy=%229%22 rx=%229.2%22 ry=%223.6%22/%3E%3Cpath d=%22M2.8 9h18.4v5.4c0 2-4.1 3.6-9.2 3.6s-9.2-1.6-9.2-3.6z%22/%3E%3C/g%3E%3C/svg%3E"); }
/* tennis ball */
.category-tennis .story__body > p:last-of-type::after { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22%23000%22%3E%3Cmask id=%22k%22%3E%3Crect width=%2224%22 height=%2224%22 fill=%22%23fff%22/%3E%3Cg fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.5%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M2.6 9.4c4.6.3 8.4-2.6 9.4-7M21.4 14.6c-4.6-.3-8.4 2.6-9.4 7%22/%3E%3C/g%3E%3Cg fill=%22%23000%22%3E%3C/g%3E%3C/mask%3E%3Cg mask=%22url%28%23k%29%22%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%2210%22/%3E%3C/g%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22%23000%22%3E%3Cmask id=%22k%22%3E%3Crect width=%2224%22 height=%2224%22 fill=%22%23fff%22/%3E%3Cg fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.5%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M2.6 9.4c4.6.3 8.4-2.6 9.4-7M21.4 14.6c-4.6-.3-8.4 2.6-9.4 7%22/%3E%3C/g%3E%3Cg fill=%22%23000%22%3E%3C/g%3E%3C/mask%3E%3Cg mask=%22url%28%23k%29%22%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%2210%22/%3E%3C/g%3E%3C/svg%3E"); }
.category-film .story__body > p:last-of-type::after,
.category-movies .story__body > p:last-of-type::after,
.category-books .story__body > p:last-of-type::after,
.category-music .story__body > p:last-of-type::after,
.category-art .story__body > p:last-of-type::after,
.category-food .story__body > p:last-of-type::after,
.category-essays .story__body > p:last-of-type::after,
.category-audio .story__body > p:last-of-type::after,
.category-nba .story__body > p:last-of-type::after,
.category-futbol .story__body > p:last-of-type::after,
.category-mlb .story__body > p:last-of-type::after,
.category-nfl .story__body > p:last-of-type::after,
.category-hockey .story__body > p:last-of-type::after,
.category-tennis .story__body > p:last-of-type::after {
  width: 1em; height: 1em; margin-left: .4em; vertical-align: -.14em;
}

.page-links { font-family: var(--sans); font-size: .85rem; margin-top: 2rem; }

/* Story footer */
.story__footer { max-width: var(--measure); margin: 3.5rem auto 0; }
.tags { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 2.5rem; }
.tags a {
  font-family: var(--sans); font-size: .75rem; font-weight: 700;
  letter-spacing: .06em; text-transform: uppercase; text-decoration: none;
  border: 2px solid var(--ink); border-radius: 999px; padding: .3em .8em;
}
.tags a:hover { background: var(--accent); color: var(--on-accent, var(--ink)); }
.author-box {
  display: flex; gap: 1.2rem; align-items: flex-start;
  border-top: 4px double var(--ink); padding-top: 1.5rem;
}
.author-box img { border-radius: 50%; flex: 0 0 auto; }
.author-box__name { margin: 0 0 .3rem; font-size: 1.2rem; }
.author-box__bio { margin: 0; font-size: 1.05rem; color: var(--muted); font-style: italic; }

/* Post navigation */
.post-nav {
  max-width: 50rem; margin: 5rem auto 0; padding: 0 1.25rem;
  display: grid; grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr)); gap: 1.25rem;
}
.post-nav__link {
  display: block; padding: 1.4rem;
  border: 2px solid var(--ink); text-decoration: none;
  background: var(--accent); color: var(--on-accent, var(--ink));
  box-shadow: 6px 6px 0 var(--ink);
  transition: transform .2s, box-shadow .2s;
}
.post-nav__link:hover { transform: translate(-2px, -2px); box-shadow: 8px 8px 0 var(--ink); }
.post-nav__label { display: block; font-family: var(--sans); font-weight: 800; font-size: .68rem; letter-spacing: .14em; text-transform: uppercase; margin-bottom: .4rem; }
.post-nav__title { font-size: 1.35rem; line-height: 1.15; }

/* ---------- Comments ---------- */
.comments { max-width: var(--measure); margin: 4.5rem auto 0; padding: 0 1.25rem; }
.comments__title, .comment-reply-title { font-size: 1.6rem; font-style: italic; text-align: center; }
.comment-list { list-style: none; padding: 0; }
.comment-list .children { list-style: none; padding-left: 1.5rem; border-left: 2px solid var(--rule); }
.comment-body { padding: 1.2rem 0; border-bottom: 1px solid var(--rule); }
.comment-meta { font-family: var(--sans); font-size: .8rem; }
.comment-author img { border-radius: 50%; display: inline-block; vertical-align: middle; margin-right: .5rem; }
.comment-form label { display: block; font-family: var(--sans); font-size: .8rem; font-weight: 700; margin-bottom: .3rem; }
.comment-form input[type="text"], .comment-form input[type="email"], .comment-form input[type="url"], .comment-form textarea,
.search-form .search-field {
  width: 100%; font: inherit; font-size: 1.05rem;
  padding: .6rem .75rem; background: #fff;
  border: 2px solid var(--ink); border-radius: 0;
}
.comment-form .form-submit input, .search-form .search-submit {
  font-family: var(--sans); font-weight: 800; font-size: .8rem;
  letter-spacing: .1em; text-transform: uppercase;
  background: var(--ink); color: var(--paper);
  border: 2px solid var(--ink); padding: .75em 1.4em; cursor: pointer;
}
.comment-form .form-submit input:hover, .search-form .search-submit:hover { background: var(--red); color: #fff; }
.search-form { display: flex; gap: .5rem; max-width: 30rem; margin: 1.2rem auto 0; }

/* ---------- 404 ---------- */
.not-found { text-align: center; padding: 5rem 1.25rem; max-width: 40rem; margin: 0 auto; }
.not-found__number {
  font-size: clamp(7rem, 25vw, 14rem); line-height: .9; font-style: italic; margin: 0;
  background: linear-gradient(90deg, var(--red), var(--yellow), var(--green), var(--blue), var(--purple));
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.not-found h1 { font-size: 2rem; margin: 1rem 0 .5rem; }

/* ---------- Footer ---------- */
.site-footer { margin-top: 6rem; background: var(--ink); color: var(--paper); text-align: center; }
.site-footer__inner { padding: 3.5rem 1.25rem 3rem; }
.site-footer__title { font-size: clamp(2.2rem, 6vw, 3.5rem); font-style: italic; text-decoration: none; }
.site-footer__title:hover { color: var(--yellow); }
.footer-nav {
  list-style: none; margin: 1.5rem 0; padding: 0;
  display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem 1.5rem;
  font-family: var(--sans); font-size: .78rem; font-weight: 700;
  letter-spacing: .12em; text-transform: uppercase;
}
.footer-nav a { text-decoration: none; }
.footer-nav a:hover { color: var(--pink); }
.site-footer__fine { font-family: var(--sans); font-size: .75rem; color: #a59d90; margin: 0; }

/* ---------- WordPress core classes ---------- */
.alignleft { float: left; margin: .3em 1.5em 1em 0; }
.alignright { float: right; margin: .3em 0 1em 1.5em; }
.aligncenter { margin-left: auto; margin-right: auto; }
.wp-caption { max-width: 100%; }
.bypostauthor > .comment-body .fn::after { content: " ✦"; color: var(--red); }

/* ---------- Motion preferences ---------- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition: none !important; animation: none !important; }
}
