:root{--ink: #eef4f5;--ink-2: #c3ced3;--field: #101418;--field-2: #171d22;--surface: #161b20;--band: #0b0e11;--band-2: #171c21;--slate: #97a5ab;--line: rgba(238, 244, 245, .17);--line-soft: rgba(238, 244, 245, .09);--mark-4: #7a90e4;--mark-5: #8fa2ea;--mark-6: #a9b8ef;--mark-7: #c3cdf4;--signal: #8fa2ea;--signal-2: #a9b8ef;--good: #6aab8b;--on-dark: #eef4f5;--on-dark-mute: #a8b5ba;--sans: "Instrument Sans", system-ui, sans-serif;--serif: "Instrument Serif", Georgia, serif;--mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--measure: 38rem;--gutter: clamp(1rem, 2vw, 2rem)}.band-light{--ink: #14171a;--ink-2: #20262b;--field: #f2f4f5;--field-2: #e6eaec;--surface: #fbfcfc;--slate: #5d6970;--line: #cdd5da;--line-soft: #dde3e6;--mark-4: #7a90e4;--mark-5: #2743d0;--mark-6: #1d33a6;--mark-7: #14246f;--signal: #2743d0;--signal-2: #1d33a6;--good: #3f7d61;background:var(--field);color:var(--ink)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background:var(--field);color:var(--ink);font-family:var(--sans);font-optical-sizing:auto;font-size:18px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden;position:relative}header,main,footer{position:relative;z-index:1}::selection{background:var(--signal);color:var(--field)}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--signal);outline-offset:3px;border-radius:3px}.build :focus-visible,.closing :focus-visible,footer :focus-visible{outline-color:var(--signal)}.kicker{font-family:var(--mono);font-size:.72rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--slate)}.kicker .dot{color:var(--signal)}.wrap{max-width:96rem;margin:0 auto;padding-inline:var(--gutter)}header{position:fixed;inset:0 0 auto;z-index:50;transition:background .4s ease,border-color .4s ease,backdrop-filter .4s ease;border-bottom:1px solid transparent}header.scrolled{background:color-mix(in srgb,var(--field) 86%,transparent);backdrop-filter:saturate(1.2) blur(10px);border-bottom-color:var(--line)}.nav{display:flex;align-items:center;justify-content:space-between;height:72px}.wordmark{display:inline-flex;align-items:baseline;gap:.42em;line-height:1}.wordmark .reason{font-family:var(--serif);font-weight:400;font-size:1.38rem;letter-spacing:-.01em}.wordmark .machines{font-family:var(--mono);font-weight:500;font-size:.82rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink);position:relative;top:-.06em}.wordmark .machines:after{content:".";color:var(--signal)}.nav-links{display:flex;align-items:center;gap:clamp(1.1rem,2.6vw,2.6rem)}.nav-links a{font-family:var(--mono);font-size:.66rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--slate);transition:color .2s ease}.nav-links a:hover,.nav-links a[aria-current=page]{color:var(--ink)}@media(max-width:720px){.nav-links a:not(.nav-contact){display:none}}.hero{position:relative;padding-top:clamp(7rem,16vh,11rem);padding-bottom:clamp(3rem,8vh,6rem)}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,5vw,5rem);align-items:center}@media(max-width:940px){.hero-grid{grid-template-columns:1fr}}.hero h1{font-family:var(--sans);font-weight:600;letter-spacing:-.018em;line-height:1.06;font-size:clamp(2.7rem,7.4vw,5.4rem);margin:1.1rem 0 0}.hero h1 .pd{color:var(--signal)}.hero .lede{margin-top:1.6rem;max-width:var(--measure);font-size:clamp(1.06rem,1.5vw,1.28rem);line-height:1.62;color:var(--ink-2)}.hero .lede .em{font-weight:600}.hero .actions{margin-top:2.2rem;display:flex;flex-wrap:wrap;gap:1rem 1.6rem;align-items:center}.btn{font-family:var(--sans);font-size:.8rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;display:inline-flex;align-items:center;gap:.6em}.btn-primary{background:var(--ink);color:var(--field);padding:.85em 1.4em;border-radius:999px;transition:transform .25s ease,background .25s ease}.btn-primary:hover{background:var(--signal);transform:translateY(-1px)}.btn-ghost{color:var(--slate);border-bottom:1px solid var(--line);padding-bottom:.25em;transition:color .2s,border-color .2s}.btn-ghost:hover{color:var(--ink);border-color:var(--ink)}.btn-outline{font-family:var(--mono);font-size:.68rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;display:inline-flex;align-items:center;gap:.6em;border:1px solid var(--line);padding:.85em 1.35em;color:var(--ink);transition:border-color .2s ease,color .2s ease,background .2s ease}.btn-outline:hover{border-color:var(--signal);color:var(--signal)}section{padding-block:clamp(2.2rem,5vh,3.6rem)}.rule{height:1px;background:var(--line);border:0}.why-stmt{max-width:54rem}.why-stmt h2{font-family:var(--sans);font-weight:600;letter-spacing:-.018em;line-height:1.1;font-size:clamp(1.9rem,4.6vw,3.4rem)}.why-stmt h2 .mute{color:var(--slate)}.why-stmt p{margin-top:1.2rem;max-width:var(--measure);color:var(--ink-2)}.why-stmt p+p{margin-top:1.1rem}.approach-head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:1.5rem;margin-bottom:1.4rem}.approach-head h2{font-family:var(--sans);font-weight:600;letter-spacing:-.018em;font-size:clamp(1.8rem,4vw,3rem);line-height:1.05}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1rem,2vw,2rem)}@media(max-width:820px){.steps{grid-template-columns:1fr}}.step{border-top:1px solid var(--ink);padding-top:1.1rem}.step .n{font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;color:var(--signal)}.step h3{font-weight:500;font-size:1.5rem;letter-spacing:-.01em;margin:.5rem 0 .6rem}.step p{color:var(--slate);font-size:1rem}.build{background:var(--band);color:var(--on-dark);position:relative;overflow:hidden}.build .schematic{position:absolute;inset:0;opacity:.5;pointer-events:none}.build-schematic path{stroke-dasharray:1600;stroke-dashoffset:1600;transition:stroke-dashoffset 1.7s cubic-bezier(.4,0,.2,1)}.build-schematic circle{opacity:0;transition:opacity .6s ease}.build-schematic.drawn path{stroke-dashoffset:0}.build-schematic.drawn circle{opacity:1}.build-schematic.drawn circle:nth-of-type(1){transition-delay:.85s}.build-schematic.drawn circle:nth-of-type(2){transition-delay:1.05s}.build-schematic.drawn circle:nth-of-type(3){transition-delay:1.45s}.build-schematic.drawn circle:nth-of-type(4){transition-delay:1s}.build-schematic.drawn circle:nth-of-type(5){transition-delay:1.3s}.build-schematic.drawn circle:nth-of-type(6){transition-delay:1.55s}.build-schematic.drawn circle:nth-of-type(7){transition-delay:1.7s}@media(prefers-reduced-motion:reduce){.build-schematic path{stroke-dashoffset:0;transition:none}.build-schematic circle{opacity:1;transition:none}}.build .wrap{position:relative;z-index:1}.build h2{font-family:var(--sans);font-weight:600;letter-spacing:-.018em;line-height:1.1;font-size:clamp(1.8rem,4vw,3rem);max-width:28rem}.build .kicker{color:var(--on-dark-mute)}.cards{margin-top:1.4rem;display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:#eef4f529;border:1px solid rgba(238,244,245,.16);border-radius:12px;overflow:hidden}@media(max-width:720px){.cards{grid-template-columns:1fr}}.card{background:var(--band);padding:clamp(1.2rem,2vw,1.7rem);transition:background .3s ease}.card:hover{background:var(--band-2)}.card .idx{font-family:var(--mono);font-size:.7rem;letter-spacing:.14em;color:var(--on-dark-mute)}.card h3{font-weight:500;font-size:1.4rem;letter-spacing:-.01em;margin:.9rem 0 .6rem}.card h3 .pd{color:var(--signal)}.card p{color:var(--on-dark-mute);font-size:.98rem}.proof-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(1.5rem,3vw,3rem);align-items:center}@media(max-width:860px){.proof-grid{grid-template-columns:1fr}}.proof-card{border:1px solid var(--line);border-radius:14px;padding:clamp(1.6rem,3vw,2.4rem);background:var(--surface)}.proof-card .tagrow{display:flex;align-items:center;gap:.8rem;margin-bottom:1.4rem}.proof-card .chip{font-family:var(--mono);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--good);border:1px solid color-mix(in srgb,var(--good) 40%,var(--line));border-radius:999px;padding:.3em .7em}.spec .r{display:grid;grid-template-columns:7.5rem 1fr;gap:1rem;padding:.82rem 0;border-bottom:1px solid var(--line-soft);align-items:baseline}.spec .r:last-child{border-bottom:0;padding-bottom:0}.spec .r:first-child{padding-top:0}.spec dt{font-family:var(--mono);font-size:.63rem;letter-spacing:.14em;text-transform:uppercase;color:var(--slate)}.spec dd{font-size:1.02rem;line-height:1.45;color:var(--ink)}.proof-side h2{font-family:var(--sans);font-weight:600;letter-spacing:-.018em;font-size:clamp(1.7rem,3.6vw,2.6rem);line-height:1.08}.proof-side p{margin-top:1.2rem;color:var(--slate);max-width:30rem}.cpage-hero{position:relative;overflow:clip;padding-top:clamp(6rem,12vh,8rem);padding-bottom:clamp(2.5rem,6vh,4rem)}.cpage-photo{position:absolute;inset:0;pointer-events:none}.cpage-photo img{width:100%;height:100%;object-fit:cover;object-position:center 72%;display:block}.cpage-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,var(--field) 0%,rgba(16,20,24,.5) 16%,rgba(16,20,24,0) 42%,rgba(16,20,24,0) 82%,var(--field) 100%),linear-gradient(100deg,#101418e0,#10141899 34%,#10141814 62%,#10141838)}.cpage-coords{position:absolute;left:var(--gutter);bottom:1.5rem;z-index:1;font-family:var(--mono);font-size:.6rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:#eef4f5d1;text-shadow:0 1px 8px rgba(6,8,10,.7)}.cpage-hero .wrap{position:relative;z-index:2}.loc-band{padding-block:clamp(2.25rem,5vh,3.5rem);border-top:1px solid var(--line-soft)}.loc-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1rem,2.5vw,2rem);margin-top:2.2rem}@media(max-width:720px){.loc-cards{grid-template-columns:1fr}}.loc-card{background:var(--band);border:1px solid var(--line-soft);border-radius:12px;padding:1.6rem 1.7rem 1.7rem}.loc-card .role{font-family:var(--mono);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--signal)}.loc-card .city{font-weight:500;font-size:1.3rem;letter-spacing:-.01em;margin-top:.7rem}.loc-card .meta{font-family:var(--mono);font-size:.7rem;letter-spacing:.05em;color:var(--slate);margin-top:.55rem}.contact-grid{display:grid;grid-template-columns:.85fr 1fr;gap:clamp(1.5rem,3.5vw,3rem);align-items:start}@media(max-width:860px){.contact-grid{grid-template-columns:1fr;gap:2.6rem}}.contact-intro h2{font-family:var(--sans);font-weight:600;letter-spacing:-.018em;font-size:clamp(1.9rem,4.4vw,3rem);line-height:1.06;margin-top:1rem;max-width:14ch}.contact-lede{margin-top:1.3rem;color:var(--slate);max-width:32rem;font-size:1.06rem;line-height:1.55}.contact-direct{margin-top:2rem;display:grid;gap:1rem}.contact-direct dt{font-family:var(--mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--slate)}.contact-direct dd{font-size:1.02rem;color:var(--ink);margin-top:.2rem}.contact-direct a{color:var(--ink);border-bottom:1px solid var(--signal);padding-bottom:1px;transition:color .2s}.contact-direct a:hover{color:var(--signal)}.contact-form{border:1px solid var(--line);border-radius:16px;background:var(--surface);padding:clamp(1.5rem,3.4vw,2.4rem);display:grid;gap:1.15rem}.field{display:grid;gap:.45rem}.field label{font-family:var(--mono);font-size:.64rem;letter-spacing:.13em;text-transform:uppercase;color:var(--slate)}.field label .opt{color:var(--line);text-transform:none;letter-spacing:.04em;margin-left:.4em}.field input,.field textarea{font-family:var(--sans);font-size:1.02rem;color:var(--ink);background:var(--field);border:1px solid var(--line);border-radius:9px;padding:.7em .85em;width:100%;transition:border-color .2s,box-shadow .2s}.field textarea{resize:vertical;min-height:7rem;line-height:1.5}.field input:focus,.field textarea:focus{outline:none;border-color:var(--signal);box-shadow:0 0 0 3px color-mix(in srgb,var(--signal) 16%,transparent)}.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.form-row{display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap;margin-top:.2rem}.form-row .btn-primary{border:0;cursor:pointer}.form-row .btn-primary:disabled{opacity:.55;cursor:default;transform:none}.form-status{font-family:var(--mono);font-size:.72rem;letter-spacing:.02em;color:var(--slate);margin:0}.form-status.err{color:#8a3434}.form-done .kicker{color:var(--signal)}.form-done h3{font-weight:700;font-size:1.45rem;letter-spacing:-.01em;margin-top:.6rem}.form-done p{color:var(--slate);margin-top:.7rem;line-height:1.55}.closing{background:var(--band);color:var(--on-dark);text-align:center;position:relative;overflow:hidden}.closing .schematic{position:absolute;inset:0;opacity:.4;pointer-events:none}.closing .wrap{position:relative;z-index:1}.closing h2{font-family:var(--sans);font-weight:600;letter-spacing:-.018em;line-height:1.08;font-size:clamp(2.2rem,6vw,4.4rem);max-width:20em;margin:1rem auto 0}.closing h2 .em{color:var(--signal)}.closing .actions{margin-top:1.8rem;display:flex;justify-content:center;gap:1.4rem;flex-wrap:wrap}.closing .btn-ghost{color:var(--on-dark-mute);border-color:#eef4f54d}.closing .btn-ghost:hover{color:var(--on-dark);border-color:var(--on-dark)}footer{background:var(--band);color:var(--on-dark-mute);padding-block:2rem 2.4rem;border-top:1px solid rgba(238,244,245,.14)}.foot .meta a{color:var(--on-dark-mute);transition:color .2s}.foot .meta a:hover{color:var(--on-dark)}.foot{display:flex;flex-wrap:wrap;gap:1.5rem;align-items:center;justify-content:space-between}footer .wordmark .reason{color:var(--on-dark)}footer .wordmark .machines{color:var(--on-dark)}.foot .meta{font-family:var(--mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase}.stage{background-color:var(--field);position:relative;height:100vh;padding-block:0}.stage-pin{position:relative;top:0;height:100vh;overflow:clip;z-index:1}@media(min-width:881px){.stage-pin:after{background:linear-gradient(180deg,transparent,var(--field));bottom:0;content:"";height:clamp(90px,14vh,160px);left:0;pointer-events:none;position:absolute;right:0;z-index:2}}.stage-inner{position:absolute;inset:0;max-width:100rem;margin:0 auto}.computed-field{overflow:clip;pointer-events:none;position:absolute;inset:0;z-index:1}.field-svg{height:100%;left:0;position:absolute;top:0;width:100%}.contours path{stroke:var(--ink);stroke-opacity:.3;stroke-width:1}.contours path.ix{stroke-opacity:.44;stroke-width:1.35}.waypoint line{stroke:var(--mark-5);stroke-width:1.1;opacity:.65;vector-effect:non-scaling-stroke}.waypoint circle{fill:var(--mark-5);transform-box:fill-box;transform-origin:center}.waypoint text{fill:var(--mark-6);font-family:var(--mono);font-size:14.5px;letter-spacing:.15em;paint-order:stroke;stroke:var(--field);stroke-width:4px;text-transform:uppercase}.stage .cam{position:absolute;inset:0}.stage .stay circle{fill:var(--signal)}.stage .stay text{fill:var(--mark-6);font-family:var(--mono);font-size:14.5px;letter-spacing:.15em;text-transform:uppercase;paint-order:stroke;stroke:var(--field);stroke-width:4px}.stage-copy{position:absolute;left:0;top:0;bottom:0;z-index:5;width:50%;display:flex;flex-direction:column;justify-content:center;padding-inline:var(--gutter) 2rem}.stage-copy .kicker{margin-bottom:1rem}.stage-h1{font-family:var(--sans);font-weight:600;letter-spacing:-.018em;line-height:1.08;font-size:clamp(2.5rem,5.6vw,4.6rem)}.stage-h1 .nb{white-space:nowrap}.stage-h1 .pd{color:var(--signal)}.stage-lede{margin-top:1.5rem;max-width:32rem;font-size:clamp(1.02rem,1.4vw,1.2rem);line-height:1.6;color:var(--ink-2)}.stage-lede .em{font-weight:600}.stage-copy .actions{margin-top:2rem;display:flex;flex-wrap:wrap;gap:1rem 1.6rem;align-items:center}.stage-side{position:absolute;right:var(--gutter);bottom:2.4rem;z-index:5;max-width:20rem;padding-left:1.5rem;border-left:1px solid var(--line);display:grid;gap:1.15rem;justify-items:start}.stage-side p{font-size:.94rem;line-height:1.55;color:var(--slate)}@media(max-width:880px){.stage-side{display:none}}@media(max-width:880px){.stage{height:100vh}.computed-field{bottom:auto;height:min(58%,91.8vw);left:0;right:0;width:100%}.computed-field:after{background:linear-gradient(180deg,transparent 0%,color-mix(in srgb,var(--field) 84%,transparent) 62%,var(--field) 100%);content:"";inset:auto 0 0;height:30%;position:absolute;width:auto}.waypoint text{font-size:22px;letter-spacing:.1em}.waypoint circle{r:10}.stage .stay text{font-size:22px;letter-spacing:.1em}.stage .stay circle{r:10}.stage-copy{width:100%;justify-content:flex-end;padding-bottom:8vh;padding-right:var(--gutter)}.stage-copy .kicker{align-self:flex-start;background:color-mix(in srgb,var(--field) 92%,transparent);border:1px solid color-mix(in srgb,var(--line) 72%,transparent);border-radius:999px;box-shadow:0 8px 22px #14171a14;color:var(--ink);font-size:.6rem;letter-spacing:.13em;line-height:1.45;padding:.46rem .62rem;text-shadow:0 1px 0 var(--field)}}@media(prefers-reduced-motion:no-preference){.stage-copy .kicker,.stage-h1,.stage-lede,.stage-copy .actions{animation:heroRise .64s cubic-bezier(.23,1,.32,1) both}.stage-copy .kicker{animation-delay:60ms}.stage-h1{animation-delay:.14s}.stage-lede{animation-delay:.22s}.stage-copy .actions{animation-delay:.3s}.stage-side{animation:heroRise .64s cubic-bezier(.23,1,.32,1) .42s both}@media(min-width:881px){@supports (animation-timeline: view()){.computed-field{animation:fieldRecede linear both;animation-timeline:view();animation-range:exit 0% exit 100%}}}}@keyframes heroRise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes fieldRecede{to{translate:0 26vh}}.production{padding-block:clamp(2.2rem,5vh,3.6rem)}.apps-head{padding-block:clamp(6rem,13vh,8.5rem) clamp(2rem,4.5vh,3.5rem)}.apps-head h1{font-family:var(--sans);font-weight:600;letter-spacing:-.018em;line-height:1.06;font-size:clamp(2.4rem,5.4vw,4.4rem);margin-top:1rem;max-width:15ch}.apps-headgrid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(2rem,4.5vw,4.5rem);align-items:start}.apps-side{display:grid;gap:1.5rem;justify-items:start;padding-left:clamp(1.5rem,2.5vw,2.5rem);border-left:1px solid var(--line);align-self:end}@media(max-width:940px){.apps-headgrid{grid-template-columns:1fr}.apps-side{padding-left:0;border-left:0}}.apps-filters{display:flex;flex-wrap:wrap;gap:.7rem .6rem;margin-bottom:clamp(1.6rem,3.5vh,2.6rem)}.fchip{font-family:var(--mono);font-size:.68rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--slate);background:none;border:1px solid var(--line);border-radius:999px;padding:.62em 1.15em;cursor:pointer;transition:color .2s,border-color .2s,background .2s}.fchip:hover{color:var(--ink);border-color:var(--ink)}.fchip.active{color:var(--signal);border-color:var(--signal);background:color-mix(in srgb,var(--signal) 8%,transparent)}.prod-card.filtered-out{display:none}.prod-tag{display:inline-block;margin-top:.8rem;justify-self:start;align-self:start;width:fit-content;font-family:var(--mono);font-size:.6rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--slate);border:1px solid var(--line);border-radius:999px;padding:.45em 1em}.apps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(1.8rem,2.6vw,2.6rem) clamp(.9rem,1.3vw,1.3rem)}@media(max-width:1420px){.apps-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:1020px){.apps-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:680px){.apps-grid{grid-template-columns:1fr}}.apps-grid .prod-card h3{font-size:1.06rem;margin-bottom:.35rem}.apps-grid .prod-card p{font-size:.86rem;line-height:1.5}.apps-grid .prod-tag{margin-top:.65rem}.prod-head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:1rem 1.5rem}.view-all{font-family:var(--mono);font-size:.72rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--ink);display:inline-flex;align-items:center;gap:.7em;margin-bottom:.35rem;border-bottom:1px solid var(--line);padding-bottom:.35em;transition:color .2s,border-color .2s}.view-all:hover{color:var(--signal);border-color:var(--signal)}.view-all svg{display:block}.production-h{font-family:var(--sans);font-weight:600;letter-spacing:-.018em;font-size:clamp(1.6rem,3.6vw,2.6rem);margin-top:1rem;max-width:34rem}.prod-grid{display:grid;grid-auto-flow:column;grid-auto-columns:min(36rem,80vw);gap:clamp(1rem,1.75vw,1.5rem);margin-top:1.5rem;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:1.1rem;scrollbar-width:thin;scrollbar-color:var(--line) transparent}.prod-grid{cursor:grab}.prod-grid.dragging{scroll-snap-type:none;cursor:grabbing;user-select:none}.prod-grid.dragging .prod-open{cursor:grabbing}.prod-card{scroll-snap-align:start}.prod-card{display:flex;flex-direction:column}.prod-art{border:1px solid color-mix(in srgb,var(--ink) 30%,var(--line));border-radius:8px;background:#14171a;padding:0;margin-bottom:1.15rem;aspect-ratio:1120 / 700;overflow:hidden;position:relative}.prod-open{position:absolute;inset:0;z-index:2;border:0;padding:0;background:none;cursor:grab}.prod-open:hover+.prod-view,.prod-open:focus-visible+.prod-view{opacity:1}.prod-view{pointer-events:none;position:absolute;right:.7rem;bottom:.7rem;font-family:var(--mono);font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:var(--on-dark);background:color-mix(in srgb,var(--ink) 72%,transparent);border:1px solid rgba(238,244,245,.22);border-radius:999px;padding:.38em .9em;opacity:0;transition:opacity .18s ease}.prod-card h3{font-weight:500;font-size:1.22rem;letter-spacing:-.01em;margin-bottom:.45rem}.prod-card p{color:var(--slate);font-size:.95rem;line-height:1.55}.prod-coverage{margin-top:1.3rem;font-family:var(--mono);font-size:.66rem;letter-spacing:.06em;color:var(--slate)}.dash-fit{position:absolute;inset:0}.dash-fit .dash{transform-origin:0 0}.dash{width:1120px;height:700px;background:#14171a;color:var(--on-dark);font-family:var(--mono);font-variant-numeric:tabular-nums;display:flex;flex-direction:column;--dp-panel: #1a1f24;--dp-panel2: #20262c;--dp-line: rgba(238,244,245,.09);--dp-line-2: rgba(238,244,245,.16);--dp-mute: #a8b5ba;--dp-faint: #6d7a81;--dp-acc: #8fa2ea;--dp-good: #6aab8b;--dp-warn: #c9a05e;--dp-crit: #d98277}.dash-bar{flex:none;height:42px;display:flex;align-items:center;gap:.42rem;padding:0 16px;border-bottom:1px solid var(--dp-line);background:#eef4f505}.db-brand{display:inline-flex;align-items:center;gap:.55rem;padding-right:.95rem;border-right:1px solid var(--dp-line-2)}.db-brand svg{flex:none}.db-wm{display:inline-flex;align-items:baseline;gap:.38em;line-height:1;white-space:nowrap}.db-wm em{font-family:var(--serif);font-weight:400;font-size:13.5px;letter-spacing:-.01em;color:var(--on-dark)}.db-wm b{font-family:var(--mono);font-weight:500;font-size:9px;letter-spacing:.18em;color:var(--dp-mute)}.db-title{margin-left:.55rem;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--on-dark)}.db-title .sep{color:var(--dp-faint);margin-inline:.5em}.db-title .sub{color:var(--dp-mute);letter-spacing:.12em;text-transform:none}.db-meta{margin-left:auto;display:flex;align-items:center;gap:1.1rem;font-size:10px;letter-spacing:.08em;color:var(--dp-mute)}.db-meta .live{display:inline-flex;align-items:center;gap:.45em}.db-meta .live:before{content:"";width:6px;height:6px;border-radius:999px;background:var(--dp-good)}.dash-kpis{flex:none;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:10px;padding:12px 16px 0}.kpi{background:var(--dp-panel);border:1px solid var(--dp-line);border-radius:8px;padding:10px 12px 9px;min-width:0}.kpi .kl{display:block;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--dp-mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kpi .kv{display:block;font-size:23px;line-height:1.25;font-weight:500;letter-spacing:-.01em;margin-top:2px;white-space:nowrap}.kpi .ks{display:block;font-size:9px;letter-spacing:.04em;color:var(--dp-faint);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kpi .ks b{font-weight:500}.kpi.good{border-bottom:2px solid color-mix(in srgb,var(--dp-good) 70%,transparent)}.kpi.warn{border-bottom:2px solid color-mix(in srgb,var(--dp-warn) 70%,transparent)}.kpi.crit{border-bottom:2px solid color-mix(in srgb,var(--dp-crit) 70%,transparent)}.kpi.acc{border-bottom:2px solid color-mix(in srgb,var(--dp-acc) 70%,transparent)}.tx-good{color:var(--dp-good)}.tx-warn{color:var(--dp-warn)}.tx-crit{color:var(--dp-crit)}.tx-acc{color:var(--dp-acc)}.tx-mute{color:var(--dp-mute)}.tx-faint{color:var(--dp-faint)}.dash-body{flex:1;display:grid;gap:10px;padding:12px 16px;min-height:0}.pnl{background:var(--dp-panel);border:1px solid var(--dp-line);border-radius:8px;padding:11px 13px;min-width:0;min-height:0;overflow:hidden;display:flex;flex-direction:column}.pnl-h{flex:none;display:flex;align-items:baseline;justify-content:space-between;gap:1rem;font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--dp-mute);margin-bottom:9px}.pnl-h .r{letter-spacing:.06em;color:var(--dp-faint);text-transform:none}.dt{width:100%;border-collapse:collapse;font-size:11px}.dt th{font-weight:500;font-size:8.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--dp-faint);text-align:left;padding:3px 8px 5px;border-bottom:1px solid var(--dp-line-2);white-space:nowrap}.dt td{padding:5px 8px;border-bottom:1px solid var(--dp-line);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dt tr:last-child td{border-bottom:0}.dt .num,.dt th.num{text-align:right}.dt .id{color:var(--dp-acc)}.pill{display:inline-block;font-size:8.5px;letter-spacing:.09em;text-transform:uppercase;line-height:1;padding:3px 7px 2.5px;border-radius:999px;border:1px solid}.pill.good{color:var(--dp-good);border-color:color-mix(in srgb,var(--dp-good) 45%,transparent);background:color-mix(in srgb,var(--dp-good) 10%,transparent)}.pill.warn{color:var(--dp-warn);border-color:color-mix(in srgb,var(--dp-warn) 45%,transparent);background:color-mix(in srgb,var(--dp-warn) 10%,transparent)}.pill.crit{color:var(--dp-crit);border-color:color-mix(in srgb,var(--dp-crit) 45%,transparent);background:color-mix(in srgb,var(--dp-crit) 10%,transparent)}.pill.acc{color:var(--dp-acc);border-color:color-mix(in srgb,var(--dp-acc) 45%,transparent);background:color-mix(in srgb,var(--dp-acc) 10%,transparent)}.pill.mute{color:var(--dp-mute);border-color:var(--dp-line-2);background:#eef4f508}.hb{display:flex;align-items:center;gap:8px}.hb-track{flex:1;height:6px;border-radius:999px;background:#eef4f512;overflow:hidden}.hb-fill{height:100%;border-radius:999px;background:#8b98a0}.hb-fill.good{background:var(--dp-good)}.hb-fill.warn{background:var(--dp-warn)}.hb-fill.crit{background:var(--dp-crit)}.hb-fill.acc{background:var(--dp-acc)}.dash-verdict{flex:none;display:flex;align-items:center;gap:1.6rem;padding:9px 16px 12px;font-size:10px;letter-spacing:.03em;color:var(--dp-mute);border-top:1px solid var(--dp-line);white-space:nowrap;overflow:hidden}.dash svg{display:block}.dash svg text{font-family:var(--mono)}.dash-modal{border:0;padding:0;background:var(--surface);color:var(--ink);border-radius:14px;width:min(1280px,72vw);max-height:90vh;margin:auto;box-shadow:0 30px 60px #00000047}.dash-modal::backdrop{background:#06080a9e;backdrop-filter:blur(4px)}.dm-inner{position:relative;padding:clamp(1.6rem,3vw,2.8rem);max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.dm-kicker{font-family:var(--mono);font-size:.7rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--slate);margin-top:.2rem}.dm-kicker:empty{display:none}.dm-close{position:absolute;top:1.2rem;right:1.2rem;width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--slate);font-size:1rem;line-height:1;cursor:pointer}.dm-close:hover{color:var(--ink);border-color:var(--slate)}.dm-title{font-weight:600;font-size:clamp(1.6rem,2.8vw,2.4rem);letter-spacing:-.018em;margin-top:.5rem;padding-right:3.4rem}.dm-desc{color:var(--slate);font-size:1.02rem;line-height:1.6;margin-top:.7rem;max-width:78ch}.dm-art{margin-top:1.5rem;flex:1 1 auto;min-height:0;overflow-y:auto;display:grid;place-items:start center}.dm-art .dash-fit{position:relative;inset:auto;display:block;border-radius:10px;overflow:hidden;border:1px solid color-mix(in srgb,var(--ink) 30%,var(--line));background:#14171a}.dm-actions{flex:0 0 auto;margin-top:1.4rem;display:flex;justify-content:center}.dm-actions .btn-primary{font-size:.92rem;padding:1.05em 2.6em}@media(max-width:900px){.dash-modal{width:94vw}}@media(max-width:640px){.dm-inner{padding:1.1rem}.dm-close{top:.6rem;right:.6rem}}.reveal{opacity:0;transform:translateY(16px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}.reveal.visible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}
