.dot-grid{display:flex;align-items:center;justify-content:center}.dot-grid,.dot-grid__wrap{height:100%;width:100%;position:relative}.dot-grid__canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;transform:translateZ(0);will-change:transform}.particle-text{position:relative;display:block;width:100%;height:100%;min-height:240px;overflow:hidden;touch-action:pan-y;isolation:isolate}.particle-text__canvas{position:absolute;inset:0;display:block;width:100%;height:100%}.particle-text__sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skills-section{width:100%;padding:2.5rem 0 3.5rem;background:transparent;overflow:hidden}.skills-header{text-align:center;margin-bottom:1rem;padding:0 1rem}.skills-subtitle{color:#6b6780;font-size:.8rem;margin:.9rem 0 0}.skills-rows{display:flex;flex-direction:column;gap:.25rem}.skills-container{width:100%;overflow-x:scroll;overflow-y:hidden;cursor:grab;padding-block:2rem;scrollbar-width:none;-ms-overflow-style:none;mask-image:linear-gradient(90deg,transparent 0,black 9%,black 91%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent 0,black 9%,black 91%,transparent)}.skills-container:active{cursor:grabbing}.skills-container::-webkit-scrollbar{display:none}.skills-track{display:flex;gap:1.25rem;width:max-content;padding:0 10%}.skill-slot{flex-shrink:0;width:210px;height:132px;cursor:pointer;-webkit-tap-highlight-color:transparent}.skill-slot:focus-visible{outline:2px solid #14111f;outline-offset:4px;border-radius:20px}.skill-card{position:relative}.skill-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,var(--skill-color,#6290c8) 0,transparent 64%);opacity:.09;transition:opacity .35s ease;z-index:0}.skill-card:hover:before,.skill-slot.is-open .skill-card:before{opacity:.18}.skill-card__inner{position:relative;display:flex;height:100%;width:100%;flex-direction:column;align-items:center;justify-content:center;gap:.65rem}.skill-icon{width:2.4rem;height:2.4rem;object-fit:contain;filter:drop-shadow(0 3px 6px rgba(24,12,40,.18));transition:transform .35s ease}.skill-card:hover .skill-icon,.skill-slot.is-open .skill-icon{transform:scale(.82) translateY(-8px)}.skill-name{color:#14111f;font-weight:800;font-size:.9rem;text-align:center;letter-spacing:.04em;transition:opacity .28s ease}.skill-card:hover .skill-name,.skill-slot.is-open .skill-name{opacity:0}.skill-desc{position:absolute;inset:0;border-radius:0;display:flex;align-items:center;justify-content:center;padding:.95rem;text-align:center;font-size:.76rem;line-height:1.45;font-weight:500;color:#f4f1fa;background:linear-gradient(155deg,#1a1526,#241b33);border-left:3px solid var(--skill-color,#6290c8);opacity:0;transform:translateY(101%);transition:opacity .3s ease,transform .35s cubic-bezier(.22,1,.36,1);z-index:5}.skill-card:hover .skill-desc,.skill-slot.is-open .skill-desc{opacity:1;transform:translateY(0)}@media (max-width:768px){.skills-track{gap:.85rem}.skills-container{padding-block:1.4rem}.skill-slot{width:156px;height:118px}.skill-icon{width:1.85rem;height:1.85rem}.skill-name{font-size:.78rem}.skill-desc{font-size:.66rem;line-height:1.4;padding:.6rem}}@media (max-width:380px){.skill-slot{width:138px;height:110px}.skill-desc{font-size:.62rem;padding:.5rem}}.depth-carousel{position:relative;width:100%;height:100%;min-height:320px;display:flex;align-items:center;justify-content:center;perspective:var(--dc-perspective,1400px);perspective-origin:50% 50%;touch-action:pan-y;outline:none;user-select:none;-webkit-user-select:none}.depth-carousel.is-draggable{cursor:grab}.depth-carousel.is-draggable:active{cursor:grabbing}.depth-carousel:focus-visible{outline:2px solid #6290c8;outline-offset:4px;border-radius:12px}.depth-carousel__stage{position:absolute;inset:0;transform-style:preserve-3d}.depth-carousel__card{position:absolute;top:50%;left:50%;transform-origin:center center;background:transparent;will-change:transform,opacity,filter;transform:translate(-50%,-50%)}.depth-carousel__img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none;-webkit-user-drag:none}.depth-carousel__tint{position:absolute;inset:0;border-radius:inherit;opacity:0;pointer-events:none;mix-blend-mode:multiply;z-index:5}.depth-carousel__arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:3000;width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(20,17,31,.12);border-radius:999px;background:rgba(255,255,255,.9);color:#14111f;cursor:pointer;box-shadow:0 10px 24px -14px rgba(24,12,40,.6);transition:background .2s ease,border-color .2s ease,transform .2s ease}.depth-carousel__arrow:hover{background:#6290c8;border-color:#6290c8;color:#fff}.depth-carousel__arrow:active{transform:translateY(-50%) scale(.94)}.depth-carousel__arrow--prev{left:8px}.depth-carousel__arrow--next{right:8px}.depth-carousel__dots{position:absolute;bottom:4px;left:50%;transform:translateX(-50%);z-index:3000;display:flex;gap:7px;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.82);box-shadow:0 8px 20px -14px rgba(24,12,40,.7)}.depth-carousel__dot{width:6px;height:6px;padding:0;border:none;border-radius:999px;background:rgba(20,17,31,.22);cursor:pointer;transition:width .25s ease,background .25s ease}.depth-carousel__dot.is-active{width:20px;background:#6290c8}@media (max-width:640px){.depth-carousel__arrow{width:36px;height:36px}}@media (prefers-reduced-motion:reduce){.depth-carousel__card{will-change:auto}.depth-carousel__arrow,.depth-carousel__dot{transition:none}}.project-card3d{display:block;height:100%;width:100%;border-radius:22px;text-decoration:none;color:inherit;--c3d-offset:12px}.project-card{display:flex;flex-direction:column;min-height:0}.project-card__media{position:relative;width:100%;flex:0 1 48%;min-height:88px;border-bottom:2px solid var(--c3d-border)}.project-card__media img{object-position:left top;transition:transform .8s cubic-bezier(.22,1,.36,1)}.project-card__media--contain img{object-fit:contain;object-position:center;background:radial-gradient(120% 120% at 50% 0,#0f1c2e 0,#070d16 70%);padding:.8rem}.project-card__index{position:absolute;right:.9rem;bottom:.55rem;font-size:.6rem;font-weight:800;letter-spacing:.24em;color:rgba(20,17,31,.55);z-index:2}.project-card__body{display:flex;flex-direction:column;gap:.34rem;padding:.85rem 1rem 1rem;flex:1 0 auto;min-height:0;overflow:hidden}.project-card__tag{align-self:flex-start;flex:0 0 auto;font-size:.54rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;padding:.22rem .5rem;border-radius:999px;white-space:nowrap}.project-card__tag--product{color:#2f5480;background:rgba(98,144,200,.1);border:1px solid rgba(98,144,200,.25)}.project-card__tag--systems{color:#3d3752;background:rgba(61,55,82,.1);border:1px solid rgba(61,55,82,.25)}.project-card__title{font-size:1.15rem;font-weight:900;flex:0 0 auto;letter-spacing:-.02em;color:#14111f;line-height:1.1;padding-bottom:.1em}.project-card__tagline{font-size:.74rem;font-weight:700;color:#3a6595;line-height:1.45;flex:0 0 auto;padding-bottom:.18em;-webkit-line-clamp:2;line-clamp:2}.project-card__desc,.project-card__tagline{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.project-card__desc{font-size:.71rem;line-height:1.5;color:#56526a;flex:1 1 auto;min-height:0;-webkit-line-clamp:6;line-clamp:6;margin:0}.project-card__cta{margin-top:auto;flex:0 0 auto;display:inline-flex;align-items:center;gap:.35rem;font-size:.68rem;font-weight:800;letter-spacing:.04em;color:#14111f;padding-top:.5rem}.project-card__cta span{border-bottom:2px solid rgba(98,144,200,.5);padding-bottom:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-card:hover .project-card__cta{color:#3a6595}@media (min-width:768px){.project-card__body{gap:.4rem;padding:1rem 1.15rem 1.15rem}.project-card__title{font-size:1.35rem}.project-card__tagline{font-size:.82rem}.project-card__desc{font-size:.79rem;-webkit-line-clamp:7;line-clamp:7}.project-card__cta{font-size:.74rem}}@media (max-height:720px){.project-card__body{gap:.25rem;padding:.7rem .9rem .85rem}.project-card__title{font-size:1.08rem}.project-card__tagline{font-size:.72rem}.project-card__desc{font-size:.68rem;-webkit-line-clamp:6;line-clamp:6}.project-card__cta{font-size:.66rem;padding-top:.35rem}}.stepper-outer{display:flex;width:100%;flex-direction:column;align-items:center;justify-content:center}.step-circle-container{margin-left:auto;margin-right:auto;width:100%;max-width:34rem;border-radius:1.75rem;border:1px solid rgba(20,17,31,.09);background:#ffffff;box-shadow:0 28px 56px -28px rgba(24,12,40,.35)}.step-indicator-row{display:flex;width:100%;align-items:center;padding:1.5rem 1.5rem .5rem}.step-content-default{position:relative;overflow:hidden}.step-default{padding:.75rem 1.5rem 0;text-align:left}.step-default h3{font-size:1.05rem;font-weight:800;letter-spacing:-.01em;color:#14111f;margin:0 0 .15rem}.step-default p.step-hint{font-size:.8rem;line-height:1.5;color:#6b6780;margin:0 0 .85rem}.step-field{width:100%;border-radius:.85rem;border:1px solid rgba(20,17,31,.12);background:#fbfcfe;padding:.7rem .9rem;font-size:.9rem;color:#14111f;outline:none;transition:border-color .2s ease,box-shadow .2s ease;font-family:inherit}.step-field::placeholder{color:#a09bb2}.step-field:focus{border-color:#6290c8;box-shadow:0 0 0 3px rgba(98,144,200,.18)}textarea.step-field{min-height:7rem;resize:vertical;line-height:1.55}.step-error{margin:.4rem 0 0;font-size:.72rem;font-weight:600;color:#b0402f}.footer-container{padding:0 1.5rem 1.5rem}.footer-nav{margin-top:1.5rem;display:flex;align-items:center}.footer-nav.spread{justify-content:space-between}.footer-nav.end{justify-content:flex-end}.back-button{transition:color .25s ease;border-radius:.5rem;padding:.4rem .6rem;font-size:.85rem;font-weight:600;color:#6b6780;background:none;border:none;cursor:pointer}.back-button:hover{color:#14111f}.back-button.inactive{pointer-events:none;opacity:.5}.next-button{transition:background-color .25s ease,transform .15s ease,opacity .25s ease;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border:none;border-radius:9999px;background-color:#6290c8;color:#fff;font-weight:700;font-size:.85rem;letter-spacing:.01em;padding:.6rem 1.3rem;cursor:pointer}.next-button:hover{background-color:#3f6a9e}.next-button:active{transform:scale(.97)}.next-button:disabled{opacity:.45;cursor:not-allowed}.step-indicator{position:relative;cursor:pointer;outline:none;background:none;border:none;padding:0}.step-indicator-inner{display:flex;height:1.9rem;width:1.9rem;align-items:center;justify-content:center;border-radius:9999px;font-weight:700;font-size:.8rem}.active-dot{height:.6rem;width:.6rem;border-radius:9999px;background-color:#fff}.step-connector{position:relative;margin-left:.5rem;margin-right:.5rem;height:2px;flex:1;overflow:hidden;border-radius:.25rem;background-color:rgba(20,17,31,.1)}.step-connector-inner{position:absolute;left:0;top:0;height:100%}.check-icon{height:1rem;width:1rem;color:#fff}.stepper-done{padding:1.75rem 1.5rem;text-align:center}.stepper-done h3{font-size:1.05rem;font-weight:800;color:#14111f;margin:0 0 .35rem}.stepper-done p{font-size:.85rem;line-height:1.55;color:#56526a;margin:0 0 1rem}@media (max-width:480px){.step-indicator-row{padding:1.25rem 1.15rem .4rem}.step-default{padding:.65rem 1.15rem 0}.footer-container{padding:0 1.15rem 1.25rem}}.sq-scroller{position:relative;height:1300vh;view-timeline-name:--sq;view-timeline-axis:block}.sq-stage{position:sticky;top:0;height:100svh;overflow:clip;perspective:1100px;--sq-head:clamp(14rem,27svh,15.5rem)}.sq-head{position:absolute;top:clamp(4.75rem,11svh,6.25rem);left:0;right:0;z-index:5}.sq-field{position:absolute;inset:var(--sq-head) 0 0 0;display:grid;grid-template-columns:repeat(6,1fr);grid-template-rows:repeat(5,1fr);place-items:center;transform-style:preserve-3d}.sq-word{font-size:clamp(.8rem,2.4vmin,1.5rem);font-weight:500;letter-spacing:-.01em;color:#6290c8;white-space:nowrap;opacity:0}.sq-slot,.sq-word{pointer-events:none}.sq-slot{grid-row:2/span 3;grid-column:2/span 4;display:grid;place-items:center;opacity:0}.sq-slot>*{width:min(340px,76vw);height:min(454px,52svh)}.sq-slot.is-live{pointer-events:auto}@keyframes sq-card-fly{0%{transform:translateZ(-1500px);opacity:0;filter:blur(10px)}26%{transform:translateZ(0);opacity:1;filter:blur(0)}74%{transform:translateZ(0);opacity:1;filter:blur(0)}to{transform:translateZ(700px);opacity:0;filter:blur(10px)}}@keyframes sq-word-fly{0%{transform:translateZ(-1700px);opacity:0;filter:blur(6px)}40%{transform:translateZ(-180px);opacity:.9;filter:blur(0)}66%{transform:translateZ(60px);opacity:.9;filter:blur(0)}to{transform:translateZ(820px);opacity:0;filter:blur(6px)}}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.sq-word{animation:sq-word-fly linear both;animation-timeline:--sq;animation-range:var(--sq-from) var(--sq-to)}.sq-slot,.sq-word{will-change:transform,opacity,filter}.sq-slot{animation:sq-card-fly linear both;animation-timeline:--sq;animation-range:var(--sq-from) var(--sq-to)}}}@supports not (animation-timeline:view()){.sq-scroller,.sq-stage{height:auto}.sq-stage{position:static;overflow:visible;perspective:none;padding:1rem 0 0}.sq-head{position:static;margin-bottom:2.5rem}.sq-field{position:static;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:none;gap:1.75rem;max-width:72rem;margin:0 auto;padding:0 1.25rem 1rem;align-items:stretch}.sq-word{display:none}.sq-slot{grid-row:auto;grid-column:auto;opacity:1;pointer-events:auto}.sq-slot>*{width:100%;height:100%;min-height:26rem}}@media (prefers-reduced-motion:reduce){.sq-slot{opacity:1;pointer-events:auto}}.sq-card{display:flex;flex-direction:column;height:100%;min-height:0;text-decoration:none;color:inherit}.sq-card__media{position:relative;width:100%;flex:0 0 42%;min-height:0;border-bottom:2px solid var(--c3d-border)}.sq-card__media>img,.sq-card__media>video{display:block;width:100%;height:100%;object-fit:cover;border:2px solid var(--c3d-border);border-radius:10px;background:#0d1626}.sq-card__badge{position:absolute;left:1.15rem;top:1.15rem;z-index:2;border-radius:999px;background:rgba(20,17,31,.78);padding:.22rem .55rem;font-size:.55rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:#ffffff}.sq-card__body{display:flex;flex:1 1 auto;flex-direction:column;gap:.4rem;padding:.85rem 1rem 1rem;min-height:0;overflow:hidden}.sq-card__title{font-size:1.1rem;font-weight:900;letter-spacing:-.02em;line-height:1.1;color:#14111f}.sq-card__stats{display:flex;flex-wrap:wrap;gap:.3rem;list-style:none;margin:0;padding:0}.sq-card__stats li{border:1px solid rgba(98,144,200,.35);background:rgba(98,144,200,.1);border-radius:999px;padding:.18rem .5rem;font-size:.6rem;font-weight:800;letter-spacing:.04em;color:#2f5480;white-space:nowrap}.sq-card__desc{font-size:.76rem;line-height:1.5;color:#56526a;margin:0;display:-webkit-box;-webkit-line-clamp:4;line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.sq-card__cta{margin-top:auto;display:inline-flex;align-items:center;gap:.3rem;padding-top:.6rem;font-size:.7rem;font-weight:800;letter-spacing:.03em;color:#14111f}.sq-card__cta span{border-bottom:2px solid rgba(98,144,200,.5);padding-bottom:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sq-card:hover .sq-card__cta{color:#3a6595}@media (max-width:767px){.sq-scroller{height:1000vh}.sq-field{grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(10,1fr)}.sq-slot{grid-row:4/span 4;grid-column:1/span 3}.sq-slot>*{width:min(300px,82vw);height:min(420px,50svh)}@supports not (animation-timeline:view()){.sq-field{grid-template-columns:1fr}}}.morph-slider{position:relative;width:100%;height:100%;overflow:hidden;background:#e9eef5;user-select:none;touch-action:pan-y}.morph-slider-stage{position:absolute;inset:0;cursor:grab;outline:none}.morph-slider-stage:active{cursor:grabbing}.morph-slider-stage:focus-visible{box-shadow:inset 0 0 0 2px rgba(98,144,200,.85)}.morph-slider-canvas{display:block;width:100%;height:100%}.morph-slider-caption{position:absolute;left:22px;bottom:22px;z-index:2;max-width:70%;pointer-events:none;display:grid}.morph-slider-caption-text{grid-area:1/1;justify-self:start;display:inline-block;padding:8px 14px;border-radius:10px;font-size:15px;font-weight:600;letter-spacing:.01em;color:#fff;background:rgba(10,10,12,.42);opacity:0;transform:translateY(12px);filter:blur(6px);transition:opacity var(--ms-swap) cubic-bezier(.16,1,.3,1),transform var(--ms-swap) cubic-bezier(.16,1,.3,1),filter var(--ms-swap) cubic-bezier(.16,1,.3,1)}.morph-slider-caption-text.is-active{opacity:1;transform:translateY(0);filter:blur(0)}.morph-slider-controls{position:absolute;top:50%;left:0;right:0;z-index:3;display:flex;justify-content:space-between;padding:0 16px;transform:translateY(-50%);pointer-events:none}.morph-slider-btn{pointer-events:auto;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid rgba(255,255,255,.35);border-radius:50%;color:#fff;background:rgba(20,17,31,.45);cursor:pointer;transition:transform .25s cubic-bezier(.16,1,.3,1),background .25s ease,border-color .25s ease}.morph-slider-btn:hover{background:rgba(98,144,200,.85);border-color:rgba(255,255,255,.7);transform:scale(1.06)}.morph-slider-btn:active{transform:scale(.96)}.morph-slider-btn:focus-visible{outline:2px solid #6290c8;outline-offset:2px}.morph-slider-indicators{position:absolute;left:0;right:0;bottom:18px;z-index:3;display:flex;gap:8px;justify-content:center;align-items:center}.morph-slider-dot{width:6px;height:6px;padding:0;border:none;border-radius:999px;background:rgba(255,255,255,.45);cursor:pointer;transition:width var(--ms-dot) cubic-bezier(.16,1,.3,1),background var(--ms-dot) ease}.morph-slider-dot.is-active{width:20px;background:#6290c8}.morph-slider-dot:focus-visible{outline:2px solid #6290c8;outline-offset:2px}.hero-morph{background:#e9eef5}.hero-morph .morph-slider-indicators{justify-content:flex-end;padding-right:22px;bottom:26px}@media (max-width:640px){.hero-morph .morph-slider-indicators{padding-right:18px;bottom:22px}}@media (max-width:420px){.morph-slider-btn{width:34px;height:34px}.morph-slider-caption-text{font-size:13px}}@media (prefers-reduced-motion:reduce){.morph-slider-btn,.morph-slider-caption-text,.morph-slider-dot{animation:none;transition:none}}.scroll-stack-scroller{position:relative;width:100%;height:100%;overflow-y:auto;overflow-x:visible;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;-webkit-transform:translateZ(0);transform:translateZ(0)}.scroll-stack-scroller.window-scroll{height:auto;overflow:visible;overscroll-behavior:auto;transform:none;scroll-behavior:auto}.scroll-stack-inner{padding:20vh 5rem 50rem;min-height:100vh}.scroll-stack-scroller.window-scroll .scroll-stack-inner{padding:4vh 1rem 2vh;min-height:0}.scroll-stack-card{position:sticky;width:100%;box-sizing:border-box}.scroll-stack-card-inner{transform-origin:top center;will-change:transform;backface-visibility:hidden}.scroll-stack-end{width:100%;height:60vh}@media (max-width:900px){.scroll-stack-inner{padding:12vh 1.25rem 30rem}}