/* Shared page rhythm and motion. */
html{scrollbar-gutter:stable;--fravo-ease:cubic-bezier(.22,1,.36,1)}
body{-webkit-font-smoothing:antialiased}
h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}
.scene-section{margin-block:52px;gap:clamp(30px,4.4vw,64px)}
/* Root scroll-padding is the only sticky-header anchor offset. */
.play-feature-copy{min-block-size:var(--play-copy-height,164px)!important}
.playback-options .lab-stage{height:124px;min-height:124px;flex:none}
.play-feature-copy h3,.journal-copy h3{line-height:1.5}
.journal-copy{min-block-size:206px}
.nav-shell{transition:background-color .4s,box-shadow .4s,border-color .4s}
.nav-shell[data-scrolled=true]{background:#ffffffed;box-shadow:0 7px 30px #3f304518;border-color:#eee9e77a}
.nav-shell nav{position:relative}
.nav-shell nav::after{content:"";position:absolute;left:0;bottom:-7px;height:2px;width:var(--nav-width,0px);transform:translateX(var(--nav-x,0px));background:#ed8b74;border-radius:2px;opacity:var(--nav-opacity,0);transition:transform .45s var(--fravo-ease),width .45s var(--fravo-ease),opacity .3s;pointer-events:none}
.nav-shell nav a{transition:color .25s}
.nav-shell nav a[aria-current=location]{color:#28252c}
.scene-copy.reveal>h2,.scene-copy.reveal>p,.scene-copy.reveal>a{transition:opacity .65s var(--fravo-ease),transform .65s var(--fravo-ease)}
.motion-ready .scene-copy.reveal:not(.visible)>h2,.motion-ready .scene-copy.reveal:not(.visible)>p,.motion-ready .scene-copy.reveal:not(.visible)>a{opacity:0;transform:translateY(10px)}
.scene-copy.visible>h2{transition-delay:.06s}.scene-copy.visible>p{transition-delay:.13s}.scene-copy.visible>a{transition-delay:.19s}
.image-stack{isolation:isolate}
.image-stack .zoom-shot{transition:opacity .28s,background-color .28s,transform .35s var(--fravo-ease)}
.image-stack:hover .zoom-shot{transform:translateY(-2px)}
.site-footer .content-boundary{flex-basis:100%;font-size:13px;line-height:1.8;color:#8c8586;text-align:center;margin-top:6px}
.legal-header,.about-values article,.legal .prose>section{animation:legal-appear .7s var(--fravo-ease) both}
.about-values article:nth-child(2){animation-delay:80ms}.about-values article:nth-child(3){animation-delay:160ms}
.legal .prose>section{animation-name:none}
.legal .prose>section.reveal{animation:none}
@keyframes legal-appear{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:800px){.scene-section{margin-block:44px;gap:24px}.journal-copy{min-block-size:165px}.play-feature-copy{min-block-size:var(--play-copy-height,148px)!important}.site-footer .content-boundary{text-align:left}}
@media(prefers-reduced-motion:reduce){.scene-copy.reveal>*{transition:none!important;transform:none!important;opacity:1!important}.nav-shell nav::after,.image-stack .zoom-shot{transition:none!important}.legal-header,.about-values article{animation:none!important}}

/* Shared reading rhythm. */
.feature-description{min-block-size:190px}
.site-footer{flex-wrap:wrap}

.value-number{display:block;color:#c19b86;font-size:14px;margin-bottom:12px;font-variant-numeric:tabular-nums}
.document-date{display:block;margin-top:22px;font-size:14px;color:#968c8a}
.document-sidebar a{transition:color .25s,transform .3s var(--fravo-ease);line-height:1.7}
.document-sidebar a:hover{color:#c77160;transform:translateX(3px)}
.legal .prose section{margin-bottom:44px}.legal .prose section:last-child{margin-bottom:0}
.legal .prose p{max-width:790px}
.component-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 30px;margin:22px 0}
.component-grid article{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:19px 0;border-bottom:1px solid #ebe7e6}
.component-grid h3{font-size:20px;margin:0 0 5px}.component-grid span{font-size:14px;color:#8d848b}
.component-grid a{font-size:14px;white-space:nowrap;text-decoration:none}
.prose p.attribution{font-size:15px;color:#877b79;padding-left:16px;border-left:2px solid #e8d4ca;line-height:1.8}
@media(max-width:800px){.feature-description{min-block-size:175px}}
@media(max-width:500px){.feature-description{min-block-size:190px}.component-grid{grid-template-columns:1fr}.site-footer .content-boundary{font-size:12px}.legal .prose section{margin-bottom:34px}}

/* Coordinated, short entrances rather than large jumps between scenes. */
.reveal{transition:opacity .8s var(--fravo-ease),transform .8s var(--fravo-ease)}
.motion-ready .reveal:not(.visible){transform:translateY(22px)}
.detail-picture.reveal,.aggregate-picture.reveal{transition-delay:.1s}
.universe-tabs.reveal button,.price-choice.reveal article{transition:opacity .65s var(--fravo-ease),transform .65s var(--fravo-ease),background-color .3s,box-shadow .3s}
.motion-ready .universe-tabs.reveal:not(.visible) button,.motion-ready .price-choice.reveal:not(.visible) article{opacity:0;transform:translateY(11px)}
.universe-tabs.visible button:nth-child(2){transition-delay:.06s}.universe-tabs.visible button:nth-child(3){transition-delay:.12s}.universe-tabs.visible button:nth-child(4){transition-delay:.18s}
.price-choice.visible article:nth-child(2){transition-delay:.1s}
.cta .icon,.text-link .icon,.nav-get .icon{transition:transform .35s var(--fravo-ease)}
.cta:hover .icon,.text-link:hover .icon,.nav-get:hover .icon{transform:translateX(3px)}
@media(prefers-reduced-motion:reduce){.motion-ready .reveal:not(.visible),.motion-ready .universe-tabs.reveal:not(.visible) button,.motion-ready .price-choice.reveal:not(.visible) article{transform:none!important;opacity:1!important}.reveal,.universe-tabs.reveal button,.price-choice.reveal article,.cta .icon,.text-link .icon,.nav-get .icon{transition:none!important}}

.tmdb-attribution{display:flex;align-items:center;gap:20px;margin:22px 0}.tmdb-attribution>a{flex:none}.tmdb-attribution img{width:78px;height:56px;object-fit:contain}.tmdb-attribution p.attribution{margin:0;border:0;padding:0}
@media(max-width:500px){.tmdb-attribution{gap:14px}.tmdb-attribution img{width:64px}}

.component-license-links{display:flex;flex-direction:column;align-items:flex-end;gap:8px}

/* Keep the newly activated two-scene journal compact. */
@media(min-width:801px){.journal-section{margin:28px auto 20px}.journal-section>.section-title{margin-bottom:20px}}

@media(min-width:801px){.playback-section{margin-bottom:28px}.journal-section>.section-title .tag{margin-bottom:8px}.journal-section:not([hidden])+.universe-section{margin-top:32px}}

/* Purchase context stays in the dialog, not as repeated homepage footnotes. */
.dialog-scope{font-size:14px;line-height:1.8;color:#69616d;margin-top:20px}
.dialog-scope a{color:inherit;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
