/* Ulric shared: scroll-scrub client journey + motion film. Self-contained, uses host --accent/--ink/--paper vars if present. */
.uflow{--uf-a:var(--accent,#9a6bc4);--uf-ink:var(--ink,#1e1628);--uf-bg:var(--paper2,#f3eee6);position:relative;background:var(--uf-bg)}
.uflow .uf-pin{padding:88px 0;overflow:hidden}
.uflow .uf-in{max-width:1160px;margin:0 auto;padding:0 20px;width:100%}
.uflow .uf-eyebrow{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--uf-a);font-weight:700;margin:0 0 8px}
.uflow h2{margin:0 0 6px;font-size:clamp(1.8rem,1.2rem + 2.4vw,3rem);color:var(--uf-ink)}
.uflow .uf-sub{margin:0 0 28px;color:var(--muted,#5d5466);max-width:46ch}
.uf-track{position:relative}
.uf-svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.uf-svg path{fill:none;stroke:var(--uf-a);stroke-width:3;stroke-linecap:round}
.uf-svg .uf-ghost{stroke:currentColor;opacity:.14;stroke-dasharray:2 8}
.uf-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:20px;position:relative}
.uf-step{background:#fff;border-radius:18px;padding:22px 20px;box-shadow:0 1px 0 rgba(0,0,0,.06),0 10px 30px -18px rgba(0,0,0,.35);opacity:.35;transform:translateY(14px) scale(.98);transition:opacity .5s,transform .5s cubic-bezier(.2,.7,.2,1);color:var(--uf-ink)}
.uf-step.on{opacity:1;transform:none}
.uf-dot{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--uf-bg);color:var(--uf-a);margin-bottom:14px;transition:background .4s,color .4s}
.uf-step.on .uf-dot{background:var(--uf-a);color:#fff}
.uf-dot svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.uf-step h3{margin:0 0 6px;font-size:1.25rem}.uf-step p{margin:0;font-size:.95rem;line-height:1.5;color:var(--muted,#5d5466)}
.uf-n{font-size:.72rem;font-weight:800;letter-spacing:.12em;color:var(--uf-a);display:block;margin-bottom:4px}
.uf-bar{height:4px;border-radius:4px;background:rgba(0,0,0,.08);margin-top:26px;overflow:hidden}.uf-bar i{display:block;height:100%;width:0;background:var(--uf-a)}
@media (max-width:820px){.uflow .uf-pin{padding:64px 0}.uf-steps{grid-template-columns:1fr;gap:12px}.uf-step{padding:16px 16px 16px 76px;position:relative;min-height:76px}.uf-dot{position:absolute;left:14px;top:14px;margin:0}.uf-svg{display:none}.uf-step p{font-size:.9rem}.uflow .uf-sub{margin-bottom:18px}}
@media (prefers-reduced-motion:reduce){.uf-step{opacity:1;transform:none;transition:none}}
/* motion film */
.ufilm{padding:72px 0;background:var(--floor,#170f20);color:var(--onfloor,#f4f2ec)}
.ufilm .uf-in{max-width:1160px;margin:0 auto;padding:0 20px;display:grid;gap:28px;align-items:center}
.ufilm h2{margin:0 0 8px;color:inherit;font-size:clamp(1.7rem,1.2rem + 2vw,2.6rem)}.ufilm p{margin:0;color:var(--floormuted,#c3b8cc);max-width:44ch}
.ufilm .uf-eyebrow{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent,#9a6bc4);font-weight:700;margin:0 0 8px}
.ufilm video,.ufilm img.uf-poster{width:100%;aspect-ratio:16/9;border-radius:18px;display:block;background:#000;object-fit:cover;box-shadow:0 30px 60px -30px rgba(0,0,0,.7)}
@media (min-width:921px){.ufilm .uf-in{grid-template-columns:.8fr 1.2fr;gap:56px}}
/* testimonials (pairs with per-demo ucar carousel) */
.utst{padding:88px 0;background:var(--paper2,#f3eee6)}
.utst .uf-in{max-width:1160px;margin:0 auto;padding:0 20px}
.utst .uf-eyebrow{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent,#9a6bc4);font-weight:700;margin:0 0 8px}
.utst h2{margin:0 0 24px;font-size:clamp(1.8rem,1.2rem + 2.4vw,3rem)}
.utst-card{flex:0 0 min(84%,380px);aspect-ratio:1/1;scroll-snap-align:start;background:#fff;border-radius:22px;padding:30px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 1px 0 rgba(0,0,0,.05),0 18px 40px -28px rgba(0,0,0,.4);margin:0}
.utst-card blockquote{margin:0;font-family:var(--disp,Georgia,serif);font-size:clamp(1.15rem,1rem + .6vw,1.45rem);line-height:1.35;color:var(--ink,#1e1628)}
.utst-card blockquote:before{content:"\201C";display:block;font-size:3.2rem;line-height:.6;color:var(--accent,#9a6bc4);margin-bottom:10px}
.utst-card figcaption{font-size:.9rem;color:var(--muted,#5d5466)}.utst-card figcaption b{display:block;color:var(--ink,#1e1628);font-size:1rem}
@media (max-width:640px){.utst-card{aspect-ratio:auto;min-height:min(84vw,340px);padding:24px}}
/* still-hero edit pill */
.uedit-pill{position:absolute;right:16px;bottom:16px;z-index:5;display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:8px 14px;border-radius:999px;background:rgba(15,15,15,.55);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff!important;font:600 .78rem/1.2 system-ui,-apple-system,sans-serif;text-decoration:none!important;border:1px solid rgba(255,255,255,.25);max-width:calc(100% - 32px);cursor:pointer}
.uedit-pill:hover{background:rgba(15,15,15,.75)}.uedit-pill svg{width:14px;height:14px;flex:none;fill:none;stroke:currentColor;stroke-width:2}
@media (max-width:640px){.uedit-pill{right:10px;bottom:10px;font-size:.72rem;padding:7px 12px}}
/* showcase */
.ushow{padding:88px 0;background:var(--floor,#141413);color:#f5f3ee}
.ushow .uf-in{max-width:1160px;margin:0 auto;padding:0 20px}
.ushow .uf-eyebrow{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-on-dark,#c9e6a8);font-weight:700;margin:0 0 8px}
.ushow h2{color:#fff;margin:0 0 10px;font-size:clamp(1.8rem,1.2rem + 2.4vw,3rem)}.ushow p{color:rgba(255,255,255,.75);max-width:52ch;margin:0 0 14px}
.ushow ul{margin:0 0 22px;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:8px}.ushow li{border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:6px 12px;font-size:.85rem}
.ushow-card{flex:0 0 min(78%,340px);aspect-ratio:1/1;border-radius:20px;overflow:hidden;margin:0;background:#222;scroll-snap-align:start;position:relative}
.ushow-card img{width:100%;height:100%;object-fit:cover;object-position:top}.ushow-card figcaption{position:absolute;left:10px;bottom:10px;background:rgba(0,0,0,.6);color:#fff;font-size:.8rem;padding:5px 10px;border-radius:999px}
.ushow a.ushow-cta{display:inline-flex;align-items:center;min-height:46px;padding:0 22px;border-radius:999px;background:#fff;color:#141413;font-weight:700;text-decoration:none;margin-top:24px}
section[class*="hero"]:has(>.uedit-pill){position:relative}
