/* v27 · El cierre continúa el recorrido visual de la portada. */
.actors.perspective-section {
  position: relative;
  background: #0c1711;
  color: #edf0e7;
  border-block: 1px solid #d5dfcb16;
  isolation: isolate;
}
.perspective-heading {
  display: grid;
  grid-template-columns: 1.3fr 1fr;
  align-items: end;
  gap: 14px 9%;
  max-width: none;
  margin-bottom: 30px;
}
.perspective-eyebrow { grid-column: 1 / -1; color: #bcae8d; }
.perspective-heading h2 {
  margin: 0;
  color: #f0f0e6;
  font-size: clamp(2.25rem, 3.8vw, 3.65rem);
  line-height: 1.08;
}
.perspective-heading h2 em { color: #a8b8a7; }
.perspective-heading > p:last-child {
  color: #a2b0a4;
  font-size: .875rem;
  line-height: 1.8;
  margin: 0 0 3px;
  max-width: 29em;
  justify-self: end;
}
.perspective-nav {
  position: relative;
  gap: 0;
  padding-bottom: 0;
  margin-bottom: 28px;
  border-bottom: 1px solid #e0e6d628;
}
.perspective-tab {
  flex: 1;
  position: relative;
  justify-content: flex-start;
  border: 0;
  border-radius: 0;
  padding: 19px 0;
  color: #92a294;
  font-size: .875rem;
  gap: 12px;
  background: none;
}
.perspective-tab::after {
  position: absolute;
  content: '';
  height: 2px;
  background: #dac697;
  inset: auto 28px -1px 0;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .55s cubic-bezier(.2,.7,.2,1);
}
.perspective-tab:hover { background: none; color: #e1cfaa; }
.perspective-tab[aria-selected=true] { color: #eeeade; background: none; border: 0; box-shadow: none; }
.perspective-tab[aria-selected=true]::after { transform: scaleX(1); }
.perspective-tab[aria-selected=true] .i { color: #dac697; }
.perspective-tab:focus-visible { outline-color: #dac697; }
.perspective-stage { position: relative; }
.perspective-panel {
  grid-template-columns: minmax(240px, .8fr) minmax(0, 1.2fr);
  gap: clamp(36px, 8vw, 125px);
  min-height: 352px;
  padding: 12px 24px 12px 0;
  animation: perspectiveSceneIn .65s cubic-bezier(.2,.7,.2,1) both;
}
.perspective-number { color: #b6a47d; font-size: .6875rem; letter-spacing: .14em; margin-bottom: 21px; display: flex; gap: 17px; align-items: center; }
.perspective-number::after { content: ''; height: 1px; width: 48px; background: #d6bf8f50; }
.perspective-intro h3 { color: #f0eee2; font-size: clamp(2rem, 3.1vw, 3rem); font-weight: 400; }
.perspective-intro > p { color: #a4b3a6; font-size: .875rem; line-height: 1.85; margin-top: 18px; }
.perspective-access { margin-top: 23px; gap: 10px 17px; }
.perspective-access li { color: #b3bda9; }
.perspective-access li::before { background: #bfae83; width: 3px; height: 3px; }
.perspective-product {
  position: relative;
  isolation: isolate;
  width: 100%;
  max-width: 600px;
  justify-self: end;
  border-radius: 13px;
  padding: 24px 28px 0;
  background: linear-gradient(135deg, #1c2c21, #101e16 70%);
  border-color: #bacbac37;
  box-shadow: 0 35px 70px -48px #000, inset 0 1px #f0f3d80c;
}
.perspective-product::before {
  content: '';
  position: absolute;
  z-index: -2;
  inset: 12px -12px -12px 12px;
  border: 1px solid #c6d9b719;
  border-radius: 13px;
  pointer-events: none;
}
.perspective-product::after {
  content: '';
  position: absolute;
  z-index: -3;
  inset: 24px -24px -24px 24px;
  border: 1px solid #c6d9b70c;
  border-radius: 13px;
  pointer-events: none;
}
.perspective-product > header { padding-bottom: 19px; }
.perspective-product-icon { background: #d8bf8a09; }
.perspective-project, .perspective-network-row { margin-top: 22px; }
.perspective-project strong { font-size: 1.875rem; color: #e3e7d5; }
.perspective-progress { margin-top: 12px; }
.perspective-product > footer { margin: 23px -28px 0; padding: 16px 28px; background: #070f0b27; border-radius: 0 0 13px 13px; color: #a5b5a6; }
.perspective-tag { border-radius: 999px; }
.perspective-demo { color: #9bad97; }
.perspective-footnote { color: #8d9f8e; margin-top: 28px; font-size: .625rem; }
.perspective-panel:not([hidden]) .perspective-product { animation: perspectiveProductIn .8s cubic-bezier(.16,1,.3,1) both; }
.perspective-panel:not([hidden]) .perspective-project,
.perspective-panel:not([hidden]) .perspective-network-row,
.perspective-panel:not([hidden]) .perspective-next { animation: perspectiveDetailIn .65s .1s both; }
@keyframes perspectiveSceneIn { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
@keyframes perspectiveProductIn { from { opacity: 0; transform: translate(28px, 14px) scale(.975); } to { opacity: 1; transform: none; } }
@keyframes perspectiveDetailIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }

/* Preguntas: pausa breve antes de volver al proyecto. */
.faq { background: #09120e; padding-block: clamp(80px, 8vw, 128px); }
.faq-grid { grid-template-columns: .75fr 1.25fr; gap: 12%; }
.faq-head .title { max-width: 12ch; font-size: clamp(2.5rem, 4vw, 4rem); }
.faq details { border-bottom-color: #d6e2c820; }
.faq summary { padding-block: 25px; font-size: .9375rem; }
.faq summary:hover { color: #dac697; }
.faq details > div { padding-bottom: 25px; max-width: 46em; line-height: 1.85; }
.faq details[open] > div { animation: perspectiveDetailIn .3s ease both; }

/* Cierre: imagen continua, marca real y una única vuelta al producto. */
.end.closing-scene {
  --closing-progress: 0;
  padding: 0;
  background: #07100c;
  color: #f0f0e5;
  border-top: 1px solid #d1dec524;
  min-height: 0;
  isolation: isolate;
}
.closing-image { position: absolute; inset: 0 0 76px; overflow: hidden; z-index: -2; }
.closing-image img {
  height: 100%; width: 100%; object-fit: cover; object-position: 52% 47%;
  filter: saturate(.65) brightness(.8);
  transform: scale(calc(1.13 - var(--closing-progress) * .1)) translateY(calc(var(--closing-progress) * -20px));
}
.closing-image::after {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(90deg, #07100cf2 0%, #07100cc4 35%, #07100c25 100%), linear-gradient(0deg, #07100c 0%, transparent 35%, #07100c50 100%);
}
.closing-scene .closing-main {
  min-height: 620px;
  padding-top: clamp(80px, 9vw, 140px);
  padding-bottom: 80px;
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  position: relative;
}
.closing-scene .closing-eyebrow { font-size: .625rem; text-transform: uppercase; letter-spacing: .17em; color: #bdc8b7; display: flex; align-items: center; gap: 12px; margin-bottom: 32px; }
.closing-eyebrow::before { content: ''; width: 22px; height: 1px; background: #cbb787; }
.closing-scene .end-title { font-size: clamp(2.8rem, 5.4vw, 5.5rem); font-weight: 400; line-height: 1.08; letter-spacing: -.05em; max-width: 15ch; color: #f0f0e5; }
.closing-scene .end-title em { color: #c9cdb5; font-style: normal; }
.closing-scene .end-sub { max-width: 28em; margin: 25px 0 0; font-size: .875rem; color: #b0bbaa; line-height: 1.8; }
.closing-link {
  display: inline-flex; align-items: center; gap: 36px;
  text-decoration: none; color: #eee8d9; margin-top: 32px;
  font-size: .875rem; padding-bottom: 6px;
}
.closing-link > span:first-child { border-bottom: 1px solid #d8c49565; padding-block: 10px; }
.closing-arrow { width: 45px; height: 45px; display: grid; place-items: center; border: 1px solid #d8c49565; border-radius: 50%; transition: color .25s, background .25s, transform .4s; }
.closing-link:hover .closing-arrow { color: #101b12; background: #d8c495; transform: rotate(-35deg); }
.closing-scene .foot { background: #07100c; border-color: #e0e5cc20; }
.closing-scene .foot-in { align-items: center; gap: 24px; min-height: 88px; padding-block: 22px; color: #8d9c8e; font-size: .625rem; }
.closing-brand { display: inline-flex; align-items: center; gap: 11px; color: #e5e8d9; font-size: 1.15rem; letter-spacing: -.035em; font-weight: 500; }
.closing-brand img { width: 25px; height: 31px; }
.closing-scene .foot a { color: #b9c5b5; font-size: .6875rem; display: inline-flex; align-items: center; gap: 13px; }
.closing-scene .foot a:hover { color: #e2cfa5; }

@media (max-width: 1000px) {
  .perspective-heading { grid-template-columns: 1fr; gap: 16px; }
  .perspective-heading > p:last-child { justify-self: start; max-width: 38em; font-size: .8125rem; }
  .perspective-heading > p:last-child br { display: none; }
  .perspective-panel { gap: 35px; }
  .faq-grid { grid-template-columns: 1fr; gap: 32px; }
  .faq-head .title { max-width: none; }
}
@media (max-width: 760px) {
  .actors.perspective-section { padding-block: 70px; }
  .perspective-heading { margin-bottom: 22px; }
  .perspective-heading h2 { font-size: 2.2rem; }
  .perspective-heading > p:last-child { line-height: 1.75; }
  .perspective-nav { margin-bottom: 26px; }
  .perspective-tab { flex-direction: column; align-items: flex-start; gap: 9px; padding-block: 15px; font-size: .625rem; }
  .perspective-tab::after { right: 12px; }
  .perspective-panel { grid-template-columns: 1fr; gap: 26px; padding: 0 13px 10px 0; }
  .perspective-number { margin-bottom: 14px; }
  .perspective-intro h3 { font-size: 2rem; }
  .perspective-intro > p { font-size: .8125rem; margin-top: 14px; }
  .perspective-access { margin-top: 17px; gap: 8px 12px; }
  .perspective-access li { font-size: .625rem; }
  .perspective-product { padding: 20px 18px 0; }
  .perspective-product::before { inset: 8px -7px -7px 8px; }
  .perspective-product::after { inset: 16px -13px -13px 16px; }
  .perspective-product > header { gap: 10px; }
  .perspective-product > footer { margin-inline: -18px; padding-inline: 18px; font-size: .5625rem; }
  .perspective-product header b { font-size: .75rem; }
  .perspective-product header div > span { font-size: .625rem; }
  .perspective-demo { font-size: .5625rem; }
  .perspective-project strong { font-size: 1.6rem; }
  .perspective-footnote { margin-top: 25px; font-size: .5625rem; }
  .faq { padding-block: 70px; }
  .faq summary { font-size: .875rem; }
  .closing-scene .closing-main { min-height: 550px; padding-top: 70px; padding-bottom: 60px; }
  .closing-image { bottom: 135px; }
  .closing-image img { object-position: 54% 50%; }
  .closing-image::after { background: linear-gradient(90deg, #07100ce8, #07100c79), linear-gradient(0deg, #07100c, transparent 50%); }
  .closing-scene .closing-eyebrow { font-size: .5625rem; margin-bottom: 28px; }
  .closing-scene .end-title { font-size: clamp(2.6rem, 10vw, 4rem); }
  .closing-scene .end-sub { font-size: .8125rem; max-width: 25em; }
  .closing-link { font-size: .8125rem; margin-top: 28px; gap: 26px; }
  .closing-scene .foot-in { display: grid; grid-template-columns: 1fr auto; gap: 18px; padding-block: 27px; }
  .closing-scene .foot-in > p { grid-column: 1 / -1; grid-row: 2; font-size: .5625rem; }
}
@media (prefers-reduced-motion: reduce) {
  .perspective-panel, .perspective-panel:not([hidden]) .perspective-product,
  .perspective-panel:not([hidden]) .perspective-project,
  .perspective-panel:not([hidden]) .perspective-network-row,
  .perspective-panel:not([hidden]) .perspective-next,
  .faq details[open] > div { animation: none; }
  .closing-image img { transform: none; }
  .perspective-tab::after, .closing-arrow { transition: none; }
}
