:root{
  --blanco:#FFFFFF;
  --texto:#1A1A1A;
  --texto-suave:#5A5A5A;
  --acento:#1F3A5F;
  --acento-claro:#E8EDF3;
  --linea:#E3E3E3;
  --titulos:'Playfair Display', Georgia, 'Times New Roman', serif;
  --cuerpo:'EB Garamond', Garamond, Georgia, serif;
  --ancho:1080px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--blanco);color:var(--texto);font-family:var(--cuerpo);font-size:20px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
:focus-visible{outline:2px solid var(--acento);outline-offset:3px}
.contenedor{max-width:var(--ancho);margin:0 auto;padding:0 28px}

/* Navegación */
.nav{display:flex;justify-content:space-between;align-items:center;padding:26px 0}
.nav__nombre{font-family:var(--titulos);font-size:22px;font-weight:600;text-decoration:none;letter-spacing:.01em}
.nav__enlaces{display:flex;gap:28px;list-style:none}
.nav__enlaces a{text-decoration:none;font-size:18px;color:var(--texto-suave)}
.nav__enlaces a:hover{color:var(--acento)}
.nav__boton{display:none;background:none;border:0;cursor:pointer;padding:10px;margin-right:-10px}
.nav__boton span{display:block;width:26px;height:2px;background:var(--texto);margin:6px 0;transition:transform .2s,opacity .2s}
.nav__boton[aria-expanded="true"] span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.nav__boton[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav__boton[aria-expanded="true"] span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

/* Encabezado */
.hero{display:grid;grid-template-columns:1.15fr .85fr;gap:64px;align-items:center;padding-top:48px;padding-bottom:96px}
.hero h1{font-family:var(--titulos);font-weight:500;font-size:clamp(38px,4.6vw,58px);line-height:1.08;letter-spacing:-.01em}
.hero h1 span{display:block}
.hero h1 .adentro{color:var(--acento)}
.hero__texto{margin-top:28px;font-size:22px;max-width:30em;color:var(--texto-suave)}
.hero__acciones{margin-top:36px;display:flex;flex-wrap:wrap;gap:22px;align-items:center}
.boton{display:inline-block;background:var(--texto);color:var(--blanco);text-decoration:none;font-family:var(--cuerpo);font-size:19px;padding:14px 28px;border-radius:4px;transition:background .2s}
.boton:hover{background:var(--acento)}
.boton--claro{background:var(--blanco);color:var(--acento)}
.boton--claro:hover{background:var(--acento-claro)}
.enlace{font-size:19px;color:var(--acento);text-underline-offset:4px}
.hero__foto{position:relative}
.hero__foto img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 30%;border-radius:4px}
.hero__foto::after{content:"";position:absolute;left:-18px;bottom:-18px;width:55%;height:55%;border-left:2px solid var(--acento);border-bottom:2px solid var(--acento);z-index:-1}

/* Libros */
.libros{background:var(--acento);color:var(--blanco);padding:96px 0}
.libros h2,.seccion h2{font-family:var(--titulos);font-weight:500;font-size:clamp(30px,3.4vw,40px);line-height:1.2}
.libro{display:grid;grid-template-columns:300px 1fr;gap:64px;align-items:center;margin-top:48px}
.libro__portada img{width:100%;box-shadow:0 18px 40px rgba(0,0,0,.35);border-radius:2px}
.libro h3{font-family:var(--titulos);font-weight:500;font-size:32px;line-height:1.2}
.libro__subtitulo{font-style:italic;font-size:21px;opacity:.85;margin-top:6px}
.libro__descripcion{margin-top:22px;max-width:34em;opacity:.95}
.libro__fecha{margin-top:22px;font-size:19px;padding-top:18px;border-top:1px solid rgba(255,255,255,.25);max-width:34em}
.libro .boton{margin-top:26px}

/* Secciones claras */
.seccion{padding:96px 0}
.seccion + .seccion{border-top:1px solid var(--linea)}
.guia{display:grid;grid-template-columns:1fr 260px;gap:64px;align-items:center}
.guia p{margin-top:18px;max-width:32em;color:var(--texto-suave)}
.guia .boton{margin-top:28px}
.guia__img img{width:100%;box-shadow:0 14px 34px rgba(0,0,0,.14);border:1px solid var(--linea)}
.sobre{max-width:44em}
.sobre p{margin-top:18px}
.contacto p{margin-top:16px;color:var(--texto-suave);max-width:32em}
.contacto a.correo{display:inline-block;margin-top:22px;font-family:var(--titulos);font-size:clamp(22px,3vw,30px);color:var(--acento);text-underline-offset:6px}

/* Pie */
.pie{border-top:1px solid var(--linea);padding:32px 0;font-size:17px;color:var(--texto-suave)}
.pie .contenedor{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}
.pie a{color:var(--texto-suave)}


