/* Progressive fallback: the existing CTA, then a complete static construction frame. */
.day{padding-bottom:0}
.construction{position:relative;isolation:isolate;aspect-ratio:auto;min-height:0;padding:0;margin:30px 0 0;color:#fff;overflow-anchor:none;--story-entry-gap:30px;row-gap:var(--story-entry-gap)}
.construction:after{content:none}
.construction-stage{position:relative}
.construction-underlay{position:relative;isolation:isolate;color:var(--ink);padding:0 0 60px;background:#fff}
.construction-underlay .travel-row{width:calc(100% - var(--gutter)*2);margin:0 var(--gutter)}
.construction-cover{position:relative;height:100vh;height:100dvh;pointer-events:none}
.construction-surface{position:relative;width:100%;height:100%;isolation:isolate;pointer-events:auto;border-radius:var(--scene-radius,var(--photo-corner));overflow:hidden}
.construction .construction-photo{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center;border-radius:inherit;z-index:-2}
.construction-surface:before{content:'';position:absolute;inset:0;background:rgb(0 0 0 / 43%);z-index:-1}
.construction-content{width:calc(100% - var(--gutter)*2);max-width:1500px;height:100%;margin:0 auto;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:clamp(64px,8dvh,120px);text-align:center}
.construction #construction-title{font:200 clamp(44px,3vw,76px)/1 SFUI,'SF UI Display',Arial,sans-serif;color:#fff;margin:0;width:100%}
.construction #construction-title .construction-claim,.construction #construction-title .construction-claim>span{display:block;font:inherit;line-height:1;margin:0}
.construction #construction-title .construction-claim>span{white-space:nowrap}
.construction #construction-title .construction-proof{display:block;font-family:Literata,Georgia,serif;font-size:inherit;font-weight:400;line-height:1;margin:0}
.construction .construction-video{position:relative;display:grid;place-items:center;flex-shrink:0;width:min(100%,1050px,max(160px,calc((100dvh - 300px)*16/9)));aspect-ratio:16/9;height:auto;margin:0;background:#171717;color:#fff;cursor:default}
.construction-play{width:48px;height:48px}

/* The outgoing cards stay in place while a viewport-sized photo rises over them. */
.day-story{position:relative}
.day-story.is-story-enabled>.day{position:sticky;top:var(--day-pin-top)}
.construction.is-story-enabled .construction-stage{position:sticky;top:var(--story-pin-top);z-index:1}
.construction.is-story-enabled .construction-underlay{padding:0}
.construction.is-story-enabled .construction-cover{position:absolute;left:0;right:0;top:calc(-1*var(--story-pin-top));overflow:clip;z-index:2}
.construction.is-story-enabled .construction-surface{position:absolute;inset:0;transform:translate3d(0,var(--cover-y,100%),0)}
.construction.is-story-enabled .construction-claim{opacity:var(--claim-opacity,0)}
.construction.is-story-enabled .construction-proof{opacity:var(--proof-opacity,0)}
.construction.is-story-enabled .construction-video{opacity:0;translate:0 14px;transition:none}
.construction.is-story-enabled .construction-video.is-visible{opacity:1;translate:0 0;transition:opacity 420ms cubic-bezier(.22,1,.36,1),translate 420ms cubic-bezier(.22,1,.36,1)}

@media(min-width:1101px){
  .construction{margin-top:.78125vw;--story-entry-gap:.78125vw}
  .day-story{--day-column-width:20.15625vw;--day-column-gap:.78125vw}
  .day-story .day-card{flex-basis:var(--day-column-width)}
  .day-story .day-gallery{gap:var(--day-column-gap)}
  /* The four full cards at the end of the gallery define the footer grid. */
  .construction-underlay .travel-row{grid-template-columns:repeat(4,var(--day-column-width));gap:var(--day-column-gap);width:calc(4*var(--day-column-width) + 3*var(--day-column-gap));margin-left:calc(100% - var(--gutter) - 4*var(--day-column-width) - 3*var(--day-column-gap));margin-right:var(--gutter)}
  .construction-underlay .travel-card:first-child{grid-column:1}
  .construction-underlay .day-cta{grid-column:4}
}
@media(max-width:1100px){.construction #construction-title{font-size:clamp(22px,6.9vw,38px)}.construction-content{gap:clamp(32px,5dvh,48px)}.construction-play{width:40px;height:40px}}
@media(max-width:1100px) and (max-height:760px){.construction-underlay .travel-card{height:auto;min-height:0;padding:14px 25px;gap:8px}.construction-underlay .day-cta{height:56px;min-height:56px;margin-top:10px}}
@media(prefers-reduced-motion:reduce){.construction .construction-video{transition:none}}
.construction:not(.is-story-enabled) .construction-surface{border-radius:0}
