.animated-badge.svelte-ypi1nz{text-shadow:1px 1px white;margin-left:.5rem;border-radius:9999px;padding:.25rem .75rem;font-size:.75rem;line-height:1rem;text-transform:uppercase;--tw-text-opacity: 1;color:rgb(5 150 105 / var(--tw-text-opacity))}:is(.dark.svelte-ypi1nz .animated-badge:where(.svelte-ypi1nz)){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.animated-badge.svelte-ypi1nz{border-width:1px;--tw-border-opacity: 1;border-color:rgb(110 231 183 / var(--tw-border-opacity))}:is(.dark.svelte-ypi1nz .animated-badge:where(.svelte-ypi1nz)){--tw-border-opacity: 1;border-color:rgb(5 150 105 / var(--tw-border-opacity))}.animated-badge.svelte-ypi1nz{position:relative;background:linear-gradient(90deg,#10b9811a,#05966933,#10b9811a);background-size:200% 100%;animation:svelte-ypi1nz-gradient-slide 3s linear infinite}.animated-badge.svelte-ypi1nz:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:9999px;box-shadow:0 0 10px #064e3b33;animation:svelte-ypi1nz-glow 2s ease-in-out infinite alternate}.animated-badge.subtle.svelte-ypi1nz{--tw-text-opacity: 1;color:rgb(71 85 105 / var(--tw-text-opacity))}:is(.dark.svelte-ypi1nz .animated-badge.subtle:where(.svelte-ypi1nz)){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.animated-badge.subtle.svelte-ypi1nz{border-color:#94a3b880}:is(.dark.svelte-ypi1nz .animated-badge.subtle:where(.svelte-ypi1nz)){border-color:#94a3b899}.animated-badge.subtle.svelte-ypi1nz{background:linear-gradient(90deg,#94a3b814,#64748b2e,#94a3b814);background-size:200% 100%;animation:svelte-ypi1nz-gradient-slide 5s linear infinite}.animated-badge.subtle.svelte-ypi1nz:after{box-shadow:0 0 8px #47556926;animation:svelte-ypi1nz-glow-subtle 3s ease-in-out infinite alternate}@keyframes svelte-ypi1nz-glow-subtle{0%{box-shadow:0 0 4px #4755691a}to{box-shadow:0 0 10px #47556933}}@keyframes svelte-ypi1nz-gradient-slide{0%{background-position:100% 0%}to{background-position:-100% 0%}}@keyframes svelte-ypi1nz-glow{0%{box-shadow:0 0 5px #064e3b26}to{box-shadow:0 0 15px #064e3b40}}html.dark .animated-badge.svelte-ypi1nz{text-shadow:1px 1px black;background:linear-gradient(45deg,#064e3b4d,#05966966,#064e3b4d);background-size:200% 100%;animation:svelte-ypi1nz-gradient-slide 3s linear infinite}html.dark .animated-badge.svelte-ypi1nz:after{box-shadow:0 0 10px #34d3994d;animation:svelte-ypi1nz-glow-dark 1.5s ease-in-out infinite alternate}@keyframes svelte-ypi1nz-glow-dark{0%{box-shadow:0 0 5px #34d39933}to{box-shadow:0 0 15px #34d39966}}html.dark .animated-badge.subtle.svelte-ypi1nz{text-shadow:0 1px 2px rgb(0 0 0 / .6);border-color:#cbd5e1b3;--tw-text-opacity: 1;color:rgb(241 245 249 / var(--tw-text-opacity));background:linear-gradient(45deg,#475569d9,#64748be6,#475569d9);background-size:200% 100%;animation:svelte-ypi1nz-gradient-slide 5s linear infinite}html.dark .animated-badge.subtle.svelte-ypi1nz:after{box-shadow:0 0 8px #94a3b833;animation:svelte-ypi1nz-glow-subtle-dark 3s ease-in-out infinite alternate}@keyframes svelte-ypi1nz-glow-subtle-dark{0%{box-shadow:0 0 4px #94a3b826}to{box-shadow:0 0 12px #94a3b84d}}@property --mask-mid{syntax: "<percentage>"; inherits: false; initial-value: 25%;}@property --mask-end{syntax: "<percentage>"; inherits: false; initial-value: 70%;}.backdrop.svelte-u8zk10{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;border-radius:inherit;pointer-events:none;z-index:0;color:#0f172a;opacity:.07;--mask-mid: 28%;--mask-end: 74%;transition:opacity .5s cubic-bezier(.22,1,.36,1),--mask-mid .5s cubic-bezier(.22,1,.36,1),--mask-end .5s cubic-bezier(.22,1,.36,1);-webkit-mask-image:linear-gradient(315deg,rgba(0,0,0,1) 0%,rgba(0,0,0,.7) var(--mask-mid),rgba(0,0,0,0) var(--mask-end));mask-image:linear-gradient(315deg,rgba(0,0,0,1) 0%,rgba(0,0,0,.7) var(--mask-mid),rgba(0,0,0,0) var(--mask-end))}html.dark .backdrop.svelte-u8zk10{color:#f1f5f9;opacity:.1}.tech-card:hover .backdrop.svelte-u8zk10,.tech-card:focus-within .backdrop.svelte-u8zk10,.tech-hero:hover .backdrop.svelte-u8zk10,.tech-hero:focus-within .backdrop.svelte-u8zk10{opacity:.13;--mask-mid: 36%;--mask-end: 88%}html.dark .tech-card:hover .backdrop.svelte-u8zk10,html.dark .tech-card:focus-within .backdrop.svelte-u8zk10,html.dark .tech-hero:hover .backdrop.svelte-u8zk10,html.dark .tech-hero:focus-within .backdrop.svelte-u8zk10{opacity:.16}.lattice.svelte-u8zk10{position:absolute;top:-55%;left:-55%;right:-55%;bottom:-55%;display:flex;flex-direction:column;justify-content:center;gap:1.75rem;transform:rotate(-14deg) scale(var(--lattice-scale, 1));transform-origin:50% 50%;transition:transform .7s cubic-bezier(.22,1,.36,1)}.backdrop.svelte-u8zk10.parallax-scrolling .lattice:where(.svelte-u8zk10),.tech-card:hover .lattice.svelte-u8zk10,.tech-card:focus-within .lattice.svelte-u8zk10,.tech-hero:hover .lattice.svelte-u8zk10,.tech-hero:focus-within .lattice.svelte-u8zk10{will-change:transform,translate}.tech-card:hover .lattice.svelte-u8zk10,.tech-card:focus-within .lattice.svelte-u8zk10,.tech-hero:hover .lattice.svelte-u8zk10,.tech-hero:focus-within .lattice.svelte-u8zk10{--lattice-scale: 1.025}.lattice.svelte-u8zk10{translate:0 calc(var(--parallax, 0) * 9%)}.row.svelte-u8zk10{display:flex;gap:2.25rem;justify-content:center}.cell.svelte-u8zk10{display:inline-flex;flex:0 0 auto}.cell-inner.svelte-u8zk10{display:inline-flex}@media (prefers-reduced-motion: reduce){.backdrop.svelte-u8zk10,.lattice.svelte-u8zk10{transition:opacity .2s ease}.lattice.svelte-u8zk10{transform:rotate(-14deg);animation:none}}.details-dialog.svelte-9ppwoq{padding:0;border:0;background:transparent;max-width:100vw;max-height:100vh;width:100%;height:100%;margin:0;top:0;right:0;bottom:0;left:0;overflow:hidden;display:grid;place-items:center;color:inherit}.details-dialog.svelte-9ppwoq:not([open]){display:none}.details-dialog.svelte-9ppwoq::backdrop{background:#0f172a73;backdrop-filter:blur(8px) saturate(120%);-webkit-backdrop-filter:blur(8px) saturate(120%);opacity:0;animation:svelte-9ppwoq-backdrop-in .32s cubic-bezier(.22,1,.36,1) forwards}.details-dialog.is-closing.svelte-9ppwoq::backdrop{animation:svelte-9ppwoq-backdrop-out .22s cubic-bezier(.4,0,.6,1) forwards}.glass-card.svelte-9ppwoq{position:relative;margin:1rem;border-radius:18px;overflow:hidden;background:#ffffffb8;backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%);border:1px solid rgba(255,255,255,.6);box-shadow:inset 0 1px #ffffffb3,0 20px 50px -20px #0f172a40;color:#0f172a;opacity:0;transform:translateY(14px) scale(.97);filter:blur(6px);animation:svelte-9ppwoq-panel-in .42s cubic-bezier(.16,1,.3,1) 40ms forwards;will-change:transform,opacity,filter}@media (max-width: 640px){.glass-card.svelte-9ppwoq{margin:1rem;max-height:calc(100dvh - 2rem)}}.dark .glass-card.svelte-9ppwoq{background:#0f141ea6;border-color:#ffffff14;box-shadow:inset 0 1px #ffffff0f,0 20px 50px -20px #00000080;color:#f1f5f9}.details-dialog.is-closing.svelte-9ppwoq .glass-card:where(.svelte-9ppwoq){animation:svelte-9ppwoq-panel-out .22s cubic-bezier(.4,0,.6,1) forwards}.stagger.svelte-9ppwoq{opacity:0;transform:translateY(8px);animation:svelte-9ppwoq-stagger-in .48s cubic-bezier(.16,1,.3,1) forwards;animation-delay:calc(var(--d, 0ms) + .12s)}.details-dialog.is-closing.svelte-9ppwoq .stagger:where(.svelte-9ppwoq){animation:none;opacity:1;transform:none}.modal-header.svelte-9ppwoq{display:flex;align-items:flex-start;gap:1rem;padding:1.75rem 1.75rem 1.25rem}@media (min-width: 640px){.modal-header.svelte-9ppwoq{padding:2rem 2.25rem 1.5rem}}.eyebrow.svelte-9ppwoq{font-size:.75rem;font-weight:500;letter-spacing:.01em;color:#64748b;margin-bottom:.4rem}.dark .eyebrow.svelte-9ppwoq{color:#94a3b8}.modal-title.svelte-9ppwoq{font-size:1.5rem;line-height:1.2;font-weight:600;letter-spacing:-.02em;color:#0f172a}.dark .modal-title.svelte-9ppwoq{color:#f8fafc}@media (min-width: 640px){.modal-title.svelte-9ppwoq{font-size:1.75rem}}.modal-meta.svelte-9ppwoq{margin-top:.5rem;font-size:.8125rem;color:#64748b}.dark .modal-meta.svelte-9ppwoq{color:#94a3b8}.close-btn.svelte-9ppwoq{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:999px;color:#475569;background:transparent;border:1px solid rgba(15,23,42,.1);transition:background .22s cubic-bezier(.22,1,.36,1),color .22s cubic-bezier(.22,1,.36,1),border-color .22s cubic-bezier(.22,1,.36,1),transform .32s cubic-bezier(.34,1.56,.64,1),box-shadow .22s}.close-btn.svelte-9ppwoq svg{transition:transform .32s cubic-bezier(.34,1.56,.64,1)}.close-btn.svelte-9ppwoq:hover{background:#0f172a0f;color:#0f172a;border-color:#0f172a33;transform:scale(1.06)}.close-btn.svelte-9ppwoq:hover svg{transform:rotate(90deg)}.close-btn.svelte-9ppwoq:active{transform:scale(.94)}.close-btn.svelte-9ppwoq:focus-visible{outline:none;box-shadow:0 0 0 3px #0f172a2e}.dark .close-btn.svelte-9ppwoq{color:#94a3b8;border-color:#ffffff1f}.dark .close-btn.svelte-9ppwoq:hover{background:#ffffff0f;color:#f1f5f9;border-color:#ffffff38}.dark .close-btn.svelte-9ppwoq:focus-visible{box-shadow:0 0 0 3px #ffffff38}.modal-body.svelte-9ppwoq{overflow-y:auto;padding:0 1.75rem 1.75rem;display:flex;flex-direction:column;gap:1.75rem}@media (min-width: 640px){.modal-body.svelte-9ppwoq{padding:0 2.25rem 2rem}}.hero-frame.svelte-9ppwoq{border-radius:10px;overflow:hidden;border:1px solid rgba(15,23,42,.08)}.dark .hero-frame.svelte-9ppwoq{border-color:#ffffff14}.hero-frame.svelte-9ppwoq img:where(.svelte-9ppwoq){display:block;width:100%;height:auto;-o-object-fit:cover;object-fit:cover}.media-grid.svelte-9ppwoq{display:grid;grid-template-columns:repeat(1,1fr);gap:.5rem}@media (min-width: 640px){.media-grid.svelte-9ppwoq{grid-template-columns:repeat(2,1fr)}}.media-tile.svelte-9ppwoq{border-radius:8px;overflow:hidden;border:1px solid rgba(15,23,42,.08)}.dark .media-tile.svelte-9ppwoq{border-color:#ffffff14}.media-tile.svelte-9ppwoq img:where(.svelte-9ppwoq){display:block;width:100%;height:auto;-o-object-fit:cover;object-fit:cover}.section-label.svelte-9ppwoq{font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#64748b;margin-bottom:.9rem}.dark .section-label.svelte-9ppwoq{color:#94a3b8}.description-text.svelte-9ppwoq{font-size:.9375rem;line-height:1.65;color:#334155;white-space:pre-line}.dark .description-text.svelte-9ppwoq{color:#cbd5e1}.stack-groups.svelte-9ppwoq{display:flex;flex-direction:column;gap:.75rem}.stack-row.svelte-9ppwoq{display:grid;grid-template-columns:96px 1fr;gap:.75rem;align-items:start}@media (max-width: 540px){.stack-row.svelte-9ppwoq{grid-template-columns:1fr;gap:.4rem}}.stack-cat.svelte-9ppwoq{padding-top:.35rem;font-size:.75rem;color:#64748b}.dark .stack-cat.svelte-9ppwoq{color:#94a3b8}.stack-chips.svelte-9ppwoq{display:flex;flex-wrap:wrap;gap:.35rem}.chip.svelte-9ppwoq{display:inline-flex;align-items:center;justify-content:center;gap:.3rem;padding:.25rem .6rem;border-radius:999px;font-size:.75rem;font-weight:500;color:#334155;background:#0f172a0a;border:1px solid rgba(15,23,42,.08);transition:background .22s cubic-bezier(.22,1,.36,1),border-color .22s cubic-bezier(.22,1,.36,1),color .22s cubic-bezier(.22,1,.36,1),box-shadow .2s}.chip-text.svelte-9ppwoq{display:inline-block;transform:translate(.55em);transition:transform .28s cubic-bezier(.22,1,.36,1)}.chip.svelte-9ppwoq:hover .chip-text:where(.svelte-9ppwoq){transform:translate(0)}.chip.svelte-9ppwoq:after{content:"→";display:inline-block;width:.7em;font-size:.7rem;line-height:1;opacity:0;transform:translate(-3px);transition:opacity .2s ease,transform .28s cubic-bezier(.22,1,.36,1)}.chip.svelte-9ppwoq:hover{background:#0f172a12;border-color:#0f172a2e;color:#0f172a}.chip.svelte-9ppwoq:hover:after{opacity:1;transform:translate(0)}.chip.svelte-9ppwoq:focus-visible{outline:none;box-shadow:0 0 0 3px #0f172a2e;border-color:#0f172a40}.dark .chip.svelte-9ppwoq:focus-visible{box-shadow:0 0 0 3px #ffffff38;border-color:#ffffff40}.dark .chip.svelte-9ppwoq{color:#cbd5e1;background:#ffffff0a;border-color:#ffffff14}.dark .chip.svelte-9ppwoq:hover{background:#ffffff17;border-color:#fff3;color:#f1f5f9}.modal-footer.svelte-9ppwoq{display:flex;flex-direction:column;align-items:stretch;gap:.5rem;padding:1rem 1.75rem;border-top:1px solid rgba(15,23,42,.06)}@media (min-width: 640px){.modal-footer.svelte-9ppwoq{flex-direction:row;align-items:center;justify-content:flex-end;gap:1.5rem;padding:1rem 2.25rem}}.dark .modal-footer.svelte-9ppwoq{border-top-color:#ffffff0f}.link-out.svelte-9ppwoq{position:relative;display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .1rem;font-size:.8125rem;font-weight:500;color:#475569;border-radius:4px;transition:color .2s ease}.link-out.svelte-9ppwoq:hover,.link-out-primary.svelte-9ppwoq{color:#0f172a}.link-out-primary.svelte-9ppwoq:after{content:"";position:absolute;left:.1rem;right:1.4rem;bottom:.2rem;height:1px;background:currentColor;transform-origin:left center;transform:scaleX(0);transition:transform .36s cubic-bezier(.22,1,.36,1)}.link-out-primary.svelte-9ppwoq:hover:after{transform:scaleX(1)}.link-out.svelte-9ppwoq:focus-visible{outline:none;box-shadow:0 0 0 3px #0f172a2e}.arrow-wrap.svelte-9ppwoq{display:inline-flex;overflow:hidden;width:13px;height:13px;position:relative}.arrow-wrap.svelte-9ppwoq svg{transition:transform .36s cubic-bezier(.22,1,.36,1)}.link-out.svelte-9ppwoq:hover .arrow-wrap:where(.svelte-9ppwoq) svg{transform:translate(2px,-2px)}.dark .link-out.svelte-9ppwoq{color:#94a3b8}.dark .link-out.svelte-9ppwoq:hover,.dark .link-out-primary.svelte-9ppwoq{color:#f1f5f9}.dark .link-out.svelte-9ppwoq:focus-visible{box-shadow:0 0 0 3px #ffffff38}@keyframes svelte-9ppwoq-backdrop-in{to{opacity:1}}@keyframes svelte-9ppwoq-backdrop-out{0%{opacity:1}to{opacity:0}}@keyframes svelte-9ppwoq-panel-in{to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}@keyframes svelte-9ppwoq-panel-out{0%{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}to{opacity:0;transform:translateY(6px) scale(.985);filter:blur(4px)}}@keyframes svelte-9ppwoq-stagger-in{to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.details-dialog.svelte-9ppwoq::backdrop,.glass-card.svelte-9ppwoq,.close-btn.svelte-9ppwoq,.close-btn.svelte-9ppwoq svg,.stagger.svelte-9ppwoq,.link-out.svelte-9ppwoq,.link-out-primary.svelte-9ppwoq:after,.arrow-wrap.svelte-9ppwoq svg,.chip.svelte-9ppwoq,.chip.svelte-9ppwoq:after,.chip-text.svelte-9ppwoq{animation:none!important;transition:none!important;opacity:1;transform:none;filter:none}}@property --bg-angle{inherits: false; initial-value: 0deg; syntax: "<angle>";}@keyframes svelte-1s7gt30-spin-border{to{--bg-angle: 360deg}}.card-heading.svelte-1s7gt30{font-size:clamp(1.05rem,.95rem + .45vw,1.375rem);line-height:1.2}@media (min-width: 640px) and (hover: hover){.details-btn-wrap.svelte-1s7gt30{opacity:0;transform:translateY(2px);transition:opacity .22s cubic-bezier(.22,1,.36,1),transform .22s cubic-bezier(.22,1,.36,1)}.tech-card.svelte-1s7gt30:hover .details-btn-wrap:where(.svelte-1s7gt30),.tech-card.svelte-1s7gt30:focus-within .details-btn-wrap:where(.svelte-1s7gt30){opacity:1;transform:translateY(0)}}.details-btn__label.svelte-1s7gt30{position:relative}.details-btn__label.svelte-1s7gt30:after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left center;transition:transform .32s cubic-bezier(.22,1,.36,1)}.details-btn.svelte-1s7gt30:hover .details-btn__label:where(.svelte-1s7gt30):after,.details-btn.svelte-1s7gt30:focus-visible .details-btn__label:where(.svelte-1s7gt30):after{transform:scaleX(1)}.details-btn.svelte-1s7gt30 .details-btn__arrow{transition:transform .28s cubic-bezier(.22,1,.36,1)}.details-btn.svelte-1s7gt30:hover .details-btn__arrow,.details-btn.svelte-1s7gt30:focus-visible .details-btn__arrow{transform:translate(2px,-2px)}@media (prefers-reduced-motion: reduce){.details-btn__label.svelte-1s7gt30:after,.details-btn.svelte-1s7gt30 .details-btn__arrow{transition:none}.details-btn-wrap.svelte-1s7gt30{transition:opacity .22s ease;transform:none}}.tech-card.svelte-1s7gt30{isolation:isolate;transition:color .3s ease,background-color .3s ease,transform .7s cubic-bezier(.22,1,.36,1),box-shadow .7s cubic-bezier(.22,1,.36,1);content-visibility:auto;contain-intrinsic-size:auto 320px}.tech-card.active-border.svelte-1s7gt30{content-visibility:visible;contain-intrinsic-size:none}@media (hover: hover) and (pointer: fine){.tech-card.svelte-1s7gt30{animation:svelte-1s7gt30-card-breathe 9s ease-in-out infinite}}@keyframes svelte-1s7gt30-card-breathe{0%,to{transform:translateY(0)}50%{transform:translateY(-1px)}}.tech-card.svelte-1s7gt30:hover,.tech-card.svelte-1s7gt30:focus-within{transform:translateY(-2px);animation-play-state:paused;box-shadow:0 1px #0f172a05,0 10px 30px -18px #0f172a2e}html.dark .tech-card.svelte-1s7gt30:hover,html.dark .tech-card.svelte-1s7gt30:focus-within{box-shadow:0 1px #ffffff05,0 10px 30px -18px #0009}@media (prefers-reduced-motion: reduce){.tech-card.svelte-1s7gt30{animation:none}.tech-card.svelte-1s7gt30:hover,.tech-card.svelte-1s7gt30:focus-within{transform:none}}.idle-border.svelte-1s7gt30{border:1px solid rgb(100 116 139 / .2)}html.dark .idle-border.svelte-1s7gt30{border-color:#1e293bcc}.active-border.svelte-1s7gt30{--ab-edge: rgb(16 185 129 / .1);--ab-mid: rgb(16 185 129 / .9);--ab-duration: 20s;position:relative}.active-border--subtle.svelte-1s7gt30{--ab-edge: rgb(148 163 184 / .05);--ab-mid: rgb(148 163 184 / .35);--ab-duration: 30s}html.dark .active-border--subtle.svelte-1s7gt30{--ab-edge: rgb(100 116 139 / .05);--ab-mid: rgb(148 163 184 / .3)}.active-border.svelte-1s7gt30:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;border-radius:inherit;border:1px solid transparent;background:linear-gradient(to bottom,var(--ab-edge),var(--ab-mid),var(--ab-edge)) padding-box,conic-gradient(from var(--bg-angle),var(--ab-edge),var(--ab-mid)) border-box;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:svelte-1s7gt30-spin-border var(--ab-duration) linear infinite}
