:root{--ease:cubic-bezier(.25,.46,.45,.94);--reveal:cubic-bezier(.16,1,.3,1)}
.approach{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}.approach-copy p{font-size:16px;line-height:1.75;color:var(--muted);margin:0 0 20px}.approach-copy .approach-lead{font-size:23px;line-height:1.45;letter-spacing:-.5px;color:var(--ink)}.approach-heading,.approach-copy{transition:opacity 750ms var(--reveal),transform 750ms var(--reveal)}.approach-copy{transition-delay:100ms}@media(max-width:800px){.approach{grid-template-columns:1fr;gap:22px}.approach-copy{max-width:580px}.approach-copy .approach-lead{font-size:21px}}
header.wrap{position:sticky;top:0;z-index:10;width:100%;padding-inline:max(40px,calc((100% - 1120px)/2));height:72px;background:var(--header);backdrop-filter:blur(16px);border-bottom:1px solid color-mix(in srgb,var(--line),transparent 55%)}
.brand{font-size:24px}.button,.button.small{min-height:32px;height:32px;padding:0 12px;gap:12px;border-radius:999px;font-size:13px;font-weight:500;line-height:1;box-shadow:none;transition:background-color .16s var(--ease),color .16s var(--ease),opacity .16s var(--ease),transform .16s var(--ease)}
.button:hover{transform:translateY(-1px);box-shadow:none;opacity:.86}.button:active{transform:translateY(0) scale(.98)}
.button span{transition:transform .16s var(--ease)}.button:hover span{transform:translate(1px,-1px)}
.hero{padding-top:116px}.hero h1{font-size:clamp(45px,5.4vw,70px);letter-spacing:-.052em;line-height:1.07;max-width:900px;margin-bottom:26px}.intro{font-size:17px;line-height:1.65;margin-bottom:27px;max-width:800px}.text-link{font-size:13px;margin-left:23px}.hero>h1,.hero>.intro{animation-duration:850ms;animation-timing-function:var(--reveal)}
.demo{margin-top:62px;padding:18px 22px 0;border-radius:10px;max-width:1010px;background:linear-gradient(120deg,var(--panel),var(--bg));transform-origin:center bottom;transition:opacity 850ms var(--reveal),transform 1000ms var(--reveal)}
.demo-head{font-size:12px}.workflow{gap:8px;margin-top:24px;grid-template-columns:1fr 24px 1fr 24px 1fr}.stage-label{font-size:13px;margin-bottom:12px}.paper{min-height:154px;padding:16px;border-radius:6px;box-shadow:0 8px 24px #00000009}.paper p{font-size:14px;margin-block:12px}.connector{animation:none}.demo-foot{padding:18px;font-size:12px}.source,.review{border:0;background:var(--panel);color:var(--accent)}
.section{padding-top:112px}.section h2,.contact h2{font-size:clamp(33px,3.7vw,46px);line-height:1.13;letter-spacing:-.045em}.section-heading>p:last-child{font-size:16px}.eyebrow{font-size:12px;letter-spacing:1.15px;margin-bottom:20px}.columns{gap:34px;margin-top:38px}.columns h3{font-size:17px;margin-top:22px}.columns p{font-size:15px;line-height:1.75}.caption{font-size:12px}.mini-icon{display:none}
.work-visual{height:134px;padding:20px 18px;background:linear-gradient(135deg,var(--panel),var(--bg));border-radius:6px;font-size:12px;color:var(--muted);overflow:hidden}.work-visual strong{display:block;font-weight:450;font-size:12px;color:var(--accent);margin-top:16px}.visual-track{height:1px;background:var(--line);margin-top:23px;position:relative}.visual-track i{position:absolute;left:0;top:-1px;width:45%;height:3px;background:var(--accent);transform-origin:left}.answer-line{font-size:12px;margin-top:14px;border-left:2px solid var(--accent);padding-left:9px;color:var(--ink)}.eval-bars{height:30px;display:flex;gap:7px;align-items:end;margin-top:8px}.eval-bars i{width:28px;height:60%;background:var(--line);transform-origin:bottom}.eval-bars i:nth-child(2){height:80%}.eval-bars i:nth-child(3){height:65%}.eval-bars i:nth-child(4){height:90%;background:var(--accent)}.eval-bars i:nth-child(5){height:100%;background:var(--accent)}.eval-bars+strong{margin-top:9px}
.approach{padding-bottom:102px}.contact{background:transparent;padding:64px 0 48px;border-top:1px solid var(--line);border-radius:0}.contact>p:not(.eyebrow):not(.caption){font-size:16px}.contact .button{margin-top:3px}footer{padding-block:30px 38px}.theme-picker button{font-size:12px;padding:5px 10px}
.hero>.button,.hero>.text-link{animation:enter 850ms var(--reveal) 180ms both}.section-heading,.columns article,.approach>.eyebrow,.approach>h2,.contact{transition:opacity 750ms var(--reveal),transform 750ms var(--reveal)}.columns article:nth-child(2){transition-delay:75ms}.columns article:nth-child(3){transition-delay:150ms}.reveal-pending{opacity:0;transform:translateY(24px)}.demo.reveal-pending{transform:translateY(32px) scale(.985)}
.demo.revealed .stage{animation:stage-in 700ms var(--reveal) both}.demo.revealed .stage:nth-of-type(2){animation-delay:140ms}.demo.revealed .stage:nth-of-type(3){animation-delay:280ms}.revealed .visual-track i{animation:line-in 1.1s var(--reveal) both}.revealed .eval-bars i{animation:line-in .9s var(--reveal) both}.revealed .eval-bars i:nth-child(2){animation-delay:60ms}.revealed .eval-bars i:nth-child(3){animation-delay:120ms}.revealed .eval-bars i:nth-child(4){animation-delay:180ms}.revealed .eval-bars i:nth-child(5){animation-delay:240ms}
@keyframes stage-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes line-in{from{transform:scale(.4);opacity:.2}to{transform:scale(1);opacity:1}}
@media(max-width:800px){header.wrap{padding-inline:20px;height:64px}.hero{padding-top:72px}.hero h1{font-size:clamp(40px,7vw,58px)}.intro{font-size:16px}.workflow{grid-template-columns:1fr}.paper{min-height:0}.demo{margin-top:42px;padding:16px 16px 0}.demo-head{font-size:12px}.section{padding-top:78px}.columns{gap:30px}.columns article{max-width:none}.work-visual{height:124px}.section h2,.contact h2{font-size:35px}.contact{padding:44px 0}.approach{padding-bottom:70px}.text-link{margin-top:16px}.button,.button.small{min-height:36px;height:36px}.reveal-pending{transform:translateY(14px)}}
@media(prefers-reduced-motion:reduce){.reveal-pending{opacity:1;transform:none!important}*,*:before,*:after{animation:none!important;transition:none!important}}
@media(min-width:651px) and (max-width:800px){.workflow{grid-template-columns:1fr 14px 1fr 14px 1fr;gap:6px}.connector{transform:none}.paper{min-height:192px;padding:12px}.paper p{font-size:13px}.stage-label{font-size:12px;gap:6px}.file-label{font-size:12px}.columns{grid-template-columns:repeat(3,1fr);gap:20px}.work-visual{padding:14px 12px;height:140px}.work-visual strong{font-size:12px}.section h2{font-size:39px}}
