:root{--ink:#101114;--soft:#2a2c31;--paper:#f4f1e9;--white:#fffdf7;--signal:#f05a28;--signal-dark:#c53f16;--blue:#b9d9ec;--line:rgba(16,17,20,.22);--line-dark:rgba(255,253,247,.24);--serif:"Iowan Old Style","Baskerville","Palatino Linotype",Georgia,serif;--sans:"Avenir Next",Avenir,"Helvetica Neue",Arial,sans-serif;--shell:1240px;--narrow:820px;--book-shell:1060px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.65 var(--sans);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.22em}a:hover{color:var(--signal-dark)}a:focus-visible{outline:3px solid var(--signal);outline-offset:4px}.skip-link{position:fixed;z-index:100;left:1rem;top:1rem;transform:translateY(-180%);background:var(--signal);color:var(--ink);padding:.7rem 1rem;font-weight:700}.skip-link:focus{transform:translateY(0)}.shell{width:min(calc(100% - 64px),var(--shell));margin-inline:auto}.narrow{width:min(calc(100% - 64px),var(--narrow))}.book-shell{width:min(calc(100% - 64px),var(--book-shell))}
.site-header{background:var(--ink);color:var(--white);border-bottom:1px solid var(--line-dark)}.header-inner{min-height:86px;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:3rem}.brand{display:flex;align-items:center;gap:.9rem;color:var(--white);text-decoration:none}.brand:hover{color:var(--white)}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--signal);color:var(--signal);font:1rem/1 var(--serif)}.brand-copy{display:grid;line-height:1.15}.brand-name{font:1.25rem var(--serif);letter-spacing:-.01em}.brand-line{color:rgba(255,253,247,.58);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase}.site-nav{justify-self:end;display:flex;align-items:center;gap:1.8rem;font-size:.74rem;font-weight:700;letter-spacing:.075em;text-transform:uppercase}.site-nav a{position:relative;color:rgba(255,253,247,.72);text-decoration:none;padding:.65rem 0}.site-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:.35rem;height:2px;background:var(--signal);transition:right .2s ease}.site-nav a:hover{color:var(--white)}.site-nav a:hover:after,body[data-page=inicio] .site-nav [data-nav=inicio]:after,body[data-page=libros] .site-nav [data-nav=libros]:after,body[data-page=criterio] .site-nav [data-nav=criterio]:after,body[data-page=sobre] .site-nav [data-nav=sobre]:after,body[data-page=contacto] .site-nav [data-nav=contacto]:after{right:0}body[data-page=inicio] .site-nav [data-nav=inicio],body[data-page=libros] .site-nav [data-nav=libros],body[data-page=criterio] .site-nav [data-nav=criterio],body[data-page=sobre] .site-nav [data-nav=sobre],body[data-page=contacto] .site-nav [data-nav=contacto]{color:var(--white)}
.hero{position:relative;overflow:hidden;background:var(--ink);color:var(--white)}.hero:before{content:"";position:absolute;width:min(42vw,620px);aspect-ratio:1;right:-8vw;top:-18%;border:clamp(38px,6vw,82px) solid var(--signal);border-radius:50%;opacity:.92}.hero:after{content:"";position:absolute;width:1px;top:0;bottom:0;left:calc(50% + 17rem);background:var(--line-dark)}.hero-inner{position:relative;z-index:1;min-height:min(760px,calc(100vh - 86px));display:grid;grid-template-columns:minmax(0,1.45fr) minmax(220px,.55fr);align-items:end;gap:4rem;padding-block:clamp(5rem,10vw,9rem) 4rem}.hero-copy{max-width:880px}.eyebrow{margin:0 0 1rem;color:var(--signal-dark);font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.hero .eyebrow{color:var(--signal)}h1,h2,h3{margin-top:0;font-family:var(--serif);font-weight:400;line-height:1.02;letter-spacing:-.035em;text-wrap:balance}h1{margin-bottom:1.7rem;font-size:clamp(4.3rem,9vw,8.6rem);max-width:10ch}h2{margin-bottom:0;font-size:clamp(2.5rem,5vw,4.8rem)}h3{margin-bottom:0;font-size:1.65rem}.hero-lede{max-width:34ch;margin:0;font:clamp(1.35rem,2vw,1.9rem)/1.35 var(--serif);color:var(--blue)}.hero-side{border-top:1px solid var(--line-dark);padding-top:1.4rem;align-self:end}.hero-text{margin:0;color:rgba(255,253,247,.68);font-size:.92rem;line-height:1.7}.hero-actions{display:flex;flex-wrap:wrap;gap:1rem 1.5rem;margin:2rem 0 0}.button{display:inline-flex;align-items:center;min-height:48px;padding:.7rem 1.1rem;border:1px solid var(--signal);background:var(--signal);color:var(--ink);text-decoration:none;font-size:.78rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.button:after{content:"\2192";margin-left:1.4rem;font-size:1.15rem}.button:hover{background:var(--white);border-color:var(--white);color:var(--ink)}.text-link{font-size:.8rem;font-weight:800;letter-spacing:.035em}.hero .text-link{color:var(--white);align-self:center}
.section{padding:clamp(5rem,9vw,8rem) 0}.section-contrast{background:var(--white)}.section-heading{display:grid;grid-template-columns:90px 1fr auto;align-items:end;gap:2rem;margin-bottom:3.5rem}.section-index{align-self:start;color:var(--signal-dark);font:700 .75rem/1 var(--sans);letter-spacing:.1em}.section-rule{border-top:1px solid var(--line)}.two-col{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.7fr);gap:clamp(3rem,9vw,9rem);align-items:start}.two-col h2{font-size:clamp(2.8rem,5.5vw,5.7rem)}
.page-intro{position:relative;width:100%;max-width:none;padding:clamp(4rem,8vw,7.5rem) max(32px,calc((100vw - var(--shell))/2));background:var(--ink);color:var(--white);overflow:hidden}.page-intro:after{content:attr(data-section);position:absolute;right:max(32px,calc((100vw - var(--shell))/2));top:50%;transform:translateY(-50%);color:rgba(255,253,247,.055);font:clamp(8rem,25vw,24rem)/1 var(--serif)}.page-intro>*{position:relative;z-index:1}.page-intro .eyebrow{color:var(--signal)}.page-intro h1{max-width:12ch;font-size:clamp(3.8rem,8vw,7.8rem)}.lede{max-width:44ch;margin:0;color:var(--blue);font:clamp(1.25rem,2.2vw,1.8rem)/1.45 var(--serif)}.prose{color:var(--soft)}.prose p{margin:0 0 1.4rem}.prose h2{margin:4rem 0 1.1rem;color:var(--ink);font-size:clamp(2rem,4vw,3.4rem)}.prose h2:first-child{margin-top:0}.prose-wide{font-size:1.06rem}.prose-wide>h2{position:relative;padding-top:1.15rem;border-top:1px solid var(--line)}.prose-wide>h2:before{content:"\2022";position:absolute;right:0;top:.65rem;color:var(--signal);font-family:var(--sans)}
.catalog-groups{display:grid;gap:6rem}.catalog-group{border-top:2px solid var(--ink);padding-top:1.5rem}.catalog-group-heading{display:grid;grid-template-columns:1fr 1fr;gap:3rem;margin-bottom:3rem}.catalog-group-heading h2{font-size:clamp(2.6rem,5vw,4.8rem)}.catalog-group-heading p{max-width:58ch;margin:.4rem 0 0;color:var(--soft)}.books-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem}.book-card{padding-top:1rem;border-top:1px solid var(--line)}.book-card a{text-decoration:none}.book-card-cover{aspect-ratio:2/3;overflow:hidden;margin-bottom:1.2rem;background:#dedbd3;box-shadow:10px 10px 0 var(--blue)}.book-card-cover img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.book-card a:hover img{transform:scale(1.025)}.book-card-kind{margin:0 0 .6rem;color:var(--signal-dark);font-size:.7rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.book-card h3{margin-bottom:.4rem}.book-card-author{margin:0 0 .4rem;color:var(--soft)}.book-card-credit{margin:0;color:#5b5d62;font-size:.88rem}.empty-state{display:grid;grid-template-columns:90px 1fr;padding:2rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:#5b5d62}.empty-state:before{content:"—";color:var(--signal-dark)}.empty-state p{margin:0}.home-book-groups{display:grid;gap:4rem}.home-book-group+.home-book-group{padding-top:2rem;border-top:1px solid var(--line)}.home-group-title{margin-bottom:1.5rem}
.breadcrumbs{display:flex;flex-wrap:wrap;gap:.55rem;margin-bottom:3rem;color:#5b5d62;font-size:.82rem}.book-detail{padding:4rem 0 7rem}.book-detail-grid{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);gap:clamp(3rem,7vw,6.5rem);align-items:start}.book-detail h1{max-width:13ch;font-size:clamp(3.2rem,6vw,6rem)}.book-cover-wrap{margin:0;box-shadow:14px 14px 0 var(--blue)}.book-author{margin:-.35rem 0 .35rem;font:1.55rem/1.35 var(--serif)}.book-credit{margin:0 0 2rem;color:var(--signal-dark);font-size:.9rem;font-weight:700}.book-description{margin:2rem 0;font-size:1.02rem}.book-meta{margin:2rem 0;border-top:1px solid var(--line)}.book-meta div{display:grid;grid-template-columns:145px 1fr;gap:1rem;padding:.8rem 0;border-bottom:1px solid var(--line)}.book-meta dt{color:#5b5d62;font-size:.82rem}.book-meta dd{margin:0}.book-actions{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:2rem}.contact-card{margin-bottom:7rem;padding:0;border-top:2px solid var(--ink)}.contact-card p{display:grid;grid-template-columns:150px 1fr;gap:1rem;margin:0;padding:1.25rem 0;border-bottom:1px solid var(--line)}.contact-card span{color:#5b5d62;font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.site-footer{padding:4rem 0;background:var(--signal);color:var(--ink)}.footer-grid{display:grid;grid-template-columns:1fr auto;gap:3rem;align-items:end}.footer-grid p{margin:.2rem 0}.footer-name{margin-bottom:.65rem!important;font:clamp(2rem,4vw,3.6rem)/1 var(--serif);letter-spacing:-.03em}.site-footer a:hover{color:var(--ink);text-decoration-thickness:2px}
@media(max-width:900px){.header-inner{grid-template-columns:1fr;gap:.6rem;padding:1.1rem 0 1rem}.site-nav{justify-self:start;flex-wrap:wrap;gap:.1rem 1.3rem}.hero-inner{min-height:690px;grid-template-columns:1fr;gap:3rem}.hero:after{display:none}.hero-side{max-width:540px}.section-heading{grid-template-columns:55px 1fr}.section-heading>.text-link{grid-column:2}.books-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.two-col,.catalog-group-heading{grid-template-columns:1fr}.book-detail-grid{grid-template-columns:minmax(220px,.7fr) 1fr}}
@media(max-width:640px){body{font-size:16px}.shell,.narrow,.book-shell{width:min(calc(100% - 32px),var(--shell))}.header-inner{min-height:0}.brand-mark{width:36px;height:36px}.brand-name{font-size:1.1rem}.site-nav{font-size:.68rem;line-height:1.2;gap:.15rem 1rem}.site-nav a{padding:.45rem 0}.hero:before{width:280px;right:-160px;top:3%;border-width:42px}.hero-inner{min-height:650px;padding-block:4.5rem 3rem}h1{font-size:clamp(3.7rem,18vw,5.2rem)}.hero-lede{font-size:1.3rem}.section{padding-block:4.5rem}.section-heading{grid-template-columns:38px 1fr;gap:1rem}.section-heading>.text-link{grid-column:2}.two-col h2{font-size:3.1rem}.page-intro{padding:4.5rem 16px}.page-intro:after{right:16px}.page-intro h1{font-size:clamp(3.5rem,17vw,5rem)}.books-grid{grid-template-columns:1fr;gap:3rem}.empty-state{grid-template-columns:38px 1fr}.book-detail{padding-top:2rem}.book-detail-grid{grid-template-columns:1fr}.book-cover-wrap{max-width:320px}.book-meta div,.contact-card p{grid-template-columns:1fr;gap:.2rem}.footer-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}
.book-features{margin-top:clamp(5rem,10vw,9rem);padding-top:2rem;border-top:2px solid var(--ink)}.book-features h2{margin-bottom:2.5rem}.feature-gallery{display:grid;gap:1rem}.feature-panel{margin:0;overflow:hidden;background:var(--ink)}.feature-panel img{width:100%;height:auto}

.book-detail-original .lede{color:var(--soft)}

/* Las fichas usan la portada frontal y un tamaño contenido, incluso cuando
   el archivo de origen contiene la cubierta completa con contraportada. */
.book-card-cover{width:min(100%,300px)}
.book-card-cover img{object-position:right center}
.book-cover-wrap{width:min(100%,420px);aspect-ratio:2/3;overflow:hidden}
.book-cover-wrap .book-cover{display:block;width:100%;height:100%;object-fit:cover;object-position:right center}
.book-card-actions{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.9rem}
.button.button-small{min-height:34px;padding:.38rem .65rem;font-size:.62rem;letter-spacing:.04em}
.button.button-small:after{margin-left:.6rem;font-size:.9rem}
