
:root { --ink:#2c2221; --plum:#8f3456; --cream:#fff9f2; --paper:#fffdf9; --ochre:#82966f; --blush:#f8e6e7; --apricot:#dfead9; --line:rgba(44,34,33,.2); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; overflow-x:hidden; background:var(--paper); color:var(--ink); font-family:Arial,Helvetica,sans-serif; }
a { color:inherit; }
button,input,textarea { font:inherit; }
.topbar { position:fixed; inset:0 0 auto; z-index:30; height:76px; padding:0 4vw; display:grid; grid-template-columns:64px 1fr auto; align-items:center; gap:20px; color:var(--ink); background:rgba(255,253,249,.9); border-bottom:1px solid rgba(44,34,33,.09); backdrop-filter:blur(10px); }
.topbar>span { font-size:12px; letter-spacing:.12em; text-transform:uppercase; }
.wordmark { width:42px; height:42px; display:grid; place-items:center; border:1px solid rgba(44,34,33,.5); border-radius:50%; text-decoration:none; font-family:Georgia,serif; }
.primary-cta { display:inline-flex; align-items:center; justify-content:space-between; gap:24px; width:max-content; padding:15px 18px; background:var(--plum); color:white; text-decoration:none; font-size:13px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; }
.primary-cta--light { background:var(--plum); color:white; }
.full-scene { min-height:100svh; position:relative; display:flex; align-items:flex-end; overflow:hidden; color:var(--ink); }
.full-scene>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:55% center; }
.full-scene--right>img { object-position:38% center; }
.scene-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(255,253,249,.96),rgba(255,253,249,.65) 44%,rgba(255,253,249,.05) 72%); }
.full-scene--right .scene-shade { background:linear-gradient(270deg,rgba(255,253,249,.96),rgba(255,253,249,.68) 44%,rgba(255,253,249,.05) 75%); }
.scene-content { position:relative; z-index:2; width:min(720px,88vw); margin:0 6vw 8vh; }
.full-scene--right .scene-content { margin-left:auto; margin-right:7vw; }
.eyebrow,.chapter-marker { text-transform:uppercase; letter-spacing:.14em; font-size:12px; font-weight:700; }
.chapter-marker { display:flex; align-items:center; gap:12px; margin:0 0 44px; }
.chapter-marker span { display:grid; place-items:center; width:34px; height:34px; border:1px solid currentColor; border-radius:50%; font-size:10px; }
h1,h2,h3,p { margin-top:0; }
h1,h2 { font-family:Georgia,"Times New Roman",serif; font-weight:400; letter-spacing:-.035em; }
h1 { margin:12px 0 18px; font-size:clamp(72px,10vw,154px); line-height:.82; max-width:820px; }
.hero-promise { max-width:650px; margin-bottom:14px; font-family:Georgia,serif; font-size:clamp(25px,3vw,44px); line-height:1.08; }
.hero-intro { max-width:610px; font-size:17px; line-height:1.55; margin-bottom:30px; }
.story { padding:120px 6vw; }
.story--paper { background:var(--paper); }
.story--ink { background:var(--blush); color:var(--ink); }
.story--plum { background:var(--apricot); color:var(--ink); }
.story-inner { max-width:1240px; margin:auto; }
.editorial-grid { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr); gap:8vw; align-items:start; }
.editorial-grid>* { min-width:0; }
.editorial-grid h2,.wide-title { font-size:clamp(42px,6vw,84px); line-height:1.02; }
.editorial-grid p,.scene-content>p,.closing p { font-size:18px; line-height:1.65; }
.facts { display:flex; flex-wrap:wrap; gap:10px; margin-top:80px; }
.facts span { padding:12px 16px; border:1px solid var(--line); border-radius:999px; font-size:13px; }
.full-scene h2 { max-width:720px; font-size:clamp(42px,6vw,84px); line-height:1; }
.full-scene .scene-content>p:last-child { max-width:590px; }
.notes { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:rgba(44,34,33,.16); margin-top:70px; }
.notes article { background:rgba(255,253,249,.74); padding:42px 34px 48px; min-height:310px; }
.notes article>span,.movements article>span { color:var(--ochre); font-size:12px; }
.notes h3 { margin:70px 0 20px; font-family:Georgia,serif; font-size:30px; font-weight:400; }
.notes p,.movements p { line-height:1.6; color:rgba(44,34,33,.78); }
.editorial-grid--movements h2 { font-size:clamp(42px,5vw,72px); }
.movements article { display:grid; grid-template-columns:42px 1fr; gap:22px; padding:22px 0; border-top:1px solid rgba(44,34,33,.22); }
.movements article:last-child { border-bottom:1px solid rgba(44,34,33,.22); }
.movements article>span { padding-top:7px; }
.movements h3 { margin-bottom:6px; font-family:Georgia,serif; font-size:28px; font-weight:400; }
.movements h3,.movements p { overflow-wrap:anywhere; }
.movements p { margin:0; }
blockquote { max-width:900px; margin:100px 0 0; padding-left:34px; border-left:2px solid var(--plum); font-family:Georgia,serif; font-size:clamp(28px,4vw,52px); line-height:1.18; }
.faq-list { margin-top:60px; border-top:1px solid rgba(44,34,33,.22); }
details { border-bottom:1px solid rgba(44,34,33,.22); }
summary { list-style:none; cursor:pointer; display:flex; justify-content:space-between; gap:30px; padding:27px 0; font-family:Georgia,serif; font-size:24px; }
summary::-webkit-details-marker { display:none; }
summary span { color:var(--ochre); font-family:Arial,sans-serif; transition:transform .2s; }
details[open] summary span { transform:rotate(45deg); }
details p { max-width:780px; padding:0 0 28px; color:rgba(44,34,33,.76); line-height:1.65; }
.closing { display:grid; grid-template-columns:.85fr 1.15fr; min-height:90svh; background:var(--cream); }
.closing-copy { padding:110px 6vw; background:#dfead9; }
.closing h2 { font-size:clamp(46px,6vw,84px); line-height:1; }
.author { margin-top:80px; font-size:15px!important; }
.contact-form { padding:110px 6vw; align-self:center; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.contact-form label { display:grid; gap:9px; margin-bottom:22px; font-size:12px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
.contact-form input,.contact-form textarea { width:100%; border:0; border-bottom:1px solid var(--ink); border-radius:0; background:transparent; padding:10px 2px; color:var(--ink); outline:none; text-transform:none; letter-spacing:normal; }
.contact-form input:focus,.contact-form textarea:focus { border-color:var(--plum); border-bottom-width:2px; }
.contact-form button { width:100%; display:flex; justify-content:space-between; border:0; padding:18px 20px; background:var(--plum); color:white; font-weight:700; text-transform:uppercase; letter-spacing:.06em; cursor:pointer; }
.contact-form button:disabled { cursor:not-allowed; opacity:.48; }
.consent { display:grid!important; grid-template-columns:20px 1fr; gap:12px!important; align-items:start; margin:8px 0 22px!important; font-size:12px!important; font-weight:400!important; line-height:1.5; letter-spacing:normal!important; text-transform:none!important; }
.consent input { width:18px; height:18px; margin:1px 0 0; accent-color:var(--plum); }
.consent a { color:var(--plum); font-weight:700; }
.form-honeypot { position:absolute!important; left:-10000px; width:1px; height:1px; overflow:hidden; }
.pending,.form-status { margin:12px 0 0; font-size:12px!important; line-height:1.45!important; }
.pending { padding:12px 14px; background:var(--apricot); border-left:3px solid var(--ochre); }
.form-status:empty { display:none; }
footer { display:flex; justify-content:space-between; padding:28px 6vw; background:var(--blush); color:rgba(44,34,33,.72); border-top:1px solid rgba(44,34,33,.1); font-size:12px; }
.legal-page { min-height:100vh; background:var(--paper); }
.legal-nav { min-height:76px; padding:14px 6vw; display:flex; align-items:center; justify-content:space-between; gap:20px; border-bottom:1px solid var(--line); background:rgba(255,253,249,.94); }
.legal-nav>a:last-child { color:var(--plum); font-size:13px; font-weight:700; text-decoration:none; text-transform:uppercase; letter-spacing:.05em; }
.legal-document { width:min(900px,88vw); margin:0 auto; padding:100px 0 120px; }
.legal-document h1 { margin:12px 0 24px; font-size:clamp(52px,8vw,96px); line-height:.92; }
.legal-intro { max-width:700px; font-family:Georgia,serif; font-size:25px; line-height:1.35; }
.legal-document section { padding:42px 0; border-top:1px solid var(--line); }
.legal-document h2 { margin-bottom:18px; font-size:32px; letter-spacing:-.02em; }
.legal-document p,.legal-document dd { font-size:16px; line-height:1.7; }
.legal-document a { color:var(--plum); }
.legal-document dl { margin:0; }
.legal-document dl>div { display:grid; grid-template-columns:160px 1fr; gap:20px; padding:12px 0; border-bottom:1px solid rgba(44,34,33,.1); }
.legal-document dt { font-size:12px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
.legal-document dd { margin:0; }
.legal-pending { color:#8a2c2c; font-weight:700; }
@media (max-width:760px) {
  .topbar { height:64px; grid-template-columns:46px 1fr; padding:0 20px; }
  .topbar>span { font-size:9px; text-align:right; }
  .topbar .primary-cta { display:none; }
  .full-scene { min-height:92svh; }
  .full-scene>img,.full-scene--right>img { object-position:64% center; }
  .scene-shade,.full-scene--right .scene-shade { background:linear-gradient(0deg,rgba(255,253,249,.98),rgba(255,253,249,.76) 58%,rgba(255,253,249,.08)); }
  .scene-content,.full-scene--right .scene-content { width:auto; margin:0 24px 7vh; }
  h1 { font-size:clamp(64px,22vw,96px); }
  .hero-intro { font-size:15px; }
  .story { padding:80px 24px; }
  .chapter-marker { margin-bottom:30px; }
  .editorial-grid,.notes,.closing { grid-template-columns:1fr; }
  .editorial-grid { gap:28px; }
  .editorial-grid h2,.wide-title,.full-scene h2,.closing h2 { font-size:clamp(39px,12vw,58px); }
  .editorial-grid p,.scene-content>p,.closing p { font-size:16px; }
  .facts { margin-top:50px; }
  .notes article { min-height:0; }
  .notes h3 { margin-top:34px; }
  .editorial-grid--movements { gap:60px; }
  blockquote { margin-top:70px; padding-left:22px; }
  .closing-copy,.contact-form { padding:80px 24px; }
  .form-grid { grid-template-columns:1fr; gap:0; }
  .legal-nav { min-height:64px; padding:11px 24px; }
  .legal-document { width:auto; padding:70px 24px 90px; }
  .legal-document h1 { font-size:clamp(50px,17vw,72px); }
  .legal-intro { font-size:21px; }
  .legal-document dl>div { grid-template-columns:1fr; gap:5px; }
  footer { padding:24px; flex-direction:column; gap:8px; }
}
@media (max-height:520px) and (orientation:landscape) { .full-scene { min-height:650px; } .scene-content { margin-bottom:40px; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } * { transition:none!important; } }

/* Cierre unificado: una sola superficie visual, sin el corte verde/blanco. */
.closing { display:block; min-height:auto; padding:120px 6vw; background:var(--apricot); }
.closing-copy { max-width:820px; margin:0 auto; padding:0; background:transparent; text-align:center; }
.closing-copy .chapter-marker { justify-content:center; }
.closing h2 { max-width:760px; margin-left:auto; margin-right:auto; }
.closing-copy>p:not(.chapter-marker):not(.author) { max-width:660px; margin-left:auto; margin-right:auto; }
.closing .author { margin-top:52px; }
.contact-form { max-width:520px; margin:0 auto; padding:34px 0 0; text-align:center; }
.contact-form p { margin-bottom:24px; }
.contact-form .primary-cta { margin:0 auto; }
@media (max-width:760px) { .closing { padding:80px 24px; } .closing-copy,.contact-form { padding:0; } }

/* Los cinco movimientos ocupan el ancho disponible y no dejan una columna vacía. */
.editorial-grid--movements { display:block; }
.editorial-grid--movements>div:first-child { max-width:780px; margin:0 auto 64px; text-align:center; }
.editorial-grid--movements .movements { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; background:rgba(44,34,33,.16); margin-top:0; }
.editorial-grid--movements .movements article { min-height:245px; padding:34px 30px 38px; background:var(--paper); display:block; border:0; }
.editorial-grid--movements .movements article>span { display:block; margin-bottom:42px; }
.editorial-grid--movements .movements article h3 { margin:0 0 14px; }
.editorial-grid--movements .movements article p { margin:0; }
.editorial-grid--movements .movements article:last-child { grid-column:2; }
@media (max-width:760px) { .editorial-grid--movements>div:first-child { margin-bottom:42px; } .editorial-grid--movements .movements { grid-template-columns:1fr; } .editorial-grid--movements .movements article:last-child { grid-column:auto; } }

/* Cinco bloques en una sola línea: sin celda vacía ni cambio de fondo en la última posición. */
.editorial-grid--movements .movements { grid-template-columns:repeat(5,minmax(0,1fr)); gap:16px; background:transparent; }
.editorial-grid--movements .movements article { min-height:285px; padding:30px 24px 34px; border:1px solid rgba(44,34,33,.16); }
.editorial-grid--movements .movements article:last-child { grid-column:auto; }
@media (max-width:980px) and (min-width:761px) { .editorial-grid--movements .movements { grid-template-columns:repeat(3,minmax(0,1fr)); } .editorial-grid--movements .movements article:last-child { grid-column:2; } }
@media (max-width:760px) { .editorial-grid--movements .movements { grid-template-columns:1fr; gap:1px; background:rgba(44,34,33,.16); } .editorial-grid--movements .movements article { min-height:0; } }
