*{margin:0;padding:0;box-sizing:border-box}
body{font-family:Georgia,'Times New Roman',serif;line-height:1.8;color:#222;background:#f4f1eb}
.Nav_foot__OSqAf{max-width:1100px;margin:0 auto;padding:0 24px}
.Footer_text__zyXY6{background:linear-gradient(135deg,#2c3e50,#34495e);color:#fff;padding:48px 0;text-align:center;margin-bottom:48px}
.Footer_text__zyXY6 h1{font-size:36px;letter-spacing:2px;text-transform:uppercase;margin-bottom:6px}
.Footer_text__zyXY6 p{font-size:16px;opacity:.8;font-style:italic}
.Footer_text__zyXY6 .Container_head__3xyBZ{color:#fff;text-decoration:none;font-size:20px;letter-spacing:1px;text-transform:uppercase}
.Grid_text__aWfxT{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:28px}
.Page_box__2O6t7{background:#fff;border-radius:4px;box-shadow:0 2px 12px rgba(0,0,0,.08);padding:28px;transition:box-shadow .2s}
.Page_box__2O6t7:hover{box-shadow:0 4px 20px rgba(0,0,0,.14)}
.Page_box__2O6t7 h2{font-size:22px;margin-bottom:10px;line-height:1.3}
.Page_box__2O6t7 h2 a{color:#2c3e50;text-decoration:none}
.Page_box__2O6t7 .Nav_title__iODDu{font-size:12px;color:#888;margin-bottom:10px;text-transform:uppercase;letter-spacing:1px}
.Page_box__2O6t7 p{font-size:15px;color:#555;margin-bottom:14px}
.Hero_area__O2HpQ{color:#e74c3c;text-decoration:none;font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.5px}
.Hero_main__iu7yh{max-width:780px;margin:0 auto;padding:0 24px 60px}
.Hero_main__iu7yh h1{font-size:36px;margin-bottom:10px;line-height:1.2}
.Hero_main__iu7yh .Nav_title__iODDu{font-size:13px;color:#888;display:block;margin-bottom:28px;text-transform:uppercase;letter-spacing:1px}
.Hero_main__iu7yh h2{font-size:24px;margin:36px 0 14px}
.Hero_main__iu7yh h3{font-size:19px;margin:28px 0 10px}
.Hero_main__iu7yh p{margin-bottom:18px;font-size:17px}
.Hero_main__iu7yh ul,.Hero_main__iu7yh ol{margin:0 0 18px 28px}
.Hero_main__iu7yh a{color:#e74c3c}
.Hero_main__iu7yh img{max-width:100%;height:auto;border-radius:4px;margin:20px 0}
.Post_inner__D2jB5{border-top:2px solid #ddd;padding:28px 0;margin-top:48px;text-align:center;font-size:13px;color:#888}
.Post_inner__D2jB5 a{color:#888}
.Container_row__c969k{border-top:1px solid #ccc;border-bottom:1px solid #ccc;padding:14px 0;margin-bottom:28px;font-size:14px;color:#888;font-style:italic;text-align:center}
.Article_area__ZEnHD{background:#f9f3e3;padding:16px 20px;margin-top:28px;font-size:13px;color:#7a6230;border-radius:4px}
.Header_text__9D4Dh{font-size:11px;color:#888;margin:-22px 0 28px;text-transform:uppercase;letter-spacing:1.5px}
.Post_content__tVJuO{margin:0 0 28px}
.Wrapper_title__th222{width:100%;height:auto;border-radius:4px}
.Post_row__ZLLUf{border-top:2px solid #ddd;margin-top:40px;padding-top:24px}
.Post_row__ZLLUf h4{font-size:16px;text-transform:uppercase;letter-spacing:1px;margin-bottom:16px;color:#888}
.mag-related-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.mag-related-item a{color:#2c3e50;text-decoration:none;font-size:15px}
.mag-related-item a:hover{color:#e74c3c}
.Hero_root__HvthA{background:#fff;border-radius:4px;box-shadow:0 2px 12px rgba(0,0,0,.08);padding:22px 28px;margin-top:28px}
.Hero_root__HvthA p{font-size:15px;padding:4px 0;margin:0}
.Hero_root__HvthA .Nav_title__iODDu{margin:0 8px 0 0;display:inline}
.Hero_root__HvthA a{color:#2c3e50;text-decoration:none}
.Hero_root__HvthA a:hover{color:#e74c3c}
/* === Theme === */
@import url('https://fonts.googleapis.com/css2?family=Lora:wght@400;500;600;700&family=Cinzel:wght@400;700&display=swap');
body{font-family:'Lora',sans-serif;color:#1A1A1A;background:#F9F7FC}
.Footer_text__zyXY6{background:#2D1B4E;color:#fff}
.Footer_text__zyXY6 h1{font-family:'Cinzel',serif;color:#fff}
.Footer_text__zyXY6 p{color:rgba(255,255,255,.75)}
.Footer_text__zyXY6 a{color:#fff;text-decoration:none}
.card h2{font-family:'Cinzel',serif}
.card h2 a{color:#2D1B4E}
.card h2 a:hover{color:#C5A059}
.read-more{color:#C5A059}
.article-content h1{font-family:'Cinzel',serif}
.article-content h2{font-family:'Cinzel',serif}
.article-content a{color:#C5A059}
.article-content img{border-radius:8px}
.affiliate-disclosure{border-radius:8px}
.ymyl-disclaimer{border-radius:8px}
/* === Custom === */
/* tr-tarot-es — magazine template
   Beatriz Mondragon: translator, four-year Tarot de Marsella practice, reviews Hotmart/Udemy courses
   Palette: ink-charcoal #2A2420 (archive ledger) + oxblood #A63D2E (red-pen edit) on parchment #F7F1E4 */

@import url('https://fonts.googleapis.com/css2?family=Crimson+Pro:ital,wght@0,400;0,500;0,600;0,700;1,400&family=Public+Sans:wght@400;500;600;700&display=swap');

/* ─── Design tokens ─── */
:root {
  --color-primary:        #2A2420;
  --color-primary-dark:   #16120F;
  --color-primary-light:  #E8E1D3;
  --color-accent:         #A63D2E;
  --color-accent-dark:    #7C2D21;
  --color-accent-light:   #F0D9CE;
  --color-bg:             #F7F1E4;
  --color-bg-alt:         #EFE6D2;
  --color-surface:        #FFFBF2;
  --color-text:           #241F1B;
  --color-text-secondary: #4E453C;
  --color-text-muted:     #7A6F62;
  --color-border:         #DDD0B0;
  --color-border-light:   #EAE1CB;
  --color-highlight:      #EFE6D2;
  --color-nav-bg:         #16120F;
  --color-nav-text:       #F3ECDD;
  --color-link:           #3A2E26;
  --color-link-hover:     #A63D2E;
  --color-moment:         #8C4A00;
  --font-heading:         'Crimson Pro', Georgia, serif;
  --font-body:            'Public Sans', system-ui, sans-serif;
  --font-size-base:       17px;
  --font-size-sm:         15px;
  --font-size-lg:         19px;
  --font-size-xl:         22px;
  --font-size-2xl:        28px;
  --font-size-3xl:        36px;
  --lh-body:              1.7;
  --lh-heading:           1.22;
  --radius:               4px;
  --sp:                   8px;
  --max-prose:            68ch;
  --max-content:          1180px;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

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

body {
  font-family: var(--font-body);
  font-size: var(--font-size-base);
  line-height: var(--lh-body);
  color: var(--color-text);
  background-color: var(--color-bg);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* ─── Headings ─── */
:root h1, :root h2, :root h3, :root h4, :root h5, :root h6 {
  font-family: var(--font-heading);
  font-weight: 700;
  line-height: var(--lh-heading);
  color: var(--color-primary);
  letter-spacing: -0.005em;
}

:root h1 { font-size: clamp(1.7rem, 4vw, 2.35rem);   margin-bottom: calc(var(--sp) * 2); font-weight: 700; }
:root h2 { font-size: clamp(1.3rem, 3vw, 1.8rem);    margin-top: calc(var(--sp) * 4); margin-bottom: calc(var(--sp) * 1.5); }
:root h3 { font-size: clamp(1.1rem, 2.5vw, 1.4rem);  margin-top: calc(var(--sp) * 3); margin-bottom: var(--sp); font-weight: 600; }
:root h4 { font-size: 1.1rem; font-weight: 600;      margin-top: calc(var(--sp) * 2); margin-bottom: var(--sp); }

/* ─── Body text ─── */
:root p {
  max-width: var(--max-prose);
  margin-bottom: calc(var(--sp) * 2);
  color: var(--color-text);
}

:root a {
  color: var(--color-link);
  text-decoration-color: color-mix(in srgb, var(--color-link) 45%, transparent);
  text-underline-offset: 3px;
  transition: color 0.15s ease, text-decoration-color 0.15s ease;
}
:root a:hover {
  color: var(--color-link-hover);
  text-decoration-color: var(--color-link-hover);
}

/* ─── Lists ─── */
:root ul, :root ol {
  max-width: var(--max-prose);
  padding-left: calc(var(--sp) * 3);
  margin-bottom: calc(var(--sp) * 2);
}
:root li                { margin-bottom: calc(var(--sp) * 0.75); line-height: var(--lh-body); }
:root ul li::marker     { color: var(--color-accent); }
:root ol li::marker     { color: var(--color-primary); font-weight: 700; font-family: var(--font-heading); }
:root li ul, :root li ol { margin-top: var(--sp); margin-bottom: 0; }

/* ─── Blockquote ─── */
:root blockquote {
  max-width: var(--max-prose);
  margin: calc(var(--sp) * 3) 0;
  padding: calc(var(--sp) * 2) calc(var(--sp) * 3);
  border-left: 3px solid var(--color-accent);
  background-color: var(--color-highlight);
  border-radius: 0 var(--radius) var(--radius) 0;
  font-style: italic;
  color: var(--color-text-secondary);
}
:root blockquote p      { margin-bottom: 0; }
:root blockquote strong { color: var(--color-primary); font-style: normal; }
:root blockquote cite {
  display: block;
  margin-top: var(--sp);
  font-size: var(--font-size-sm);
  font-style: normal;
  color: var(--color-text-muted);
}

/* ─── Media ─── */
:root img { max-width: 100%; height: auto; border-radius: var(--radius); display: block; }
:root hr  { border: none; border-top: 1px solid var(--color-border); margin: calc(var(--sp) * 4) 0; }

/* ─── Magazine header ─── */
:root .Footer_text__zyXY6 {
  background-color: var(--color-nav-bg);
  color: var(--color-nav-text);
  padding: calc(var(--sp) * 3) calc(var(--sp) * 2);
}
:root .Footer_text__zyXY6 a       { color: var(--color-nav-text); text-decoration: none; }
:root .Footer_text__zyXY6 a:hover { color: var(--color-accent-light); }
:root .Footer_text__zyXY6 .site-title {
  font-family: var(--font-heading);
  font-size: clamp(1.5rem, 4vw, 2.15rem);
  font-weight: 700;
  letter-spacing: 0.01em;
  color: var(--color-nav-text);
}
:root .Footer_text__zyXY6 .site-tagline {
  font-size: var(--font-size-sm);
  font-style: italic;
  font-family: var(--font-heading);
  color: color-mix(in srgb, var(--color-nav-text) 62%, transparent);
  margin-top: calc(var(--sp) * 0.5);
}

/* ─── Navigation ─── */
:root .mag-nav { background-color: var(--color-primary); }
:root .mag-nav ul {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  max-width: var(--max-content);
  margin-inline: auto;
  padding-inline: calc(var(--sp) * 2);
}
:root .mag-nav li         { margin: 0; }
:root .mag-nav li::marker { color: transparent; }
:root .mag-nav a {
  display: block;
  padding: calc(var(--sp) * 1.25) calc(var(--sp) * 2);
  color: rgba(243, 236, 221, 0.85);
  text-decoration: none;
  font-family: var(--font-body);
  font-size: var(--font-size-sm);
  font-weight: 600;
  letter-spacing: 0.04em;
}
:root .mag-nav a:hover {
  color: #fff;
  background-color: rgba(255, 255, 255, 0.08);
}

/* ─── Layout ─── */
:root .mag-container { max-width: var(--max-content); margin-inline: auto; padding-inline: calc(var(--sp) * 2); }
:root .mag-main       { padding-block: calc(var(--sp) * 5); }

/* ─── Cards ─── */
:root .card {
  background-color: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-height: 280px;
  transition: box-shadow 0.2s ease, border-color 0.2s ease;
}
:root .card:hover {
  box-shadow: 0 4px 18px rgba(42, 36, 32, 0.1);
  border-color: color-mix(in srgb, var(--color-border) 45%, var(--color-primary));
}
:root .card h2         { font-size: 1.2rem; margin: 0 0 var(--sp); font-weight: 700; }
:root .card h2 a       { color: var(--color-primary); text-decoration: none; }
:root .card h2 a:hover { color: var(--color-accent); }
:root .card-body       { padding: calc(var(--sp) * 2.5); flex: 1; display: flex; flex-direction: column; }
:root .card-meta       { font-size: var(--font-size-sm); font-family: var(--font-body); color: var(--color-text-muted); margin-bottom: var(--sp); letter-spacing: 0.02em; }
:root .card-excerpt    { font-size: var(--font-size-sm); line-height: 1.6; max-width: 100%; margin-bottom: 0; }

/* ─── Read more link ─── */
:root .read-more {
  display: block;
  margin-top: auto;
  padding-top: calc(var(--sp) * 1.5);
  font-family: var(--font-body);
  font-size: var(--font-size-sm);
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--color-accent);
  text-decoration: none;
}
:root .read-more:hover { color: var(--color-accent-dark); text-decoration: underline; }

/* ─── Article content ─── */
:root .article-content         { max-width: var(--max-prose); }
:root .article-content h2      { border-bottom: 1px solid var(--color-border); padding-bottom: calc(var(--sp) * 0.75); }
:root .article-content a       { color: var(--color-link); }
:root .article-content a:hover { color: var(--color-link-hover); }
:root .article-content img     { border-radius: var(--radius); }
:root .article-content > p:first-child {
  font-size: 1.05rem;
  color: var(--color-text-secondary);
  line-height: 1.78;
}
:root .article-meta {
  font-family: var(--font-body);
  font-size: var(--font-size-sm);
  color: var(--color-text-muted);
  margin-bottom: calc(var(--sp) * 4);
  padding-bottom: calc(var(--sp) * 2);
  border-bottom: 1px solid var(--color-border);
  letter-spacing: 0.02em;
}
:root .article-meta .author { font-weight: 700; color: var(--color-primary); }

/* ─── Tags ─── */
:root .tag {
  display: inline-block;
  padding: calc(var(--sp) * 0.5) calc(var(--sp) * 1.25);
  background-color: var(--color-primary-light);
  color: var(--color-primary);
  border-radius: var(--radius);
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  text-decoration: none;
}
:root .tag:hover { background-color: var(--color-primary); color: #fff; text-decoration: none; }

/* ─── Footer ─── */
:root .Post_inner__D2jB5 {
  background-color: var(--color-nav-bg);
  color: color-mix(in srgb, var(--color-nav-text) 65%, transparent);
  padding: calc(var(--sp) * 5) calc(var(--sp) * 2);
  font-family: var(--font-body);
  font-size: var(--font-size-sm);
  margin-top: calc(var(--sp) * 6);
}
:root .Post_inner__D2jB5 a       { color: color-mix(in srgb, var(--color-nav-text) 75%, transparent); text-decoration: none; }
:root .Post_inner__D2jB5 a:hover { color: var(--color-accent-light); text-decoration: underline; }

/* ─── Responsive ─── */
@media (max-width: 680px) {
  :root             { --font-size-base: 16px; }
  :root .Footer_text__zyXY6 { padding: calc(var(--sp) * 2) var(--sp); }
  :root .mag-main   { padding-block: calc(var(--sp) * 3); }
  :root .card-body  { padding: calc(var(--sp) * 2); }
}

/* === R2 fixes (2026-07-10T13:40:30.269217+00:00) === */

/* Fix 1: on the homepage the site title/tagline are the real h1/p, nested
   inside <nav><div><h1>/<p>, so they inherited the global ink-charcoal
   ":root h1" color onto the dark nav background — unreadable. */
:root body > nav h1,
:root body > nav p {
  color: var(--color-nav-text);
}

/* Fix 2: homepage listing cards (each a div.Page_box__2O6t7 with a date p,
   an h2 > a title, an unclassed excerpt p, and a "Continue Reading" a)
   sit outside the .card/.read-more scope this file defines and fall back
   to a generic slate blue. Match the warm palette already used in articles. */
:root .Page_box__2O6t7 h2 a {
  color: var(--color-primary);
}
:root .Page_box__2O6t7 h2 a:hover {
  color: var(--color-accent);
}
:root .Page_box__2O6t7 h2 + p {
  color: var(--color-text);
}
:root .Page_box__2O6t7 a.Hero_area__O2HpQ {
  color: var(--color-accent);
}
:root .Page_box__2O6t7 a.Hero_area__O2HpQ:hover {
  color: var(--color-accent-dark);
}

/* Fix 3: affiliate course links get a quiet underline-free border instead
   of sharing the same underline as internal/reference links, so a paying
   link reads apart from a free one without icons or boxes. */
:root a[href^="/pick/"] {
  border-bottom: 1px solid var(--color-accent);
  text-decoration: none;
}
:root a[href^="/pick/"]:hover {
  border-bottom-color: var(--color-accent-dark);
}

/* Fix 4: homepage card date (p.Nav_title__iODDu) rendered a cold neutral
   grey outside the site palette. */
:root p.Nav_title__iODDu {
  color: var(--color-text-muted);
}

/* === R3 fixes (2026-07-10T14:40:21.037718+00:00) === */

/* Fix 1: affiliate course links (a[href^="/pick/"]) shared the same font
   weight as body text and reference links, so at a quick glance both read
   as "the same family of red." Bumping weight makes the paid link register
   before the reader even isolates the exact color/underline treatment. */
:root a[href^="/pick/"] {
  font-weight: 600;
}

/* v.dda4f0 — layout revision */
/* Editorial signature pass. Live build serves a stale legacy theme: blue
   masthead (.Footer_text), white cards (.Page_box) + white tail (.Hero_root),
   red "Continue Reading" (.Hero_area). All beaten here on structural
   specificity. Homepage rebuilt as hero → single Editor's Pick → dated journal
   grid → full-width archive tail, with two dark section-break strips. Accent
   oxblood spent sparingly; the #8C4A00 moment lives ONLY in the two drop caps
   (home hero + article lede). Homepage/article scoped via :has(> article). */

/* ─────────── Masthead: ink band + italic wordmark + manifesto ─────────── */
:root body > nav {
  background:
    linear-gradient(rgba(16,12,10,.82), rgba(16,12,10,.93)),
    url("/theme-assets/front-image.jpg") center/cover no-repeat,
    #16120F;
  padding: clamp(46px, 7vw, 78px) 24px clamp(38px, 6vw, 62px);
  text-align: center;
  margin-bottom: clamp(48px, 7vw, 84px);
  border-bottom: 2px solid var(--color-accent);
}
:root body > nav > div { max-width: 760px; }
:root body > nav > div::before {
  content: "El fichero de cursos de tarot · Alcalá de Henares";
  display: block;
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .26em;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--color-accent-light) 82%, #fff);
  margin-bottom: 16px;
}
:root body > nav h1 {
  font-family: var(--font-heading);
  font-style: italic;
  font-weight: 600;
  font-size: clamp(2.3rem, 6.5vw, 3.6rem);
  line-height: 1.05;
  letter-spacing: .005em;
  color: var(--color-nav-text);
}
:root body > nav p {
  max-width: 56ch;
  margin: 16px auto 0;
  font-family: var(--font-heading);
  font-style: italic;
  font-size: clamp(1rem, 2.1vw, 1.16rem);
  line-height: 1.55;
  color: color-mix(in srgb, var(--color-nav-text) 78%, transparent);
}

/* ─────────── Homepage container + card grid ─────────── */
:root main:not(:has(> article)) {
  display: block;
  padding-bottom: clamp(56px, 8vw, 96px);
}
:root main:not(:has(> article)) > div:first-of-type {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 44px 34px;
  align-items: stretch;
  counter-reset: arc;
}
/* RULE B: hero section label — full row, above the feed, on the PARENT grid */
:root main:not(:has(> article)) > div:first-of-type::before {
  content: "Último ensayo — empieza por aquí";
  grid-column: 1 / -1;
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: .24em;
  text-transform: uppercase;
  color: var(--color-text-muted);
  padding-bottom: 12px;
  border-bottom: 1px solid var(--color-border);
}

/* Base card — beats .Page_box{background:#fff;padding:28px} on specificity */
:root main:not(:has(> article)) > div:first-of-type > div {
  background: #faf5ec;
  border: 1px solid rgba(42,36,32,.10);
  border-radius: 9px;
  box-shadow: 0 1px 4px rgba(42,36,32,.05);
  padding: 30px 34px;
  display: flex;
  flex-direction: column;
  transition: box-shadow .2s ease, border-color .2s ease;
}
:root main:not(:has(> article)) > div:first-of-type > div:hover {
  box-shadow: 0 6px 20px rgba(42,36,32,.10);
  border-color: rgba(42,36,32,.20);
}
/* Card meta line + arcanum ledger number (site signature) */
:root main:not(:has(> article)) > div:first-of-type > div > p:first-child {
  font-family: var(--font-body);
  font-size: 12px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--color-text-muted);
  margin-bottom: 12px;
  max-width: none;
}
:root main:not(:has(> article)) > div:first-of-type > div > p:first-child::before {
  counter-increment: arc;
  content: "N.º " counter(arc, upper-roman) "  ·  ";
  color: var(--color-text-secondary);
  font-weight: 600;
}
/* Card title */
:root main:not(:has(> article)) > div:first-of-type > div > h2 {
  font-family: var(--font-heading);
  font-size: 1.32rem;
  line-height: 1.24;
  margin: 0 0 12px;
  font-weight: 600;
}
:root main:not(:has(> article)) > div:first-of-type > div > h2 a {
  color: var(--color-primary);
  text-decoration: none;
}
:root main:not(:has(> article)) > div:first-of-type > div > h2 a:hover { color: var(--color-accent); }
/* Card excerpt */
:root main:not(:has(> article)) > div:first-of-type > div > h2 + p {
  font-family: var(--font-heading);
  font-size: 1.02rem;
  line-height: 1.62;
  color: var(--color-text-secondary);
  max-width: 64ch;
  margin: 0 0 18px;
}
/* Read-more: relabel EN→ES, drop the red, quiet tracked kicker */
:root main:not(:has(> article)) > div:first-of-type > div > a {
  margin-top: auto;
  font-size: 0;
  text-decoration: none;
  border-top: 1px solid var(--color-border-light);
  padding-top: 14px;
}
:root main:not(:has(> article)) > div:first-of-type > div > a::before {
  content: "Leer la reseña →";
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--color-text-secondary);
}
:root main:not(:has(> article)) > div:first-of-type > div > a:hover::before { color: var(--color-accent); }

/* ─────────── Hero (card 1) — the loud voice ─────────── */
:root main:not(:has(> article)) > div:first-of-type > div:first-child {
  grid-column: 1 / -1;
  background: linear-gradient(180deg, #f8f2e6, #f4ecd9);
  border: 1px solid rgba(42,36,32,.12);
  border-radius: 12px;
  padding: clamp(34px, 5vw, 56px) clamp(34px, 5vw, 60px) clamp(32px, 4vw, 48px);
}
:root main:not(:has(> article)) > div:first-of-type > div:first-child > h2 {
  font-size: clamp(2rem, 5vw, 3.1rem);
  font-style: italic;
  font-weight: 600;
  line-height: 1.08;
  margin: 4px 0 18px;
}
:root main:not(:has(> article)) > div:first-of-type > div:first-child > h2 + p {
  font-family: var(--font-heading);
  font-size: clamp(1.12rem, 2.4vw, 1.4rem);
  line-height: 1.5;
  max-width: 60ch;
  color: var(--color-text);
  margin-bottom: 22px;
}
:root main:not(:has(> article)) > div:first-of-type > div:first-child > h2 + p::first-letter {
  float: left;
  font-family: var(--font-heading);
  font-style: italic;
  font-weight: 700;
  font-size: 4.6rem;
  line-height: .82;
  padding: 6px 14px 0 0;
  color: var(--color-moment);
}
/* Hero CTA as an outlined pill (oxblood — one deliberate use) */
:root main:not(:has(> article)) > div:first-of-type > div:first-child > a {
  align-self: start;
  border: 1.5px solid var(--color-accent);
  border-radius: 999px;
  padding: 11px 26px;
}
:root main:not(:has(> article)) > div:first-of-type > div:first-child > a::before {
  content: "Leer el ensayo completo →";
  color: var(--color-accent);
}
:root main:not(:has(> article)) > div:first-of-type > div:first-child > a:hover { background: var(--color-accent); }
:root main:not(:has(> article)) > div:first-of-type > div:first-child > a:hover::before { color: #F7F1E4; }

/* ─────────── Editor's Pick (card 2) — one to read next ─────────── */
:root main:not(:has(> article)) > div:first-of-type > div:nth-child(2) {
  grid-column: 1 / -1;
  background: #efe6d2;
  border: 1px solid rgba(166,61,46,.18);
  border-radius: 11px;
  padding: 30px clamp(32px, 4vw, 46px) 0;
  overflow: hidden;
}
:root main:not(:has(> article)) > div:first-of-type > div:nth-child(2)::before {
  content: "La mesa de trabajo · Lee esto después";
  font-family: var(--font-body);
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--color-accent);
  margin-bottom: 14px;
}
:root main:not(:has(> article)) > div:first-of-type > div:nth-child(2) > h2 { font-size: 1.5rem; }
/* Strip 1 — section break into the journal (RULE F) */
:root main:not(:has(> article)) > div:first-of-type > div:nth-child(2)::after {
  content: "Más abajo";
  display: flex;
  align-items: center;
  justify-content: center;
  height: 172px;
  margin: 30px calc(-1 * clamp(32px, 4vw, 46px)) 0;
  background:
    linear-gradient(rgba(20,24,28,.55), rgba(20,24,28,.25)),
    url("/theme-assets/feature-photo.jpg") center 30% / cover no-repeat,
    #2A2420;
  color: #F3ECDD;
  font-family: var(--font-body);
  font-size: 13px;
  letter-spacing: .32em;
  text-transform: uppercase;
  text-shadow: 0 1px 3px rgba(0,0,0,.5);
}

/* ─────────── Journal cards (3+) — consistent, equal height ─────────── */
:root main:not(:has(> article)) > div:first-of-type > div:nth-child(n+3) { min-height: 214px; }
:root main:not(:has(> article)) > div:first-of-type > div:nth-child(n+3) > h2 + p {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Strip 2 — section break into the archive tail (RULE F) */
:root main:not(:has(> article)) > div:first-of-type::after {
  content: "Todas las entradas";
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 200px;
  margin-top: 24px;
  border-radius: 10px;
  background:
    linear-gradient(rgba(20,24,28,.5), rgba(20,24,28,.28)),
    url("/theme-assets/feature-photo.jpg") center 70% / cover no-repeat,
    #2A2420;
  color: #F3ECDD;
  font-family: var(--font-body);
  font-size: 14px;
  letter-spacing: .32em;
  text-transform: uppercase;
  text-shadow: 0 1px 3px rgba(0,0,0,.5);
}

/* ─────────── Archive tail (.Hero_root) — full width index ─────────── */
:root main:not(:has(> article)) > div:last-of-type {
  background: #faf5ec;
  border: 1px solid rgba(42,36,32,.10);
  border-radius: 10px;
  box-shadow: 0 1px 4px rgba(42,36,32,.05);
  padding: 28px clamp(30px, 4vw, 40px);
  margin-top: clamp(40px, 6vw, 72px);
  columns: 2;
  column-gap: 44px;
}
:root main:not(:has(> article)) > div:last-of-type::before {
  content: "El archivo completo — por fecha";
  column-span: all;
  display: block;
  font-family: var(--font-body);
  font-size: 13px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--color-text-muted);
  padding-bottom: 12px;
  margin-bottom: 14px;
  border-bottom: 1px solid var(--color-border);
}
:root main:not(:has(> article)) > div:last-of-type > p {
  break-inside: avoid;
  margin: 0 0 10px;
  padding-bottom: 10px;
  border-bottom: 1px dotted rgba(42,36,32,.18);
  max-width: none;
  line-height: 1.42;
  font-size: 14px;
}
:root main:not(:has(> article)) > div:last-of-type > p > span {
  font-family: var(--font-body);
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--color-text-muted);
  margin-right: 8px;
}
:root main:not(:has(> article)) > div:last-of-type > p a {
  font-family: var(--font-heading);
  color: var(--color-primary);
  text-decoration: none;
}
:root main:not(:has(> article)) > div:last-of-type > p a:hover { color: var(--color-accent); }

/* ─────────── Article page: massive title, dinkus, drop cap, hanging quote ─────────── */
:root main:has(> article) > h1 {
  font-size: clamp(2rem, 4.6vw, 3rem);
  font-style: italic;
  font-weight: 600;
  line-height: 1.1;
  margin-bottom: 10px;
}
:root main:has(> article) > time {
  display: block;
  font-family: var(--font-body);
  font-size: 12px;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--color-text-muted);
  margin-bottom: 32px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--color-border);
}
:root main:has(> article) > article > p {
  font-size: 1.06rem;
  line-height: 1.78;
}
:root main:has(> article) > article > p:first-of-type::first-letter {
  float: left;
  font-family: var(--font-heading);
  font-style: italic;
  font-weight: 700;
  font-size: 4rem;
  line-height: .8;
  padding: 6px 12px 0 0;
  color: var(--color-moment);
}
:root main:has(> article) > article > h2::before {
  content: "◊ ◊ ◊";
  display: block;
  text-align: center;
  color: var(--color-accent);
  font-size: 1rem;
  letter-spacing: .5em;
  font-style: normal;
  margin: 10px 0 22px;
}
:root main:has(> article) > article > blockquote { position: relative; }
:root main:has(> article) > article > blockquote::before {
  content: "\201C";
  position: absolute;
  left: 8px;
  top: -4px;
  font-family: var(--font-heading);
  font-size: 3rem;
  line-height: 1;
  color: rgba(42,36,32,.18);
}

/* ─────────── Footer: kill legacy surface, ink band ─────────── */
:root body > footer {
  background: var(--color-nav-bg);
  color: color-mix(in srgb, var(--color-nav-text) 70%, transparent);
  text-align: center;
  padding: clamp(36px, 5vw, 52px) 24px;
  margin-top: clamp(48px, 7vw, 80px);
  font-family: var(--font-body);
  font-size: 14px;
}
:root body > footer a { color: color-mix(in srgb, var(--color-nav-text) 82%, transparent); text-decoration: none; }
:root body > footer a:hover { color: var(--color-accent-light); text-decoration: underline; }

/* ─────────── Responsive ─────────── */
@media (max-width: 720px) {
  :root main:not(:has(> article)) > div:first-of-type {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  :root main:not(:has(> article)) > div:first-of-type > div { padding: 26px 26px; }
  :root main:not(:has(> article)) > div:last-of-type { columns: 1; }
  :root main:not(:has(> article)) > div:first-of-type > div:first-child > h2 + p::first-letter { font-size: 3.4rem; }
}
