
:root{
  --white:#FFFFFF;
  --ivory:#FAF5EF;
  --rose:#E8D6DA;
  --ink:#191719;
  --wine:#902747;
  --muted:#6A6063;
  --max:1180px;
  --serif:"Playfair Display","Times New Roman",serif;
  --sans:"Inter",Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--ink);
  background:var(--white);
  font-family:var(--sans);
  font-size:18px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{display:block;max-width:100%}
a{color:inherit}
a:focus-visible,button:focus-visible{
  outline:3px solid rgba(144,39,71,.30);
  outline-offset:4px;
}

/* Header */
.site-header{
  background:#FFFFFF !important;
  border-bottom:1px solid rgba(25,23,25,.07);
}
.header-inner{
  max-width:var(--max);
  margin:0 auto;
  min-height:86px;
  padding:18px 32px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
}
.brand{
  font-family:var(--serif);
  font-size:26px;
  font-weight:600;
  text-decoration:none;
  letter-spacing:-.02em;
}
.nav{
  display:flex;
  align-items:center;
  gap:30px;
  font-size:15px;
  font-weight:600;
}
.nav a{text-decoration:none}
.nav .nav-link:hover{text-decoration:underline;text-underline-offset:5px}

/* Buttons */
.button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:14px 28px;
  border-radius:6px;
  background:var(--wine);
  color:var(--white);
  text-decoration:none;
  font-size:16px;
  font-weight:700;
  letter-spacing:.01em;
  border:1px solid var(--wine);
  transition:transform .18s ease,opacity .18s ease;
}
.button:hover{transform:translateY(-1px);opacity:.95}
.button.secondary{
  background:transparent;
  color:var(--wine);
}

/* Hero */
.hero{
  background:#FFFFFF !important;
}
.hero-inner{
  max-width:var(--max);
  margin:0 auto;
  padding:82px 32px 104px;
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);
  gap:92px;
  align-items:center;
}
.eyebrow,.kicker{
  margin:0 0 16px;
  color:var(--wine);
  font-size:12px;
  line-height:1.35;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.16em;
}
h1,h2,h3{
  font-family:var(--serif);
  font-weight:600;
  letter-spacing:-.03em;
  margin:0;
}
h1{
  font-size:clamp(60px,6.5vw,88px);
  line-height:1.02;
  max-width:730px;
}
.hero-subtitle{
  margin:26px 0 0;
  max-width:670px;
  font-family:var(--serif);
  font-size:clamp(30px,3vw,42px);
  line-height:1.12;
  letter-spacing:-.025em;
}
.hero-hook{
  margin:52px 0 0;
  max-width:650px;
  font-size:24px;
  line-height:1.45;
  font-weight:700;
}
.hero-intro{
  max-width:610px;
  margin:24px 0 0;
  font-size:21px;
  line-height:1.68;
}
/* Nota discreta sobre la publicación del libro */
.hero-publication{
  margin:28px 0 0;
  max-width:610px;
  color:#6E6669;
  font-size:15px;
  line-height:1.65;
  font-weight:400;
}
.hero-publication a{
  color:var(--wine);
  font-weight:500;
  text-decoration:underline;
  text-underline-offset:3px;
}
.hero-actions{margin-top:30px}
.microcopy{
  margin:12px 0 0;
  color:var(--muted);
  font-size:16px;
  line-height:1.5;
}
.cover-wrap{
  width:min(100%,420px);
  margin-left:auto;
  background:transparent;
  border:0;
  box-shadow:none;
}
.cover-wrap img{
  width:100%;
  height:auto;
  object-fit:contain;
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
  filter:none;
}

/* Sections */
.section{
  padding:112px 32px;
}
.section-inner{
  max-width:var(--max);
  margin:0 auto;
}
.section.white{background:var(--white)}
.section.ivory{background:var(--ivory)}
#la-autora{background:#FDFCF5}
.section.rose{
  background:var(--rose);
  padding-top:126px;
  padding-bottom:126px;
}
h2{
  font-size:clamp(40px,4.3vw,58px);
  line-height:1.08;
  max-width:800px;
}
h3{
  font-size:clamp(32px,3.7vw,46px);
  line-height:1.1;
}
.lead{
  margin:28px 0 0;
  font-size:23px;
  line-height:1.58;
}

/* Book */
.book-grid{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:78px;
  align-items:start;
}
.book-heading h2{
  max-width:500px;
}
.book-copy{
  padding-top:34px;
  max-width:670px;
}
.book-copy p{
  margin:24px 0 0;
  max-width:670px;
  font-size:21px;
  line-height:1.72;
}
.book-copy p:first-child{margin-top:0}
.book-copy .lead{
  font-size:23px;
  line-height:1.58;
}

