/* Obras ejecutadas immersive trajectory (ported from prototype; theme header/footer own chrome). */
.executed-page{background:var(--mv-color-sand-soft);color:var(--mv-color-ink);min-height:100vh;font-family:var(--mv-font-body)}
/* .executed-header omitted: theme header *//* .executed-brand omitted */
.executed-intro,.executed-timeline,.executed-closing{max-width:var(--mv-content-max);margin:0 auto;padding-left:var(--mv-space-page);padding-right:var(--mv-space-page)}.executed-intro{padding-top:130px;padding-bottom:128px;border-bottom:1px solid var(--mv-color-line)}.executed-kicker,.executed-category{color:var(--mv-color-red);font-size:var(--mv-text-label, var(--mv-type-action));font-weight:700;letter-spacing:.16em;text-transform:uppercase;margin:0 0 22px}.executed-intro h1{font:500 var(--mv-text-h1, var(--mv-type-hero))/.98 var(--mv-font-display);letter-spacing:-.045em;margin:0;max-width:960px}.executed-intro h1 span,.executed-section-head h2 span,.executed-closing h2 span{color:var(--mv-color-red)}.executed-lead{max-width:620px;margin:35px 0 25px;color:var(--mv-color-muted);font-size:var(--mv-text-lead, var(--mv-type-lead));line-height:1.55}.executed-intro-link,.executed-detail-link{display:inline-flex;align-items:center;gap:11px;color:var(--mv-color-red);font-weight:700;font-size:var(--mv-text-label, var(--mv-type-action));text-transform:uppercase;text-decoration:none;letter-spacing:.05em}.executed-intro-link svg,.executed-detail-link svg{transition:transform .25s ease}.executed-intro-link:hover svg,.executed-detail-link:hover svg{transform:translateX(5px)}
.executed-timeline{padding-top:112px;padding-bottom:118px}.executed-section-head{display:flex;justify-content:space-between;gap:60px;align-items:end;padding-bottom:38px;border-bottom:1px solid var(--mv-color-line)}.executed-section-head h2{font:500 var(--mv-text-h2, var(--mv-type-section))/1 var(--mv-font-display);letter-spacing:-.04em;margin:0}.executed-section-head>p{max-width:360px;color:var(--mv-color-muted);font-size:15px;/* experiment -3px: 12px */line-height:1.55;margin:0 0 2px}.executed-list{border-bottom:1px solid var(--mv-color-line)}.executed-item{display:grid;grid-template-columns:160px 1fr;border-bottom:1px solid var(--mv-color-line)}.executed-item:last-child{border-bottom:0}.executed-item-year{font:500 30px/1 var(--mv-font-display)/* experiment -3px: 500 27px */;padding-top:31px;color:var(--mv-color-ink)}.executed-item-main{min-width:0}.executed-item-summary{min-height:118px;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:22px 0}.executed-category{font-size:var(--mv-text-label, var(--mv-type-micro));margin:0 0 7px}.executed-item h3{font:500 clamp(25px,2.5vw,36px)/1.05 var(--mv-font-display)/* experiment -3px: clamp(22px, calc(2.5vw - 3px), 33px) */;margin:0 0 12px;letter-spacing:-.02em}.executed-meta{display:flex;gap:7px;align-items:center;color:var(--mv-color-muted);font-size:var(--mv-text-label, 14px);margin:0}.executed-meta svg,.executed-meta .mv-icon{width:1em;height:1em;flex-shrink:0}.executed-meta svg{color:var(--mv-color-red)}.executed-expand{display:inline-flex;align-items:center;gap:12px;background:none;border:0;color:var(--mv-color-ink);font:700 var(--mv-text-label, var(--mv-type-action)) var(--mv-font-body);text-transform:uppercase;letter-spacing:.06em;cursor:pointer;padding:14px 0}.executed-expand svg{transition:transform .3s ease;color:var(--mv-color-red)}.executed-item.is-open .executed-expand svg{transform:rotate(180deg)}.executed-detail{display:grid;grid-template-columns:minmax(280px,.95fr) 1fr;gap:34px;padding:0 0 34px;animation:executed-open .35s ease both}.executed-detail img{width:100%;height:245px;object-fit:cover;display:block}.executed-detail>div{padding:7px 15% 0 0}.executed-detail p{color:var(--mv-color-muted);font-size:15px;/* experiment -3px: 12px */line-height:1.62;margin:0 0 18px}.executed-closing{padding-top:116px;padding-bottom:132px;border-top:1px solid var(--mv-color-line)}.executed-closing h2{font:500 var(--mv-text-h2, var(--mv-type-section-title))/.98 var(--mv-font-display);letter-spacing:-.045em;max-width:1000px;margin:0 0 32px}@keyframes executed-open{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}
@media(max-width:900px){/* .executed-header omitted: theme header */.executed-item{grid-template-columns:100px 1fr}.executed-detail{grid-template-columns:1fr}.executed-detail>div{padding-right:0}}
@media(max-width:700px){/* .executed-header omitted: theme header *//* .executed-brand omitted */.executed-header nav,.executed-header nav.is-open{display:flex;position:absolute;top:72px;left:0;right:0;background:var(--mv-color-night);padding:15px 22px 20px;flex-direction:column;align-items:flex-start;gap:0}.executed-header nav.is-open a{display:block;width:100%;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.15);font-size:var(--mv-text-label, var(--mv-type-meta))}.executed-intro{padding-top:82px;padding-bottom:78px}.executed-intro h1{font-size:var(--mv-text-h1, clamp(44px,12vw,64px))}.executed-lead{font-size:var(--mv-text-lead, 16px);margin-top:25px}.executed-timeline{padding-top:72px;padding-bottom:78px}.executed-section-head{display:block;padding-bottom:28px}.executed-section-head>p{margin-top:20px}.executed-item{grid-template-columns:1fr}.executed-item-year{padding-top:25px;font-size:25px/* experiment -3px: 22px */}.executed-item-summary{min-height:0;padding:14px 0 22px;align-items:end}.executed-item h3{font-size:30px/* experiment -3px: 27px */}.executed-expand{padding:8px 0;font-size:var(--mv-text-label, var(--mv-type-micro))}.executed-detail{gap:20px;padding-bottom:28px}.executed-detail img{height:220px}.executed-closing{padding-top:78px;padding-bottom:90px}.executed-closing h2{font-size:var(--mv-text-h2, clamp(42px,11vw,58px))}}

