.hero{position:relative;isolation:isolate;overflow:clip;padding-block:clamp(28px,5vw,64px) clamp(56px,7vw,104px)}.hero-glow{--gx:72%;--gy:40%;position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(min(680px,95vw) circle at var(--gx) var(--gy),color-mix(in srgb,var(--accent) var(--glow-mix),transparent) 0,transparent 68%)}.hero-in{display:grid;gap:clamp(36px,5vw,56px);align-items:center}@media (min-width:1024px){.hero-in{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);min-height:calc(100svh - var(--header-h) - 130px)}}.hero-copy{min-width:0;display:grid;gap:28px;align-content:center}.hero-title{--fit:1;font-size:calc(clamp(2.6rem, 11.2vw, 4.6rem) * var(--fit));font-weight:700;line-height:.98;letter-spacing:-.048em;text-wrap:wrap}@media (min-width:1024px){.hero-title{font-size:calc(clamp(4rem, var(--vw) * 6.8, 6.5rem) * var(--fit))}}@media (min-width:1024px) and (max-width:1279.98px){.hero-in{grid-template-columns:minmax(0,1fr) minmax(0,1fr);-moz-column-gap:36px;column-gap:36px}}.hero-kicker{display:flex;align-items:center;gap:10px;margin-bottom:26px;font:500 .8125rem/1.45 var(--font-mono);letter-spacing:.01em;color:var(--muted)}.hero-kicker:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent);flex:none;box-shadow:0 0 0 4px var(--accent-soft)}.ht-line,.ht-slot{display:block}.ht-slot,.ht-word{color:var(--accent)}.js .ht-slot{position:relative;height:1.12em;margin-block:-.02em .02em;overflow:hidden}.js .ht-word{position:absolute;left:0;top:0;white-space:nowrap;line-height:1.08;transform:translate3d(0,106%,0);opacity:0;font-weight:360;transition:transform .85s var(--ease-io),opacity .55s ease,font-weight .85s var(--ease-io)}.js .ht-word.is-current{transform:none;opacity:1;font-weight:720}.js .ht-word.is-out{transform:translate3d(0,-106%,0);opacity:0;font-weight:300}.js .ht-word.no-t{transition:none}.js .hero-title.is-measuring .ht-word{font-weight:720;transition:none}.js .roll-sep{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.hero-title .dot{color:var(--accent)}.hero-lede{font-size:clamp(1.0625rem,1rem + .4vw,1.25rem);color:var(--muted);max-width:35rem}.hero-ctas{gap:12px}.hero-ctas,.trust{display:flex;flex-wrap:wrap}.trust{gap:4px 0;font:500 .8125rem/1.5 var(--font-mono);color:var(--muted)}.trust li+li:before{content:"·";margin-inline:10px;color:var(--accent)}.hero-stage{min-width:0;display:grid;justify-items:center;gap:18px}.stage{position:relative;width:min(100%,660px);aspect-ratio:100/88;container-type:inline-size}.rig{left:6%;top:3%;width:88%;height:94%;font-size:1.692cqi;transform-style:preserve-3d;transform-origin:50% 46%;transform:perspective(170em) rotateX(8deg) rotateY(-12deg) rotate(1deg)}.device,.rig{position:absolute}.device{--mx:0px;--my:0px;--tx:0deg;--ty:0deg;--tz:0deg;--lift:0;left:var(--l);top:var(--t);padding:0;margin:0;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer;transform-style:preserve-3d;-webkit-tap-highlight-color:transparent;transform:translate3d(var(--mx),var(--my),calc(var(--z) + var(--lift) * 9em)) rotateX(var(--tx)) rotateY(var(--ty)) rotate(var(--tz))}.device.is-active{--lift:1}.device[data-device=web]{--l:0em;--t:2.6em;--z:0em}.device[data-device=desktop]{--l:12em;--t:22em;--z:6.5em}.device[data-device=mobile]{--l:37.6em;--t:5em;--z:12em}.device:focus-visible{outline:none}.device:focus-visible .dv-frame{outline:3px solid var(--accent-ink);outline-offset:6px}.device:hover .dv-frame{border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}.dv-tag{position:absolute;left:.6em;top:-2.6em;display:inline-flex;align-items:center;gap:.5em;padding:.55em .9em;border-radius:999px;background:var(--bg);border:1px solid var(--line);font:500 1.05em/1 var(--font-mono);color:var(--muted);white-space:nowrap;transition:background-color .4s,color .4s,border-color .4s}.device[data-device=desktop] .dv-tag{top:auto;bottom:-2.8em}.device.is-active .dv-tag{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}@container (max-width: 540px){.dv-tag{display:none}}.stage-cap{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px 14px;font:500 .8125rem/1.4 var(--font-mono);color:var(--muted)}.roll-btn{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border-radius:999px;border:1px solid var(--line);background:var(--bg);font:500 .8125rem/1 var(--font-mono);color:var(--fg);cursor:pointer}.roll-btn:hover{border-color:var(--fg)}.roll-btn .ic{width:14px;height:14px}.roll-btn .ic-play{display:none}.roll-btn[aria-pressed=true] .ic-play{display:block}.roll-btn[aria-pressed=true] .ic-pause{display:none}@media (prefers-reduced-motion:reduce){.roll-btn{display:none}}.why-grid{display:grid;gap:clamp(36px,5vw,64px);margin-top:clamp(48px,6vw,88px)}@media (min-width:1024px){.why-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}}.points{display:grid;gap:0;border-top:1px solid var(--line)}@media (min-width:640px){.points{grid-template-columns:repeat(2,minmax(0,1fr));-moz-column-gap:32px;column-gap:32px}}.point{display:grid;gap:8px;padding:22px 0;border-bottom:1px solid var(--line);align-content:start;min-width:0}.point h3{font-size:1.25rem;letter-spacing:-.02em}.point p{color:var(--muted);font-size:1rem}.portal{border-radius:var(--r-xl);border:1px solid var(--line);background:var(--panel);overflow:hidden;box-shadow:0 30px 60px -40px var(--shadow-c2)}.portal-top{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line);background:var(--bg)}.portal-top .dv-dots i{width:10px;height:10px}.portal-name{font:500 .8125rem/1 var(--font-mono);color:var(--muted)}.portal-top .badge{margin-left:auto}.portal-body{display:grid;gap:16px;padding:clamp(18px,3vw,28px)}.portal-proj{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}.portal-proj h3{font-size:1.25rem;letter-spacing:-.02em}.portal-proj span{font:500 .8125rem/1 var(--font-mono);color:var(--muted)}.pm{gap:10px}.pm,.pm li{display:grid}.pm li{grid-template-columns:36px minmax(0,1fr) auto;gap:4px 14px;align-items:center;padding:14px;border-radius:var(--r-md);background:var(--bg);border:1px solid var(--line);transition:border-color .3s,background-color .3s}.pm-ic{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;border:1px dashed var(--muted);color:var(--muted);grid-row:span 2}.pm-ic .ic{width:18px;height:18px}.pm-ic .ic-check{display:none}.pm-t{font-weight:600;min-width:0}.pm-s{font:500 .75rem/1.3 var(--font-mono);color:var(--muted);grid-column:2}.pm-amt{font:500 .875rem/1 var(--font-mono);grid-row:span 2;text-align:right}.pm-act{grid-column:2/-1;display:none;justify-self:start;margin-top:8px}.pm li[data-state=approved] .pm-ic{border:0;background:var(--accent);color:var(--on-accent)}.pm li[data-state=approved] .pm-ic .ic-check{display:block}.pm li[data-state=approved] .pm-ic .ic-lock{display:none}.pm li[data-state=review]{border-color:var(--accent);background:color-mix(in srgb,var(--accent-soft) 55%,var(--bg))}.pm li[data-state=review] .pm-ic{border:2px solid var(--accent);color:var(--accent-ink)}.pm li[data-state=review] .pm-ic .ic-lock{display:none}.pm li[data-state=review] .pm-act{display:inline-flex}.pm li[data-state=locked] .pm-t{color:var(--muted)}.portal-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;min-height:44px}.portal-msg{font-size:.9375rem;color:var(--muted)}.portal-cap{padding:14px 18px;border-top:1px solid var(--line);font-size:.8125rem;color:var(--muted);background:var(--bg)}.portal-reset{display:none}.portal.is-complete .portal-reset{display:inline-flex}.plat-grid{display:grid;gap:16px}@media (min-width:900px){.plat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.plat{display:grid;gap:16px;align-content:start;padding:clamp(22px,2.6vw,32px);border-radius:var(--r-xl);border:1px solid var(--line);background:var(--bg);min-width:0;transition:border-color .3s,transform .4s var(--ease)}.plat-ic{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:var(--accent-soft);color:var(--accent-ink)}.plat-ic .ic{width:24px;height:24px}.plat h3{font-size:clamp(1.5rem,1.2rem + .9vw,2rem);letter-spacing:-.035em}.plat p{color:var(--muted)}.stack-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.stack-tags li{padding:6px 10px;border-radius:8px;font:500 .8125rem/1.2 var(--font-mono)}.stack-tags li,.tools{background:var(--panel)}.tools{display:grid;gap:28px;padding:clamp(24px,4vw,56px);border-radius:var(--r-xl)}@media (min-width:1024px){.tools{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:56px}}.tools-copy{display:grid;gap:18px;align-content:start}.tools h2{font-size:clamp(1.75rem,1.2rem + 1.8vw,2.75rem);letter-spacing:-.04em}.tools-big{font:700 clamp(4rem,2.5rem + 6vw,8rem)/.85 var(--font-display);letter-spacing:-.06em;color:var(--accent-ink)}.hubs{display:flex;flex-wrap:wrap;gap:8px}.hubs a{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border-radius:999px;border:1px solid var(--line);background:var(--bg);text-decoration:none;font-weight:500;transition:border-color .25s,background-color .25s,color .25s,transform .35s var(--ease)}.hubs a:hover{border-color:var(--fg);transform:translateY(-2px)}.hubs .ic{width:14px;height:14px;color:var(--muted)}