/* Masked titles reveal independently of the section's scroll depth. */
.flow-heading h2[data-fold-heading]{display:flex;flex-direction:column;perspective:1400px}
.flow-heading .fold-line{display:block;overflow:hidden;line-height:1.04;padding:.12em .08em .25em;margin:-.12em -.08em -.25em}
.flow-heading .fold-line+.fold-line{margin-top:-.2em}
[data-fold-heading] .fold-line>span{display:block;transform:translateZ(0);backface-visibility:hidden}
.flow-heading h2 .fold-line-up,.flow-heading h2 .fold-line-up>span{color:inherit}
.flow-heading h2 .fold-line-down,.flow-heading h2 .fold-line-down>span{color:inherit}
.has-motion [data-fold-heading]:not(.is-unfolded) .fold-line-up>span{opacity:0;transform:translate3d(0,108%,0) rotateX(-34deg);filter:blur(2px)}
.has-motion [data-fold-heading]:not(.is-unfolded) .fold-line-down>span{opacity:0;transform:translate3d(0,-108%,0) rotateX(34deg);filter:blur(2px)}
.has-motion [data-fold-heading] .fold-line-up>span{transform-origin:50% 100%;transition:transform 1.4s cubic-bezier(.16,1,.3,1),opacity .65s ease,filter 1s ease}
.has-motion [data-fold-heading] .fold-line-down>span{transform-origin:50% 0;transition:transform 1.55s cubic-bezier(.16,1,.3,1) .1s,opacity .7s ease .1s,filter 1.1s ease .1s}
.control-story h2[data-fold-heading]{display:flex;flex-direction:column;perspective:1400px}
.control-story .fold-line{display:block;overflow:hidden;line-height:1.1;padding:.12em .08em .25em;margin:-.12em -.08em -.25em}
.control-story h2 .fold-line-up,.control-story h2 .fold-line-up>span{color:inherit}
.control-story h2 .fold-line-down,.control-story h2 .fold-line-down>span{color:inherit}
.has-motion [data-heading-style="rise"]:not(.is-unfolded) .fold-line>span{transform:translate3d(0,112%,0) rotateX(-22deg);filter:blur(2px)}
.has-motion [data-heading-style="rise"] .fold-line-up>span{transition-duration:1.3s,.65s,1s}
.has-motion [data-heading-style="rise"] .fold-line-down>span{transform-origin:50% 100%;transition-duration:1.5s,.7s,1.1s;transition-delay:.16s}
.flow-subtitle-line{display:block;overflow:hidden;padding:.12em 0;margin:-.12em 0}
.flow-subtitle-line>span{display:block;transform:translate3d(0,0,0)}
.has-motion [data-fold-heading]+.flow-subtitle{opacity:1;transform:none;transition:none}
.has-motion [data-fold-heading]+.flow-subtitle .flow-subtitle-line>span{transition:transform 1.15s cubic-bezier(.16,1,.3,1) .42s,opacity .8s ease .42s,filter .9s ease .42s}
.has-motion [data-fold-heading]+.flow-subtitle .flow-subtitle-line+ .flow-subtitle-line>span{transition-delay:.56s}
.has-motion [data-fold-heading]:not(.is-unfolded)+.flow-subtitle .flow-subtitle-line>span{opacity:0;transform:translate3d(0,115%,0);filter:blur(2px)}
/* A neutral white falloff keeps the typography lit from above. */
.public-landing{--text-light-fade:linear-gradient(180deg,#fff 0%,#fff 28%,#ffffffed 100%)}
.public-landing :is(.studio-copy h1,.studio-access-card h2,.flow-heading h2,.control-story h2,.control-copy h3,.opening-heading h2,.opening-steps h3){color:#fff;text-shadow:0 -1px 14px #ffffff06}
.public-landing :is(.studio-copy h1,.studio-access-card h2,.control-copy h3,.opening-heading h2,.opening-steps h3),.public-landing [data-fold-heading] .fold-line{-webkit-mask-image:var(--text-light-fade);mask-image:var(--text-light-fade)}
.public-landing [data-fold-heading] .fold-line,.public-landing [data-fold-heading] .fold-line>span,.public-landing .opening-heading h2>span{color:inherit}
.public-landing :is(.studio-copy>p:not(.studio-eyebrow),.studio-ai-intro,.studio-ai-prompt,.studio-copy-status,.flow-subtitle,.flow-request,.control-copy p,.opening-heading>p,.opening-chat p,.opening-review strong,.opening-docs){color:#eee;-webkit-mask-image:var(--text-light-fade);mask-image:var(--text-light-fade)}
.public-landing :is(.flow-code-top>span,.flow-api-label>span,.flow-pix-header>span,.flow-agent-examples>span,.control-nav button,.opening-review span,.opening-number){color:#e5e5e5}
.public-landing .control-nav button[aria-pressed=true],.public-landing .control-nav button[aria-pressed=true]>span{color:#fff}
.public-landing .purchase-flow .flow-checks :is(.flow-limit-check,.flow-permission){color:#e5e5e5}
.public-landing .flow-request span{color:inherit}
.public-landing :is(.public-header nav>a:not(.nav-login),.footer-links a,.footer-identity p,.provider p){color:#eee;-webkit-mask-image:var(--text-light-fade);mask-image:var(--text-light-fade)}
@media(max-width:760px){.has-motion [data-fold-heading] .fold-line>span,.has-motion [data-fold-heading]+.flow-subtitle .flow-subtitle-line>span{filter:none!important;transition-duration:.7s,.4s,0s}.has-motion [data-fold-heading]:not(.is-unfolded) .fold-line>span{transform:translate3d(0,105%,0)}}
@media(prefers-reduced-motion:reduce){.has-motion [data-fold-heading] .fold-line>span,.has-motion [data-fold-heading]+.flow-subtitle,.has-motion [data-fold-heading]+.flow-subtitle .flow-subtitle-line>span{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}}