.executed-intro--immersive{padding-bottom:104px}.executed-immersive{max-width:var(--mv-content-max);margin:0 auto;padding:108px var(--mv-space-page) 140px;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(250px,.7fr);gap:70px}.executed-stage{position:sticky;top:116px;align-self:start;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(250px,.65fr);min-height:540px;background:var(--mv-color-night);color:#fff}.executed-stage-image{position:relative;min-height:540px;overflow:hidden}.executed-stage-image img{width:100%;height:100%;min-height:540px;object-fit:cover;display:block;animation:executed-scene-in .7s ease both}.executed-stage-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.54))}.executed-stage-image span{position:absolute;z-index:1;bottom:22px;left:24px;font:700 var(--mv-text-label, var(--mv-type-action)) var(--mv-font-body);letter-spacing:.12em}.executed-stage-copy{padding:48px 30px 36px;display:flex;flex-direction:column;align-items:flex-start}.executed-stage-copy .executed-kicker{margin-bottom:10px}.executed-stage-year{color:#fff;font:500 25px var(--mv-font-display)/* experiment -3px: 500 22px */;margin:0 0 14px}.executed-stage-copy h2{font:500 var(--mv-text-h3, clamp(32px,3.2vw,52px))/.98 var(--mv-font-display);letter-spacing:-.04em;margin:0 0 19px}.executed-stage-copy h2 span{color:var(--mv-color-red)}.executed-stage-copy .executed-meta{color:#d0ccc4;margin-bottom:25px}.executed-stage-copy .executed-meta svg{color:var(--mv-color-red)}.executed-stage-description{font-size:var(--mv-text-body, 15px);line-height:1.58;color:#d0ccc4;margin:0 0 30px}.executed-stage-copy .executed-detail-link{margin-top:auto;color:#fff}.executed-stage-copy .executed-detail-link svg{color:var(--mv-color-red)}.executed-scenes{display:flex;flex-direction:column;gap:0;padding-top:0}.executed-scene{min-height:255px;border-top:1px solid var(--mv-color-line);padding:28px 0 34px;cursor:default}.executed-scene:last-child{border-bottom:1px solid var(--mv-color-line)}.executed-scene>span,.executed-scene-body>span{display:inline-block;color:var(--mv-color-red);font-size:var(--mv-text-label, var(--mv-type-meta));font-weight:700;letter-spacing:.12em;margin-right:14px}.executed-scene>p,.executed-scene-body>p{display:inline;color:var(--mv-color-muted);font-size:var(--mv-text-body, 13px);margin:0}.executed-scene h3,.executed-scene-body h3{font:500 var(--mv-text-h3, clamp(27px,2.6vw,40px))/1.02 var(--mv-font-display);margin:25px 0 0;letter-spacing:-.025em;max-width:380px}.executed-scene-media{display:none}.executed-scene:first-child{border-top:0;padding-top:0}.executed-immersive + .executed-closing{margin-top:0}@keyframes executed-scene-in{from{opacity:.35;transform:scale(1.06)}to{opacity:1;transform:scale(1)}}
.executed-stage-copy,.executed-stage-description{min-width:0;overflow-wrap:normal}.executed-stage-copy h2{min-width:0;overflow-wrap:normal;word-break:normal;hyphens:none;font-size:var(--mv-text-h3, clamp(26px,2.45vw,40px));line-height:1.02}.executed-stage-copy{padding-left:26px;padding-right:26px}.executed-immersive{grid-template-columns:minmax(0,1.08fr) minmax(310px,.92fr);gap:52px}.executed-stage{grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr)}
@media(max-width:900px){.executed-immersive{grid-template-columns:1fr;gap:42px;padding-top:78px}.executed-stage{position:sticky;top:84px;grid-template-columns:1fr 1fr;min-height:420px;z-index:2}.executed-stage-image,.executed-stage-image img{min-height:420px}.executed-stage-copy{padding:34px 24px 27px}.executed-scenes{padding-top:0}.executed-scene{min-height:190px}}
@media(max-width:700px){.executed-intro--immersive{padding-bottom:70px}.executed-immersive{padding:54px 24px 84px;gap:20px}.executed-stage{grid-template-columns:1fr;position:relative;top:auto;min-height:0}.executed-stage-image,.executed-stage-image img{height:285px;min-height:285px}.executed-stage-copy{padding:27px 22px 25px;min-height:285px}.executed-stage-copy h2{font-size:var(--mv-text-h3, 40px)}.executed-stage-description{font-size:var(--mv-text-body, 14px);margin-bottom:22px}.executed-scenes{margin-top:12px}.executed-scene{min-height:175px;padding:24px 0 28px}.executed-scene h3{font-size:var(--mv-text-h3, 29px);margin-top:18px}.executed-closing{padding-top:78px}}
.executed-stage{background:rgba(24,26,25,.92);backdrop-filter:blur(3px)}.executed-stage-copy .executed-detail-link{display:none}
.executed-stage{position:sticky;top:116px;display:block;overflow:hidden}.executed-stage-image{position:absolute;inset:0;min-height:0}.executed-stage-image img{min-height:100%;height:100%;width:100%;object-fit:cover}.executed-stage-copy{position:absolute;z-index:2;right:0;top:0;bottom:0;width:46%;background:rgba(24,26,25,.84);backdrop-filter:blur(3px)}.executed-stage-copy h2{font-size:var(--mv-text-h3, clamp(25px,2.2vw,36px))}
@media(max-width:900px){.executed-stage{position:relative;display:grid;overflow:visible}.executed-stage-image{position:relative;inset:auto;min-height:420px}.executed-stage-image img{min-height:420px}.executed-stage-copy{position:relative;right:auto;top:auto;bottom:auto;width:auto;background:rgba(24,26,25,.92)}}
@media(max-width:700px){.executed-stage-image{min-height:285px}.executed-stage-image img{min-height:285px}}
/* .executed-header omitted: theme header *//* .executed-brand omitted */
@media(max-width:760px){/* .executed-header omitted: theme header *//* .executed-brand omitted */}

