app-home .hero-composition .orbit-one{animation:perspective-orbit-one 18s ease-in-out infinite alternate}app-home .hero-composition .orbit-two{animation:perspective-orbit-two 22s ease-in-out infinite alternate}app-home .hero-composition .composition-glow{animation:perspective-glow 9s ease-in-out infinite}app-home .hero-composition .orbit-point{animation:perspective-point 5s ease-in-out infinite}app-home .hero-composition .point-two{animation-delay:1.5s}app-home .lens-view{animation:perspective-enter .38s cubic-bezier(.2,.7,.25,1) both}@keyframes perspective-orbit-one{0%{transform:rotate(-27deg) scaleY(.83)}to{transform:rotate(-15deg) scaleY(.83)}}@keyframes perspective-orbit-two{0%{transform:rotate(19deg) scaleX(.8)}to{transform:rotate(32deg) scaleX(.8)}}@keyframes perspective-glow{0%,to{opacity:.65}50%{opacity:1}}@keyframes perspective-point{0%,to{opacity:.45;transform:scale(.85)}50%{opacity:1;transform:scale(1.1)}}@keyframes perspective-enter{0%{opacity:.45;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}app-home .timeline{position:relative}app-home .timeline:before{content:"";position:absolute;left:-1px;top:0;bottom:0;width:1px;background:linear-gradient(#a7b9f8,#718cc5 65%,transparent);transform-origin:top;transform:scaleY(1);transition:transform 1.15s cubic-bezier(.2,.65,.25,1)}app-home .timeline.reveal-pending:not(.revealed):before{transform:scaleY(0)}app-home .timeline.revealed article{animation:timeline-entry .6s cubic-bezier(.2,.7,.25,1) both}app-home .timeline.revealed article:nth-child(2){animation-delay:.1s}app-home .timeline.revealed article:nth-child(3){animation-delay:.2s}app-home .timeline.revealed article:nth-child(4){animation-delay:.3s}@keyframes timeline-entry{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}app-project-visual .motion-visible .workflow>div{animation:workflow-step .65s ease both}app-project-visual .motion-visible .workflow>div:nth-of-type(2){animation-delay:.12s}app-project-visual .motion-visible .workflow>div:nth-of-type(3){animation-delay:.24s}app-project-visual .workflow .connector{animation:workflow-signal 2.2s ease-in-out 2}app-project-visual .workflow .connector:nth-of-type(2){animation-delay:.35s}app-project-visual .motion-visible .chart>div>span{transform-origin:bottom;animation:report-bar-enter .85s cubic-bezier(.2,.7,.25,1) both;animation-delay:calc(var(--bar-index,0)*65ms)}app-project-visual .motion-visible .kanban>div{animation:workflow-step .55s ease both}app-project-visual .motion-visible .kanban>div:nth-child(2){animation-delay:.08s}app-project-visual .motion-visible .kanban>div:nth-child(3){animation-delay:.16s}app-project-visual .motion-visible .source{animation:source-emphasis 1.8s ease 2}app-project-visual .visual{transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}@keyframes workflow-step{0%{opacity:.3;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@keyframes workflow-signal{0%,to{opacity:.45}45%{opacity:1;color:#416fca}}@keyframes report-bar-enter{0%{transform:scaleY(.04);opacity:.4}to{transform:scaleY(1);opacity:1}}@keyframes source-emphasis{0%,to{opacity:.7}45%{opacity:1}}app-ai-workspace .result-scroll{animation:result-arrive .4s ease both}app-ai-workspace .bar{transform-origin:left;animation:data-bar-enter .7s cubic-bezier(.2,.7,.25,1) both;animation-delay:calc(var(--bar-index,0)*55ms)}app-ai-workspace .signal-illustration span{transform-origin:bottom;animation:preview-bar-breathe 2.2s ease-in-out 2;animation-delay:calc(var(--bar-index,0)*90ms)}@keyframes result-arrive{0%{opacity:.4;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes data-bar-enter{0%{transform:scaleX(.03)}to{transform:scaleX(1)}}@keyframes preview-bar-breathe{0%,to{transform:scaleY(1)}50%{transform:scaleY(.8)}}app-expertise .expanded .capability-detail{animation:capability-enter .3s ease both}@keyframes capability-enter{0%{opacity:.5;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.motion-surface:not(.motion-visible) .ambient-motion,.motion-surface.motion-dormant .ambient-motion{animation-play-state:paused!important}.motion-toggle{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:0 8px;border:1px solid #d8dfe9;border-radius:5px;background:#ffffff70;font:inherit;font-size:9px;letter-spacing:0;color:#5e708e}.motion-toggle:hover,.motion-toggle:focus-visible{color:#355dcd;border-color:#9dafd6}.motion-toggle-icon{color:#6e88bf;font-size:12px}.motion-reduced-note{font-size:8px;letter-spacing:.04em;color:#79869b}.footer-motion-toggle{margin-left:auto}app-footer .footer-motion-toggle{background:transparent;color:#c4d2ef;border-color:#445572}@media(hover:hover)and (pointer:fine){app-projects .featured-grid article:hover app-project-visual .visual,app-projects .featured-grid article:focus-within app-project-visual .visual{transform:translateY(-3px);box-shadow:0 28px 65px #1637751c}.button>span,.text-link>span,.case-link>span{transition:transform .2s ease}.button:hover>span,.button:focus-visible>span,.text-link:hover>span,.text-link:focus-visible>span,.case-link:hover>span,.case-link:focus-visible>span{transform:translate(2px,-2px)}}html.motion-paused{scroll-behavior:auto}app-root.motion-paused *,app-root.motion-paused *:before,app-root.motion-paused *:after,app-root.motion-reduced *,app-root.motion-reduced *:before,app-root.motion-reduced *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}:root:root app-projects .project-filters{margin-top:0}:root:root app-projects .project-filters button{color:var(--muted);border-color:var(--line)}:root:root app-projects .project-filters button.active,:root:root app-projects .project-filters button:hover{background:var(--blue);color:var(--paper);border-color:var(--blue)}:root:root app-projects .project-eyebrow,:root:root app-projects .earlier-links>a>span:nth-child(2){color:var(--muted)}:root:root app-projects .project-eyebrow>span:last-child{border-color:var(--line);color:var(--blue)}:root:root app-projects .earlier-work,:root:root app-projects .earlier-links>a{border-color:var(--line)}:root:root app-projects .case-link{border-color:var(--line)}:root:root app-projects .project-description h3{font-size:29px}:root:root app-projects .featured-grid{gap:40px 28px}:root:root app-project-visual .visual,:root:root app-project-visual .visual.platform,:root:root app-project-visual .visual.dashboard{background:var(--surface);border:1px solid var(--line);border-radius:12px;color:var(--ink);box-shadow:0 20px 40px #0001}:root:root app-project-visual .visual .window-bar{background:var(--surface-raised);border-color:var(--line);color:var(--muted)}:root:root app-project-visual .visual .micro,:root:root app-project-visual .visual .demo-icon,:root:root app-project-visual .visual .source{color:var(--blue)}:root:root app-project-visual .visual .sample-tag,:root:root app-project-visual .visual .demo-caption{color:var(--muted)}:root:root app-project-visual .visual .workflow>div,:root:root app-project-visual .visual .kanban p,:root:root app-project-visual .visual .tool-flow span,:root:root app-project-visual .visual .answer{background:var(--surface-raised);border-color:var(--line);color:var(--ink)}:root:root app-project-visual .visual .kanban>div{background:var(--tint)}:root:root app-project-visual .visual .demo-tabs button,:root:root app-project-visual .visual .question-row button{color:var(--muted)}:root:root app-project-visual .visual .demo-tabs button.selected,:root:root app-project-visual .visual .question-row button.selected{background:var(--tint);color:var(--blue);border-color:var(--line)}:root:root app-project-visual .visual .chart{border-color:var(--line);background:repeating-linear-gradient(to top,transparent,transparent 29px,var(--line) 30px)}:root:root app-project-visual .visual .chart>div>span{background:linear-gradient(#9c8de4,#55577f)}:root:root app-project-visual .visual .chart-head>div>span,:root:root app-project-visual .visual .chart small,:root:root app-project-visual .visual .workflow small{color:var(--muted)}:root:root app-contact-form .field label,:root:root app-contact-form .consent,:root:root app-contact-form .verification-note,:root:root app-contact-form .field-hint,:root:root app-contact-form .message-label>span{color:var(--muted)}:root:root app-contact-form .field input,:root:root app-contact-form .field select,:root:root app-contact-form .field textarea{background:var(--paper);color:var(--ink);border-color:var(--line);border-radius:6px}:root:root app-contact-form .field-error{color:#f2a8a8}:root:root app-contact-form .consent a,:root:root app-contact-form .verification-note a{color:var(--blue)}:root:root app-contact-form .success h4{color:var(--ink)}:root:root app-contact-form .success-check{color:#9bceb3;background:var(--surface-raised)}:root:root app-contact-form .contact-card h3{font-size:29px}:root:root app-ai-workspace .workspace{--accent:var(--blue);--stroke:var(--line);background:var(--surface);color:var(--ink);border-color:var(--line);box-shadow:none}:root:root app-ai-workspace .workspace-bar,:root:root app-ai-workspace .workspace-footer,:root:root app-ai-workspace .tool-rail,:root:root app-ai-workspace .editor-panel,:root:root app-ai-workspace .output-panel,:root:root app-ai-workspace .studio-heading{background:var(--surface);border-color:var(--line)}:root:root app-ai-workspace .workspace-brand,:root:root app-ai-workspace .studio-heading h3,:root:root app-ai-workspace .empty-output h4,:root:root app-ai-workspace .result-title,:root:root app-ai-workspace .tool-list strong{color:var(--ink)}:root:root app-ai-workspace .studio-heading p,:root:root app-ai-workspace .empty-output>p,:root:root app-ai-workspace .result-section p,:root:root app-ai-workspace .result-section li,:root:root app-ai-workspace .workspace-footer,:root:root app-ai-workspace .rail-note,:root:root app-ai-workspace .tool-list small{color:var(--muted)}:root:root app-ai-workspace textarea,:root:root app-ai-workspace .field select,:root:root app-ai-workspace .schema-field textarea{background:var(--paper);border-color:var(--line);color:var(--ink)}:root:root app-ai-workspace .tool-list button.selected,:root:root app-ai-workspace .tool-list button:hover{background:var(--surface-raised);border-color:var(--line)}:root:root app-ai-workspace .data-chart,:root:root app-ai-workspace .metrics>div,:root:root app-ai-workspace .trend-note,:root:root app-ai-workspace .mode-badge,:root:root app-ai-workspace .examples button,:root:root app-ai-workspace .connection-note{background:var(--surface-raised);border-color:var(--line)}:root:root app-ai-workspace .bar-track{background:var(--paper)}:root:root app-ai-workspace .bar{background:linear-gradient(90deg,#7b72c4,#a99bff)}:root:root app-ai-workspace .generate-button{background:#b6a7f2;color:#19132c}:root:root app-ai-workspace .metrics strong,:root:root app-ai-workspace .result-section h5{color:var(--blue)}:root:root app-ai-workspace .processing-orbit,:root:root app-ai-workspace .empty-symbol{background:var(--surface-raised);border-color:var(--line)}:root:root app-case-study .case-meta,:root:root app-case-study .case-details section,:root:root app-case-study .case-next{border-color:var(--line)}:root:root app-case-study .case-header .eyebrow>span{border-color:var(--line);color:var(--muted)}:root:root app-case-study .case-details section>span,:root:root app-case-study .concept-note{color:var(--muted)}:root:root app-privacy p a{color:var(--blue)}:root:root :root[data-theme=light] .hero h1>span{background-image:linear-gradient(110deg,#6050b0,#3b6c9b)}:root:root :root[data-theme=light] app-contact-form .field-error{color:#9e3030}:root:root app-ai-workspace .spinner{display:inline-block;width:15px;height:15px;border-radius:50%;border:2px solid #ffffff50;border-top-color:var(--blue);animation:workspace-spin 1s linear infinite}:root:root app-ai-workspace .processing-orbit{display:grid;place-items:center;width:80px;height:80px;border:1px solid var(--line);border-radius:50%;margin-bottom:25px}:root:root app-ai-workspace .processing-orbit .spinner{width:30px;height:30px}@keyframes workspace-spin{to{transform:rotate(360deg)}}:root:root .motion-paused .system-orbit,:root:root .motion-reduced .system-orbit{animation-play-state:paused!important}:root:root app-ai-workspace .field-caption label,:root:root app-ai-workspace .field label,:root:root app-ai-workspace .result-kicker,:root:root app-ai-workspace .chart-caption,:root:root app-ai-workspace .chart-row,:root:root app-ai-workspace .metrics span,:root:root app-ai-workspace .table-scroll td,:root:root app-ai-workspace .table-scroll th,:root:root app-ai-workspace .field-caption>span,:root:root app-ai-workspace .workspace-status{color:var(--muted)}router-outlet+*{animation:page-arrive .35s ease-out}@keyframes page-arrive{0%{opacity:.5;transform:translateY(6px)}to{opacity:1;transform:none}}@font-face{font-family:Manrope;src:url(/fonts/manrope-latin-v5.3.0.woff2) format("woff2");font-weight:200 800;font-style:normal;font-display:swap}:root{color-scheme:dark;--paper:#0b0d12;--surface:#12151d;--surface-raised:#191d28;--ink:#eeeff5;--muted:#969dad;--blue:#a99bff;--cyan:#81d1e2;--line:#ffffff12;--tint:#a99bff0d;--nav-height:80px;--gutter:clamp(22px,6vw,90px);font-family:Manrope,Arial,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}:root[data-theme=light]{color-scheme:light;--paper:#f8f9fc;--surface:#fff;--surface-raised:#eef0f8;--ink:#172031;--muted:#596377;--blue:#6550c5;--cyan:#18758b;--line:#15263e1c;--tint:#6550c50c}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-height) + 20px)}body{margin:0;overflow-x:clip;background:var(--paper)}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{font-weight:550;letter-spacing:-.05em}h2{font-size:clamp(35px,4vw,57px);line-height:1.15}em{font-style:normal;color:var(--blue)}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}button,a,input,textarea{-webkit-tap-highlight-color:transparent}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--blue);outline-offset:5px}::selection{background:#7c68d7;color:#fff}.shell{max-width:1440px;margin-inline:auto;padding-inline:var(--gutter)}.section-pad{padding-block:80px}.section-label{display:flex;align-items:center;gap:22px;font:10px/1.7 Manrope,sans-serif;letter-spacing:.13em;color:var(--muted);margin-bottom:48px}.section-label>span:first-child{color:var(--blue);white-space:nowrap}.label-rule{height:1px;flex:1;background:var(--line)}.eyebrow{display:inline-block;font-size:10px;line-height:1.8;letter-spacing:.13em;font-weight:650;text-transform:uppercase;color:var(--blue)}.button{display:inline-flex;align-items:center;justify-content:center;gap:30px;padding:15px 22px;min-height:48px;border:1px solid var(--line);border-radius:8px;background:var(--surface-raised);color:var(--ink);font-size:12px;font-weight:650;transition:transform .2s,background .2s,box-shadow .2s}.button:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0002;border-color:var(--blue)}.button-dark{background:#c0b4ff;color:#161127;border-color:#d6ceff66;box-shadow:inset 0 1px #ffffff50}.button-dark:hover{background:#d2c9ff}.button>span{font-size:17px;font-weight:400}.text-link{display:inline-flex;align-items:center;gap:15px;font-size:12px;font-weight:600;padding-block:12px;border-bottom:1px solid var(--line);min-height:44px}.text-link:hover{color:var(--blue)}.panel{border:1px solid var(--line);border-radius:16px;background:var(--surface);min-width:0}.pill{display:inline-flex;align-items:center;gap:8px;font-size:10px;line-height:1.5;border:1px solid var(--line);padding:6px 10px;border-radius:99px;color:var(--muted)}.fine-print{font-size:10px;line-height:1.8;color:var(--muted)}.section-intro{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:42px}.section-intro p{font-size:14px;line-height:1.9;color:var(--muted);max-width:380px}.section-intro h2{max-width:650px}.skip-link{position:fixed;top:12px;left:15px;background:var(--surface);color:var(--ink);padding:14px 18px;z-index:1000;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}#main-content:focus{outline:none}.reveal-pending{opacity:0;transform:translateY(18px);transition:opacity .65s,transform .65s}.reveal-pending.revealed{opacity:1;transform:none}.site-page{padding-top:55px;padding-bottom:90px;min-height:75vh}.page-intro{max-width:850px;padding:42px 0 55px}.page-intro h1{font-size:clamp(42px,6.4vw,84px);line-height:1.07;margin:20px 0 26px}.page-intro>p{max-width:660px;font-size:17px;line-height:1.9;color:var(--muted)}.page-block{padding:55px 0;border-top:1px solid var(--line)}.page-block h2{margin-bottom:24px}.page-block>p{font-size:15px;line-height:1.9;color:var(--muted);max-width:800px}.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.feature-card{padding:28px}.feature-card h3{font-size:21px;line-height:1.4;margin:18px 0 12px}.feature-card p{font-size:13px;line-height:1.9;color:var(--muted)}.feature-card .number{font:11px monospace;color:var(--blue)}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:28px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:960px){:root{--nav-height:72px}.section-intro{align-items:start;flex-direction:column;gap:22px}.feature-grid{grid-template-columns:1fr 1fr}.section-pad{padding-block:60px}}@media(max-width:600px){.section-pad{padding-block:44px}.section-label{gap:13px;margin-bottom:30px;font-size:9px}.section-label>span:last-child{max-width:130px;text-align:right}.feature-grid{grid-template-columns:1fr}.page-intro{padding-block:30px}.page-intro>p{font-size:15px}.page-block{padding-block:35px}.button{padding:14px 18px}.section-intro{margin-bottom:30px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal-pending{opacity:1;transform:none}}@media print{app-navbar,app-footer,.no-print,.floating-contact{display:none!important}:root{--paper:white;--surface:white;--ink:#152031;--muted:#455166;--blue:#443b99;--line:#ddd;color-scheme:light}body{background:#fff}.shell,.site-page{padding:0}.resume-sheet{box-shadow:none!important;border:0!important;margin:0!important;max-width:none!important}a{color:inherit}.resume-sheet section{break-inside:avoid}}
