/* Propuesta paralela · Blog editorial, álbum social y cierre con reveal.
   Solo afecta a la home 3. La base de la home v5 se conserva. */
.proposal-eyebrow { font-size: 11px; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; }
.proposal-link { display: inline-flex; gap: 36px; align-items: center; padding: 13px 0; border-bottom: 1px solid var(--greige); font-size: 14px; font-weight: 500; }
.proposal-link span { font-size: 23px; transition: transform .3s; }
.proposal-link:hover span { transform: translate(3px, -3px); }

/* An editorial spread: typography first, deliberately uneven image rhythm. */
.reading-room { padding: 110px 0 120px; background: var(--ivory); }
.reading-room__head { display: flex; align-items: end; justify-content: space-between; gap: 40px; margin-bottom: 65px; }
.reading-room__head .proposal-eyebrow { margin-bottom: 24px; color: var(--sage); }
.reading-room h2 { font-size: clamp(58px, 7.8vw, 120px); letter-spacing: -.06em; line-height: .99; font-weight: 400; }
.reading-room h2 em { color: var(--sage); }
.reading-room__intro { padding-bottom: 7px; min-width: 240px; }
.reading-room__intro p { font-size: 20px; margin-bottom: 20px; line-height: 1.5; }
.reading-room__grid { display: grid; grid-template-columns: 1.25fr .85fr .9fr; gap: clamp(22px, 3.5vw, 60px); align-items: start; }
.reading-card--middle { margin-top: 130px; }
.reading-card--last { margin-top: 42px; }
.reading-card__link { display: block; }
.reading-card__image { position: relative; overflow: hidden; aspect-ratio: 1.1; background: var(--sand); }
.reading-card--lead .reading-card__image { aspect-ratio: 1.02; }
.reading-card--middle .reading-card__image { aspect-ratio: .9; }
.reading-card--last .reading-card__image { aspect-ratio: .95; }
.reading-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform 800ms var(--ease-out); }
.reading-card--lead .reading-card__image img { object-position: 50% 34%; }
.reading-card--middle .reading-card__image img { object-position: 50% 30%; }
.reading-card__arrow { display: grid; place-items: center; position: absolute; right: 18px; bottom: 18px; width: 44px; height: 44px; background: var(--ivory); border-radius: 50%; font-size: 24px; transition: transform .4s, background .4s; }
.reading-card__link:hover .reading-card__image img { transform: scale(1.05); }
.reading-card__link:hover .reading-card__arrow { transform: rotate(45deg); background: white; }
.reading-card__meta { display: flex; justify-content: space-between; border-bottom: 1px solid var(--greige); padding: 19px 0 12px; margin-bottom: 18px; text-transform: uppercase; font-size: 10px; font-weight: 500; letter-spacing: .12em; color: var(--sage); }
.reading-card h3 { font-size: clamp(26px, 2.5vw, 40px); line-height: 1.13; letter-spacing: -.035em; font-weight: 400; }
.reading-card p { margin-top: 15px; max-width: 31ch; font-size: 15px; line-height: 1.65; color: var(--ink-70); }