/* Grid editorial compartido con Proyectos, Nosotros y Contacto. */
.executed-page{background:var(--mv-color-paper)}
.executed-intro,.executed-timeline,.executed-closing{padding-left:2vw;padding-right:2vw}
.executed-immersive{padding-left:2vw;padding-right:2vw}
@media(max-width:700px){.executed-intro,.executed-timeline,.executed-closing,.executed-immersive{padding-left:24px;padding-right:24px}}

/* Tablet: one column. Sticky stage on top, year list underneath. */
@media(max-width:900px) and (min-width:701px){
  .executed-page--immersive{overflow-x:clip}
  .executed-immersive{display:block;padding-top:64px;padding-bottom:88px}
  .executed-stage{
    position:sticky!important;
    top:24px!important;
    z-index:3;
    display:flex!important;
    flex-direction:column;
    grid-template-columns:none;
    min-height:0;
    width:100%;
    max-height:calc(100svh - 200px);
    overflow:hidden;
    overflow-anchor:none;
  }
  .executed-stage-image{
    position:relative!important;
    inset:auto!important;
    width:100%;
    height:32svh;
    min-height:0!important;
    flex:0 0 auto;
  }
  .executed-stage-image img{
    width:100%;
    height:100%;
    min-height:0!important;
    object-fit:cover;
  }
  .executed-stage-copy{
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    min-height:0!important;
    padding:32px 28px 34px;
    background:var(--mv-color-night);
    backdrop-filter:none;
  }
  .executed-stage-copy h2{font-size:var(--mv-text-h3, clamp(34px,6vw,46px));line-height:1.02}
  .executed-stage-description{max-width:38rem;margin-bottom:0}
  .executed-immersive{overflow-anchor:none}
  .executed-scenes{margin-top:56px;padding-top:0;padding-bottom:0}
  .executed-scene{min-height:0;padding:26px 0 30px}
  .executed-scene:first-child{padding-top:26px;border-top:1px solid var(--mv-color-line)}
}

