/* Refinement layer for the Equality / Social Lifestyle cluster (v2.1 handoff).
   Behavior and additions only — the approved homepage/category center and the
   header visual design are deliberately NOT restyled here. This layer carries
   the sticky rubric menu with its compact glyph logo, the vertical Cover Story
   sidebar unit, the Coming-soon states, the article chrome (crumb, ink rule,
   share row), and the branded utility/author/404 pages.
   Bump ?v= in EVERY attach point when editing: layouts/equality-longread/*.ejs,
   sector-shared/_utility.ejs, sector-shared/author.ejs, sector-shared/404.ejs,
   and the sector test. */

/* Pages without the site theme head still need the sector palette; mirror the
   base definitions at the layout level so author/404 keep the accent. */
.layout-equality-longread {
  --sector-accent: var(--vuga-color-accent, #a63a2e);
  --equality-line: #ddd8d1;
}

/* 🔒 Sticky menu (mandatory v2.1): the approved category menu stays pinned to
   the top of the screen while scrolling; a compact glyph logo appears beside
   it once the masthead has scrolled away. Colors, fonts, and composition of
   the approved header are untouched. */
.layout-equality-longread .sector-nav[data-equality-nav] { position: sticky; top: 0; z-index: 40; background: var(--sector-paper, #fffefc); }
.layout-equality-longread .equality-nav-logo { display: none; align-items: center; padding-right: 1rem; margin-right: .4rem; border-right: 1px solid var(--sector-line, #e0dcd6); }
.layout-equality-longread .equality-nav-glyph { display: block; color: var(--sector-accent); font: 600 1.5rem/1 'Crimson Pro', Georgia, serif; }
.eq-scrolled .layout-equality-longread .equality-nav-logo { display: inline-flex; }

/* ---- 2026-09-07 eq header round (user): desktop drops the burger, the
   category menu centers in its row, the search lens joins the menu row at
   the right body edge, and the stuck row aligns to the left body edge
   (compact glyph leads). Mobile keeps the burger and the scrollable menu. */
@media (min-width: 761px) {
  .layout-equality-longread .sector-masthead--equality .sector-menu { display: none; }
}
/* Round 10 (user, 2026-09-09): the sticky rubric row sits at the left body
   edge on every page. */
.layout-equality-longread .sector-nav[data-equality-nav] > div { position: relative; justify-content: flex-start; }
.layout-equality-longread .equality-nav-search { position: absolute; right: 28px; top: 50%; transform: translateY(-50%); display: inline-flex; align-items: center; }
.layout-equality-longread .equality-nav-search .sector-search-toggle { padding: .3rem; }
.layout-equality-longread .equality-nav-search .sector-search-toggle svg { width: 17px; height: 17px; }
/* Mobile: no horizontal menu at all — burger left, centered wordmark, lens
   right, all inside the masthead row. */
.layout-equality-longread .eq-masthead-search { display: none; }
@media (max-width: 760px) {
  .layout-equality-longread .sector-nav[data-equality-nav] { display: none; }
  .layout-equality-longread .eq-masthead-search { display: flex; justify-self: end; }
  .layout-equality-longread .eq-masthead-search .sector-search-toggle { padding: .3rem; }
  .layout-equality-longread .eq-masthead-search .sector-search-toggle svg { width: 20px; height: 20px; }
}

/* ---- 2026-09-07 eq front v2 (user): homepage first section is three
   columns 1:2:1 — left = two latest with art; center = category 1 (one
   feature with art + two text rows); right = category 2 (two latest) over
   the vertical cover story. Card canon network-wide: accent category,
   title, excerpt, then author over the publish date. */
.layout-equality-longread .equality-front { display: grid; grid-template-columns: 1fr 2fr 1fr; column-gap: 3rem; align-items: start; }
.layout-equality-longread .eq-front-col { min-width: 0; }
.layout-equality-longread .eq-front-left { border-right: 1px solid var(--equality-line, #ddd8d1); padding-right: 2.2rem; }
.layout-equality-longread .eq-front-center { border-right: 1px solid var(--equality-line, #ddd8d1); padding-right: 2.6rem; }
.layout-equality-longread .eq-front-card + .eq-front-card { margin-top: 2.6rem; padding-top: 2.2rem; border-top: 1px solid var(--equality-line, #ddd8d1); }
.layout-equality-longread .eq-front-card .sector-media { aspect-ratio: 16 / 10; margin-bottom: 1rem; }
.layout-equality-longread .eq-front-card h2 { font: 600 small-caps clamp(1.6rem, 2.2vw, 2.1rem)/1.08 'Crimson Pro', serif; margin: .4rem 0 .5rem; }
.layout-equality-longread .eq-front-feature .sector-media { aspect-ratio: 16 / 9; }
.layout-equality-longread .eq-front-feature h2 { font-size: clamp(2rem, 3.2vw, 3rem); }
.layout-equality-longread .eq-front-dek { color: var(--sector-muted, #7d7770); font-size: 1.02rem; line-height: 1.55; margin: 0 0 .7rem; }
.layout-equality-longread .equality-meta { display: flex; flex-direction: column; gap: .15rem; }
.layout-equality-longread .eq-meta-author { font: 700 10px/1.5 'Space Mono', monospace; letter-spacing: .09em; text-transform: uppercase; color: #777; }
.layout-equality-longread .eq-meta-date { font: 400 10px/1.5 'Space Mono', monospace; letter-spacing: .09em; text-transform: uppercase; color: #a29b93; }
.layout-equality-longread .eq-front-cat-head { border-bottom: 2px solid var(--sector-ink, #1a1816); padding-bottom: .55rem; margin-bottom: 1.4rem; }
.layout-equality-longread .eq-front-rows { margin-top: 1.8rem; }
.layout-equality-longread .eq-front-row + .eq-front-row { margin-top: 1.4rem; padding-top: 1.4rem; border-top: 1px solid var(--equality-line, #ddd8d1); }
.layout-equality-longread .eq-front-row h3 { font: 600 1.35rem/1.2 'Crimson Pro', serif; margin: 0 0 .4rem; }
/* round 3 (user): center rows 2 lead with art, row 3 is text-only; right
   column items each open with art above the text block. */
.layout-equality-longread .eq-front-row .sector-media, .layout-equality-longread .eq-front-item .sector-media { aspect-ratio: 16 / 10; margin-bottom: .7rem; }
.layout-equality-longread .eq-front-row-art, .layout-equality-longread .eq-front-item-art { display: block; }
.layout-equality-longread .eq-front-row-text { border-top: 1px solid var(--equality-line, #ddd8d1); margin-top: 1.4rem; padding-top: 1.4rem; }
.layout-equality-longread .eq-front-list { display: grid; gap: 1.5rem; }
.layout-equality-longread .eq-front-item { padding-bottom: 1.4rem; border-bottom: 1px solid var(--equality-line, #ddd8d1); }
.layout-equality-longread .eq-front-item:last-child { border-bottom: 0; }
.layout-equality-longread .eq-front-item h3 { font: 600 small-caps 1.4rem/1.15 'Crimson Pro', serif; margin: .3rem 0 .4rem; }
.layout-equality-longread .eq-front-right .equality-cover-story { margin-top: 2.4rem; }
/* ---- 2026-09-09 round 10 (user): author page at the shared body width,
   six uniform cards in two three-across rows, Previous/Next pagination. */
.layout-equality-longread .sector-wrap { width: min(1180px, 100%); max-width: min(1180px, 100%); }
.layout-equality-longread .sector-author-articles .sector-grid { grid-template-columns: repeat(3, 1fr); gap: 2.6rem 2.4rem; }
.layout-equality-longread .sector-author-articles .sector-card { border-bottom: 0; padding-bottom: 0; }
.layout-equality-longread .sector-author-articles .sector-card .sector-media { aspect-ratio: 16 / 10; margin-bottom: .8rem; }
.layout-equality-longread .sector-author-articles .sector-card h3 { font-size: 1.4rem; }
.layout-equality-longread .eq-author-pages { display: flex; gap: 1rem; margin-top: 2.4rem; }
.layout-equality-longread .eq-author-pages .category-pagination-link { border: 1px solid var(--equality-line, #ddd8d1); padding: .6rem 1.1rem; font: 700 10px/1 'Space Mono', monospace; letter-spacing: .12em; text-transform: uppercase; }
.layout-equality-longread .eq-author-pages .category-pagination-link:hover { border-color: var(--sector-accent, #a63a2e); color: var(--sector-accent, #a63a2e); }

/* ---- 2026-09-09 round 9 (user): category header loses the top/bottom
   rules; article page v3 order — label, title, subtitle, byline, full-width
   horizontal hero with a title caption, date + reading time, share, TL;DR,
   body, FAQ + Sources, compact author card, full-width related. Gaps
   everywhere; body links underline in the accent color. */
.layout-equality-longread .equality-category > header { border-block: 0; padding: 2.6rem 0; }
.layout-equality-longread .equality-article { max-width: min(1180px, 100%); padding: 3rem 1.5rem; }
.layout-equality-longread .equality-article > .equality-label { display: block; margin: 0 0 .5rem; }
.layout-equality-longread .equality-article h1 { margin: 0 0 .6rem; }
.layout-equality-longread .eq-art-sub { font-size: 1.22rem; line-height: 1.5; color: var(--sector-muted, #7d7770); margin: 0 0 1.1rem; }
.layout-equality-longread .eq-art-byline { border: 0; padding: 0; margin: 0 0 1.4rem; }
.layout-equality-longread .eq-art-hero { margin: 0 0 1rem; }
.layout-equality-longread .eq-art-hero .sector-media { aspect-ratio: 16 / 9; min-height: 0; }
.layout-equality-longread .eq-art-hero figcaption { font: 400 10px/1.6 'Space Mono', monospace; letter-spacing: .06em; color: var(--sector-muted, #7d7770); padding: .6rem 0 0; border-bottom: 1px solid var(--equality-line, #ddd8d1); }
.layout-equality-longread .eq-art-date { margin: .9rem 0 0; }
.layout-equality-longread .equality-article .equality-share { margin: 1rem 0 0; padding-bottom: 1.2rem; border-bottom: 1px solid var(--equality-line, #ddd8d1); }
.layout-equality-longread .eq-art-tldr { margin: 1.6rem 0; padding: 1.2rem 1.4rem; border: 1px solid var(--equality-line, #ddd8d1); background: #faf8f4; }
.layout-equality-longread .eq-art-tldr p { margin: .4rem 0 0; }
.layout-equality-longread .equality-article .equality-body { font-size: 1.15rem; line-height: 1.75; margin-top: 1.6rem; }
.layout-equality-longread .equality-article .equality-body a,
.layout-equality-longread .eq-art-sub a { color: var(--sector-accent, #a63a2e); text-decoration: underline; }
.layout-equality-longread .equality-article .sector-author { display: flex; align-items: center; gap: 1rem; border-top: 1px solid var(--equality-line, #ddd8d1); border-bottom: 0; margin-top: 2.2rem; padding: 1.6rem 0; background: transparent; }
.layout-equality-longread .equality-article .sector-author .sector-author-avatar { width: 56px; height: 56px; }
.layout-equality-longread .eq-author-photo { display: inline-flex; }
.layout-equality-longread .equality-article .sector-author h2 { font-size: 1.25rem; margin: 0; }
.layout-equality-longread .equality-article .sector-author p { margin: .25rem 0 0; font-size: .95rem; color: var(--sector-muted, #7d7770); }

/* ---- 2026-09-09 round 8 (user): category pages — smaller category H1,
   smaller/shorter description, uniform 2x3 card grid with breathing room
   between label, dek, author and date. */
.layout-equality-longread .equality-category > header h1 { font: 600 small-caps clamp(2.2rem, 4vw, 3.4rem)/1.02 'Crimson Pro', serif; }
.layout-equality-longread .equality-category > header p { font-size: 1.02rem; line-height: 1.55; max-width: 560px; }
/* the generator injects the long DB category_intro after the H1; the
   equality category header shows only the one-sentence description. */
.layout-equality-longread .equality-category > header .category-intro { display: none; }
.layout-equality-longread .equality-category-grid { grid-template-columns: repeat(3, 1fr); gap: 2.6rem 2.4rem; }
.layout-equality-longread .equality-category-grid .eq-cat-card { border-right: 0; border-bottom: 0; padding: 0; }
.layout-equality-longread .eq-cat-card .sector-media { aspect-ratio: 16 / 10; margin-bottom: .9rem; }
.layout-equality-longread .eq-cat-card h2 { font-size: 1.6rem; margin: .35rem 0 0; }
.layout-equality-longread .eq-cat-dek { margin: .55rem 0 0; }
.layout-equality-longread .eq-cat-card .equality-meta { margin-top: .8rem; }

/* round 5 (user): rubric columns 3..6 replace Latest — one category per
   column, three art-led cards, hairline dividers between the columns.
   Round 7 (user, 2026-09-08): cards flow row-major through one grid so
   each row shares its height — the four photos sit on one line. */
.layout-equality-longread .equality-rubrics { display: grid; grid-template-columns: repeat(4, 1fr); column-gap: 3rem; margin-top: 4rem; align-items: stretch; }
.layout-equality-longread .eq-rubric-card { min-width: 0; display: flex; flex-direction: column; }
.layout-equality-longread .eq-rubric-card:nth-child(4n+2), .layout-equality-longread .eq-rubric-card:nth-child(4n+3), .layout-equality-longread .eq-rubric-card:nth-child(4n+4) { border-left: 1px solid var(--equality-line, #ddd8d1); padding-left: 2.2rem; }
.layout-equality-longread .eq-rubric-card:nth-child(n+5) { border-top: 1px solid var(--equality-line, #ddd8d1); margin-top: 2.2rem; padding-top: 2.2rem; }
.layout-equality-longread .eq-rubric-card .sector-media { aspect-ratio: 16 / 10; margin-bottom: .8rem; }
.layout-equality-longread .eq-rubric-art { display: block; }
.layout-equality-longread .eq-rubric-card h3 { font: 600 small-caps 1.5rem/1.12 'Crimson Pro', serif; margin: .3rem 0 .45rem; }
.layout-equality-longread .eq-rubric-card .equality-meta { margin-top: auto; padding-top: .7rem; }
@media (max-width: 1080px) {
  .layout-equality-longread .equality-rubrics { grid-template-columns: 1fr 1fr; }
  .layout-equality-longread .eq-rubric-card:nth-child(4n+2), .layout-equality-longread .eq-rubric-card:nth-child(4n+3), .layout-equality-longread .eq-rubric-card:nth-child(4n+4) { border-left: 0; padding-left: 0; }
  .layout-equality-longread .eq-rubric-card:nth-child(2n) { border-left: 1px solid var(--equality-line, #ddd8d1); padding-left: 2.2rem; }
  .layout-equality-longread .eq-rubric-card:nth-child(n+5) { margin-top: 2.2rem; padding-top: 2.2rem; }
  .layout-equality-longread .eq-rubric-card:nth-child(n+3) { border-top: 1px solid var(--equality-line, #ddd8d1); margin-top: 2.2rem; padding-top: 2.2rem; }
}
@media (max-width: 760px) {
  .layout-equality-longread .equality-rubrics { grid-template-columns: 1fr; }
  .layout-equality-longread .eq-rubric-card:nth-child(2n) { border-left: 0; padding-left: 0; }
  .layout-equality-longread .eq-rubric-card:nth-child(n+3) { border-top: 0; margin-top: 0; padding-top: 0; }
  .layout-equality-longread .eq-rubric-card + .eq-rubric-card { border-top: 1px solid var(--equality-line, #ddd8d1); margin-top: 2.2rem; padding-top: 2.2rem; }
}
@media (max-width: 1080px) {
  .layout-equality-longread .equality-front { grid-template-columns: 1fr; row-gap: 3rem; }
  .layout-equality-longread .eq-front-left, .layout-equality-longread .eq-front-center { border-right: 0; padding-right: 0; }
}

/* 🔒 Cover Story sidebar unit (the only homepage addition): vertical magazine
   block in the right rail — portrait 3:4 cover, up to two text rows, closing
   link; Coming soon while the desk is empty. */
.layout-equality-longread .equality-side { grid-column: 2; grid-row: 1 / span 3; position: sticky; top: 4.6rem; }
.layout-equality-longread .equality-cover-story { border-top: 2px solid var(--sector-ink, #1a1816); padding-top: 1.1rem; }
.layout-equality-longread .equality-cover-story h2 { margin: 0 0 .9rem; font: 700 .72rem/1.5 'Space Mono', monospace; letter-spacing: .18em; text-transform: uppercase; color: var(--sector-accent); }
.layout-equality-longread .equality-cs-feature { display: block; }
.layout-equality-longread .equality-cs-feature .sector-media { aspect-ratio: 3 / 4; }
.layout-equality-longread .equality-cs-feature h3 { font: 600 small-caps 1.35rem/1.15 'Crimson Pro', serif; letter-spacing: .02em; margin: .8rem 0 .4rem; }
.layout-equality-longread .equality-cs-feature .equality-meta { display: block; }
.layout-equality-longread .equality-cs-more { display: block; padding: .85rem 0; border-top: 1px solid var(--equality-line, #ddd8d1); }
.layout-equality-longread .equality-cs-more h4 { font: 600 small-caps 1.1rem/1.2 'Crimson Pro', serif; margin: .3rem 0 0; }
.layout-equality-longread .equality-cs-all { display: block; margin-top: .9rem; padding-top: .9rem; border-top: 1px solid var(--equality-line, #ddd8d1); color: var(--sector-accent); }
.layout-equality-longread .equality-cover-story > p { margin: .4rem 0; color: var(--sector-muted, #7d7770); font-size: .98rem; line-height: 1.55; }

/* 🔒 Empty approved rubrics publish a Coming soon card instead of a bare
   grid; the header block of the category page is untouched. */
.layout-equality-longread .equality-coming-soon { margin-top: 3rem; padding: 2.2rem 2rem; border: 1px dashed var(--equality-line, #ddd8d1); background: #faf8f4; }
.layout-equality-longread .equality-coming-soon .equality-label { color: var(--sector-accent); }
.layout-equality-longread .equality-coming-soon h2 { font: 600 small-caps 2.2rem/1 'Crimson Pro', serif; margin: .6rem 0; }
.layout-equality-longread .equality-coming-soon p { max-width: 44rem; color: var(--sector-muted, #7d7770); line-height: 1.6; }

/* 🔒 Article chrome: mono-caps breadcrumb above the split hero (HOME carries
   the accent), ink rule under the byline, share chips with canonical URLs.
   The approved split hero and reading grid are untouched. */
.layout-equality-longread .equality-crumb { margin-bottom: 1.4rem; font: 400 10px/1.6 'Space Mono', monospace; letter-spacing: .18em; text-transform: uppercase; color: var(--sector-muted, #7d7770); }
.layout-equality-longread .equality-crumb a { color: var(--sector-accent); }
.layout-equality-longread .equality-article-split header .equality-meta { border-bottom: 2px solid var(--sector-ink, #1a1816); padding-bottom: 1.1rem; }
.layout-equality-longread .equality-share { display: flex; align-items: center; flex-wrap: wrap; gap: .55rem; margin-top: 1.2rem; }
.layout-equality-longread .equality-share > span { font: 400 10px/1 'Space Mono', monospace; letter-spacing: .18em; text-transform: uppercase; color: var(--sector-muted, #7d7770); margin-right: .3rem; }
.layout-equality-longread .equality-share a { border: 1px solid var(--equality-line, #ddd8d1); padding: .5rem .75rem; font: 400 10px/1 'Space Mono', monospace; letter-spacing: .12em; text-transform: uppercase; color: var(--sector-ink, #1a1816); background: var(--sector-paper, #fffefc); }
.layout-equality-longread .equality-share a:hover { border-color: var(--sector-accent); color: var(--sector-accent); }

/* 🔒 Author card under the essay speaks in the same two voices: mono label,
   serif name, ink rule above the More-about link. */
.layout-equality-longread .sector-author { border-top: 2px solid var(--sector-ink, #1a1816); background: transparent; padding: 1.6rem 0; }
.layout-equality-longread .sector-author h2 { font: 600 small-caps 1.6rem/1.1 'Crimson Pro', serif; }
.layout-equality-longread .sector-author a { font: 400 10px/1.6 'Space Mono', monospace; letter-spacing: .14em; text-transform: uppercase; color: var(--sector-accent); text-decoration: none; }

/* 🔒 Utility pages wear the sector's editorial header: mono crumb, large
   small-caps Crimson heading, ink rule; about body reads as magazine text. */
.layout-equality-longread .sector-utility-wrap { max-width: 820px; }
.layout-equality-longread .sector-utility .sector-crumb { font: 400 10px/1.6 'Space Mono', monospace; letter-spacing: .18em; text-transform: uppercase; color: var(--sector-muted, #7d7770); }
.layout-equality-longread .sector-utility .sector-crumb a { color: var(--sector-accent); }
.layout-equality-longread .sector-utility > h1 { font: 600 small-caps clamp(2.4rem, 5vw, 3.6rem)/1 'Crimson Pro', serif; letter-spacing: .02em; margin: .7rem 0 0; padding-bottom: 1.2rem; border-bottom: 2px solid var(--sector-ink, #1a1816); }
.layout-equality-longread .sector-utility .sector-utility-intro { color: var(--sector-muted, #7d7770); }
.layout-equality-longread .sector-utility--about .sector-about-body { font-size: 1.13rem; line-height: 1.75; }
.layout-equality-longread .sector-utility--about .sector-about-body p { margin: 0 0 1.5rem; }
.layout-equality-longread .sector-utility--about .about-team,
.layout-equality-longread .sector-utility--about .about-network { margin-top: 3rem; padding-top: 1.6rem; border-top: 1px solid var(--equality-line, #ddd8d1); }
.layout-equality-longread .sector-utility--about .team-member img { border-radius: 50%; }
.layout-equality-longread .sector-utility--about .team-member .name { font: 600 small-caps 1.2rem 'Crimson Pro', serif; margin-top: .55rem; }

/* Contact page keeps exactly one h1 and the same header; its form speaks the
   sector language: mono labels, hairline fields, ink button. */
.layout-equality-longread .sector-utility #contact-page-title { font: 600 small-caps clamp(2.4rem, 5vw, 3.6rem)/1 'Crimson Pro', serif; margin: .7rem 0 0; padding-bottom: 1.2rem; border-bottom: 2px solid var(--sector-ink, #1a1816); }
.layout-equality-longread .vuga-contact-form label { font: 400 10px/1.6 'Space Mono', monospace; letter-spacing: .14em; text-transform: uppercase; color: var(--sector-muted, #7d7770); }
.layout-equality-longread .vuga-contact-form input,
.layout-equality-longread .vuga-contact-form textarea { width: 100%; border: 1px solid var(--equality-line, #ddd8d1); padding: .75rem .9rem; font: 400 1.05rem/1.5 'Crimson Pro', serif; background: var(--sector-paper, #fffefc); }
.layout-equality-longread .vuga-contact-form input:focus,
.layout-equality-longread .vuga-contact-form textarea:focus { outline: none; border-color: var(--sector-accent); }
.layout-equality-longread .vuga-contact-form button[type="submit"] { border: 0; padding: .85rem 1.5rem; background: var(--sector-ink, #1a1816); color: #fff; font: 400 10px/1 'Space Mono', monospace; letter-spacing: .16em; text-transform: uppercase; cursor: pointer; }
.layout-equality-longread .vuga-contact-form button[type="submit"]:hover { background: var(--sector-accent); }

/* 🔒 Author page in the sector voice: mono Author label, portrait tile, serif
   name over an ink rule, card grid below. */
.layout-equality-longread .sector-wrap { max-width: 820px; }
.layout-equality-longread .sector-author-page { grid-template-columns: 7.5rem minmax(0, 1fr); gap: 1.8rem; padding-bottom: 1.6rem; border-bottom: 2px solid var(--sector-ink, #1a1816); }
.layout-equality-longread .sector-author-page-photo { width: 7.5rem; height: 7.5rem; object-fit: cover; background: #faf8f4; }
.layout-equality-longread .sector-author-page .sector-kicker { font: 400 10px/1.6 'Space Mono', monospace; letter-spacing: .2em; text-transform: uppercase; color: var(--sector-accent); }
.layout-equality-longread .sector-author-page h1 { font: 600 small-caps clamp(2.4rem, 5vw, 3.4rem)/1 'Crimson Pro', serif; margin: .5rem 0 .8rem; }
.layout-equality-longread .sector-author-bio { color: var(--sector-muted, #7d7770); line-height: 1.7; }
.layout-equality-longread .sector-author-title,
.layout-equality-longread .sector-author-credentials { font: 400 10px/1.7 'Space Mono', monospace; letter-spacing: .1em; text-transform: uppercase; }
.layout-equality-longread .sector-author-articles .sector-section-head { border-bottom: 2px solid var(--sector-ink, #1a1816); }
.layout-equality-longread .sector-author-articles .sector-section-head h2 { font: 600 small-caps 2rem 'Crimson Pro', serif; }
.layout-equality-longread .sector-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.2rem 2.5rem; }
.layout-equality-longread .sector-card .sector-media { aspect-ratio: 4 / 3; }
.layout-equality-longread .sector-card h3 { font: 600 small-caps 1.5rem/1.15 'Crimson Pro', serif; }

/* 🔒 404 shares the sector voice (not-found.css provides the scaffold). */
.layout-equality-longread .not-found-main h1 { font: 600 small-caps clamp(2.6rem, 6vw, 4rem)/1 'Crimson Pro', serif; }

@media (max-width: 1080px) {
  .layout-equality-longread .equality-side { grid-column: 1; grid-row: auto; position: static; max-width: 420px; }
}

@media (max-width: 760px) {
  .layout-equality-longread .sector-author-page { grid-template-columns: 1fr; }
  .layout-equality-longread .sector-author-page-photo { width: 5.5rem; height: 5.5rem; }
  .layout-equality-longread .sector-grid { grid-template-columns: 1fr; }
}

/* ---- 2026-09-05 canon width gate (network-wide fix): lift the base
   sector-publication.css 760px squeeze so utility pages fill the shared
   1180px nav/footer container. Same fix as arts/bp/edu/ent. */
.layout-equality-longread .sector-utility-wrap { width: min(1180px, 100%); margin: 0 auto; }
.layout-equality-longread .sector-utility { width: 100%; max-width: none; margin: 0; }
.layout-equality-longread .sector-utility--about > .sector-about-body,
.layout-equality-longread .sector-utility--about > .about-team,
.layout-equality-longread .sector-utility--about > .about-network { width: 100%; margin-inline: 0; }
/* wave 1d: legacy 820px max-width cap lifted with the shared container. */
.layout-equality-longread .sector-utility-wrap { max-width: min(1180px, 100%); width: 100%; }

/* ---- 2026-09-06 wave 3: no breadcrumb on author/about/data (removed in
   markup); author name, bio, about body and data title read smaller. */
.layout-equality-longread .sector-author-page-content h1 { font-size: clamp(1.5rem, 3vw, 2rem) !important; }
.layout-equality-longread .sector-author-bio { font-size: .92rem !important; }
.layout-equality-longread .sector-about-body { font-size: .95rem !important; }
.layout-equality-longread .sector-about-body h1, .layout-equality-longread .sector-utility > h1 { font-size: clamp(1.6rem, 4vw, 2.2rem) !important; }
.layout-equality-longread .data-main h1 { font-size: clamp(1.6rem, 4vw, 2.2rem) !important; }

/* ---- 2026-09-09 round 11 (user): article title half the size. */
.layout-equality-longread .equality-article h1 { font: 600 small-caps clamp(1.75rem, 3.5vw, 3.5rem)/1.02 'Crimson Pro', serif; margin: .5rem 0; }

/* ---- 2026-09-09 round 10b (user): final overrides — the base layout css
   centers the rubric row with huge symmetric padding (max(28px,
   (100vw - 1120px)/2 + 28px)), which pushes the menu right on wide
   screens, and an older 820px sector-wrap cap sits later in this file.
   Both are restated last so they always win. */
.layout-equality-longread .sector-nav[data-equality-nav] > div { justify-content: flex-start; padding: 0 28px; }
.layout-equality-longread .sector-wrap { width: min(1180px, 100%); max-width: min(1180px, 100%); }
/* ---- 2026-09-14 eq-cat-mobile (audit): the refinement's 3-column category
   grid outranked the base ≤760px collapse at equal load order — restore the
   single-column stack on phones so category cards stop overflowing. */
@media (max-width: 760px) {
  .layout-equality-longread .equality-category-grid { grid-template-columns: 1fr; gap: 2.6rem 0; }
}