/* Author */
.author-grid{
  display:grid;
  grid-template-columns:minmax(320px,.8fr) minmax(0,1.2fr);
  gap:84px;
  align-items:center;
}
.author-photo{
  width:100%;
  aspect-ratio:4/5;
  overflow:hidden;
  position:relative;
  background:linear-gradient(180deg,rgba(255,255,255,.97),rgba(255,255,255,.88));
  padding:14px;
  border-radius:18px;
  border:1px solid rgba(144,39,71,.16);
  box-shadow:0 20px 42px rgba(49,33,38,.08);
}
.author-photo::before{
  content:"";
  position:absolute;
  inset:auto 30px 14px 30px;
  height:20%;
  background:linear-gradient(180deg,rgba(144,39,71,0),rgba(144,39,71,.14));
  filter:blur(28px);
  opacity:.55;
  z-index:0;
}
.author-photo img{
  position:relative;
  z-index:1;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 41%;
  border-radius:12px;
  box-shadow:0 10px 22px rgba(25,23,25,.07);
}
.author-copy{
  max-width:650px;
}
.author-copy h2{
  max-width:650px;
}
.author-copy p{
  margin:24px 0 0;
  max-width:650px;
  font-size:21px;
  line-height:1.72;
}
.author-copy p.lead{
  font-size:23px;
  line-height:1.58;
}
.author-copy em{
  font-family:var(--serif);
  font-style:italic;
}
.text-links{
  margin-top:30px;
  display:flex;
  gap:22px;
  flex-wrap:wrap;
  font-size:16px;
  font-weight:700;
}
.text-links a{
  color:var(--wine);
  text-underline-offset:4px;
}

/* Test */
.test-layout{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:80px;
  align-items:start;
}
.test-intro h2{
  max-width:540px;
}
.test-content{
  max-width:660px;
}
.test-copy{
  max-width:660px;
  margin:0;
}
.test-copy p{
  margin:22px 0 0;
  font-size:21px;
  line-height:1.75;
}
.test-copy p:first-child{margin-top:0}
.test-content strong{font-weight:800}
.test-actions{margin-top:36px}

/* Footer */
.site-footer{
  background:var(--wine);
  color:var(--white);
}
.footer-inner{
  max-width:var(--max);
  margin:0 auto;
  padding:58px 32px;
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:40px;
  align-items:end;
}
.footer-title{
  font-family:var(--serif);
  font-size:30px;
  line-height:1.1;
}
.footer-subtitle{
  max-width:520px;
  margin:10px 0 0;
  color:rgba(255,255,255,.78);
  font-size:15px;
}
.footer-author{
  margin:18px 0 0;
  font-size:14px;
  color:rgba(255,255,255,.75);
}
.footer-links{
  justify-self:end;
  display:flex;
  flex-wrap:wrap;
  gap:18px;
  font-size:14px;
}
.footer-links a{
  color:var(--white);
  text-underline-offset:4px;
}

/* Test placeholder page */
.placeholder{
  min-height:calc(100vh - 86px);
  background:var(--ivory);
  display:flex;
  align-items:center;
}
.placeholder-inner{
  max-width:760px;
  margin:0 auto;
  padding:90px 32px;
  text-align:center;
}
.placeholder-inner h1{
  margin:0 auto;
  font-size:clamp(54px,8vw,88px);
}
.placeholder-inner p{
  margin:28px auto 0;
  max-width:650px;
  font-size:20px;
}
.placeholder-inner .button{margin-top:30px}

/* Responsive */
@media (max-width:900px){
  .hero-inner,.book-grid,.author-grid,.test-layout{
    grid-template-columns:1fr;
  }
  .hero-inner{
    gap:54px;
    padding-top:62px;
  }
  .cover-wrap{margin:0 auto}
  .book-grid,.author-grid,.test-layout{gap:42px}
  .book-copy{padding-top:0}
  .author-photo{max-width:560px}
  .author-copy,.author-copy p,.test-content,.test-copy,.book-copy,.book-copy p{
    max-width:100%;
  }
  .footer-inner{grid-template-columns:1fr}
  .footer-links{justify-self:start}
}
@media (max-width:700px){
  body{font-size:17px}
  .header-inner{
    padding:15px 20px;
    min-height:74px;
    gap:14px;
  }
  .brand{font-size:20px}
  .nav{gap:13px}
  .nav .nav-link{display:none}
  .button{
    min-height:46px;
    padding:11px 17px;
  }
  .hero-inner,.section{
    padding-left:22px;
    padding-right:22px;
  }
  .hero-inner{
    padding-top:52px;
    padding-bottom:72px;
  }
  .section{
    padding-top:82px;
    padding-bottom:82px;
  }
  .section.rose{
    padding-top:92px;
    padding-bottom:92px;
  }
  .hero-hook{font-size:21px}
  .hero-intro{font-size:19px}
  .lead,.book-copy .lead,.author-copy p.lead{font-size:21px}
  .book-copy p,.author-copy p,.test-copy p{font-size:19px}
  .footer-inner{padding:46px 22px}
}

/* Ajuste de escala exclusivamente en escritorio.
   Los estilos de tablet y móvil permanecen intactos. */
@media (min-width:901px){
  .hero h1{font-size:clamp(60px,5vw,70px)}
  .hero-subtitle{font-size:clamp(30px,2.4vw,34px)}
  .hero-hook{font-size:21px}
  .hero-intro{font-size:19px}
}

