*{margin:0;padding:0;box-sizing:border-box}
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;line-height:1.7;color:#111;background:#fff}
.sc-PhRQIq{max-width:900px;margin:0 auto;padding:0 28px}
.sc-XEnkhc{background:#111;color:#fff;padding:64px 0;margin-bottom:48px}
.sc-XEnkhc h1{font-size:42px;font-weight:800;letter-spacing:-1px;margin-bottom:8px}
.sc-XEnkhc p{font-size:18px;opacity:.7}
.sc-XEnkhc a{color:#fff;text-decoration:none;font-size:22px;font-weight:800}
.sc-cGPiFv{padding:0}
.sc-eDKyPg{padding:32px 0;border-left:4px solid #111;padding-left:24px;margin-bottom:28px}
.sc-eDKyPg h2{font-size:24px;font-weight:700;margin-bottom:6px}
.sc-eDKyPg h2 a{color:#111;text-decoration:none}
.sc-eDKyPg h2 a:hover{text-decoration:underline}
.sc-eDKyPg .sc-ZcpcNF{font-size:12px;font-weight:600;text-transform:uppercase;color:#888;letter-spacing:1px;margin-bottom:8px}
.sc-eDKyPg p{font-size:15px;color:#444;margin-bottom:10px}
.sc-HsqDAl{display:inline-block;background:#111;color:#fff;padding:8px 20px;font-size:13px;font-weight:700;text-decoration:none;text-transform:uppercase;letter-spacing:1px}
.sc-HsqDAl:hover{background:#333}
.sc-BRDPHk{padding-bottom:60px}
.sc-BRDPHk h1{font-size:38px;font-weight:800;letter-spacing:-1px;margin-bottom:10px}
.sc-BRDPHk time{font-size:12px;font-weight:600;text-transform:uppercase;color:#888;letter-spacing:1px;display:block;margin-bottom:28px}
.sc-BRDPHk h2{font-size:26px;font-weight:700;margin:40px 0 14px}
.sc-BRDPHk h3{font-size:20px;font-weight:700;margin:32px 0 10px}
.sc-BRDPHk p{margin-bottom:18px;font-size:17px}
.sc-BRDPHk ul,.sc-BRDPHk ol{margin:0 0 18px 24px}
.sc-BRDPHk a{color:#111;font-weight:600;text-decoration:underline}
.sc-BRDPHk img{max-width:100%;height:auto;margin:20px 0}
.sc-ELgDxO{background:#111;color:#888;padding:28px 0;margin-top:48px;text-align:center;font-size:12px}
.sc-ELgDxO a{color:#888;text-decoration:none}
.sc-YVbxjG{background:#222;color:#aaa;padding:14px 20px;margin-bottom:24px;font-size:13px;font-style:italic}
.sc-TqDRdb{background:#1a1a1a;color:#888;padding:14px 20px;margin-top:32px;font-size:12px;border-top:3px solid #444}
.sc-mMtkwD{font-size:12px;font-weight:600;text-transform:uppercase;color:#666;letter-spacing:1px;margin:-20px 0 28px;padding-left:12px;border-left:2px solid #ccc}
.sc-MCDmFH{margin:0 0 24px}
.sc-jOiPVp{width:100%;height:auto;border-radius:0}
.sc-HOrbkq{border-left:4px solid #111;padding-left:24px;margin-top:48px}
.sc-HOrbkq h3{font-size:18px;font-weight:700;text-transform:uppercase;letter-spacing:1px;margin-bottom:12px}
.sc-HOrbkq ul{list-style:none;padding:0}
.sc-HOrbkq li{padding:6px 0}
.sc-HOrbkq a{color:#111;text-decoration:underline;font-weight:600}
.sc-VELgMe{border-left:4px solid #ddd;padding-left:24px;margin-top:36px}
.sc-VELgMe ul{list-style:none;padding:0}
.sc-VELgMe li{padding:6px 0;font-size:16px}
.sc-VELgMe a{color:#111;text-decoration:none;font-weight:600}
.sc-VELgMe a:hover{text-decoration:underline}
.sc-VELgMe .sc-ZcpcNF{margin:0 0 0 8px}
/* === Theme === */
:root{--primary:#2A5A40;--accent:#D9A86F;--bg:#F0EAD2;--fg:#0F1A12;--border:#C0AC95;--r:27px;--fb:'Heebo';--fh:'Fraunces'}
/* === Custom === */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400;0,9..144,600;0,9..144,700;1,9..144,400;1,9..144,600&family=Heebo:wght@400;500;600;700&display=swap');

:root body { font-family: var(--fb), system-ui, -apple-system, sans-serif; color: var(--fg); background: var(--bg); line-height: 1.74; font-size: 16.5px; }
::selection { background: var(--accent); color: var(--fg); }
:root hr { border: 0; border-top: 1px solid var(--border); margin: 30px 0; }

:root > body > header { background: var(--primary); color: var(--bg); padding: 54px 0 36px; margin-bottom: 46px; border-bottom: 4px solid var(--accent); }
:root > body > header > div { max-width: 760px; margin: 0 auto; padding: 0 24px; }
:root > body > header h1 { font-family: var(--fh), Impact, sans-serif; font-size: 42px; font-weight: 400; color: var(--bg); line-height: 1.10; margin-bottom: 8px; letter-spacing: -0.005em; }
:root > body > header p { font-family: var(--fb), system-ui, sans-serif; font-size: 15px; color: rgba(240, 234, 210, .82); max-width: 680px; }
:root > body > header a { font-family: var(--fh), Impact, sans-serif; font-size: 30px; color: var(--bg); text-decoration: none; font-weight: 400; }

:root main { max-width: 760px; margin: 0 auto; padding: 0 24px 70px; }
:root main > h1 { font-family: var(--fh), Impact, sans-serif; font-size: 36px; font-weight: 400; color: var(--primary); line-height: 1.14; margin: 6px 0 6px; letter-spacing: -0.005em; }
:root main > time { display: block; font-family: var(--fb), system-ui, sans-serif; font-size: 12px; color: var(--accent); margin-bottom: 30px; letter-spacing: .14em; text-transform: uppercase; font-weight: 700; }

:root main > article > p { margin-bottom: 18px; font-size: 16.5px; }
:root main > article > h2 { font-family: var(--fh), Impact, sans-serif; font-size: 28px; font-weight: 400; color: var(--primary); margin: 40px 0 14px; padding-bottom: 8px; border-bottom: 1px solid var(--accent); letter-spacing: -0.005em; }
:root main > article ul, :root main > article ol { margin: 0 0 18px 26px; }
:root main > article li { margin-bottom: 6px; font-size: 16px; }
:root main > article li strong { color: var(--primary); font-weight: 700; }
:root main > article > p strong { color: var(--primary); font-weight: 700; }

:root main > article > p a, :root main > article > p a:visited { color: var(--primary); text-decoration: underline; text-decoration-color: var(--accent); text-underline-offset: 3px; text-decoration-thickness: 1.5px; font-weight: 700; }
:root main > article > p a:hover { color: var(--accent); text-decoration-color: var(--primary); }

:root main > article > p a[href^="/ref/"], :root main > article > p a[href^="/try/"], :root main > article > p a[href^="/check/"], :root main > article > p a[href^="/partner/"], :root main > article > p a[href^="/go/"], :root main > article > p a[href^="/out/"] { background: var(--accent); color: var(--fg); padding: 3px 14px; border-radius: var(--r); text-decoration: none; font-weight: 700; font-family: var(--fh), Impact, sans-serif; font-size: 14.5px; letter-spacing: .02em; }
:root main > article > p a[href^="/ref/"]:hover, :root main > article > p a[href^="/try/"]:hover, :root main > article > p a[href^="/check/"]:hover, :root main > article > p a[href^="/partner/"]:hover, :root main > article > p a[href^="/go/"]:hover, :root main > article > p a[href^="/out/"]:hover { background: var(--primary); color: var(--bg); }

:root main > article > img, :root main > article > figure { margin: 0 0 30px; }
:root main > article > img, :root main > article > figure > img { width: 100%; height: auto; display: block; border-radius: var(--r); box-shadow: 0 4px 18px rgba(15, 26, 18, .14); }

:root main > div:has(> h2) { background: #FFFCEC; border: 1px solid var(--border); border-left: 5px solid var(--primary); border-radius: 0 var(--r) var(--r) 0; padding: 24px 26px; margin-bottom: 22px; box-shadow: 0 1px 6px rgba(15, 26, 18, .05); transition: transform .12s ease, border-left-color .12s ease; }
:root main > div:has(> h2):hover { transform: translateX(2px); border-left-color: var(--accent); }
:root main > div:has(> h2) > p:first-child { font-family: var(--fb), system-ui, sans-serif; font-size: 11px; color: var(--accent); letter-spacing: .14em; text-transform: uppercase; margin-bottom: 8px; font-weight: 700; }
:root main > div:has(> h2) > h2 { font-family: var(--fh), Impact, sans-serif; font-size: 24px; font-weight: 400; margin-bottom: 8px; line-height: 1.16; padding-bottom: 0; border-bottom: 0; letter-spacing: -0.005em; }
:root main > div:has(> h2) > h2 a { color: var(--fg); text-decoration: none; }
:root main > div:has(> h2) > h2 a:hover { color: var(--primary); }
:root main > div:has(> h2) > p:not(:first-child) { font-family: var(--fb), system-ui, sans-serif; font-size: 15px; color: var(--fg); opacity: .82; margin-bottom: 14px; }
:root main > div:has(> h2) > a:last-child { font-family: var(--fh), Impact, sans-serif; font-size: 13px; color: var(--bg); background: var(--primary); padding: 8px 20px; border-radius: var(--r); text-decoration: none; letter-spacing: .04em; font-weight: 400; display: inline-block; }
:root main > div:has(> h2) > a:last-child:hover { background: var(--accent); color: var(--fg); }

:root footer { background: transparent; border-top: 1px solid var(--border); padding: 26px 0 38px; margin-top: 52px; text-align: center; font-family: var(--fb), system-ui, sans-serif; font-size: 12.5px; color: var(--fg); opacity: .60; letter-spacing: .03em; }
:root footer a { color: var(--fg); text-decoration: none; border-bottom: 1px dotted var(--border); }
:root footer a:hover { color: var(--primary); border-bottom-color: var(--primary); }

/* === R2 fixes (2026-06-09T12:30:07.188282+00:00) === */

/* Paragraph readability: 16px + 1.75 line-height for comfortable long reads */
main p, .sc-BRDPHk p { font-size: 16px; line-height: 1.75; }

/* H2 breathing room: clear visual separation so scanners find section starts fast */
main h2, .sc-BRDPHk h2 { margin-top: 2.2em; margin-bottom: 0.5em; }

/* Disclaimer box: warm beige replaces dark background to keep the "amiga" tone */
.sc-TqDRdb { background-color: #F0EBE0; border-left: 3px solid #2A5A40; padding: 12px 16px; font-size: 0.88em; color: #555; }

/* Related articles: top separator makes it feel like natural reading continuation */
.sc-HOrbkq { margin-top: 2.5em; padding-top: 1.5em; border-top: 1px solid #D8D0C4; }

/* === R3 fixes (2026-06-09T13:10:06.463539+00:00) === */

/* Disclosure text: smaller + muted so readers skim it as a formality, not a blocker */
.sc-YVbxjG { font-size: 0.8em; color: #999; margin: 4px 0 20px; line-height: 1.4; }

/* Related articles heading: label-style uppercase so it reads as navigation, not article content */
.sc-HOrbkq h3 { font-family: var(--fb), system-ui, sans-serif; font-size: 12px; text-transform: uppercase; letter-spacing: 0.12em; color: #999; font-weight: 700; margin-bottom: 12px; }

/* Article-page header: extra vertical padding so it feels like a deliberate brand header */
.sc-XEnkhc:not(:has(h1)) { padding: 18px 0; }

/* === R4 fixes (2026-06-09T13:50:18.288996+00:00) === */

/* H3 subsection anchors: same type system as H2 but scaled down, with breathing room above so scanners spot subsections without reading every line */
main > article h3, .sc-BRDPHk h3 { font-family: var(--fh), Impact, sans-serif; font-size: 20px; font-weight: 400; color: var(--primary); margin-top: 1.8em; margin-bottom: 0.35em; letter-spacing: -0.005em; }

/* === QA round-1 fixes (2026-07-19T10:20:47+0800) === */
/* Elevates from "monotone card stack" to editorial signature: photo masthead with
   droplet monogram + serif italic wordmark + manifesto line; homepage now reads as
   hero -> Editor's Picks band -> chronological grid. Display voice = Fraunces (serif
   italic), text/meta voice = Heebo. Rust #B34F2A used in exactly two moments:
   the hero drop cap and the "Selección de la editora" band kicker. Live masthead is a
   div (body>div:first-child), NOT <header>, so everything is targeted structurally. */

:root { --moment: #B34F2A; }

/* ---- Signature masthead: atmospheric photo + forest wash + droplet monogram ---- */
:root body > div:first-child { background: linear-gradient(180deg, rgba(42,90,64,.80), rgba(28,62,44,.92)), url("/theme-assets/hero-masthead.jpg") center/cover no-repeat; color: var(--bg); padding: 56px 24px 50px; margin-bottom: 46px; border-bottom: 4px solid var(--accent); text-align: center; }
:root body > div:first-child > div { max-width: 760px; margin: 0 auto; padding: 0; }
:root body > div:first-child > div::before { content: ""; display: block; width: 58px; height: 58px; margin: 0 auto 16px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Ccircle cx='32' cy='32' r='29' fill='none' stroke='%23D9A86F' stroke-width='2'/%3E%3Cpath d='M32 17 C40 30 40 37 32 46 C24 37 24 30 32 17 Z' fill='none' stroke='%23D9A86F' stroke-width='2'/%3E%3C/svg%3E") center/contain no-repeat; }
:root body > div:first-child h1, :root body > div:first-child > div > a { font-family: 'Fraunces', Georgia, serif; font-style: italic; font-weight: 600; font-size: 50px; line-height: 1.04; color: var(--bg); letter-spacing: .004em; text-decoration: none; display: inline-block; margin: 0; }
:root body > div:first-child p { font-family: var(--fb), system-ui, sans-serif; font-size: 15px; color: rgba(240,234,210,.86); max-width: 560px; margin: 14px auto 0; line-height: 1.62; }
:root body > div:first-child:has(h1) > div::after { content: "Cada reseña pagada con mi propio bolsillo."; display: block; margin: 16px auto 0; font-family: 'Fraunces', Georgia, serif; font-style: italic; font-weight: 400; font-size: 15.5px; color: var(--accent); letter-spacing: .01em; }

/* ---- Homepage: hero -> Editor's Picks band -> chronological grid ---- */
:root main:has(> div > h2) { max-width: 1080px; display: grid; grid-template-columns: repeat(6, 1fr); gap: 24px; padding-bottom: 80px; }
:root main:has(> div > h2) > div { margin-bottom: 0; }

/* Hero = first card: THE loud voice */
:root main:has(> div > h2) > div:first-child { grid-column: 1 / -1; position: relative; margin-top: 12px; padding: 48px 320px 48px 48px; border-left: 6px solid var(--primary); background: #FFFCEC; overflow: hidden; }
:root main:has(> div > h2) > div:first-child::before { content: "RESEÑA DESTACADA"; position: absolute; top: 0; left: 48px; transform: translateY(-50%); background: var(--primary); color: var(--bg); padding: 6px 16px; border-radius: 20px; font: 700 11px/1 var(--fb); letter-spacing: .16em; }
:root main:has(> div > h2) > div:first-child::after { content: ""; position: absolute; right: 40px; top: 50%; transform: translateY(-50%); width: 210px; height: 210px; opacity: .12; pointer-events: none; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath d='M32 6 C48 30 48 42 32 58 C16 42 16 30 32 6 Z' fill='%232A5A40'/%3E%3C/svg%3E") center/contain no-repeat; }
:root main:has(> div > h2) > div:first-child > p:first-child { color: var(--primary); }
:root main:has(> div > h2) > div:first-child > p:first-child::before { content: "POR CAMILA ORTEGA · "; }
:root main:has(> div > h2) > div:first-child > h2 { font-size: 44px; line-height: 1.08; color: var(--primary); margin-bottom: 14px; }
:root main:has(> div > h2) > div:first-child > p:not(:first-child) { font-size: 17px; opacity: 1; max-width: 600px; }
:root main:has(> div > h2) > div:first-child > p:nth-of-type(2)::first-letter { float: left; font-family: 'Fraunces', Georgia, serif; font-weight: 600; font-size: 62px; line-height: .82; padding: 6px 12px 0 0; color: var(--moment); }
:root main:has(> div > h2) > div:first-child > a:last-child { background: transparent; color: var(--primary); border: 2px solid var(--primary); padding: 9px 24px; font-family: var(--fb), system-ui, sans-serif; font-weight: 700; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; }
:root main:has(> div > h2) > div:first-child > a:last-child:hover { background: var(--primary); color: var(--bg); }

/* Editor's Picks band = cards 2-4, horizontal trio under a rust kicker */
:root main:has(> div > h2) > div:nth-child(2), :root main:has(> div > h2) > div:nth-child(3), :root main:has(> div > h2) > div:nth-child(4) { grid-column: span 2; margin-top: 46px; }
:root main:has(> div > h2) > div:nth-child(2) { position: relative; }
:root main:has(> div > h2) > div:nth-child(2)::before { content: "SELECCIÓN DE LA EDITORA — EMPIEZA POR AQUÍ"; position: absolute; top: -30px; left: 2px; font: 700 12px/1 var(--fb); letter-spacing: .15em; text-transform: uppercase; color: var(--moment); white-space: nowrap; }

/* Chronological grid = cards 5+, two columns under a quiet kicker */
:root main:has(> div > h2) > div:nth-child(n+5) { grid-column: span 3; }
:root main:has(> div > h2) > div:nth-child(5), :root main:has(> div > h2) > div:nth-child(6) { margin-top: 58px; }
:root main:has(> div > h2) > div:nth-child(5) { position: relative; }
:root main:has(> div > h2) > div:nth-child(5)::before { content: "TODAS LAS RESEÑAS"; position: absolute; top: -32px; left: 2px; font: 700 12px/1 var(--fb); letter-spacing: .15em; text-transform: uppercase; color: var(--primary); white-space: nowrap; }

/* Grid/pick card CTAs read as sans meta, not serif display */
:root main > div:has(> h2) > a:last-child { font-family: var(--fb), system-ui, sans-serif; font-size: 11.5px; letter-spacing: .06em; text-transform: uppercase; font-weight: 700; }

/* ---- Article rhythm: dinkus between sections + hanging quote on blockquotes ---- */
:root main > article > section + section::before, :root main > article > h2:not(:first-of-type)::before { content: "✷ ✷ ✷"; display: block; text-align: center; color: var(--accent); font-size: 15px; letter-spacing: .4em; margin: 42px 0 28px; font-family: var(--fb), system-ui, sans-serif; }
:root main > article > blockquote { position: relative; padding-left: 30px; border-left: 3px solid var(--accent); font-family: 'Fraunces', Georgia, serif; font-style: italic; font-size: 19px; color: var(--primary); }
:root main > article > blockquote::before { content: "\201C"; position: absolute; left: -4px; top: -12px; font-family: 'Fraunces', Georgia, serif; font-size: 52px; line-height: 1; color: var(--accent); opacity: .5; }

/* ---- Mobile: single column, decorative watermark off, labels inline ---- */
@media (max-width: 860px) {
  :root main:has(> div > h2) { grid-template-columns: 1fr; max-width: 760px; gap: 20px; }
  :root main:has(> div > h2) > div { grid-column: auto; }
  :root main:has(> div > h2) > div:first-child { padding: 34px 22px; }
  :root main:has(> div > h2) > div:first-child::after { display: none; }
  :root main:has(> div > h2) > div:first-child::before { left: 22px; }
  :root main:has(> div > h2) > div:first-child > h2 { font-size: 30px; }
  :root main:has(> div > h2) > div:first-child > p:not(:first-child) { max-width: none; }
  :root body > div:first-child h1, :root body > div:first-child > div > a { font-size: 38px; }
  :root main:has(> div > h2) > div:nth-child(2), :root main:has(> div > h2) > div:nth-child(3), :root main:has(> div > h2) > div:nth-child(4), :root main:has(> div > h2) > div:nth-child(5), :root main:has(> div > h2) > div:nth-child(6) { margin-top: 22px; }
  :root main:has(> div > h2) > div:nth-child(2)::before, :root main:has(> div > h2) > div:nth-child(5)::before { position: static; display: block; margin-bottom: 10px; white-space: normal; }
}
