/* Motion supports the approved layout: no pinned scenes or additional scroll distance. */
.idea-motion .idea-reveal{transition:opacity .75s ease var(--reveal-delay,0ms),transform 1s cubic-bezier(.22,.65,.25,1) var(--reveal-delay,0ms);transform:translateY(20px)}
.idea-motion .idea-reveal.is-visible,.idea-motion .idea-reveal:focus-within{transform:none;opacity:1}
.idea-motion .idea-card,.idea-motion .idea-value-spread article{transform:none!important}
.idea-motion .idea-card-copy,.idea-motion .idea-value-caption{opacity:0;transform:translateY(14px);transition:opacity .7s ease calc(var(--reveal-delay,0ms) + 100ms),transform .9s cubic-bezier(.22,.65,.25,1) calc(var(--reveal-delay,0ms) + 100ms)}
.idea-motion .is-visible>.idea-card-copy,.idea-motion .is-visible>.idea-value-caption,.idea-motion .idea-card:focus-within .idea-card-copy{opacity:1;transform:none}
/* The photograph gently opens into its existing frame as it reaches reading position. */
.idea-motion .motion-photo{--photo-progress:0;clip-path:inset(calc((1 - var(--photo-progress))*2.5%) calc((1 - var(--photo-progress))*2%));}
.idea-motion .motion-photo img{transform:scale(calc(1.055 - var(--photo-progress)*.055));transition:none}
.idea-motion .idea-finale-photo.motion-photo{clip-path:inset(calc((1 - var(--photo-progress))*4%) calc((1 - var(--photo-progress))*4%))}
.idea-motion .idea-finale-photo.motion-photo img{transform:scale(calc(1.075 - var(--photo-progress)*.075))}
/* Keep paragraph and link entrance subordinate to the headline. */
.idea-motion .idea-opening>p:last-child,.idea-motion .idea-promise>p:last-child{transition:opacity .8s ease .15s,transform .9s ease .15s}
.idea-motion .idea-opening:not(.is-visible)>p:last-child,.idea-motion .idea-promise:not(.is-visible)>p:last-child{opacity:0;transform:translateY(10px)}
html.idea-motion.booting .idea-hero-content{opacity:1;transform:none}
html.idea-motion .idea-hero-content{transition:none}
html.idea-motion .idea-hero-content .idea-eyebrow,html.idea-motion .idea-hero-content h1,html.idea-motion .idea-hero-intro,html.idea-motion .idea-hero-bottom{transition:opacity 1s ease,transform 1.2s cubic-bezier(.22,.65,.25,1)}
html.idea-motion.booting .idea-hero-content .idea-eyebrow,html.idea-motion.booting .idea-hero-content h1,html.idea-motion.booting .idea-hero-intro,html.idea-motion.booting .idea-hero-bottom{opacity:0;transform:translateY(14px)}
html.idea-motion.entered .idea-hero-content h1{transition-delay:90ms}html.idea-motion.entered .idea-hero-intro{transition-delay:200ms}html.idea-motion.entered .idea-hero-bottom{transition-delay:330ms}
/* The final invitation follows the image; contact options remain easy to reach. */
.idea-motion .motion-contact{transform:translateY(20px);transition-duration:.85s,1s}
.idea-motion .motion-contact .contact-introduction,.idea-motion .motion-contact .contact-channels{transition:opacity .7s ease .12s,transform .8s ease .12s}
.idea-motion .motion-contact:not(.is-visible):not(:focus-within) .contact-introduction,.idea-motion .motion-contact:not(.is-visible):not(:focus-within) .contact-channels{opacity:0;transform:translateY(10px)}
@media(max-width:700px){.idea-motion .idea-reveal{--reveal-delay:0ms!important;transform:translateY(12px);transition-duration:.5s,.7s}.idea-motion .motion-photo{clip-path:none}.idea-motion .motion-photo img,.idea-motion .idea-finale-photo.motion-photo img{transform:scale(calc(1.025 - var(--photo-progress)*.025))}.idea-motion .idea-finale-photo.motion-photo{clip-path:none}.idea-motion .idea-card-copy,.idea-motion .idea-value-caption{transition-delay:50ms}}
@media(prefers-reduced-motion:reduce){.idea-reveal,.idea-card-copy,.idea-value-caption,.idea-hero-content,.idea-hero-content h1,.idea-hero-content .idea-eyebrow,.idea-hero-intro,.idea-hero-bottom,.motion-contact .contact-introduction,.motion-contact .contact-channels{opacity:1!important;transform:none!important;transition:none!important}.motion-photo{clip-path:none!important}.motion-photo img{transform:none!important;transition:none!important}}

/* A full-bleed final scene: image first, words second, contact rises over the lower edge. */
.experiences-page.experience-ideas main .finale-cinema{position:relative;padding:0;margin:0!important;height:145svh;overflow:visible;background:var(--forest);isolation:isolate}
.finale-cinema .finale-scene{position:sticky;top:0;height:100svh;min-height:560px;overflow:hidden;clip-path:inset(calc((1 - var(--scene-entry,1))*4%) calc((1 - var(--scene-entry,1))*4%))}
.finale-cinema .idea-finale-photo,.idea-motion .finale-cinema .idea-finale-photo.motion-photo{position:absolute;inset:0;width:100%;height:100%;clip-path:none;opacity:1;transform:none}
.finale-cinema .idea-finale-photo img,.idea-motion .finale-cinema .idea-finale-photo.motion-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 43%;transform:scale(calc(1.07 - var(--scene-entry,1)*.07))}
.finale-cinema .idea-finale-photo:after{background:linear-gradient(180deg,transparent 35%,rgba(8,28,27,.12) 50%,rgba(8,28,27,.55) 100%)}
.finale-cinema .idea-finale-title{position:absolute;inset:auto var(--gutter) 19svh;padding:0;margin:0;opacity:var(--scene-title,1);transform:translateY(calc((1 - var(--scene-title,1))*22px));text-align:center}
.experience-ideas main .finale-cinema .idea-finale-title h2{font-size:clamp(60px,6.8vw,112px);line-height:1.05;max-width:none;margin:0 auto;text-shadow:0 2px 25px #10241d40;color:#fffaf1}
.finale-cinema .idea-finale-title .idea-eyebrow{color:#fffaf1;margin:0 0 25px;max-width:none}
.finale-cinema+.idea-standard-contact{position:relative;z-index:3;margin-top:-12svh!important;background:var(--forest)}
.finale-cinema+.idea-standard-contact .finale-contact-wrap{padding-top:70px}
@media(max-width:700px){.experiences-page.experience-ideas main .finale-cinema{height:100svh;min-height:650px}.finale-cinema .finale-scene{position:relative;height:100%;min-height:650px;clip-path:none}.finale-cinema .idea-finale-photo img{object-position:56% 50%}.finale-cinema .idea-finale-title{inset:auto 24px 17%;}.experience-ideas main .finale-cinema .idea-finale-title h2{font-size:clamp(43px,11vw,66px);line-height:1.12}.finale-cinema .idea-finale-title .idea-eyebrow{font-size:11px;margin-bottom:22px}.finale-cinema+.idea-standard-contact{margin-top:0!important}.finale-cinema+.idea-standard-contact .finale-contact-wrap{padding-top:40px}}
@media(prefers-reduced-motion:reduce){.experiences-page.experience-ideas main .finale-cinema{height:100svh}.finale-cinema .finale-scene{position:relative;clip-path:none}.finale-cinema .idea-finale-title{opacity:1;transform:none}.finale-cinema+.idea-standard-contact{margin-top:0!important}}
