/* Depth and interaction, without pinning or scroll snapping the page. */
.book-leaf{display:none}
.ep-grid.is-paused .ep-progress span{animation-play-state:paused}
@media(min-width:821px) and (prefers-reduced-motion:no-preference){
  .hero-video{transform:translate3d(0,var(--hero-depth,0px),0) scale(1.13)}
  .hero-logo{translate:-50% calc(-50% + var(--hero-logo-exit,0px));filter:opacity(var(--hero-logo-opacity,1))}
  .hero-years{translate:0 var(--hero-years-exit,0px);filter:opacity(var(--hero-years-opacity,1))}
  .book{perspective:1800px}
  .book.is-page-turning::before,.book.is-page-turning::after{animation:none}
  .book-leaf{display:block;position:absolute;top:0;bottom:0;left:50%;width:50%;z-index:6;transform-origin:left center;transform-style:preserve-3d;pointer-events:none}
  .book-leaf.is-backward{left:0;transform-origin:right center}
  .book-leaf-face{position:absolute;inset:0;overflow:hidden;backface-visibility:hidden;background:#e6c79d;box-shadow:0 0 28px rgba(48,28,10,.2)}
  .book-leaf-back{transform:rotateY(180deg)}
  .book-leaf-content{position:absolute;top:0;bottom:0;width:200%;left:-100%;background:url('../img/textura-album.jpg') center/100% 100% no-repeat}
  .is-backward .book-leaf-content{left:0}
  .book-leaf-back .book-leaf-content{left:0}
  .is-backward .book-leaf-back .book-leaf-content{left:-100%}
  .book-leaf-face::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(54,32,12,.24),rgba(255,247,225,.18) 12%,transparent 60%,rgba(54,32,12,.1));pointer-events:none}
  .book-leaf .archive-spread{transition:none;animation:none;opacity:1;transform:none;filter:none}
  .book-leaf .archive-copy,.book-leaf .archive-photo{animation:none}
}
@media(min-width:821px) and (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  .ep-grid{perspective:1500px;padding-top:12px;padding-bottom:12px}
  .ep-card:not(.active){transform:translateY(5px) scale(.985)}
  .ep-card.active{transform:perspective(1000px) translateY(-5px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));z-index:2}
  .ep-card.active .ep-bg{transform:translate(var(--photo-x,0px),var(--photo-y,0px)) scale(1.04)}
  .ep-card.is-pointing{transition:flex .55s cubic-bezier(.2,.7,.2,1),transform .12s ease-out,box-shadow .25s ease,filter .25s ease}
}
.nav-progress{height:3px;background:#e6f1f5}
.nav-progress span{background:linear-gradient(90deg,#00578b,#0099c3);transition:transform .18s linear}
.nav-links::before{transition:transform .48s cubic-bezier(.22,.75,.2,1),width .48s cubic-bezier(.22,.75,.2,1),opacity .18s ease}
.brand-timeline-cursor{position:absolute;z-index:2;left:var(--brand-cursor,64px);top:30px;width:32px;height:32px;border:1px solid rgba(255,255,255,.65);border-radius:50%;background:rgba(214,243,255,.13);box-shadow:0 0 0 5px rgba(214,243,255,.08);pointer-events:none;transform:translateX(-50%);transition:left .52s cubic-bezier(.22,.75,.2,1)}
.brand-timeline-cursor[hidden]{display:none}
.brand-timeline-fill{transition:width .52s cubic-bezier(.22,.75,.2,1)}
.brand-time-node .year,.brand-time-node .label{letter-spacing:0}
/* The comparison uses one photograph, so both sides remain registered. */
.lugares-gallery .lugar-comparison{overflow:hidden;border-radius:6px;border:1px solid #dbe7ed;background:#fff}
.lugares-gallery:has(.lugar-comparison)>div>figure:not(.lugar-comparison)>img{height:auto;aspect-ratio:4/3;object-fit:cover}
.lugares-gallery .lugar-comparison-stage{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:#dbe7ed}
.lugares-gallery .lugar-comparison-stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;border-radius:0;filter:none;transition:none}
.lugar-comparison-overlay{position:absolute;inset:0;clip-path:inset(0 0 0 var(--comparison,50%));background:#fff}
.lugares-gallery .lugar-comparison-overlay .comparison-context{opacity:.4;filter:saturate(.35)}
.lugares-gallery .lugar-comparison-overlay .comparison-subject{clip-path:var(--subject-clip);opacity:1}
.lugar-comparison-divider{position:absolute;left:var(--comparison,50%);top:0;bottom:0;width:2px;transform:translateX(-50%);background:#fff;box-shadow:0 0 12px rgba(0,35,54,.35);pointer-events:none}
.lugar-comparison-divider::after{content:'\2194';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:36px;height:36px;border:1px solid #dbe7ed;border-radius:50%;background:#fff;color:#00578b;font-size:20px}
.lugar-comparison-range{position:absolute;inset:0;z-index:3;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;touch-action:pan-y}
.lugar-comparison-stage:focus-within{outline:3px solid #008fd3;outline-offset:-3px}
.lugar-comparison-caption{display:flex;justify-content:space-between;gap:16px;padding:14px;color:#526b7c;font-size:.8rem;line-height:1.4}
.lugar-comparison-caption span:last-child{text-align:right;color:#00578b}
@media(max-width:700px){.brand-timeline-cursor{display:none}.lugar-comparison-caption{font-size:.7rem;padding:12px;gap:12px}}
@media(max-width:820px){
  .archive-spread.is-changing{transition:opacity .16s ease;transform:none;filter:none}
  .archive-spread.is-revealing .archive-copy,.archive-spread.is-revealing .archive-photo-main,.archive-spread.is-revealing .archive-photo-side{animation-duration:.46s}
}
@media(prefers-reduced-motion:reduce){
  .hero-video{transform:none}.hero-logo{translate:-50% -50%;filter:none}.hero-years{translate:none;filter:none}
  .ep-card,.ep-card.active,.ep-card:not(.active){transform:none;transition:none}
  .ep-card.active .ep-bg{transform:none}
  .nav-progress span,.nav-links::before,.brand-timeline-cursor,.brand-timeline-fill{transition:none}
  .book-leaf{display:none}.book.is-turning::before{animation:none}
}