/* A photographic strip, not a pretend live Instagram feed. */
.social-room { background: var(--sage); color: var(--ivory); padding: 84px 0 32px; overflow: clip; }
.social-room__head { display: grid; grid-template-columns: 1fr 2fr 1fr; gap: 30px; align-items: start; }
.social-room__head .proposal-eyebrow { display: flex; align-items: center; gap: 9px; padding-top: 16px; }
.social-room__symbol { font-size: 28px; line-height: .6; }
.social-room h2 { font-size: clamp(54px, 6.2vw, 96px); line-height: 1.04; letter-spacing: -.045em; font-weight: 400; }
.social-room h2 em { color: #d9d2c4; }
.social-room__profile { margin-top: 22px; white-space: nowrap; display: flex; gap: 22px; align-items: center; justify-self: end; font-size: 13px; font-weight: 400; }
.social-room__profile span { font-size: 25px; }
.social-room__gallery { overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: none; margin-top: 58px; padding: 28px var(--gutter) 40px; }
.social-room__gallery::-webkit-scrollbar { display: none; }
.social-room__strip { display: flex; align-items: center; gap: 24px; width: max-content; padding-right: var(--gutter); }
.social-shot { flex: 0 0 auto; width: clamp(220px, 23vw, 350px); }
.social-shot:nth-child(2n) { width: clamp(240px, 26vw, 380px); margin-top: 68px; }
.social-shot:nth-child(3) { width: clamp(300px, 33vw, 480px); margin-top: -35px; }
.social-shot a { display: block; position: relative; }
.social-shot img { width: 100%; height: clamp(265px, 29vw, 420px); object-fit: cover; }
.social-shot:nth-child(2n) img { height: clamp(245px, 26vw, 370px); }
.social-shot:nth-child(3) img { height: clamp(240px, 27vw, 360px); object-position: 22% 50%; }
.social-room__bottom { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-top: 15px; font-size: 11px; letter-spacing: .03em; }
.social-room__bottom > a { font-weight: 500; }
.social-room__controls { display: flex; gap: 8px; }
.social-room__controls button { border: 1px solid var(--ivory-45); border-radius: 50%; width: 44px; height: 44px; transition: background .2s; }
.social-room__controls button:hover { background: var(--ivory-20); }
.social-room a:focus-visible, .social-room button:focus-visible { outline-color: var(--ivory); }

/* The shell clips a fixed footer: the page lifts to reveal it, without changing
   positioning or stacking of the approved content above. Tall viewports only. */
.closing-shell { position: relative; background: #29312c; color: var(--ivory); }
.closing { background: #29312c; overflow: hidden; position: relative; }
.closing-shell.is-reveal { height: var(--closing-height); clip-path: inset(0); }
.closing-shell.is-reveal .closing { position: fixed; bottom: 0; left: 0; width: 100%; }
.closing__inner { padding-top: 36px; padding-bottom: 24px; }
.closing__top { display: grid; grid-template-columns: 1.8fr 1fr; gap: 6vw; align-items: stretch; padding-bottom: 32px; }
.closing__copy { padding-top: 12px; }
.closing__copy .proposal-eyebrow { color: #c9cfc8; margin-bottom: 20px; }
.closing h2 { max-width: 15ch; font-size: clamp(46px, 5.1vw, 80px); line-height: 1.08; font-weight: 300; letter-spacing: -.045em; }
.closing h2 strong { font-weight: 400; }
.closing__period { color: #adbda8; }
.closing__invitation { display: grid; grid-template-columns: 1fr; gap: 22px; margin-top: 24px; }
.closing__invitation p { font-size: 14px; color: #c9cfc8; max-width: 49ch; line-height: 1.6; }
.closing__cta { display: inline-flex; align-items: center; gap: 40px; justify-self: start; background: var(--ivory); color: var(--graphite); border-radius: 99px; padding: 14px 24px; min-height: 48px; font-size: 14px; font-weight: 700; transition: background .25s, gap .3s; }
.closing__cta span { font-size: 23px; line-height: 1; }
.closing__cta:hover { gap: 50px; background: white; }
.closing__portrait { position: relative; min-height: 285px; overflow: hidden; }
.closing__portrait img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 69% 50%; }
.closing__portrait::after { content: ''; position: absolute; inset: 45% 0 0; background: linear-gradient(transparent, rgba(20,25,22,.75)); }
.closing__portrait figcaption { position: absolute; z-index: 1; left: 20px; bottom: 18px; font-size: 14px; font-weight: 500; }
.closing__portrait figcaption span { display: block; font-size: 10px; font-weight: 300; margin-top: 3px; text-transform: uppercase; letter-spacing: .1em; }
.closing__details { border-top: 1px solid #657068; border-bottom: 1px solid #657068; padding: 24px 0; display: grid; grid-template-columns: 1fr 1.1fr 1.2fr 1.4fr; gap: 28px; font-size: 12px; line-height: 1.9; }
.closing__label { display: block; font-size: 10px; color: #c9cfc8; letter-spacing: .055em; font-weight: 400; margin-bottom: 10px; }
.closing__contact a { display: block; }
.closing__small-link { display: inline-block; text-decoration: underline; text-underline-offset: 4px; margin-top: 5px; }
.closing__nav { display: grid; grid-template-columns: 1fr 1fr; column-gap: 24px; align-content: start; }
.closing__nav a { padding-bottom: 8px; }
.closing__field { display: flex; border-bottom: 1px solid #9bab9f; }
.closing__field input { min-width: 0; width: 100%; border: 0; border-radius: 0; background: transparent; color: var(--ivory); font: inherit; padding: 9px 0; }
.closing__field input::placeholder { color: #c9cfc8; opacity: 1; }
.closing__field button { flex-shrink: 0; width: 44px; min-height: 44px; font-size: 27px; }
.closing__newsletter .foot__consent, .closing__newsletter .foot__ok { font-size: 10px; line-height: 1.5; color: #c9cfc8; margin-top: 12px; max-width: 34ch; }
.closing__bottom { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding-top: 24px; }
.closing__brands { display: flex; align-items: center; gap: 20px; }
.closing__brands img { width: 170px; height: auto; }
.closing__brands img:last-child { width: 78px; }
.closing__brands > span { width: 1px; height: 28px; background: #657068; }
.closing__legal { display: flex; flex-wrap: wrap; column-gap: 20px; row-gap: 7px; font-size: 10px; color: #c9cfc8; }
.closing__up { display: grid; place-items: center; min-width: 44px; height: 44px; border: 1px solid #9bab9f; border-radius: 50%; font-size: 21px; }
.closing a:focus-visible, .closing input:focus-visible, .closing button:focus-visible { outline-color: var(--ivory); }
.closing a:hover { text-decoration: underline; text-underline-offset: 5px; }
.closing__cta:hover, .closing__up:hover { text-decoration: none; }
/* Respect the existing floating badge but don't cover contact or legal links. */
body.in-closing .gseal { opacity: 0; visibility: hidden; pointer-events: none; }

@media (min-width: 1100px) and (max-height: 780px) {
  .closing__inner { padding-top: 24px; padding-bottom: 18px; }
  .closing__top { padding-bottom: 24px; }
  .closing h2 { font-size: clamp(46px, 4.6vw, 66px); }
  .closing__copy .proposal-eyebrow { margin-bottom: 12px; }
  .closing__invitation { margin-top: 18px; gap: 16px; }
  .closing__details { padding: 18px 0; }
  .closing__bottom { padding-top: 18px; }
}
@media (max-width: 1099px) {
  .social-room__head { grid-template-columns: 1fr 2fr; }
  .social-room__profile { grid-column: 2; justify-self: start; margin-top: 0; }
  .closing__top { gap: 30px; }
  .closing__details { grid-template-columns: 1fr 1fr; gap: 30px; }
  .closing__bottom { flex-wrap: wrap; }
}
@media (max-width: 700px) {
  .reading-room { padding: 70px 0 74px; }
  .reading-room__head { display: block; margin-bottom: 36px; }
  .reading-room__head .proposal-eyebrow { margin-bottom: 20px; }
  .reading-room h2 { font-size: clamp(54px, 15vw, 80px); }
  .reading-room__intro { margin-top: 30px; display: flex; justify-content: space-between; align-items: end; gap: 18px; }
  .reading-room__intro p { font-size: 14px; margin: 0; }
  .proposal-link { font-size: 12px; gap: 12px; padding-bottom: 4px; max-width: 135px; }
  .reading-room__grid { grid-template-columns: 1fr 1fr; gap: 35px 18px; }
  .reading-card--lead { grid-column: 1 / -1; }
  .reading-card--lead .reading-card__image { aspect-ratio: 1.15; }
  .reading-card--middle, .reading-card--last { margin-top: 0; }
  .reading-card--last { margin-top: 36px; }
  .reading-card__meta { font-size: 8px; padding-top: 12px; margin-bottom: 13px; }
  .reading-card h3 { font-size: 25px; }
  .reading-card--lead h3 { font-size: 34px; }
  .reading-card p { font-size: 12px; margin-top: 12px; }
  .reading-card--lead p { font-size: 14px; max-width: 42ch; }
  .reading-card__arrow { width: 32px; height: 32px; right: 9px; bottom: 9px; font-size: 21px; }
  .social-room { padding: 55px 0 28px; }
  .social-room__head { display: block; }
  .social-room__head .proposal-eyebrow { padding: 0; margin-bottom: 28px; }
  .social-room h2 { font-size: 15vw; }
  .social-room__profile { margin-top: 24px; font-size: 12px; }
  .social-room__gallery { margin-top: 24px; padding-top: 6px; padding-bottom: 28px; scroll-snap-type: x mandatory; scroll-padding-left: var(--gutter); }
  .social-room__strip { gap: 16px; }
  .social-shot, .social-shot:nth-child(2n), .social-shot:nth-child(3) { width: 66vw; margin-top: 0; scroll-snap-align: start; }
  .social-shot:nth-child(2n) { margin-top: 30px; }
  .social-shot img, .social-shot:nth-child(2n) img, .social-shot:nth-child(3) img { height: 78vw; }
  .social-room__bottom { flex-wrap: wrap; font-size: 10px; gap: 20px; }
  .social-room__bottom > span { flex: 1; }
  .social-room__bottom > a { width: 100%; border-top: 1px solid var(--ivory-20); padding-top: 16px; }
  .closing__inner { padding-top: 50px; padding-bottom: 25px; }
  .closing__top { display: flex; flex-direction: column; gap: 30px; padding-bottom: 28px; }
  .closing h2 { font-size: clamp(40px, 11vw, 62px); }
  .closing__copy .proposal-eyebrow { font-size: 10px; }
  .closing__invitation p { font-size: 14px; }
  .closing__cta { width: 100%; justify-content: space-between; }
  .closing__portrait { min-height: 280px; }
  .closing__portrait img { object-position: 65% 40%; }
  .closing__details { grid-template-columns: 1fr 1fr; column-gap: 20px; row-gap: 28px; font-size: 11px; }
  .closing__nav { grid-column: 1 / -1; border-top: 1px solid #657068; padding-top: 24px; }
  .closing__newsletter { grid-column: 1 / -1; }
  .closing__newsletter .foot__consent, .closing__newsletter .foot__ok { max-width: none; }
  .closing__bottom { gap: 25px; }
  .closing__brands { width: calc(100% - 65px); gap: 14px; order: 0; }
  .closing__brands img { width: 140px; }
  .closing__brands img:last-child { width: 68px; }
  .closing__up { order: 1; }
  .closing__legal { order: 2; font-size: 9px; gap: 15px; }
}
@media (prefers-reduced-motion: reduce) {
  .reading-card, .social-shot, .closing__portrait img { transform: none !important; }
  .reading-card__image img, .reading-card__arrow, .closing__cta, .proposal-link span { transition: none; }
  .closing-shell.is-reveal { height: auto; clip-path: none; }
  .closing-shell.is-reveal .closing { position: relative; }
}
/* Without scripting, the gallery remains a native horizontal scroller. */
html:not(.js) .social-room__controls { display: none; }

/* Ronda 2 · archivo editorial. Los documentos mantienen títulos y portadas reales. */
.publication-library { background: var(--ivory); padding: 94px 0 110px; }
.publication-library__head { display: flex; align-items: end; justify-content: space-between; gap: 60px; margin-bottom: 60px; }
.publication-library__head .proposal-eyebrow { color: var(--sage); margin-bottom: 25px; }
.publication-library h2 { font-size: clamp(56px, 6.8vw, 102px); font-weight: 400; letter-spacing: -.055em; line-height: 1.02; }
.publication-library h2 em { color: var(--sage); }
.publication-library__intro { max-width: 32ch; padding-bottom: 6px; color: var(--ink-70); font-size: 17px; line-height: 1.7; }
.publication-library__layout { display: grid; grid-template-columns: 1fr; gap: 6vw; align-items: start; }
.folio { display: none; }
.has-publication-view .publication-library__layout { grid-template-columns: .95fr 1.15fr; }
.has-publication-view .folio { display: flex; flex-direction: column; position: sticky; top: 100px; background: #e0d9cf; padding: 26px 30px 22px; }
.folio__top { display: flex; justify-content: space-between; align-items: center; text-transform: uppercase; font-size: 9px; letter-spacing: .13em; font-weight: 500; color: var(--sage); }
.folio__count { font-variant-numeric: tabular-nums; }
.folio__stage { position: relative; height: clamp(320px, 31vw, 460px); margin: 22px 0 16px; }
.folio__cover { position: absolute; left: 11%; top: 4%; width: 78%; height: 92%; object-fit: contain; object-position: center; opacity: 0; transform: translateY(15px) rotate(1deg); transition: opacity .32s ease, transform .6s var(--ease-out); }
.folio__cover.is-current { opacity: 1; transform: translateY(0) rotate(-3deg); }
.folio__sheets { position: absolute; left: 18%; top: 8%; width: 65%; height: 86%; background: #f5f0e8; transform: rotate(4deg); box-shadow: 0 12px 24px rgba(47,46,44,.07); }
.folio__sheets::before { content: ''; position: absolute; inset: 3px -5px; background: #f9f6ef; transform: rotate(-2deg); }
.folio__caption { border-top: 1px solid #b8b0a2; padding-top: 17px; font-size: 10px; font-weight: 500; letter-spacing: .05em; text-transform: uppercase; }
.folio__signature { display: block; margin-top: 6px; color: var(--ink-70); font-size: 11px; }
.publication-index { border-top: 1px solid var(--greige); }
.publication-entry { border-bottom: 1px solid var(--greige); }
.publication-entry summary { display: grid; grid-template-columns: 28px 1fr 20px; gap: 16px; cursor: pointer; list-style: none; padding: 25px 0; align-items: start; }
.publication-entry summary::-webkit-details-marker { display: none; }
.publication-entry summary::marker { content: ''; }
.publication-entry__number { font-size: 11px; font-weight: 400; color: var(--sage); padding-top: 3px; font-variant-numeric: tabular-nums; }
.publication-entry__heading { display: block; }
.publication-entry__meta { display: block; font-size: 9px; font-weight: 500; text-transform: uppercase; letter-spacing: .09em; color: var(--ink-70); line-height: 1.6; margin-bottom: 9px; }
.publication-entry__title { display: block; font-weight: 400; font-size: clamp(19px, 1.65vw, 25px); line-height: 1.3; letter-spacing: -.025em; text-wrap: pretty; transition: color .25s; }
.publication-entry__toggle { position: relative; width: 18px; height: 18px; margin-top: 23px; color: var(--sage); }
.publication-entry__toggle::before, .publication-entry__toggle::after { content: ''; position: absolute; top: 8px; left: 2px; width: 14px; height: 1px; background: currentColor; transition: transform .3s; }
.publication-entry__toggle::after { transform: rotate(90deg); }
.publication-entry[open] .publication-entry__toggle::after { transform: rotate(0); }
.publication-entry[open] .publication-entry__title, .publication-entry summary:hover .publication-entry__title { color: var(--sage); }
.publication-entry[open] summary { padding-bottom: 10px; }
.publication-entry__body { padding: 0 36px 22px 44px; }
.publication-entry__image { margin: 10px 0 18px; padding: 24px; background: #e0d9cf; }
.publication-entry__image img { max-height: 350px; width: auto; max-width: 100%; margin: 0 auto; object-fit: contain; }
.has-publication-view .publication-entry__image { display: none; }
.publication-entry__link { display: inline-flex; align-items: center; gap: 22px; padding: 10px 0; min-height: 44px; font-size: 12px; font-weight: 500; text-underline-offset: 5px; }
.publication-entry__link:hover { text-decoration: underline; }
.publication-entry__link span { font-size: 20px; }
.publication-entry summary:focus-visible { outline: 2px solid var(--sage); outline-offset: 5px; }
@media (max-width: 1000px) {
  .publication-library__head { gap: 35px; }
  .publication-library__intro { font-size: 15px; max-width: 28ch; }
  .has-publication-view .publication-library__layout { grid-template-columns: .85fr 1.15fr; gap: 30px; }
  .has-publication-view .folio { padding: 20px 18px; }
  .folio__stage { height: 320px; }
  .publication-entry summary { grid-template-columns: 22px 1fr 18px; gap: 10px; }
  .publication-entry__title { font-size: 19px; }
  .publication-entry__body { padding-left: 32px; }
}
@media (max-width: 700px) {
  .publication-library { padding: 64px 0 76px; }
  .publication-library__head { display: block; margin-bottom: 36px; }
  .publication-library__head .proposal-eyebrow { margin-bottom: 21px; }
  .publication-library h2 { font-size: clamp(44px, 12vw, 66px); }
  .publication-library__intro { margin-top: 25px; max-width: 36ch; font-size: 14px; }
  .has-publication-view .publication-library__layout { display: block; }
  .has-publication-view .folio { display: none; }
  .publication-entry summary { padding: 23px 0; grid-template-columns: 22px 1fr 18px; gap: 10px; }
  .publication-entry__meta { font-size: 8px; letter-spacing: .065em; }
  .publication-entry__title { font-size: 19px; line-height: 1.35; }
  .publication-entry__body { padding: 0 28px 14px 32px; }
  .has-publication-view .publication-entry__image { display: block; }
  .publication-entry__image { padding: 20px; margin-top: 9px; }
  .publication-entry__image img { max-height: 285px; }
}
@media (prefers-reduced-motion: reduce) {
  .folio__cover, .publication-entry__title, .publication-entry__toggle::after { transition: none; }
  .folio__cover, .folio__cover.is-current, .folio__sheets, .folio__sheets::before { transform: none; }
}
