/* PrintMarks — scroll-driven hero AI pipeline (AI Future theme only; enabled by JS via html.pm-hero-scrub). */
.pm-hero-pin{display:contents}
.pm-hero-hint{display:none}
/* sticky needs no scroll-container ancestors: html/body overflow-x:hidden would trap it, so use clip (still no sideways scroll) */
html.pm-hero-scrub,html.pm-hero-scrub body{overflow-x:clip!important;overflow-y:visible!important}
html.pm-hero-scrub[data-web-theme] section.hero#home.pm342-hero{overflow:clip!important}
html.pm-hero-scrub .pm-hero-pin{display:block;grid-area:media;align-self:stretch;min-height:calc(var(--pm-demo-h,560px) + var(--pm-scrub-len,1600px));min-width:0}
html.pm-hero-scrub .pm-hero-pin>.pm-ai-hero-demo{position:sticky;top:var(--pm-pin-top,84px)}
/* headline column: top-aligned (the hero copy is taller than a viewport, so it scrolls away while the demo stays pinned) */
html.pm-hero-scrub .pm342-hero .hero-inner>.hero-copy{align-self:start!important}
/* continuous, scroll-linked layers (replace the timed stage transitions) */
html.pm-hero-scrub .pm-ai-hero-demo :is(.pm-ai-hero-model,.pm-ai-checker,.pm-ai-model-cutout,.pm-ai-hero-canvas::after){transition:none!important}
html.pm-hero-scrub .pm-ai-model-before{opacity:calc(1 - var(--pm-bd,0))!important;transform:scale(1.025)!important;filter:blur(calc((1 - var(--pm-e,0))*4.2px)) saturate(.72) contrast(.9) brightness(.9)!important}
html.pm-hero-scrub .pm-ai-model-enhanced{opacity:calc(1 - var(--pm-bd,0))!important;clip-path:inset(0 calc((1 - var(--pm-e,0))*100%) 0 0)!important;transform:scale(1.006)!important}
html.pm-hero-scrub .pm-ai-checker{z-index:4!important;opacity:calc(1 - var(--pm-i,0))!important;clip-path:inset(0 calc((1 - var(--pm-b,0))*100%) 0 0)}
html.pm-hero-scrub .pm-ai-model-cutout{z-index:5!important;opacity:1!important;transform:none!important;clip-path:inset(0 calc((1 - var(--pm-b,0))*100%) 0 0)}
html.pm-hero-scrub .pm-ai-hero-canvas::after{opacity:var(--pm-i,0)!important}
html.pm-hero-scrub .pm-ai-hero-facebox{opacity:var(--pm-fb,0)!important;z-index:9!important}
html.pm-hero-scrub .pm-ai-hero-scan{opacity:var(--pm-so,0)!important;animation:none!important;transform:translateY(calc(var(--pm-ds,0)*68%))!important}
html.pm-hero-scrub .pm-ai-hero-progress i{width:calc(var(--pm-p,0)*100%)!important;transition:none!important}
.pm-hero-wipe{position:absolute;top:0;bottom:0;z-index:8;width:2px;left:var(--pm-wx,0%);opacity:var(--pm-wo,0);pointer-events:none;background:linear-gradient(#59e7ff,#fff,#9a79ff);box-shadow:0 0 18px 4px rgba(89,231,255,.55)}
.pm-hero-wipe::after{content:attr(data-label);position:absolute;top:56px;left:8px;white-space:nowrap;font:800 .56rem/1 ui-monospace,Menlo,Consolas,monospace;letter-spacing:.08em;color:#bff3ff;background:rgba(5,10,23,.8);padding:5px 7px;border-radius:6px}
.pm-wipe-flip.pm-hero-wipe::after{left:auto;right:8px}
/* print-ready guides */
.pm-hero-guides{position:absolute;inset:0;z-index:9;pointer-events:none;opacity:var(--pm-g,0)}
.pm-hero-guides i{position:absolute;left:14%;right:14%;height:1px;background:rgba(255,94,207,.85)}
.pm-hero-guides b{position:absolute;right:14%;top:12px;font:800 .56rem/1 ui-monospace,Menlo,Consolas,monospace;letter-spacing:.08em;color:#ff9bdc;background:rgba(5,10,23,.8);padding:5px 7px;border-radius:6px;transform:translateY(calc(100% + 0px))}
html.pm-hero-scrub .pm-hero-hint{display:block;margin:10px auto 0;text-align:center;font:800 .62rem/1 ui-monospace,Menlo,Consolas,monospace;letter-spacing:.1em;color:#7e93b8;opacity:calc(1 - var(--pm-p,0)*14)}
@media(max-width:820px){html.pm-hero-scrub .pm-hero-hint{font-size:.7rem}}
@media(prefers-reduced-motion:reduce){.pm-hero-wipe{display:none}}

/* short screens: shrink the canvas so the whole app window fits under the header */
html.pm-hero-fit .pm-ai-hero-canvas{aspect-ratio:auto!important;min-height:0!important;height:var(--pm-canvas-h,380px)!important}
html.pm-hero-fit .pm-ai-hero-demo .pm-ai-hero-model,html.pm-hero-fit .pm-ai-model-cutout img{object-position:50% 28%!important}
html.pm-hero-fit .pm-ai-hero-demo{padding-top:10px!important;padding-bottom:10px!important}

/* desktop stage rail: fills the left column once the headline has scrolled away */
.pm-hero-rail{display:none}
html.pm-hero-scrub.pm-hero-cols .pm-hero-rail{display:block;grid-area:copy;align-self:stretch;pointer-events:none;min-width:0;opacity:var(--pm-rail,0);transition:opacity .35s}
.pm-hero-rail>div{position:sticky;top:calc(var(--pm-pin-top,120px) + 40px);max-width:430px}
.pm-hero-rail small{display:block;font:800 .62rem/1 ui-monospace,Menlo,Consolas,monospace;letter-spacing:.12em;color:#59e7ff;margin-bottom:14px}
.pm-hero-rail ol{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.pm-hero-rail li{display:flex;gap:14px;align-items:center;padding:14px 16px;border:1px solid rgba(124,155,218,.14);border-radius:14px;color:#6f83a7;font-weight:800;letter-spacing:-.01em;transition:.3s;background:rgba(8,14,30,.4)}
.pm-hero-rail li b{font:800 .66rem/1 ui-monospace,Menlo,Consolas,monospace;color:#4d6086}
.pm-hero-rail li.on{color:#fff;border-color:rgba(89,231,255,.5);background:rgba(89,231,255,.08);box-shadow:0 0 28px rgba(89,231,255,.12)}
.pm-hero-rail li.on b{color:#59e7ff}.pm-hero-rail li.done{color:#9fb4d6}.pm-hero-rail li.done b{color:#62f6b4}
.pm-hero-rail p{margin:16px 2px 0;color:#7e93b8;font-size:.85rem;line-height:1.5}