@media (max-width:820px){
  body{font-size:19px}
  .nav{position:relative}
  .nav__boton{display:block}
  .nav__enlaces{display:none;position:absolute;top:100%;left:-28px;right:-28px;flex-direction:column;gap:0;background:var(--blanco);border-top:1px solid var(--linea);border-bottom:1px solid var(--linea);box-shadow:0 12px 24px rgba(0,0,0,.08);z-index:10}
  .nav__enlaces.abierto{display:flex}
  .nav__enlaces a{display:block;padding:16px 28px;font-size:20px;color:var(--texto)}
  .nav__enlaces li + li{border-top:1px solid var(--linea)}
  .hero{grid-template-columns:1fr;gap:40px;padding-top:16px;padding-bottom:72px}
  .hero__foto{order:-1;max-width:340px}
  .hero__foto::after{left:-12px;bottom:-12px}
  .libros,.seccion{padding:72px 0}
  .libro{grid-template-columns:1fr;gap:36px}
  .libro__portada{max-width:240px}
  .guia{grid-template-columns:1fr;gap:36px}
  .guia__img{max-width:220px;order:-1}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.boton{transition:none}}

/* Página del libro */
.libro-hero{display:grid;grid-template-columns:320px 1fr;gap:64px;align-items:start;padding-top:40px;padding-bottom:88px}
.libro-hero__portada img{width:100%;box-shadow:0 18px 40px rgba(0,0,0,.2);border-radius:2px}
.libro-hero h1{font-family:var(--titulos);font-weight:500;font-size:clamp(36px,4.4vw,54px);line-height:1.1}
.libro-hero .libro__subtitulo{color:var(--texto-suave);opacity:1}
.libro-hero__frase{margin-top:26px;font-family:var(--titulos);font-size:22px;line-height:1.4;color:var(--acento)}
.libro-hero p.cuerpo{margin-top:18px;max-width:34em}
.libro-hero ul{margin:14px 0 0 1.1em;max-width:34em}
.libro-hero li{margin-top:6px}
.libro-hero .libro__fecha{border-top-color:var(--linea);color:var(--texto)}
.libro-hero .boton{margin-top:26px}

/* Formulario */
.form-bloque{background:var(--acento);color:var(--blanco);padding:88px 0}
.form-intro{max-width:40em}
.form-intro h2{font-family:var(--titulos);font-weight:500;font-size:clamp(30px,3.4vw,42px);line-height:1.2}
.form-intro p{margin-top:16px;opacity:.92}
.form-tarjeta{background:var(--blanco);color:var(--texto);border-radius:6px;padding:44px;margin-top:40px;max-width:760px}
.campo{margin-top:30px}
.campo:first-child{margin-top:0}
.campo legend,.campo > label{font-family:var(--titulos);font-size:21px;font-weight:500;display:block;margin-bottom:4px}
.campo .ayuda{font-size:17px;color:var(--texto-suave);margin-bottom:12px;display:block}
fieldset{border:0}
.opciones{display:flex;flex-wrap:wrap;gap:10px}
.opcion{position:relative}
.opcion input{position:absolute;opacity:0;width:1px;height:1px}
.opcion span{display:inline-block;border:1px solid #C9CED6;border-radius:999px;padding:7px 16px;font-size:17px;cursor:pointer;user-select:none;transition:background .15s,border-color .15s}
.opcion input:checked + span{background:var(--acento);border-color:var(--acento);color:var(--blanco)}
.opcion input:focus-visible + span{outline:2px solid var(--acento);outline-offset:2px}
.opcion input:disabled + span{opacity:.4;cursor:not-allowed}
input[type=text],input[type=email],textarea{width:100%;font-family:var(--cuerpo);font-size:19px;color:var(--texto);border:1px solid #C9CED6;border-radius:4px;padding:11px 14px;background:var(--blanco)}
input[type=text]:focus,input[type=email]:focus,textarea:focus{outline:2px solid var(--acento);outline-offset:1px;border-color:var(--acento)}
textarea{min-height:120px;resize:vertical}
.fila{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.obligatorio{color:var(--acento)}
.aceptar{display:flex;gap:12px;align-items:flex-start;font-size:17px;margin-top:30px}
.aceptar input{width:20px;height:20px;margin-top:4px;accent-color:var(--acento);flex-shrink:0}
.error{display:none;color:#A12828;font-size:16px;margin-top:6px}
.error.visible{display:block}
.form-tarjeta .boton{margin-top:30px;border:0;cursor:pointer;width:100%;font-size:20px;padding:16px}
.compromiso{margin-top:14px;font-size:16px;color:var(--texto-suave);text-align:center}
.gracias{display:none;text-align:center}
.gracias h3{font-family:var(--titulos);font-weight:500;font-size:30px}
.gracias p{margin-top:14px;color:var(--texto-suave)}
.gracias .boton{width:auto;margin-top:26px}
.form-tarjeta.enviado form{display:none}
.form-tarjeta.enviado .gracias{display:block}

@media (max-width:820px){
  .libro-hero{grid-template-columns:1fr;gap:36px;padding-top:8px;padding-bottom:64px}
  .libro-hero__portada{max-width:240px}
  .form-bloque{padding:64px 0}
  .form-tarjeta{padding:28px 20px;margin-top:28px}
  .fila{grid-template-columns:1fr}
}

/* Aviso de privacidad */
.legal{max-width:44em;padding-top:32px;padding-bottom:88px}
.legal h1{font-family:var(--titulos);font-weight:500;font-size:clamp(34px,4vw,46px);line-height:1.15}
.legal .fecha{margin-top:8px;color:var(--texto-suave);font-size:18px}
.legal h2{font-family:var(--titulos);font-weight:500;font-size:24px;margin-top:40px}
.legal p,.legal li{margin-top:12px}
.legal ul{margin-left:1.1em}
.legal a{color:var(--acento)}
