.architecture-board-shell[data-astro-cid-utdoerjq]{display:grid;gap:9px;min-width:0}.architecture-layer-controls[data-astro-cid-utdoerjq]{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}.architecture-layer-button[data-astro-cid-utdoerjq]{min-width:0;border:1px solid var(--border);border-radius:999px;background:color-mix(in srgb,var(--surface) 88%,transparent);color:var(--muted-strong);padding:6px 7px;font-size:.61rem;font-weight:780;line-height:1;transition:color .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease}.architecture-layer-button[data-astro-cid-utdoerjq]:hover,.architecture-layer-button[data-astro-cid-utdoerjq]:focus-visible{border-color:color-mix(in srgb,var(--mint) 52%,var(--border));color:var(--text-strong)}.architecture-layer-button[data-astro-cid-utdoerjq].active{border-color:var(--mint-border);background:var(--mint-soft);color:var(--mint);box-shadow:0 5px 16px color-mix(in srgb,var(--mint) 14%,transparent)}.architecture-board[data-astro-cid-utdoerjq]{position:relative;isolation:isolate;min-width:0;overflow:hidden;border:1px solid color-mix(in srgb,var(--mint) 20%,var(--border));border-radius:14px;background:radial-gradient(circle at 50% 15%,color-mix(in srgb,var(--mint) 10%,transparent),transparent 48%),color-mix(in srgb,var(--surface-soft) 94%,transparent)}.is-compact[data-astro-cid-utdoerjq] .architecture-board[data-astro-cid-utdoerjq]{height:292px}.is-expanded[data-astro-cid-utdoerjq]{min-width:930px}.is-expanded[data-astro-cid-utdoerjq] .architecture-board[data-astro-cid-utdoerjq]{height:min(650px,calc(100vh - 210px));min-height:510px}.architecture-links[data-astro-cid-utdoerjq]{position:absolute;inset:0;z-index:3;width:100%;height:100%;pointer-events:none}.architecture-links[data-astro-cid-utdoerjq] path[data-astro-cid-utdoerjq]{--connection-color: color-mix(in srgb, var(--mint) 62%, var(--muted));fill:none;stroke:var(--connection-color);stroke-width:1.15;vector-effect:non-scaling-stroke;opacity:.78;transition:opacity .22s ease,stroke .22s ease,filter .22s ease}.architecture-links[data-astro-cid-utdoerjq] [data-astro-cid-utdoerjq][data-architecture-connection=labels],.architecture-links[data-astro-cid-utdoerjq] [data-astro-cid-utdoerjq][data-architecture-connection=inventory]{--connection-color: #7146f5}.architecture-links[data-astro-cid-utdoerjq] [data-astro-cid-utdoerjq][data-architecture-connection=persistence],.architecture-links[data-astro-cid-utdoerjq] [data-astro-cid-utdoerjq][data-architecture-connection=metrics]{--connection-color: #1268f3}.architecture-links[data-astro-cid-utdoerjq] [data-astro-cid-utdoerjq][data-architecture-connection=processing],.architecture-links[data-astro-cid-utdoerjq] [data-astro-cid-utdoerjq][data-architecture-connection=alerts]{--connection-color: #ef7b24}.is-expanded[data-astro-cid-utdoerjq] .architecture-links[data-astro-cid-utdoerjq] path[data-astro-cid-utdoerjq]{stroke-width:1.35}.architecture-links[data-astro-cid-utdoerjq] marker[data-astro-cid-utdoerjq] path[data-astro-cid-utdoerjq]{fill:context-stroke;stroke:none}.architecture-links[data-astro-cid-utdoerjq] path[data-astro-cid-utdoerjq].is-dimmed{opacity:.08}.architecture-links[data-astro-cid-utdoerjq] path[data-astro-cid-utdoerjq].is-active{opacity:1;stroke:var(--connection-color);filter:drop-shadow(0 0 3px color-mix(in srgb,var(--connection-color) 54%,transparent))}.architecture-layer[data-astro-cid-utdoerjq]{position:absolute;z-index:2;display:flex;flex-direction:column;min-width:0;border:1px dashed color-mix(in srgb,var(--layer-color) 48%,var(--border));border-radius:11px;background:color-mix(in srgb,var(--layer-color) 8%,var(--surface));padding:25px 7px 7px;transition:opacity .22s ease,filter .22s ease,border-color .22s ease,box-shadow .22s ease,background .22s ease}.architecture-layer[data-astro-cid-utdoerjq].is-dimmed{opacity:.17;filter:saturate(.25)}.architecture-layer[data-astro-cid-utdoerjq].is-active{border-color:color-mix(in srgb,var(--layer-color) 74%,var(--border));background:color-mix(in srgb,var(--layer-color) 14%,var(--surface));box-shadow:0 0 24px color-mix(in srgb,var(--layer-color) 17%,transparent)}.architecture-layer[data-astro-cid-utdoerjq]>h4[data-astro-cid-utdoerjq]{position:absolute;top:7px;left:0;width:100%;margin:0;color:color-mix(in srgb,var(--layer-color) 78%,var(--text-strong));font-size:.65rem;font-weight:850;line-height:1;text-align:center}.layer-external[data-astro-cid-utdoerjq]{--layer-color: #7fcf39;top:3%;left:2%;width:96%;height:24%}.layer-view[data-astro-cid-utdoerjq]{--layer-color: #8a5cf5;top:30%;left:2%;width:31%;height:67%}.layer-controller[data-astro-cid-utdoerjq]{--layer-color: #e7a921;top:30%;left:35%;width:31%;height:67%}.layer-model[data-astro-cid-utdoerjq]{--layer-color: #05a9c4;top:30%;left:68%;width:30%;height:67%}.architecture-nodes[data-astro-cid-utdoerjq]{display:grid;flex:1;gap:4px;min-height:0}.layer-external[data-astro-cid-utdoerjq] .architecture-nodes[data-astro-cid-utdoerjq]{grid-template-columns:repeat(3,minmax(0,1fr))}.layer-view[data-astro-cid-utdoerjq] .architecture-nodes[data-astro-cid-utdoerjq],.layer-model[data-astro-cid-utdoerjq] .architecture-nodes[data-astro-cid-utdoerjq]{grid-template-rows:repeat(4,minmax(0,1fr))}.layer-model[data-astro-cid-utdoerjq] .architecture-nodes[data-astro-cid-utdoerjq]{row-gap:9px}.layer-controller[data-astro-cid-utdoerjq] .architecture-nodes[data-astro-cid-utdoerjq]{grid-template-rows:repeat(3,minmax(0,1fr))}.architecture-node[data-astro-cid-utdoerjq]{position:relative;z-index:4;display:flex;min-width:0;align-items:center;justify-content:center;gap:5px;overflow:hidden;border:1px solid color-mix(in srgb,var(--layer-color) 28%,var(--border));border-radius:7px;background:color-mix(in srgb,var(--surface) 94%,transparent);padding:3px 5px;box-shadow:0 3px 8px #142a540d;text-align:center}.architecture-node-icon[data-astro-cid-utdoerjq]{flex:0 0 auto}.architecture-node[data-astro-cid-utdoerjq] div[data-astro-cid-utdoerjq]{min-width:0}.architecture-node[data-astro-cid-utdoerjq] strong[data-astro-cid-utdoerjq]{display:block;overflow:hidden;color:var(--text-strong);font-size:.53rem;font-weight:810;line-height:1.12;text-overflow:ellipsis}.architecture-node[data-astro-cid-utdoerjq] p[data-astro-cid-utdoerjq]{margin:3px 0 0;color:var(--muted);font-size:.48rem;line-height:1.18}.is-compact[data-astro-cid-utdoerjq] .architecture-node[data-astro-cid-utdoerjq] p[data-astro-cid-utdoerjq]{display:none}.is-expanded[data-astro-cid-utdoerjq] .architecture-layer[data-astro-cid-utdoerjq]{padding:36px 12px 12px;border-radius:16px}.is-expanded[data-astro-cid-utdoerjq] .architecture-layer[data-astro-cid-utdoerjq]>h4[data-astro-cid-utdoerjq]{top:12px;font-size:.88rem}.is-expanded[data-astro-cid-utdoerjq] .architecture-nodes[data-astro-cid-utdoerjq]{gap:8px}.is-expanded[data-astro-cid-utdoerjq] .layer-model[data-astro-cid-utdoerjq] .architecture-nodes[data-astro-cid-utdoerjq]{row-gap:14px}.is-expanded[data-astro-cid-utdoerjq] .architecture-node[data-astro-cid-utdoerjq]{gap:10px;border-radius:11px;padding:8px 10px}.is-expanded[data-astro-cid-utdoerjq] .architecture-node[data-astro-cid-utdoerjq] strong[data-astro-cid-utdoerjq]{font-size:.76rem}.is-expanded[data-astro-cid-utdoerjq] .architecture-node[data-astro-cid-utdoerjq] p[data-astro-cid-utdoerjq]{font-size:.64rem}.is-expanded[data-astro-cid-utdoerjq] .architecture-layer-button[data-astro-cid-utdoerjq]{padding:9px 12px;font-size:.75rem}@media(max-width:620px){.architecture-layer-controls[data-astro-cid-utdoerjq]{grid-template-columns:repeat(3,minmax(0,1fr))}.is-compact[data-astro-cid-utdoerjq] .architecture-board[data-astro-cid-utdoerjq]{height:254px}.architecture-layer-button[data-astro-cid-utdoerjq]{font-size:.56rem}.architecture-layer[data-astro-cid-utdoerjq]{padding:22px 4px 4px}.architecture-layer[data-astro-cid-utdoerjq]>h4[data-astro-cid-utdoerjq]{font-size:.52rem}.architecture-node[data-astro-cid-utdoerjq]{padding:2px}.architecture-node-icon[data-astro-cid-utdoerjq]{display:none}.architecture-node[data-astro-cid-utdoerjq] strong[data-astro-cid-utdoerjq]{font-size:.45rem}}@media(prefers-reduced-motion:reduce){.architecture-layer-button[data-astro-cid-utdoerjq],.architecture-layer[data-astro-cid-utdoerjq],.architecture-links[data-astro-cid-utdoerjq] path[data-astro-cid-utdoerjq]{transition:none}}.iotrack-architecture[data-astro-cid-hnhm2piv]{display:grid;height:100%;min-height:400px;align-content:center;gap:10px;padding:12px}.iotrack-architecture-heading[data-astro-cid-hnhm2piv]{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.iotrack-architecture-heading[data-astro-cid-hnhm2piv] div[data-astro-cid-hnhm2piv]{min-width:0}.iotrack-architecture-heading[data-astro-cid-hnhm2piv] div[data-astro-cid-hnhm2piv]>span[data-astro-cid-hnhm2piv]{display:block;color:var(--mint);font-size:.58rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.iotrack-architecture-heading[data-astro-cid-hnhm2piv] strong[data-astro-cid-hnhm2piv]{display:block;overflow:hidden;margin-top:2px;color:var(--text-strong);font-size:.72rem;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.architecture-expand[data-astro-cid-hnhm2piv]{display:inline-flex;flex:0 0 auto;align-items:center;gap:6px;border:1px solid var(--mint-border);border-radius:999px;background:var(--mint-soft);color:var(--mint);padding:7px 10px;font-size:.64rem;font-weight:800;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.architecture-expand[data-astro-cid-hnhm2piv]:hover,.architecture-expand[data-astro-cid-hnhm2piv]:focus-visible{transform:translateY(-1px);border-color:var(--mint);box-shadow:0 7px 18px color-mix(in srgb,var(--mint) 18%,transparent)}.iotrack-architecture-dialog[data-astro-cid-hnhm2piv]{width:min(1240px,calc(100vw - 32px));max-width:none;max-height:calc(100vh - 32px);overflow:hidden;margin-inline:auto;border:1px solid color-mix(in srgb,var(--mint) 28%,var(--border));border-radius:22px;background:var(--surface);color:var(--text);padding:0;box-shadow:0 30px 90px #040c1e57}.iotrack-architecture-dialog[data-astro-cid-hnhm2piv][open]{animation:architecture-dialog-in .26s cubic-bezier(.22,1,.36,1) both}.iotrack-architecture-dialog[data-astro-cid-hnhm2piv]::backdrop{background:#040a18ad;backdrop-filter:blur(9px)}.architecture-dialog-panel[data-astro-cid-hnhm2piv]{display:grid;max-height:calc(100vh - 32px);grid-template-rows:auto minmax(0,1fr)}.architecture-dialog-panel[data-astro-cid-hnhm2piv]>header[data-astro-cid-hnhm2piv]{display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid var(--border);padding:18px 20px}.architecture-dialog-panel[data-astro-cid-hnhm2piv] header[data-astro-cid-hnhm2piv] span[data-astro-cid-hnhm2piv]{color:var(--mint);font-size:.66rem;font-weight:850;letter-spacing:.11em;text-transform:uppercase}.architecture-dialog-panel[data-astro-cid-hnhm2piv] h3[data-astro-cid-hnhm2piv]{margin:2px 0 0;color:var(--text-strong);font-size:clamp(1rem,2vw,1.35rem);letter-spacing:-.025em}.architecture-dialog-close[data-astro-cid-hnhm2piv]{display:grid;width:38px;height:38px;flex:0 0 auto;place-items:center;border:1px solid var(--border);border-radius:50%;background:var(--surface-soft);color:var(--muted-strong)}.architecture-dialog-close[data-astro-cid-hnhm2piv]:hover,.architecture-dialog-close[data-astro-cid-hnhm2piv]:focus-visible{border-color:var(--mint-border);color:var(--mint)}.architecture-dialog-scroll[data-astro-cid-hnhm2piv]{overflow:auto;padding:16px 20px 20px}body.architecture-dialog-open{overflow:hidden}@keyframes architecture-dialog-in{0%{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}@media(max-width:620px){.iotrack-architecture[data-astro-cid-hnhm2piv]{min-height:315px;padding:9px}.iotrack-architecture-heading[data-astro-cid-hnhm2piv] strong[data-astro-cid-hnhm2piv]{max-width:190px}.architecture-expand[data-astro-cid-hnhm2piv] span[data-astro-cid-hnhm2piv]{display:none}.architecture-expand[data-astro-cid-hnhm2piv]{width:32px;height:32px;justify-content:center;padding:0}.iotrack-architecture-dialog[data-astro-cid-hnhm2piv]{width:calc(100vw - 16px);max-height:calc(100vh - 16px)}.architecture-dialog-panel[data-astro-cid-hnhm2piv]{max-height:calc(100vh - 16px)}.architecture-dialog-panel[data-astro-cid-hnhm2piv]>header[data-astro-cid-hnhm2piv]{padding:13px 14px}.architecture-dialog-scroll[data-astro-cid-hnhm2piv]{padding:12px}}@media(prefers-reduced-motion:reduce){.iotrack-architecture-dialog[data-astro-cid-hnhm2piv][open]{animation:none}.architecture-expand[data-astro-cid-hnhm2piv]{transition:none}}.nf-engineering-board-shell[data-astro-cid-phuooi2d]{min-width:0}.nf-engineering-board[data-astro-cid-phuooi2d]{position:relative;isolation:isolate;overflow:hidden;min-width:0;height:300px;border:1px solid color-mix(in srgb,var(--mint) 20%,var(--border));border-radius:14px;background:radial-gradient(circle at 50% 0%,color-mix(in srgb,var(--mint) 10%,transparent),transparent 48%),color-mix(in srgb,var(--surface-soft) 95%,transparent)}.is-expanded[data-astro-cid-phuooi2d]{min-width:960px}.is-expanded[data-astro-cid-phuooi2d] .nf-engineering-board[data-astro-cid-phuooi2d]{height:min(640px,calc(100vh - 230px));min-height:500px}.nf-engineering-links[data-astro-cid-phuooi2d]{position:absolute;inset:0;z-index:6;width:100%;height:100%;pointer-events:none}.nf-engineering-links[data-astro-cid-phuooi2d] path[data-astro-cid-phuooi2d]{fill:none;stroke:color-mix(in srgb,var(--mint) 68%,var(--muted));stroke-width:1.15;vector-effect:non-scaling-stroke;opacity:.88;filter:drop-shadow(0 0 2px color-mix(in srgb,var(--mint) 30%,transparent));transition:opacity .18s ease,filter .18s ease}.nf-engineering-links[data-astro-cid-phuooi2d] path[data-astro-cid-phuooi2d].is-active{opacity:1;filter:drop-shadow(0 0 4px currentColor)}.nf-engineering-links[data-astro-cid-phuooi2d] path[data-astro-cid-phuooi2d].is-dimmed{opacity:.08;filter:none}.nf-engineering-links[data-astro-cid-phuooi2d] marker[data-astro-cid-phuooi2d] path[data-astro-cid-phuooi2d]{fill:context-stroke;stroke:none}.nf-engineering-links[data-astro-cid-phuooi2d] [data-astro-cid-phuooi2d][data-nf-connection*=web],.nf-engineering-links[data-astro-cid-phuooi2d] [data-astro-cid-phuooi2d][data-nf-connection=web-save],.nf-engineering-links[data-astro-cid-phuooi2d] [data-astro-cid-phuooi2d][data-nf-connection=web-read]{stroke:#7857e8}.nf-engineering-links[data-astro-cid-phuooi2d] [data-astro-cid-phuooi2d][data-nf-connection*=android],.nf-engineering-links[data-astro-cid-phuooi2d] [data-astro-cid-phuooi2d][data-nf-connection=local-write],.nf-engineering-links[data-astro-cid-phuooi2d] [data-astro-cid-phuooi2d][data-nf-connection=schedule],.nf-engineering-links[data-astro-cid-phuooi2d] [data-astro-cid-phuooi2d][data-nf-connection=drain]{stroke:#07a8bc}.nf-engineering-links[data-astro-cid-phuooi2d] [data-astro-cid-phuooi2d][data-nf-connection*=api],.nf-engineering-links[data-astro-cid-phuooi2d] [data-astro-cid-phuooi2d][data-nf-connection=migrate]{stroke:#e49b18}.nf-engineering-links[data-astro-cid-phuooi2d] [data-astro-cid-phuooi2d][data-nf-connection=accepted],.nf-engineering-links[data-astro-cid-phuooi2d] [data-astro-cid-phuooi2d][data-nf-connection=deploy-web],.nf-engineering-links[data-astro-cid-phuooi2d] [data-astro-cid-phuooi2d][data-nf-connection=publish]{stroke:#4cae3c}.nf-engineering-links[data-astro-cid-phuooi2d] [data-astro-cid-phuooi2d][data-nf-connection=conflicted]{stroke:#e35d62}.nf-engineering-columns[data-astro-cid-phuooi2d]{position:relative;display:grid;height:100%;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;padding:8px}.is-delivery[data-astro-cid-phuooi2d] .nf-engineering-columns[data-astro-cid-phuooi2d]{grid-template-columns:.8fr 1fr 1.2fr}.nf-engineering-column[data-astro-cid-phuooi2d]{--tone: var(--mint);position:relative;display:flex;min-width:0;flex-direction:column;border:1px dashed color-mix(in srgb,var(--tone) 48%,var(--border));border-radius:11px;background:color-mix(in srgb,var(--tone) 7%,var(--surface));padding:27px 6px 6px}.tone-violet[data-astro-cid-phuooi2d]{--tone: #7857e8}.tone-cyan[data-astro-cid-phuooi2d]{--tone: #07a8bc}.tone-amber[data-astro-cid-phuooi2d]{--tone: #e49b18}.tone-green[data-astro-cid-phuooi2d]{--tone: #55af43}.nf-engineering-column[data-astro-cid-phuooi2d]>h4[data-astro-cid-phuooi2d]{position:absolute;top:8px;left:5px;right:5px;overflow:hidden;margin:0;color:color-mix(in srgb,var(--tone) 78%,var(--text-strong));font-size:.58rem;font-weight:850;line-height:1;text-align:center;text-overflow:ellipsis;white-space:nowrap}.nf-engineering-nodes[data-astro-cid-phuooi2d]{display:grid;height:100%;min-height:0;grid-auto-rows:minmax(0,1fr);gap:5px}.nf-engineering-node[data-astro-cid-phuooi2d]{position:relative;z-index:4;display:flex;min-width:0;align-items:center;justify-content:center;gap:5px;overflow:hidden;border:1px solid color-mix(in srgb,var(--tone) 25%,var(--border));border-radius:8px;background:color-mix(in srgb,var(--surface) 96%,transparent);color:inherit;padding:4px;box-shadow:0 4px 10px #142a540d;text-align:center;transition:opacity .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}.nf-engineering-node[data-astro-cid-phuooi2d]:hover,.nf-engineering-node[data-astro-cid-phuooi2d]:focus-visible,.nf-engineering-node[data-astro-cid-phuooi2d].is-active{border-color:color-mix(in srgb,var(--tone) 72%,var(--border));box-shadow:0 7px 18px color-mix(in srgb,var(--tone) 18%,transparent)}.nf-engineering-node[data-astro-cid-phuooi2d].is-dimmed{opacity:.2}.nf-engineering-node[data-astro-cid-phuooi2d].is-roomy{flex-direction:column}.nf-engineering-node-icon[data-astro-cid-phuooi2d]{display:grid;flex:0 0 auto;place-items:center}.nf-engineering-node[data-astro-cid-phuooi2d] div[data-astro-cid-phuooi2d]{min-width:0}.nf-engineering-node[data-astro-cid-phuooi2d] strong[data-astro-cid-phuooi2d]{display:block;overflow:hidden;color:var(--text-strong);font-size:.52rem;font-weight:820;line-height:1.12;text-overflow:ellipsis}.nf-engineering-node[data-astro-cid-phuooi2d] p[data-astro-cid-phuooi2d]{display:none}.is-expanded[data-astro-cid-phuooi2d] .nf-engineering-columns[data-astro-cid-phuooi2d]{gap:13px;padding:14px}.is-expanded[data-astro-cid-phuooi2d] .nf-engineering-column[data-astro-cid-phuooi2d]{border-radius:16px;padding:39px 11px 11px}.is-expanded[data-astro-cid-phuooi2d] .nf-engineering-column[data-astro-cid-phuooi2d]>h4[data-astro-cid-phuooi2d]{top:13px;font-size:.84rem}.is-expanded[data-astro-cid-phuooi2d] .nf-engineering-nodes[data-astro-cid-phuooi2d]{gap:9px}.is-sync[data-astro-cid-phuooi2d] .nf-engineering-column[data-astro-cid-phuooi2d]:nth-child(3) .nf-engineering-nodes[data-astro-cid-phuooi2d]{gap:18px}.is-expanded[data-astro-cid-phuooi2d].is-sync .nf-engineering-column[data-astro-cid-phuooi2d]:nth-child(3) .nf-engineering-nodes[data-astro-cid-phuooi2d]{gap:22px}.is-expanded[data-astro-cid-phuooi2d] .nf-engineering-node[data-astro-cid-phuooi2d]{gap:9px;border-radius:11px;padding:8px}.is-expanded[data-astro-cid-phuooi2d] .nf-engineering-node[data-astro-cid-phuooi2d] strong[data-astro-cid-phuooi2d]{font-size:.76rem}.is-expanded[data-astro-cid-phuooi2d] .nf-engineering-node[data-astro-cid-phuooi2d] p[data-astro-cid-phuooi2d]{display:block;margin:4px 0 0;color:var(--muted);font-size:.63rem;line-height:1.25}@media(max-width:620px){.nf-engineering-board[data-astro-cid-phuooi2d]{height:224px}.nf-engineering-columns[data-astro-cid-phuooi2d]{gap:4px;padding:5px}.nf-engineering-column[data-astro-cid-phuooi2d]{padding:22px 3px 3px}.nf-engineering-column[data-astro-cid-phuooi2d]>h4[data-astro-cid-phuooi2d]{top:7px;font-size:.46rem}.nf-engineering-node[data-astro-cid-phuooi2d]{padding:2px}.nf-engineering-node-icon[data-astro-cid-phuooi2d]{display:none}.nf-engineering-node[data-astro-cid-phuooi2d] strong[data-astro-cid-phuooi2d]{font-size:.42rem}}@media(prefers-reduced-motion:reduce){.nf-engineering-node[data-astro-cid-phuooi2d],.nf-engineering-links[data-astro-cid-phuooi2d] path[data-astro-cid-phuooi2d]{transition:none}}.nf-engineering[data-astro-cid-tianeap6]{display:grid;height:100%;min-height:400px;align-content:center;gap:8px;padding:11px}.nf-engineering-tabs[data-astro-cid-tianeap6]{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;border:1px solid var(--border);border-radius:999px;background:color-mix(in srgb,var(--surface) 88%,transparent);padding:3px}.nf-engineering-tab[data-astro-cid-tianeap6]{position:relative;z-index:2;min-width:0;border:0;border-radius:999px;background:transparent;color:var(--muted-strong);padding:7px 8px;font-size:.65rem;font-weight:800;transition:color .18s ease}.nf-engineering-tab[data-astro-cid-tianeap6].active{color:var(--mint)}.nf-engineering-tab-indicator[data-astro-cid-tianeap6]{position:absolute;top:3px;bottom:3px;left:3px;width:calc((100% - 6px) / 3);border:1px solid var(--mint-border);border-radius:999px;background:var(--mint-soft);box-shadow:0 5px 14px color-mix(in srgb,var(--mint) 12%,transparent);transform:translate(calc(var(--nf-tab-index, 0) * 100%));transition:transform .26s cubic-bezier(.22,1,.36,1)}.nf-engineering-heading[data-astro-cid-tianeap6]{display:flex;align-items:end;justify-content:space-between;gap:10px}.nf-engineering-heading[data-astro-cid-tianeap6] div[data-astro-cid-tianeap6]{min-width:0}.nf-engineering-heading[data-astro-cid-tianeap6] div[data-astro-cid-tianeap6]>span[data-astro-cid-tianeap6]{display:block;color:var(--mint);font-size:.55rem;font-weight:850;letter-spacing:.11em;text-transform:uppercase}.nf-engineering-heading[data-astro-cid-tianeap6] strong[data-astro-cid-tianeap6]{display:block;overflow:hidden;margin-top:2px;color:var(--text-strong);font-size:.67rem;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.nf-engineering-expand[data-astro-cid-tianeap6]{display:inline-flex;flex:0 0 auto;align-items:center;gap:6px;border:1px solid var(--mint-border);border-radius:999px;background:var(--mint-soft);color:var(--mint);padding:6px 9px;font-size:.62rem;font-weight:800;transition:transform .18s ease,box-shadow .18s ease}.nf-engineering-expand[data-astro-cid-tianeap6]:hover,.nf-engineering-expand[data-astro-cid-tianeap6]:focus-visible{transform:translateY(-1px);box-shadow:0 7px 18px color-mix(in srgb,var(--mint) 18%,transparent)}.nf-engineering-panels[data-astro-cid-tianeap6],.nf-engineering-panel[data-astro-cid-tianeap6]{min-width:0}.nf-engineering-panel[data-astro-cid-tianeap6]{animation:nf-panel-in .22s ease both}.nf-engineering-dialog[data-astro-cid-tianeap6]{position:fixed;inset:50% auto auto 50%;width:min(1240px,calc(100vw - 32px));max-width:none;max-height:calc(100vh - 32px);overflow:hidden;margin:0;border:1px solid color-mix(in srgb,var(--mint) 28%,var(--border));border-radius:22px;background:var(--surface);color:var(--text);padding:0;box-shadow:0 30px 90px #040c1e57;transform:translate(-50%,-50%)}.nf-engineering-dialog[data-astro-cid-tianeap6][open]{animation:nf-dialog-in .26s cubic-bezier(.22,1,.36,1) both}.nf-engineering-dialog[data-astro-cid-tianeap6]::backdrop{background:#040a18ad;backdrop-filter:blur(9px)}.nf-engineering-dialog-panel[data-astro-cid-tianeap6]{display:grid;max-height:calc(100vh - 32px);grid-template-rows:auto minmax(0,1fr)}.nf-engineering-dialog-panel[data-astro-cid-tianeap6]>header[data-astro-cid-tianeap6]{display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid var(--border);padding:16px 20px}.nf-engineering-dialog-panel[data-astro-cid-tianeap6] header[data-astro-cid-tianeap6] span[data-astro-cid-tianeap6]{color:var(--mint);font-size:.66rem;font-weight:850;letter-spacing:.11em;text-transform:uppercase}.nf-engineering-dialog-panel[data-astro-cid-tianeap6] h3[data-astro-cid-tianeap6]{margin:2px 0 0;color:var(--text-strong);font-size:clamp(1rem,2vw,1.35rem)}.nf-engineering-dialog-close[data-astro-cid-tianeap6]{display:grid;width:38px;height:38px;flex:0 0 auto;place-items:center;border:1px solid var(--border);border-radius:50%;background:var(--surface-soft);color:var(--muted-strong)}.nf-engineering-dialog-content[data-astro-cid-tianeap6]{display:grid;min-height:0;grid-template-rows:auto minmax(0,1fr);gap:12px;padding:14px 20px 20px}.nf-engineering-dialog-content[data-astro-cid-tianeap6]>.nf-engineering-tabs[data-astro-cid-tianeap6]{max-width:720px;justify-self:center}.nf-engineering-dialog-scroll[data-astro-cid-tianeap6]{overflow:auto}@keyframes nf-panel-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes nf-dialog-in{0%{opacity:0;transform:translate(-50%,calc(-50% + 12px)) scale(.985)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@media(max-width:620px){.nf-engineering[data-astro-cid-tianeap6]{min-height:315px;padding:8px;gap:6px}.nf-engineering-tab[data-astro-cid-tianeap6]{padding:6px 3px;font-size:.54rem}.nf-engineering-heading[data-astro-cid-tianeap6] strong[data-astro-cid-tianeap6]{max-width:220px;font-size:.58rem}.nf-engineering-expand[data-astro-cid-tianeap6]{width:31px;height:31px;justify-content:center;padding:0}.nf-engineering-expand[data-astro-cid-tianeap6] span[data-astro-cid-tianeap6]{display:none}.nf-engineering-dialog[data-astro-cid-tianeap6]{width:calc(100vw - 16px);max-height:calc(100vh - 16px)}.nf-engineering-dialog-panel[data-astro-cid-tianeap6]{max-height:calc(100vh - 16px)}.nf-engineering-dialog-panel[data-astro-cid-tianeap6]>header[data-astro-cid-tianeap6]{padding:12px 14px}.nf-engineering-dialog-content[data-astro-cid-tianeap6]{padding:10px}}@media(prefers-reduced-motion:reduce){.nf-engineering-tab-indicator[data-astro-cid-tianeap6],.nf-engineering-expand[data-astro-cid-tianeap6]{transition:none}.nf-engineering-dialog[data-astro-cid-tianeap6][open],.nf-engineering-panel[data-astro-cid-tianeap6]{animation:none}}.keystone-board-shell[data-astro-cid-tdo3z6n7]{min-width:0}.keystone-board[data-astro-cid-tdo3z6n7]{position:relative;isolation:isolate;overflow:hidden;height:292px;border:1px solid color-mix(in srgb,var(--violet) 24%,var(--border));border-radius:14px;background:radial-gradient(circle at 50% 0%,color-mix(in srgb,var(--violet) 11%,transparent),transparent 48%),color-mix(in srgb,var(--surface-soft) 95%,transparent)}.is-expanded[data-astro-cid-tdo3z6n7]{min-width:960px}.is-expanded[data-astro-cid-tdo3z6n7] .keystone-board[data-astro-cid-tdo3z6n7]{height:min(640px,calc(100vh - 230px));min-height:500px}.keystone-links[data-astro-cid-tdo3z6n7]{position:absolute;inset:0;z-index:6;width:100%;height:100%;pointer-events:none}.keystone-links[data-astro-cid-tdo3z6n7] path[data-astro-cid-tdo3z6n7]{fill:none;stroke:color-mix(in srgb,var(--violet) 70%,var(--muted));stroke-width:1.2;vector-effect:non-scaling-stroke;opacity:.86;transition:opacity .18s ease,filter .18s ease}.keystone-links[data-astro-cid-tdo3z6n7] [data-astro-cid-tdo3z6n7][data-keystone-connection=impact-db]{stroke:#db8b0c}.keystone-links[data-astro-cid-tdo3z6n7] [data-astro-cid-tdo3z6n7][data-keystone-connection=impact-client]{stroke:#079eb2}.keystone-links[data-astro-cid-tdo3z6n7] [data-astro-cid-tdo3z6n7][data-keystone-connection=impact-web]{stroke:#4f9f42}.keystone-links[data-astro-cid-tdo3z6n7] marker[data-astro-cid-tdo3z6n7] path[data-astro-cid-tdo3z6n7]{fill:context-stroke;stroke:none}.keystone-links[data-astro-cid-tdo3z6n7] path[data-astro-cid-tdo3z6n7].is-active{opacity:1;filter:drop-shadow(0 0 3px currentColor)}.keystone-links[data-astro-cid-tdo3z6n7] path[data-astro-cid-tdo3z6n7].is-dimmed{opacity:.08}.keystone-columns[data-astro-cid-tdo3z6n7]{display:grid;height:100%;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;padding:8px}.is-distribution[data-astro-cid-tdo3z6n7] .keystone-columns[data-astro-cid-tdo3z6n7]{padding-bottom:22px}.keystone-column[data-astro-cid-tdo3z6n7]{--tone: var(--violet);position:relative;display:flex;min-width:0;flex-direction:column;border:1px dashed color-mix(in srgb,var(--tone) 48%,var(--border));border-radius:11px;background:color-mix(in srgb,var(--tone) 7%,var(--surface));padding:27px 6px 6px}.tone-violet[data-astro-cid-tdo3z6n7]{--tone: #7857e8}.tone-cyan[data-astro-cid-tdo3z6n7]{--tone: #07a8bc}.tone-amber[data-astro-cid-tdo3z6n7]{--tone: #e49b18}.tone-green[data-astro-cid-tdo3z6n7]{--tone: #55af43}.keystone-column[data-astro-cid-tdo3z6n7]>h4[data-astro-cid-tdo3z6n7]{position:absolute;top:8px;right:4px;left:4px;overflow:hidden;margin:0;color:color-mix(in srgb,var(--tone) 78%,var(--text-strong));font-size:.57rem;font-weight:850;line-height:1;text-align:center;text-overflow:ellipsis;white-space:nowrap}.keystone-nodes[data-astro-cid-tdo3z6n7]{display:grid;height:100%;min-height:0;grid-auto-rows:minmax(0,1fr);gap:5px}.keystone-node[data-astro-cid-tdo3z6n7]{position:relative;z-index:4;display:flex;min-width:0;align-items:center;justify-content:center;flex-direction:column;gap:5px;overflow:hidden;border:1px solid color-mix(in srgb,var(--tone) 27%,var(--border));border-radius:8px;background:color-mix(in srgb,var(--surface) 96%,transparent);color:inherit;padding:4px;box-shadow:0 4px 10px #142a540d;text-align:center;transition:opacity .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}.keystone-node[data-astro-cid-tdo3z6n7]:hover,.keystone-node[data-astro-cid-tdo3z6n7]:focus-visible,.keystone-node[data-astro-cid-tdo3z6n7].is-active{border-color:color-mix(in srgb,var(--tone) 70%,var(--border));box-shadow:0 7px 17px color-mix(in srgb,var(--tone) 16%,transparent)}.keystone-node[data-astro-cid-tdo3z6n7].is-dimmed{opacity:.2}.keystone-node[data-astro-cid-tdo3z6n7]>span[data-astro-cid-tdo3z6n7]:last-child{min-width:0}.keystone-node[data-astro-cid-tdo3z6n7] strong[data-astro-cid-tdo3z6n7]{display:block;overflow:hidden;color:var(--text-strong);font-size:.5rem;font-weight:820;line-height:1.12;text-overflow:ellipsis}.keystone-node[data-astro-cid-tdo3z6n7] small[data-astro-cid-tdo3z6n7]{display:none}.is-expanded[data-astro-cid-tdo3z6n7] .keystone-columns[data-astro-cid-tdo3z6n7]{gap:13px;padding:14px}.is-expanded[data-astro-cid-tdo3z6n7].is-distribution .keystone-columns[data-astro-cid-tdo3z6n7]{padding-bottom:30px}.is-expanded[data-astro-cid-tdo3z6n7] .keystone-column[data-astro-cid-tdo3z6n7]{border-radius:16px;padding:39px 11px 11px}.is-expanded[data-astro-cid-tdo3z6n7] .keystone-column[data-astro-cid-tdo3z6n7]>h4[data-astro-cid-tdo3z6n7]{top:13px;font-size:.84rem}.is-expanded[data-astro-cid-tdo3z6n7] .keystone-nodes[data-astro-cid-tdo3z6n7]{gap:9px}.is-expanded[data-astro-cid-tdo3z6n7] .keystone-node[data-astro-cid-tdo3z6n7]{gap:8px;border-radius:11px;padding:8px}.is-expanded[data-astro-cid-tdo3z6n7] .keystone-node[data-astro-cid-tdo3z6n7] strong[data-astro-cid-tdo3z6n7]{font-size:.75rem}.is-expanded[data-astro-cid-tdo3z6n7] .keystone-node[data-astro-cid-tdo3z6n7] small[data-astro-cid-tdo3z6n7]{display:block;margin-top:4px;color:var(--muted);font-size:.62rem;line-height:1.24}@media(max-width:620px){.keystone-board[data-astro-cid-tdo3z6n7]{height:218px}.keystone-columns[data-astro-cid-tdo3z6n7]{gap:4px;padding:5px}.keystone-column[data-astro-cid-tdo3z6n7]{padding:22px 3px 3px}.keystone-column[data-astro-cid-tdo3z6n7]>h4[data-astro-cid-tdo3z6n7]{top:7px;font-size:.43rem}.keystone-node[data-astro-cid-tdo3z6n7]{gap:2px;padding:2px}.keystone-node-icon[data-astro-cid-tdo3z6n7]{display:none}.keystone-node[data-astro-cid-tdo3z6n7] strong[data-astro-cid-tdo3z6n7]{font-size:.39rem}}@media(prefers-reduced-motion:reduce){.keystone-node[data-astro-cid-tdo3z6n7],.keystone-links[data-astro-cid-tdo3z6n7] path[data-astro-cid-tdo3z6n7]{transition:none}}.keystone-engineering[data-astro-cid-qru6go5r]{display:grid;height:100%;min-height:400px;align-content:center;gap:8px;padding:11px}.keystone-tabs[data-astro-cid-qru6go5r]{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;border:1px solid var(--border);border-radius:999px;background:color-mix(in srgb,var(--surface) 88%,transparent);padding:3px}.keystone-tab[data-astro-cid-qru6go5r]{position:relative;z-index:2;min-width:0;border:0;border-radius:999px;background:transparent;color:var(--muted-strong);padding:7px 8px;font-size:.64rem;font-weight:800;transition:color .18s ease}.keystone-tab[data-astro-cid-qru6go5r].active{color:var(--violet)}.keystone-tab-indicator[data-astro-cid-qru6go5r]{position:absolute;top:3px;bottom:3px;left:3px;width:calc((100% - 6px) / 3);border:1px solid var(--violet-border);border-radius:999px;background:var(--violet-soft);box-shadow:0 5px 14px color-mix(in srgb,var(--violet) 13%,transparent);transform:translate(calc(var(--keystone-tab-index, 0) * 100%));transition:transform .26s cubic-bezier(.22,1,.36,1)}.keystone-heading[data-astro-cid-qru6go5r]{display:flex;align-items:end;justify-content:space-between;gap:10px}.keystone-heading[data-astro-cid-qru6go5r] div[data-astro-cid-qru6go5r]{min-width:0}.keystone-heading[data-astro-cid-qru6go5r] div[data-astro-cid-qru6go5r]>span[data-astro-cid-qru6go5r]{display:block;color:var(--violet);font-size:.54rem;font-weight:850;letter-spacing:.11em;text-transform:uppercase}.keystone-heading[data-astro-cid-qru6go5r] strong[data-astro-cid-qru6go5r]{display:block;overflow:hidden;margin-top:2px;color:var(--text-strong);font-size:.66rem;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.keystone-expand[data-astro-cid-qru6go5r]{display:inline-flex;flex:0 0 auto;align-items:center;gap:6px;border:1px solid var(--violet-border);border-radius:999px;background:var(--violet-soft);color:var(--violet);padding:6px 9px;font-size:.62rem;font-weight:800}.keystone-panels[data-astro-cid-qru6go5r],.keystone-panel[data-astro-cid-qru6go5r]{min-width:0}.keystone-panel[data-astro-cid-qru6go5r]{animation:keystone-panel-in .22s ease both}.keystone-dialog[data-astro-cid-qru6go5r]{position:fixed;inset:50% auto auto 50%;width:min(1240px,calc(100vw - 32px));max-width:none;max-height:calc(100vh - 32px);overflow:hidden;margin:0;border:1px solid color-mix(in srgb,var(--violet) 32%,var(--border));border-radius:22px;background:var(--surface);color:var(--text);padding:0;box-shadow:0 30px 90px #040c1e5c;transform:translate(-50%,-50%)}.keystone-dialog[data-astro-cid-qru6go5r][open]{animation:keystone-dialog-in .26s cubic-bezier(.22,1,.36,1) both}.keystone-dialog[data-astro-cid-qru6go5r]::backdrop{background:#040a18b3;backdrop-filter:blur(9px)}.keystone-dialog-panel[data-astro-cid-qru6go5r]{display:grid;max-height:calc(100vh - 32px);grid-template-rows:auto minmax(0,1fr)}.keystone-dialog-panel[data-astro-cid-qru6go5r]>header[data-astro-cid-qru6go5r]{display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid var(--border);padding:16px 20px}.keystone-dialog-panel[data-astro-cid-qru6go5r] header[data-astro-cid-qru6go5r] span[data-astro-cid-qru6go5r]{color:var(--violet);font-size:.66rem;font-weight:850;letter-spacing:.11em;text-transform:uppercase}.keystone-dialog-panel[data-astro-cid-qru6go5r] h3[data-astro-cid-qru6go5r]{margin:2px 0 0;color:var(--text-strong);font-size:clamp(1rem,2vw,1.35rem)}.keystone-dialog-close[data-astro-cid-qru6go5r]{display:grid;width:38px;height:38px;place-items:center;border:1px solid var(--border);border-radius:50%;background:var(--surface-soft);color:var(--muted-strong)}.keystone-dialog-content[data-astro-cid-qru6go5r]{display:grid;min-height:0;grid-template-rows:auto minmax(0,1fr);gap:12px;padding:14px 20px 20px}.keystone-dialog-content[data-astro-cid-qru6go5r]>.keystone-tabs[data-astro-cid-qru6go5r]{max-width:720px;justify-self:center}.keystone-dialog-scroll[data-astro-cid-qru6go5r]{overflow:auto}@keyframes keystone-panel-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes keystone-dialog-in{0%{opacity:0;transform:translate(-50%,calc(-50% + 12px)) scale(.985)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@media(max-width:620px){.keystone-engineering[data-astro-cid-qru6go5r]{min-height:315px;padding:8px;gap:6px}.keystone-tab[data-astro-cid-qru6go5r]{padding:6px 3px;font-size:.52rem}.keystone-heading[data-astro-cid-qru6go5r] strong[data-astro-cid-qru6go5r]{max-width:215px;font-size:.57rem}.keystone-expand[data-astro-cid-qru6go5r]{width:31px;height:31px;justify-content:center;padding:0}.keystone-expand[data-astro-cid-qru6go5r] span[data-astro-cid-qru6go5r]{display:none}.keystone-dialog[data-astro-cid-qru6go5r]{width:calc(100vw - 16px);max-height:calc(100vh - 16px)}.keystone-dialog-panel[data-astro-cid-qru6go5r]{max-height:calc(100vh - 16px)}.keystone-dialog-panel[data-astro-cid-qru6go5r]>header[data-astro-cid-qru6go5r]{padding:12px 14px}.keystone-dialog-content[data-astro-cid-qru6go5r]{padding:10px}}@media(prefers-reduced-motion:reduce){.keystone-tab-indicator[data-astro-cid-qru6go5r],.keystone-tab[data-astro-cid-qru6go5r]{transition:none}.keystone-panel[data-astro-cid-qru6go5r],.keystone-dialog[data-astro-cid-qru6go5r][open]{animation:none}}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-zinc-100:oklch(96.7% .001 286.375);--color-white:#fff;--spacing:.25rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--shadow-sm:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.gap-2{gap:calc(var(--spacing)*2)}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.border{border-style:var(--tw-border-style);border-width:1px}.border-white\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.border-white\/10{border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.bg-white\/5{background-color:#ffffff0d}@supports (color:color-mix(in lab,red,red)){.bg-white\/5{background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.px-3{padding-inline:calc(var(--spacing)*3)}.py-2{padding-block:calc(var(--spacing)*2)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-zinc-100{color:var(--color-zinc-100)}.lowercase{text-transform:lowercase}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media(hover:hover){.hover\:bg-white\/10:hover{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/10:hover{background-color:color-mix(in oklab,var(--color-white)10%,transparent)}}}@media(min-width:40rem){.sm\:inline{display:inline}}@media(prefers-color-scheme:dark){.dark\:text-zinc-100{color:var(--color-zinc-100)}}.\[data-cv-menu-panel\]\:visible:is(data-cv-menu-panel){visibility:visible}}:root{color-scheme:light;--canvas:#f6f8fc;--surface:#fff;--surface-soft:#f8faff;--surface-blue:#f1f6ff;--text:#102044;--text-strong:#0b1835;--muted:#64708a;--muted-strong:#485675;--border:#e4e9f2;--border-strong:#d8e0ed;--blue:#1268f3;--blue-soft:#eaf2ff;--blue-border:#b9d2ff;--mint:#08a982;--mint-soft:#e6faf4;--mint-border:#a9e6d5;--violet:#7146f5;--violet-soft:#f0ebff;--violet-border:#d5c7ff;--orange:#f47b20;--orange-soft:#fff0e5;--orange-border:#ffd1ae;--neutral-soft:#f1f4f8;--shadow-sm:0 2px 8px #142a540d;--shadow-md:0 12px 34px #18346814;--shadow-lg:0 22px 60px #1b3a741c;--radius-sm:10px;--radius-md:16px;--radius-lg:22px;--page:1180px;--transition:.18s ease;font-synthesis:none;scroll-behavior:smooth;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}:root[data-theme=dark]{color-scheme:dark;--canvas:#101522;--surface:#171e2d;--surface-soft:#1b2435;--surface-blue:#17253e;--text:#dfe8fa;--text-strong:#f6f8ff;--muted:#9ba9c2;--muted-strong:#bdc9dc;--border:#29344a;--border-strong:#39465e;--blue-soft:#172b4e;--blue-border:#315a97;--mint-soft:#12352e;--mint-border:#27745f;--violet-soft:#292145;--violet-border:#594394;--orange-soft:#3d281b;--orange-border:#855137;--neutral-soft:#222b3c;--shadow-sm:0 2px 10px #00000029;--shadow-md:0 14px 38px #00000038;--shadow-lg:0 26px 68px #00000042}*,:before,:after{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:radial-gradient(circle at 9% 3%,#1268f30b,transparent 27rem),radial-gradient(circle at 91% 16%,#7146f509,transparent 30rem),var(--canvas);color:var(--text);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.6}a{color:inherit;text-decoration:none}button,input,textarea{color:inherit;font:inherit}button{cursor:pointer}img,svg{display:block}[hidden]{display:none!important}.visually-hidden{clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;width:1px!important;height:1px!important;position:absolute!important;overflow:hidden!important}.skip-link{z-index:200;border-radius:var(--radius-sm);background:var(--text-strong);color:var(--surface);transition:top var(--transition);padding:.7rem 1rem;position:fixed;top:-5rem;left:1rem}.skip-link:focus{top:1rem}.site-header{z-index:100;width:min(var(--page),calc(100% - 32px));background:var(--surface);border:1px solid #dce3efd1;border-radius:14px;margin:14px auto 0;position:sticky;top:12px}@supports (color:color-mix(in lab,red,red)){.site-header{background:color-mix(in srgb,var(--surface)91%,transparent)}}.site-header{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 5px 24px #1b36680f}:root[data-theme=dark] .site-header{border-color:var(--border)}.nav-shell{justify-content:space-between;align-items:center;gap:24px;min-height:68px;padding:0 26px;display:flex}.brand{color:var(--text-strong);letter-spacing:-.015em;align-items:center;gap:11px;font-size:.94rem;font-weight:760;display:inline-flex}.brand:hover{text-decoration:none}.brand-mark{border:1px solid var(--blue-border);background:var(--blue-soft);border-radius:10px;justify-content:center;align-items:center;width:34px;height:34px;padding:2px;display:inline-flex;overflow:hidden}.brand-mark img{object-fit:contain;width:100%;height:100%;display:block}.desktop-nav{align-items:center;gap:34px;margin-left:auto;margin-right:auto;display:flex}.desktop-nav a{color:var(--muted-strong);font-size:.79rem;font-weight:650;position:relative}.desktop-nav a:after{background:var(--blue);content:"";opacity:0;height:2px;transition:opacity var(--transition),transform var(--transition);border-radius:4px;position:absolute;bottom:-8px;left:0;right:0;transform:scaleX(.5)}.desktop-nav a:hover,.desktop-nav a:focus-visible{color:var(--blue);outline:0}.desktop-nav a:hover:after,.desktop-nav a:focus-visible:after{opacity:1;transform:scaleX(1)}.nav-controls{align-items:center;gap:9px;display:flex}.control{border:1px solid var(--border);background:var(--surface);height:34px;transition:border-color var(--transition),background var(--transition),transform var(--transition);border-radius:9px;justify-content:center;align-items:center;display:inline-flex}.control:hover{border-color:var(--blue-border);background:var(--blue-soft)}.control:focus-visible,.button:focus-visible,[role=tab]:focus-visible,a:focus-visible{outline-offset:2px;outline:3px solid #1268f338}.language-control{width:42px;padding:0}.language-flag{border-radius:3px;width:22px;height:15px;display:none;overflow:hidden;box-shadow:0 0 0 1px #0f172a1f}.language-flag svg{width:100%;height:100%;display:block}:root[lang=es] .flag-es,:root[lang=en] .flag-en{display:inline-flex}.cv-menu{position:relative}.cv-menu-button{min-width:54px;color:var(--text-strong);gap:6px;padding:0 10px;font-size:.7rem;font-weight:800}.cv-menu-button svg{transition:transform var(--transition)}.cv-menu-button[aria-expanded=true] svg{transform:rotate(180deg)}.cv-menu-panel{z-index:60;border:1px solid var(--border);background:var(--surface);border-radius:12px;gap:3px;width:max-content;min-width:168px;display:grid;position:absolute;top:calc(100% + 9px);right:0}@supports (color:color-mix(in lab,red,red)){.cv-menu-panel{background:color-mix(in srgb,var(--surface)96%,transparent)}}.cv-menu-panel{box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);padding:6px}.cv-menu-panel a{color:var(--muted-strong);border-radius:8px;align-items:center;gap:8px;padding:9px 10px;font-size:.72rem;font-weight:680;display:flex}.cv-menu-panel a:hover,.cv-menu-panel a:focus-visible{background:var(--blue-soft);color:var(--blue);text-decoration:none}.chevron{color:var(--muted);font-size:12px}.icon-control{width:34px;padding:0}.theme-sun,:root[data-theme=dark] .theme-moon{display:none}:root[data-theme=dark] .theme-sun{display:block}.theme-icon{font-family:Segoe UI Emoji,Apple Color Emoji,sans-serif;font-size:1rem;line-height:1}.menu-control,.menu-close,.menu-control[aria-expanded=true] .menu-open{display:none}.menu-control[aria-expanded=true] .menu-close{display:block}.mobile-nav{border-top:1px solid var(--border);gap:2px;padding:10px 16px 16px;display:grid}.mobile-nav a{color:var(--muted-strong);border-radius:8px;padding:9px 11px;font-size:.86rem;font-weight:650}.mobile-nav a:hover{background:var(--blue-soft);color:var(--blue)}main{overflow:clip}.section-shell,.section-block{width:min(var(--page),calc(100% - 32px));margin-inline:auto}.hero{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);min-height:470px;box-shadow:var(--shadow-md);grid-template-columns:minmax(0,1fr) minmax(430px,.9fr);align-items:center;gap:clamp(50px,8vw,105px);margin-top:14px;padding:clamp(48px,6vw,78px) clamp(34px,7vw,78px);scroll-margin-top:96px;display:grid}.hero-copy{max-width:560px}.eyebrow-pill{border:1px solid var(--blue-border);background:var(--blue-soft);color:var(--blue);letter-spacing:.04em;border-radius:999px;padding:4px 9px;font-size:.59rem;font-weight:800;display:inline-flex}.hero h1{color:var(--text-strong);letter-spacing:-.055em;margin:15px 0 13px;font-size:clamp(2.45rem,4.4vw,4.2rem);font-weight:780;line-height:.98}.hero h1 span,.hero h1 strong{display:block}.hero h1 strong{color:var(--blue);font-weight:inherit}.hero-summary{max-width:540px;color:var(--muted-strong);margin:0;font-size:.99rem;line-height:1.72}.hero-actions,.project-actions,.contact-actions{flex-wrap:wrap;gap:11px;display:flex}.hero-actions{margin-top:25px}.button{min-height:42px;transition:transform var(--transition),box-shadow var(--transition),border-color var(--transition),background var(--transition);border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:9px;padding:9px 16px;font-size:.8rem;font-weight:730;line-height:1;display:inline-flex}.button:hover{text-decoration:none;transform:translateY(-2px)}.button-primary{border-color:var(--blue);background:var(--blue);color:#fff;box-shadow:0 8px 20px #1268f330}.button-primary:hover{background:#075de3;box-shadow:0 11px 25px #1268f340}.button-secondary{border-color:var(--border-strong);background:var(--surface);color:var(--text-strong);box-shadow:var(--shadow-sm)}.button-secondary:hover{border-color:var(--blue-border);background:var(--surface-blue)}.button-tertiary{background:var(--neutral-soft);color:var(--muted-strong);border-color:#0000}.button-small{min-height:37px;padding:8px 13px;font-size:.72rem}.social-actions{flex-wrap:wrap;gap:9px;margin-top:16px;display:flex}.social-actions a{border-color:var(--border-strong);min-height:42px;color:var(--text-strong);border-radius:10px;gap:9px;padding:9px 16px;font-size:.8rem;font-weight:730}.social-actions .social-button{min-width:140px}.social-actions a:hover{border-color:var(--blue-border);color:var(--blue);text-decoration:none}.social-glyph{color:var(--text-strong);justify-content:center;align-items:center;display:inline-flex}.social-linkedin,.linkedin-icon{color:#0a66c2;font-weight:900}.hero-dashboard{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:14px;display:grid}.mini-card{z-index:0;border:1px solid var(--border);border-radius:var(--radius-md);background:linear-gradient(145deg,var(--surface),var(--surface-soft));width:100%;min-height:144px;box-shadow:var(--shadow-sm);text-align:center;cursor:pointer;transform-origin:50%;transition:min-height .3s cubic-bezier(.22,1,.36,1),opacity .24s ease,transform .3s cubic-bezier(.22,1,.36,1),box-shadow var(--transition),border-color var(--transition);outline:0;justify-content:center;align-items:center;padding:20px;display:flex;position:relative;overflow:hidden}.mini-card.is-hero-active,.mini-card:focus-visible{z-index:3;border-color:var(--blue-border);min-height:196px;box-shadow:0 20px 42px #1e417e29}.mini-card:focus-visible{outline-offset:2px;outline:3px solid #1268f338}.mini-card-content{flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.mini-card-body{opacity:1;visibility:visible;flex-direction:column;align-items:center;width:100%;min-height:0;transition:opacity .22s,transform .32s,visibility linear;display:flex;transform:none}.mini-card h2{color:var(--text-strong);letter-spacing:-.01em;margin:0 0 9px;font-size:.75rem;font-weight:800}.mini-card strong{color:var(--text-strong);margin-bottom:4px;font-size:.76rem;line-height:1.4;display:block}.mini-card p{color:var(--muted);margin:0;font-size:.66rem;line-height:1.65}.mini-card .mini-card-meta{color:var(--muted-strong);font-size:.6rem;font-weight:650}.mini-card-details{opacity:0;max-height:0;transition:max-height .3s,margin-top .3s,opacity .22s,transform .3s;transform:translateY(8px);margin-top:0!important}.mini-card.is-hero-active .mini-card-details,.mini-card:focus-visible .mini-card-details{opacity:1;max-width:390px;max-height:76px;transform:none;margin-top:11px!important}.mini-card-points{opacity:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;width:100%;max-height:0;margin:0;padding:0;list-style:none;transition:max-height .36s,margin-top .36s,opacity .26s,transform .36s;display:grid;overflow:hidden;transform:translateY(8px)}.mini-card.is-hero-active .mini-card-points,.mini-card:focus-visible .mini-card-points{opacity:1;max-height:70px;margin-top:12px;transform:none}.mini-card-point{border:1px solid var(--border);background:var(--surface-blue);border-radius:8px;justify-content:center;align-items:center;min-height:34px;display:flex}@supports (color:color-mix(in lab,red,red)){.mini-card-point{background:color-mix(in srgb,var(--surface-blue)72%,transparent)}}.mini-card-point{color:var(--muted-strong);padding:5px 7px;font-size:.53rem;font-weight:680;line-height:1.35}.stack-icons{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;padding-top:8px;display:flex}.tech-orb{background:var(--neutral-soft);border-radius:8px;justify-content:center;align-items:center;width:29px;height:29px;font-size:10px;font-weight:850;display:inline-flex}.react{color:#0ea5c7;background:#e8faff;font-size:21px}.node{color:#3c9239;background:#eaf8e7}.ts{color:#186bc4;background:#e8f2ff}.python{color:#3172a2;background:#fff6d7}.kotlin{color:#7a42d8;background:#f2eaff}.availability{align-items:center;gap:7px;font-weight:650;display:flex;margin-top:12px!important}.availability>span:first-child{background:#1cba8b;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #1cba8b1c}.section-block{padding-top:clamp(82px,9vw,118px);scroll-margin-top:100px}.section-heading{text-align:center;max-width:680px;margin:0 auto 35px}.section-heading.compact{margin-bottom:24px}.section-eyebrow{color:var(--blue);letter-spacing:.13em;text-transform:uppercase;margin-bottom:8px;font-size:.68rem;font-weight:800;display:block}.section-heading h2{color:var(--text-strong);letter-spacing:-.035em;margin:0;font-size:clamp(1.8rem,3vw,2.65rem);font-weight:770;line-height:1.12}.section-heading>p{color:var(--muted);margin:12px auto 0;font-size:.9rem;line-height:1.7}.project-explorer{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-md);grid-template-columns:205px minmax(0,1fr);gap:20px;padding:20px;display:grid}.project-selector{grid-auto-rows:minmax(0,1fr);gap:10px;min-height:0;display:grid}.project-select{border:1px solid var(--border);background:var(--surface);text-align:center;min-height:0;transition:border-color var(--transition),background var(--transition),box-shadow var(--transition),transform var(--transition);border-radius:13px;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:12px;display:flex}.project-select:hover{border-color:var(--accent-border);transform:translate(2px)}.project-select.active{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 7px 20px var(--accent)}@supports (color:color-mix(in lab,red,red)){.project-select.active{box-shadow:0 7px 20px color-mix(in srgb,var(--accent)10%,transparent)}}.project-select-icon,.project-mark,.capability-icon,.highlight-icon{border:1px solid var(--accent-border);background:var(--accent-soft);color:var(--accent);border-radius:10px;flex:none;justify-content:center;align-items:center;display:inline-flex}.project-select-icon{width:44px;height:44px}.project-select>span:nth-child(2){justify-items:center;gap:5px;min-width:0;display:grid}.project-select strong{color:var(--text-strong);font-size:.78rem;font-weight:760}.project-select small{color:var(--muted);font-size:.62rem;line-height:1.35}.project-panels{min-width:0}.project-panel{grid-template-columns:minmax(300px,.83fr) minmax(410px,1.25fr);gap:24px;min-height:420px;display:grid}.accent-blue{--accent:var(--blue);--accent-soft:var(--blue-soft);--accent-border:var(--blue-border)}.accent-mint{--accent:var(--mint);--accent-soft:var(--mint-soft);--accent-border:var(--mint-border)}.accent-violet{--accent:var(--violet);--accent-soft:var(--violet-soft);--accent-border:var(--violet-border)}.accent-orange{--accent:var(--orange);--accent-soft:var(--orange-soft);--accent-border:var(--orange-border)}.accent-neutral{--accent:#8996aa;--accent-soft:var(--neutral-soft);--accent-border:var(--border-strong)}.project-info{flex-direction:column;min-width:0;padding:10px 0 7px;display:flex}.project-title-row{align-items:center;gap:12px;display:flex}.project-mark{width:44px;height:44px}.project-title-row h3{color:var(--text-strong);letter-spacing:-.025em;margin:0;font-size:1.33rem}.project-title-row p{color:var(--muted);margin:2px 0 0;font-size:.7rem}.project-tags{flex-wrap:wrap;gap:6px;margin-top:13px;display:flex}.project-tags span,.project-stack span,.experience-tech span{border:1px solid var(--border);background:var(--surface-soft);color:var(--muted-strong);border-radius:7px;padding:3px 7px;font-size:.6rem;font-weight:650}.project-view-tabs{border-bottom:1px solid var(--border);scrollbar-width:none;gap:4px;margin-top:20px;display:flex;overflow-x:auto}.project-view-tab{color:var(--muted);background:0 0;border:0;flex:none;padding:9px 10px 10px;font-size:.67rem;font-weight:680;position:relative}.project-view-tab:after{background:var(--accent);content:"";opacity:0;height:2px;transition:opacity var(--transition),transform var(--transition);border-radius:2px 2px 0 0;position:absolute;bottom:-1px;left:6px;right:6px;transform:scaleX(.45)}.project-view-tab.active{color:var(--accent)}.project-view-tab.active:after{opacity:1;transform:scaleX(1)}.project-summary{color:var(--muted-strong);margin:17px 0 0;font-size:.82rem;line-height:1.7}.project-subtitle{color:var(--accent);margin:8px 0 0;font-size:.67rem;font-weight:680}.project-stack{flex-wrap:wrap;gap:6px;margin-top:14px;display:flex}.project-actions{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:auto;padding-top:17px;display:grid}.project-actions .button{width:100%;min-width:0}.project-repository-button{grid-column:1/-1}.project-media-stage{border:1px solid var(--accent);min-height:400px;position:relative;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.project-media-stage{border:1px solid color-mix(in srgb,var(--accent)12%,var(--border))}}.project-media-stage{background:radial-gradient(circle at 76% 23%,var(--accent),transparent 15rem),linear-gradient(145deg,var(--surface-soft),var(--surface-blue));border-radius:17px}@supports (color:color-mix(in lab,red,red)){.project-media-stage{background:radial-gradient(circle at 76% 23%,color-mix(in srgb,var(--accent)11%,transparent),transparent 15rem),linear-gradient(145deg,var(--surface-soft),var(--surface-blue))}}.media-view{width:100%;height:100%;min-height:400px;animation:.22s both media-in;position:relative}.media-frame{filter:drop-shadow(0 18px 22px #192b4e21);margin:0;position:absolute}.media-frame:first-child{top:47px;left:35px;right:36px}.media-frame.media-android{width:138px}.media-view .media-frame.media-android:first-child{inset:31px auto auto 39px}.media-view .media-frame+.media-frame{z-index:2;width:128px;top:119px;left:auto;right:18px}.media-view .media-frame:first-child:has(+.media-frame){left:22px;right:76px}.media-view .media-frame.media-android:first-child:has(+.media-frame){z-index:2;left:34px;right:auto}.media-view .media-frame.media-android:first-child+.media-frame{z-index:1;width:auto;top:58px;left:118px;right:25px}.media-view.is-keystone-overview .media-frame:first-child{z-index:1;top:25px;left:20px;right:76px}.media-view.is-keystone-overview .media-frame+.media-frame{z-index:2;width:55%;inset:auto 18px 24px auto}.media-frame>img{width:100%;aspect-ratio:var(--media-ratio);border:1px solid var(--accent);display:block}@supports (color:color-mix(in lab,red,red)){.media-frame>img{border:1px solid color-mix(in srgb,var(--accent)18%,var(--border))}}.media-frame>img{object-fit:contain;object-position:center;background:#f7f9fc;border-radius:13px;box-shadow:0 18px 42px #16254324}.media-image-shell{border:2px solid var(--accent);flex-direction:column;flex:auto;justify-content:center;align-items:center;width:100%;min-height:0;display:flex;position:relative;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.media-image-shell{border:2px solid color-mix(in srgb,var(--accent)28%,var(--border-strong))}}.media-image-shell{background:var(--surface);border-radius:13px}@supports (color:color-mix(in lab,red,red)){.media-image-shell{background:color-mix(in srgb,var(--surface)96%,var(--accent))}}.media-image-shell{box-shadow:0 12px 28px #16254321}.media-image-viewport{background:var(--surface-soft);flex:auto;justify-content:center;align-items:center;width:100%;min-height:0;display:flex;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.media-image-viewport{background:color-mix(in srgb,var(--surface-soft)94%,#fff)}}.media-image-viewport>img{background:var(--surface-soft);width:100%;height:100%;min-height:0;box-shadow:none;object-fit:contain;object-position:center;border:0;border-radius:0;display:block}.media-image-shell.is-crop .media-image-viewport{aspect-ratio:16/10}.media-image-shell.is-crop .media-image-viewport>img{object-fit:cover;object-position:top center}.media-image-shell.is-contain{width:auto;max-width:100%;height:calc(100% - 25px);max-height:100%;aspect-ratio:var(--media-ratio);flex:0 auto;margin:auto}.media-image-shell.is-adaptive{flex:0 auto;margin-block:auto}.media-image-shell.is-adaptive .media-image-viewport{aspect-ratio:var(--media-ratio);flex:0 auto}.media-browser-toolbar{border-bottom:1px solid var(--border-strong);flex:0 0 24px;align-items:center;gap:6px;width:100%;height:24px;display:flex}@supports (color:color-mix(in lab,red,red)){.media-browser-toolbar{border-bottom:1px solid color-mix(in srgb,var(--border-strong)72%,transparent)}}.media-browser-toolbar{background:linear-gradient(#f8f9fb,#e8ebf0);padding:0 10px}.media-browser-toolbar span{border-radius:50%;flex:none;width:7px;height:7px;box-shadow:inset 0 0 0 1px #00000017}.media-browser-toolbar span:first-child{background:#ff5f57}.media-browser-toolbar span:nth-child(2){background:#febc2e}.media-browser-toolbar span:nth-child(3){background:#28c840}.media-browser-toolbar i{background:#fff;border:1px solid #d3d7de;border-radius:5px;width:38%;height:7px;margin-inline:auto}.media-context-label{z-index:5;border:1px solid var(--accent);align-items:center;min-height:23px;display:inline-flex;position:absolute;top:9px;right:9px}@supports (color:color-mix(in lab,red,red)){.media-context-label{border:1px solid color-mix(in srgb,var(--accent)35%,var(--border))}}.media-context-label{background:var(--surface);border-radius:999px}@supports (color:color-mix(in lab,red,red)){.media-context-label{background:color-mix(in srgb,var(--surface)92%,transparent)}}.media-context-label{color:var(--accent);letter-spacing:.025em;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:3px 9px;font-size:.57rem;font-weight:850;box-shadow:0 5px 14px #192b4e21}.media-frame.media-android>img{border:4px solid var(--text-strong)}@supports (color:color-mix(in lab,red,red)){.media-frame.media-android>img{border:4px solid color-mix(in srgb,var(--text-strong)92%,#000)}}.media-frame.media-android>img{background:#10151c;border-radius:25px;box-shadow:0 20px 42px #0c162a38}.media-placeholder{aspect-ratio:var(--media-ratio);border:1px solid var(--border-strong);background:var(--surface);border-radius:11px;flex-direction:column;justify-content:center;align-items:center;min-height:185px;display:flex;position:relative;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.media-placeholder{background:color-mix(in srgb,var(--surface)94%,var(--accent))}}.media-placeholder{color:var(--muted);text-align:center}.media-android .media-placeholder{border-width:4px;border-color:var(--text-strong);border-radius:23px;min-height:295px}.frame-chrome{border-bottom:1px solid var(--border);background:var(--surface);align-items:center;gap:5px;height:27px;padding:0 10px;display:flex;position:absolute;top:0;left:0;right:0}.frame-chrome span{background:var(--border-strong);border-radius:50%;width:5px;height:5px}.media-android .frame-chrome{background:var(--text-strong);border:0;border-radius:0 0 7px 7px;justify-content:center;height:11px;left:29%;right:29%}.placeholder-grid{opacity:.28;background-image:linear-gradient(var(--border)1px,transparent 1px),linear-gradient(90deg,var(--border)1px,transparent 1px);background-size:22px 22px;position:absolute;inset:28px 0 0;-webkit-mask-image:linear-gradient(#000,#0000);mask-image:linear-gradient(#000,#0000)}.placeholder-icon{border:1px solid var(--accent-border);background:var(--accent-soft);width:54px;height:54px;color:var(--accent);border-radius:14px;justify-content:center;align-items:center;display:inline-flex;position:relative}.media-placeholder strong{color:var(--text-strong);margin-top:12px;font-size:.69rem;position:relative}.media-placeholder small{max-width:80%;margin-top:3px;font-size:.58rem;position:relative}.media-frame figcaption{display:none}.media-items:not(.media-carousel-track){display:contents}.media-view.is-gallery{--carousel-card-ratio:.84;height:400px;overflow:hidden}.media-view.is-gallery.is-android-gallery{--carousel-card-ratio:.44}.media-carousel-track{width:100%;height:100%;padding:24px var(--carousel-edge,22px)31px;scroll-behavior:smooth;scroll-padding-inline:var(--carousel-edge,22px);scroll-snap-type:x mandatory;overscroll-behavior-inline:contain;scrollbar-width:none;align-items:center;gap:15px;display:flex;position:relative;overflow:auto hidden}.media-carousel-track::-webkit-scrollbar{display:none}.media-carousel-track:after{content:"";flex:0 0 1px;width:1px}.media-view.is-gallery .media-frame{z-index:auto;flex:0 0 var(--carousel-card-width,84%);border:1px solid var(--accent);flex-direction:column;gap:9px;min-width:0;height:350px;margin:0;display:flex;position:relative;width:auto!important;inset:auto!important}@supports (color:color-mix(in lab,red,red)){.media-view.is-gallery .media-frame{border:1px solid color-mix(in srgb,var(--accent)13%,var(--border))}}.media-view.is-gallery .media-frame{background:var(--surface);border-radius:16px}@supports (color:color-mix(in lab,red,red)){.media-view.is-gallery .media-frame{background:color-mix(in srgb,var(--surface)96%,var(--accent))}}.media-view.is-gallery .media-frame{filter:none;scroll-snap-align:center;scroll-snap-stop:always;padding:9px 9px 11px;box-shadow:0 13px 30px #192b4e1a}.media-view.is-gallery .media-frame>img{aspect-ratio:auto;width:100%;min-height:0;box-shadow:none;object-fit:contain;object-position:center;border-radius:10px;flex:auto}.media-view.is-gallery .media-image-shell{max-height:100%}.media-view.is-gallery .media-image-shell.is-contain{flex:0 auto}.media-view.is-gallery .media-image-shell.is-crop .media-image-viewport{aspect-ratio:auto;height:100%}.media-view.is-gallery .media-frame.media-android>img{border-width:3px;border-radius:19px;width:auto;max-width:100%;margin-inline:auto}.media-view.is-gallery .media-frame figcaption{min-height:16px;color:var(--muted-strong);letter-spacing:.01em;text-align:center;font-size:.62rem;font-weight:720;line-height:1.35;display:block}.project-media-stage:hover .media-view.is-gallery .media-frame{filter:none;transform:none}.media-view.is-gallery .media-frame:hover{border-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.media-view.is-gallery .media-frame:hover{border-color:color-mix(in srgb,var(--accent)35%,var(--border))}}.media-view.is-gallery .media-frame:hover{transform:translateY(-2px);box-shadow:0 16px 35px #192b4e24}.media-carousel-button{z-index:6;border:1px solid var(--accent);justify-content:center;align-items:center;width:38px;height:38px;display:inline-flex;position:absolute;top:50%}@supports (color:color-mix(in lab,red,red)){.media-carousel-button{border:1px solid color-mix(in srgb,var(--accent)28%,var(--border))}}.media-carousel-button{background:var(--surface);border-radius:50%}@supports (color:color-mix(in lab,red,red)){.media-carousel-button{background:color-mix(in srgb,var(--surface)90%,transparent)}}.media-carousel-button{color:var(--accent);opacity:.9;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);transition:border-color var(--transition),background var(--transition),opacity var(--transition),transform var(--transition);transform:translateY(-50%);box-shadow:0 7px 18px #192b4e29}.media-carousel-button:hover{border-color:var(--accent);background:var(--surface);opacity:1;transform:translateY(-50%)scale(1.07)}.media-carousel-previous{left:8px}.media-carousel-previous svg{transform:rotate(180deg)}.media-carousel-next{right:8px}.media-carousel-dots{z-index:5;pointer-events:none;justify-content:center;align-items:center;gap:5px;display:flex;position:absolute;bottom:9px;left:54px;right:54px}.media-carousel-dot{background:var(--muted);border-radius:50%;width:5px;height:5px}@supports (color:color-mix(in lab,red,red)){.media-carousel-dot{background:color-mix(in srgb,var(--muted)44%,transparent)}}.media-carousel-dot{transition:width .22s,background .22s}.media-carousel-dot.active{background:var(--accent);border-radius:6px;width:15px}.media-theme-selector{z-index:8;border:1px solid var(--accent);grid-template-columns:repeat(2,1fr);gap:3px;width:152px;display:grid;position:absolute;bottom:6px;left:50%}@supports (color:color-mix(in lab,red,red)){.media-theme-selector{border:1px solid color-mix(in srgb,var(--accent)25%,var(--border))}}.media-theme-selector{background:var(--surface);border-radius:10px}@supports (color:color-mix(in lab,red,red)){.media-theme-selector{background:color-mix(in srgb,var(--surface)94%,transparent)}}.media-theme-selector{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:3px;transform:translate(-50%);box-shadow:0 5px 16px #192b4e1f}.media-theme-selector button{min-height:25px;color:var(--muted-strong);transition:background var(--transition),color var(--transition),box-shadow var(--transition);background:0 0;border:0;border-radius:7px;font-size:.62rem;font-weight:780}.media-theme-selector button.active{background:var(--accent);box-shadow:0 3px 9px var(--accent)}@supports (color:color-mix(in lab,red,red)){.media-theme-selector button.active{box-shadow:0 3px 9px color-mix(in srgb,var(--accent)26%,transparent)}}.media-theme-selector button.active{color:#fff}.media-theme-selector button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.media-view:has(>.media-theme-selector) .media-carousel-dots{bottom:43px}.media-view:has(>.media-theme-selector) .media-carousel-track{padding-bottom:62px}.media-view:has(>.media-theme-selector) .media-frame{height:320px}.media-carousel-expand{z-index:7;border:1px solid var(--accent);place-items:center;width:31px;height:31px;display:grid;position:absolute;bottom:6px;right:9px}@supports (color:color-mix(in lab,red,red)){.media-carousel-expand{border:1px solid color-mix(in srgb,var(--accent)28%,var(--border))}}.media-carousel-expand{background:var(--surface);border-radius:9px}@supports (color:color-mix(in lab,red,red)){.media-carousel-expand{background:color-mix(in srgb,var(--surface)92%,transparent)}}.media-carousel-expand{color:var(--accent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:border-color var(--transition),background var(--transition),transform var(--transition);box-shadow:0 5px 14px #192b4e21}.media-carousel-expand:hover,.media-carousel-expand:focus-visible{border-color:var(--accent);background:var(--surface);transform:translateY(-1px)scale(1.04)}.media-gallery-dialog{--accent:var(--blue);border:1px solid var(--blue);width:min(1080px,100vw - 32px);max-width:none;max-height:min(780px,100vh - 24px);margin:0;position:fixed;top:50%;left:50%;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.media-gallery-dialog{border:1px solid color-mix(in srgb,var(--blue)28%,var(--border))}}.media-gallery-dialog{background:var(--surface);color:var(--text);border-radius:21px;padding:0;transform:translate(-50%,-50%);box-shadow:0 28px 80px #040c1c57}.media-gallery-dialog[open]{animation:.24s cubic-bezier(.22,1,.36,1) both media-gallery-dialog-in}.media-gallery-dialog::backdrop{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#050c1b8f}.media-gallery-dialog-panel{grid-template-rows:auto minmax(0,1fr);max-height:min(780px,100vh - 24px);display:grid}.media-gallery-dialog-panel>header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:14px 17px;display:flex}.media-gallery-dialog-panel header span{color:var(--blue);letter-spacing:.1em;text-transform:uppercase;font-size:.61rem;font-weight:850;display:block}.media-gallery-dialog-panel h3{color:var(--text-strong);letter-spacing:-.02em;margin:2px 0 0;font-size:1.05rem}.media-gallery-dialog-close{border:1px solid var(--border);background:var(--surface-soft);width:35px;height:35px;color:var(--muted-strong);border-radius:50%;flex:none;place-items:center;display:grid}.media-gallery-dialog-close:hover,.media-gallery-dialog-close:focus-visible{border-color:var(--blue-border);color:var(--blue)}.media-gallery-dialog-stage{background:radial-gradient(circle at 70% 18%,var(--blue-soft),transparent 24rem),var(--surface-soft);height:min(710px,100vh - 94px);min-height:0;position:relative;overflow:hidden}.media-gallery-dialog-track{--carousel-card-ratio:.82;width:100%;height:100%;padding:19px var(--carousel-edge,52px)39px;scroll-behavior:smooth;scroll-padding-inline:var(--carousel-edge,52px);scroll-snap-type:x mandatory;scrollbar-width:none;align-items:center;gap:16px;display:flex;overflow:auto hidden}.media-gallery-dialog.is-android-gallery .media-gallery-dialog-track{--carousel-card-ratio:.42}.media-gallery-dialog-track::-webkit-scrollbar{display:none}.media-gallery-dialog-track:after{content:"";flex:0 0 1px;width:1px}.media-gallery-dialog-track .media-frame{flex:0 0 var(--carousel-card-width,82%);border:1px solid var(--blue);flex-direction:column;gap:9px;min-width:0;height:100%;margin:0;display:flex;position:relative;width:auto!important;inset:auto!important}@supports (color:color-mix(in lab,red,red)){.media-gallery-dialog-track .media-frame{border:1px solid color-mix(in srgb,var(--blue)16%,var(--border))}}.media-gallery-dialog-track .media-frame{background:var(--surface);filter:none;scroll-snap-align:center;scroll-snap-stop:always;border-radius:16px;padding:10px 10px 11px;box-shadow:0 15px 34px #192b4e21}.media-gallery-dialog-track .media-frame>img{aspect-ratio:auto;width:100%;min-height:0;box-shadow:none;object-fit:contain;object-position:center;border-radius:11px;flex:auto}.media-gallery-dialog-track .media-image-shell{max-height:100%}.media-gallery-dialog-track .media-image-shell.is-crop .media-image-viewport{aspect-ratio:auto;height:100%}.media-gallery-dialog-track .media-frame.media-android>img{border-width:3px;border-radius:21px;width:auto;max-width:100%;margin-inline:auto}.media-gallery-dialog-track .media-frame figcaption{min-height:16px;color:var(--muted-strong);text-align:center;font-size:.67rem;font-weight:740;display:block}.media-gallery-dialog-dots{bottom:13px}.media-gallery-dialog-theme-selector{--accent:var(--blue);top:8px;bottom:auto}.media-gallery-dialog-stage:has(.media-gallery-dialog-theme-selector:not([hidden])) .media-gallery-dialog-track{padding-top:52px}.media-gallery-dialog-stage:has(.media-gallery-dialog-theme-selector:not([hidden])) .media-gallery-dialog-track .media-frame{height:calc(100% - 52px)}body.media-gallery-dialog-open{overflow:hidden}@keyframes media-gallery-dialog-in{0%{opacity:0;transform:translate(-50%,calc(9px - 50%))scale(.985)}to{opacity:1;transform:translate(-50%,-50%)}}.capability-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.capability-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);min-height:385px;box-shadow:var(--shadow-sm);transition:border-color var(--transition),box-shadow var(--transition),transform var(--transition);padding:25px}.capability-card:hover{border-color:var(--accent-border);box-shadow:var(--shadow-lg);transform:translateY(-5px)}.capability-top{justify-content:space-between;align-items:center;display:flex}.capability-icon{width:53px;height:53px}.round-arrow{background:var(--accent-soft);width:37px;height:37px;color:var(--accent);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.capability-card h3{color:var(--accent);letter-spacing:.02em;margin:20px 0 8px;font-size:1.16rem;font-weight:800}.capability-card>p{min-height:50px;color:var(--muted);margin:0;font-size:.8rem;line-height:1.65}.capability-card ul{border-top:1px solid var(--border);gap:10px;margin:22px 0 0;padding:20px 0 0;list-style:none;display:grid}.capability-card li{color:var(--text);align-items:center;gap:10px;font-size:.75rem;font-weight:620;display:flex}.capability-card li>span:first-child{border:2px solid var(--surface);background:var(--accent);width:7px;height:7px;box-shadow:0 0 0 3px var(--accent-soft);border-radius:50%}.process-grid{grid-template-columns:repeat(6,1fr);gap:15px;margin:0;padding:0;list-style:none;display:grid}.process-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);min-height:255px;box-shadow:var(--shadow-sm);text-align:center;transition-delay:var(--step-delay);flex-direction:column;align-items:center;padding:18px 15px 24px;display:flex;position:relative}.step-number{background:var(--accent-soft);color:var(--accent);border-radius:6px;align-self:flex-start;padding:3px 6px;font-size:.55rem;font-weight:800}.process-icon{height:68px;color:var(--accent);justify-content:center;align-items:center;display:inline-flex}.process-card h3{color:var(--text-strong);margin:14px 0 0;font-size:.77rem;font-weight:800}.process-card p{color:var(--muted-strong);margin:18px 0 0;font-size:.72rem;line-height:1.72}.semantic-card-icon{border:1px solid var(--accent);justify-content:center;align-items:center;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.semantic-card-icon{border:1px solid color-mix(in srgb,var(--accent)24%,var(--border))}}.semantic-card-icon{background:linear-gradient(145deg,var(--accent),var(--surface));border-radius:15px}@supports (color:color-mix(in lab,red,red)){.semantic-card-icon{background:linear-gradient(145deg,color-mix(in srgb,var(--accent)12%,var(--surface)),var(--surface))}}.semantic-card-icon{color:var(--accent);box-shadow:inset 0 1px #ffffffb3,0 10px 24px var(--accent)}@supports (color:color-mix(in lab,red,red)){.semantic-card-icon{box-shadow:inset 0 1px #ffffffb3,0 10px 24px color-mix(in srgb,var(--accent)9%,transparent)}}.process-connector{z-index:2;border-top:1px dashed var(--blue-border);width:15px;height:1px;position:absolute;top:100px;left:calc(100% + 1px)}.process-connector i{border:1px solid var(--blue-border);background:var(--surface);border-radius:50%;width:7px;height:7px;position:absolute;top:-4px;right:5px}.technology-explorer{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-sm);padding:0 20px 20px;overflow:hidden}.technology-tabs{border-bottom:1px solid var(--border);grid-template-columns:repeat(6,1fr);display:grid}.technology-tab{color:var(--muted);background:0 0;border:0;justify-content:center;align-items:center;gap:7px;padding:17px 12px 14px;font-size:.7rem;font-weight:680;display:inline-flex;position:relative}.tab-icon{color:currentColor;display:inline-flex}.technology-tab:after{background:var(--blue);content:"";opacity:0;height:2px;transition:opacity var(--transition),transform var(--transition);border-radius:2px 2px 0 0;position:absolute;bottom:-1px;left:14px;right:14px;transform:scaleX(.5)}.technology-tab.active{background:linear-gradient(to bottom,transparent,var(--blue-soft));color:var(--blue)}.technology-tab.active:after{opacity:1;transform:scaleX(1)}.technology-panel{grid-template-columns:repeat(6,1fr);gap:12px;padding-top:15px;animation:.21s both panel-in;display:grid}.technology-card{border:1px solid var(--border);background:var(--surface);opacity:0;min-height:220px;animation:.26s forwards card-in;animation-delay:var(--tech-delay);border-radius:12px;flex-direction:column;padding:15px 13px 0;display:flex;transform:translateY(7px)}.technology-heading{align-items:center;gap:9px;display:flex}.technology-mark{background:var(--blue-soft);width:44px;height:44px;color:var(--blue);border-radius:10px;flex:none;justify-content:center;align-items:center;font-size:.72rem;font-weight:850;display:inline-flex}.technology-heading h3{color:var(--text-strong);margin:0;font-size:.72rem;font-weight:760}.technology-card>p{min-height:62px;color:var(--muted);flex:1;align-items:center;margin:10px 0 13px;font-size:.69rem;line-height:1.62;display:flex}.technology-usage{border-top:1px solid var(--border);background:var(--surface-soft);gap:2px;margin:auto -13px 0;padding:10px 13px 12px;display:grid}.technology-usage span{color:var(--muted);font-size:.54rem}.technology-usage strong{overflow-wrap:anywhere;color:var(--muted-strong);font-size:.56rem;line-height:1.45}.highlight-grid{grid-template-columns:repeat(4,1fr);gap:13px;display:grid}.highlight-card{border:1px solid var(--border);background:var(--surface);min-height:122px;box-shadow:var(--shadow-sm);text-align:center;border-radius:13px;flex-direction:column;justify-content:flex-start;align-items:center;gap:13px;padding:17px;display:flex}.highlight-icon{width:41px;height:41px}.highlight-card h3{color:var(--text-strong);letter-spacing:-.015em;margin:1px 0 9px;font-size:.94rem;font-weight:850;line-height:1.25}.highlight-card p{color:var(--muted);margin:0;font-size:.61rem;line-height:1.55}.timeline{position:relative}.timeline-list{gap:11px;margin:0;padding:0 0 0 55px;list-style:none;display:grid}.timeline:before{background:var(--border-strong);content:"";width:1px;position:absolute;top:13px;bottom:13px;left:20px}.timeline-entry{position:relative}.timeline-node{z-index:2;border:2px solid var(--accent);background:var(--surface);width:10px;height:10px;box-shadow:0 0 0 5px var(--canvas);border-radius:50%;position:absolute;top:30px;left:-39px}.experience-card{border:1px solid var(--border);background:var(--surface);min-height:115px;box-shadow:var(--shadow-sm);transition:border-color var(--transition),box-shadow var(--transition),transform var(--transition);border-radius:13px;grid-template-columns:48px minmax(250px,1.25fr) minmax(210px,1fr) 145px;align-items:center;gap:17px;padding:15px 18px;display:grid}.experience-card:hover{border-color:var(--accent-border);box-shadow:var(--shadow-md);transform:translateY(-2px)}.timeline-entry.secondary .experience-card{min-height:100px}.company-mark{background:var(--accent-soft);width:44px;height:44px;color:var(--accent);border-radius:11px;justify-content:center;align-items:center;font-size:1.2rem;font-weight:900;display:inline-flex}.company-mark img,.project-select-icon img,.project-mark img{object-fit:contain;width:100%;height:100%;display:block}.company-mark img{padding:6px}.company-nembus img{width:54px;max-width:none;padding:4px 0}.company-fibronautas img,.company-fcc img,.project-select-icon img,.project-mark img{padding:3px}.company-fcc{font-size:.85rem}.experience-main h3{color:var(--text-strong);margin:0;font-size:.77rem}.experience-main>strong{color:var(--muted-strong);margin-top:2px;font-size:.65rem;font-weight:650;display:block}.experience-main p{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:7px 0 0;font-size:.59rem;line-height:1.45;display:-webkit-box;overflow:hidden}.experience-tech{flex-wrap:wrap;gap:5px;display:flex}.experience-tech span{font-size:.54rem}.experience-meta{color:var(--muted);text-align:right;justify-items:end;gap:12px;font-size:.58rem;display:grid}.experience-meta>strong{color:var(--muted-strong);font-size:.59rem}.experience-meta>span{align-items:center;gap:4px;display:flex}.education-grid{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.education-card{border:1px solid var(--border);background:var(--surface);min-height:132px;box-shadow:var(--shadow-sm);border-radius:13px;grid-template-columns:58px 1fr auto;align-items:center;gap:17px;padding:18px;display:grid}.education-icon{background:var(--blue-soft);width:54px;height:54px;color:var(--blue);border-radius:12px;justify-content:center;align-items:center;display:inline-flex}.education-icon img{object-fit:contain;width:100%;height:100%;padding:5px;display:block}.education-copy h3{color:var(--text-strong);margin:0;font-size:.82rem;line-height:1.45}.education-copy p{color:var(--muted-strong);margin:3px 0 0;font-size:.65rem}.education-copy>span{background:var(--blue-soft);color:var(--blue);border-radius:999px;align-items:center;gap:5px;margin-top:9px;padding:3px 7px;font-size:.54rem;font-weight:650;display:inline-flex}:root[data-theme=dark] .education-copy>span{color:var(--text-strong)}.education-card>strong{color:var(--muted-strong);white-space:nowrap;align-self:start;font-size:.6rem}.contact-section{border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:linear-gradient(105deg,#f0f5ff,#f8fbff);border:1px solid #dae6ff;grid-template-columns:1.1fr 2.1fr auto;align-items:center;gap:26px;margin-top:clamp(82px,9vw,115px);padding:30px 34px;scroll-margin-top:100px;display:grid}:root[data-theme=dark] .contact-section{border-color:var(--border);background:linear-gradient(105deg,var(--surface-blue),var(--surface))}.contact-copy h2{color:var(--text-strong);letter-spacing:-.03em;margin:0;font-size:1.5rem}.contact-copy p{max-width:300px;color:var(--muted-strong);margin:6px 0 0;font-size:.7rem;line-height:1.55}.contact-links{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.contact-links a{border:1px solid var(--border);background:var(--surface);min-width:0;transition:border-color var(--transition),transform var(--transition),box-shadow var(--transition);border-radius:10px;align-items:center;gap:10px;padding:12px;display:flex}.contact-links a:hover{border-color:var(--blue-border);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.contact-icon{background:var(--blue-soft);width:28px;height:28px;color:var(--blue);border-radius:7px;flex:none;justify-content:center;align-items:center;font-size:.63rem;font-weight:900;display:inline-flex}.gmail-icon{color:#ea4335}.linkedin-icon{color:#0a66c2}.github-icon,.social-github{color:var(--text-strong)}.contact-links a>span:last-child{min-width:0;display:grid}.contact-links small{color:var(--text-strong);font-size:.58rem;font-weight:720}.contact-links strong{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.49rem;font-weight:550;overflow:hidden}.contact-actions{min-width:145px;display:grid}.contact-form-panel{border-top:1px solid var(--blue);grid-column:1/-1}@supports (color:color-mix(in lab,red,red)){.contact-form-panel{border-top:1px solid color-mix(in srgb,var(--blue)16%,var(--border))}}.contact-form-panel{padding-top:24px}#contact-form{gap:20px;display:grid}.contact-form-heading{justify-content:space-between;align-items:baseline;gap:24px;display:flex}.contact-form-heading h3{color:var(--text-strong);margin:0;font-size:.9rem}.contact-form-heading p{max-width:520px;color:var(--muted);text-align:right;margin:0;font-size:.59rem;line-height:1.55}.contact-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.contact-form-grid label{color:var(--text-strong);gap:7px;font-size:.65rem;font-weight:750;display:grid}.contact-form-wide{grid-column:1/-1}.contact-form-grid input,.contact-form-grid textarea{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text-strong);font:inherit;resize:vertical;transition:border-color var(--transition),box-shadow var(--transition);border-radius:10px;outline:0;padding:10px 12px;font-size:.72rem;font-weight:500}.contact-form-grid input:focus,.contact-form-grid textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #1268f31f}.contact-form-grid input::placeholder,.contact-form-grid textarea::placeholder{color:var(--muted);opacity:.75}.form-honeypot{position:absolute;left:-10000px}.contact-form-footer{justify-content:flex-end;align-items:center;gap:20px;min-height:36px;display:flex}#contact-form-status{color:var(--muted-strong);flex:1;margin:0;font-size:.65rem}#contact-submit:disabled{cursor:wait;opacity:.65}footer{width:min(var(--page),calc(100% - 32px));color:var(--muted);text-align:center;margin:0 auto;padding:23px 0 27px;font-size:.59rem}footer p{margin:0}footer span:last-child{color:var(--blue);margin-left:5px}.reveal,.reveal.is-visible{opacity:1;transform:none}@keyframes media-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@keyframes panel-in{0%{opacity:0}to{opacity:1}}@keyframes card-in{to{opacity:1;transform:none}}@media(max-width:1040px){.desktop-nav{gap:21px}.hero{grid-template-columns:1fr 400px;gap:42px;padding-inline:45px}.project-explorer{grid-template-columns:1fr}.project-selector{grid-template-columns:repeat(3,1fr);grid-auto-rows:auto;display:grid}.project-select:hover{transform:translateY(-2px)}.technology-panel{grid-template-columns:repeat(3,1fr)}.technology-card{min-height:190px}.process-grid{grid-template-columns:repeat(3,1fr)}.process-connector{display:none}.highlight-grid{grid-template-columns:repeat(2,1fr)}.experience-card{grid-template-columns:48px minmax(220px,1fr) minmax(180px,.8fr) 125px}.contact-section{grid-template-columns:1fr}.contact-copy p{max-width:580px}.contact-actions{display:flex}}@media(min-width:821px){.mobile-nav{display:none!important}.project-panel{min-height:465px}}@media(max-width:820px){.desktop-nav{display:none}.menu-control{display:inline-flex}.nav-shell{padding-inline:18px}.hero{grid-template-columns:1fr;gap:42px;min-height:0;padding:55px 34px 38px}.hero-copy{max-width:640px}.hero-dashboard{width:100%}.project-panel{grid-template-columns:1fr}.project-actions{margin-top:18px}.project-media-stage,.media-view{min-height:370px}.media-view.is-gallery{height:370px;min-height:370px}.media-carousel-track{padding-bottom:29px}.media-view.is-gallery .media-frame{height:322px}.media-view:has(>.media-theme-selector) .media-frame{height:280px}.capability-grid{grid-template-columns:1fr}.capability-card,.capability-card>p{min-height:0}.technology-tabs{grid-template-columns:repeat(3,minmax(0,1fr));display:grid;overflow:visible}.technology-tab{min-width:0;padding-inline:6px}.experience-card{grid-template-columns:48px 1fr auto}.experience-tech{grid-column:2/-1}.experience-meta{grid-area:1/3}.education-grid{grid-template-columns:1fr}}@media(max-width:620px){:root{--radius-lg:17px}body{font-size:14px}.site-header,.section-shell,.section-block,footer{width:min(100% - 24px,var(--page))}.site-header{margin-top:7px;top:7px}.nav-shell{min-height:58px;padding-inline:14px}.brand{gap:8px;font-size:.82rem}.brand-mark{width:30px;height:30px}.control{height:32px}.icon-control{width:32px}.hero{margin-top:9px;padding:45px 22px 24px}.hero h1{font-size:clamp(2.25rem,12vw,3.15rem)}.hero-summary{font-size:.89rem}.hero-actions .button{flex:auto}.hero-dashboard{grid-template-columns:1fr;gap:9px}.mini-card{min-height:0;padding:17px}.section-block{padding-top:75px}.section-heading{text-align:left;margin-bottom:26px}.section-heading h2{font-size:1.8rem}.section-heading>p{font-size:.82rem}.project-explorer{padding:12px}.project-selector{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;display:grid;overflow:visible}.project-select{gap:7px;min-width:0;min-height:112px;padding:10px 5px}.project-select-icon{width:38px;height:38px}.project-select strong{overflow-wrap:anywhere;font-size:.7rem}.project-select small{font-size:.55rem}.project-panel{gap:16px}.project-info{padding:8px 3px 0}.project-title-row h3{font-size:1.15rem}.project-view-tabs{margin-top:16px}.project-summary{font-size:.78rem}.project-media-stage,.media-view{min-height:315px}.media-view.is-gallery{--carousel-card-ratio:.9;height:315px;min-height:315px}.media-view.is-gallery.is-android-gallery{--carousel-card-ratio:.47}.media-carousel-track{gap:10px;padding-block:15px 27px}.media-view.is-gallery .media-frame{border-radius:14px;height:282px;padding:7px 7px 9px}.media-view:has(>.media-theme-selector) .media-carousel-track{padding-block:12px 58px}.media-view:has(>.media-theme-selector) .media-frame{height:245px}.media-carousel-button{width:34px;height:34px}.media-carousel-previous{left:5px}.media-carousel-next{right:5px}.media-carousel-expand{width:29px;height:29px;bottom:5px;right:6px}.media-gallery-dialog{border-radius:17px;width:calc(100vw - 16px);max-height:calc(100vh - 16px)}.media-gallery-dialog-panel{max-height:calc(100vh - 16px)}.media-gallery-dialog-panel>header{padding:12px 13px}.media-gallery-dialog-stage{height:min(540px,100vh - 82px)}.media-gallery-dialog-track{--carousel-card-ratio:.92;gap:11px;padding-block:13px 37px}.media-gallery-dialog.is-android-gallery .media-gallery-dialog-track{--carousel-card-ratio:.72}.media-gallery-dialog-track .media-frame{padding:8px}.media-frame:first-child{top:42px;left:17px;right:17px}.media-placeholder{min-height:160px}.media-view .media-frame:first-child:has(+.media-frame){left:10px;right:55px}.media-view .media-frame+.media-frame{width:98px;top:96px;right:8px}.media-view .media-frame.media-android:first-child:has(+.media-frame){width:92px;left:17px}.media-view .media-frame.media-android:first-child+.media-frame{top:70px;left:81px;right:9px}.media-android .media-placeholder{min-height:235px}.capability-card{padding:22px}.process-grid{grid-template-columns:repeat(2,1fr);gap:10px}.process-card{min-height:230px}.technology-explorer{padding-inline:12px}.technology-panel{grid-template-columns:1fr;gap:9px}.technology-card{min-height:175px}.highlight-grid{grid-template-columns:1fr}.timeline-list{padding-left:30px}.timeline:before{left:7px}.timeline-node{left:-27px}.experience-card{grid-template-columns:40px 1fr;gap:11px;padding:14px}.company-mark{width:39px;height:39px}.experience-main{min-width:0}.experience-main p{-webkit-line-clamp:3}.experience-tech{grid-column:1/-1}.experience-meta{justify-content:space-between;justify-items:initial;grid-area:auto/1/auto/-1;display:flex}.education-card{grid-template-columns:48px 1fr;padding:15px}.education-icon{width:46px;height:46px}.education-card>strong{grid-column:2}.contact-section{gap:20px;width:calc(100% - 24px);padding:24px 18px}.contact-links{grid-template-columns:1fr}.contact-actions{grid-template-columns:1fr;display:grid}.contact-form-heading{gap:7px;display:grid}.contact-form-heading p{text-align:left}.contact-form-grid{grid-template-columns:1fr}.contact-form-wide{grid-column:auto}.contact-form-footer{flex-direction:column;align-items:stretch}.mini-card,.mini-card.is-hero-active,.mini-card:focus-visible{min-height:0;transform:none}}@media(max-width:340px){.brand .brand-copy{display:none}}@media(prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal{opacity:1;transform:none}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}:root{--sky-top: #f7f9fd;--sky-mid: #f4f7fc;--sky-bottom: #f7f9fd;--sky-glow-a: rgb(18 104 243 / 7%);--sky-glow-b: rgb(113 70 245 / 4.5%);--sky-edge: rgb(246 248 252 / 72%);--sky-vignette: rgb(246 248 252 / 58%);--hex-stroke-dim: rgb(66 113 184 / 9%);--hex-core: rgb(248 250 254 / 76%);--hex-energy: rgb(18 104 243 / 48%);--hex-energy-soft: rgb(53 170 226 / 18%)}:root[data-theme=dark]{--sky-top: #101522;--sky-mid: #111928;--sky-bottom: #101522;--sky-glow-a: rgb(23 118 219 / 13%);--sky-glow-b: rgb(103 67 220 / 9%);--sky-edge: rgb(16 21 34 / 73%);--sky-vignette: rgb(16 21 34 / 64%);--hex-stroke-dim: rgb(80 145 220 / 11%);--hex-core: rgb(18 26 41 / 76%);--hex-energy: rgb(54 142 237 / 44%);--hex-energy-soft: rgb(37 196 229 / 13%)}html{background:var(--canvas)}body{background:transparent}main,footer{position:relative;z-index:1}.bg-layer{position:fixed;inset:-12vh 0 -28vh;z-index:0;overflow:hidden;pointer-events:none}.graphene-sky{position:absolute;inset:0;background:radial-gradient(circle at 48% 10%,var(--sky-glow-a),transparent 38%),radial-gradient(circle at 82% 72%,var(--sky-glow-b),transparent 34%),linear-gradient(180deg,var(--sky-top),var(--sky-mid) 52%,var(--sky-bottom))}.hex-field{position:absolute;inset:-70px -90px;contain:layout paint style;transform:translateZ(0);will-change:transform}.hex-orbital{position:absolute;width:var(--hex-size);height:calc(var(--hex-size) * .866);clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);background:linear-gradient(135deg,var(--hex-stroke-dim),rgb(37 196 229 / 2.5%));opacity:.48;contain:paint;backface-visibility:hidden;transform:translateZ(0);transition:opacity .72s ease,background .72s ease,filter .72s ease}.hex-orbital:before{position:absolute;inset:1.5px;clip-path:inherit;background:radial-gradient(circle,var(--hex-energy-soft),transparent 58%),var(--hex-core);content:""}.hex-orbital:after{position:absolute;inset:0;clip-path:inherit;background:radial-gradient(circle,rgb(76 202 255 / 22%),transparent 47%),linear-gradient(145deg,transparent 28%,rgb(93 183 255 / 18%) 50%,transparent 72%);content:"";opacity:0;transition:opacity .64s ease}.hex-orbital.is-charged{background:linear-gradient(135deg,var(--hex-energy),rgb(78 127 232 / 24%));filter:drop-shadow(0 0 9px rgb(18 104 243 / 24%));opacity:.96}.hex-orbital.is-charged:after{opacity:.65}.hex-orbital.is-spark{background:linear-gradient(135deg,#30ace25c,#6381ff2e);opacity:.82}.hex-orbital.is-spark:after{opacity:.32}.hex-vignette{position:absolute;inset:0;background:linear-gradient(90deg,var(--sky-edge),transparent 18%,transparent 82%,var(--sky-edge)),radial-gradient(circle at center,transparent 30%,var(--sky-vignette) 100%)}.scroll-progress{position:fixed;top:0;left:0;z-index:150;width:100%;height:3px;background:linear-gradient(90deg,var(--blue),#28b8d4 52%,var(--violet));box-shadow:0 0 8px #1268f32e;transform:scaleX(0);transform-origin:left center;will-change:transform}@media(max-width:620px){.hex-field{opacity:.72}.hex-orbital{opacity:.36}}@media(prefers-reduced-motion:reduce){.hex-field{transform:none!important;will-change:auto}.hex-orbital{transition:none!important}.hex-orbital.is-charged,.hex-orbital.is-spark{filter:none;opacity:.48}.scroll-progress{transition:none}}.signal-surface{position:relative;overflow:hidden;background:radial-gradient(circle at 92% 4%,color-mix(in srgb,var(--accent, var(--blue)) 5%,transparent),transparent 36%),linear-gradient(155deg,color-mix(in srgb,var(--surface) 98%,white),var(--surface));box-shadow:var(--shadow-sm),inset 0 1px #ffffffd1,0 0 0 1px color-mix(in srgb,var(--accent, var(--blue)) 2%,transparent)}:root[data-theme=dark] .signal-surface{box-shadow:var(--shadow-sm),inset 0 1px #ffffff0d}.signal-surface:after{position:absolute;inset:0;border:1px solid transparent;border-radius:inherit;background:linear-gradient(135deg,color-mix(in srgb,white 32%,transparent),transparent 32%) border-box;content:"";mask:linear-gradient(#000 0 0) padding-box,linear-gradient(#000 0 0);mask-composite:exclude;opacity:.38;pointer-events:none}.card-scan,.card-sweep,.contact-sweep{position:absolute;top:-60%;left:-38%;z-index:3;width:34%;height:220%;background:linear-gradient(90deg,transparent,rgb(255 255 255 / 52%),transparent);opacity:0;pointer-events:none;transform:rotate(16deg) translate(-220%)}.mini-card.is-hero-active .card-scan{animation:surface-sweep .72s ease both;opacity:.52}.button{position:relative;overflow:hidden;isolation:isolate}.button:before{position:absolute;inset:-80% auto -80% -38%;z-index:-1;width:32%;background:linear-gradient(90deg,transparent,rgb(255 255 255 / 42%),transparent);content:"";opacity:0;transform:rotate(14deg) translate(-200%)}.button:hover:before{animation:button-sweep .66s ease both;opacity:.7}.button svg{transition:transform .19s cubic-bezier(.22,1,.36,1)}.button:hover svg{transform:translate(3px)}.button-primary{background:linear-gradient(135deg,#0d61ec,#1688ed 60%,#22a9cf);border-color:color-mix(in srgb,var(--blue) 78%,white);box-shadow:0 9px 24px #1268f336,inset 0 1px #ffffff47}.button-primary:hover{background:linear-gradient(135deg,#0758dc,#117ee2 60%,#1b9fc5)}.button-secondary{background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 96%,white),var(--surface-soft));box-shadow:var(--shadow-sm),inset 0 1px #ffffffbf}.project-repository-button.button-secondary{border-color:color-mix(in srgb,var(--accent) 64%,white);background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 58%,#102745),color-mix(in srgb,var(--accent) 72%,#071d38));color:#fff;box-shadow:0 9px 22px color-mix(in srgb,var(--accent) 24%,transparent),inset 0 1px #ffffff3d}.project-repository-button.button-secondary .social-glyph{color:currentColor}.project-repository-button.button-secondary:hover{border-color:color-mix(in srgb,var(--accent) 70%,white);background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 67%,#102745),color-mix(in srgb,var(--accent) 82%,#071d38));box-shadow:0 13px 29px color-mix(in srgb,var(--accent) 34%,transparent),inset 0 1px #ffffff52}.site-header{top:14px;border-color:color-mix(in srgb,var(--blue) 11%,var(--border));border-radius:999px;background:color-mix(in srgb,var(--surface) 82%,transparent);box-shadow:0 14px 38px #1b36681a,inset 0 1px #ffffffc2;transition:width .28s cubic-bezier(.22,1,.36,1),background .22s ease,border-color .22s ease,box-shadow .22s ease}:root[data-theme=dark] .site-header{background:color-mix(in srgb,var(--surface) 80%,transparent);box-shadow:0 18px 42px #00000042,inset 0 1px #ffffff0d}.nav-shell{min-height:66px;padding-inline:18px}.brand{gap:10px}.brand-copy{display:grid;line-height:1.15}.brand-copy strong{font-size:.82rem}.brand-copy small{margin-top:3px;color:var(--muted);font-size:.52rem;font-weight:650;letter-spacing:.04em}.brand-mark img{transition:filter .22s ease,transform .3s cubic-bezier(.22,1,.36,1)}.brand:hover .brand-mark img{filter:drop-shadow(0 0 5px rgb(18 104 243 / 35%));transform:scale(1.08)}.desktop-nav{position:relative;gap:5px;border:1px solid color-mix(in srgb,var(--border) 80%,transparent);border-radius:999px;background:color-mix(in srgb,var(--surface-soft) 72%,transparent);padding:4px}.desktop-nav a{z-index:2;border-radius:999px;padding:7px 14px;transition:color .19s ease}.desktop-nav a:after{display:none}.desktop-nav a.is-active{color:var(--blue)}.nav-active-indicator{position:absolute;top:4px;left:0;z-index:1;width:var(--nav-width, 0px);height:calc(100% - 8px);border:1px solid color-mix(in srgb,var(--blue) 24%,var(--border));border-radius:999px;background:radial-gradient(circle at 50% 0,rgb(18 104 243 / 13%),transparent 74%),var(--surface);box-shadow:0 5px 14px #1268f314,inset 0 1px #ffffffc7;opacity:0;transform:translate(var(--nav-x, 0px));transition:transform .33s cubic-bezier(.22,1,.36,1),width .33s cubic-bezier(.22,1,.36,1),opacity .18s ease}.nav-active-indicator.is-visible{opacity:1}.control{background:color-mix(in srgb,var(--surface) 88%,transparent);box-shadow:inset 0 1px #ffffffb8}.control:hover{transform:translateY(-1px)}.mobile-nav{border-radius:0 0 20px 20px;background:color-mix(in srgb,var(--surface) 91%,transparent);backdrop-filter:blur(18px)}.mobile-nav a{display:flex;align-items:center;justify-content:space-between}.eyebrow-pill{position:relative;overflow:hidden;padding-right:22px}.eyebrow-pill i{position:absolute;top:50%;right:9px;width:6px;height:6px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 4px #1268f31a;transform:translateY(-50%)}.js .reveal{opacity:0;filter:blur(6px);transform:translateY(18px) scale(.988);transition:opacity .62s cubic-bezier(.17,.84,.44,1) var(--reveal-delay, 0ms),transform .62s cubic-bezier(.17,.84,.44,1) var(--reveal-delay, 0ms),filter .62s cubic-bezier(.17,.84,.44,1) var(--reveal-delay, 0ms)}.js .reveal.is-visible{opacity:1;filter:blur(0);transform:none}.capability-card{overflow:hidden}.capability-accent-line,.highlight-accent-line,.education-accent-line,.technology-accent{position:absolute;top:0;left:18px;z-index:2;width:68px;height:3px;border-radius:0 0 5px 5px;background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--accent) 25%,transparent))}.js .capability-card.reveal{transform:translate(-34px) scale(.985)}.js .capability-card.reveal.is-visible{transform:none}.capability-card.is-visible .card-sweep{animation:surface-sweep .95s cubic-bezier(.17,.84,.44,1) calc(var(--reveal-delay, 0ms) + .28s) both;opacity:.62}.capability-card:hover{background:radial-gradient(circle at 84% 12%,color-mix(in srgb,var(--accent) 8%,transparent),transparent 38%),var(--surface)}.capability-icon{width:72px;height:72px}.capability-evidence{margin-top:20px;border-top:1px solid var(--border);padding-top:14px}.capability-evidence small{color:var(--accent);font-size:.57rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.capability-evidence p{margin:5px 0 0;color:var(--muted-strong);font-size:.63rem;line-height:1.55}.flow-track .flow-node{isolation:isolate}.process-icon.semantic-card-icon{width:66px;height:66px}.js .flow-node .flow-icon{opacity:0;transform:translateY(9px) scale(.72);transition:opacity .26s ease,transform .43s cubic-bezier(.22,1,.36,1),filter .3s ease}.js .flow-node .flow-title,.js .flow-node .flow-body{opacity:0;transform:translateY(7px);transition:opacity .3s ease,transform .36s cubic-bezier(.22,1,.36,1)}.flow-node.is-active{border-color:color-mix(in srgb,var(--accent) 48%,var(--border));box-shadow:0 14px 34px color-mix(in srgb,var(--accent) 13%,transparent),inset 0 1px #fffc}.flow-node.is-active .flow-icon{opacity:1;filter:drop-shadow(0 8px 15px color-mix(in srgb,var(--accent) 20%,transparent));transform:translateY(2px) scale(1.08)}.flow-node.is-settling .flow-icon,.flow-node.is-settled .flow-icon,.flow-node.is-readable .flow-title,.flow-node.is-readable .flow-body,.flow-node.is-settled .flow-title,.flow-node.is-settled .flow-body{opacity:1;transform:none}.flow-node.is-settled{border-color:color-mix(in srgb,var(--accent) 24%,var(--border))}.flow-link{display:block;opacity:0;transform:scaleX(.2);transform-origin:left center;transition:opacity .22s ease,transform .33s cubic-bezier(.22,1,.36,1),box-shadow .22s ease}.flow-link.is-visible{opacity:1;transform:scaleX(1);box-shadow:0 0 10px color-mix(in srgb,var(--accent) 12%,transparent)}[data-animated-tabs]{position:relative}.tab-active-indicator{position:absolute;left:0;z-index:0;width:var(--tab-width, 0px);border:1px solid color-mix(in srgb,var(--blue) 30%,var(--border));background:radial-gradient(circle at 50% 0,rgb(18 104 243 / 16%),transparent 72%),var(--blue-soft);box-shadow:0 5px 16px #1268f317,inset 0 1px #ffffffb8;transform:translate(var(--tab-x, 0px),var(--tab-y, 0px));transition:width .32s cubic-bezier(.22,1,.36,1),height .32s cubic-bezier(.22,1,.36,1),transform .32s cubic-bezier(.22,1,.36,1),background .22s ease;pointer-events:none}.project-view-tabs .tab-active-indicator{top:4px;bottom:4px;border-radius:8px}.project-view-tab{z-index:1}.project-view-tab:after{display:none}.technology-tabs{padding:6px;gap:5px}.technology-tabs .tab-active-indicator{top:0;height:var(--tab-height, 0px);border-radius:10px}.technology-tab{z-index:1;border-radius:10px}.technology-tab:after{display:none}.technology-tab.active{background:transparent}.technology-panel{display:flex;flex-wrap:wrap;justify-content:center}.technology-panel.is-entering{opacity:0;transform:translateY(9px) scale(.992)}.technology-panel.is-active{animation:panel-enter .32s cubic-bezier(.22,1,.36,1) both}.technology-panel.is-exiting{opacity:0;transform:translateY(-5px) scale(.994);transition:opacity 145ms ease,transform 145ms ease}.technology-card{width:min(100%,174px);flex:1 1 150px;background:radial-gradient(circle at 88% 3%,rgb(18 104 243 / 5%),transparent 36%),var(--surface)}.technology-card:hover{border-color:var(--blue-border);box-shadow:0 16px 34px #1e417e1a,inset 0 1px #fffc;transform:translateY(-4px)}.technology-accent{left:13px;width:42px;background:linear-gradient(90deg,var(--blue),rgb(34 174 211 / 38%))}.technology-mark{padding:5px;background:color-mix(in srgb,var(--blue-soft) 72%,transparent)}.tech-logo{display:inline-flex;width:var(--logo-size);height:var(--logo-size);align-items:center;justify-content:center;color:var(--text-strong);font-size:.66rem;font-weight:900}.tech-logo svg,.tech-logo img{width:100%;height:100%;object-fit:contain}.project-explorer{--project-accent: var(--blue);transition:border-color .26s ease,box-shadow .26s ease}.project-selector{position:relative}.project-switch-indicator{position:absolute;top:0;left:0;z-index:0;width:var(--project-width, 100%);height:var(--project-height, 90px);border:1px solid color-mix(in srgb,var(--project-accent) 64%,var(--border));border-radius:13px;background:radial-gradient(circle at 18% 0,color-mix(in srgb,var(--project-accent) 14%,transparent),transparent 72%),var(--surface-soft);box-shadow:0 8px 22px color-mix(in srgb,var(--project-accent) 9%,transparent),inset 0 1px #ffffffc2;transform:translate(var(--project-x, 0),var(--project-y, 0));transition:transform .36s cubic-bezier(.22,1,.36,1),width .36s cubic-bezier(.22,1,.36,1),height .36s cubic-bezier(.22,1,.36,1),border-color .26s ease,background .26s ease}.project-select{position:relative;z-index:1;border-color:transparent;background:transparent;box-shadow:none}.project-select.active{border-color:transparent;background:transparent;box-shadow:none}.project-active-dot{position:absolute;top:12px;right:12px;width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 0 var(--accent-soft);opacity:0;transition:opacity .18s ease}.project-select.active .project-active-dot{opacity:1;animation:active-dot 2.4s ease-in-out infinite}.project-panel.is-entering{opacity:0;transform:translate(10px)}.project-panel.is-active{animation:project-panel-enter .33s cubic-bezier(.22,1,.36,1) both}.project-panel.is-exiting{opacity:0;transform:translate(-8px);transition:opacity 145ms ease,transform 145ms ease}.project-sequence-active .project-reveal-item{animation:project-item-enter .43s cubic-bezier(.22,1,.36,1) var(--project-delay) both}.media-view.is-active .media-sequence-1{animation:media-primary-enter .52s cubic-bezier(.22,1,.36,1) .1s both}.media-view.is-active .media-sequence-2{animation:media-secondary-enter .52s cubic-bezier(.22,1,.36,1) .21s both}.media-view.is-gallery.is-active .media-frame{opacity:1;animation:none;transform:none}.media-view.is-entering .media-frame{opacity:0}.media-frame{transform-origin:center;transition:filter .24s ease,transform .26s cubic-bezier(.22,1,.36,1)}.project-media-stage:hover .media-frame:first-child{filter:drop-shadow(0 22px 28px rgb(25 43 78 / 17%));transform:perspective(900px) rotateX(.5deg) rotateY(-.65deg) translateY(-2px)}.project-media-stage:hover .media-frame+.media-frame{transform:perspective(900px) rotateX(-.4deg) rotateY(.7deg) translateY(-3px)}.media-glow{position:absolute;right:10%;bottom:-25%;width:55%;height:52%;border-radius:50%;background:color-mix(in srgb,var(--accent) 13%,transparent);filter:blur(42px);opacity:.5;pointer-events:none;transition:transform .3s ease}.project-media-stage:hover .media-glow{transform:scale(1.08) translateY(-4px)}@media(min-width:621px){.hero-dashboard{position:relative;display:block;min-height:360px;height:360px}.hero-dashboard .mini-card{position:absolute;width:calc(50% - 7px);height:calc(50% - 7px);min-height:0;transition:left .68s cubic-bezier(.16,1,.3,1),top .68s cubic-bezier(.16,1,.3,1),width .68s cubic-bezier(.16,1,.3,1),height .68s cubic-bezier(.16,1,.3,1),padding .42s ease,border-color .26s ease,box-shadow .42s ease;will-change:left,top,width,height}.hero-dashboard .mini-card:nth-child(1){top:0;left:0}.hero-dashboard .mini-card:nth-child(2){top:0;left:calc(50% + 7px)}.hero-dashboard .mini-card:nth-child(3){top:calc(50% + 7px);left:0}.hero-dashboard .mini-card:nth-child(4){top:calc(50% + 7px);left:calc(50% + 7px)}.hero-dashboard.has-hero-active .mini-card.is-hero-active{top:0;left:0;z-index:3;width:100%;height:276px;min-height:0;align-items:center;justify-content:center;padding:24px 28px;text-align:center;transform:none}.hero-dashboard.has-hero-active .mini-card:not(.is-hero-active){top:288px;width:calc(33.333% - 6.667px);height:72px;min-height:0;align-items:center;justify-content:center;padding:10px;opacity:1;transform:none}.hero-dashboard.has-hero-active .mini-card[data-hero-stack="0"]{left:0}.hero-dashboard.has-hero-active .mini-card[data-hero-stack="1"]{left:calc(33.333% + 3.333px)}.hero-dashboard.has-hero-active .mini-card[data-hero-stack="2"]{left:calc(66.666% + 6.666px)}.hero-dashboard.has-hero-active .mini-card:not(.is-hero-active) h2{margin:0;font-size:.72rem}.hero-dashboard.has-hero-active .mini-card:not(.is-hero-active) .mini-card-body{opacity:0;visibility:hidden;transform:translateY(5px) scale(.96);transition:opacity .16s ease,transform .24s ease,visibility 0s linear .18s}}.highlight-card{min-height:292px;align-items:center;padding:24px 18px 22px;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.highlight-card:hover{border-color:var(--accent-border);box-shadow:0 18px 38px color-mix(in srgb,var(--accent) 10%,transparent);transform:translateY(-4px)}.highlight-icon{width:64px;height:64px;margin-top:5px}.js .reveal-icon{opacity:0;transform:translateY(8px) scale(.9)}.is-visible .reveal-icon,.flow-node.is-active .reveal-icon,.flow-node.is-settled .reveal-icon{opacity:1;transform:none;transition:opacity .43s ease calc(var(--reveal-delay, 0ms) + .12s),transform .52s cubic-bezier(.22,1,.36,1) calc(var(--reveal-delay, 0ms) + .12s)}.highlight-card>div{min-width:0}.highlight-content{display:flex;width:100%;flex:1;align-items:center;flex-direction:column}.highlight-card p{min-height:48px;font-size:.69rem}.highlight-card ul{display:flex;width:100%;flex-wrap:wrap;justify-content:center;gap:7px;margin:16px 0 0;padding:0;list-style:none}.highlight-card li{border:1px solid var(--border);border-radius:8px;background:var(--surface-soft);color:var(--muted-strong);padding:6px 9px;font-size:.65rem;font-weight:680;line-height:1.35}.highlight-projects{display:flex;width:100%;align-items:center;justify-content:flex-end;flex-direction:column;gap:3px;margin-top:auto;padding-top:17px;color:var(--muted);font-size:.68rem;font-weight:680;line-height:1.5;text-align:center}.highlight-projects strong{color:var(--accent);font-size:.72rem;font-weight:800}.timeline:before{opacity:.18}.timeline-progress{position:absolute;top:13px;bottom:13px;left:20px;width:2px;border-radius:2px;background:linear-gradient(var(--blue),var(--mint) 45%,#96a4ba);box-shadow:0 0 9px #1268f31f;transform:scaleY(0);transform-origin:top}.experience-section.is-timeline-visible .timeline-progress{transform:scaleY(1);transition:transform 1.25s cubic-bezier(.22,1,.36,1)}.js .timeline-entry{opacity:0;transform:translate(18px)}.js .timeline-entry.is-visible{opacity:1;transform:none;transition:opacity .48s ease var(--timeline-delay),transform .54s cubic-bezier(.22,1,.36,1) var(--timeline-delay)}.timeline-node{opacity:.25;transform:scale(.65);transition:opacity .26s ease var(--timeline-delay),transform .42s cubic-bezier(.22,1,.36,1) var(--timeline-delay),box-shadow .3s ease var(--timeline-delay)}.timeline-entry.is-visible .timeline-node{opacity:1;transform:scale(1)}.timeline-node i{position:absolute;inset:2px;border-radius:50%;background:var(--accent);opacity:0;transform:scale(.2)}.timeline-entry.is-visible .timeline-node i{animation:timeline-node-pop .48s cubic-bezier(.22,1,.36,1) calc(var(--timeline-delay) + 80ms) both}.experience-card,.education-card{transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.education-card:hover{border-color:var(--blue-border);box-shadow:var(--shadow-md);transform:translateY(-4px)}.contact-section{position:relative;overflow:hidden}.contact-section.is-visible .contact-sweep{animation:contact-sweep 1.1s cubic-bezier(.17,.84,.44,1) .22s both;opacity:.4}@keyframes button-sweep{to{transform:rotate(14deg) translate(520%)}}@keyframes surface-sweep{to{transform:rotate(16deg) translate(520%)}}@keyframes contact-sweep{to{transform:rotate(16deg) translate(690%)}}@keyframes panel-enter{0%{opacity:0;transform:translateY(10px) scale(.99)}to{opacity:1;transform:none}}@keyframes project-panel-enter{0%{opacity:0;transform:translate(11px)}to{opacity:1;transform:none}}@keyframes project-item-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes media-primary-enter{0%{opacity:0;transform:translateY(12px) scale(.975)}to{opacity:1;transform:none}}@keyframes media-secondary-enter{0%{opacity:0;transform:translate(8px,10px) scale(.96)}to{opacity:1;transform:none}}@keyframes active-dot{50%{box-shadow:0 0 0 6px color-mix(in srgb,var(--accent) 0%,transparent);transform:scale(1.12)}}@keyframes timeline-node-pop{70%{opacity:1;transform:scale(1.45)}to{opacity:1;transform:scale(1)}}@media(max-width:1040px){.technology-card{width:min(100%,210px);flex-basis:165px}}@media(max-width:820px){.site-header{border-radius:19px}.brand-copy small{display:none}.project-switch-indicator{transform:translate(var(--project-x, 0))}.highlight-card{min-height:270px}}@media(max-width:620px){.nav-shell{padding-inline:12px}.brand-copy strong{font-size:.76rem}.capability-icon{width:88px}.capability-card{min-height:0}.technology-card{width:100%;max-width:none;min-height:112px;flex-basis:100%}.timeline-progress{left:7px}.js .timeline-entry{transform:translate(8px)}.project-selector{padding-bottom:2px}.project-switch-indicator{transform:translate(var(--project-x, 0))}.hero-dashboard{position:relative;display:block;min-height:520px;height:520px}.hero-dashboard .mini-card{position:absolute;left:0;width:100%;height:121px;min-height:0;transition:top .68s cubic-bezier(.16,1,.3,1),height .68s cubic-bezier(.16,1,.3,1),padding .42s ease,border-color .26s ease,box-shadow .42s ease}.hero-dashboard .mini-card:nth-child(1){top:0}.hero-dashboard .mini-card:nth-child(2){top:133px}.hero-dashboard .mini-card:nth-child(3){top:266px}.hero-dashboard .mini-card:nth-child(4){top:399px}.hero-dashboard.has-hero-active .mini-card.is-hero-active{top:0;z-index:3;height:330px;align-items:center;justify-content:center;padding:18px;text-align:center}.hero-dashboard.has-hero-active .mini-card:not(.is-hero-active){height:54px;align-items:center;justify-content:center;padding:8px}.hero-dashboard.has-hero-active .mini-card[data-hero-stack="0"]{top:342px}.hero-dashboard.has-hero-active .mini-card[data-hero-stack="1"]{top:404px}.hero-dashboard.has-hero-active .mini-card[data-hero-stack="2"]{top:466px}.hero-dashboard.has-hero-active .mini-card:not(.is-hero-active) h2{margin:0}.hero-dashboard.has-hero-active .mini-card:not(.is-hero-active) .mini-card-body{opacity:0;visibility:hidden;transform:translateY(5px) scale(.96);transition:opacity .16s ease,transform .24s ease,visibility 0s linear .18s}.hero-dashboard.has-hero-active .mini-card.is-hero-active .mini-card-points{max-height:120px;grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.reveal,.timeline-entry,.flow-icon,.flow-title,.flow-body,.flow-link,.project-panel,.media-frame,.technology-panel{opacity:1!important;filter:none!important;transform:none!important;transition:none!important;animation:none!important}.flow-node{border-color:var(--border)!important}.flow-link{opacity:1!important;transform:scaleX(1)!important}.timeline-progress{transform:scaleY(1)!important;transition:none!important}.timeline-node{opacity:1;transform:none;transition:none}.timeline-node i{opacity:1;transform:none;animation:none!important}.card-scan,.card-sweep,.contact-sweep{display:none!important}.project-select.active .project-active-dot{animation:none;box-shadow:none}.tab-active-indicator,.nav-active-indicator,.project-switch-indicator{transition:none!important}.button:hover svg{transform:none}}
