:root{--ink:#11171c;--paper:#f3f4f3;--paper-rgb:243 244 243;--white:#fff;--blue:#0a6c93;--link:#0a6c93;--on-accent:#fff;--sky:#20b0dc;--sky-light:#7fd3ee;--steel:#3b4750;--muted:#56636d;--line:#8a969f;--line-light:#e1e5e7;--hover:#e4e8e9;--rule:#11171c;--divider:#cdd3d6;--divider-strong:#b9c2c8;--soft:#c3ccd2;--dark-line:#3b4750;--band:#11171c;--on-band:#f3f4f3;--tint:#11171c09;--grid-line:#11171c0f;--desk:#e9eceb;--desk-line:#11171c12;--kind-sheet:#fff;--kind-render:#dde2e4;--kind-model:#eef1f2;--kind-video:#11171c;--pick-bg:#11171c;--pick-fg:#f3f4f3;--pick-line:#11171c;--chip-bg:#11171c;--chip-fg:#f3f4f3;--cta-bg:#11171c;--cta-fg:#f3f4f3;--fill-bg:#11171c;--fill-fg:#f3f4f3;--green:#2ecc71;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--gutter:clamp(20px, 4vw, 48px);--max:1280px;--font-sans:"IBM Plex Sans", "Helvetica Neue", Arial, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, Menlo, Consolas, monospace;--ease-out:cubic-bezier(.22, 1, .36, 1)}:root[data-theme=dark]{--ink:#e1e7eb;--paper:#0e1418;--paper-rgb:14 20 24;--white:#151d23;--blue:#0f7aa3;--link:#62b8dc;--steel:#b3bfc7;--muted:#8a97a1;--line:#4e5c67;--line-light:#222d34;--hover:#1b252c;--rule:#36444e;--divider:#232e36;--divider-strong:#323f49;--band:#080c0f;--on-band:#e1e7eb;--tint:#ffffff06;--grid-line:#ffffff0a;--desk:#19222a;--desk-line:#ffffff0d;--kind-render:#1d272e;--kind-model:#19222a;--pick-bg:#17323f;--pick-fg:#eaf4f9;--pick-line:#2a6786;--chip-bg:#070b0ed6;--chip-fg:#e8edf0;--cta-bg:#cfd9df;--cta-fg:#0e1418;--fill-bg:#26343e;--fill-fg:#f1f5f7;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:dark){:root:not([data-theme]){--ink:#e1e7eb;--paper:#0e1418;--paper-rgb:14 20 24;--white:#151d23;--blue:#0f7aa3;--link:#62b8dc;--steel:#b3bfc7;--muted:#8a97a1;--line:#4e5c67;--line-light:#222d34;--hover:#1b252c;--rule:#36444e;--divider:#232e36;--divider-strong:#323f49;--band:#080c0f;--on-band:#e1e7eb;--tint:#ffffff06;--grid-line:#ffffff0a;--desk:#19222a;--desk-line:#ffffff0d;--kind-render:#1d272e;--kind-model:#19222a;--pick-bg:#17323f;--pick-fg:#eaf4f9;--pick-line:#2a6786;--chip-bg:#070b0ed6;--chip-fg:#e8edf0;--cta-bg:#cfd9df;--cta-fg:#0e1418;--fill-bg:#26343e;--fill-fg:#f1f5f7;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*,:before,:after{box-sizing:border-box}:root[data-theme=dark] .logo-img{filter:invert()hue-rotate(180deg)}@media (prefers-color-scheme:dark){:root:not([data-theme]) .logo-img{filter:invert()hue-rotate(180deg)}}:root[data-theme=dark] [style*=--kind-sheet]{filter:brightness(.86)}:root[data-theme=dark] [style*=--kind-sheet] [style*=--kind-sheet]{filter:none}@media (prefers-color-scheme:dark){:root:not([data-theme]) [style*=--kind-sheet]{filter:brightness(.86)}:root:not([data-theme]) [style*=--kind-sheet] [style*=--kind-sheet]{filter:none}}:root[data-theme=dark] ::selection{color:inherit;background:#62b8dc4d}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{font-family:var(--font-sans);color:var(--ink);background-color:var(--paper);margin:0;font-size:17px;line-height:1.5}.grid-bg{background-image:linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);background-size:24px 24px}img,video,svg{max-width:100%}a{color:var(--link)}a:hover{color:var(--ink)}input,select,textarea,button{font:inherit}:focus-visible{outline:2px solid var(--link);outline-offset:2px}summary{cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--ink);color:var(--paper);padding:10px 16px;font-weight:600;text-decoration:none;position:absolute;top:-60px;left:12px}.skip-link:focus{color:var(--paper);top:12px}[id]{scroll-margin-top:96px}.to-top{z-index:60;border:1px solid var(--rule);cursor:pointer;min-height:44px;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;opacity:0;pointer-events:none;transition:opacity .25s ease, translate .25s var(--ease-out), background-size .3s var(--ease-out), color .3s ease;align-items:center;gap:6px;padding:0 14px;font-size:12px;display:inline-flex;position:fixed;bottom:20px;left:20px;translate:0 12px;box-shadow:0 8px 20px #11171c29}.to-top.on{opacity:1;pointer-events:auto;translate:0}@media (max-width:1100px){.to-top span{display:none}.to-top{padding:0 12px}}.wrap{max-width:var(--max);padding-left:var(--gutter);padding-right:var(--gutter);margin:0 auto}.section{border-bottom:1px solid var(--rule)}.section-tint{background-color:var(--tint)}.mono{font-family:var(--font-mono)}.eyebrow{font-family:var(--font-mono);letter-spacing:.12em;color:var(--link);margin:0;font-size:13px}.h1{letter-spacing:-.01em;margin:0;font-size:clamp(40px,5.4vw,76px);font-weight:600;line-height:.98}.h2{margin:0;font-size:clamp(34px,4vw,56px);font-weight:600;line-height:1}.h3{margin:0;font-size:clamp(22px,2.2vw,28px);font-weight:600;line-height:1.15}.lead{color:var(--steel);max-width:34em;margin:0}.caption{font-family:var(--font-mono);letter-spacing:.1em;color:var(--muted);font-size:12px}.btn{border:1px solid var(--rule);cursor:pointer;justify-content:center;align-items:center;gap:10px;min-height:52px;padding:0 28px;font-weight:600;text-decoration:none;display:inline-flex}.btn-sm{min-height:44px;padding:0 20px;font-size:15px}.btn-dark{background:var(--cta-bg);color:var(--cta-fg)}.btn-dark:hover{background:var(--blue);border-color:var(--blue);color:var(--on-accent)}.d-btn{background-color:var(--white);color:var(--ink);background-image:linear-gradient(var(--fill-bg), var(--fill-bg));transition:background-size .3s var(--ease-out), color .3s ease, scale .15s ease;background-repeat:no-repeat;background-size:0% 100%}.d-btn:hover{color:var(--fill-fg);background-size:100% 100%}.d-consult{background:var(--blue);border-color:var(--blue);color:var(--on-accent);transition:background-color .2s,scale .15s}.d-consult:hover{background:var(--fill-bg);border-color:var(--fill-bg);color:var(--fill-fg)}.d-mag{transition:translate .35s var(--ease-out), scale .15s ease}.tag-ca{background:var(--blue);color:var(--on-accent);font-family:var(--font-mono);letter-spacing:.08em;padding:1px 5px;font-size:10px;line-height:1.5}.d-sheet{background:var(--white);border:1px solid var(--rule);transition:translate .3s var(--ease-out), box-shadow .3s var(--ease-out);box-shadow:0 12px 28px #11171c24}.d-sheet:hover{translate:0 -4px;box-shadow:0 18px 36px #11171c2e}.d-row{background:var(--white)}.d-row:hover{background:var(--hover)}.d-svc{background:var(--white);border:1px solid var(--rule);transition:translate .35s var(--ease-out), box-shadow .35s var(--ease-out)}.d-svc:hover{translate:0 -3px;box-shadow:0 14px 28px #11171c1a}.d-shot img{transition:scale .6s var(--ease-out)}.d-shot:hover img{scale:1.035}.d-card{background:var(--white);border:1px solid var(--rule);transition:translate .35s var(--ease-out), box-shadow .35s var(--ease-out)}.d-card:hover{outline:2px solid var(--link);outline-offset:2px;translate:0 -3px;box-shadow:0 14px 28px #11171c1f}.d-card .d-peek{opacity:0;transition:opacity .45s}.d-card:hover .d-peek,.d-card:focus-visible .d-peek{opacity:1}.d-wipe:focus-within .d-knob{box-shadow:0 0 0 3px var(--white), 0 0 0 6px var(--link)}details[open] .d-plus{rotate:45deg}.d-plus{transition:rotate .2s}@media (min-width:1000px){.d-sticky{position:sticky;top:96px}}.placeholder{border:1px dashed var(--line);font-family:var(--font-mono);letter-spacing:.1em;color:var(--muted);font-size:12px}@keyframes hw{0%{opacity:0;translate:0 .45em}to{opacity:1;translate:0}}.hw{animation:hw .8s var(--ease-out) both;display:inline-block}.hw:nth-child(2){animation-delay:50ms}.hw:nth-child(3){animation-delay:.1s}.hw:nth-child(4){animation-delay:.15s}.hw:nth-child(5){animation-delay:.2s}.hw:nth-child(6){animation-delay:.25s}.hw:nth-child(7){animation-delay:.3s}.hw:nth-child(8){animation-delay:.35s}.hw:nth-child(9){animation-delay:.4s}.hw:nth-child(10){animation-delay:.45s}@keyframes drop{0%{transform:translateY(-80px)rotate(-6deg)}to{transform:none}}.d-deck-in>figure{animation:drop .9s var(--ease-out) backwards}.d-deck-in>figure:first-child{animation-delay:.35s}.d-deck-in>figure:nth-child(2){animation-delay:.5s}.d-deck-in>figure:nth-child(3){animation-delay:.65s}.arw{transition:translate .3s var(--ease-out);flex:none}a:hover .arw,a:focus-visible .arw,button:hover .arw{translate:3px}.d-btn:active,.btn:active,.d-consult:active,.d-fab:active{scale:.98}.d-mag:active{scale:.97}.d-fab{z-index:70;background:var(--cta-bg);min-height:52px;color:var(--cta-fg);opacity:0;pointer-events:none;transition:opacity .3s ease, translate .3s var(--ease-out), background-color .2s ease;align-items:center;gap:10px;padding:0 20px;font-size:16px;font-weight:600;text-decoration:none;display:inline-flex;position:fixed;bottom:20px;right:20px;translate:0 16px;box-shadow:0 12px 28px #11171c47}.d-fab.on{opacity:1;pointer-events:auto;translate:0}.d-fab:hover{background:var(--blue);color:var(--on-accent)}.d-fab-dot{background:var(--green);border-radius:50%;width:8px;height:8px;animation:2s ease-out infinite d-live;box-shadow:0 0 #2ecc7199}@keyframes d-live{0%{box-shadow:0 0 #2ecc7199}to{box-shadow:0 0 0 10px #2ecc7100}}@media (max-width:560px){.d-fab span:last-child{display:none}.d-fab{padding:0 16px}}.d-partner{background:var(--white);color:var(--ink)}@keyframes d-liftA{0%{transform:none}38%{transform:translateY(-14px)scale(1.02);box-shadow:0 26px 40px #11171c38}to{transform:none}}@keyframes d-liftB{0%{transform:none}38%{transform:translateY(-14px)scale(1.02);box-shadow:0 26px 40px #11171c38}to{transform:none}}.site-nav a{background-image:linear-gradient(currentColor,currentColor);background-position:0 calc(100% - 9px);background-repeat:no-repeat;background-size:0% 1px;transition:background-size .25s}.site-nav a:hover,.site-nav a[aria-current=page]{background-size:100% 1px}.d-hat{perspective:420px;flex:none;width:76px;height:58px;display:block;position:relative}.d-hat img{transform-origin:50% 72%;filter:drop-shadow(3px 6px 5px #11171c4d);width:76px;height:auto;transition:rotate .4s cubic-bezier(.2,1.4,.4,1),scale .3s,translate .3s;animation:6.5s ease-in-out infinite d-hat;display:block;position:absolute;top:0;left:0;transform:rotateY(-20deg)rotateX(10deg)rotate(-6deg)}.d-hat-sh{background:radial-gradient(closest-side,#11171c4d,#11171c00);border-radius:50%;height:8px;animation:6.5s ease-in-out infinite d-hat-sh;position:absolute;bottom:-3px;left:14px;right:10px}@keyframes d-hat{0%,to{transform:rotateY(-24deg)rotateX(10deg)rotate(-6deg)translateZ(0)}50%{transform:rotateY(18deg)rotateX(4deg)rotate(-2deg)translateZ(10px)translateY(-3px)}}@keyframes d-hat-sh{0%,to{opacity:1;transform:scaleX(1)}50%{opacity:.65;transform:scaleX(.8)}}.d-hat:hover img{animation-play-state:paused;translate:0 -5px;rotate:-14deg;scale:1.08}.d-hat:hover .d-hat-sh{animation-play-state:paused}.d-code{scroll-snap-align:start;width:152px;min-height:78px;color:var(--steel);text-align:center;transition:opacity .5s ease, translate .5s var(--ease-out), color .2s ease;flex-direction:column;flex:none;justify-content:center;align-items:center;gap:7px;padding:8px 4px;display:flex}.d-code abbr{letter-spacing:.01em;cursor:help;font-size:25px;font-weight:600;line-height:1;text-decoration:none}.d-code-r{background:var(--sky);width:28px;height:2px;transition:width .3s var(--ease-out);display:block}.d-code-k{font-family:var(--font-mono);letter-spacing:.12em;color:var(--muted);white-space:nowrap;font-size:11px}.d-code:hover{color:var(--ink)}.d-code:hover .d-code-r{width:84px}.d-codes{scrollbar-width:none}.d-codes::-webkit-scrollbar{display:none}@media (prefers-reduced-motion:reduce){.hw,.d-deck-in>figure{animation:none}.d-btn,.d-sheet,.d-svc,.d-shot img,.d-card,.d-card .d-peek,.d-plus,.d-code,.d-code-r,.d-fab,.to-top,.arw,.d-consult,.d-mag{transition:none}.arw{translate:none!important}.d-fab-dot,.d-hat img,.d-hat-sh{animation:none}.d-pile *{transition:none!important;animation:none!important}.d-ticker-btn{display:none!important}}.img-wait,.img-hold{pointer-events:none;position:absolute;inset:0}.img-wait{background:color-mix(in srgb, var(--ink) 6%, transparent);place-items:center;display:grid;container-type:size}.img-gone{opacity:0;transition:opacity .4s}.img-dots{--amp:clamp(2px, 3.5cqmin, 8px);align-items:center;gap:clamp(4px,3cqmin,9px);animation:.3s both img-in;display:flex}.img-dots i{aspect-ratio:1;background:var(--blue);width:clamp(4px,2.8cqmin,8px);animation:.8s cubic-bezier(.37,0,.63,1) infinite alternate dot-wave;animation-delay:calc(var(--i) * -.2s);border-radius:50%}@keyframes img-in{0%{opacity:0}}@keyframes dot-wave{0%{transform:translateY(calc(var(--amp) * -1));opacity:.4}to{transform:translateY(var(--amp));opacity:1}}@keyframes dot-fade{0%{opacity:.25}to{opacity:1}}@media (prefers-reduced-motion:reduce){.img-dots i{animation:.8s cubic-bezier(.37,0,.63,1) infinite alternate dot-fade;animation-delay:calc(var(--i) * -.2s)}}.img-failed .img-dots i{opacity:.5;animation:none;transform:none}
