/* Tipografías servidas desde el propio sitio (sin Google Fonts: más privacidad y CSP estricta). DM Sans y Lora, licencia OFL-1.1. */
@font-face{font-family:'DM Sans';font-style:normal;font-display:swap;font-weight:100 1000;src:url(fonts/dm-sans-latin-ext-wght-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'DM Sans';font-style:normal;font-display:swap;font-weight:100 1000;src:url(fonts/dm-sans-latin-wght-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Lora';font-style:normal;font-display:swap;font-weight:400 700;src:url(fonts/lora-latin-ext-wght-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Lora';font-style:normal;font-display:swap;font-weight:400 700;src:url(fonts/lora-latin-wght-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Lora';font-style:italic;font-display:swap;font-weight:400 700;src:url(fonts/lora-latin-ext-wght-italic.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Lora';font-style:italic;font-display:swap;font-weight:400 700;src:url(fonts/lora-latin-wght-italic.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--paper:#191a19;--ink:#d4d3c9;--muted:#9a9c92;--line:#42453e;--accent:#c0c49b;--tint:#222420;--display:'Lora',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--mono:'DM Sans',Arial,sans-serif;--read-size:22px;color-scheme:dark}
:root[data-theme=light]{--paper:#dddcd1;--ink:#242720;--muted:#5b6054;--line:#a6a99c;--accent:#45542e;--tint:#d0d1c4;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:20px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select{font:inherit;color:inherit}button{cursor:pointer;background:none;border:0}button:disabled{opacity:.35;cursor:default}button,a,input,select{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:5px}::selection{background:var(--accent);color:var(--paper)}[hidden]{display:none!important}.topbar{height:85px;display:flex;align-items:center;gap:24px;margin:0 4%;border-bottom:1px solid var(--line)}.wordmark{font:800 39px/.8 var(--display);letter-spacing:-2px}.wordmark span{font:20px var(--sans);vertical-align:top;margin-left:4px;color:var(--accent)}.signature{font:11px var(--mono);letter-spacing:1px}.signature span{color:var(--muted)}nav{display:flex;gap:28px;align-items:center;margin-left:auto;font:10px var(--mono)}nav button{padding:10px 0}#savedCount{color:var(--accent);margin-left:6px}.icon-button{font-size:22px}.hero{margin:0 4%;padding:25px 0 35px;border-bottom:2px solid var(--ink)}.eyebrow{font:10px/1.6 var(--mono);letter-spacing:1px}.hero-meta{display:flex;justify-content:space-between;color:var(--muted)}.hero h1{font:800 clamp(110px,18.7vw,285px)/.8 var(--display);letter-spacing:-.025em;margin:45px 0 36px;position:relative}.title-dash{font-weight:600;color:var(--line);margin-left:10px}.title-period{color:var(--accent)}.hero-bottom{display:flex;align-items:center;gap:28px}.primary{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;padding:17px 20px;background:var(--accent);color:var(--paper);font:10px var(--mono);border:1px solid var(--accent)}.primary:hover{background:var(--ink);border-color:var(--ink)}.primary span{font:20px var(--sans);line-height:1}.text-button{font:10px var(--mono);padding:12px 0;letter-spacing:.2px}.text-button:hover{color:var(--accent)}.text-button span{margin-left:15px}.hero-quote{margin-left:auto;padding-left:25px;border-left:1px solid var(--line);display:block}.hero-quote blockquote{font:17px/1.6 var(--sans);margin:0 0 8px;max-width:330px}.hero-quote>span{font:9px var(--mono);color:var(--muted)}.hero-quote:hover{color:var(--accent)}.collection{padding:55px 4% 60px}.collection-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px}.collection-heading h2{font:700 53px/.9 var(--display);margin:0;letter-spacing:-1px}.index-mark{color:var(--accent);margin-left:17px;font-size:32px;vertical-align:middle}.collection-heading>.eyebrow{color:var(--muted);font-size:9px}.categories{display:grid;grid-template-columns:repeat(8,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.category{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 11px;font:11px var(--mono);text-align:left;white-space:nowrap}.category small{font:9px var(--mono);margin-left:7px;color:var(--muted)}.category:hover{background:var(--tint)}.category[aria-pressed=true]{background:var(--accent);color:var(--paper);border-color:var(--accent)}.category[aria-pressed=true] small{color:var(--paper)}.tools{display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid var(--line);padding:24px 0 19px}.search{display:flex;align-items:center;gap:13px;flex:1;max-width:550px}.search svg{width:17px;height:17px;fill:none;stroke:var(--muted);stroke-width:1.5;flex-shrink:0}.search input{font:13px var(--sans);min-width:0;width:100%;border:0;background:none;padding:8px 0}.search input::placeholder{color:var(--muted)}.search kbd{font:9px var(--mono);border:1px solid var(--line);padding:3px 7px;color:var(--muted)}.display-tools{display:flex;align-items:center;gap:24px;font:9px var(--mono)}#viewToggle{font:9px var(--mono);border-bottom:1px solid var(--muted);padding:5px 0;white-space:nowrap}#viewToggle[aria-pressed=true]{color:var(--accent)}.sort-label{display:flex;align-items:center;gap:10px;font:9px var(--mono)}.sort-label>span{color:var(--muted)}select{background:var(--paper);border:0;font:10px var(--mono);padding:7px;cursor:pointer}.result-line{display:flex;justify-content:space-between;align-items:center;min-height:58px;font:9px var(--mono);color:var(--muted)}.result-line p{margin:0}.story-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.story-card{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 24px;min-height:300px;display:flex;flex-direction:column;position:relative;transition:background .15s}.story-card:hover{background:var(--tint)}.card-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;font:9px var(--mono);color:var(--muted);text-transform:uppercase}.card-meta>span{display:flex;gap:13px}.card-no{color:var(--accent)}.bookmark{font:20px var(--mono);padding:2px 5px;position:relative;z-index:2;line-height:1.1}.bookmark[aria-pressed=true]{color:var(--accent)}.story-card h3{font:600 30px/1.1 var(--display);letter-spacing:.1px;margin:24px 0 16px;max-width:98%}.story-card .excerpt{font:14px/1.7 var(--sans);color:var(--muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin:0 0 30px}.card-bottom{margin-top:auto;display:flex;align-items:center;justify-content:space-between;font:9px var(--mono);color:var(--muted)}.card-bottom .arrow{font:23px var(--sans);color:var(--accent);transition:transform .2s}.story-card:hover .arrow{transform:translate(3px,-3px)}.story-link:after{content:'';position:absolute;inset:0}.story-link:focus-visible:after{outline:2px solid var(--accent);outline-offset:-4px}.story-link:focus-visible{outline:none}.story-grid.compact{grid-template-columns:repeat(2,1fr)}.compact .story-card{min-height:160px;padding:18px 22px}.compact .excerpt{display:none}.compact .story-card h3{font-size:26px;margin:15px 0 18px}.compact .card-bottom .arrow{font-size:19px}.empty{text-align:center;padding:65px 10px;border:1px solid var(--line)}.empty>span{font:70px var(--display);color:var(--accent)}.empty h3{font:600 38px var(--display);margin:15px 0}.empty p{font:12px var(--sans);color:var(--muted);margin-bottom:25px}.reader-top{margin:0 4%;padding:22px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px}.back{font:10px var(--mono)}.reader-controls{display:flex;gap:22px;align-items:center;font:10px var(--mono)}.reader-controls button{padding:8px 0}.reader-controls button:hover{color:var(--accent)}.reading{max-width:760px;margin:65px auto 80px;padding:0 32px}.reading>.eyebrow{color:var(--accent);font-size:10px}.reading h1{font:600 clamp(44px,5.2vw,74px)/1.04 var(--display);letter-spacing:-.5px;margin:25px 0 43px}.title-note{font:9px var(--mono);color:var(--muted);margin:-24px 0 37px}.prose{font:var(--read-size)/1.85 var(--sans);font-weight:400;color:var(--ink);overflow-wrap:break-word}.prose p{margin:0 0 1.15em;white-space:pre-line}.part{font:11px var(--mono);display:block;border-top:1px solid var(--line);padding-top:18px;margin:35px 0 25px;color:var(--accent)}.author-sign{border-top:1px solid var(--line);padding-top:23px;margin-top:45px;display:flex;justify-content:space-between;font:12px var(--mono)}.author-sign span{font-size:9px;color:var(--muted)}details{border-top:1px solid var(--line);margin-top:35px;padding-top:20px}summary{font:10px var(--mono);cursor:pointer;color:var(--muted)}details .prose{padding-top:25px}.next-reading{padding:40px 4%;border-top:1px solid var(--line);background:var(--tint)}.next-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:25px}.next-heading h2{font:600 35px var(--display);margin:0}.related{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.related a{border-top:1px solid var(--line);padding-top:20px}.related small{font:9px var(--mono);color:var(--muted)}.related h3{font:600 28px/1.15 var(--display);margin:12px 0}.related a:hover{color:var(--accent)}footer{margin:0 4%;padding:28px 0 36px;border-top:2px solid var(--ink);display:flex;justify-content:space-between;gap:20px;font:10px var(--mono)}footer .footer-brand span{color:var(--muted)}#toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px);padding:15px 24px;font:11px var(--mono);background:var(--accent);color:var(--paper);opacity:0;pointer-events:none;transition:.2s;z-index:50;text-align:center;max-width:90vw}#toast.visible{opacity:1;transform:translate(-50%,0)}.skip{position:absolute;top:-100px;left:20px;background:var(--accent);color:var(--paper);padding:15px;z-index:20}.skip:focus{top:10px}.noscript{padding:40px;text-align:center}
@media(min-width:1600px){body{max-width:1650px;margin:auto}.hero h1{font-size:285px}}
@media(max-width:1100px){.categories{grid-template-columns:repeat(4,1fr)}.hero-bottom{gap:22px}.hero-quote blockquote{font-size:14px}.primary{font-size:9px;padding:16px}.hero-bottom>.text-button{font-size:9px}.story-card{padding:20px}.story-card h3{font-size:28px}.story-card .excerpt{font-size:13px}}
@media(max-width:700px){.topbar{height:69px;margin:0 5%;gap:15px}.wordmark{font-size:33px}.signature{font-size:10px}.signature span{display:none}nav{gap:17px;font-size:9px}nav>a{display:none}.hero{margin:0 5%;padding:23px 0 28px}.hero-meta{font-size:8px;letter-spacing:.5px}.hero h1{font-size:24vw;line-height:.87;margin:35px 0 28px;letter-spacing:-.025em}.title-dash{font-size:.9em;margin-left:6px}.hero-bottom{display:grid;grid-template-columns:1fr auto;gap:20px 12px}.primary{padding:14px 13px;font-size:8px;gap:10px}.primary span{font-size:17px}.hero-bottom>.text-button{font-size:8px}.text-button span{margin-left:4px}.hero-quote{grid-column:1/-1;margin:0;padding:8px 0 0;border:0;border-top:1px solid var(--line)}.hero-quote blockquote{font-size:16px;line-height:1.5;margin:9px 0 10px;max-width:none}.hero-quote blockquote br{display:none}.hero-quote>span{font-size:8px}.collection{padding:35px 5% 40px}.collection-heading{margin-bottom:20px}.collection-heading h2{font-size:41px}.collection-heading>.eyebrow{font-size:7px;letter-spacing:.3px}.categories{grid-template-columns:repeat(4,1fr)}.category{font-size:9px;padding:14px 7px;white-space:normal}.category small{font-size:7px;margin-left:4px}.tools{display:block;padding:16px 0 10px}.search{padding-bottom:12px}.search input{font-size:12px}.search kbd{display:none}.display-tools{justify-content:space-between;padding-top:12px;border-top:1px solid var(--line)}.sort-label>span{display:none}.result-line{min-height:50px;font-size:8px}.result-line .text-button{font-size:8px}.story-grid,.story-grid.compact{grid-template-columns:1fr}.story-card{min-height:260px;padding:21px}.story-card h3{font-size:33px;margin:20px 0 14px}.story-card .excerpt{font-size:14px}.compact .story-card{min-height:150px}.compact .story-card h3{font-size:28px}.reader-top{margin:0 5%;padding:18px 0;align-items:start;flex-direction:column;gap:15px}.reader-controls{width:100%;justify-content:space-between;font-size:9px;gap:12px}.reading{margin:40px auto 50px;padding:0 6%}.reading>.eyebrow{font-size:9px}.reading h1{font-size:48px;margin:22px 0 36px}.prose{font-size:calc(var(--read-size) - 2px);line-height:1.8}.title-note{font-size:8px;line-height:1.5;margin-top:-19px}.next-reading{padding:30px 6%}.next-heading h2{font-size:29px}.next-heading .text-button{font-size:8px}.related{grid-template-columns:1fr;gap:20px}.related h3{font-size:28px}.author-sign{font-size:11px}.author-sign span{font-size:8px}footer{margin:0 5%;font-size:9px;padding:25px 0 30px}footer .footer-brand span{display:block;margin-top:6px;font-size:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Quiet editorial typography, with generous curves and softer proportions. */
.wordmark{font:500 30px/1 var(--display);letter-spacing:-2px}.signature{font-size:13px;letter-spacing:0}.signature span{color:var(--muted)}
.hero{padding-top:30px;padding-bottom:36px}.hero h1{font:400 clamp(58px,10.6vw,170px)/1.1 var(--display);letter-spacing:-.065em;margin:54px 0 43px}.hero-author{display:block;font:400 .39em/1.5 var(--display);letter-spacing:-.035em;color:var(--muted);margin-top:7px}
.hero-meta{letter-spacing:.6px}.hero-quote blockquote{font-family:var(--display);font-size:16px}.collection-heading h2{font:400 43px/1.2 var(--display);letter-spacing:-1.5px;text-transform:lowercase}.index-mark{font:24px var(--sans)}
.story-card h3{font:400 28px/1.25 var(--display);letter-spacing:-.7px}.compact .story-card h3{font-size:25px}.category{font-size:12px}.category small{font-size:10px}.card-meta,.card-bottom{font-size:10px}.story-card .excerpt{font-size:15px;line-height:1.75}
.reading h1{font-weight:400;font-size:clamp(38px,4.5vw,65px);line-height:1.15;letter-spacing:-1.5px}.prose{font-family:var(--display);line-height:1.85}.next-heading h2,.related h3{font-weight:400}.related h3{font-size:25px}.author-sign{font-family:var(--sans)}
@media(min-width:1600px){.hero h1{font-size:170px}}
@media(max-width:700px){.wordmark{font-size:27px}.signature{font-size:11px}.signature span{display:inline}.topbar{gap:12px}nav{gap:14px}.hero h1{font-size:11.8vw;margin:40px 0 32px;letter-spacing:-.06em}.hero-author{font-size:.52em;margin-top:13px}.hero-quote blockquote{font-size:16px}.collection-heading h2{font-size:34px}.collection-heading>.eyebrow{font-size:7px}.category{font-size:10px}.category small{font-size:8px}.story-card h3{font-size:28px}.compact .story-card h3{font-size:25px}.reading h1{font-size:39px}.prose{font-size:calc(var(--read-size) - 2px)}.related h3{font-size:25px}}

/* Contacto (home y cada relato) */
:root{--error:#e3a48c}:root[data-theme=light]{--error:#8f3a1f}
textarea{font:inherit;color:inherit}textarea:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
.contact{padding:60px 4% 70px;border-top:1px solid var(--line)}
.contact-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}
.contact-heading h2{font:400 43px/1.2 var(--display);letter-spacing:-1.5px;margin:0}
.contact-heading>.eyebrow{color:var(--muted);font-size:9px;text-align:right;max-width:55%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:60px;align-items:start}
.contact-intro{font:17px/1.65 var(--display);color:var(--muted);margin:0;max-width:340px}
.contact-intro strong{font-weight:400;color:var(--ink)}
.contact-form{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);position:relative}
.contact-form>.field:first-child,.contact-form>.field-wide{border-left:1px solid var(--line)}
.field{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 20px 14px;display:flex;flex-direction:column;gap:6px;transition:background .15s}
.field:focus-within{background:var(--tint)}.field-wide{grid-column:1/-1}
.field label{font:10px var(--mono);letter-spacing:1px;color:var(--muted)}
.field input,.field textarea{border:0;background:none;padding:6px 0;font:16px/1.6 var(--sans);width:100%;min-width:0}
.field textarea{resize:vertical;min-height:130px;font-family:var(--display);font-size:17px}
.field input:focus-visible,.field textarea:focus-visible{outline:none}
.field small{font:9px var(--mono);color:var(--muted);letter-spacing:.3px}
.field[data-invalid] label,.field[data-invalid] small{color:var(--error)}
.field[data-invalid]{box-shadow:inset 3px 0 0 var(--error)}
.hp{position:absolute!important;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.turnstile{grid-column:1/-1}.turnstile:not(:empty){padding:14px 0 0}
.contact-actions{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:22px}
.contact-actions p{margin:0;font:11px/1.6 var(--mono);color:var(--muted)}
.contact-actions p[data-kind=error]{color:var(--error)}.contact-actions p[data-kind=ok]{color:var(--accent)}
.contact-actions .primary:disabled{opacity:.5;cursor:wait}
.badge-new{background:var(--accent);color:var(--paper);padding:2px 6px;letter-spacing:.6px}
@media(max-width:700px){.contact{padding:40px 5% 45px}.contact-heading h2{font-size:34px}.contact-heading>.eyebrow{font-size:7px}.contact-grid{grid-template-columns:1fr;gap:26px}.contact-intro{font-size:16px}.contact-form{grid-template-columns:1fr}.contact-form>.field{border-left:1px solid var(--line)}.field{padding:14px 16px 12px}.contact-actions{flex-direction:column-reverse;align-items:stretch}.contact-actions .primary{justify-content:space-between}}
