:root {
  --night: #071521;
  --night-soft: #0d2231;
  --ink: #14242c;
  --ivory: #f4f0e7;
  --paper: #fbf9f4;
  --gold: #c9a45c;
  --gold-light: #e2c887;
  --blue: #2c6072;
  --line: rgba(20, 36, 44, 0.16);
  --serif: Georgia, "Times New Roman", serif;
  --sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: var(--sans);
  font-size: 17px;
  line-height: 1.65;
}
a { color: inherit; }
.skip-link {
  position: fixed;
  left: 1rem;
  top: -5rem;
  z-index: 100;
  background: var(--ivory);
  color: var(--night);
  padding: .7rem 1rem;
}
.skip-link:focus { top: 1rem; }

.site-header {
  position: absolute;
  inset: 0 0 auto;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 88px;
  padding: 0 clamp(1.3rem, 5vw, 5rem);
  color: var(--ivory);
  border-bottom: 1px solid rgba(244, 240, 231, .15);
}
.brand {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
}
.brand-logo {
  display: block;
  width: clamp(205px, 19vw, 285px);
  line-height: 0;
}
.brand-logo img {
  display: block;
  width: 100%;
  height: auto;
}
.site-nav { display: flex; gap: clamp(.75rem, 1.2vw, 1.4rem); margin-left: clamp(1.75rem, 2.4vw, 3rem); }
.site-nav a {
  color: rgba(244, 240, 231, .8);
  font-size: .83rem;
  letter-spacing: .08em;
  text-decoration: none;
  text-transform: uppercase;
}
.site-nav a:hover, .site-nav a:focus-visible { color: var(--gold-light); }
.menu-button {
  display: none;
  color: var(--ivory);
  background: transparent;
  border: 1px solid rgba(244, 240, 231, .35);
  padding: .55rem .8rem;
  font: inherit;
}

.hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(310px, .92fr);
  gap: clamp(2rem, 5vw, 7rem);
  min-height: 100svh;
  padding: clamp(9rem, 16vh, 12rem) clamp(1.3rem, 7vw, 7rem) clamp(5rem, 10vh, 8rem);
  overflow: hidden;
  color: var(--ivory);
  background:
    radial-gradient(circle at 70% 38%, rgba(44, 96, 114, .26), transparent 28%),
    linear-gradient(135deg, #06131f 0%, #0a1d2b 68%, #0e2a38 100%);
}
.hero::before {
  content: "";
  position: absolute;
  width: 60vw;
  aspect-ratio: 1;
  right: -31vw;
  top: 10vh;
  border: 1px solid rgba(226, 200, 135, .13);
  border-radius: 50%;
}
.hero-copy { align-self: center; position: relative; z-index: 1; max-width: 770px; }
.eyebrow {
  margin: 0 0 1.4rem;
  color: var(--gold-light);
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .16em;
  line-height: 1.45;
  text-transform: uppercase;
}
h1, h2, h3 { margin-top: 0; font-family: var(--serif); font-weight: 400; line-height: 1.06; }
h1 { margin-bottom: 1.8rem; font-size: clamp(3.2rem, 6.2vw, 6.7rem); letter-spacing: -.045em; }
h1 em { color: var(--gold-light); font-weight: 400; }
.intro { max-width: 670px; margin: 0; color: rgba(244, 240, 231, .77); font-family: var(--serif); font-size: clamp(1.15rem, 1.6vw, 1.4rem); }
.hero-actions { display: flex; align-items: center; gap: 2rem; margin-top: 2.7rem; }
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: .8rem 1.35rem;
  border: 1px solid transparent;
  font-size: .88rem;
  letter-spacing: .05em;
  text-decoration: none;
}
.button-primary { color: var(--night); background: var(--gold-light); }
.button-primary:hover, .button-primary:focus-visible { background: var(--ivory); }
.text-link { color: var(--ivory); text-underline-offset: .35rem; }
.text-link span { margin-left: .4rem; color: var(--gold-light); }
.hero-visual { position: relative; align-self: center; margin: 0; }
.image-placeholder {
  position: relative;
  width: min(100%, 540px);
  aspect-ratio: 1 / 1.12;
  margin-left: auto;
  overflow: hidden;
  border: 1px solid rgba(226, 200, 135, .3);
  border-radius: 50% 50% 7px 7px;
  background: #071521;
}
.image-placeholder img { width: 100%; height: 100%; object-fit: cover; object-position: 58% center; }
.hero-visual figcaption { margin: 1.2rem 0 0 auto; max-width: 330px; color: rgba(244,240,231,.58); font-size: .78rem; letter-spacing: .08em; text-align: right; text-transform: uppercase; }
.scroll-note { position: absolute; left: clamp(1.3rem, 7vw, 7rem); bottom: 1.5rem; margin: 0; color: rgba(244, 240, 231, .45); font-size: .7rem; letter-spacing: .14em; text-transform: uppercase; }

.section-shell {
  display: grid;
  grid-template-columns: 60px minmax(210px, .7fr) minmax(300px, 1fr);
  column-gap: clamp(1.5rem, 5vw, 6rem);
  padding: clamp(5rem, 10vw, 9rem) clamp(1.3rem, 7vw, 7rem);
  border-bottom: 1px solid var(--line);
}
.section-number { color: var(--blue); font-size: .76rem; letter-spacing: .12em; }
.section-heading h2, .author-title h2 { font-size: clamp(2.3rem, 4vw, 4.6rem); letter-spacing: -.035em; }
.section-heading.wide { grid-column: 2 / -1; }
.manifesto-copy { max-width: 730px; }
.manifesto-copy > p:first-child { margin-top: 0; font-family: var(--serif); font-size: 1.35rem; line-height: 1.55; }
.manifesto-copy blockquote { margin: 3rem 0 0; padding: 2rem 0 0; border-top: 1px solid var(--gold); color: var(--blue); font-family: var(--serif); font-size: 1.55rem; line-height: 1.35; }