/* Mobile: sticky stage storytelling; shorter markers so updates feel responsive. */
@media(max-width:700px){
  .executed-immersive{position:relative;display:block;padding-top:48px;padding-bottom:72px}
  .executed-stage{
    position:sticky!important;
    top:24px!important;
    z-index:3;
    display:flex!important;
    flex-direction:column;
    grid-template-columns:none;
    height:calc(100svh - 48px);
    max-height:none;
    overflow:hidden;
  }
  .executed-stage-image{
    position:relative!important;
    inset:auto!important;
    width:100%;
    height:auto!important;
    min-height:0!important;
    flex:0 0 46%;
  }
  .executed-stage-image img{
    width:100%;
    height:100%;
    min-height:0!important;
    object-fit:cover;
  }
  .executed-stage-copy{
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    flex:1 1 54%;
    justify-content:center;
    padding:22px 22px 24px;
    height:auto;
    background:rgba(24,26,25,.92);
  }
  .executed-stage-copy.is-updating{animation:executed-mobile-copy-in .32s ease both}
  .executed-stage-description{display:block;-webkit-line-clamp:unset;overflow:visible;font-size:var(--mv-text-body, 14px);line-height:1.5;margin-bottom:0}
  .executed-stage-copy .executed-kicker{margin-bottom:7px}
  .executed-stage-year{font-size:22px;/* experiment -3px: 19px */margin-bottom:10px}
  .executed-stage-copy h2{font-size:var(--mv-text-h3, clamp(31px,9vw,38px));margin-bottom:14px}
  .executed-stage-copy .executed-meta{margin-bottom:18px}
  .executed-scene-media{display:none}
  .executed-scenes{
    position:relative;
    z-index:1;
    margin-top:0;
    /* Enough travel so the last marker can cross the sticky probe line. */
    padding-bottom:calc(100svh - 48px);
  }
  .executed-scene,
  .executed-scene:first-child{
    display:block;
    height:42svh;
    min-height:260px;
    padding:0;
    border:0;
    opacity:0;
    pointer-events:none;
  }
  .executed-scene:last-child{border:0}
  .executed-scene.is-active h3{color:inherit}
}
@media(max-width:700px) and (max-height:720px){
  .executed-stage{top:16px!important;height:calc(100svh - 32px)}
  .executed-stage-image{flex-basis:42%}
  .executed-stage-copy{padding:17px 20px 19px}
  .executed-stage-copy .executed-kicker{margin-bottom:5px}
  .executed-stage-year{font-size:19px;/* experiment -3px: 16px */margin-bottom:7px}
  .executed-stage-copy h2{font-size:var(--mv-text-h3, clamp(28px,8.2vw,34px));margin-bottom:10px}
  .executed-stage-copy .executed-meta{margin-bottom:12px}
  .executed-stage-description{font-size:var(--mv-text-body, 13px);line-height:1.42}
  .executed-scenes{padding-bottom:calc(100svh - 32px)}
  .executed-scene,
  .executed-scene:first-child{height:38svh;min-height:220px}
}
@keyframes executed-mobile-copy-in{from{opacity:.3;transform:translateY(8px)}to{opacity:1;transform:none}}

