.wf-intro{position:relative;text-align:center;padding:92px 28px 72px;background-image:radial-gradient(rgba(135,160,148,.07) 1px,transparent 1px);background-size:24px 24px}.wf-intro__inner{max-width:760px;margin:0 auto}.wf-intro h1{font-family:var(--mp-font-display);font-weight:700;letter-spacing:-.03em;font-size:clamp(38px,5.2vw,62px);line-height:1.05;margin:10px auto 18px;max-width:16ch}.wf-intro h1 .g{color:var(--mp-primary)}.wf-intro p{font-size:clamp(16px,1.8vw,20px);color:var(--mp-text-secondary);max-width:58ch;margin:0 auto;line-height:1.55}.wf-scrollcue{margin-top:44px;color:var(--mp-text-muted);font-family:var(--mp-font-mono);font-size:var(--mp-text-xs);letter-spacing:.12em;text-transform:uppercase;display:inline-flex;align-items:center;gap:10px}.wf-scrollcue:after{content:"↓";font-size:14px;color:var(--mp-primary)}.wf-scene{max-width:1120px;margin:0 auto;padding:60px 28px;display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}.wf-scene__copy,.wf-scene__visual{min-width:0}.wf-scene--flip .wf-scene__copy{order:2}.wf-scene--flip .wf-scene__visual{order:1}.wf-scene__kicker{display:flex;align-items:center;gap:12px;margin-bottom:16px}.wf-step{font-family:var(--mp-font-mono);font-size:var(--mp-text-xs);color:var(--mp-on-primary);background:var(--mp-primary);border-radius:var(--mp-radius-sm);width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;font-weight:500;flex:none}.wf-scene__eyebrow{font-family:var(--mp-font-mono);font-size:var(--mp-text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--mp-text-muted)}.wf-scene__title{font-family:var(--mp-font-display);font-weight:700;letter-spacing:-.02em;font-size:clamp(25px,3vw,33px);line-height:1.12;margin:0 0 16px}.wf-scene__body{color:var(--mp-text-secondary)}.wf-scene__body p{font-size:var(--mp-text-base);line-height:1.6;margin:0 0 16px}.wf-scene__body p:last-child{margin-bottom:0}.wf-scene__body code{font-family:var(--mp-font-mono);color:var(--mp-amber-300);font-size:.92em}.wf-scene__body strong{color:var(--mp-text);font-weight:600}.wf-scene__body a{color:var(--mp-primary)}.wf-scene__body a:hover{text-decoration:underline}.wf-points{list-style:none;padding:0;margin:4px 0 0;display:flex;flex-direction:column;gap:11px}.wf-points li{position:relative;padding-left:22px;font-size:var(--mp-text-sm);color:var(--mp-text-secondary);line-height:1.5}.wf-points li:before{content:"◆";position:absolute;left:0;top:2px;color:var(--mp-primary);font-family:var(--mp-font-mono);font-size:.85em}.wf-points code{font-family:var(--mp-font-mono);color:var(--mp-amber-300)}.wf-end{padding:30px 28px 96px}.js .wf-scene .wf-scene__copy,.js .wf-scene .wf-scene__visual{opacity:0;transform:translateY(22px);transition:opacity .65s var(--mp-ease-out),transform .65s var(--mp-ease-out)}.js .wf-scene.in-view .wf-scene__copy{opacity:1;transform:none}.js .wf-scene.in-view .wf-scene__visual{opacity:1;transform:none;transition-delay:.12s}.js .wf-fade{opacity:0;transform:translateY(20px);transition:opacity .65s var(--mp-ease-out),transform .65s var(--mp-ease-out)}.js .wf-fade.in-view{opacity:1;transform:none}.js .wf-line{opacity:0}.js .wf-line.show{opacity:1;transition:opacity .2s var(--mp-ease-out)}.js .wf-rest{opacity:0}.js .wf-term--done .wf-rest{opacity:1;transition:opacity .25s var(--mp-ease-out)}.wf-line--active .mp-term__cmd:after{content:"";display:inline-block;width:7px;height:1.02em;margin-left:2px;background:var(--mp-primary);vertical-align:text-bottom;animation:mp-term-blink 1.05s steps(1) infinite}.js .wf-stack-anim .mp-piece{opacity:0;transform:translateY(14px);transition:opacity .5s var(--mp-ease-settle),transform .5s var(--mp-ease-settle)}.js [data-reveal].in-view .wf-stack-anim .mp-piece{opacity:1;transform:none}.wf-stack-anim .mp-piece:nth-last-child(1){transition-delay:.06s}.wf-stack-anim .mp-piece:nth-last-child(2){transition-delay:.17s}.wf-stack-anim .mp-piece:nth-last-child(3){transition-delay:.28s}.wf-stack-anim .mp-piece:nth-last-child(4){transition-delay:.39s}.wf-stack-anim .mp-piece:nth-last-child(5){transition-delay:.5s}.wf-stack-anim .mp-piece:nth-last-child(6){transition-delay:.61s}@media(max-width:860px){.wf-scene{grid-template-columns:1fr;gap:30px;padding:48px 24px}.wf-scene--flip .wf-scene__copy,.wf-scene--flip .wf-scene__visual{order:0}}@media(max-width:560px){.wf-intro{padding:56px 18px 48px}.wf-scene{padding:40px 18px}}@media(prefers-reduced-motion:reduce){.js .wf-line,.js .wf-rest,.js .wf-scene .wf-scene__copy,.js .wf-scene .wf-scene__visual,.js .wf-fade,.js .wf-stack-anim .mp-piece{opacity:1!important;transform:none!important;transition:none!important}.wf-line--active .mp-term__cmd:after{animation:none}}