.territories { background: var(--ivory); }
.territory-grid { grid-column: 2 / -1; display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 3rem; border-top: 1px solid var(--line); }
.territory-grid article { min-height: 270px; padding: 2rem clamp(1rem, 2.5vw, 2.5rem) 1rem 0; border-right: 1px solid var(--line); }
.territory-grid article + article { padding-left: clamp(1rem, 2.5vw, 2.5rem); }
.territory-grid article:last-child { border-right: 0; }
.territory-index { color: var(--gold); font-family: var(--serif); font-size: 1.05rem; }
.territory-grid h3 { margin: 4.5rem 0 1.2rem; font-size: 1.75rem; }
.territory-grid p { color: #516069; }

.works { background: var(--paper); }
.works-heading { display: flex; align-items: end; justify-content: space-between; gap: 2rem; }
.section-note { max-width: 260px; margin-bottom: 1.3rem; color: #68747a; font-size: .9rem; }
.works-list { grid-column: 2 / -1; display: grid; grid-template-columns: repeat(2, 1fr); margin-top: 3rem; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.work-card { position: relative; min-height: 330px; padding: clamp(1.6rem, 3vw, 3rem); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.work-card.featured { color: var(--ivory); background: var(--night-soft); }
.work-kind { color: var(--blue); font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; }
.featured .work-kind { color: var(--gold-light); }
.work-card h3 { max-width: 520px; margin: 3.2rem 0 1.2rem; font-size: clamp(1.8rem, 3vw, 2.8rem); }
.work-card p:not(.work-kind) { max-width: 520px; color: #5b686f; }
.featured p:not(.work-kind) { color: rgba(244,240,231,.7); }
.work-status { position: absolute; left: clamp(1.6rem, 3vw, 3rem); bottom: 1.8rem; color: var(--gold); font-size: .75rem; letter-spacing: .1em; text-transform: uppercase; }
.works-more { grid-column: 2 / -1; margin-top: 2rem; }
.text-link.dark { color: var(--blue); font-weight: 600; }

.author { grid-template-columns: 60px minmax(260px, .8fr) minmax(300px, 1fr); background: #edf0ee; }
.author-copy .lead { margin-top: 0; color: var(--blue); font-family: var(--serif); font-size: 1.4rem; line-height: 1.5; }
.author-principle { grid-column: 3; margin-top: 2.5rem; padding: 1.6rem; border-left: 2px solid var(--gold); background: rgba(255,255,255,.5); }
.author-principle span { color: var(--blue); font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; }
.author-principle p { margin-bottom: 0; font-family: var(--serif); font-size: 1.2rem; }

.closing { padding: clamp(6rem, 12vw, 11rem) clamp(1.3rem, 12vw, 12rem); color: var(--ivory); text-align: center; background: var(--night); }
.closing h2 { max-width: 950px; margin: 0 auto 3rem; font-size: clamp(2.4rem, 5vw, 5rem); letter-spacing: -.035em; }
.button-light { border-color: rgba(244,240,231,.45); color: var(--ivory); }
.button-light:hover, .button-light:focus-visible { border-color: var(--gold-light); color: var(--gold-light); }
.site-footer { display: flex; justify-content: space-between; gap: 1rem; padding: 1.5rem clamp(1.3rem, 7vw, 7rem); color: rgba(244,240,231,.6); background: #041019; font-size: .75rem; letter-spacing: .08em; text-transform: uppercase; }
.site-footer p { margin: 0; }
.site-footer a { text-underline-offset: .25rem; }
.social-links { display: flex; justify-content: center; gap: 1.4rem; }
.social-links a { color: var(--gold-light); text-decoration-color: rgba(226,200,135,.38); }
.social-links a:hover, .social-links a:focus-visible { color: var(--ivory); text-decoration-color: currentColor; }
.footer-legal { color: rgba(244,240,231,.58); }

/* Privacidad y propiedad intelectual */
.policy-page { background: var(--paper); }
.policy-hero { padding: clamp(6rem,11vw,10rem) clamp(1.3rem,12vw,12rem); color: var(--ivory); background: radial-gradient(circle at 80% 28%,rgba(44,96,114,.35),transparent 27%),var(--night); }
.policy-hero h1 { max-width: 1050px; color: var(--gold-light); }
.policy-hero > p:last-child { max-width: 700px; color: rgba(244,240,231,.7); font-family: var(--serif); font-size: clamp(1.15rem,2vw,1.5rem); }
.policy-content { display: grid; grid-template-columns: minmax(190px,.35fr) minmax(300px,1fr); gap: clamp(3rem,8vw,8rem); padding: clamp(5rem,9vw,8rem) clamp(1.3rem,10vw,10rem); }
.policy-content aside { align-self: start; position: sticky; top: 2rem; padding-top: 1rem; border-top: 1px solid var(--gold); }
.policy-content aside p { margin: 0 0 .3rem; color: var(--blue); font-size: .73rem; letter-spacing: .12em; text-transform: uppercase; }
.policy-content aside strong, .policy-content aside a { display: block; margin-top: .5rem; font-size: .86rem; }
.policy-content aside a { color: var(--blue); overflow-wrap: anywhere; }
.policy-sections section { display: grid; grid-template-columns: 3rem 1fr; column-gap: 1.5rem; padding: 0 0 3.5rem; margin-bottom: 3.5rem; border-bottom: 1px solid var(--line); }
.policy-sections section > span { color: var(--gold); font-family: var(--serif); }
.policy-sections h2, .policy-sections p { grid-column: 2; }
.policy-sections h2 { margin-bottom: 1.3rem; font-size: clamp(2rem,3.5vw,3.4rem); }
.policy-sections p { max-width: 760px; margin: 0 0 1rem; color: #4e5d65; }
.policy-sections a { color: var(--blue); }

/* Contacto */
.contact-page { background: var(--night); }
.contact-hero { display: grid; grid-template-columns: minmax(300px,1.15fr) minmax(300px,.85fr); align-items: center; gap: clamp(3rem,8vw,9rem); min-height: calc(100svh - 88px); padding: clamp(6rem,11vw,10rem) clamp(1.3rem,9vw,9rem); color: var(--ivory); background: radial-gradient(circle at 77% 40%,rgba(44,96,114,.36),transparent 25%),linear-gradient(145deg,#06131e,#0d2837 60%,#06131e); }
.contact-hero h1 { color: var(--gold-light); }
.contact-hero > div > p:last-child { max-width: 650px; color: rgba(244,240,231,.72); font-family: var(--serif); font-size: clamp(1.2rem,2vw,1.55rem); }
.contact-orbit { position: relative; display: flex; flex-direction: column; justify-content: center; width: min(100%,470px); aspect-ratio: 1; margin-left: auto; padding: clamp(2rem,5vw,4rem); overflow: hidden; color: var(--ivory); border: 1px solid rgba(226,200,135,.46); border-radius: 50%; text-decoration: none; }
.contact-orbit::before { content: ""; position: absolute; inset: 10%; border: 1px solid rgba(226,200,135,.16); border-radius: 50%; transition: transform .4s ease; }
.contact-orbit:hover::before, .contact-orbit:focus-visible::before { transform: scale(.88); }
.contact-orbit span { position: relative; color: var(--gold-light); font-size: .75rem; letter-spacing: .14em; text-transform: uppercase; }
.contact-orbit strong { position: relative; margin-top: 1rem; font-family: var(--serif); font-size: clamp(1.1rem,2.1vw,1.65rem); font-weight: 400; line-height: 1.35; }
.contact-orbit i { position: relative; margin-top: 1.4rem; color: var(--gold-light); font-family: var(--serif); font-size: 2rem; font-style: normal; }
.contact-paths { padding: clamp(6rem,10vw,9rem) clamp(1.3rem,7vw,7rem); background: var(--ivory); }
.contact-paths-heading { display: grid; grid-template-columns: .55fr 1fr; gap: 2rem; align-items: end; }
.contact-paths-heading h2 { max-width: 760px; margin: 0; font-size: clamp(2.8rem,5.5vw,6rem); letter-spacing: -.045em; }
.contact-paths-grid { display: grid; grid-template-columns: repeat(3,1fr); margin-top: clamp(3rem,6vw,6rem); border-top: 1px solid var(--line); }
.contact-paths-grid article { padding: 2rem clamp(1.2rem,3vw,3rem) 1rem 0; border-right: 1px solid var(--line); }
.contact-paths-grid article + article { padding-left: clamp(1.2rem,3vw,3rem); }
.contact-paths-grid article:last-child { border-right: 0; }
.contact-paths-grid span { color: var(--gold); font-family: var(--serif); }
.contact-paths-grid h3 { margin: 3.5rem 0 1.2rem; font-size: 1.8rem; }
.contact-paths-grid p { min-height: 7.5rem; color: #58666d; }
.contact-paths-grid a { color: var(--blue); font-size: .83rem; font-weight: 650; letter-spacing: .04em; text-underline-offset: .3rem; }
.contact-channels { display: grid; grid-template-columns: .7fr 1.3fr; gap: clamp(3rem,8vw,9rem); padding: clamp(6rem,10vw,9rem) clamp(1.3rem,7vw,7rem); color: var(--ivory); background: var(--night-soft); }
.contact-channels h2 { font-size: clamp(2.5rem,4vw,4.5rem); }
.contact-channel-list { border-top: 1px solid rgba(244,240,231,.2); }
.contact-channel-list a { display: grid; grid-template-columns: .35fr 1fr auto; gap: 1rem; align-items: center; padding: 1.6rem 0; color: var(--ivory); border-bottom: 1px solid rgba(244,240,231,.2); text-decoration: none; }
.contact-channel-list span { color: var(--gold-light); font-size: .73rem; letter-spacing: .12em; text-transform: uppercase; }
.contact-channel-list strong { font-family: var(--serif); font-size: clamp(1.05rem,2vw,1.35rem); font-weight: 400; }
.contact-channel-list i { color: var(--gold-light); font-style: normal; }

/* Biblioteca de obras */
.works-page { background: var(--paper); }
.inner-header { position: relative; color: var(--ivory); background: var(--night); }
.works-intro {
  padding: clamp(6rem, 11vw, 10rem) clamp(1.3rem, 12vw, 12rem) clamp(4rem, 7vw, 6rem);
  color: var(--ivory);
  background: radial-gradient(circle at 82% 20%, rgba(44,96,114,.38), transparent 28%), var(--night);
}
.works-intro h1 { margin-bottom: 1.5rem; color: var(--gold-light); }
.works-intro > p:last-child { max-width: 760px; margin: 0; color: rgba(244,240,231,.74); font-family: var(--serif); font-size: clamp(1.2rem, 2vw, 1.55rem); }
.library { padding: clamp(3rem, 7vw, 7rem) clamp(1.3rem, 7vw, 7rem); }
.book-entry {
  display: grid;
  grid-template-columns: minmax(150px, .34fr) minmax(280px, 1fr);
  min-height: 390px;
  border-top: 1px solid var(--line);
}
.book-entry:last-child { border-bottom: 1px solid var(--line); }
.book-identity {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 300px;
  margin: 2rem clamp(1.5rem, 5vw, 5rem) 2rem 0;
  overflow: hidden;
  color: var(--gold-light);
  background: var(--night-soft);
  border: 1px solid rgba(201,164,92,.35);
}
.book-entry:nth-child(2n) .book-identity { color: var(--night); background: var(--gold-light); }
.book-identity::after { content: ""; position: absolute; width: 68%; aspect-ratio: 1; border: 1px solid currentColor; border-radius: 50%; opacity: .35; }
.book-identity span { position: absolute; top: 1rem; left: 1rem; font-family: var(--serif); font-size: .9rem; }
.book-identity strong { position: relative; z-index: 1; font-family: var(--serif); font-size: clamp(2.6rem, 5vw, 5.5rem); font-weight: 400; letter-spacing: -.06em; }
.book-cover {
  align-self: center;
  width: min(100%, 360px);
  margin: 2rem clamp(1.5rem, 5vw, 5rem) 2rem 0;
  overflow: hidden;
  border: 1px solid rgba(20,36,44,.16);
  box-shadow: 0 24px 55px rgba(7,21,33,.17);
}
.book-cover img { display: block; width: 100%; height: auto; }
.book-copy { align-self: center; padding: 3rem 0; }
.book-meta { margin: 0 0 2.4rem; color: var(--blue); font-size: .75rem; font-weight: 600; letter-spacing: .13em; text-transform: uppercase; }
.book-copy h2 { max-width: 820px; margin-bottom: 1.5rem; font-size: clamp(2.15rem, 4.4vw, 4.8rem); letter-spacing: -.04em; }
.book-copy > p:last-child { max-width: 720px; margin-bottom: 0; color: #58666d; font-size: 1.05rem; }
.book-copy .book-credit { margin-top: 1.4rem; color: var(--blue); font-size: .82rem; letter-spacing: .06em; text-transform: uppercase; }
.book-detail-link { display: inline-block; margin-top: 1.8rem; color: var(--blue); font-size: .85rem; font-weight: 600; letter-spacing: .06em; text-underline-offset: .35rem; text-transform: uppercase; }
.covers-note { padding: clamp(6rem, 11vw, 10rem) clamp(1.3rem, 12vw, 12rem); color: var(--ivory); background: var(--night-soft); }
.covers-note h2 { max-width: 800px; margin-bottom: 1.5rem; font-size: clamp(2.5rem, 5vw, 5.5rem); letter-spacing: -.04em; }
.covers-note > p:not(.eyebrow) { max-width: 680px; margin-bottom: 2.5rem; color: rgba(244,240,231,.7); }

@media (max-width: 1120px) {
  .site-nav { margin-left: 0; }
  .site-header { min-height: 74px; }
  .menu-button { display: block; }
  .site-nav { position: absolute; top: 74px; left: 0; right: 0; display: none; flex-direction: column; gap: 0; padding: .7rem 1.3rem 1rem; background: #071521f5; border-bottom: 1px solid rgba(244,240,231,.15); }
  .site-nav.open { display: flex; }
  .contact-paths-heading, .contact-channels { grid-template-columns: 1fr; }
  .contact-paths-grid { grid-template-columns: 1fr; }
  .contact-paths-grid article, .contact-paths-grid article + article { padding: 2rem 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .contact-paths-grid p { min-height: 0; }
  .site-nav a { padding: .8rem 0; }
  .hero { grid-template-columns: 1fr; padding-top: 8.5rem; }
  .hero-visual { width: min(80%, 540px); justify-self: end; }
  .section-shell { grid-template-columns: 34px 1fr; column-gap: 1.2rem; }
  .section-heading, .manifesto-copy, .author-title, .author-copy { grid-column: 2; }
  .manifesto-copy { margin-top: 2rem; }
  .section-heading.wide, .works-list, .territory-grid { grid-column: 2; }
  .territory-grid { grid-template-columns: 1fr; }
  .territory-grid article, .territory-grid article + article { min-height: 0; padding: 2rem 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .territory-grid h3 { margin-top: 2rem; }
  .author-copy { margin-top: 2rem; }
  .author-principle { grid-column: 2; }
  .works-more { grid-column: 2; }
}

@media (max-width: 620px) {
  .brand-logo { width: 64px; }
  .brand-logo img { max-height: 48px; object-fit: contain; }
  .site-footer { align-items: flex-start; flex-direction: column; }
  .social-links { justify-content: flex-start; }
  .contact-hero { grid-template-columns: 1fr; }
  .contact-orbit { width: min(78vw,340px); margin: 0 auto; }
  .contact-channel-list a { grid-template-columns: 1fr auto; }
  .contact-channel-list strong { grid-column: 1 / -1; grid-row: 2; }
  .policy-content { grid-template-columns: 1fr; }
  .policy-content aside { position: static; }
  .policy-sections section { grid-template-columns: 2rem 1fr; column-gap: .8rem; }
  body { font-size: 16px; }
  .brand { font-size: .96rem; }
  .hero { min-height: auto; padding-bottom: 5rem; }
  h1 { font-size: clamp(3rem, 14vw, 4.3rem); }
  .hero-actions { align-items: flex-start; flex-direction: column; gap: 1.2rem; }
  .hero-visual { width: 100%; margin-top: 1rem; }
  .scroll-note { display: none; }
  .section-shell { grid-template-columns: 1fr; }
  .section-number, .section-heading, .manifesto-copy, .section-heading.wide, .works-list, .territory-grid, .author-title, .author-copy, .author-principle { grid-column: 1; }
  .section-number { margin-bottom: 1rem; }
  .works-heading { display: block; }
  .works-list { grid-template-columns: 1fr; }
  .work-card { min-height: 310px; }
  .site-footer { flex-direction: column; }
  .works-more { grid-column: 1; }
  .book-entry { grid-template-columns: 1fr; padding: 2.5rem 0; }
  .book-identity { width: min(72vw, 280px); min-height: 340px; margin: 0 0 2rem; }
  .book-cover { width: min(82vw, 330px); margin: 0 0 2rem; }
  .book-copy { padding: 0; }
  .book-meta { margin-bottom: 1.5rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}

/* Experiencia de profundidad — página principal */
.immersive-home {
  --depth-shift: 0px;
  background: #06121c;
}
.immersive-home .site-header {
  position: fixed;
  min-height: 78px;
  background: linear-gradient(180deg, rgba(4,16,25,.82), rgba(4,16,25,.18));
  border-bottom-color: rgba(226,200,135,.09);
  backdrop-filter: blur(10px);
  transition: background .5s ease, min-height .5s ease;
}
.immersive-home.page-scrolled .site-header { min-height: 68px; background: rgba(4,16,25,.9); }
.immersive-home main { position: relative; overflow: hidden; }
.immersive-home main::before {
  content: "";
  position: absolute;
  z-index: 4;
  top: 100vh;
  bottom: 6rem;
  left: clamp(1.1rem, 3.1vw, 3.2rem);
  width: 1px;
  background: linear-gradient(180deg, transparent, rgba(226,200,135,.7) 7%, rgba(226,200,135,.16) 88%, transparent);
  pointer-events: none;
}
.immersive-home main::after {
  content: "";
  position: absolute;
  z-index: 5;
  top: calc(100vh + 7rem);
  left: calc(clamp(1.1rem, 3.1vw, 3.2rem) - 4px);
  width: 9px;
  height: 9px;
  border: 1px solid var(--gold-light);
  border-radius: 50%;
  background: #06121c;
  box-shadow: 0 0 20px rgba(226,200,135,.45);
  pointer-events: none;
}
.immersive-home .depth-hero {
  isolation: isolate;
  display: grid;
  place-items: center;
  min-height: 100svh;
  padding: 8.5rem 1.5rem 5rem;
  text-align: center;
  background: #030b12;
}
.depth-sky { position: absolute; inset: 0; z-index: -1; overflow: hidden; }
.depth-sky::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 50% 47%, transparent 0 12%, rgba(3,11,18,.18) 30%, rgba(3,11,18,.91) 72%), linear-gradient(180deg, rgba(4,13,21,.1), #030b12 98%);
  z-index: 3;
}
.depth-sky::after {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .22;
  background-image: radial-gradient(rgba(244,240,231,.42) .55px, transparent .8px);
  background-size: 37px 37px;
  mask-image: radial-gradient(circle at center, black, transparent 72%);
}
.portal-image {
  position: absolute;
  inset: -8% -5%;
  transform: translateY(var(--depth-shift)) scale(1.08);
  opacity: .38;
  filter: saturate(.75) contrast(1.08);
  transition: transform .1s linear;
}
.portal-image img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.portal-glow {
  position: absolute;
  z-index: 4;
  left: 50%;
  top: 48%;
  width: clamp(210px, 30vw, 460px);
  aspect-ratio: 1;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: radial-gradient(circle, rgba(244,240,231,.22), rgba(226,200,135,.08) 32%, transparent 68%);
  box-shadow: 0 0 100px rgba(201,164,92,.16), inset 0 0 65px rgba(244,240,231,.08);
}
.depth-orbit {
  position: absolute;
  z-index: 4;
  left: 50%;
  top: 48%;
  aspect-ratio: 1;
  border: 1px solid rgba(226,200,135,.2);
  border-radius: 50%;
  transform: translate(-50%, -50%);
}
.orbit-one { width: clamp(300px, 43vw, 650px); animation: breathe 9s ease-in-out infinite; }
.orbit-two { width: clamp(440px, 61vw, 920px); opacity: .55; animation: breathe 12s ease-in-out 1.5s infinite reverse; }
.orbit-three { width: clamp(620px, 84vw, 1260px); opacity: .25; }
@keyframes breathe { 0%, 100% { transform: translate(-50%,-50%) scale(1); opacity: .55; } 50% { transform: translate(-50%,-50%) scale(1.025); opacity: .92; } }
.immersive-home .hero-copy { align-self: auto; max-width: 1040px; }
.immersive-home .hero-copy .eyebrow { margin-bottom: 2.2rem; color: rgba(226,200,135,.75); }
.immersive-home .hero h1 { margin-bottom: 2rem; font-size: clamp(4.1rem, 9.5vw, 10rem); line-height: .78; letter-spacing: -.065em; text-shadow: 0 8px 60px rgba(0,0,0,.72); }
.immersive-home .hero h1 em { display: inline-block; margin-left: .18em; font-size: .74em; letter-spacing: .03em; }
.immersive-home .hero .intro { max-width: 690px; margin: 0 auto; color: rgba(244,240,231,.75); font-size: clamp(1.1rem, 1.65vw, 1.42rem); }
.threshold-link {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: .85rem;
  margin-top: 3.5rem;
  color: var(--ivory);
  font-size: .75rem;
  letter-spacing: .16em;
  text-decoration: none;
  text-transform: uppercase;
}
.threshold-link i { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid rgba(226,200,135,.45); border-radius: 50%; color: var(--gold-light); font-style: normal; transition: transform .4s ease, background .4s ease; }
.threshold-link:hover i, .threshold-link:focus-visible i { transform: translateY(6px); background: rgba(226,200,135,.12); }
.depth-whisper { position: absolute; right: clamp(1.3rem,4vw,4rem); bottom: 2rem; margin: 0; color: rgba(244,240,231,.34); font-size: .66rem; letter-spacing: .18em; text-transform: uppercase; writing-mode: vertical-rl; }

.immersive-home .depth-chamber { position: relative; padding-top: clamp(7rem, 13vw, 13rem); padding-bottom: clamp(7rem, 13vw, 13rem); }
.immersive-home .section-number { color: rgba(201,164,92,.7); writing-mode: vertical-rl; }
.immersive-home .manifesto {
  min-height: 88vh;
  color: var(--ivory);
  background: radial-gradient(circle at 76% 35%, rgba(44,96,114,.2), transparent 30%), linear-gradient(180deg, #030b12, #071824 68%, #0b202d);
  border-bottom-color: rgba(244,240,231,.08);
}
.immersive-home .manifesto .section-heading h2 { max-width: 580px; }
.immersive-home .manifesto-copy { padding: clamp(1.4rem,3vw,3rem); background: rgba(8,27,40,.38); border: 1px solid rgba(226,200,135,.13); box-shadow: 0 30px 90px rgba(0,0,0,.25); backdrop-filter: blur(9px); }
.immersive-home .manifesto-copy > p { color: rgba(244,240,231,.72); }
.immersive-home .manifesto-copy > p:first-child { color: rgba(244,240,231,.92); }
.immersive-home .manifesto-copy blockquote { color: var(--gold-light); }

.immersive-home .territories { color: var(--ivory); background: linear-gradient(155deg, #0b202d 0%, #102c3a 52%, #071824 100%); border-bottom-color: rgba(244,240,231,.08); }
.immersive-home .territory-grid { gap: clamp(1rem,2.5vw,2.5rem); border: 0; perspective: 1200px; }
.immersive-home .territory-grid article {
  min-height: 330px;
  padding: 2.2rem;
  border: 1px solid rgba(244,240,231,.11);
  background: linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.015));
  box-shadow: 0 28px 70px rgba(0,0,0,.2);
  backdrop-filter: blur(6px);
}
.immersive-home .territory-grid article:nth-child(2) { transform: translateY(3.5rem); }
.immersive-home .territory-grid article:nth-child(3) { transform: translateY(7rem); }
.immersive-home .territory-grid h3 { color: var(--ivory); }
.immersive-home .territory-grid p { color: rgba(244,240,231,.6); }

.immersive-home .works {
  padding-top: clamp(12rem,18vw,18rem);
  color: var(--ink);
  background:
    radial-gradient(circle at 8% 22%, rgba(201,164,92,.14), transparent 25%),
    linear-gradient(180deg, #506772 0%, #b4c0c0 11%, #c7cecd 48%, #b5c1c1 89%, #526a75 100%);
}
.immersive-home .works-list { gap: clamp(1.2rem,2vw,2rem); border: 0; perspective: 1000px; }
.immersive-home .work-card { border: 1px solid rgba(20,36,44,.13); background: rgba(231,235,233,.62); box-shadow: 0 25px 70px rgba(8,22,35,.13); backdrop-filter: blur(7px); }
.immersive-home .work-card:nth-child(2n) { transform: translateY(2rem); }
.immersive-home .work-card.featured { background: linear-gradient(145deg, #0d2635, #071521); box-shadow: 0 36px 85px rgba(8,22,35,.28); }

.immersive-home .foundation-home {
  position: relative;
  min-height: 82vh;
  align-items: center;
  color: var(--ivory);
  background: radial-gradient(circle at 25% 50%, rgba(44,96,114,.32), transparent 34%), linear-gradient(150deg, #081824, #102b39 58%, #06131e);
  border-bottom-color: rgba(244,240,231,.08);
}
.foundation-logo-wrap { grid-column: 2; padding: clamp(1.2rem,3vw,2.3rem); background: #f7f7f5; box-shadow: 0 38px 90px rgba(0,0,0,.3); transform: rotate(-1.4deg); }
.foundation-logo-wrap img { display: block; width: 100%; height: auto; }
.foundation-home-copy { grid-column: 3; max-width: 680px; }
.foundation-home-copy h2 { margin-bottom: 1.7rem; font-size: clamp(2.4rem,4.3vw,4.9rem); letter-spacing: -.04em; }
.foundation-home-copy > p:not(.eyebrow) { margin-bottom: 2rem; color: rgba(244,240,231,.68); }

.immersive-home .author {
  position: relative;
  isolation: isolate;
  min-height: 90vh;
  color: var(--ivory);
  background: radial-gradient(circle at 19% 52%, rgba(201,164,92,.16), transparent 24%), linear-gradient(135deg, #071521, #102c3a 56%, #06131e);
  border-bottom-color: rgba(244,240,231,.08);
}
.immersive-home .author::after { content: ""; position: absolute; z-index: -1; width: min(48vw,680px); aspect-ratio: 1; left: 7%; top: 50%; transform: translateY(-50%); border: 1px solid rgba(226,200,135,.13); border-radius: 50%; box-shadow: 0 0 0 70px rgba(226,200,135,.025), 0 0 0 140px rgba(226,200,135,.015); }
.immersive-home .author-copy p { color: rgba(244,240,231,.68); }
.immersive-home .author-copy .lead { color: var(--gold-light); }
.immersive-home .author-principle { background: rgba(255,255,255,.035); border-top: 1px solid rgba(244,240,231,.08); border-right: 1px solid rgba(244,240,231,.08); border-bottom: 1px solid rgba(244,240,231,.08); }
.immersive-home .author-principle span { color: var(--gold-light); }
.observations-letter {
  position: relative;
  isolation: isolate;
  min-height: 88vh;
  align-items: center;
  overflow: hidden;
  color: var(--ivory);
  background:
    radial-gradient(circle at 76% 48%, rgba(201,164,92,.15), transparent 22%),
    radial-gradient(circle at 22% 44%, rgba(44,96,114,.34), transparent 30%),
    linear-gradient(145deg, #06131e, #102c3a 56%, #071521);
  border-bottom-color: rgba(244,240,231,.08);
}
.observations-letter::before,
.observations-letter::after {
  content: "";
  position: absolute;
  z-index: -1;
  border: 1px solid rgba(226,200,135,.12);
  border-radius: 50%;
}
.observations-letter::before { width: min(54vw,760px); aspect-ratio: 1; right: -8%; top: 50%; transform: translateY(-50%); }
.observations-letter::after { width: min(34vw,480px); aspect-ratio: 1; right: 2%; top: 50%; transform: translateY(-50%); }
.observations-letter-copy { grid-column: 2; max-width: 720px; }
.observations-letter-copy h2 { max-width: 680px; margin-bottom: 1.7rem; font-size: clamp(2.6rem,4.8vw,5.4rem); letter-spacing: -.045em; }
.observations-letter-lead { color: var(--gold-light); font-family: var(--serif); font-size: clamp(1.2rem,2vw,1.55rem); line-height: 1.55; }
.observations-letter-copy > p:not(.eyebrow):not(.observations-letter-lead):not(.observations-letter-note) { max-width: 650px; color: rgba(244,240,231,.68); }
.observations-letter-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 1.4rem; margin-top: 2.3rem; }
.observations-letter-note { margin-top: 1.4rem; color: rgba(244,240,231,.48); font-size: .82rem; }
.observations-letter-gift { grid-column: 3; width: min(100%,420px); justify-self: end; padding: clamp(2rem,4vw,3.5rem); border: 1px solid rgba(226,200,135,.3); background: linear-gradient(150deg, rgba(255,255,255,.075), rgba(255,255,255,.018)); box-shadow: 0 32px 80px rgba(0,0,0,.28); backdrop-filter: blur(7px); transform: rotate(1.3deg); }
.observations-letter-gift > span { color: var(--gold-light); font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; }
.observations-letter-gift h3 { margin: 4.5rem 0 .5rem; color: var(--ivory); font-size: clamp(2rem,3.6vw,3.8rem); }
.observations-letter-gift > p { margin-top: 0; color: rgba(244,240,231,.64); font-family: var(--serif); font-size: 1.2rem; }
.observations-letter-gift > a { display: flex; align-items: center; gap: 1rem; margin-top: 4rem; color: var(--ivory); text-decoration: none; }
.observations-letter-gift i { display: grid; place-items: center; width: 3.4rem; aspect-ratio: 1; border: 1px solid var(--gold); border-radius: 50%; color: var(--gold-light); font-family: var(--serif); font-style: normal; }
.observations-letter-gift strong { font-size: .85rem; letter-spacing: .08em; text-transform: uppercase; }
.observations-letter-gift > a:hover strong,
.observations-letter-gift > a:focus-visible strong { color: var(--gold-light); }
.immersive-home .closing { position: relative; min-height: 84vh; display: grid; place-content: center; background: radial-gradient(circle at center, #153343 0, #071521 44%, #030b12 100%); }
.immersive-home .closing::before { content: ""; position: absolute; inset: 12% 28%; border: 1px solid rgba(226,200,135,.15); border-radius: 50%; box-shadow: 0 0 80px rgba(201,164,92,.08); }
.immersive-home .closing > * { position: relative; }
.closing-actions { display: flex; align-items: center; justify-content: center; gap: 1.5rem; }
.immersive-home .site-footer { border-top: 1px solid rgba(226,200,135,.1); }

@media (max-width: 900px) {
  .observations-letter { grid-template-columns: 40px 1fr; row-gap: 3.5rem; }
  .observations-letter-copy { grid-column: 2; }
  .observations-letter-gift { grid-column: 2; justify-self: start; }
}

@media (max-width: 620px) {
  .observations-letter { grid-template-columns: 1fr; padding-top: 6rem; padding-bottom: 6rem; }
  .observations-letter .section-number,
  .observations-letter-copy,
  .observations-letter-gift { grid-column: 1; }
  .observations-letter-actions { align-items: flex-start; flex-direction: column; }
  .observations-letter-gift { width: 100%; transform: none; }
  .observations-letter::before { width: 120vw; right: -55%; }
  .observations-letter::after { width: 82vw; right: -34%; }
}

/* Cuaderno de visitantes */
.guestbook-page { color: var(--ink); background: var(--night); }
.guestbook-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(290px, .95fr) minmax(320px, 1.05fr);
  align-items: center;
  min-height: 78svh;
  padding: clamp(7rem, 12vw, 11rem) clamp(1.3rem, 10vw, 10rem);
  overflow: hidden;
  color: var(--ivory);
  background: radial-gradient(circle at 26% 48%, rgba(44,96,114,.42), transparent 30%), linear-gradient(145deg,#04101a,#102c3a 62%,#06131e);
}
.guestbook-heading { position: relative; z-index: 2; grid-column: 1; }
.guestbook-heading h1 { font-size: clamp(3.6rem, 7vw, 7.6rem); }
.guestbook-heading h1 em { color: var(--gold-light); }
.guestbook-heading > p:last-child { max-width: 650px; color: rgba(244,240,231,.72); font-family: var(--serif); font-size: clamp(1.15rem,1.8vw,1.45rem); }
.guestbook-orbits { position: absolute; width: min(62vw,760px); aspect-ratio: 1; right: -7%; top: 50%; transform: translateY(-50%); border: 1px solid rgba(226,200,135,.18); border-radius: 50%; }
.guestbook-orbits i { position: absolute; border: 1px solid rgba(226,200,135,.13); border-radius: 50%; }
.guestbook-orbits i:nth-child(1) { inset: 12%; }
.guestbook-orbits i:nth-child(2) { inset: 25%; }
.guestbook-orbits i:nth-child(3) { inset: 38%; }
.guestbook-orbits span { position: absolute; width: 16px; height: 16px; left: 50%; top: 50%; transform: translate(-50%,-50%); border-radius: 50%; background: var(--gold-light); box-shadow: 0 0 40px rgba(226,200,135,.5); }
.guestbook-exchange { display: grid; grid-template-columns: minmax(280px,.8fr) minmax(340px,1.2fr); gap: clamp(3rem,8vw,9rem); padding: clamp(6rem,11vw,11rem) clamp(1.3rem,9vw,9rem); background: linear-gradient(160deg,#b6c1c0,#d4dad7 48%,#aab8b9); }
.guestbook-gift { align-self: start; position: sticky; top: 2rem; }
.gift-index { display: block; margin: 2rem 0 1rem; color: var(--gold); font-family: var(--serif); font-size: 4rem; }
.guestbook-gift h2 { max-width: 590px; font-size: clamp(2.4rem,4.5vw,5rem); letter-spacing: -.04em; }
.guestbook-gift > p:not(.eyebrow) { max-width: 620px; color: #4e5d65; }
.guestbook-gift ul { max-width: 620px; margin: 2.3rem 0 0; padding: 0; list-style: none; border-top: 1px solid rgba(20,36,44,.18); }
.guestbook-gift li { padding: 1rem 0 1rem 1.8rem; border-bottom: 1px solid rgba(20,36,44,.18); }
.guestbook-gift li::before { content: "○"; float: left; margin-left: -1.8rem; color: var(--blue); }
.guestbook-form-wrap { min-width: 0; }
.guestbook-form { padding: clamp(1.6rem,4vw,4rem); background: rgba(244,240,231,.92); border-top: 3px solid var(--gold); box-shadow: 0 35px 90px rgba(7,21,33,.19); }
.guestbook-form-heading span { color: var(--blue); font-size: .75rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.guestbook-form-heading h2, .guestbook-download h2 { margin: 1rem 0 1.2rem; font-size: clamp(2rem,3.5vw,3.7rem); }
.guestbook-form-heading p { color: #58666d; }
.guestbook-form > label:not(.guestbook-consent) { display: flex; flex-direction: column; gap: .45rem; margin-top: 1.35rem; }
.guestbook-form > label > span { font-size: .87rem; font-weight: 650; }
.guestbook-form input[type="text"], .guestbook-form input[type="email"], .guestbook-form textarea { width: 100%; min-height: 50px; padding: .8rem .9rem; color: var(--ink); background: #fffefa; border: 1px solid rgba(20,36,44,.25); border-radius: 0; font: inherit; font-size: 1rem; }
.guestbook-form textarea { min-height: 180px; resize: vertical; }
.guestbook-form input:focus, .guestbook-form textarea:focus { outline: 2px solid var(--blue); outline-offset: 2px; }
.guestbook-consent { display: grid; grid-template-columns: auto 1fr; gap: .75rem; align-items: start; margin: 1.5rem 0; color: #4f5d65; }
.guestbook-consent input { width: 20px; height: 20px; margin-top: .18rem; accent-color: var(--blue); }
.guestbook-consent a { color: var(--blue); }
.guestbook-submit { color: var(--night); background: var(--gold-light); border: 0; cursor: pointer; font-family: var(--sans); }
.guestbook-submit:hover, .guestbook-submit:focus-visible { background: var(--night); color: var(--ivory); }
.guestbook-note { margin: 1rem 0 0; color: #66727a; font-size: .82rem; }
.guestbook-download { margin-top: 2rem; padding: clamp(2rem,4vw,4rem); color: var(--ivory); background: radial-gradient(circle at 85% 25%,rgba(201,164,92,.14),transparent 25%),var(--night); border: 1px solid rgba(226,200,135,.25); }
.guestbook-download[hidden] { display: none; }
.guestbook-download p:not(.eyebrow) { color: rgba(244,240,231,.7); }
.guestbook-download cite { font-family: var(--serif); }
.guestbook-download .button { margin-top: 1rem; }

/* Serendipias y Cuaderno de investigación */
.serendipias-page, .research-page { color: var(--ink); background: var(--paper); }
.editorial-hero { position: relative; display: grid; grid-template-columns: 1.1fr .9fr; align-items: center; min-height: 78svh; padding: clamp(7rem,12vw,11rem) clamp(1.3rem,9vw,9rem); overflow: hidden; color: var(--ivory); }
.serendipias-hero { background: radial-gradient(circle at 76% 42%,rgba(201,164,92,.16),transparent 28%),linear-gradient(140deg,#071521,#123241 62%,#06131e); }
.research-hero { background: radial-gradient(circle at 75% 44%,rgba(44,96,114,.42),transparent 28%),linear-gradient(145deg,#030b12,#0a202e 62%,#102c3a); }
.editorial-hero-copy { position: relative; z-index: 2; }
.editorial-hero h1 { margin-bottom: 2rem; font-size: clamp(4rem,8vw,8.8rem); }
.editorial-hero h1 em { color: var(--gold-light); }
.editorial-hero-copy > p:last-child { max-width: 690px; color: rgba(244,240,231,.72); font-family: var(--serif); font-size: clamp(1.2rem,2vw,1.55rem); }
.serendipity-map { position: relative; justify-self: end; width: min(40vw,550px); aspect-ratio: 1; border: 1px solid rgba(226,200,135,.22); border-radius: 50%; }
.serendipity-map i { position: absolute; width: 11px; height: 11px; border-radius: 50%; background: var(--gold-light); box-shadow: 0 0 30px rgba(226,200,135,.45); }
.serendipity-map i:nth-of-type(1) { left: 17%; top: 29%; }
.serendipity-map i:nth-of-type(2) { right: 18%; top: 22%; }
.serendipity-map i:nth-of-type(3) { right: 23%; bottom: 19%; }
.serendipity-map b { position: absolute; inset: 25%; border: 1px solid rgba(226,200,135,.14); border-radius: 50%; }
.serendipity-map span { position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); color: var(--gold-light); font-size: .74rem; letter-spacing: .14em; text-transform: uppercase; }
.research-key { justify-self: end; width: min(100%,470px); padding: clamp(1.7rem,4vw,3.5rem); border: 1px solid rgba(226,200,135,.22); background: rgba(4,16,25,.38); backdrop-filter: blur(8px); }
.research-key > span { display: block; margin-bottom: 2rem; color: var(--gold-light); font-size: .74rem; letter-spacing: .14em; text-transform: uppercase; }
.research-key p { margin: 0; font-family: var(--serif); font-size: clamp(1.2rem,2vw,1.65rem); }
.research-key i { display: block; width: 1px; height: 22px; margin: .55rem 0 .55rem .3rem; background: rgba(226,200,135,.36); }
.editorial-intro { display: grid; grid-template-columns: 70px minmax(260px,.85fr) minmax(320px,1.15fr); gap: clamp(2rem,6vw,7rem); padding: clamp(6rem,11vw,11rem) clamp(1.3rem,9vw,9rem); background: #c7cecd; }
.editorial-number { margin: 0; color: var(--gold); font-family: var(--serif); font-size: 3.5rem; }
.editorial-intro h2 { font-size: clamp(2.6rem,4.7vw,5.2rem); letter-spacing: -.04em; }
.editorial-intro-copy { max-width: 720px; }
.editorial-intro-copy p { margin-top: 0; color: #4e5d65; }
.editorial-intro-copy p:first-child { color: var(--blue); font-family: var(--serif); font-size: 1.35rem; }
.editorial-shelves { padding: clamp(7rem,12vw,12rem) clamp(1.3rem,8vw,8rem); color: var(--ivory); background: linear-gradient(155deg,#06131e,#102c3a 58%,#071521); }
.editorial-shelves > header { display: grid; grid-template-columns: .55fr 1.45fr; gap: 2rem; align-items: end; margin-bottom: 4rem; }
.editorial-shelves > header h2 { max-width: 950px; margin: 0; font-size: clamp(2.7rem,5vw,5.7rem); letter-spacing: -.04em; }
.editorial-card-grid, .research-types { display: grid; grid-template-columns: repeat(2,1fr); border-top: 1px solid rgba(244,240,231,.14); border-left: 1px solid rgba(244,240,231,.14); }
.editorial-card-grid article, .research-types article { min-height: 285px; padding: clamp(1.7rem,3vw,3rem); border-right: 1px solid rgba(244,240,231,.14); border-bottom: 1px solid rgba(244,240,231,.14); background: rgba(255,255,255,.025); }
.editorial-card-grid span, .research-types span { color: var(--gold-light); font-size: .74rem; letter-spacing: .12em; text-transform: uppercase; }
.editorial-card-grid h3, .research-types h3 { margin: 3.5rem 0 1rem; font-size: clamp(1.7rem,2.7vw,2.6rem); }
.editorial-card-grid p, .research-types p { max-width: 570px; color: rgba(244,240,231,.62); }
.empty-archive { display: grid; grid-template-columns: .5fr 1.5fr; gap: 2rem; margin-top: 4rem; padding-top: 1.5rem; border-top: 1px solid rgba(226,200,135,.25); }
.empty-archive span { color: var(--gold-light); font-size: .76rem; letter-spacing: .12em; text-transform: uppercase; }
.empty-archive p { max-width: 620px; margin: 0; color: rgba(244,240,231,.63); }
.serendipity-feature { display: grid; grid-template-columns: .5fr 1.3fr auto; align-items: end; gap: clamp(1.5rem,4vw,4rem); margin-top: 4rem; padding: 2.2rem 0; color: var(--ivory); border-top: 1px solid rgba(226,200,135,.38); border-bottom: 1px solid rgba(226,200,135,.2); text-decoration: none; }
.serendipity-feature-number { align-self: start; color: var(--gold-light); font-size: .76rem; letter-spacing: .12em; text-transform: uppercase; }
.serendipity-feature h3 { max-width: 760px; margin: 0 0 1rem; font-size: clamp(2rem,3.7vw,4.2rem); line-height: 1.08; }
.serendipity-feature p { max-width: 720px; margin: 0; color: rgba(244,240,231,.64); }
.serendipity-feature i { color: var(--gold-light); font-family: var(--serif); font-size: 1.05rem; font-style: normal; transition: transform .3s ease; }
.serendipity-feature:hover i, .serendipity-feature:focus-visible i { transform: translateX(.45rem); }

/* Lectura de Serendipias */
.serendipity-article-page { color: var(--ink); background: #c7cecd; }
.article-hero { min-height: 72svh; padding: clamp(8rem,15vw,13rem) clamp(1.3rem,11vw,11rem) clamp(5rem,9vw,8rem); color: var(--ivory); background: radial-gradient(circle at 82% 28%,rgba(201,164,92,.14),transparent 25%),linear-gradient(145deg,#06131e,#123241 60%,#06131e); }
.article-hero h1 { max-width: 1050px; margin-bottom: 2rem; font-size: clamp(3.1rem,6.4vw,7rem); letter-spacing: -.045em; }
.article-hero-intro { max-width: 760px; margin: 0; color: rgba(244,240,231,.74); font-family: var(--serif); font-size: clamp(1.15rem,2vw,1.55rem); line-height: 1.55; }
.article-reading { display: grid; grid-template-columns: minmax(150px,.42fr) minmax(300px,1fr); gap: clamp(2rem,8vw,9rem); padding: clamp(6rem,11vw,11rem) clamp(1.3rem,11vw,11rem); background: linear-gradient(180deg,#b5c0bf,#c7cecd 18%,#c7cecd); }
.article-aside { align-self: start; position: sticky; top: 2rem; padding-top: 1.1rem; border-top: 1px solid var(--gold); }
.article-aside span { display: block; color: var(--blue); font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; }
.article-aside strong { display: block; margin-top: .6rem; font-family: var(--serif); font-size: 1.05rem; font-weight: 400; }
.article-body { max-width: 790px; }
.article-body p { margin: 0 0 1.8rem; font-family: var(--serif); font-size: clamp(1.12rem,1.55vw,1.28rem); line-height: 1.9; text-align: justify; hyphens: auto; }
.article-body .article-opening { margin-bottom: 3.2rem; color: var(--blue); font-size: clamp(1.35rem,2.3vw,1.8rem); line-height: 1.62; }
.article-body blockquote { margin: 4rem 0; padding: 2rem 0 2rem clamp(1.4rem,4vw,3rem); color: var(--blue); border-left: 2px solid var(--gold); font-family: var(--serif); font-size: clamp(1.6rem,3vw,2.6rem); line-height: 1.38; }
.article-signature { margin-top: 4rem !important; color: var(--blue); text-align: right !important; }
.article-question { padding: clamp(7rem,12vw,12rem) clamp(1.3rem,12vw,12rem); color: var(--ivory); background: radial-gradient(circle at 75% 45%,rgba(201,164,92,.14),transparent 25%),#041019; }
.article-question p:last-child { max-width: 970px; margin: 0; font-family: var(--serif); font-size: clamp(2.2rem,5vw,5.4rem); line-height: 1.15; }
.article-return { display: inline-block; margin-top: 3rem; color: var(--gold-light); text-underline-offset: .35rem; }
.article-body h2 { margin: clamp(4.5rem,8vw,7rem) 0 2rem; color: var(--blue); font-size: clamp(2.25rem,4vw,4rem); letter-spacing: -.035em; }
.article-reflection-list { margin: 2.5rem 0 3rem; padding: 2rem clamp(1.3rem,4vw,3rem); border-top: 1px solid rgba(20,36,44,.22); border-bottom: 1px solid rgba(20,36,44,.22); }
.article-reflection-list p { margin: 0 0 .7rem; color: var(--blue); font-size: clamp(1.25rem,2vw,1.65rem); text-align: left; }
.article-reflection-list p:last-child { margin-bottom: 0; }
.observation-article-hero { background: radial-gradient(circle at 78% 32%,rgba(201,164,92,.18),transparent 24%),linear-gradient(150deg,#04101a,#143746 57%,#071521); }
.article-closing-actions { display: flex; align-items: baseline; flex-wrap: wrap; gap: 1.5rem 2.5rem; }
.article-closing-actions .article-return { margin-top: 3rem; }
.home-reading { color: var(--ink); background: linear-gradient(145deg,#aab8b7,#c1c9c7); }
.home-reading .section-number { color: rgba(20,36,44,.44); }
.home-reading-copy { grid-column: 2; max-width: 760px; margin-top: 2rem; }
.home-reading-copy p { margin: 0 0 1.7rem; color: rgba(20,36,44,.78); font-family: var(--serif); font-size: clamp(1.2rem,2vw,1.55rem); line-height: 1.65; }
.editorial-bridge, .research-principle { padding: clamp(7rem,12vw,12rem) clamp(1.3rem,12vw,12rem); color: var(--ivory); background: radial-gradient(circle at 75% 50%,rgba(201,164,92,.12),transparent 24%),#030b12; }
.editorial-bridge h2 { max-width: 900px; margin-bottom: 3rem; font-size: clamp(3rem,6vw,6.5rem); letter-spacing: -.05em; }
.research-types { grid-template-columns: repeat(3,1fr); }
.research-types article { min-height: 270px; }
.research-principle blockquote { max-width: 1050px; margin: 0 0 3rem; color: var(--ivory); font-family: var(--serif); font-size: clamp(2.4rem,5vw,5.2rem); line-height: 1.16; }
.research-feature { display: grid; grid-template-columns: .5fr 1.3fr auto; align-items: end; gap: clamp(1.5rem,4vw,4rem); margin-top: 4rem; padding: 2.2rem 0; color: var(--ivory); border-top: 1px solid rgba(226,200,135,.38); border-bottom: 1px solid rgba(226,200,135,.2); text-decoration: none; }
.research-feature-number { align-self: start; color: var(--gold-light); font-size: .76rem; letter-spacing: .12em; text-transform: uppercase; }
.research-feature h3 { max-width: 760px; margin: 0 0 1rem; font-size: clamp(2rem,3.7vw,4.2rem); }
.research-feature p { max-width: 720px; margin: 0; color: rgba(244,240,231,.64); }
.research-feature i { color: var(--gold-light); font-family: var(--serif); font-size: 1.05rem; font-style: normal; transition: transform .3s ease; }
.research-feature:hover i, .research-feature:focus-visible i { transform: translateX(.45rem); }

/* Laboratorio de palabras */
.word-lab-page { color: var(--ink); background: #c7cecd; }
.word-lab-hero { position: relative; min-height: 70svh; padding: clamp(8rem,15vw,13rem) clamp(1.3rem,11vw,11rem) clamp(5rem,9vw,8rem); overflow: hidden; color: var(--ivory); background: radial-gradient(circle at 80% 35%,rgba(44,96,114,.42),transparent 27%),linear-gradient(145deg,#030b12,#0a202e 62%,#102c3a); }
.word-lab-hero::after { content: "Aa"; position: absolute; right: clamp(1rem,9vw,9rem); bottom: -1.8rem; color: rgba(226,200,135,.09); font-family: var(--serif); font-size: clamp(10rem,28vw,28rem); line-height: .7; }
.word-lab-hero > * { position: relative; z-index: 1; }
.word-lab-hero h1 { max-width: 1050px; margin-bottom: 2rem; font-size: clamp(3.6rem,7.4vw,8rem); letter-spacing: -.05em; }
.word-lab-hero p:last-child { max-width: 780px; color: rgba(244,240,231,.74); font-family: var(--serif); font-size: clamp(1.2rem,2vw,1.55rem); }
.word-lab-intro { display: grid; grid-template-columns: minmax(180px,.45fr) minmax(320px,1.15fr); gap: clamp(3rem,8vw,9rem); padding: clamp(6rem,11vw,11rem) clamp(1.3rem,11vw,11rem); background: linear-gradient(180deg,#b3bfbe,#c7cecd 24%,#c7cecd); }
.word-lab-intro h2 { font-size: clamp(2.5rem,4.7vw,5.1rem); letter-spacing: -.04em; }
.word-lab-intro-copy { max-width: 760px; }
.word-lab-intro-copy p { margin-top: 0; font-family: var(--serif); font-size: 1.18rem; line-height: 1.75; text-align: justify; }
.word-lab-method { padding: clamp(6rem,11vw,10rem) clamp(1.3rem,9vw,9rem); color: var(--ivory); background: linear-gradient(150deg,#06131e,#102c3a 62%,#071521); }
.word-lab-method h2 { max-width: 900px; font-size: clamp(2.6rem,5vw,5.6rem); }
.word-lab-steps { display: grid; grid-template-columns: repeat(3,1fr); margin-top: 4rem; border-top: 1px solid rgba(244,240,231,.14); border-left: 1px solid rgba(244,240,231,.14); }
.word-lab-steps article { min-height: 250px; padding: clamp(1.5rem,3vw,2.8rem); border-right: 1px solid rgba(244,240,231,.14); border-bottom: 1px solid rgba(244,240,231,.14); }
.word-lab-steps span { color: var(--gold-light); font-size: .74rem; letter-spacing: .12em; text-transform: uppercase; }
.word-lab-steps h3 { margin: 3.5rem 0 1rem; font-size: clamp(1.6rem,2.5vw,2.5rem); }
.word-lab-steps p { color: rgba(244,240,231,.64); }
.word-entries { padding: clamp(7rem,12vw,12rem) clamp(1.3rem,10vw,10rem); background: #c7cecd; }
.word-entries > header { display: grid; grid-template-columns: .6fr 1.4fr; gap: 2rem; align-items: end; margin-bottom: 4rem; }
.word-entries > header h2 { max-width: 900px; margin: 0; font-size: clamp(2.7rem,5vw,5.6rem); }
.word-entry { display: grid; grid-template-columns: minmax(190px,.5fr) minmax(320px,1.5fr); gap: clamp(2rem,7vw,8rem); padding: clamp(3.5rem,7vw,6rem) 0; border-top: 1px solid rgba(20,36,44,.2); }
.word-entry-term h3 { margin: .6rem 0 1rem; color: var(--blue); font-size: clamp(2.5rem,5vw,5.3rem); }
.word-entry-term span { color: #68757b; font-size: .73rem; letter-spacing: .12em; text-transform: uppercase; }
.word-entry-copy { max-width: 760px; }
.word-entry-copy p { font-family: var(--serif); font-size: 1.16rem; line-height: 1.75; text-align: justify; }
.word-entry-copy dl { margin: 2rem 0 0; }
.word-entry-copy dl div { display: grid; grid-template-columns: 150px 1fr; gap: 1.5rem; padding: 1rem 0; border-top: 1px solid rgba(20,36,44,.15); }
.word-entry-copy dt { color: var(--blue); font-size: .72rem; font-weight: 650; letter-spacing: .1em; text-transform: uppercase; }
.word-entry-copy dd { margin: 0; }
.word-lab-note { padding: clamp(6rem,11vw,10rem) clamp(1.3rem,12vw,12rem); color: var(--ivory); background: #041019; }
.word-lab-note p:last-child { max-width: 940px; font-family: var(--serif); font-size: clamp(2rem,4.2vw,4.6rem); line-height: 1.18; }
.new-paths { color: var(--ivory); background: radial-gradient(circle at 18% 50%,rgba(201,164,92,.13),transparent 24%),linear-gradient(145deg,#04101a,#102c3a 58%,#06131e); border-bottom-color: rgba(244,240,231,.08); }
.new-paths-grid { grid-column: 2 / -1; display: grid; grid-template-columns: repeat(3,1fr); margin-top: 3rem; border-top: 1px solid rgba(244,240,231,.14); border-left: 1px solid rgba(244,240,231,.14); }
.new-paths-grid a { position: relative; min-height: 330px; padding: clamp(1.8rem,3vw,3rem); color: var(--ivory); border-right: 1px solid rgba(244,240,231,.14); border-bottom: 1px solid rgba(244,240,231,.14); text-decoration: none; }
.new-paths-grid span { color: var(--gold-light); font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; }
.new-paths-grid h3 { max-width: 600px; margin: 4rem 0 0; font-size: clamp(1.8rem,3vw,3rem); }
.new-paths-grid i { position: absolute; right: 2rem; bottom: 1.5rem; color: var(--gold-light); font-family: var(--serif); font-size: 2rem; font-style: normal; transition: transform .3s ease; }
.new-paths-grid a:hover i, .new-paths-grid a:focus-visible i { transform: translateX(.5rem); }

/* Poesía interior */
.poetry-page, .poem-page { color: var(--ink); background: #d9ddda; }
.poetry-hero { padding: clamp(7rem,12vw,11rem) clamp(1.3rem,11vw,11rem); color: var(--ivory); background: radial-gradient(circle at 74% 44%,rgba(201,164,92,.2),transparent 24%),linear-gradient(145deg,#06131f,#0e2a38 60%,#071521); }
.poetry-hero h1 { max-width: 950px; margin-bottom: 1.8rem; color: var(--ivory); }
.poetry-hero h1 em { color: var(--gold-light); font-weight: 400; }
.poetry-hero > p:last-child { max-width: 760px; color: rgba(244,240,231,.72); font-family: var(--serif); font-size: clamp(1.15rem,2vw,1.5rem); }
.poetry-intro { display: grid; grid-template-columns: 60px minmax(230px,.8fr) minmax(300px,1fr); gap: clamp(1.5rem,5vw,6rem); padding: clamp(5rem,9vw,8rem) clamp(1.3rem,7vw,7rem); border-bottom: 1px solid var(--line); }
.poetry-intro h2 { font-size: clamp(2.3rem,4vw,4.6rem); }
.poetry-archive { display: grid; gap: 1px; padding: clamp(1.3rem,5vw,5rem); background: rgba(20,36,44,.14); }
.poetry-card { display: grid; grid-template-columns: minmax(280px,1.05fr) minmax(300px,.95fr); min-height: 470px; overflow: hidden; color: var(--ink); background: var(--paper); text-decoration: none; }
.poetry-card:nth-child(even) img { order: 2; }
.poetry-card img { width: 100%; height: 100%; min-height: 470px; object-fit: cover; }
.poetry-card div { display: flex; flex-direction: column; justify-content: center; padding: clamp(2rem,6vw,6rem); }
.poetry-card span { color: var(--blue); font-size: .76rem; font-weight: 650; letter-spacing: .13em; text-transform: uppercase; }
.poetry-card h2 { margin: 2rem 0 1.4rem; font-size: clamp(2.7rem,5vw,5.8rem); letter-spacing: -.04em; }
.poetry-card p { max-width: 580px; color: #56646a; }
.poetry-card strong { margin-top: 2rem; color: var(--blue); font-size: .82rem; letter-spacing: .08em; text-decoration: underline; text-underline-offset: .35rem; text-transform: uppercase; }
.poetry-card:hover strong, .poetry-card:focus-visible strong { color: #9a712c; }
.poem-image { position: relative; margin: 0; color: var(--ivory); background: var(--night); }
.poem-image img { display: block; width: 100%; max-height: 76svh; object-fit: cover; }
.poem-image figcaption { position: absolute; right: clamp(1.3rem,5vw,5rem); bottom: 1.2rem; padding: .5rem .75rem; color: rgba(244,240,231,.8); background: rgba(4,16,25,.68); font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; }
.poem-reading { display: grid; grid-template-columns: minmax(260px,.75fr) minmax(320px,1fr); column-gap: clamp(3rem,9vw,10rem); padding: clamp(5rem,10vw,10rem) clamp(1.3rem,12vw,12rem); }
.poem-reading > header { align-self: start; position: sticky; top: 2rem; }
.poem-reading > header h1 { margin-bottom: 1.8rem; font-size: clamp(3rem,6vw,7rem); letter-spacing: -.045em; }
.poem-reading > header > p:last-child { max-width: 540px; color: #59666b; font-family: var(--serif); font-size: 1.15rem; }
.poem-text { max-width: 660px; padding-left: clamp(1.5rem,4vw,4rem); border-left: 1px solid var(--gold); font-family: var(--serif); font-size: clamp(1.2rem,2.1vw,1.62rem); line-height: 1.75; }
.poem-text p { margin: 0 0 2rem; }
.poem-text blockquote { margin: 4rem 0 0; padding-top: 2rem; color: var(--blue); border-top: 1px solid var(--line); font-style: italic; }
.poem-text blockquote span { display: inline-block; margin: .7rem 0 0 2rem; }
.poem-signature { grid-column: 2; margin-top: 4rem; color: var(--blue); font-family: var(--serif); font-size: 1.5rem; font-style: italic; }
.poem-signature span { display: block; margin-top: .35rem; color: #6a7477; font-family: var(--sans); font-size: .72rem; font-style: normal; letter-spacing: .14em; }
.poem-navigation { grid-column: 1 / -1; display: flex; justify-content: space-between; gap: 2rem; margin-top: 6rem; padding-top: 1.5rem; border-top: 1px solid var(--line); }
.poem-navigation a { color: var(--blue); font-size: .8rem; font-weight: 650; letter-spacing: .05em; text-underline-offset: .3rem; }

/* Fundación CEACI */
.foundation-page { color: var(--ink); background: var(--paper); }
.foundation-hero { display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; gap: clamp(3rem,7vw,8rem); min-height: 82vh; padding: clamp(6rem,10vw,9rem) clamp(1.3rem,9vw,9rem); color: var(--ivory); background: radial-gradient(circle at 72% 38%, rgba(44,96,114,.34), transparent 28%), linear-gradient(145deg,#06131e,#102c3a 60%,#071521); }
.foundation-hero-copy h1 { margin-bottom: 2rem; font-size: clamp(4rem,8vw,8.5rem); line-height: .86; }
.foundation-hero-copy h1 em { color: var(--gold-light); font-weight: 400; }
.foundation-hero-copy > p:last-child { max-width: 610px; color: rgba(244,240,231,.72); font-family: var(--serif); font-size: clamp(1.2rem,2vw,1.5rem); }
.foundation-logo-card { margin: 0; padding: clamp(1.3rem,3vw,2.5rem); background: #f7f7f5; box-shadow: 0 45px 100px rgba(0,0,0,.32); }
.foundation-logo-card img { display: block; width: 100%; height: auto; }
.foundation-purpose { background: #d2d8d6; }
.foundation-lines { padding: clamp(6rem,11vw,11rem) clamp(1.3rem,8vw,8rem); color: var(--ivory); background: linear-gradient(155deg,#071521,#123241 58%,#071824); }
.foundation-lines-heading { display: grid; grid-template-columns: .7fr 1.3fr; gap: 3rem; align-items: end; margin-bottom: 4rem; }
.foundation-lines-heading h2 { margin: 0; font-size: clamp(2.5rem,5vw,5.4rem); letter-spacing: -.04em; }
.foundation-line-grid { display: grid; grid-template-columns: repeat(2,1fr); border-top: 1px solid rgba(244,240,231,.13); border-left: 1px solid rgba(244,240,231,.13); }
.foundation-line-grid article { min-height: 300px; padding: clamp(1.7rem,3vw,3rem); border-right: 1px solid rgba(244,240,231,.13); border-bottom: 1px solid rgba(244,240,231,.13); background: rgba(255,255,255,.025); }
.foundation-line-grid span { color: var(--gold-light); font-size: .75rem; letter-spacing: .12em; }
.foundation-line-grid h3 { margin: 4rem 0 1.2rem; font-size: clamp(1.7rem,2.6vw,2.5rem); }
.foundation-line-grid p { max-width: 560px; color: rgba(244,240,231,.61); }
.foundation-status { padding: clamp(6rem,11vw,10rem) clamp(1.3rem,12vw,12rem); color: var(--ivory); background: radial-gradient(circle at 75% 45%,rgba(201,164,92,.12),transparent 26%),#06131e; }
.foundation-status h2 { max-width: 850px; margin-bottom: 1.5rem; font-size: clamp(2.5rem,5vw,5.4rem); letter-spacing: -.04em; }
.foundation-status > p:not(.eyebrow) { max-width: 720px; margin-bottom: 2.5rem; color: rgba(244,240,231,.68); }

/* Ficha individual de libro */
.book-page { color: var(--ink); background: #c7cecd; }
.book-detail-hero { display: grid; grid-template-columns: minmax(280px,.78fr) minmax(320px,1.22fr); align-items: center; gap: clamp(3rem,8vw,9rem); min-height: calc(100svh - 88px); padding: clamp(5rem,9vw,9rem) clamp(1.3rem,10vw,10rem); color: var(--ivory); background: radial-gradient(circle at 22% 45%,rgba(44,96,114,.4),transparent 27%),linear-gradient(145deg,#06131e,#102d3c 60%,#06131e); }
.book-detail-cover { width: min(100%,480px); margin: 0 auto; overflow: hidden; border: 1px solid rgba(226,200,135,.24); box-shadow: 0 45px 110px rgba(0,0,0,.47); transform: perspective(900px) rotateY(3deg); }
.book-detail-cover img { display: block; width: 100%; height: auto; }
.book-detail-heading h1 { max-width: 900px; margin-bottom: 1.5rem; font-size: clamp(3.1rem,6.8vw,7.4rem); letter-spacing: -.055em; }
.book-author { color: var(--gold-light); font-size: .83rem; letter-spacing: .1em; text-transform: uppercase; }
.book-opening { max-width: 680px; margin: 2.3rem 0 0; color: rgba(244,240,231,.73); font-family: var(--serif); font-size: clamp(1.15rem,1.8vw,1.45rem); }
.purchase-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; margin-top: 2.6rem; }
.button-direct { color: var(--night); background: var(--ivory); border-color: var(--ivory); cursor: pointer; font-family: var(--sans); }
.button-direct:hover, .button-direct:focus-visible { background: var(--gold-light); border-color: var(--gold-light); }
.direct-order-panel { max-width: 820px; margin-top: 1.5rem; padding: clamp(1.4rem,3vw,2.4rem); color: var(--ink); text-align: left; background: rgba(244,240,231,.97); border-left: 3px solid var(--gold-light); box-shadow: 0 22px 60px rgba(0,0,0,.24); }
.direct-order-panel[hidden] { display: none; }
.direct-order-intro h2 { margin: 0 0 .8rem; font-size: clamp(2rem,4vw,3.1rem); }
.direct-order-intro p { margin: 0; color: #526068; }
.direct-order-intro .order-kicker { margin-bottom: .5rem; color: var(--blue); font-size: .72rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.order-form { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; margin-top: 2rem; padding-top: 1.8rem; border-top: 1px solid var(--line); }
.order-field { display: flex; flex-direction: column; gap: .4rem; }
.order-field-wide { grid-column: 1 / -1; }
.order-field label { font-size: .84rem; font-weight: 650; letter-spacing: .02em; }
.order-field label span { color: #66727a; font-weight: 400; }
.order-field input, .order-field select, .order-field textarea { width: 100%; min-height: 48px; padding: .72rem .8rem; color: var(--ink); background: #fffefa; border: 1px solid rgba(20,36,44,.25); border-radius: 0; font: inherit; font-size: 1rem; }
.order-field textarea { resize: vertical; }
.order-field input:focus, .order-field select:focus, .order-field textarea:focus { outline: 2px solid var(--blue); outline-offset: 2px; border-color: var(--blue); }
.order-submit { display: flex; align-items: center; gap: 1.2rem; }
.order-submit p { max-width: 470px; margin: 0; color: #5a6870; font-size: .82rem; line-height: 1.5; }
.order-email-fallback { margin: 1.4rem 0 0; color: #5a6870; font-size: .85rem; }
.direct-order-panel a { color: var(--blue); font-weight: 600; text-underline-offset: .3rem; }
.text-button { padding: 0; color: var(--gold-light); background: transparent; border: 0; font: inherit; font-weight: 600; text-decoration: underline; text-underline-offset: .35rem; cursor: pointer; }
.book-synopsis { display: grid; grid-template-columns: minmax(180px,.5fr) minmax(300px,1.5fr); gap: clamp(2rem,8vw,9rem); padding: clamp(6rem,12vw,12rem) clamp(1.3rem,11vw,11rem); background: linear-gradient(180deg,#aebbbb,#c7cecd 28%,#c7cecd); }
.synopsis-label span { color: var(--blue); font-family: var(--serif); font-size: 4rem; }
.synopsis-label h2 { margin: 0 0 1.5rem; font-size: clamp(2.4rem,4vw,4.5rem); }
.synopsis-copy { max-width: 820px; }
.synopsis-copy blockquote { margin: 0 0 3.5rem; color: var(--blue); font-family: var(--serif); font-size: clamp(1.75rem,3.5vw,3.4rem); line-height: 1.25; }
.synopsis-copy p { max-width: 710px; }
.synopsis-copy p + p { margin-top: 1.5rem; }
.book-meaning { padding: clamp(7rem,13vw,13rem) clamp(1.3rem,12vw,12rem); color: var(--ivory); background: radial-gradient(circle at 80% 50%,rgba(201,164,92,.13),transparent 24%),linear-gradient(140deg,#071521,#123241 60%,#071824); }
.book-meaning h2 { max-width: 1000px; margin-bottom: 2.5rem; font-size: clamp(3rem,6.5vw,7rem); letter-spacing: -.05em; }
.book-meaning > p:last-child { max-width: 700px; margin-left: auto; color: rgba(244,240,231,.68); font-family: var(--serif); font-size: 1.25rem; }
.book-data { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(3rem,8vw,8rem); padding: clamp(6rem,11vw,10rem) clamp(1.3rem,10vw,10rem); background: #c7cecd; }
.book-data-heading h2 { font-size: clamp(2.5rem,4.5vw,4.8rem); }
.book-data dl { margin: 0; border-top: 1px solid rgba(20,36,44,.19); }
.book-data dl div { display: grid; grid-template-columns: .7fr 1.3fr; gap: 1.5rem; padding: 1.3rem 0; border-bottom: 1px solid rgba(20,36,44,.19); }
.book-data dt { color: var(--blue); font-size: .76rem; font-weight: 600; letter-spacing: .11em; text-transform: uppercase; }
.book-data dd { margin: 0; font-family: var(--serif); font-size: 1.08rem; }
.book-purchase { padding: clamp(7rem,12vw,11rem) clamp(1.3rem,12vw,12rem); color: var(--ivory); background: #06131e; }
.book-purchase h2 { margin-bottom: 1.5rem; font-size: clamp(3rem,6vw,6.5rem); letter-spacing: -.05em; }
.book-purchase > p:not(.eyebrow) { color: rgba(244,240,231,.66); }
.direct-purchase-note { display: grid; grid-template-columns: .45fr 1.1fr auto; align-items: center; gap: 2rem; max-width: 1050px; margin-top: 3rem; padding: 1.5rem 0; border-top: 1px solid rgba(226,200,135,.25); border-bottom: 1px solid rgba(226,200,135,.25); }
.direct-purchase-note span { color: var(--gold-light); font-size: .74rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.direct-purchase-note p { margin: 0; color: rgba(244,240,231,.72); }
.direct-purchase-note a { color: var(--ivory); font-size: .84rem; text-underline-offset: .3rem; }
.book-purchase .text-link { margin-left: 1rem; }

.immersive-home.reveal-ready .reveal { opacity: 0; transform: translateY(34px); transition: opacity 1s ease, transform 1.15s cubic-bezier(.2,.7,.2,1); }
.immersive-home.reveal-ready .reveal.is-visible { opacity: 1; transform: translateY(0); }
.immersive-home.reveal-ready .territory-grid article:nth-child(2):not(.is-visible) { transform: translateY(calc(3.5rem + 34px)); }
.immersive-home.reveal-ready .territory-grid article:nth-child(2).is-visible { transform: translateY(3.5rem); }
.immersive-home.reveal-ready .territory-grid article:nth-child(3):not(.is-visible) { transform: translateY(calc(7rem + 34px)); }
.immersive-home.reveal-ready .territory-grid article:nth-child(3).is-visible { transform: translateY(7rem); }
.immersive-home.reveal-ready .work-card:nth-child(2n):not(.is-visible) { transform: translateY(calc(2rem + 34px)); }
.immersive-home.reveal-ready .work-card:nth-child(2n).is-visible { transform: translateY(2rem); }

@media (max-width: 900px) {
  .immersive-home .site-header { min-height: 74px; }
  .immersive-home .site-nav { background: rgba(3,11,18,.97); }
  .immersive-home .hero h1 { line-height: .84; }
  .immersive-home .territory-grid { gap: 1rem; }
  .foundation-logo-wrap, .foundation-home-copy { grid-column: 2; }
  .foundation-home-copy { margin-top: 3rem; }
  .foundation-hero { grid-template-columns: 1fr; }
  .foundation-logo-card { width: min(100%,600px); }
  .book-detail-hero { grid-template-columns: .8fr 1.2fr; gap: 3rem; padding-inline: 3rem; }
  .guestbook-hero { grid-template-columns: 1fr; }
  .guestbook-orbits { right: -30%; opacity: .62; }
  .guestbook-exchange { grid-template-columns: 1fr; }
  .guestbook-gift { position: static; }
  .editorial-hero { grid-template-columns: 1fr; }
  .serendipity-map { position: absolute; right: -22%; width: 65vw; opacity: .5; }
  .research-key { justify-self: start; margin-top: 3rem; }
  .editorial-intro { grid-template-columns: 55px 1fr; }
  .editorial-intro-copy { grid-column: 2; }
  .research-types { grid-template-columns: repeat(2,1fr); }
  .word-lab-steps { grid-template-columns: 1fr 1fr; }
  .immersive-home .territory-grid article:nth-child(2), .immersive-home .territory-grid article:nth-child(3) { transform: none; }
  .immersive-home.reveal-ready .territory-grid article:nth-child(2):not(.is-visible), .immersive-home.reveal-ready .territory-grid article:nth-child(3):not(.is-visible) { transform: translateY(34px); }
  .immersive-home.reveal-ready .territory-grid article:nth-child(2).is-visible, .immersive-home.reveal-ready .territory-grid article:nth-child(3).is-visible { transform: none; }
}

@media (max-width: 620px) {
  .immersive-home main::before { left: .72rem; }
  .immersive-home main::after { left: calc(.72rem - 4px); }
  .immersive-home .depth-hero { padding-inline: 1.2rem; }
  .immersive-home .hero h1 { font-size: clamp(3.7rem,20vw,5.8rem); }
  .immersive-home .hero h1 em { margin-left: 0; }
  .depth-whisper { display: none; }
  .immersive-home .section-number { writing-mode: initial; }
  .immersive-home .manifesto-copy { margin-top: 2.5rem; }
  .immersive-home .work-card:nth-child(2n) { transform: none; }
  .immersive-home.reveal-ready .work-card:nth-child(2n):not(.is-visible) { transform: translateY(34px); }
  .immersive-home.reveal-ready .work-card:nth-child(2n).is-visible { transform: none; }
  .immersive-home .closing::before { inset: 23% 4%; }
  .foundation-logo-wrap, .foundation-home-copy { grid-column: 1; }
  .foundation-logo-wrap { width: min(88vw,420px); }
  .foundation-lines-heading { grid-template-columns: 1fr; gap: 1rem; }
  .foundation-line-grid { grid-template-columns: 1fr; }
  .foundation-line-grid article { min-height: 260px; }
  .book-detail-hero, .book-synopsis, .book-data { grid-template-columns: 1fr; }
  .book-detail-hero { padding-inline: 1.3rem; }
  .book-detail-cover { width: min(75vw,360px); margin-top: 2rem; transform: none; }
  .book-synopsis, .book-data { gap: 2.5rem; }
  .book-purchase .text-link { width: 100%; margin: 1rem 0 0; }
  .order-form { grid-template-columns: 1fr; }
  .order-field-wide { grid-column: auto; }
  .order-submit { align-items: stretch; flex-direction: column; }
  .direct-purchase-note { grid-template-columns: 1fr; gap: .8rem; }
  .closing-actions { align-items: stretch; flex-direction: column; }
  .guestbook-hero { min-height: 74svh; padding-top: 7rem; }
  .guestbook-heading h1 { font-size: clamp(3.35rem,17vw,5.3rem); }
  .guestbook-orbits { width: 115vw; right: -66%; }
  .guestbook-exchange { padding-inline: 1rem; }
  .guestbook-form { padding: 1.35rem; }
  .editorial-hero { min-height: 74svh; padding-top: 7rem; }
  .editorial-hero h1 { font-size: clamp(3.55rem,17vw,5.3rem); }
  .serendipity-map { right: -48%; width: 110vw; }
  .editorial-intro { grid-template-columns: 1fr; gap: 1rem; }
  .editorial-number, .editorial-intro-copy { grid-column: 1; }
  .editorial-shelves > header { grid-template-columns: 1fr; }
  .editorial-card-grid, .research-types, .new-paths-grid { grid-template-columns: 1fr; }
  .poetry-intro, .poem-reading { grid-template-columns: 1fr; }
  .poetry-intro .editorial-number { display: none; }
  .poetry-card { grid-template-columns: 1fr; }
  .poetry-card:nth-child(even) img { order: 0; }
  .poetry-card img { min-height: 320px; max-height: 55svh; }
  .poem-reading > header { position: static; }
  .poem-text { margin-top: 3rem; }
  .poem-signature { grid-column: 1; }
  .empty-archive { grid-template-columns: 1fr; }
  .research-feature, .word-lab-intro, .word-entries > header, .word-entry { grid-template-columns: 1fr; }
  .word-lab-steps { grid-template-columns: 1fr; }
  .word-entry-copy dl div { grid-template-columns: 1fr; gap: .35rem; }
  .serendipity-feature { grid-template-columns: 1fr; align-items: start; }
  .article-reading { grid-template-columns: 1fr; gap: 3rem; }
  .article-aside { position: static; }
  .new-paths-grid { grid-column: 1; }
  .home-reading-copy { grid-column: 1; }
}

@media (prefers-reduced-motion: reduce) {
  .depth-orbit { animation: none; }
  .portal-image { transform: scale(1.08); }
}

/* Consentimiento de estadísticas */
.analytics-consent {
  position: fixed;
  z-index: 1000;
  right: 1rem;
  bottom: 1rem;
  left: 1rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  max-width: 1080px;
  margin: 0 auto;
  padding: 1.25rem 1.4rem;
  color: var(--ivory);
  background: rgba(3, 11, 18, .98);
  border: 1px solid rgba(226, 200, 135, .38);
  box-shadow: 0 20px 70px rgba(0, 0, 0, .45);
}
.analytics-consent[hidden] { display: none; }
.analytics-consent strong { color: var(--gold-light); font-family: var(--serif); font-size: 1.15rem; font-weight: 400; }
.analytics-consent p { max-width: 700px; margin: .35rem 0 0; color: rgba(244, 240, 231, .75); font-size: .9rem; line-height: 1.5; }
.analytics-consent a { text-underline-offset: .25rem; }
.analytics-consent-actions { display: flex; flex: 0 0 auto; gap: .7rem; }
.analytics-consent button,
.analytics-preferences {
  min-height: 44px;
  padding: .65rem 1rem;
  color: var(--ivory);
  background: transparent;
  border: 1px solid rgba(244, 240, 231, .35);
  font: inherit;
  font-size: .82rem;
  cursor: pointer;
}
.analytics-consent .analytics-accept { color: var(--night); background: var(--gold-light); border-color: var(--gold-light); }
.analytics-preferences { min-height: auto; padding: 0; border: 0; color: rgba(244, 240, 231, .72); text-decoration: underline; text-underline-offset: .3rem; }
.analytics-consent button:focus-visible,
.analytics-preferences:focus-visible { outline: 2px solid var(--gold-light); outline-offset: 3px; }

@media (max-width: 720px) {
  .analytics-consent { align-items: stretch; flex-direction: column; gap: 1rem; padding: 1.1rem; }
  .analytics-consent-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .analytics-consent button { width: 100%; }
}
