*{margin:0;padding:0;box-sizing:border-box}
body{font-family:-apple-system,system-ui,sans-serif;line-height:1.7;color:#333;background:#fff}
.css-2l54m83{max-width:780px;margin:0 auto;padding:0 20px}
header{background:#1a1a2e;color:#fff;padding:32px 0;margin-bottom:40px}
header h1{font-size:28px;margin-bottom:4px}
header p{opacity:.7;font-size:15px}
header .css-ybqybg4{color:#fff;text-decoration:none;font-size:18px;font-weight:600}
.css-rmslv2d{border-bottom:1px solid #eee;padding:24px 0}
.css-rmslv2d h2{font-size:20px;margin-bottom:8px}
.css-rmslv2d h2 a{color:#1a1a2e;text-decoration:none}
.css-rmslv2d h2 a:hover{color:#e94560}
.css-rmslv2d .date{font-size:13px;color:#999;margin-bottom:8px}
.css-rg8bhma{color:#e94560;text-decoration:none;font-size:14px;font-weight:600}
.css-e5ujkdi{padding-bottom:60px}
.css-e5ujkdi h1{font-size:32px;margin-bottom:8px}
.css-e5ujkdi time{font-size:13px;color:#999;display:block;margin-bottom:24px}
.css-e5ujkdi h2{font-size:22px;margin:32px 0 12px}
.css-e5ujkdi h3{font-size:18px;margin:24px 0 8px}
.css-e5ujkdi p{margin-bottom:16px}
.css-e5ujkdi ul,.css-e5ujkdi ol{margin:0 0 16px 24px}
.css-e5ujkdi a{color:#e94560}
.css-e5ujkdi img{max-width:100%;height:auto;border-radius:8px;margin:16px 0}
footer{border-top:1px solid #eee;padding:24px 0;margin-top:40px;text-align:center;font-size:13px;color:#999}
footer a{color:#999}
.css-y5xgik2{background:#f5f5f5;border-left:3px solid #999;padding:10px 14px;margin-bottom:20px;font-size:13px;color:#777;font-style:italic}
.css-z505wim{background:#fef9e7;border:1px solid #f0c36d;padding:10px 14px;margin-top:20px;font-size:12px;color:#8a6d3b}
.css-r53swto{font-size:13px;color:#999;margin:-16px 0 24px;font-style:italic}
.css-zzhfen9{text-align:center;margin:0 0 20px}
.css-g88h7lz{max-width:100%;height:auto;border-radius:6px}
.css-v0e4duk{margin-top:40px;padding-top:24px;border-top:1px solid #eee}
.css-v0e4duk h3{font-size:18px;margin-bottom:12px}
.css-v0e4duk ul{list-style:none;padding:0}
.css-v0e4duk li{padding:4px 0}
.css-v0e4duk a{color:#e94560;text-decoration:none}
.css-urr9l6v{padding:20px 0}
.css-urr9l6v ul{list-style:none;padding:0}
.css-urr9l6v li{padding:5px 0;font-size:15px}
.css-urr9l6v a{color:#1a1a2e;text-decoration:none}
.css-urr9l6v a:hover{color:#e94560}
/* === Theme === */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&family=Lora:wght@400;700&display=swap');
body{font-family:'Montserrat',sans-serif;color:#1A1C19;background:#FDFBF7}
header{background:#2D3A27;color:#fff}
header h1{font-family:'Lora',serif;color:#fff}
header p{color:rgba(255,255,255,.75)}
header a{color:#fff;text-decoration:none}
.css-rmslv2d h2{font-family:'Lora',serif}
.css-rmslv2d h2 a{color:#2D3A27}
.css-rmslv2d h2 a:hover{color:#D35400}
.css-rg8bhma{color:#D35400}
.css-e5ujkdi h1{font-family:'Lora',serif}
.css-e5ujkdi h2{font-family:'Lora',serif}
.css-e5ujkdi a{color:#D35400}
.css-e5ujkdi img{border-radius:8px}
.affiliate-disclosure{border-radius:8px}
.ymyl-disclaimer{border-radius:8px}
/* === Custom === */
/* mc-fungi-es — Malena Recalde, diario de cultivo en placard, Rosario AR
   Palette: shiitake-brown + mycelium-sage on warm parchment
   Fonts: Lora (headings, italic) + Source Serif 4 (body)
   Template: classic */

@import url('https://fonts.googleapis.com/css2?family=Lora:ital,wght@0,400;0,600;1,400;1,600&family=Source+Serif+4:ital,opsz,wght@0,8..60,400;0,8..60,600;1,8..60,400&display=swap');

/* ─── Design tokens ─────────────────────────────────────────── */
:root {
  --color-primary:      #4A2C14;
  --color-accent:       #6B8F5E;
  --color-bg:           #F6F1E8;
  --color-surface:      #EDE7DA;
  --color-text:         #2E1F10;
  --color-text-muted:   #7A6A5A;
  --color-link:         #7A4A28;
  --color-link-hover:   #4A2C14;
  --color-border:       #D0C4B0;
  --color-heading:      #3A1E0A;

  --font-heading:       'Lora', Georgia, serif;
  --font-body:          'Source Serif 4', Georgia, serif;

  --size-base:          17px;
  --size-h1:            2.2rem;
  --size-h2:            1.65rem;
  --size-h3:            1.3rem;
  --size-small:         0.875rem;

  --lh-body:            1.75;
  --lh-heading:         1.25;

  --max-content:        68ch;
  --radius-card:        6px;
  --radius-btn:         4px;
  --spacing-section:    3rem;
  --spacing-para:       1.4em;
  --fw-heading:         600;
  --fw-body:            400;
}

/* ─── Base reset & body ─────────────────────────────────────── */
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  font-size: var(--size-base);
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}

body {
  font-family: var(--font-body);
  font-weight: var(--fw-body);
  font-size: 1rem;
  line-height: var(--lh-body);
  color: var(--color-text);
  background-color: var(--color-bg);
}

/* ─── Links ─────────────────────────────────────────────────── */
a {
  color: var(--color-link);
  text-decoration: underline;
  text-decoration-color: color-mix(in srgb, var(--color-link) 40%, transparent);
  text-underline-offset: 3px;
  transition: color 0.2s ease, text-decoration-color 0.2s ease;
}

a:hover,
a:focus-visible {
  color: var(--color-link-hover);
  text-decoration-color: var(--color-link-hover);
}

/* ─── Headings ──────────────────────────────────────────────── */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--font-heading);
  font-style: italic;
  font-weight: var(--fw-heading);
  line-height: var(--lh-heading);
  color: var(--color-heading);
  margin-top: 1.75em;
  margin-bottom: 0.5em;
}

h1 {
  font-size: var(--size-h1);
  margin-top: 0;
}

h2 {
  font-size: var(--size-h2);
}

h3 {
  font-size: var(--size-h3);
}

h4 {
  font-size: 1.1rem;
}

/* ─── Prose / body content ──────────────────────────────────── */
p {
  margin-bottom: var(--spacing-para);
  max-width: var(--max-content);
}

p:last-child {
  margin-bottom: 0;
}

ul,
ol {
  padding-left: 1.6em;
  margin-bottom: var(--spacing-para);
  max-width: var(--max-content);
}

li {
  margin-bottom: 0.4em;
}

li::marker {
  color: var(--color-accent);
}

/* ─── Blockquote — diary aside / anecdote callout ───────────── */
blockquote {
  border-left: 3px solid var(--color-accent);
  margin: 2em 0;
  padding: 0.9em 1.4em;
  background-color: var(--color-surface);
  border-radius: 0 var(--radius-card) var(--radius-card) 0;
  font-style: italic;
  color: var(--color-text-muted);
  max-width: var(--max-content);
}

blockquote p {
  margin-bottom: 0;
}

blockquote cite {
  display: block;
  margin-top: 0.6em;
  font-size: var(--size-small);
  font-style: normal;
  color: var(--color-text-muted);
}

/* ─── Horizontal rule ───────────────────────────────────────── */
hr {
  border: none;
  border-top: 1px solid var(--color-border);
  margin: var(--spacing-section) 0;
  max-width: var(--max-content);
}

/* ─── Images ────────────────────────────────────────────────── */
img {
  max-width: 100%;
  height: auto;
  display: block;
  border-radius: var(--radius-card);
}

figure {
  margin: 2em 0;
}

figcaption {
  margin-top: 0.5em;
  font-size: var(--size-small);
  color: var(--color-text-muted);
  font-style: italic;
}

/* ─── Code ──────────────────────────────────────────────────── */
code {
  font-family: 'Courier New', Courier, monospace;
  font-size: 0.88em;
  background: var(--color-surface);
  padding: 0.1em 0.35em;
  border-radius: 3px;
  color: var(--color-primary);
}

pre {
  background: var(--color-surface);
  padding: 1.2em 1.4em;
  border-radius: var(--radius-card);
  overflow-x: auto;
  margin-bottom: var(--spacing-para);
  border: 1px solid var(--color-border);
}

pre code {
  background: none;
  padding: 0;
  font-size: 0.85em;
}

/* ─── Header / site banner ──────────────────────────────────── */
header,
.site-header {
  background-color: var(--color-primary);
  color: #F6F1E8;
  padding: 2rem 1.5rem;
}

.site-header a {
  color: #F6F1E8;
  text-decoration: none;
}

.site-header a:hover {
  color: color-mix(in srgb, var(--color-accent) 85%, #fff);
}

.site-header h1,
.site-title {
  font-style: italic;
  font-size: 1.9rem;
  color: #F6F1E8;
  margin-top: 0;
  margin-bottom: 0.25em;
}

.site-header p,
.site-description,
.site-tagline {
  color: rgba(246, 241, 232, 0.72);
  font-size: var(--size-small);
  font-style: italic;
  margin-bottom: 0;
}

/* ─── Nav ───────────────────────────────────────────────────── */
nav,
.site-nav {
  background-color: color-mix(in srgb, var(--color-primary) 85%, #000);
  padding: 0.5rem 1.5rem;
}

.site-nav a {
  color: rgba(246, 241, 232, 0.85);
  text-decoration: none;
  font-size: var(--size-small);
  font-family: var(--font-body);
  margin-right: 1.2em;
  letter-spacing: 0.01em;
  transition: color 0.2s;
}

.site-nav a:hover {
  color: #F6F1E8;
}

/* ─── Main layout ───────────────────────────────────────────── */
main,
.site-main {
  max-width: 820px;
  margin: 0 auto;
  padding: 2.5rem 1.5rem var(--spacing-section);
}

/* ─── Article cards (index/listing) ────────────────────────── */
.css-rmslv2d,
.post-card,
article.css-rmslv2d {
  background-color: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-card);
  padding: 1.5rem 1.6rem;
  margin-bottom: 1.75rem;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.css-rmslv2d:hover,
.post-card:hover {
  border-color: color-mix(in srgb, var(--color-accent) 50%, var(--color-border));
  box-shadow: 0 2px 8px rgba(74, 44, 20, 0.08);
}

.css-rmslv2d h2,
.post-card h2,
.css-rmslv2d h2 a,
.post-card h2 a {
  font-size: 1.35rem;
  color: var(--color-heading);
  text-decoration: none;
  margin-top: 0;
}

.css-rmslv2d h2 a:hover,
.post-card h2 a:hover {
  color: var(--color-accent);
  text-decoration-color: var(--color-accent);
}

.card-meta,
.post-meta {
  font-size: var(--size-small);
  color: var(--color-text-muted);
  font-style: italic;
  margin-bottom: 0.6em;
}

.card-excerpt,
.post-excerpt {
  color: var(--color-text);
  font-size: 0.95rem;
  margin-bottom: 1em;
  max-width: none;
}

.css-rg8bhma {
  font-size: var(--size-small);
  color: var(--color-accent);
  font-weight: 600;
  text-decoration: none;
  letter-spacing: 0.02em;
}

.css-rg8bhma:hover {
  color: var(--color-link-hover);
  text-decoration: underline;
}

/* ─── Article / single post ─────────────────────────────────── */
.css-e5ujkdi {
  max-width: var(--max-content);
}

.css-e5ujkdi h1,
.article-header h1,
.post-title {
  font-size: var(--size-h1);
  color: var(--color-heading);
  margin-top: 0;
  margin-bottom: 0.3em;
}

.article-meta,
.post-date {
  font-size: var(--size-small);
  color: var(--color-text-muted);
  font-style: italic;
  margin-bottom: 2em;
  display: block;
}

.css-e5ujkdi h2 {
  color: var(--color-primary);
}

.css-e5ujkdi h3 {
  color: var(--color-primary);
}

.css-e5ujkdi a {
  color: var(--color-link);
}

.css-e5ujkdi a:hover {
  color: var(--color-link-hover);
}

/* ─── Author byline ─────────────────────────────────────────── */
.author-bio,
.byline {
  display: flex;
  gap: 1rem;
  align-items: flex-start;
  background: var(--color-surface);
  border-left: 3px solid var(--color-accent);
  border-radius: 0 var(--radius-card) var(--radius-card) 0;
  padding: 1rem 1.2rem;
  margin: var(--spacing-section) 0;
}

.author-bio p {
  font-size: var(--size-small);
  color: var(--color-text-muted);
  font-style: italic;
  margin-bottom: 0;
  max-width: none;
}

.author-name {
  font-weight: 600;
  font-style: normal;
  color: var(--color-primary);
  display: block;
  margin-bottom: 0.2em;
}

/* ─── Sidebar (classic template) ────────────────────────────── */
.sidebar,
aside {
  font-size: 0.92rem;
}

.sidebar h3,
aside h3 {
  font-size: 1.05rem;
  color: var(--color-primary);
  margin-top: 0;
  padding-bottom: 0.4em;
  border-bottom: 1px solid var(--color-border);
  margin-bottom: 0.8em;
}

.sidebar ul,
aside ul {
  padding-left: 0;
  list-style: none;
}

.sidebar li,
aside li {
  border-bottom: 1px solid var(--color-border);
  padding: 0.35em 0;
}

.sidebar li::marker {
  content: '';
}

.sidebar li:last-child,
aside li:last-child {
  border-bottom: none;
}

/* ─── Footer ────────────────────────────────────────────────── */
footer,
.site-footer {
  background-color: var(--color-primary);
  color: rgba(246, 241, 232, 0.72);
  text-align: center;
  padding: 2rem 1.5rem;
  font-size: var(--size-small);
  font-style: italic;
  margin-top: var(--spacing-section);
}

.site-footer a {
  color: rgba(246, 241, 232, 0.85);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.site-footer a:hover {
  color: #F6F1E8;
}

/* ─── Utility ───────────────────────────────────────────────── */
.text-muted {
  color: var(--color-text-muted);
}

.text-accent {
  color: var(--color-accent);
}

.surface {
  background-color: var(--color-surface);
  border-radius: var(--radius-card);
  padding: 1.2rem 1.4rem;
}

/* ─── Responsive ────────────────────────────────────────────── */
@media (max-width: 640px) {
  html {
    font-size: 16px;
  }

  main,
  .site-main {
    padding: 1.75rem 1rem 2.5rem;
  }

  h1,
  .site-header h1,
  .site-title {
    font-size: 1.6rem;
  }

  h2 {
    font-size: 1.4rem;
  }

  .css-rmslv2d,
  .post-card {
    padding: 1.2rem 1.1rem;
  }
}

/* === R2 fixes (2026-07-02T15:50:09.051341+00:00) === */

/* Fix 1: Prose line-height — diary entries longer than 3-4 lines lose the
   reader on line-wrap without extra air */
article p,
main p {
  line-height: 1.75;
}

/* Fix 2 & 3: H2 spacing + remove italic in article context — section breaks
   need to read as clear signposts, not blend into diary prose rhythm */
article h2,
main h2 {
  margin-top: 2.2em;
  margin-bottom: 0.5em;
  font-style: normal;
  font-weight: 700;
}

/* Fix 4: Date — warmer colour + readable size; ISO grey reads as placeholder */
time,
.post-date,
article time {
  font-size: 14px;
  color: var(--color-text-muted, #7A6150);
}

/* Fix 5: Homepage card gap — 28px separates excerpt of one from title of next */
.css-rmslv2d,
.post-card,
article.css-rmslv2d {
  margin-bottom: 28px;
}

/* Fix 6: Nav inherits heading serif — unifies nav bar with hero typography */
nav a,
.site-nav a {
  font-family: var(--font-heading);
  font-weight: 600;
}

/* === R3 fixes (2026-07-02T16:30:38.829417+00:00) === */

/* Fix R3-1: Card title first-child — resets the 2.2em top margin from 'article h2'
   when h2 is the very first direct child of a homepage card */
article > h2:first-child {
  margin-top: 0;
}

/* Fix R3-2: Affiliate aside — sage-tinted container reads as 'nota aparte de
   Malena', not as inline diary prose */
article aside {
  background: color-mix(in srgb, var(--color-surface) 85%, var(--color-accent) 15%);
  border-left: 3px solid var(--color-accent);
  padding: 0.7em 1.1em;
  border-radius: 0 var(--radius-card) var(--radius-card) 0;
  font-size: var(--size-small);
  margin: 1.5em 0;
  display: block;
}

/* Fix R3-3: Related-articles section separator — thin rule signals end of article body */
article section {
  border-top: 1px solid var(--color-border);
  margin-top: 2.5em;
  padding-top: 1.5em;
}

/* Fix R3-4: First homepage card entry signal — sage left border gives new readers a
   visual starting point without redesigning the full card list */
main article:first-of-type,
.site-main article:first-of-type {
  border-left: 3px solid var(--color-accent);
  padding-left: calc(1.6rem - 3px);
}

/* Fix R3-5: Homepage card dates — p.date not covered by R2 'time' selector;
   warm italic muted style matches article-page date treatment */
p.date,
.date {
  font-size: 14px;
  color: var(--color-text-muted);
  font-style: italic;
}

/* === R4 fixes (2026-07-03T02:50:21.769177+00:00) === */

/* Fix R4-1: Related-articles section separator — corrects R3-3 which targeted
   'article section' (section inside article) but section is a sibling of article
   in the DOM (both direct children of main); this selector reaches it correctly */
main > section,
.site-main > section {
  border-top: 1px solid var(--color-border);
  margin-top: 2.5em;
  padding-top: 1.5em;
}

/* Fix R4-2: Related-article links in sage accent — distinguishes editorial
   'relacionados' links (sage) from affiliate body links (cobre #7A4A28) */
main > section a,
.site-main > section a {
  color: var(--color-accent);
  text-decoration-color: color-mix(in srgb, var(--color-accent) 40%, transparent);
}

/* Fix R4-3: Homepage article card spacing — covers hashed class cards that
   don't match .css-rmslv2d / .post-card / article.css-rmslv2d selectors from R2 */
main > article,
.site-main > article {
  margin-bottom: 1.75rem;
}


/* ============================================================================
   v.50e2ee — layout revision
   Editorial signature pass for mc-fungi-es (classic template · seed_chg_4k9r).
   The deployed base /style.css hardcodes obfuscated .css-* class rules (card
   padding, #fff surfaces, amber Aviso). To beat their (0,1,x) specificity
   WITHOUT literal class selectors or !important, homepage/article selectors
   carry a structural pseudo-class (:first-of-type / :nth-of-type) that lifts
   them to b=1 and then wins on element depth. Homepage = main:not(:has(> h1)),
   article = main:has(> h1). Moment colour #5C6B4A appears exactly twice
   (masthead underline + hero drop cap). Theme-asset photos 404 → gradient
   bands stand in for the essay-photo strips.
   ========================================================================== */

:root {
  --color-moment: #5C6B4A;
  --font-meta: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --paper-card:  #F8F2E6;
  --paper-index: #F1EAD9;
  --hairline:    rgba(46, 31, 16, 0.10);
}

/* ─── Masthead: monogram + wordmark + manifesto ─────────────── */
header {
  background: radial-gradient(120% 150% at 50% -25%, #5C4326 0%, #3A1E0A 58%, #2C1706 100%);
  text-align: center;
  padding: 3.3rem 1.25rem 2.7rem;
  border-bottom: 3px solid var(--color-moment);      /* moment colour · 1 of 2 */
  margin-bottom: 2.5rem;
}
header > div { max-width: 720px; }
/* Article masthead wordmark is an <a> (homepage uses <h1>) — match the voice */
header > div > a:first-of-type {
  font-family: var(--font-heading);
  font-style: italic;
  font-weight: 600;
  font-size: 1.55rem;
  color: #F6F1E8;
  text-decoration: none;
}
header > div::before {
  content: "";
  display: block;
  width: 46px;
  height: 46px;
  margin: 0 auto 16px;
  opacity: 0.92;
  background: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%23E9DFC9' stroke-width='1.4'><circle cx='24' cy='24' r='21'/><circle cx='24' cy='24' r='3.4' fill='%23E9DFC9' stroke='none'/><path stroke-width='1' d='M24 8v10M24 30v10M8 24h10M30 24h10M13 13l7 7M28 28l7 7M35 13l-7 7M20 28l-7 7'/></svg>") center / contain no-repeat;
}
header h1 {
  font-family: var(--font-heading);
  font-style: italic;
  font-weight: 600;
  font-size: clamp(2.1rem, 5.2vw, 3rem);
  line-height: 1.1;
  color: #F6F1E8;
  margin: 0;
}
header h1::before {
  content: "DIARIO DE CULTIVO · ROSARIO";
  display: block;
  font-family: var(--font-meta);
  font-style: normal;
  font-weight: 600;
  font-size: 11px;
  letter-spacing: 0.34em;
  color: #C6A98A;
  margin-bottom: 14px;
}
header p {
  font-family: var(--font-body);
  font-style: italic;
  color: rgba(246, 241, 232, 0.72);
  font-size: 0.95rem;
  line-height: 1.65;
  max-width: 56ch;
  margin: 0.85rem auto 0;
}

/* ─── Homepage canvas: hero → journal grid → archive index ──── */
main:not(:has(> h1)):first-of-type {
  max-width: 1060px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2.4rem 2rem;
  align-items: stretch;
  padding-top: 3rem;
  padding-bottom: 4rem;
}

/* Hero — THE loud voice */
main:not(:has(> h1)) > article:first-of-type {
  grid-column: 1 / -1;
  display: flex;
  flex-direction: column;
  background: var(--paper-card);
  border: 1px solid var(--hairline);
  border-radius: 10px;
  box-shadow: 0 1px 4px rgba(46, 31, 16, 0.05);
  padding: 3rem 3rem 2.6rem;
  margin: 0;
  overflow: hidden;
}
main:not(:has(> h1)) > article:first-of-type > h2 {
  order: 1;
  margin: 0.4rem 0 0;
  font-size: clamp(2rem, 4.4vw, 2.9rem);
  line-height: 1.12;
}
main:not(:has(> h1)) > article:first-of-type > h2 a {
  font-family: var(--font-heading);
  font-style: italic;
  font-weight: 600;
  color: var(--color-heading);
  text-decoration: none;
}
main:not(:has(> h1)) > article:first-of-type > h2 a:hover { color: var(--color-accent); }

/* Hero kicker + byline (built on the date paragraph) */
main:not(:has(> h1)) > article:first-of-type > p:first-of-type {
  order: 0;
  font-family: var(--font-meta);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--color-text-muted);
  margin: 0;
}
main:not(:has(> h1)) > article:first-of-type > p:first-of-type::before {
  content: "Última entrada · por Malena Recalde · ";
  color: var(--color-accent);
}

/* Hero excerpt + moment drop cap */
main:not(:has(> h1)) > article:first-of-type > p:last-of-type {
  order: 2;
  font-family: var(--font-body);
  font-size: 1.24rem;
  line-height: 1.55;
  color: var(--color-text);
  max-width: 60ch;
  margin: 1.3rem 0 1.6rem;
}
main:not(:has(> h1)) > article:first-of-type > p:last-of-type::first-letter {
  float: left;
  font-family: var(--font-heading);
  font-style: italic;
  font-weight: 600;
  font-size: 3.4em;
  line-height: 0.8;
  padding: 0.05em 0.14em 0 0;
  color: var(--color-moment);                        /* moment colour · 2 of 2 */
}

/* Hero CTA — outlined pill (text swapped to Spanish) */
main:not(:has(> h1)) > article:first-of-type > a {
  order: 3;
  align-self: flex-start;
  display: inline-block;
  font-size: 0;
  text-decoration: none;
  border: 1.5px solid color-mix(in srgb, var(--color-primary) 45%, transparent);
  border-radius: 999px;
  padding: 0.78em 1.6em;
  transition: background 0.2s ease, border-color 0.2s ease;
}
main:not(:has(> h1)) > article:first-of-type > a::after {
  content: "Leer la entrada →";
  font-family: var(--font-meta);
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--color-primary);
}
main:not(:has(> h1)) > article:first-of-type > a:hover {
  background: var(--color-primary);
  border-color: var(--color-primary);
}
main:not(:has(> h1)) > article:first-of-type > a:hover::after { color: #F6F1E8; }

/* ── QA refix iter=1 · section-break strips (M6) + relocated labels (M2) ──────
   The old "EN ORDEN DE ESCRITURA" band lived INSIDE the hero card frame (M2 fail)
   and was the only separator on the page (M6 fail). Instead, sequence the homepage
   grid with `order` so two full-row atmospheric bands fall between the movements:
   strip 1 after the hero, strip 2 before the archive tail. Both are grid-container
   pseudo-elements → real full-row grid cells, OUTSIDE every card frame. Theme-asset
   photos 404, so each band is a layered earthy gradient (warm glow + dark overlay)
   reading as a dim-placard hero photo, ~200px tall, with its uppercase label centred
   in white. Order: hero(1) · strip1(2) · journal cards(3) · strip2(4) · archive(5). */
main:not(:has(> h1)) > article:first-of-type { order: 1; }
main:not(:has(> h1)) > article:nth-of-type(n + 2) { order: 3; }

main:not(:has(> h1))::before,
main:not(:has(> h1)):has(> section)::after {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 200px;
  margin: 0.4rem 0 0;
  padding: 1.6rem 2rem;
  border: 1px solid var(--hairline);
  border-radius: 10px;
  color: rgba(246, 241, 232, 0.95);
  font-family: var(--font-meta);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  text-align: center;
  overflow: hidden;
  text-shadow: 0 1px 10px rgba(0, 0, 0, 0.55), 0 1px 2px rgba(0, 0, 0, 0.45);
}
/* QA refix iter=1 · M6 (+ M2) · real hero-photo section-break bands ───────────
   Root cause of the flagged M2/M6 fail lived in the deployed premium-v4/v5
   overrides (`main::before { content: none !important }` then
   `content: "◆ LATEST FEATURES ◆" !important; background: transparent }`),
   which erased the upper photo band and left only its inherited 200px rounded
   hairline frame with a label pinned at the top — the exact "label inside a
   large rounded empty frame" (M2) + "no strip between hero and journal grid"
   (M6) the reviewer saw. Those overrides are removed below. Now that the
   /theme-assets/premium-hero-strip-{1,2}.webp photos are deployed (HTTP 200,
   no longer 404), each band carries a REAL atmospheric closet-grow photo under
   a dark gradient overlay, with the uppercase tracked label centred in white —
   two genuine hero-photo strips at the two required positions (after the hero,
   before the archive tail), each a full-width grid row OUTSIDE every card frame.
   The base band rule above supplies grid-column:1/-1, min-height, radius,
   hairline and the label text-shadow that keeps the white label legible. */
main:not(:has(> h1))::before {
  content: "EN ORDEN DE ESCRITURA";
  order: 2;
  background:
    linear-gradient(180deg, rgba(28, 16, 6, 0.52) 0%, rgba(20, 11, 4, 0.64) 100%),
    url("/theme-assets/premium-hero-strip-1.webp") center 42% / cover no-repeat,
    #38220E;
}
main:not(:has(> h1)):has(> section)::after {
  content: "VER MÁS";
  order: 4;
  background:
    linear-gradient(180deg, rgba(28, 16, 6, 0.52) 0%, rgba(20, 11, 4, 0.64) 100%),
    url("/theme-assets/premium-hero-strip-2.webp") center 45% / cover no-repeat,
    #38220E;
}

/* Journal grid — quiet, consistent supporting cards */
main:not(:has(> h1)) > article:nth-of-type(n + 2) {
  display: flex;
  flex-direction: column;
  background: var(--paper-card);
  border: 1px solid var(--hairline);
  border-radius: 8px;
  box-shadow: 0 1px 4px rgba(46, 31, 16, 0.05);
  padding: 1.9rem 2rem;
  margin: 0;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
main:not(:has(> h1)) > article:nth-of-type(n + 2):hover {
  border-color: color-mix(in srgb, var(--color-accent) 45%, var(--hairline));
  box-shadow: 0 4px 14px rgba(46, 31, 16, 0.09);
}
main:not(:has(> h1)) > article:nth-of-type(n + 2) > p:first-of-type {
  order: -1;
  font-family: var(--font-meta);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--color-text-muted);
  margin: 0 0 0.55rem;
}
main:not(:has(> h1)) > article:nth-of-type(n + 2) > h2 {
  margin: 0;
  font-size: 1.28rem;
  line-height: 1.28;
}
main:not(:has(> h1)) > article:nth-of-type(n + 2) > h2 a {
  font-family: var(--font-heading);
  font-style: italic;
  font-weight: 600;
  color: var(--color-heading);
  text-decoration: none;
}
main:not(:has(> h1)) > article:nth-of-type(n + 2) > h2 a:hover { color: var(--color-accent); }
main:not(:has(> h1)) > article:nth-of-type(n + 2) > p:last-of-type {
  font-family: var(--font-body);
  font-size: 1rem;
  line-height: 1.6;
  color: var(--color-text);
  margin: 0.7rem 0 1.15rem;
  max-width: none;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
main:not(:has(> h1)) > article:nth-of-type(n + 2) > a {
  align-self: flex-start;
  margin-top: auto;
  font-size: 0;
  text-decoration: none;
}
main:not(:has(> h1)) > article:nth-of-type(n + 2) > a::after {
  content: "Leer la entrada →";
  font-family: var(--font-meta);
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color-accent);
}
main:not(:has(> h1)) > article:nth-of-type(n + 2) > a:hover::after {
  color: var(--color-link-hover);
  text-decoration: underline;
}

/* Archive tail (M7) — the bare title list becomes a compact magazine index of
   BOXED cells, not plain dotted rows. Each <li> is a cream card sharing the journal
   cards' paper tone, hairline border, radius, shadow, serif title and hover lift, so
   the bottom of the page reads as the same design system as the top. The section
   panel itself is transparent — the cells are the design; its label is provided by
   strip 2 (main::after) above it. Grid stretch keeps each row's cells equal height. */
main:not(:has(> h1)) > section:last-of-type {
  order: 5;
  grid-column: 1 / -1;
  margin: 0.4rem 0 0;
  background: none;
  border: none;
  border-radius: 0;
  box-shadow: none;
  padding: 0;
  overflow: visible;
}
main:not(:has(> h1)) > section:last-of-type ul {
  list-style: none;
  padding: 0;
  margin: 0;
  max-width: none;
  columns: auto;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px 16px;
  align-items: stretch;
}
main:not(:has(> h1)) > section:last-of-type li {
  break-inside: auto;
  margin: 0;
  padding: 1.15rem 1.25rem;
  background: var(--paper-card);
  border: 1px solid var(--hairline);
  border-radius: 8px;
  box-shadow: 0 1px 4px rgba(46, 31, 16, 0.05);
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}
main:not(:has(> h1)) > section:last-of-type li:hover {
  border-color: color-mix(in srgb, var(--color-accent) 45%, var(--hairline));
  box-shadow: 0 4px 14px rgba(46, 31, 16, 0.09);
  transform: translateY(-2px);
}
main:not(:has(> h1)) > section:last-of-type a {
  display: block;
  font-family: var(--font-heading);
  font-style: italic;
  font-weight: 600;
  font-size: 1rem;
  line-height: 1.35;
  color: var(--color-primary);
  text-decoration: none;
}
main:not(:has(> h1)) > section:last-of-type a:hover { color: var(--color-accent); }

/* ─── Article page: display title, spore dinkus, related index ── */
main:has(> h1) > h1:first-of-type {
  font-family: var(--font-heading);
  font-style: italic;
  font-weight: 600;
  font-size: clamp(2rem, 4.6vw, 2.75rem);
  line-height: 1.14;
  color: var(--color-heading);
  margin: 0 0 0.4rem;
}
main:has(> h1) > time {
  font-family: var(--font-meta);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--color-text-muted);
}
/* S6 — persona anchor: extend the date-only meta line with a byline + location so
   article pages carry Malena's voice, not a bare date. Pure ::after text (no DOM),
   accurate for every entry since she is the sole author. */
main:has(> h1) > time::after {
  content: " · Por Malena Recalde · Rosario";
  color: var(--color-accent);
}
main:has(> h1) > article > p:first-of-type::first-letter {
  float: left;
  font-family: var(--font-heading);
  font-style: italic;
  font-weight: 600;
  font-size: 3.2em;
  line-height: 0.82;
  padding: 0.04em 0.13em 0 0;
  color: var(--color-primary);
}
main:has(> h1) > article > h2::before {
  content: "❋";
  display: block;
  text-align: center;
  color: var(--color-accent);
  font-size: 1.1rem;
  letter-spacing: 0.5em;
  font-style: normal;
  margin: 1.5rem 0 1rem;
}
main:has(> h1) > section:last-of-type {
  margin-top: 3rem;
  background: var(--paper-index);
  border: 1px solid var(--hairline);
  border-radius: 10px;
  box-shadow: 0 1px 4px rgba(46, 31, 16, 0.05);
  padding: 1.6rem 2rem 1.8rem;
}
main:has(> h1) > section:last-of-type h3 {
  margin: 0 0 1rem;
  font-family: var(--font-meta);
  font-style: normal;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--color-primary);
  border-bottom: 1px solid var(--hairline);
  padding-bottom: 0.7rem;
}
main:has(> h1) > section:last-of-type ul {
  list-style: none;
  padding: 0;
  margin: 0;
  max-width: none;
}
main:has(> h1) > section:last-of-type li {
  margin: 0;
  padding: 0.6rem 0;
  border-bottom: 1px dotted rgba(46, 31, 16, 0.16);
}
main:has(> h1) > section:last-of-type li:last-child { border-bottom: none; }
main:has(> h1) > section:last-of-type a {
  font-family: var(--font-heading);
  font-style: italic;
  font-size: 1.02rem;
  line-height: 1.35;
  color: var(--color-primary);
  text-decoration: none;
}
main:has(> h1) > section:last-of-type a:hover { color: var(--color-accent); }

/* ─── Responsive: collapse the journal grid + bands on small screens ── */
@media (max-width: 680px) {
  main:not(:has(> h1)):first-of-type {
    grid-template-columns: 1fr;
    gap: 1.6rem;
    padding-top: 2rem;
  }
  main:not(:has(> h1)) > article:first-of-type { padding: 2.1rem 2rem 2.2rem; }
  main:not(:has(> h1)) > article:nth-of-type(n + 2) { padding: 1.5rem 2rem; }
  main:not(:has(> h1))::before,
  main:not(:has(> h1)):has(> section)::after {
    min-height: 150px;
    padding: 1.3rem 1.5rem;
    letter-spacing: 0.22em;
  }
  main:not(:has(> h1)) > section:last-of-type { padding: 0; }
  main:not(:has(> h1)) > section:last-of-type ul { grid-template-columns: 1fr; }
}

/* QA refix iter=1 (repair) · M10 · affiliate CTA pill — hardened selector ─────
   Promote every affiliate anchor in an article body to a filled shiitake-brown
   pill with a cream label — an unmistakable button, not prose. The [href*=]
   attribute lifts specificity to (0,1,x), beating the base theme's obfuscated
   .css-* body-link rule without a class selector or !important. The match list
   now covers ALL affiliate URL shapes the site uses (aff_link_format=
   worker_redirect · template /go/{slug} · network hotmart) plus the other
   editorial-standard affiliate prefixes (/try/ /ref/ /out/), so any real
   affiliate anchor renders as a pill regardless of which article carries it.
   The es.wikipedia.org references and internal .html/nav links do NOT contain
   any of these substrings, so they stay as plain prose links — preserving
   M10's prose-vs-CTA differentiation and the site's disclosure rule that
   non-affiliate links are left unmarked.
   KNOWN GAP (not fixable in CSS): the two currently reviewed pages
   (author.html + cultivo-girgolas, sell_intensity "none") contain NO affiliate
   anchor in their rendered DOM at all — only non-affiliate Wikipedia refs. No
   stylesheet can synthesise a pill where no affiliate link exists; that missing
   CTA is a content-pipeline gap (the article body needs a real /go/{slug}
   anchor injected), not a stylesheet defect. */
main:has(> h1) a[href*="/go/"],
main:has(> h1) a[href*="/try/"],
main:has(> h1) a[href*="/ref/"],
main:has(> h1) a[href*="/out/"],
main:has(> h1) a[href*="hotmart"] {
  display: inline-block;
  margin: 0.45em 0;
  padding: 0.64em 1.35em;
  background: var(--color-primary);
  border: 1px solid var(--color-primary);
  border-radius: 999px;
  color: #F6F1E8;
  font-family: var(--font-meta);
  font-size: 0.92rem;
  font-weight: 700;
  letter-spacing: 0.015em;
  line-height: 1.3;
  text-decoration: none;
  box-shadow: 0 1px 4px rgba(46, 31, 16, 0.16);
  transition: background 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}
main:has(> h1) a[href*="/go/"]:hover,
main:has(> h1) a[href*="/try/"]:hover,
main:has(> h1) a[href*="/ref/"]:hover,
main:has(> h1) a[href*="/out/"]:hover,
main:has(> h1) a[href*="hotmart"]:hover {
  background: color-mix(in srgb, var(--color-primary) 82%, var(--color-accent));
  border-color: color-mix(in srgb, var(--color-primary) 82%, var(--color-accent));
  color: #F6F1E8;
  box-shadow: 0 4px 12px rgba(46, 31, 16, 0.22);
  transform: translateY(-1px);
  text-decoration: none;
}

/* Related-articles nav — breathing space + inline link margin (universal fix) */
:root main > section p {
  line-height: 1.85;
  margin: 0;
}
:root main > section a {
  display: inline-block;
  margin: 0 4px;
  padding: 0 2px;
}


/* mobile-overflow-fix v1 */
:root html, :root body { overflow-x: hidden; max-width: 100%; }
@media (max-width: 920px) {
  :root main > * { max-width: 100%; }
  :root main { overflow-x: hidden; }
}


/* mobile-overflow-fix v2 */
@media (max-width: 640px) {
  :root main,
  :root main > article,
  :root main > div,
  :root main > section,
  :root main > nav {
    box-sizing: border-box;
    max-width: 100%;
    width: 100%;
  }
  :root main > article > *,
  :root main > div > *,
  :root main > section > *,
  :root main > nav > * {
    max-width: 100%;
  }
  :root main h1,
  :root main h2,
  :root main h3,
  :root main h4 {
    overflow-wrap: break-word;
    word-break: normal;
  }
  /* Any 3+ col grid inside main → 1 col on mobile */
  :root main :is(ul, ol, section, div, nav)[style*="grid-template-columns"],
  :root main > section > ul,
  :root main > nav > ul,
  :root main > div > ul {
    grid-template-columns: 1fr !important;
  }
  /* Any CSS multi-column layout → 1 col on mobile */
  :root main :is(ul, ol, section, div, p) {
    columns: 1;
  }
  /* Article body images stay inside viewport */
  :root main img,
  :root main figure {
    max-width: 100%;
    height: auto;
  }
}


/* mobile-padding-fix v1 */
@media (max-width: 640px) {
  :root main {
    padding-left: 20px;
    padding-right: 20px;
  }
}


/* premium-upgrade v1 */
/* premium editorial upgrade — style=NYT-Cooking-warm overlay=55% grid=asymmetric scale=balanced family=articles-section */

/* ── QA refix iter=1 (M6): premium-v1's `> section` padding-top:260px + its
   `::before` photo strip removed. That strip (theme-asset 404 → a faint bottom-
   fade gradient over nothing) rendered a SECOND, LABEL-LESS band directly below
   the "VER MÁS" ::after band near the archive tail — the exact M6 fail the
   reviewer flagged (a photo strip with no centred uppercase overlay label). The
   homepage's two qualifying bands are the ::before ("EN ORDEN DE ESCRITURA")
   and ::after ("VER MÁS"); this third bare strip was redundant. The archive
   <section> keeps its full-row span via the `> section:last-of-type`
   grid-column:1/-1 rule above. */


/* ── CARD 1: featured full-row with 300px photo header (via card-own background, NOT ::before —
    leaves ::before free for existing site's M2 label / meta content). ── */
:root main:not(:has(> h1)) > article:nth-of-type(1) {
  grid-column: 1 / -1;
  position: relative;      /* anchor for existing site's ::before label if it uses absolute */
  overflow: visible;       /* let above-card labels render without clipping */
  padding: 320px 44px 40px !important;
  border-radius: 8px;
  background:
    url("/theme-assets/premium-hero-card-1.webp") no-repeat center top / 100% 300px,
    var(--bg) !important;
  margin-top: 60px !important;  /* room for above-card M2 label (existing site convention) */
}

/* ── CARDS 2-4: medium with 180px photo header (background technique, ::before untouched) ── */
:root main:not(:has(> h1)) > article:nth-of-type(2) {
  padding: 200px 32px 32px !important;
  border-radius: 8px;
  background:
    url("/theme-assets/premium-hero-card-2.webp") no-repeat center top / 100% 180px,
    var(--bg) !important;
}
:root main:not(:has(> h1)) > article:nth-of-type(3) {
  padding: 200px 32px 32px !important;
  border-radius: 8px;
  background:
    url("/theme-assets/premium-hero-card-3.webp") no-repeat center top / 100% 180px,
    var(--bg) !important;
}
:root main:not(:has(> h1)) > article:nth-of-type(4) {
  padding: 200px 32px 32px !important;
  border-radius: 8px;
  background:
    url("/theme-assets/premium-hero-card-4.webp") no-repeat center top / 100% 180px,
    var(--bg) !important;
}

/* ── Article page: drop cap + dinkus dividers ── */
:root main:has(> h1) > article > p:first-of-type::first-letter {
  font-family: var(--fh), Georgia, serif;
  font-size: 76px; line-height: 0.9; color: var(--primary);
  float: left; margin: 6px 12px 0 0; padding: 0; font-weight: 400;
}
:root main:has(> h1) > article > h2 + p ~ h2::before {
  content: "✦ ✦ ✦";
  display: block; text-align: center; color: var(--accent);
  font-size: 12px; letter-spacing: 0.3em; margin-bottom: 24px;
  font-weight: 400;
}

/* ── Mobile responsive: adjust photo heights via background-size on the card itself ── */
@media (max-width: 720px) {
  :root main:not(:has(> h1)) > article:nth-of-type(1) {
    padding: 240px 22px 28px !important;
    background:
      url("/theme-assets/premium-hero-card-1.webp") no-repeat center top / 100% 220px,
      var(--bg) !important;
  }
  :root main:not(:has(> h1)) > article:nth-of-type(2) {
    padding: 180px 22px 26px !important;
    background:
      url("/theme-assets/premium-hero-card-2.webp") no-repeat center top / 100% 160px,
      var(--bg) !important;
  }
  :root main:not(:has(> h1)) > article:nth-of-type(3) {
    padding: 180px 22px 26px !important;
    background:
      url("/theme-assets/premium-hero-card-3.webp") no-repeat center top / 100% 160px,
      var(--bg) !important;
  }
  :root main:not(:has(> h1)) > article:nth-of-type(4) {
    padding: 180px 22px 26px !important;
    background:
      url("/theme-assets/premium-hero-card-4.webp") no-repeat center top / 100% 160px,
      var(--bg) !important;
  }
  :root main:not(:has(> h1))::before,
  :root main:not(:has(> h1))::after { min-height: 240px; }
  :root main:has(> h1) > article > p:first-of-type::first-letter { font-size: 60px; }
}


/* premium-upgrade v4 */
/* premium-upgrade v4 — surgical bundle. Applied 2026-08-30.
   Fixes: M10 CTA / M11 dinkus leak / M4 heights / M9 typography / M5 frames.
   Kills v2 "LATEST" label (proven counterproductive from v2 diagnosis). */

/* ── QA refix iter=1 (M6): v4's `::before { content: none }` removed. The
   homepage ::before IS the M6 position-1 photo band ("EN ORDEN DE ESCRITURA");
   killing its content deleted the required section-break band between the hero
   and the journal grid. Restored so the band renders again. ── */

/* ── M10: affiliate CTA visibility on article body ── */
:root main:has(> h1) a[href^="/try/"],
:root main:has(> h1) a[href^="/ref/"],
:root main:has(> h1) a[href^="/go/"],
:root main:has(> h1) a[href^="/out/"],
:root main:has(> h1) a[href^="/check/"],
:root main:has(> h1) a[href^="/view/"],
:root main:has(> h1) a[href*="hotmart.com"],
:root main:has(> h1) a[href*="digistore24"],
:root main:has(> h1) a[href*="clickbank"] {
  display: inline-block !important;
  background: var(--primary) !important;
  color: var(--bg) !important;
  padding: 6px 14px !important;
  border-radius: 4px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  letter-spacing: 0.02em !important;
}

/* ── M11: prevent dinkus leaking onto article page's first h2 ── */
:root main:has(> h1) > article > h2:first-of-type::before {
  content: none !important;
}

/* ── M4: force equal-height cards via grid stretch + card fill ── */
:root main:not(:has(> h1)) > div:has(> div) {
  align-items: stretch !important;
}
:root main:not(:has(> h1)) > div:has(> div) > div {
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
}
:root main:not(:has(> h1)) > div > article {
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
}
/* also for flat-divs family */
:root main:not(:has(> h1)) > div {
  height: 100% !important;
}

/* ── M9: cap small-title weight so Bebas/Anton counters don't fill in ── */
:root main:not(:has(> h1)) > div > div > h2,
:root main:not(:has(> h1)) > div > div > h2 a,
:root main:not(:has(> h1)) > section > ul > li > a,
:root main:not(:has(> h1)) > div > p > a {
  font-weight: 500 !important;
}

/* ── M5: universal soft frame fallback for card-like elements ── */
:root main:not(:has(> h1)) > div > div,
:root main:not(:has(> h1)) > div > article,
:root main:not(:has(> h1)) > article {
  border-radius: 8px !important;
  box-shadow: 0 1px 2px rgba(0,0,0,0.04), 0 8px 24px rgba(0,0,0,0.05) !important;
}


/* premium-upgrade v5 */
/* premium-upgrade v5 — big M2 band + wider M10 CTA net + M8 breathing. 2026-08-31. */

/* ── QA refix iter=1 (M2 + M6): v5's "◆ LATEST FEATURES ◆" ::before override
   removed. It re-purposed the M6 position-1 photo-band slot as a transparent box
   that still inherited the band rule's min-height:200px + border-radius:10px +
   left/right hairline border (lines above) and added a 3px top border, so the
   label rendered as a large empty outlined frame with the text pinned to the top
   (M2 fail) AND erased the photo band before the journal grid (M6 fail).
   Reverting restores the original full-width "EN ORDEN DE ESCRITURA" band, which
   serves as BOTH the M6 section-break strip and the journal row's full-width
   uppercase section label (outside every card frame). ── */

/* ── M10: broaden CTA net (Amazon, aff/ path, [target=_blank] product-shaped) ── */
:root main:has(> h1) a[href^="/try/"],
:root main:has(> h1) a[href^="/ref/"],
:root main:has(> h1) a[href^="/go/"],
:root main:has(> h1) a[href^="/out/"],
:root main:has(> h1) a[href^="/check/"],
:root main:has(> h1) a[href^="/view/"],
:root main:has(> h1) a[href^="/aff/"],
:root main:has(> h1) a[href^="/product/"],
:root main:has(> h1) a[href*="hotmart.com"],
:root main:has(> h1) a[href*="digistore24"],
:root main:has(> h1) a[href*="clickbank"],
:root main:has(> h1) a[href*="amazon."],
:root main:has(> h1) a[href*="/track/"],
:root main:has(> h1) a[href*="/link/"],
:root main:has(> h1) a[href*="lstrk.net"],
:root main:has(> h1) a[href*="thrivecart"] {
  display: inline-block !important;
  background: var(--primary) !important;
  color: var(--bg) !important;
  padding: 8px 18px !important;
  border-radius: 5px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  letter-spacing: 0.02em !important;
  margin: 4px 2px !important;
}

/* ── M8: article body breathing ── */
:root main:has(> h1) > article > p {
  line-height: 1.8 !important;
  margin-bottom: 20px !important;
}
:root main:has(> h1) > article > h2 {
  margin-top: 48px !important;
  margin-bottom: 18px !important;
}
:root main:not(:has(> h1)) > div:has(> div) {
  gap: 40px 32px !important;
}