/* Variante cinematográfica para la cronología en escritorio. */
@media(min-width:901px){
  .executed-immersive{
    grid-template-columns:minmax(0,1.28fr) minmax(290px,.72fr);
    gap:42px;
  }
  .executed-stage{
    height:clamp(680px,78vh,860px);
    min-height:680px;
  }
  .executed-stage-copy{
    width:42%;
    padding:54px 32px 48px;
  }
  /* Room so the last scenes can reach the sticky focus line before the closing section. */
  .executed-scenes{
    padding-bottom:max(280px, calc(78vh - 200px));
  }
  .executed-scene.is-active h3{
    color:var(--mv-color-red);
  }
  .executed-scene-media{display:none}
}

/* One scroll position per work. Photos stay mounted and crossfade. */
.executed-stage-image img{
  position:absolute;
  inset:0;
  opacity:0;
  animation:none;
  transform:none;
  transition:opacity var(--mv-motion-standard);
}
.executed-stage-image img.is-active{opacity:1}
.executed-stage-copy{animation:none}
.executed-controls{position:absolute;top:16px;left:16px;z-index:4;display:flex;gap:6px}
.executed-controls button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:44px;min-height:44px;padding:0 12px;background:var(--mv-color-night);color:var(--mv-color-white);border:1px solid var(--mv-color-dark-muted);font:700 var(--mv-text-label, var(--mv-type-action)) var(--mv-font-body);cursor:pointer}
.executed-controls button .mv-icon{width:16px;height:16px}
.executed-controls button:hover:not(:disabled){background:var(--mv-color-red)}
.executed-controls button:focus-visible{box-shadow:var(--mv-focus-ring-dark)}
.executed-controls button:disabled{opacity:.65}
.executed-scene-select{display:block;width:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer;font:inherit}
.executed-scene-select>span{display:inline-block;color:var(--mv-color-red);font-size:var(--mv-text-label, var(--mv-type-meta));font-weight:700;letter-spacing:.12em;margin-right:14px}
.executed-scene-select>p{display:inline;color:var(--mv-color-muted);font-size:var(--mv-text-body, 13px);margin:0}
.executed-scene.is-active h3,.executed-scene-select:hover h3{color:var(--mv-color-red)}
@media(max-width:700px){.executed-scene-select{visibility:hidden}}
@media(prefers-reduced-motion:reduce){.executed-stage-image img{transition:none}}
