:root{--text:#5f6b7a;--text-h:#111827;--bg:#fff;--border:#e5e7eb;--brand:#2f6fed;--brand-strong:#1d4ed8;--brand-soft:#eff6ff;--brand-soft-strong:#dbeafe;--brand-rgb:47 111 237;--accent:var(--brand);--focus:rgb(var(--brand-rgb) / .35);--sans:system-ui, "Segoe UI", Roboto, sans-serif;font:18px/145% var(--sans);letter-spacing:0;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}button,a{font:inherit}#root{min-height:100svh}h1,h2,p{margin:0}h1,h2{color:var(--text-h)}h1{letter-spacing:0;max-width:920px;font-size:clamp(40px,7vw,76px);line-height:1.08}h2{letter-spacing:0;font-size:clamp(32px,5vw,48px);line-height:1.12}@media (width<=820px){:root{font-size:16px}}.living-project{min-width:0;color:var(--text);outline-offset:8px;text-decoration:none;display:block}.living-project-scene{aspect-ratio:16/9;background:#d7dadd;position:relative;overflow:hidden}.living-project-camera{transform-origin:50% 28%;transition:transform .65s cubic-bezier(.2,.7,.2,1);position:absolute;inset:0}.living-project-camera img,.living-project-camera video{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.living-project-camera video{opacity:0}.living-project-camera video[data-ready=true]{opacity:1}.living-project-caption{border-bottom:1px solid #d5dae0;justify-content:space-between;align-items:center;gap:12px;padding:17px 0;font-size:21px;font-weight:700;display:flex}.living-project-caption svg{flex-shrink:0;transition:transform .25s}.living-project:focus-visible{outline:2px solid #2f6fed}.living-project:focus-visible .living-project-camera{transform:scale(1.6)}.living-project:focus-visible .living-project-caption svg{transform:translate(3px,-3px)}@media (hover:hover) and (pointer:fine){.living-project:hover .living-project-camera{transform:scale(1.6)}.living-project:hover .living-project-caption svg{transform:translate(3px,-3px)}}@media (width<=760px){.living-project-caption{padding:10px 0;font-size:18px}.hero-section .hero-finale.living-projects{gap:20px;width:calc(100% - 88px);padding:12px 0}.hero-section .living-projects .portfolio-launch-grid{grid-template-columns:minmax(0,1fr);gap:14px;width:min(360px,100%)}}@media (height<=560px){.hero-section .living-projects{gap:16px}.hero-section .living-projects .portfolio-launch-grid{grid-template-columns:repeat(2,minmax(0,1fr));width:min(900px,100%)}}@media (prefers-reduced-motion:reduce){.living-project-camera,.living-project-caption svg{transition:none}.living-project-camera video{display:none}.living-project:focus-visible .living-project-camera,.living-project:hover .living-project-camera{transform:none}}.architecture-scene{--scene-ink:#20252d;--scene-bg:#fafbfd;--scene-muted:#536174;--scene-wire:#d9e0e8;--front-color:#215dc6;--back-color:#117451;--front-bg:#edf3ff;--back-bg:#e9f5ef;--node-size:54px;--node-copy-width:min(250px, 22vw);z-index:4;color:var(--scene-ink);background:var(--scene-bg);pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.architecture-scene[data-story=deployment]{--scene-ink:#f1f3f5;--scene-bg:#222428;--scene-muted:#b9c1cd;--scene-wire:#42474f;--front-color:#9bc0ff;--back-color:#80e1b9;--front-bg:#293343;--back-bg:#263a32;background:#222428}.architecture-inner{flex-direction:column;width:min(1280px,100% - 320px);height:min(820px,100svh - 64px);display:flex}.architecture-heading{text-align:center;flex:none;justify-content:center;align-items:center;gap:16px;display:flex}.architecture-heading>span{color:var(--scene-muted);font:12px ui-monospace,monospace}.architecture-heading h2{color:var(--scene-ink);letter-spacing:0;font-size:28px;line-height:1.3}.architecture-diagram{flex:1;min-height:0;margin-top:20px;position:relative}.architecture-domain{border-top:3px solid;width:46%;padding:10px 14px 0;position:absolute;top:55%;bottom:0}.domain-front{color:var(--front-color);background:var(--front-bg);left:0}.domain-back{color:var(--back-color);background:var(--back-bg);right:0}.architecture-domain strong{justify-content:center;align-items:center;gap:8px;font-size:16px;font-weight:800;line-height:1.4;display:flex}.architecture-domain svg{flex-shrink:0}.request-diagram .architecture-domain{top:43%}.architecture-wires{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.architecture-wire path{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:.3px}.wire-base{stroke:var(--scene-wire)}.wire-common .wire-lit{stroke:var(--scene-muted)}.wire-front .wire-lit{stroke:var(--front-color)}.wire-back .wire-lit{stroke:var(--back-color)}.architecture-node{width:var(--node-size);height:var(--node-size);background:var(--scene-bg);position:absolute;transform:translate(-50%,-50%)}.node-front{background:var(--front-bg)}.node-back{background:var(--back-bg)}.architecture-node-icon{object-fit:contain;width:100%;height:100%;display:block}.architecture-node:not(.is-active) .architecture-node-icon,.architecture-node:not(.is-active) .architecture-tech img{opacity:.55;filter:grayscale()}.node-copy{width:var(--node-copy-width);text-align:left;position:absolute;top:50%;left:calc(100% + 16px);transform:translateY(-50%)}.node-back .node-copy{text-align:right;left:auto;right:calc(100% + 16px)}.node-copy>strong{color:var(--scene-ink);word-break:keep-all;font-size:15px;line-height:1.35;display:block}.architecture-node:not(.is-active) .node-copy>strong{color:var(--scene-muted)}.node-front.is-active .node-copy>strong{color:var(--front-color)}.node-back.is-active .node-copy>strong{color:var(--back-color)}.architecture-tools{flex-wrap:wrap;align-items:center;gap:5px 10px;margin-top:7px;display:flex}.node-back .architecture-tools{justify-content:flex-end}.architecture-tech{white-space:nowrap;color:var(--scene-muted);align-items:center;gap:4px;font-size:11px;line-height:1.35;display:inline-flex}.architecture-tech img{object-fit:contain;width:19px;height:19px}.architecture-scene[data-story=deployment] .architecture-node[data-node=github].is-active>img{filter:invert()}.architecture-scene[data-story=deployment] .architecture-node[data-node=github]:not(.is-active)>img{filter:invert()grayscale()}.architecture-origin{flex-direction:column;align-items:center;gap:6px;display:flex;position:absolute;transform:translate(-50%,-50%)}.architecture-origin>strong{color:var(--scene-ink);white-space:nowrap;background:#fafbfd;padding:0 6px;font-size:13px;line-height:1.4}.origin-tools{text-align:left;gap:6px;display:grid;position:absolute;top:12px;left:calc(100% + 16px)}[data-story=deployment] .architecture-origin>strong{background:#222428}.architecture-laptop{width:108px;height:69px;position:relative}.laptop-display{background:#eff4f8;border:4px solid #525861;border-radius:5px;grid-template-columns:24px 1fr;align-content:center;align-items:center;gap:4px;padding:8px;display:grid;position:absolute;inset:0 7px 8px}.laptop-display img{object-fit:contain;grid-row:span 3;width:24px;height:24px}.laptop-display>span{background:#79b3e2;width:100%;height:3px}.laptop-display>span:last-child{background:#67bc9b;width:65%}.is-developer .laptop-display{background:#171a20}.laptop-base{background:#adb5bf;border-bottom:2px solid #737e8c;border-radius:1px 1px 6px 6px;width:100%;height:8px;position:absolute;bottom:0}.laptop-base:after{content:"";background:#727f8f;width:16%;height:3px;position:absolute;top:0;left:42%}@media (width<=1100px){.architecture-inner{width:calc(100% - 160px)}.architecture-scene{--node-size:44px;--node-copy-width:21vw}.node-copy>strong{font-size:13px}.architecture-tech{font-size:10px}.architecture-tech img{width:16px;height:16px}.architecture-tools{gap:4px 7px}}@media (width<=700px){.architecture-scene{--node-size:36px;--node-copy-width:21vw}.architecture-inner{height:calc(100svh - 80px)}.architecture-heading{gap:10px}.architecture-heading h2{font-size:23px}.architecture-heading>span{font-size:10px}.node-copy{left:calc(100% + 9px)}.node-back .node-copy{right:calc(100% + 9px)}.node-copy>strong{font-size:12px}.architecture-tech{gap:3px;font-size:10px}.architecture-tech img{width:14px;height:14px}.architecture-tools{gap:3px 6px;margin-top:5px}.architecture-domain{padding:7px 0 0}.architecture-domain strong{gap:5px;font-size:13px}.architecture-domain svg{width:16px;height:16px}.architecture-laptop{width:88px;height:57px}.laptop-display{border-width:3px;gap:3px;padding:5px}.architecture-origin>strong{font-size:11px}}@media (width<=600px){.architecture-scene{--node-copy-width:25vw}.architecture-inner{width:calc(100% - 64px);height:calc(100svh - 108px);margin:0 16px 48px 48px}.node-front .node-copy,.node-back .node-copy{width:22vw}.request-diagram .node-front .node-copy,.request-diagram .node-back .node-copy{top:0;transform:none}.node-front .architecture-tech,.node-back .architecture-tech{white-space:normal;max-width:100%}.architecture-tech img{flex-shrink:0}.architecture-heading h2{font-size:22px}.architecture-diagram{margin-top:24px}}@media (width<=400px){.architecture-scene{--node-size:30px}.architecture-heading h2{font-size:21px}.architecture-laptop{width:76px;height:49px}.architecture-origin{gap:3px}.laptop-display img{width:18px;height:18px}.laptop-display{grid-template-columns:18px 1fr;gap:3px;padding:4px}.node-copy>strong{font-size:12px}.architecture-tech{gap:3px;font-size:10px}.architecture-tech img{width:14px;height:14px}.architecture-tools{gap:2px 5px;margin-top:4px}}@media (width<=340px){.node-front .node-copy>strong,.node-back .node-copy>strong{font-size:11px}}@media (width>=701px) and (height<=680px){.architecture-scene{--node-size:40px}.architecture-inner{height:calc(100svh - 36px)}.architecture-heading h2{font-size:24px}.architecture-diagram{margin-top:16px}.architecture-laptop{width:88px;height:57px}.architecture-domain{padding-top:6px}.architecture-domain strong{font-size:14px}.architecture-domain svg{width:17px;height:17px}.architecture-tech img{width:16px;height:16px}}.hero-sticky{--home-rail-left:16px}.home-navigation{z-index:40;height:var(--home-nav-height);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffed;border-bottom:1px solid #e9edf2;position:fixed;inset:0 0 auto}.home-navigation-inner{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;width:min(1320px,100% - 64px);height:100%;margin:auto;display:grid}.home-navigation button{font:inherit;cursor:pointer;background:0 0;border:0}.home-brand{color:#20252d;white-space:nowrap;justify-self:start;align-items:center;gap:10px;padding:4px 0;display:inline-flex;font-size:20px!important;font-weight:800!important}.home-brand img{width:32px;height:32px}.home-menu{grid-column:2;justify-self:center;align-items:center;gap:8px;display:flex}.home-menu button,.home-menu a{color:#596474;white-space:nowrap;border-radius:6px;padding:8px 18px;font-size:14px;font-weight:600;text-decoration:none}.home-menu button:hover,.home-menu a:hover{color:#2f6fed;background:#f0f5ff}.home-menu-toggle{color:#303a47;grid-column:3;justify-content:center;justify-self:end;align-items:center;width:40px;height:40px;display:none}.home-navigation button:focus-visible,.home-navigation a:focus-visible,.home-chapter-nav button:focus-visible{outline-offset:4px;border-radius:4px;outline:2px solid #2f6fed}.home-chapter-nav{z-index:30;left:var(--home-rail-left);--chapter-ink:#334155;--chapter-active:#174aab;position:fixed;top:50%;transform:translateY(-50%)}.home-chapter-nav.on-dark{--chapter-ink:#f1f5f9;--chapter-active:#fff}.home-chapter-nav ol{gap:3px;margin:0;padding:0;list-style:none;display:grid}.home-chapter-nav button{width:132px;min-height:40px;color:var(--chapter-ink);cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:9px;padding:4px 0;display:flex}.chapter-tick{background:currentColor;flex-shrink:0;width:12px;height:2px;transition:width .18s}.chapter-name{white-space:nowrap;font-size:12px;font-weight:650}.chapter-number{display:none}.home-chapter-nav button[aria-current],.home-chapter-nav button:hover{color:var(--chapter-active)}.home-chapter-nav button[aria-current] .chapter-tick,.home-chapter-nav button:hover .chapter-tick{width:26px;height:3px}.home-chapter-nav button[aria-current] .chapter-name,.home-chapter-nav button:hover .chapter-name{font-weight:800}@media (width<=1100px){.hero-sticky{--home-rail-left:10px}.home-chapter-nav button{justify-content:center;gap:5px;width:44px;padding:4px}.chapter-name{display:none}.chapter-number{font:600 11px ui-monospace,monospace;display:inline}.home-chapter-nav .chapter-tick{width:6px}.home-chapter-nav button[aria-current] .chapter-tick,.home-chapter-nav button:hover .chapter-tick{width:10px}}@media (width<=900px){.hero-section .hero-finale{width:calc(100% - 100px);padding:20px 0}.home-navigation-inner{width:calc(100% - 40px)}.home-menu button,.home-menu a{padding:8px 12px;font-size:13px}}@media (width<=600px){.site-shell .hero-section{--home-nav-height:52px}.hero-section .hero-finale{width:calc(100% - 24px);padding-bottom:58px}.chat-page .chat-login h1{font-size:28px}.site-shell>.site-footer{padding-bottom:84px}.home-menu-toggle{display:inline-flex}.home-menu{background:#fff;border-bottom:1px solid #e9edf2;grid-column:auto;justify-self:stretch;padding:12px 20px 20px;display:none;position:absolute;inset:100% 0 auto;box-shadow:0 10px 22px #20252d12}.home-menu.is-open{grid-template-columns:1fr 1fr;gap:6px;display:grid}.home-menu button,.home-menu a{text-align:left;min-height:44px;font-size:14px}.hero-sticky{--home-rail-left:0px}.home-chapter-nav.on-media{--chapter-ink:#f1f5f9;--chapter-active:#fff}.home-chapter-nav button{justify-content:center;gap:4px;width:40px;min-height:44px;padding:2px}.home-chapter-nav .chapter-tick{width:6px}.home-chapter-nav button[aria-current] .chapter-tick,.home-chapter-nav button:hover .chapter-tick{width:10px}}@media (height<=460px){.home-chapter-nav button{min-height:32px}}@media (prefers-reduced-motion:reduce){.chapter-tick{transition:none}}.site-shell{background:linear-gradient(180deg, #f8fafceb, #fff 38%), radial-gradient(circle at 50% 12%, rgb(var(--brand-rgb) / .18), transparent 34%), radial-gradient(circle at 14% 22%, rgb(var(--brand-rgb) / .12), transparent 28%), radial-gradient(circle at 86% 18%, #fbbf242e, transparent 26%);min-height:100svh;overflow-x:clip}.hero-section{--home-nav-height:56px;text-align:center;background:#020617;border-bottom:0;height:1100lvh;min-height:1100vh;padding:0;position:relative}.hero-sticky{isolation:isolate;background:#eef2f7;place-items:center;height:100lvh;min-height:100vh;max-height:100lvh;padding:0;display:grid;position:sticky;top:0;overflow:hidden}.hero-desk-scene{z-index:1;will-change:opacity;pointer-events:none;background:#eef2f7;place-items:center;display:grid;position:absolute;inset:0}.desk-scroll-cue{z-index:3;color:#fff;pointer-events:none;text-shadow:0 1px 4px #000000bf;flex-direction:column;align-items:center;gap:12px;display:flex;position:absolute;top:24%;right:24%}.desk-scroll-cue span{writing-mode:vertical-rl;white-space:nowrap;font-size:16px;font-weight:800;line-height:1.3;animation:2s ease-in-out infinite desk-cue-blink}.desk-scroll-cue svg{stroke-width:2.7px;animation:1.5s ease-in-out infinite desk-cue-down}@keyframes desk-cue-blink{0%,to{opacity:1}50%{opacity:.45}}@keyframes desk-cue-down{0%,to{transform:translateY(-2px)}50%{transform:translateY(7px)}}@media (width<=600px){.desk-scroll-cue{top:25%;right:18px}.desk-scroll-cue span{font-size:14px}}@media (prefers-reduced-motion:reduce){.desk-scroll-cue span,.desk-scroll-cue svg{animation:none}}.desk-entry-frame{transform:scale(calc(1 - var(--desk-entry-inset,.1) * var(--home-entry-visibility,0)));transform-origin:bottom;border-radius:calc(8px * var(--home-entry-visibility,0));will-change:transform;place-items:center;display:grid;position:absolute;inset:0;overflow:hidden}.desk-photograph{aspect-ratio:16/9;width:max(100%,177.778lvh);transform:translate(calc(var(--desk-pan-x,0%) * var(--desk-travel,0)), calc(var(--desk-pan-y,0%) * var(--desk-travel,0))) scale(var(--desk-scale,1));transform-origin:var(--desk-focus-x,50%) var(--desk-focus-y,50%);flex-shrink:0;position:relative}.desk-photo-fallback,.desk-typing-video,.desk-idle-video{width:100%;height:100%;box-shadow:none;border-radius:0;display:block;position:absolute;inset:0}.desk-typing-video{opacity:0}.desk-typing-video[data-ready=true]{opacity:1}.desk-idle-video{opacity:0;pointer-events:none}.desk-idle-video[data-ready=true]{opacity:var(--idle-opacity,0)}.hero-desk-scene[data-idle-playing=true] .monitor-caret{animation:1.1s step-end infinite desk-idle-caret}@keyframes desk-idle-caret{50%{opacity:0}}@media (prefers-reduced-motion:reduce){.desk-idle-video{display:none}.hero-desk-scene .monitor-caret{animation:none!important}}.monitor-editor{z-index:2;pointer-events:none;width:54.85%;height:47.4%;position:absolute;top:3.2%;left:22.97%;overflow:hidden}.monitor-editor-surface{width:907px;height:var(--editor-height,442px);text-align:left;color:#d7dde8;letter-spacing:0;transform:scale(var(--photo-fit,1));transform-origin:0 0;background:#202630;grid-template-rows:32px minmax(0,1fr) 22px;font:14px/1.7 ui-monospace,SFMono-Regular,Consolas,monospace;display:grid;overflow:hidden}.monitor-editor-tabs{background:#181e27;align-items:stretch;font-size:11px;display:flex}.monitor-editor-tabs span{border-right:1px solid #323a46;padding:5px 16px}.monitor-editor-tabs span:first-child{background:#202630;border-top:2px solid #2f6fed}.monitor-editor-body{grid-template-columns:20% minmax(0,1fr);min-height:0;display:grid}.monitor-file-tree{white-space:pre;color:#97a5b8;background:#252d39;flex-direction:column;gap:5px;padding:16px 8px;font-size:10px;display:flex;overflow:hidden}.monitor-file-tree strong{color:#c5ccda;padding-bottom:8px;font-size:10px}.monitor-file-tree .active-file{color:#fff;background:#34486a}.monitor-code{padding-block:14px;font-size:17px;line-height:1.55;overflow:hidden}.monitor-code>div{align-items:center;min-height:1.55em;display:flex}.monitor-code b{text-align:right;color:#738095;min-width:36px;padding-right:12px;font-size:11px;font-weight:400}.monitor-code code{white-space:pre;font:inherit;color:inherit;background:0 0;padding:0}.monitor-code i{color:#c6a5ee;font-style:normal}.monitor-code em{color:#a4d7a2;font-style:normal}.monitor-code strong{color:#86c8f2;font-weight:400}.monitor-typed-line{background:#2d3a4d}.monitor-message-anchor{vertical-align:bottom;grid-template-areas:"message";display:inline-grid}.monitor-message-measure,.monitor-message-live{grid-area:message}.monitor-message-measure{visibility:hidden}.monitor-message-live{justify-self:start}.monitor-caret{vertical-align:-.15em;border-left:2px solid #f5d375;height:1.1em;display:inline-block}.monitor-editor-status{color:#dae5fc;background:#29466b;justify-content:space-between;padding:2px 12px;font-size:9px;display:flex}.infra-showcase,.hero-finale{grid-area:1/1;width:min(1240px,100% - 48px);position:relative}.infra-heading span{color:var(--brand);letter-spacing:0;font-size:14px;font-weight:900}.infra-showcase{z-index:4;pointer-events:none;background:radial-gradient(circle at 50% 48%, rgb(var(--brand-rgb) / .34), transparent 42%), linear-gradient(135deg, #0f172ab8, #1e293b8a);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);will-change:transform, opacity;border:1px solid #bfdbfe33;border-radius:8px;gap:26px;padding:clamp(22px,4vw,46px);display:grid;box-shadow:0 32px 100px #02061747}.hyperspace-scene{z-index:2;pointer-events:none;background:#020617;position:absolute;inset:0;overflow:hidden}.hyperspace-scene canvas{width:100%;height:100%;display:block}.hero-connection-message{z-index:3;color:#e7edf6;text-align:center;pointer-events:none;background:#0c1017f0;border:1px solid #94a3b852;border-radius:8px;grid-area:1/1;gap:clamp(24px,4vh,42px);width:min(490px,100% - 40px);margin:0;padding:18px 26px 24px;font:16px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;display:grid;position:relative;box-shadow:0 20px 64px #0000004d}.connection-terminal-header{color:#8f9bac;border-bottom:1px solid #94a3b833;justify-content:space-between;padding-bottom:12px;font-size:11px;display:flex}.connection-command{font:inherit;white-space:nowrap}.connection-prompt{color:#7fe0ba}.connection-keyword{color:#c7b6ed}.connection-function{color:#88c8ff}.connection-string{color:#f3d195}.connection-status{color:#c4dbd2;white-space:nowrap;margin:0;font-size:18px;line-height:1.5}.connection-comment{color:#689380}.connection-cursor{vertical-align:-.1em;background:#7fe0ba;width:7px;height:1em;margin-left:6px;animation:1.1s step-end infinite connection-caret;display:inline-block}.connection-progress{background:#29343e;height:2px;overflow:hidden}.connection-progress span{transform-origin:0;background:#7fe0ba;width:100%;height:100%;display:block}@keyframes connection-caret{50%{opacity:0}}@media (prefers-reduced-motion:reduce){.connection-cursor{animation:none}}.hyperspace-scene:after{content:"";pointer-events:none;background:radial-gradient(circle at 50% 46%,#0000 0 26%,#02061724 52%,#020617b8 100%),linear-gradient(#0206171a,#02061761);position:absolute;inset:0}.service-flow{color:#e5eefc;gap:clamp(22px,3vw,36px);display:grid}.service-flow-copy{justify-items:center;gap:8px;display:grid}.service-flow-copy span{color:#93c5fd;letter-spacing:0;font-size:12px;font-weight:900}.service-flow-copy h2{color:#fff;font-size:clamp(28px,4.2vw,52px);line-height:1.12}.service-flow-rail{background:#94a3b838;border-radius:999px;height:4px;position:relative;overflow:hidden}.service-flow-rail span{border-radius:inherit;box-shadow:0 0 26px rgb(var(--brand-rgb) / .42);background:linear-gradient(90deg,#60a5fa,#22c55e,#f59e0b,#38bdf8);transition:inline-size .16s linear;display:block;position:absolute;inset-block:0;inset-inline-start:0}.service-flow-rail i{background:#fff;border-radius:50%;width:18px;height:18px;transition:inset-inline-start .16s linear;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 0 24px #60a5fadb,0 0 54px #60a5fa66}.service-node-list{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.service-node{text-align:center;background:linear-gradient(180deg, rgba(255, 255, 255, calc(.05 + var(--node-progress) * .11)), #ffffff0a), #0f172a7a;min-height:132px;filter:grayscale(calc(1 - var(--node-progress)));opacity:calc(.34 + var(--node-progress) * .66);transform:translateY(calc((1 - var(--node-progress)) * 22px)) scale(calc(.94 + var(--node-progress) * .06));border:1px solid #94a3b838;border-radius:8px;align-content:center;justify-items:center;gap:10px;padding:14px 10px;transition:filter .18s linear,opacity .18s linear,transform .18s linear,border-color .18s linear,background .18s linear;display:grid}.service-node.is-active{border-color:#93c5fd85;box-shadow:0 18px 48px #02061738,inset 0 0 0 1px #ffffff0f}.service-orb{color:#fff;background:#64748b;border-radius:8px;place-items:center;width:52px;height:52px;font-size:13px;font-weight:900;display:grid;box-shadow:0 14px 30px #02061738}.service-orb.client{background:#111827}.service-orb.orange{background:#f97316}.service-orb.blue{background:#2f6fed}.service-orb.green{background:#22c55e}.service-orb.cyan{background:#06b6d4}.service-orb.purple{background:#8b5cf6}.service-orb.mint{background:#14b8a6}.service-orb.navy{background:#1d4ed8}.service-orb.red{background:#ef4444}.service-node-copy{gap:4px;min-width:0;display:grid}.service-node-copy small{color:#93c5fd;font-size:10px;font-weight:900}.service-node-copy strong{color:#fff;word-break:keep-all;font-size:14px;line-height:1.2}.service-node-copy em{color:#cbd5e1;font-size:11px;font-style:normal;line-height:1.25}.infra-heading{gap:8px;display:grid}.infra-heading h2{color:var(--text-h);font-size:46px}.flow-card-grid{gap:18px;display:grid}.flow-card{text-align:left;border:1px solid rgb(var(--brand-rgb) / .16);opacity:.42;background:#ffffffe6;border-radius:8px;grid-template-columns:210px minmax(0,1fr);align-items:center;gap:18px;padding:18px;transition:opacity .28s,transform .28s;display:grid;position:relative;transform:translateY(10px);box-shadow:0 22px 60px #0f172a1a}.flow-card.is-visible{opacity:1;transform:translateY(0)}.flow-card-copy{gap:8px;display:grid}.flow-card-copy strong{color:var(--text-h);font-size:28px}.flow-card-copy span{color:var(--text);font-size:14px;line-height:1.5}.flow-line{background:#94a3b847;border-radius:999px;height:3px;position:absolute;left:244px;right:28px;overflow:hidden}.flow-line span{border-radius:inherit;background:linear-gradient(90deg,#2f6fed,#22c55e,#f59e0b);block-size:100%;transition:inline-size .18s;display:block}.flow-stage-list{z-index:1;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid;position:relative}.flow-stage{text-align:center;filter:grayscale();opacity:.46;background:#f8fafc;border:1px solid #94a3b84d;border-radius:8px;align-content:center;justify-items:center;gap:10px;min-height:118px;padding:12px 8px;transition:filter .28s,opacity .28s,transform .28s,border-color .28s,background .28s;display:grid;transform:translateY(8px)}.flow-stage.is-active{border-color:rgb(var(--brand-rgb) / .36);filter:grayscale(0);opacity:1;background:#fff;transform:translateY(0);box-shadow:0 14px 30px #0f172a14}.service-mark{color:#fff;background:#64748b;border-radius:12px;place-items:center;width:46px;height:46px;font-size:13px;font-weight:900;display:grid}.service-mark.client{background:#111827}.service-mark.orange{background:#f97316}.service-mark.blue{background:#2f6fed}.service-mark.green{background:#22c55e}.service-mark.cyan{background:#06b6d4}.service-mark.purple{background:#8b5cf6}.service-mark.mint{background:#14b8a6}.service-mark.navy{background:#1d4ed8}.service-mark.red{background:#ef4444}.service-copy{gap:4px;display:grid}.service-copy strong{color:var(--text-h);font-size:13px;line-height:1.2}.service-copy small{color:var(--text);font-size:11px;line-height:1.25}.hero-finale{z-index:5;justify-items:center;gap:32px;width:min(1240px,100% - 260px);padding:28px;display:grid}.portfolio-launch-copy{text-align:center;justify-items:center;gap:clamp(12px,2vh,22px);display:grid}.portfolio-launch-heading{justify-items:center;display:grid}.portfolio-launch-copy h2{margin:0;font-size:30px;line-height:1.25}.portfolio-launch-copy p{color:var(--text);margin:6px 0 0;font-size:14px}.portfolio-launch-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;width:min(1080px,100%);display:grid}.portfolio-launch-grid .project-card{min-height:0}.portfolio-launch-grid .project-summary{word-break:keep-all;overflow-wrap:break-word}.hero-actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.primary-action,.secondary-action,.ghost-action{cursor:pointer;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;min-height:48px;padding:0 20px;font-weight:800;text-decoration:none;display:inline-flex}.primary-action{color:#fff;background:var(--brand);box-shadow:0 16px 28px rgb(var(--brand-rgb) / .2)}.secondary-action,.ghost-action{color:var(--accent);border-color:rgb(var(--brand-rgb) / .26);background:#ffffffdb}.primary-action:disabled{cursor:not-allowed;opacity:.52}.primary-action:focus-visible,.secondary-action:focus-visible,.ghost-action:focus-visible{outline:3px solid var(--focus);outline-offset:4px}.eyebrow{color:var(--accent);letter-spacing:0;text-transform:uppercase;margin-bottom:18px;font-size:14px;font-weight:700}.detail-page p:last-child{color:var(--text);font-size:20px;line-height:1.7}.portfolio-wrap{background:linear-gradient(180deg, #fff, #f8fafc 52%, #fff), var(--bg)}.portfolio-section{border-bottom:1px solid var(--border);text-align:center;padding:110px 32px;position:relative}.section-heading{text-align:center;justify-items:center;gap:28px;width:min(1060px,100%);margin:0 auto 42px;display:grid}.section-heading p{color:var(--text);margin-top:10px}.project-grid{justify-content:center;gap:22px;width:min(1060px,100%);margin:0 auto;display:grid}.monitor-section .project-grid{grid-template-columns:repeat(2,minmax(0,340px))}.phone-section .project-grid{grid-template-columns:repeat(3,minmax(0,340px))}.project-card{min-height:370px;color:var(--text);text-align:center;border:1px solid var(--border);background:linear-gradient(#fffffffa,#f8fafcf5),#fff;border-radius:8px;flex-direction:column;align-items:center;padding:18px;text-decoration:none;transition:border-color .2s,transform .2s,box-shadow .2s;display:flex;box-shadow:0 18px 44px #0f172a14}.project-card:hover,.project-card:focus-visible{border-color:var(--accent);transform:translateY(-4px);box-shadow:0 24px 54px #0f172a1f}.project-card:focus-visible,.back-link:focus-visible{outline:3px solid var(--focus);outline-offset:4px}.project-title{color:var(--text-h);margin-top:18px;font-size:21px;font-weight:800;line-height:1.25}.project-summary{margin-top:8px;line-height:1.6}.device-illustration{background:linear-gradient(135deg, rgb(var(--brand-rgb) / .14), rgb(var(--brand-rgb) / .08));border-radius:22px;place-items:center;width:210px;height:154px;display:grid;position:relative}.device-illustration.monitor .device-screen{background:linear-gradient(135deg,#ecfeff,#fef3c7);border:8px solid #111827;border-radius:10px;width:168px;height:104px}.device-illustration.phone{border-radius:30px;width:154px;height:176px}.device-illustration.phone .device-screen{background:linear-gradient(135deg,#f0fdf4,#dbeafe);border:8px solid #111827;border-radius:24px;width:92px;height:140px}.device-screen{gap:8px;padding:16px;display:grid;box-shadow:0 20px 44px #0f172a2e}.device-screen span{background:#0f172a24;border-radius:999px}.device-screen span:first-child{width:70%}.device-screen span:nth-child(2){width:100%}.device-screen span:last-child{width:52%}.device-stand{background:#111827;border-radius:999px;width:78px;height:10px;position:absolute;bottom:14px}.portfolio-launch-copy .device-illustration{background:0 0;border-radius:8px;width:116px;height:86px}.portfolio-launch-copy .device-illustration.monitor .device-screen{border-width:5px;border-radius:6px;gap:4px;width:90px;height:58px;padding:8px}.portfolio-launch-copy .device-stand{width:44px;height:6px;bottom:7px}.project-visual{background:linear-gradient(135deg,#e0f2fe,#fef3c7);border-radius:7px;place-items:center;width:100%;min-height:210px;display:grid;overflow:hidden}.chat-visual{aspect-ratio:1.35;border:1px solid rgb(var(--brand-rgb) / .16);background:#ffffffeb;border-radius:8px;grid-template-rows:34px minmax(0,1fr);width:min(82%,340px);display:grid;overflow:hidden;box-shadow:0 18px 34px #0f172a24}.chat-visual-header{border-bottom:1px solid #0f172a14;align-items:center;gap:7px;padding:0 14px;display:flex}.chat-visual-header span{border-radius:50%;width:10px;height:10px}.chat-visual-header span:first-child{background:#ef4444}.chat-visual-header span:nth-child(2){background:#f59e0b}.chat-visual-header span:last-child{background:#22c55e}.chat-visual-body{grid-template-columns:26px 1fr 1fr 26px;grid-auto-rows:minmax(22px,auto);align-content:center;gap:10px;padding:18px;display:grid}.chat-visual-avatar{background:var(--brand-soft-strong);border-radius:50%;width:26px;height:26px;box-shadow:inset 0 0 0 6px #fff}.chat-visual-avatar.right{background:#fde68a;grid-column:4}.chat-visual-bubble{background:var(--brand-soft-strong);border-radius:8px;min-height:30px}.chat-visual-bubble.left{border-top-left-radius:3px;grid-column:2/4}.chat-visual-bubble.right{background:var(--brand);border-top-right-radius:3px;grid-column:2/4}.chat-visual-bubble.short{min-height:24px}.chat-visual-bubble.left.short{grid-column:2/3}.chat-visual-bubble.right.short{grid-column:3/4}.visual-window{background:#ffffffeb;border:1px solid #0f172a1f;border-radius:8px;flex-direction:column;width:78%;height:132px;display:flex;overflow:hidden;box-shadow:0 18px 34px #0f172a2e}.visual-topbar{background-color:#0000;background-image:linear-gradient(90deg,#ef4444 0 10px,#0000 10px 18px),linear-gradient(90deg,#f59e0b 0 10px,#0000 10px 18px),linear-gradient(90deg,#22c55e 0 10px,#0000 10px 18px);background-position:14px 10px,34px 10px,54px 10px;background-repeat:no-repeat;background-size:18px 10px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border-bottom:1px solid #0f172a1a;height:28px}.visual-body{flex:1;grid-template-rows:repeat(2,1fr);grid-template-columns:1.2fr .8fr;gap:10px;padding:14px;display:grid}.visual-body span{background:#0f172a1a;border-radius:6px}.visual-body span:first-child{grid-row:span 2}.cloud-admin{background:linear-gradient(135deg, var(--brand-soft-strong), #eef2ff)}.team-board{background:radial-gradient(circle at 22% 20%, rgb(var(--brand-rgb) / .16), transparent 34%), radial-gradient(circle at 80% 82%, #facc152e, transparent 32%), linear-gradient(135deg, #f8fbff, var(--brand-soft))}.studio-site{background:linear-gradient(135deg,#fee2e2,#e0e7ff)}.habit-app{background:linear-gradient(135deg,#dcfce7,#fef9c3)}.wallet-app{background:linear-gradient(135deg,#ede9fe,#cffafe)}.travel-app{background:linear-gradient(135deg,#ffedd5,#dbeafe)}.site-footer{color:#cbd5e1;text-align:left;background:#111827;justify-content:space-between;align-items:center;gap:24px;padding:32px max(32px,50vw - 600px);display:flex}.site-footer-identity{gap:5px;display:grid}.site-footer-identity strong{color:#fff;font-size:17px}.site-footer-identity span{font-size:12px}.site-footer-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:20px;display:inline-flex}.footer-email{color:#cbd5e1;text-underline-offset:3px;font-size:14px}.footer-email:hover,.footer-email:focus-visible{color:#fff}.backend-status{color:#d1d5db;border:1px solid #d1d5db47;border-radius:999px;align-items:center;min-height:30px;padding:5px 10px;font-size:14px;font-weight:700;display:inline-flex}.backend-status.online{color:#99f6e4;border-color:#2dd4bf6b}.backend-status.offline{color:#fecaca;border-color:#f8717175}.detail-page{text-align:center;align-content:center;justify-items:center;gap:20px;width:min(760px,100% - 48px);min-height:100svh;margin:0 auto;padding:72px 0;display:grid}.detail-page .project-visual{min-height:320px}.back-link{width:fit-content;color:var(--accent);font-weight:800;text-decoration:none}[data-reveal].is-visible{opacity:1;transform:translateY(0)scale(1)}@media (prefers-reduced-motion:reduce){[data-reveal]{opacity:1;transition:none;transform:none}.project-card:hover,.project-card:focus-visible{transform:none}.hero-desk-scene,.hero-finale,.infra-showcase,.hyperspace-scene,.service-node,.service-flow-rail span,.service-flow-rail i{transition:none}}@media (width<=820px){.hero-connection-message{gap:16px;padding:14px 16px 20px;font-size:13px}.connection-status{font-size:16px}.hero-section{min-height:360svh;padding:0}.hero-sticky{padding:0}.infra-showcase{gap:12px;width:calc(100% - 24px);padding:12px}.hyperspace-scene:after{background:radial-gradient(circle at 50% 46%,#0000 0 18%,#0206172e 48%,#020617cc 100%),linear-gradient(#02061729,#02061770)}.service-flow{gap:14px}.service-flow-copy h2{font-size:24px}.service-node-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.service-node{gap:7px;min-height:96px;padding:10px 6px}.service-orb{width:34px;height:34px;font-size:10px}.service-node-copy small{font-size:9px}.service-node-copy strong{font-size:11px}.service-node-copy em{display:none}.infra-heading h2,.portfolio-launch-copy h2{font-size:27px;line-height:1.22}.flow-card{grid-template-columns:1fr;gap:12px;padding:12px}.flow-card-copy{text-align:center;justify-items:center}.flow-card-copy strong{font-size:20px}.flow-card-copy span{display:none}.flow-line{left:22px;right:22px}.flow-stage-list{grid-template-columns:repeat(3,minmax(0,1fr))}.flow-stage{gap:6px;min-height:86px;padding:8px 6px}.service-mark{border-radius:10px;width:34px;height:34px;font-size:11px}.service-copy strong{font-size:11px}.service-copy small{display:none}.hero-finale{gap:clamp(18px,3vh,28px);width:calc(100% - 24px);padding:12px 0}.portfolio-launch-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.portfolio-launch-grid .project-card{padding:10px}.portfolio-launch-grid .project-visual{height:100px;min-height:0}.portfolio-launch-grid .project-title{margin-top:12px;font-size:17px}.portfolio-launch-grid .project-summary{font-size:12px}.portfolio-launch-grid .visual-window,.portfolio-launch-grid .chat-visual{width:88%;height:80px}.portfolio-launch-grid .chat-visual{grid-template-rows:14px 1fr}.portfolio-launch-grid .chat-visual-body{grid-template-columns:12px 1fr 1fr 12px;grid-auto-rows:12px;gap:4px;padding:6px}.portfolio-launch-grid .chat-visual-avatar{width:12px;height:12px;box-shadow:none}.portfolio-launch-grid .chat-visual-bubble{height:10px;min-height:10px}.portfolio-section{padding:64px 20px}.monitor-section .project-grid,.phone-section .project-grid{grid-template-columns:1fr}.project-card{min-height:0}.site-footer{flex-direction:column;align-items:flex-start;padding:24px 20px}.site-footer-actions{justify-content:flex-start}}
