.hero-cw{--bg-0:#07090c;--bg-1:#0d1117;--key-cyan:#37e6d4;--amber:#ffb347;--livery-a:#12e0c8;--livery-b:#ff2ea6;--ink:#f4f7f9;--ink-dim:#9aa7b2;--display:"Arial Narrow","Roboto Condensed","Oswald","Helvetica Neue",sans-serif;--body:"Inter","Helvetica Neue",Arial,system-ui,sans-serif;background:var(--bg-0);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;box-sizing:border-box}.hero-cw *{margin:0;padding:0;box-sizing:border-box}.hero-cw .hero-scroll{position:relative;height:360vh}.hero-cw .hero-sticky{position:sticky;top:0;height:100vh;width:100%;overflow:hidden;background:radial-gradient(120% 90% at 50% 8%,#12202b 0%,var(--bg-1) 42%,var(--bg-0) 100%)}.hero-cw #stage{position:absolute;inset:0;width:100%;height:100%;display:block}.hero-cw .overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(20px,4vw,56px);pointer-events:none;z-index:3}.hero-cw .top-row{display:flex;justify-content:space-between;align-items:flex-start}.hero-cw .headline{max-width:660px}.hero-cw .eyebrow{font-family:var(--display);letter-spacing:.4em;text-transform:uppercase;font-size:clamp(11px,1.1vw,13px);color:var(--key-cyan);margin-bottom:18px;display:flex;align-items:center;gap:14px}.hero-cw .eyebrow:before{content:"";width:38px;height:1px;background:var(--key-cyan);opacity:.7}.hero-cw .headline>div:not(.eyebrow){font-family:var(--display);font-weight:700;text-transform:uppercase;font-size:clamp(40px,7.2vw,104px);line-height:.92;text-shadow:0 8px 40px rgba(0,0,0,.55)}.hero-cw .headline>div:not(.eyebrow) .shift{background:linear-gradient(100deg,var(--livery-a),var(--livery-b));-webkit-background-clip:text;background-clip:text;color:transparent}.hero-cw .sub{margin-top:22px;max-width:440px;color:var(--ink-dim);font-size:clamp(14px,1.4vw,17px);line-height:1.5}.hero-cw .bottom-row{display:flex;justify-content:space-between;align-items:flex-end}.hero-cw .scroll-hint{font-family:var(--display);letter-spacing:.3em;text-transform:uppercase;font-size:11px;color:var(--ink-dim);display:flex;align-items:center;gap:12px}.hero-cw .scroll-hint .track{width:1px;height:44px;background:#ffffff2e;position:relative;overflow:hidden}.hero-cw .scroll-hint .track:after{content:"";position:absolute;left:0;top:-40%;width:100%;height:40%;background:linear-gradient(var(--key-cyan),transparent);animation:hero-cw-drop 1.8s ease-in-out infinite}@keyframes hero-cw-drop{0%{top:-40%}60%{top:100%}to{top:100%}}.hero-cw .stage-label{font-family:var(--display);letter-spacing:.28em;text-transform:uppercase;font-size:12px;text-align:right}.hero-cw .stage-label span{color:var(--key-cyan)}.hero-cw .loader{position:absolute;inset:0;z-index:5;display:flex;align-items:center;justify-content:center;background:var(--bg-0);transition:opacity .6s ease;font-family:var(--display);letter-spacing:.4em;text-transform:uppercase;color:var(--ink-dim);font-size:12px}.hero-cw .loader.hidden{opacity:0;pointer-events:none}.hero-cw .drop{position:absolute;inset:0;z-index:6;display:none;flex-direction:column;align-items:center;justify-content:center;gap:18px;background:#06080beb;text-align:center;padding:24px}.hero-cw .drop.on{display:flex}.hero-cw .drop h3{font-family:var(--display);letter-spacing:.28em;text-transform:uppercase;font-size:16px;color:var(--ink);font-weight:700}.hero-cw .drop p{color:var(--ink-dim);font-size:13px;max-width:440px;line-height:1.5}.hero-cw .drop .zone{border:1.5px dashed rgba(55,230,212,.5);border-radius:6px;padding:26px 40px;color:var(--key-cyan);font-family:var(--display);letter-spacing:.2em;text-transform:uppercase;font-size:13px;cursor:pointer}.hero-cw .diag{display:flex;gap:16px;font-family:var(--display);letter-spacing:.15em;text-transform:uppercase;font-size:12px}.hero-cw .diag-row.ok{color:var(--key-cyan)}.hero-cw .diag-row.ko{color:#ff6b6b}.hero-cw .drop label{cursor:pointer}.hero-cw .drop input{display:none}.hero-cw .drop .demo{color:var(--ink-dim);font-size:11px;text-decoration:underline;cursor:pointer;background:none;border:none;font-family:var(--body);letter-spacing:.1em}.hero-cw .headline>div:not(.eyebrow) .w{display:inline-block;will-change:opacity,transform}.hero-cw .sub{will-change:opacity,transform}.hero-cw #w2,.hero-cw #w3,.hero-cw #sub{opacity:0}@media(prefers-reduced-motion:reduce){.hero-cw .scroll-hint .track:after{animation:none}}
