:root{--container-page:76rem;--container-dashboard:72rem;--measure-prose:40rem;--measure-explainer:44rem;--space-section:clamp(5rem, 10vw, 9rem);--color-ink:#03050c;--color-deep-teal:#071020;--color-dark-surface:#0a1328;--color-slate:#64738d;--color-teal:#4ed9f2;--color-aqua:#70eaff;--color-mist-blue:#9bb8e9;--color-page-light:#f4f2ed;--color-page-soft:#e8eeed;--color-surface-light:#fbfaf7;--color-text-dark:#173034;--color-text-muted:#61767a;--color-text-light:#f3f6ff;--color-text-light-muted:#a1aec3;--flow-cyan:#63e7ff;--flow-blue:#5c8cff;--flow-violet:#9b7cff;--flow-pink:#d87bff;--border-light:#97c4ff2e;--border-dark:#07191c29;--shadow-light:0 18px 46px #07191c24;--shadow-hover:0 24px 60px #07191c33}.portfolio-body{background:var(--color-page-light);color:var(--color-text-dark);background-image:none}.portfolio-body *{box-sizing:border-box}.portfolio-page{background:var(--color-page-light);min-height:100vh;color:var(--color-text-dark);font-family:var(--font-body-en), "Noto Sans SC", sans-serif;position:relative;overflow:clip}.portfolio-content-shell{perspective:1400px;transform-style:preserve-3d;position:relative}.cinematic-scroll{isolation:isolate;perspective:1400px;position:relative}.cinematic-stage{z-index:4;pointer-events:none;height:100svh;transform-style:preserve-3d;will-change:transform, opacity;background:linear-gradient(#07191c0d,#07191c33);margin-bottom:-100svh;position:sticky;top:0;overflow:hidden}.cinematic-stage-vignette,.cinematic-stage-grid,.cinematic-stage-depth{position:absolute;inset:0}.cinematic-stage-depth{pointer-events:none;opacity:.34;transform-style:preserve-3d;will-change:transform, opacity}.cinematic-stage-depth-one{background:radial-gradient(at 18% 68%,#59cad61f,#0000 34%),radial-gradient(at 82% 28%,#8b7cc11a,#0000 32%);transform:translateZ(-220px)scale(1.18)}.cinematic-stage-depth-two{mix-blend-mode:screen;opacity:.24;background:linear-gradient(110deg,#0000 14%,#59cad60d 44%,#0000 62%),linear-gradient(290deg,#0000 30%,#c982a00b 54%,#0000 72%);transform:translateZ(120px)scale(1.05)}.cinematic-stage-vignette{opacity:.7;background:radial-gradient(circle at 72% 22%,#59cad614,#0000 34%),linear-gradient(90deg,#07191c29,#0000 32% 70%,#07191c33)}.cinematic-stage-grid{opacity:.16;background-image:linear-gradient(#89b4bf12 1px,#0000 1px),linear-gradient(90deg,#89b4bf12 1px,#0000 1px);background-size:84px 84px;transform:translateZ(-160px)rotateX(2deg)scale(1.12);-webkit-mask-image:linear-gradient(90deg,#0000,#000 24% 76%,#0000);mask-image:linear-gradient(90deg,#0000,#000 24% 76%,#0000)}.cinematic-object{opacity:.42;transform-style:preserve-3d;will-change:transform;background:linear-gradient(135deg,#59cad614,#8b7cc105);border:1px solid #89b4bf33;position:absolute;box-shadow:inset 0 0 0 1px #f1f4f208,0 28px 90px #07191c1a}.cinematic-object-one{border-radius:42% 58% 48% 52%;width:24vw;max-width:320px;height:24vw;max-height:320px;top:12%;right:-7vw;transform:rotate(8deg)translateZ(120px)}.cinematic-object-two{border-radius:44% 56% 38% 62%;width:32vw;max-width:420px;height:18vw;max-height:220px;bottom:8%;left:-11vw;transform:rotate(-12deg)translateZ(180px)}.cinematic-stage-labels{z-index:2;align-content:center;justify-items:start;padding:0 clamp(24px,8vw,120px);display:grid;position:absolute;inset:0}.cinematic-stage-label{opacity:0;will-change:transform, opacity, filter;gap:8px;max-width:min(40rem,68vw);display:grid;position:absolute}.cinematic-stage-label:first-child{opacity:1}.cinematic-stage-label span,.cinematic-stage-label small{color:var(--flow-cyan);font-family:var(--font-code);letter-spacing:.16em;text-transform:uppercase;font-size:.68rem}.cinematic-stage-label strong{color:var(--color-text-light);font-family:var(--font-display-en), "Noto Sans SC", sans-serif;letter-spacing:-.05em;font-size:clamp(2.2rem,5vw,5.4rem);font-weight:500;line-height:.96}.cinematic-progress-track{z-index:3;background:#acc0c247;width:1px;height:18vh;position:absolute;top:50%;right:clamp(18px,3vw,48px);overflow:hidden;transform:translateY(-50%)}.cinematic-progress-track span{background:linear-gradient(180deg, var(--flow-cyan), var(--flow-violet), var(--flow-pink));transform-origin:top;will-change:transform;width:100%;height:100%;display:block;transform:scaleY(0)}.cinematic-scroll>.portfolio-content-shell{z-index:1;position:relative}.portfolio-page.is-page-hidden .web-pet-sprite,.portfolio-page.is-page-hidden .portfolio-flow-core{animation-play-state:paused}.portfolio-page.is-low-power .portfolio-flow-ribbon-glow{filter:none;opacity:.1}.portfolio-page.is-low-power .web-pet-sprite{filter:none}.portfolio-page.is-low-power .cinematic-stage-depth,.portfolio-page.is-low-power .cinematic-stage-grid,.portfolio-page.is-low-power .cinematic-object{display:none}.portfolio-page button,.portfolio-page a{font:inherit}.portfolio-nav{z-index:20;width:100%;color:var(--color-text-light);mix-blend-mode:screen;justify-content:space-between;align-items:center;padding:22px clamp(20px,4vw,64px);display:flex;position:fixed;top:0;left:0}.portfolio-wordmark{color:inherit;font-family:var(--font-code);letter-spacing:.16em;font-size:.8rem;font-weight:600;text-decoration:none}.portfolio-wordmark span{color:var(--color-text-light-muted);font-weight:400}.portfolio-nav-links{gap:clamp(16px,3vw,42px);display:flex}.portfolio-nav-links a,.portfolio-nav-action{color:inherit;background:0 0;border:0;font-size:.78rem;text-decoration:none;transition:color .18s,opacity .18s}.portfolio-nav-links a:hover,.portfolio-nav-action:hover{color:var(--flow-cyan)}.portfolio-nav-action{border-bottom:1px solid var(--color-text-light-muted);cursor:pointer;padding:0 0 4px}.portfolio-language-switch{color:inherit;font-family:var(--font-code);letter-spacing:.08em;opacity:.82;margin-left:auto;margin-right:clamp(14px,2vw,28px);font-size:.72rem;text-decoration:none;transition:color .18s,opacity .18s}.portfolio-language-switch:hover{color:var(--flow-cyan);opacity:1}.portfolio-hero{isolation:isolate;background:var(--color-ink);place-items:end start;min-height:100svh;display:grid;position:relative;overflow:hidden}.portfolio-hero-video,.portfolio-hero-scrim{width:100%;height:100%;position:absolute;inset:0}.portfolio-hero-video{z-index:-3;object-fit:cover;opacity:1;transition:opacity .7s}.portfolio-hero.is-finished .portfolio-hero-video{opacity:0}.portfolio-hero-final-frame{z-index:-4;object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .7s;position:absolute;inset:0}.portfolio-hero-loop-mask{z-index:-2;opacity:0;pointer-events:none;background:radial-gradient(at 72% 54%,#59cad633,#0000 38%),linear-gradient(112deg,#03050cfa 14%,#0d2c30f5 52%,#03050cfa);transition:opacity .18s,transform .46s cubic-bezier(.22,1,.36,1);position:absolute;inset:-12%;transform:translate(42%)scaleX(.72)}.portfolio-hero.is-looping .portfolio-hero-loop-mask{opacity:1;transform:translate(0,0)scaleX(1)}.portfolio-hero.is-finished .portfolio-hero-final-frame{opacity:1}.portfolio-hero-flow-bridge{z-index:0;opacity:0;width:min(60vw,720px);height:40%;transition:opacity .7s,transform .9s cubic-bezier(.22,1,.36,1);position:absolute;bottom:-1px;right:0;overflow:visible;transform:translateY(16%)}.portfolio-hero.is-finished .portfolio-hero-flow-bridge{opacity:.58;transform:translateY(0)}.portfolio-hero-flow-bridge path{fill:none;stroke:url(#hero-flow-gradient);stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.portfolio-hero-flow-glow{filter:url(#hero-flow-glow);opacity:.18;stroke-width:60px}.portfolio-hero-flow-body{filter:url(#hero-flow-displacement);opacity:.34;stroke-width:44px}.portfolio-hero-flow-secondary{opacity:.3;stroke-width:28px}.portfolio-hero-flow-texture{filter:url(#hero-flow-displacement);mix-blend-mode:screen;opacity:.28;stroke-dasharray:none;stroke-width:24px;stroke:url(#hero-flow-inner-gradient)!important}.portfolio-hero-flow-edge{filter:url(#hero-flow-displacement);mix-blend-mode:screen;opacity:.36;stroke-width:8px;stroke:url(#hero-flow-inner-gradient)!important}.portfolio-hero-flow-highlight{mix-blend-mode:screen;opacity:.42;stroke-dasharray:none;stroke-width:2.5px;stroke:url(#hero-flow-inner-gradient)!important}.portfolio-hero-scrim{z-index:-1;background:linear-gradient(#07191c0f 20%,#07191ccc 100%)}.portfolio-hero-content{z-index:1;max-width:760px;color:var(--color-text-light);padding:0 clamp(24px,8vw,120px) clamp(72px,12vh,140px);position:relative}.portfolio-eyebrow,.portfolio-section-kicker,.portfolio-card-kicker{color:var(--color-aqua);font-family:var(--font-code);letter-spacing:.12em;text-transform:uppercase;margin:0 0 16px;font-size:.7rem}.portfolio-hero h1{max-width:min(100%,980px);font-family:var(--font-display-en), "Noto Sans SC", sans-serif;letter-spacing:-.055em;white-space:nowrap;word-break:keep-all;margin:0;font-size:clamp(3.75rem,9vw,8.5rem);font-weight:500;line-height:.98}.portfolio-hero-subtitle{max-width:520px;color:var(--color-text-light-muted);margin:28px 0;font-size:clamp(.86rem,1.4vw,1.06rem);line-height:1.7}.portfolio-button{cursor:pointer;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;min-height:46px;padding:0 20px;font-size:.82rem;transition:transform .2s,background .2s,border-color .2s;display:inline-flex}.portfolio-button:hover{transform:translateY(-2px)}.portfolio-button-light{color:var(--color-text-light);background:#f1f4f21a;border-color:#f1f4f28c}.portfolio-button-light:hover{background:var(--color-teal)}.portfolio-hero-actions{flex-wrap:wrap;gap:10px;display:flex}.portfolio-button-ghost{color:var(--color-text-light);background:#07191c29;border-color:#f1f4f259}.portfolio-button-ghost:hover{border-color:var(--flow-cyan);background:#59cad61f}.portfolio-button-dark{background:var(--color-teal);color:var(--color-text-light)}.portfolio-button-dark:hover{background:#246b6e}.portfolio-hero-controls{z-index:1;gap:12px;display:flex;position:absolute;bottom:34px;right:clamp(20px,4vw,64px)}.portfolio-hero-controls button{color:var(--color-text-light);cursor:pointer;background:#07191c3d;border:1px solid #f1f4f24d;border-radius:999px;padding:10px 14px;font-size:.7rem}.portfolio-hero-note{z-index:1;color:#f1f4f2a6;max-width:180px;font-family:var(--font-code);text-align:right;font-size:.62rem;line-height:1.6;position:absolute;bottom:120px;right:clamp(20px,4vw,64px)}.portfolio-content-shell{position:relative}.portfolio-flow{z-index:0;pointer-events:none;position:absolute;inset:0}.portfolio-flow-svg{width:min(720px,68vw);height:100%;position:absolute;top:0;left:50%;overflow:visible;transform:translate(-50%)}.portfolio-flow-ribbon-glow,.portfolio-flow-ribbon-body,.portfolio-flow-ribbon-secondary,.portfolio-flow-ribbon-texture,.portfolio-flow-ribbon-highlight,.portfolio-flow-ribbon-edge{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;transform-box:fill-box;transform-origin:50%}.portfolio-flow-ribbon-glow{filter:url(#portfolio-flow-glow);opacity:.2;stroke-width:150px}.portfolio-flow-ribbon-body{filter:url(#portfolio-flow-body-displacement);opacity:.56;stroke-width:112px}.portfolio-flow-ribbon-secondary{opacity:.36;stroke-width:56px}.portfolio-flow-ribbon-texture{filter:url(#portfolio-flow-displacement);mix-blend-mode:multiply;opacity:.5;stroke-width:78px;stroke-dasharray:18 26}.portfolio-flow-ribbon-highlight{mix-blend-mode:screen;opacity:.74;stroke-dasharray:none;stroke-width:9px}.portfolio-flow-ribbon-edge{filter:url(#portfolio-flow-displacement);mix-blend-mode:screen;opacity:.34;stroke-width:5px}.portfolio-flow-particle{filter:drop-shadow(0 0 7px #59cad6b8);opacity:0;transform-box:fill-box;transform-origin:50%}.portfolio-flow-core{fill:#c8fbff;filter:drop-shadow(0 0 12px #59cad6cc);opacity:.7;will-change:transform}.portfolio-flow-node-ripple{fill:none;stroke:var(--flow-cyan);opacity:0}.portfolio-flow-node-halo{fill:none;stroke:var(--flow-cyan);stroke-width:1px;stroke-dasharray:2 7;opacity:.16}.portfolio-flow-node-dot{fill:var(--color-page-light);stroke:var(--flow-cyan);stroke-width:1.4px;opacity:.4}.portfolio-flow-node{opacity:.5;transform-box:fill-box;transform-origin:50%;will-change:transform, opacity;transition:opacity .26s,transform .26s}.portfolio-flow-node.is-active{opacity:1;transform:scale(1.18)}.portfolio-flow-node.is-active .portfolio-flow-node-dot{fill:var(--flow-cyan);filter:drop-shadow(0 0 7px #59cad6b3);opacity:.95}.portfolio-flow-node.is-active .portfolio-flow-node-halo{opacity:.5}.portfolio-flow-node text{fill:var(--color-slate);font-family:var(--font-code);letter-spacing:.08em;text-transform:uppercase;font-size:9px}.portfolio-section{z-index:1;min-height:100svh;transform-style:preserve-3d;will-change:transform;padding:clamp(96px,14vw,190px) clamp(24px,8vw,120px);position:relative;overflow:hidden}.portfolio-projects-section{overflow:visible}.portfolio-section:before{content:"";pointer-events:none;background:radial-gradient(circle at 68% 34%,#4b9ea21a,#0000 42%),linear-gradient(90deg,#07191c09,#0000 38%,#6e91d00b);position:absolute;inset:0}.portfolio-section-inner{z-index:1;width:min(var(--container-page), 100%);margin:0 auto;position:relative}.portfolio-section-light{background:#f4f2edf5}.portfolio-section-soft{background:#e8eeedf5}.portfolio-section h2{max-width:720px;color:var(--color-text-dark);font-family:var(--font-display-en), "Noto Sans SC", sans-serif;letter-spacing:-.035em;margin:0;font-size:clamp(2.5rem,5vw,4.75rem);font-weight:500;line-height:1.02}.portfolio-two-column,.portfolio-feature-grid,.portfolio-contact-inner{grid-template-columns:minmax(0,1fr) minmax(0,.8fr);align-items:start;gap:clamp(42px,9vw,150px);display:grid}.portfolio-lede{max-width:530px;color:var(--color-text-muted);margin:12px 0 28px;font-size:clamp(1rem,1.45vw,1.2rem);line-height:1.8}.portfolio-origin-intro{max-width:var(--measure-explainer,44rem)}.portfolio-origin-grid{border-top:1px solid var(--border-light);grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-top:clamp(48px,8vw,96px);display:grid}.portfolio-origin-step{border-right:1px solid var(--border-light);align-content:start;gap:12px;min-height:260px;padding:20px clamp(14px,2.2vw,28px) 0 0;display:grid}.portfolio-origin-step+.portfolio-origin-step{padding-left:clamp(14px,2.2vw,28px)}.portfolio-origin-step:last-child{border-right:0}.portfolio-origin-step>span{color:var(--color-teal);font-family:var(--font-code);letter-spacing:.14em;font-size:.7rem}.portfolio-origin-step h3{color:var(--color-text-dark);margin:0;font-size:clamp(1.1rem,1.6vw,1.35rem);font-weight:600}.portfolio-origin-step p,.portfolio-origin-step strong{color:var(--color-text-muted);margin:0;font-size:.88rem;line-height:1.7}.portfolio-origin-step strong{color:var(--color-teal);font-family:var(--font-code);margin-top:auto;font-size:.72rem;font-weight:500}.portfolio-capabilities{flex-wrap:wrap;gap:10px;display:flex}.portfolio-capabilities span,.portfolio-tool-list span{border:1px solid var(--border-light);color:var(--color-teal);border-radius:999px;padding:8px 12px;font-size:.72rem}.portfolio-project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:64px;display:grid}.portfolio-featured-stack{border-top:1px solid var(--border-light);border-bottom:1px solid var(--border-light);align-items:center;min-height:100svh;margin-top:64px;display:flex;position:sticky;top:0;overflow:clip}.portfolio-featured-track{will-change:transform;align-items:stretch;gap:0;width:max-content;padding:clamp(42px,7vw,96px) clamp(24px,8vw,120px) clamp(72px,9vw,120px);display:flex}.portfolio-featured-card{background:linear-gradient(145deg, #fbfaf7fa, #e8eeedf2), var(--color-surface-light);transform-origin:50% 88%;border-radius:22px;flex:0 0 min(68vw,760px);min-height:min(58svh,560px);margin-right:clamp(-120px,-9vw,-58px);transition:border-color .22s,box-shadow .22s;position:relative;box-shadow:0 26px 80px #07191c1f}.portfolio-featured-card:first-child{z-index:1}.portfolio-featured-card:nth-child(2){z-index:2}.portfolio-featured-card:nth-child(3){z-index:3}.portfolio-featured-card:nth-child(4){z-index:4}.portfolio-featured-card:nth-child(5){z-index:5}.portfolio-featured-card:hover{border-color:#4b9ea294;box-shadow:0 34px 100px #07191c33}.portfolio-featured-scroll-note{color:var(--color-text-muted);font-family:var(--font-code);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:10px;font-size:.64rem;display:inline-flex;position:absolute;bottom:22px;right:clamp(22px,8vw,120px)}.portfolio-featured-scroll-note i{background:linear-gradient(90deg, var(--flow-cyan), transparent);width:56px;height:1px;display:block}.portfolio-project-card{border:1px solid var(--border-light);background:var(--color-surface-light);min-height:420px;box-shadow:var(--shadow-light);border-radius:18px;flex-direction:column;justify-content:space-between;padding:clamp(22px,3vw,36px);transition:transform .22s,box-shadow .22s,border-color .22s;display:flex}.portfolio-project-card:hover{box-shadow:var(--shadow-hover);border-color:#4b9ea26b;transform:translateY(-3px)}.portfolio-project-index{color:var(--color-mist-blue);font-family:var(--font-code);font-size:.76rem}.portfolio-project-card h3{letter-spacing:-.035em;margin:16px 0 10px;font-size:clamp(1.25rem,2vw,1.75rem);font-weight:500;line-height:1.1}.portfolio-card-subtitle{color:var(--color-teal);font-size:.9rem;line-height:1.5}.portfolio-project-card>div:last-child>p:not(.portfolio-card-subtitle){color:var(--color-text-muted);font-size:.9rem;line-height:1.7}.portfolio-project-source{font-family:var(--font-code);letter-spacing:.06em;color:var(--color-teal)!important;font-size:.66rem!important}.portfolio-tool-list{flex-wrap:wrap;gap:7px;margin-top:22px;display:flex}.portfolio-tool-list span{color:var(--color-slate);padding:6px 9px;font-size:.63rem}.portfolio-text-button{border:0;border-bottom:1px solid var(--color-teal);color:var(--color-teal);cursor:pointer;background:0 0;gap:8px;margin-top:24px;padding:0 0 5px;font-size:.78rem;display:inline-flex}.project-lab-shell{border-top:1px solid var(--border-light);gap:24px;margin-top:64px;padding-top:28px;display:grid}.project-lab-switcher,.project-lab-tabs{flex-wrap:wrap;gap:8px;display:flex}.project-lab-switcher button,.project-lab-tabs button,.project-lab-note-list button{border:1px solid var(--border-light);color:var(--color-text-muted);cursor:pointer;background:0 0;border-radius:999px;padding:9px 13px;font-size:.74rem;transition:color .18s,border-color .18s,background .18s,transform .18s}.project-lab-switcher button:hover,.project-lab-switcher button.is-active,.project-lab-tabs button:hover,.project-lab-tabs button.is-active,.project-lab-note-list button.is-active{border-color:var(--color-teal);color:var(--color-teal);background:#2b7b7e1a}.project-lab-header{justify-content:space-between;align-items:end;gap:24px;display:flex}.project-lab-header span,.project-lab-source>span{color:var(--color-aqua);font-family:var(--font-code);letter-spacing:.1em;text-transform:uppercase;font-size:.68rem}.project-lab-header h3{color:var(--color-text-dark);letter-spacing:-.05em;margin:8px 0;font-size:clamp(1.8rem,4vw,3.5rem);font-weight:500}.project-lab-header p{max-width:560px;color:var(--color-text-muted);margin:0;line-height:1.6}.project-lab-demo{border:1px solid var(--border-light);background:#fbfaf7d6;border-radius:18px;gap:18px;min-height:230px;padding:clamp(18px,3vw,32px);display:grid}.project-lab-prompt,.project-lab-demo>p{color:var(--color-text-muted);margin:0;line-height:1.65}.project-lab-flow{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;display:grid}.project-lab-flow button{border:1px solid var(--border-light);background:var(--color-surface-light);min-height:74px;color:var(--color-text-muted);cursor:pointer;text-align:left;border-radius:12px;padding:10px;font-size:.72rem;line-height:1.35}.project-lab-flow button span{color:var(--color-aqua);font-family:var(--font-code);margin-bottom:8px;font-size:.64rem;display:block}.project-lab-flow button.is-done{border-color:var(--color-teal);color:var(--color-text-dark);background:#2b7b7e1a}.project-lab-action{justify-self:start}.project-lab-chat{border-top:1px solid var(--border-light);gap:8px;padding-top:16px;display:grid}.project-lab-chat label{color:var(--color-text-muted);font-size:.72rem}.project-lab-chat>div{gap:8px;display:flex}.project-lab-chat input{border:1px solid var(--border-light);background:var(--color-surface-light);min-width:0;color:var(--color-text-dark);font:inherit;border-radius:9px;flex:1;padding:10px}.project-lab-chat button{background:var(--color-teal);color:var(--color-text-light);cursor:pointer;border:0;border-radius:9px;padding:0 14px;font-size:.75rem}.project-lab-chat-log{gap:7px;max-height:160px;display:grid;overflow:auto}.project-lab-chat-log p{max-width:88%;color:var(--color-text-dark);border-radius:10px;margin:0;padding:8px 10px;font-size:.74rem;line-height:1.5}.project-lab-chat-log p.user{background:var(--color-page-soft);justify-self:end}.project-lab-chat-log p.assistant{border:1px solid var(--border-light);background:var(--color-surface-light)}.project-lab-form-grid{grid-template-columns:1fr 1fr 1.4fr;gap:10px;display:grid}.project-lab-form-grid label,.project-lab-input-label{color:var(--color-text-muted);gap:7px;font-size:.72rem;display:grid}.project-lab-form-grid select,.project-lab-form-grid input,.project-lab-input-label input{border:1px solid var(--border-light);background:var(--color-surface-light);min-width:0;color:var(--color-text-dark);font:inherit;border-radius:9px;padding:10px}.project-lab-result,.project-lab-ledger{border-top:1px solid var(--border-light);gap:7px;padding-top:15px;display:grid}.project-lab-result span,.project-lab-result small{color:var(--color-text-muted);font-size:.7rem}.project-lab-result strong{color:var(--color-teal);font-family:var(--font-code);font-size:1.35rem}.project-lab-result p{color:var(--color-text-dark);margin:0}.project-lab-ledger div{border-bottom:1px solid var(--border-light);color:var(--color-text-muted);grid-template-columns:.8fr 1fr .6fr;padding:8px 0;font-size:.76rem;display:grid}.project-lab-ledger b{color:var(--color-teal);text-align:right}.project-lab-accounting-flow{grid-template-columns:repeat(4,1fr);gap:7px;display:grid}.project-lab-accounting-flow span{border:1px solid var(--border-light);color:var(--color-text-muted);font-family:var(--font-code);border-radius:9px;padding:10px;font-size:.64rem;line-height:1.35}.project-lab-accounting-flow span.is-active{border-color:var(--color-teal);color:var(--color-teal)}.project-lab-accounting-status{border-left:2px solid var(--color-teal);color:var(--color-text-dark);margin:0;padding-left:10px;font-size:.76rem}.project-lab-agent-graph{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.project-lab-agent-graph button{border:1px solid var(--border-light);background:var(--color-surface-light);color:var(--color-text-muted);cursor:pointer;font-family:var(--font-code);border-radius:12px;padding:20px 10px;font-size:.72rem}.project-lab-agent-graph button.is-active{border-color:var(--color-teal);color:var(--color-teal);background:#2b7b7e1a;transform:translateY(-2px)}.project-lab-collaboration{border-top:1px solid var(--border-light);grid-template-columns:auto 1fr;align-items:center;gap:16px;padding-top:16px;display:grid}.project-lab-collaboration-message{color:var(--color-text-dark);font-family:var(--font-code);margin:0;font-size:.74rem}.project-lab-note-list{flex-wrap:wrap;gap:8px;display:flex}.project-lab-note-preview{border-left:2px solid var(--color-teal);gap:12px;max-width:520px;padding-left:16px;display:grid}.project-lab-note-preview span{color:var(--color-text-muted);font-family:var(--font-code);font-size:.7rem}.project-lab-note-preview strong{font-size:1.2rem;font-weight:500}.project-lab-source{border-top:1px solid var(--border-light);gap:8px;padding-top:16px;display:grid}.project-lab-source strong{color:var(--color-text-dark);font-family:var(--font-code);font-size:.78rem}.project-lab-source div{flex-wrap:wrap;gap:6px;display:flex}.project-lab-source i{background:var(--color-page-soft);color:var(--color-text-muted);border-radius:999px;padding:5px 8px;font-size:.65rem;font-style:normal}.project-lab-graph{border-top:1px solid var(--border-light);min-height:400px;padding-top:10px;overflow:hidden}.project-lab-graph>div{margin-top:0!important}.project-lab-graph svg{max-width:100%}.portfolio-feature-section{min-height:76vh}.portfolio-demo-placeholder,.portfolio-ledger-preview{border:1px solid var(--border-light);min-height:320px;box-shadow:var(--shadow-light);background:#fbfaf7d6;border-radius:24px;align-content:center;gap:18px;padding:clamp(24px,4vw,52px);display:grid}.portfolio-demo-placeholder span,.portfolio-ledger-preview span{color:var(--color-aqua);font-family:var(--font-code);letter-spacing:.12em;font-size:.7rem}.portfolio-demo-placeholder strong,.portfolio-ledger-preview strong{max-width:420px;color:var(--color-text-dark);letter-spacing:-.04em;font-size:clamp(1.5rem,3vw,2.8rem);font-weight:500;line-height:1.05}.portfolio-demo-placeholder small{color:var(--color-text-muted);line-height:1.6}.portfolio-ledger-preview>div{gap:10px;display:grid}.portfolio-ledger-preview i{background:linear-gradient(90deg, var(--color-teal), var(--color-mist-blue));border-radius:999px;height:10px;display:block}.portfolio-timeline{gap:0;max-width:820px;margin-top:72px;display:grid}.portfolio-timeline article{border-top:1px solid var(--border-light);grid-template-columns:130px 1fr;gap:26px;padding:28px 0;display:grid}.portfolio-timeline article:last-child{border-bottom:1px solid var(--border-light)}.portfolio-timeline article>span{color:var(--color-teal);font-family:var(--font-code);font-size:.74rem}.portfolio-timeline h3{margin:0 0 8px;font-size:1.2rem;font-weight:500}.portfolio-timeline p{color:var(--color-text-muted);margin:0;line-height:1.7}.portfolio-contact{min-height:58vh}.portfolio-contact-links{align-content:end;gap:16px;display:grid}.portfolio-contact-links a{color:var(--color-teal);font-size:clamp(1rem,2vw,1.5rem);text-decoration:none}.portfolio-contact-links a:hover{color:var(--color-slate)}.portfolio-panel-backdrop{z-index:80;background:#000000a8;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.portfolio-project-panel{border:1px solid var(--border-light);background:var(--color-surface-light);border-radius:24px;width:min(720px,100%);max-height:min(720px,90vh);padding:clamp(26px,5vw,56px);position:relative;overflow:auto;box-shadow:0 24px 80px #07191c33}.portfolio-panel-close{color:var(--color-slate);cursor:pointer;background:0 0;border:0;font-size:1.5rem;position:absolute;top:18px;right:20px}.portfolio-project-panel h2{letter-spacing:-.05em;margin:0 0 12px;font-size:clamp(2rem,4vw,3.8rem);font-weight:500;line-height:1}.portfolio-project-panel>p:not(.portfolio-card-subtitle):not(.portfolio-card-kicker){color:var(--color-text-muted);line-height:1.75}.portfolio-panel-preview{background:var(--color-page-soft);border-radius:18px;gap:14px;margin:28px 0;padding:28px;display:grid}.portfolio-panel-preview span{color:var(--color-teal);font-family:var(--font-code);letter-spacing:.12em;font-size:.7rem}.portfolio-panel-preview strong{color:var(--color-text-dark);font-size:1.3rem;font-weight:500}.portfolio-panel-preview small{color:var(--color-text-muted)}.portfolio-metrics{grid-template-columns:repeat(3,1fr);gap:12px;margin:28px 0;display:grid}.portfolio-metrics div{border-top:1px solid var(--border-light);gap:6px;padding-top:12px;display:grid}.portfolio-metrics strong{color:var(--color-teal);font-size:1.2rem;font-weight:500}.portfolio-metrics span{color:var(--color-text-muted);font-size:.72rem}.web-pet-root{z-index:70;justify-items:end;display:grid;position:fixed;bottom:18px;right:22px}.web-pet-button{width:152px;color:var(--color-text-dark);cursor:pointer;background:0 0;border:0;justify-items:center;display:grid}.web-pet-button>span:last-child{border:1px solid var(--border-light);box-shadow:var(--shadow-light);background:#fbfaf7f5;border-radius:999px;margin-top:-4px;padding:7px 11px;font-size:.67rem}.web-pet-sprite{aspect-ratio:1;filter:drop-shadow(0 14px 18px #07191c33);background-image:url(/assets/evon-pet-atlas-transparent.png);background-repeat:no-repeat;background-size:400% 200%;width:150px;animation:3.8s ease-in-out infinite pet-breathe;display:block}@keyframes pet-breathe{50%{transform:translateY(-4px)}}.web-pet-panel{border:1px solid var(--border-light);width:min(390px,100vw - 32px);color:var(--color-text-dark);background:#fbfaf7fa;border-radius:20px;margin-bottom:10px;overflow:hidden;box-shadow:0 18px 48px #07191c33}.web-pet-panel header{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;padding:16px;display:flex}.web-pet-panel header div{gap:3px;display:grid}.web-pet-panel header span{color:var(--color-text-muted);font-size:.65rem}.web-pet-panel header button{color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;font-size:.72rem}.web-pet-scope{border-bottom:1px solid var(--border-light);color:var(--color-text-muted);margin:0;padding:12px 16px;font-size:.72rem;line-height:1.55}.web-pet-messages{gap:9px;max-height:210px;padding:16px;display:grid;overflow:auto}.web-pet-messages p{border-radius:12px;max-width:88%;margin:0;padding:9px 11px;font-size:.76rem;line-height:1.55}.web-pet-messages p.assistant{background:var(--color-surface-light);border:1px solid var(--border-light)}.web-pet-messages p.user{background:var(--color-page-soft);justify-self:end}.web-pet-quick-list{flex-wrap:wrap;gap:7px;padding:0 16px 12px;display:flex}.web-pet-quick-list button{border:1px solid var(--border-light);color:var(--color-teal);cursor:pointer;background:0 0;border-radius:999px;padding:6px 8px;font-size:.65rem}.web-pet-panel form{border-top:1px solid var(--border-light);gap:7px;padding:14px 16px 16px;display:grid}.web-pet-panel form label{color:var(--color-text-muted);font-size:.68rem}.web-pet-panel form div{gap:8px;display:flex}.web-pet-panel input{border:1px solid var(--border-light);background:var(--color-page-soft);min-width:0;color:var(--color-text-dark);outline-color:var(--color-aqua);border-radius:9px;flex:1;padding:10px;font-size:.78rem}.web-pet-panel form button{background:var(--color-teal);color:var(--color-text-light);cursor:pointer;border:0;border-radius:9px;padding:0 14px;font-size:.75rem}@media (width<=860px){.portfolio-nav-links{display:none}.portfolio-nav{padding:18px 20px}.portfolio-hero-content{padding-bottom:110px}.portfolio-hero h1{white-space:normal;text-wrap:balance}.portfolio-hero-flow-bridge{width:78vw;height:34%}.portfolio-hero-note{bottom:92px;right:20px}.portfolio-flow-svg{width:68vw;left:22%}.portfolio-flow-node text{display:none}.portfolio-two-column,.portfolio-feature-grid,.portfolio-contact-inner{grid-template-columns:1fr;gap:42px}.portfolio-origin-grid{grid-template-columns:1fr 1fr;gap:0}.portfolio-origin-step{min-height:240px}.portfolio-origin-step:nth-child(2){border-right:0}.portfolio-origin-step:nth-child(n+3){border-top:1px solid var(--border-light)}.portfolio-project-grid{grid-template-columns:1fr}.portfolio-project-card{min-height:340px}.portfolio-featured-stack{min-height:auto;display:block;position:relative;top:auto;overflow:visible}.portfolio-featured-track{gap:18px;width:auto;padding:42px 20px 64px;display:grid}.portfolio-featured-card{min-height:360px;margin-right:0}.portfolio-featured-scroll-note{display:none}.portfolio-section{min-height:auto;padding-block:100px}.project-lab-header{flex-direction:column;align-items:start}.project-lab-form-grid{grid-template-columns:1fr 1fr}.project-lab-field-wide{grid-column:span 2}}@media (width<=560px){.portfolio-hero h1{font-size:clamp(2.8rem,13vw,4.2rem)}.portfolio-hero-subtitle{max-width:300px}.portfolio-hero-controls{bottom:26px;right:20px}.portfolio-nav-action{display:none}.portfolio-language-switch{margin-left:auto;margin-right:14px}.portfolio-hero-note{display:none}.portfolio-flow-svg{width:92vw;left:10%}.portfolio-flow-ribbon-glow{stroke-width:96px}.portfolio-flow-ribbon-body{opacity:.38;stroke-width:72px}.portfolio-flow-ribbon-secondary{opacity:.24;stroke-width:36px}.portfolio-flow-ribbon-texture{opacity:.3;stroke-width:48px}.portfolio-flow-ribbon-highlight{opacity:.64;stroke-width:7px}.portfolio-hero-flow-bridge{width:96vw;height:32%}.portfolio-section{padding-inline:20px}.portfolio-section h2{font-size:clamp(2.3rem,12vw,4rem)}.cinematic-stage-labels{padding-inline:20px}.cinematic-stage-label{max-width:84vw}.cinematic-stage-label strong{font-size:clamp(2rem,10vw,3.4rem)}.cinematic-progress-track{height:14vh;right:14px}.portfolio-origin-grid{grid-template-columns:1fr}.portfolio-origin-step,.portfolio-origin-step+.portfolio-origin-step{border-right:0;border-top:1px solid var(--border-light);min-height:auto;padding:20px 0}.portfolio-origin-step:first-child{border-top:0}.portfolio-timeline article{grid-template-columns:1fr;gap:9px}.portfolio-metrics{grid-template-columns:1fr}.project-lab-flow,.project-lab-accounting-flow{grid-template-columns:1fr 1fr}.project-lab-form-grid{grid-template-columns:1fr}.project-lab-field-wide{grid-column:auto}.project-lab-agent-graph{grid-template-columns:1fr 1fr}.web-pet-root{bottom:10px;right:10px}.web-pet-button,.web-pet-sprite{width:112px}.web-pet-panel{max-height:min(74svh,560px)}}@media (pointer:coarse){.portfolio-flow-ribbon-glow{opacity:.1}.portfolio-flow-ribbon-texture{filter:none;opacity:.28}.portfolio-flow-particle{display:none}.web-pet-root{bottom:max(10px, env(safe-area-inset-bottom))}}@media (prefers-reduced-motion:reduce){.portfolio-flow-ribbon-highlight,.portfolio-flow-particle,.web-pet-sprite{animation:none}.portfolio-button,.portfolio-project-card{transition:none}}.portfolio-body{background:var(--color-ink)}.portfolio-page,.portfolio-content-shell,.cinematic-scroll{background:radial-gradient(circle at 72% 8%, #59cad614, transparent 28rem), radial-gradient(circle at 12% 86%, #8b7cc10f, transparent 32rem), var(--color-ink);color:var(--color-text-light)}.portfolio-section-light,.portfolio-section-soft{background:0 0}.portfolio-section:before{background:radial-gradient(circle at 70% 28%,#59cad617,#0000 38%),linear-gradient(90deg,#07191c1a,#0000 42%,#6e91d00d)}.portfolio-section h2,.portfolio-origin-step h3,.portfolio-timeline h3,.portfolio-timeline h4,.portfolio-contact h2{color:var(--color-text-light)}.portfolio-lede,.portfolio-origin-step p,.portfolio-timeline p,.portfolio-demo-placeholder small,.project-lab-header p,.project-lab-prompt,.project-lab-demo>p{color:var(--color-text-light-muted)}.portfolio-origin-step strong,.portfolio-contact-links a,.portfolio-text-button{color:var(--flow-cyan)}.portfolio-project-card,.portfolio-featured-card{background:linear-gradient(145deg, #15373beb, #0d2c30e0), var(--color-dark-surface);color:var(--color-text-light);border-color:#96b4dc33;box-shadow:0 26px 80px #00000038}.portfolio-project-card h3,.portfolio-project-card>div:last-child>p:not(.portfolio-card-subtitle),.portfolio-project-card .portfolio-project-source{color:var(--color-text-light)}.portfolio-project-card>div:last-child>p:not(.portfolio-card-subtitle){color:var(--color-text-light-muted)}.portfolio-project-card .portfolio-card-subtitle,.portfolio-project-card .portfolio-project-source{color:var(--flow-cyan)!important}.portfolio-tool-list span,.portfolio-capabilities span{color:var(--flow-cyan);border-color:#96b4dc38}.portfolio-demo-placeholder,.portfolio-ledger-preview,.project-lab-demo,.portfolio-project-panel{color:var(--color-text-light);background:#15373bc2;border-color:#96b4dc33;box-shadow:0 26px 80px #0000002e}.portfolio-demo-placeholder strong,.portfolio-ledger-preview strong,.project-lab-header h3,.project-lab-source strong,.project-lab-note-preview strong{color:var(--color-text-light)}.project-lab-switcher button,.project-lab-tabs button,.project-lab-note-list button,.project-lab-agent-graph button{color:var(--color-text-light-muted);border-color:#96b4dc38}.project-lab-agent-graph button,.project-lab-chat input,.project-lab-form-grid select,.project-lab-form-grid input,.project-lab-input-label input{color:var(--color-text-light);background:#07191cb8}.project-lab-chat-log p.user{color:var(--color-text-light);background:#2b7b7e2e}.project-lab-chat-log p.assistant{color:var(--color-text-light-muted);background:#15373bc7}.project-lab-result p,.project-lab-ledger div,.project-lab-collaboration-message,.project-lab-accounting-status,.project-lab-note-preview span,.project-lab-source i{color:var(--color-text-light-muted)}.web-pet-panel{color:var(--color-text-light);background:#0d2c30f5;border-color:#96b4dc33;box-shadow:0 22px 70px #00000052}.web-pet-panel header span,.web-pet-panel header button,.web-pet-scope,.web-pet-panel form label{color:#a9b9cc}.web-pet-messages p.assistant{color:#edf2fa;background:#07191ce6;border-color:#96b4dc3d}.web-pet-messages p.user{color:#edf2fa;background:#4ed5eb29;border:1px solid #4ed5eb57}.web-pet-quick-list button{color:#54ddf2;border-color:#4ed5eb47}.web-pet-button>span:last-child{color:var(--color-text-light);background:#0d2c30f5;border-color:#96b4dc38;box-shadow:0 18px 42px #0000003d}.web-pet-panel input{color:var(--color-text-light);background:#07191cb8}.web-pet-panel input::placeholder{color:#8799ad}.web-pet-panel form button{color:#07191c;background:#54ddf2}.cinematic-scroll{--cinematic-scenes:9;min-height:calc(var(--cinematic-scenes) * 100svh);background:var(--color-ink);overflow:clip}.cinematic-stage{z-index:0;background:var(--color-ink);margin-bottom:-100svh}.cinematic-video-plate,.cinematic-stage-wash{width:100%;height:100%;position:absolute;inset:0}.cinematic-video-plate{object-fit:cover;will-change:transform;z-index:1;opacity:0;transform:scale(1.08)}.cinematic-stage-wash{z-index:1;pointer-events:none;background:linear-gradient(#03050c14,#03050cc2),radial-gradient(circle at 72% 36%,#22d7f21f,#0000 40%),#03050c3d}.cinematic-stage-vignette{z-index:2}.cinematic-scene-viewport .portfolio-hero-video,.cinematic-scene-viewport .portfolio-hero-final-frame{z-index:1}.cinematic-scene-viewport .portfolio-hero-scrim{z-index:2}.cinematic-scene-viewport .portfolio-hero-flow-bridge{z-index:3}.cinematic-scene-viewport .portfolio-hero-content,.cinematic-scene-viewport .portfolio-hero-controls,.cinematic-scene-viewport .portfolio-hero-note{z-index:4}.cinematic-scene-viewport{z-index:5;perspective:1400px;height:100svh;transform-style:preserve-3d;margin-top:-100svh;position:sticky;top:0;overflow:hidden}.cinematic-scene-viewport>.portfolio-hero,.cinematic-scene-viewport>.portfolio-content-shell{width:100%;height:100%;min-height:100%;position:absolute;inset:0}.cinematic-scene-viewport>.portfolio-hero{z-index:3}.cinematic-scene-viewport>.portfolio-content-shell{z-index:4;transform-style:preserve-3d;background:0 0;overflow:visible}.cinematic-scene-viewport .portfolio-section[data-cinematic-scene]{z-index:1;scrollbar-width:none;height:100%;min-height:100%;transform-style:preserve-3d;position:absolute;inset:0;overflow:hidden}.cinematic-scene-viewport .portfolio-section[data-cinematic-scene]::-webkit-scrollbar{display:none}.cinematic-scene-viewport .portfolio-section[data-cinematic-scene]:before{opacity:.56}.cinematic-scene-viewport .portfolio-origin-section{padding-block:clamp(52px,7vh,72px) 24px}.cinematic-scene-viewport .portfolio-origin-section .portfolio-section-inner{grid-template-rows:auto minmax(0,1fr);align-content:center;height:100%;display:grid}.cinematic-scene-viewport .portfolio-origin-section .portfolio-scene-video:after{background:linear-gradient(90deg,#03050cfa 0%,#03050ceb 34%,#03050cc2 68%,#03050c57 100%)}.cinematic-scene-viewport .portfolio-origin-section .portfolio-origin-step p{color:#cbd5e7}.cinematic-scene-viewport .portfolio-origin-intro{grid-template-columns:minmax(0,.9fr) minmax(320px,.72fr);align-items:end;column-gap:clamp(38px,7vw,104px);max-width:none;display:grid}.cinematic-scene-viewport .portfolio-origin-intro .portfolio-lede{margin:0;line-height:1.62}.cinematic-scene-viewport .portfolio-origin-grid{min-height:0;margin-top:clamp(22px,4vh,34px)}.cinematic-scene-viewport .portfolio-origin-step{gap:8px;min-height:0;padding-top:16px}.cinematic-scene-viewport .portfolio-origin-step p,.cinematic-scene-viewport .portfolio-origin-step strong{line-height:1.48}.cinematic-scene-viewport .portfolio-featured-stack{min-height:74svh;margin-top:28px;position:relative;top:auto}.cinematic-scene-viewport .portfolio-featured-track{padding-top:34px}.cinematic-scene-viewport .portfolio-featured-card{-webkit-backdrop-filter:none;backdrop-filter:none}.cinematic-scene-viewport .portfolio-lab-section .project-lab-shell{scrollbar-width:none;max-height:calc(100svh - 188px);overflow-y:auto}.cinematic-scene-viewport .portfolio-lab-section .project-lab-shell::-webkit-scrollbar{display:none}.portfolio-lab-launch{border-block:1px solid var(--border-light);gap:28px;max-width:64rem;margin-top:clamp(36px,7vh,72px);padding-block:clamp(28px,5vh,48px);display:grid}.portfolio-lab-launch p{max-width:46rem;color:var(--color-text-light-muted);margin:0;font-size:clamp(1rem,1.5vw,1.2rem);line-height:1.7}.portfolio-lab-launch>div{flex-wrap:wrap;gap:10px;display:flex}.portfolio-lab-launch button{color:var(--color-text-light);cursor:pointer;background:#03050cb8;border:1px solid #63e7ff4d;border-radius:999px;padding:11px 16px;transition:transform .18s,border-color .18s,background .18s}.portfolio-lab-launch button:hover{border-color:var(--flow-cyan);background:#63e7ff1a;transform:translateY(-2px)}.demo-lab-overlay{z-index:100;color:var(--color-text-light);background:radial-gradient(circle at 78% 12%,#5c8cff1f,#0000 28rem),radial-gradient(circle at 12% 90%,#63e7ff14,#0000 30rem),#03050c;grid-template-rows:auto minmax(0,1fr);display:grid;position:fixed;inset:0}.demo-lab-overlay-header{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;gap:24px;min-height:76px;padding:14px clamp(20px,4vw,64px);display:flex}.demo-lab-overlay-header>div{gap:4px;display:grid}.demo-lab-overlay-header span{color:var(--flow-cyan);font-family:var(--font-code);letter-spacing:.16em;font-size:.64rem}.demo-lab-overlay-header strong{font-size:1rem;font-weight:500}.demo-lab-overlay-header button{border:1px solid var(--border-light);color:var(--color-text-light);cursor:pointer;background:0 0;border-radius:999px;padding:10px 14px}.demo-lab-overlay-scroll{overscroll-behavior:contain;padding:clamp(24px,5vw,64px);overflow-y:auto}.demo-lab-overlay-scroll .project-lab-shell{border-top:0;width:min(1180px,100%);margin:0 auto;padding-top:0}.demo-lab-overlay-scroll .project-lab-demo{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:#050a16eb}.project-lab-evidence,.project-lab-agent-log{border-left:2px solid var(--flow-cyan);gap:7px;padding-left:14px;display:grid}.project-lab-evidence span,.project-lab-agent-log small{color:var(--flow-cyan);font-family:var(--font-code);letter-spacing:.05em;font-size:.66rem}.project-lab-evidence strong{color:var(--color-text-light);font-size:.86rem;font-weight:500}.project-lab-evidence small{color:var(--color-text-light-muted)}.project-lab-agent-log{max-height:210px;overflow-y:auto}.project-lab-agent-log p{margin:0}.portfolio-page.is-lab-open .portfolio-nav,.portfolio-page.is-lab-open .web-pet-root{visibility:hidden}@media (width<=700px){.demo-lab-overlay-header{min-height:66px}.demo-lab-overlay-scroll{padding:20px}.demo-lab-overlay-scroll .project-lab-header{align-items:start}.project-lab-collaboration{grid-template-columns:1fr}}@media (width<=860px){.cinematic-scroll{min-height:calc(var(--cinematic-scenes) * 100svh)}.cinematic-video-plate{object-position:62% center;transform:scale(1.16)}.cinematic-scene-viewport .portfolio-section[data-cinematic-scene]{padding-block:72px 48px}.cinematic-scene-viewport .portfolio-origin-section{padding-block:76px 28px}.cinematic-scene-viewport .portfolio-origin-intro{display:block}.cinematic-scene-viewport .portfolio-origin-intro .portfolio-lede{max-width:38rem;margin-top:14px}.cinematic-scene-viewport .portfolio-origin-grid{overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;gap:0;margin-inline:-20px;padding-inline:20px;display:flex;overflow-x:auto}.cinematic-scene-viewport .portfolio-origin-grid::-webkit-scrollbar{display:none}.cinematic-scene-viewport .portfolio-origin-step,.cinematic-scene-viewport .portfolio-origin-step+.portfolio-origin-step{border-top:0;border-right:1px solid var(--border-light);scroll-snap-align:start;flex:0 0 min(76vw,330px);min-height:220px;padding:18px 18px 8px}.cinematic-scene-viewport .portfolio-origin-step:first-child{padding-left:0}.cinematic-scene-viewport .portfolio-featured-stack{min-height:auto}}@media (prefers-reduced-motion:reduce){.cinematic-scroll{min-height:auto}.cinematic-scene-viewport{height:auto;min-height:0;margin-top:0;position:relative;overflow:visible}.cinematic-scene-viewport>.portfolio-hero,.cinematic-scene-viewport>.portfolio-content-shell,.cinematic-scene-viewport .portfolio-section[data-cinematic-scene]{height:auto;min-height:100svh;position:relative;inset:auto}.cinematic-scene-viewport .portfolio-section[data-cinematic-scene]{overflow:visible}}.portfolio-project-card,.portfolio-featured-card,.portfolio-demo-placeholder,.portfolio-ledger-preview,.project-lab-demo,.portfolio-project-panel{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#050a16c7;border-color:#97c4ff33;box-shadow:0 24px 80px #00000052}.portfolio-project-card:hover,.portfolio-featured-card:hover{border-color:#63e7ff80;box-shadow:0 30px 96px #0000006b}.project-lab-switcher button.is-active,.project-lab-tabs button.is-active,.project-lab-note-list button.is-active,.project-lab-agent-graph button.is-active{color:var(--color-text-light);background:#63e7ff17;border-color:#63e7ff61}.project-lab-chat-log p.user{background:#5c8cff24}.project-lab-chat-log p.assistant{background:#050a16d6}.project-lab-source i{background:#63e7ff1a}.project-lab-flow button,.project-lab-agent-graph button,.project-lab-chat input,.project-lab-form-grid select,.project-lab-form-grid input,.project-lab-input-label input{color:var(--color-text-light-muted);background:#050a16c7;border-color:#97c4ff33}.project-lab-flow button.is-done,.project-lab-agent-graph button.is-active{color:var(--color-text-light);background:#63e7ff1a;border-color:#63e7ff6b}.cinematic-stage-label{gap:5px;max-width:18rem;top:14%}.cinematic-stage-label strong{letter-spacing:.01em;opacity:.72;font-size:clamp(1rem,1.7vw,1.5rem);line-height:1.12}.site-nav{z-index:40;background:0 0;justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem clamp(1.25rem,4vw,3rem);display:flex;position:sticky;top:0;left:0;right:0}.site-nav--onDark{position:absolute}.site-nav--onDark .site-nav__brand,.site-nav--onDark .site-nav__link{color:var(--v2-text-on-deep);text-shadow:0 1px 8px #00000073}.site-nav--onDark .site-nav__link{border-color:#eafaf373}.site-nav--onDark .site-nav__link.is-active{background:var(--v2-text-on-deep);color:var(--v2-bg-deep);border-color:var(--v2-text-on-deep);text-shadow:none}.site-nav__brand{font-family:var(--font-title-en);color:var(--v2-bg-deep);font-size:1rem;font-style:normal;font-weight:900}.site-nav__groups{gap:.6rem;display:flex}.site-nav__link{font-family:var(--font-body-en);color:var(--v2-bg-deep);touch-action:manipulation;border:1.5px solid #06353f40;border-radius:999px;padding:.5rem 1.1rem;font-size:.78rem;font-weight:600;text-decoration:none;transition:background-color .2s,color .2s,border-color .2s}.site-nav__link:hover{border-color:var(--v2-bg-deep)}.site-nav__link:active,.v2-card:active,.portfolio-button:active{transform:scale(.98)}.site-nav__link:focus-visible,.v2-card:focus-visible,.portfolio-button:focus-visible,.v2-back-link:focus-visible,.v2-tag:focus-visible{outline:3px solid var(--v2-accent-cta);outline-offset:3px}.site-nav__link.is-active{background:var(--v2-bg-deep);color:var(--v2-text-on-deep);border-color:var(--v2-bg-deep)}.v2-page{background:var(--v2-bg-mint);min-height:100vh;color:var(--v2-bg-deep);padding:clamp(2rem,6vw,4rem) clamp(1.25rem,5vw,4rem) 6rem}.v2-page__header{max-width:60ch;margin-bottom:2.5rem}.v2-eyebrow{font-family:var(--font-body-en);letter-spacing:.14em;text-transform:uppercase;color:var(--v2-accent-mid);font-size:.72rem;font-weight:600}.v2-title{font-family:var(--font-title-en);margin:.6rem 0 1rem;font-size:clamp(2rem,4.4vw,3.2rem);font-style:normal;font-weight:900;line-height:1.05}.v2-lede{font-family:var(--font-body-en);color:color-mix(in srgb, var(--v2-bg-deep) 65%, transparent);font-size:1rem;font-weight:300;line-height:1.7}.v2-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.4rem;display:grid}.v2-card{color:inherit;background:#fff;border:1px solid #06353f1a;border-radius:16px;text-decoration:none;transition:transform .2s,box-shadow .2s;display:block;overflow:hidden}.v2-card:hover{transform:translateY(-3px);box-shadow:0 18px 40px #06353f1f}.v2-card__cover{background:var(--v2-bg-deep);border-bottom:3px solid var(--v2-line-teal);aspect-ratio:16/10;position:relative;overflow:hidden}.v2-card__cover img{object-fit:cover;width:100%;height:100%;transition:transform .35s;display:block}.v2-card:hover .v2-card__cover img{transform:scale(1.02)}.v2-card__body{padding:1.2rem 1.3rem 1.4rem}.v2-card__kicker{font-family:var(--font-body-en);letter-spacing:.1em;text-transform:uppercase;color:var(--v2-accent-mid);margin-bottom:.6rem;font-size:.62rem;font-weight:600;display:block}.v2-card__title{font-family:var(--font-title-en);margin:0 0 .4rem;font-size:1.08rem;font-style:normal;font-weight:900}.v2-card__desc{font-family:var(--font-body-en);color:color-mix(in srgb, var(--v2-bg-deep) 65%, transparent);margin:0 0 .9rem;font-size:.82rem;line-height:1.55}.v2-badge{font-family:var(--font-body-en);background:var(--v2-accent-cta);color:var(--v2-bg-deep);border-radius:999px;padding:3px 10px;font-size:.68rem;font-weight:700;display:inline-block}.v2-detail__cover{background:var(--v2-bg-deep);border:1px solid #06353f1f;border-radius:18px;margin-bottom:2rem;overflow:hidden}.v2-detail__cover img{width:100%;display:block}.v2-detail__meta{flex-wrap:wrap;gap:.5rem;margin:1.2rem 0 1.6rem;display:flex}.v2-tag{font-family:var(--font-body-en);letter-spacing:.04em;color:var(--v2-accent-mid);border:1px solid #06353f33;border-radius:999px;padding:3px 11px;font-size:.68rem;font-weight:600}.v2-detail__body{max-width:68ch;font-family:var(--font-body-en);font-size:.98rem;line-height:1.8}.v2-detail__body h2{font-family:var(--font-title-en);margin:2rem 0 .8rem;font-size:1.4rem;font-style:normal;font-weight:900}.v2-detail__body p{color:color-mix(in srgb, var(--v2-bg-deep) 78%, transparent);margin:0 0 1.1rem}.v2-back-link{font-family:var(--font-body-en);color:var(--v2-accent-mid);margin-bottom:2rem;font-size:.78rem;font-weight:600;text-decoration:none;display:inline-block}.portfolio-overview-links{flex-wrap:wrap;gap:.9rem;margin-top:1.6rem;display:flex}.portfolio-overview-links a{text-decoration:none}.portfolio-scene-video{z-index:0;background:var(--color-ink);transform-origin:50%;position:absolute;inset:0;overflow:hidden}.portfolio-scene-video:after{pointer-events:none;content:"";background:linear-gradient(90deg,#03050cfa 0%,#03050ce6 24%,#03050c9e 42%,#03050c29 62%,#0000 78%);position:absolute;inset:0}.portfolio-scene-video video{object-fit:cover;object-position:center;background:var(--color-ink);width:100%;height:100%}.portfolio-scene-video+.portfolio-section-inner{z-index:1;width:min(var(--container-page), calc(100% - 48px));box-shadow:none;background:0 0;border:0;border-radius:0;margin:0 auto;padding:clamp(24px,4vw,64px) 56% clamp(24px,4vw,64px) 0;position:relative}@media (prefers-reduced-motion:reduce){.portfolio-scene-video{display:none}}@media (width<=860px),(height<=699px){.cinematic-scroll{min-height:auto;overflow:visible}.cinematic-stage{display:none}.cinematic-scene-viewport{height:auto;min-height:0;margin-top:0;position:relative;overflow:visible}.cinematic-scene-viewport>.portfolio-hero,.cinematic-scene-viewport>.portfolio-content-shell,.cinematic-scene-viewport .portfolio-section[data-cinematic-scene]{height:auto;min-height:100dvh;position:relative;inset:auto;overflow:visible}.cinematic-scene-viewport .portfolio-section[data-cinematic-scene]{contain:layout paint style;contain-intrinsic-size:100dvh;content-visibility:auto;transform-style:flat;will-change:auto;align-items:center;display:flex}.portfolio-content-shell,.cinematic-scroll{perspective:none;transform-style:flat}.portfolio-scene-video,.portfolio-scene-video video{will-change:auto}.portfolio-hero-flow-glow,.portfolio-hero-flow-body,.portfolio-hero-flow-texture,.portfolio-hero-flow-edge{filter:none}.web-pet-sprite{filter:none;animation:none}}.project-demo-loading{color:#94a6bd;font-family:var(--font-code);margin:18px 0;font-size:.76rem}@media (prefers-reduced-motion:reduce){.site-nav__link,.v2-card,.v2-card__cover img,.portfolio-button{transition:none}}.portfolio-scene-video+.portfolio-section-inner{color:var(--color-text-light)}.portfolio-scene-video+.portfolio-section-inner .portfolio-section-kicker,.portfolio-scene-video+.portfolio-section-inner .portfolio-origin-step>span{color:var(--flow-cyan)}.portfolio-scene-video+.portfolio-section-inner h2,.portfolio-scene-video+.portfolio-section-inner .portfolio-origin-step h3,.portfolio-scene-video+.portfolio-section-inner .portfolio-timeline h3,.portfolio-scene-video+.portfolio-section-inner .portfolio-timeline h4{color:var(--color-text-light)}.portfolio-scene-video+.portfolio-section-inner .portfolio-lede,.portfolio-scene-video+.portfolio-section-inner .portfolio-origin-step p,.portfolio-scene-video+.portfolio-section-inner .portfolio-timeline p{color:var(--color-text-light-muted)}.portfolio-scene-video+.portfolio-section-inner .portfolio-origin-step strong,.portfolio-scene-video+.portfolio-section-inner .portfolio-contact-links a,.portfolio-scene-video+.portfolio-section-inner .portfolio-capabilities span{color:var(--flow-cyan)}.portfolio-scene-video+.portfolio-section-inner .portfolio-origin-grid,.portfolio-scene-video+.portfolio-section-inner .portfolio-origin-step,.portfolio-scene-video+.portfolio-section-inner .portfolio-capabilities span{border-color:#70eaff38}.portfolio-scene-video+.portfolio-section-inner:after{display:none}.portfolio-scene-video+.portfolio-two-column,.portfolio-scene-video+.portfolio-contact-inner{display:block}.portfolio-scene-video+.portfolio-two-column>div+div,.portfolio-scene-video+.portfolio-contact-inner>div+div{margin-top:clamp(28px,5vh,52px)}.portfolio-scene-video+.portfolio-two-column .portfolio-lede,.portfolio-scene-video+.portfolio-contact-inner .portfolio-lede{max-width:36rem}.cinematic-scene-viewport .portfolio-origin-section .portfolio-section-inner{grid-template-rows:auto auto;align-content:center;padding-right:8%}.cinematic-scene-viewport .portfolio-origin-intro{display:block}.cinematic-scene-viewport .portfolio-origin-intro .portfolio-section-kicker{grid-column:auto}.cinematic-scene-viewport .portfolio-origin-intro .portfolio-lede{max-width:34rem;margin-top:14px;font-size:clamp(.86rem,1.12vw,1rem);line-height:1.58}.cinematic-scene-viewport .portfolio-origin-grid{border-top:1px solid #70eaff2e;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(300px,auto);row-gap:0;margin-top:clamp(18px,3vh,28px);display:grid}.cinematic-scene-viewport .portfolio-origin-step,.cinematic-scene-viewport .portfolio-origin-step+.portfolio-origin-step{border-bottom:0;border-right:1px solid #70eaff21;min-height:0;padding:16px 20px 18px}.cinematic-scene-viewport .portfolio-origin-step:first-child{padding-left:0}.cinematic-scene-viewport .portfolio-origin-step:last-child{border-right:0}.cinematic-scene-viewport .portfolio-origin-step strong{margin-top:6px}.cinematic-scene-viewport .portfolio-origin-section h2,.cinematic-scene-viewport #projects h2{font-size:clamp(2.5rem,4vw,4.2rem);line-height:1.06}.cinematic-scene-viewport #projects h2{white-space:pre;max-width:54rem}.cinematic-scene-viewport #projects .portfolio-section-inner{padding-right:25%}.cinematic-scene-viewport #experience .portfolio-section-inner{padding-right:20%}.cinematic-scene-viewport #experience h2{font-size:clamp(2.8rem,4.4vw,4.7rem)}.cinematic-scene-viewport #experience .portfolio-timeline{--timeline-year:170px;--timeline-axis:28px;--timeline-gap:18px;max-width:920px;margin-top:clamp(16px,2.6vh,28px);display:grid;position:relative}.cinematic-scene-viewport #experience .portfolio-timeline:before,.cinematic-scene-viewport #experience .portfolio-timeline-line{top:0;bottom:0;left:calc(var(--timeline-year) + var(--timeline-gap) + var(--timeline-axis) / 2);content:"";width:1px;position:absolute}.cinematic-scene-viewport #experience .portfolio-timeline:before{background:#70eaff29}.cinematic-scene-viewport #experience .portfolio-timeline-line{z-index:1;background:linear-gradient(180deg, var(--flow-cyan), #5c8cff73);transform-origin:top;box-shadow:0 0 18px #63e7ff47}.cinematic-scene-viewport #experience .portfolio-timeline article{grid-template-columns:var(--timeline-year) var(--timeline-axis) minmax(0, 1fr);column-gap:var(--timeline-gap);border:0;align-items:start;min-height:0;padding:6px 0;display:grid;position:relative}.cinematic-scene-viewport #experience .portfolio-timeline article:last-child{border:0}.cinematic-scene-viewport #experience .portfolio-timeline article>span{color:var(--flow-cyan);letter-spacing:.08em;text-align:right;padding-top:2px;font-size:.7rem}.cinematic-scene-viewport #experience .portfolio-timeline article>i{z-index:2;border:2px solid var(--flow-cyan);background:var(--color-ink);border-radius:50%;justify-self:center;width:9px;height:9px;margin-top:4px;display:block;position:relative;box-shadow:0 0 14px #63e7ffb8}.cinematic-scene-viewport #experience .portfolio-timeline h3{margin-bottom:2px;font-size:clamp(.9rem,1.08vw,1.02rem)}.cinematic-scene-viewport #experience .portfolio-timeline p{max-width:54rem;font-size:clamp(.7rem,.8vw,.78rem);line-height:1.32}.cinematic-scene-viewport #about h2{white-space:pre-line}.portfolio-contact-link-secondary{opacity:.72;font-size:.78em}@media (width<=1100px) and (width>=861px){.portfolio-scene-video+.portfolio-section-inner{padding-right:52%}.cinematic-scene-viewport .portfolio-origin-step strong{display:none}.cinematic-scene-viewport .portfolio-origin-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(180px,auto)}.cinematic-scene-viewport .portfolio-origin-step:nth-child(2){border-right:0}.cinematic-scene-viewport .portfolio-origin-step:nth-child(n+3){border-top:1px solid #70eaff21}.cinematic-scene-viewport #experience .portfolio-section-inner{padding-right:8%}}@media (width<=860px),(height<=699px){.cinematic-scene-viewport .portfolio-section[data-cinematic-scene]{flex-direction:column;align-items:stretch}.portfolio-scene-video{contain:layout paint;width:100%;height:clamp(260px,44dvh,460px);min-height:260px;position:relative;inset:auto}.portfolio-scene-video:after{background:linear-gradient(#0000 58%,#03050cb8)}.portfolio-scene-video+.portfolio-section-inner{width:min(var(--container-page), calc(100% - 40px));padding:40px 0 60px}.cinematic-scene-viewport #projects .portfolio-section-inner,.cinematic-scene-viewport .portfolio-origin-section .portfolio-section-inner{padding-right:0}.cinematic-scene-viewport .portfolio-origin-grid{grid-template-columns:1fr;grid-auto-rows:auto;display:grid}.cinematic-scene-viewport .portfolio-origin-step,.cinematic-scene-viewport .portfolio-origin-step+.portfolio-origin-step{border-top:1px solid #70eaff21;border-right:0;min-height:0;padding:20px 0}.cinematic-scene-viewport .portfolio-origin-step:first-child{border-top:0}.cinematic-scene-viewport #projects h2{white-space:pre-line;font-size:clamp(2.25rem,11vw,3.2rem)}.portfolio-scene-video+.portfolio-section-inner:after{display:none}.cinematic-scene-viewport #experience .portfolio-section-inner{padding-right:0}.cinematic-scene-viewport #experience .portfolio-timeline{--timeline-year:0px;--timeline-axis:24px;--timeline-gap:14px}.cinematic-scene-viewport #experience .portfolio-timeline:before,.cinematic-scene-viewport #experience .portfolio-timeline-line{left:calc(var(--timeline-axis) / 2)}.cinematic-scene-viewport #experience .portfolio-timeline article{grid-template-columns:var(--timeline-axis) minmax(0, 1fr);padding:16px 0}.cinematic-scene-viewport #experience .portfolio-timeline article>span,.cinematic-scene-viewport #experience .portfolio-timeline article>div{grid-column:2}.cinematic-scene-viewport #experience .portfolio-timeline article>span{text-align:left}.cinematic-scene-viewport #experience .portfolio-timeline article>i{grid-area:1/1/span 2}}@media (width<=560px){.portfolio-scene-video{height:clamp(240px,38dvh,360px);min-height:240px}.portfolio-scene-video+.portfolio-section-inner{width:calc(100% - 40px);padding:32px 0 52px}}.v2-page--projects{background:var(--v2-bg-mint)}.v2-page--blog{background:var(--v2-bg-teal-soft)}.v2-page .v2-title,.v2-page .v2-card__title,.v2-page .v2-detail__body h2{color:var(--v2-bg-deep)}.v2-page .v2-lede,.v2-page .v2-card__desc,.v2-page .v2-detail__body p{color:#47666c}.v2-card{background:#fbfaf7;border-color:#06353f24;box-shadow:0 12px 30px #06353f12}.v2-card:hover{border-color:#00856f59;box-shadow:0 18px 42px #06353f21}.v2-detail__cover{border-color:#06353f2e;box-shadow:0 18px 48px #06353f24}.v2-page .project-lab-demo{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:var(--v2-bg-deep);color:var(--v2-text-on-deep);border:1px solid #6fd3cc52;box-shadow:0 22px 54px #06353f33}.v2-page .project-lab-demo label,.v2-page .project-lab-demo p,.v2-page .project-lab-demo small,.v2-page .project-lab-result p,.v2-page .project-lab-result small{color:var(--v2-text-on-deep-muted)}.v2-page .project-lab-demo strong,.v2-page .project-lab-result strong{color:var(--v2-text-on-deep)}.v2-page .project-lab-form-grid select,.v2-page .project-lab-form-grid input,.v2-page .project-lab-chat input,.v2-page .project-lab-input-label input{color:var(--v2-text-on-deep);background:#042a32;border-color:#6fd3cc47}.v2-page .project-lab-form-grid select:focus,.v2-page .project-lab-form-grid input:focus,.v2-page .project-lab-chat input:focus,.v2-page .project-lab-input-label input:focus{border-color:var(--v2-line-teal);outline-offset:2px;outline:2px solid #6fd3cc33}.v2-page .project-lab-action{border-color:var(--v2-accent-cta);background:var(--v2-accent-cta);color:var(--v2-bg-deep)}.v2-page .portfolio-text-button,.v2-page .project-lab-result>span{color:var(--v2-line-teal)}.v2-page--blog,.v2-page--projects{--section-title:#edf2fa;--section-body:#9aa7b8;--section-border:#82a6ca2e;--section-cover-border:#00e5ff9e;--section-shadow:#000e1e70;background:var(--section-bg);min-height:100dvh;color:var(--section-title)}.v2-page--blog{--section-bg:#0a0f1c;--section-card:#111827;--section-accent:#00e5ff;--section-accent-soft:#00e5ff17}.v2-page--projects{--section-bg:#050a16;--section-card:#0e1b33;--section-title:#f3f7ff;--section-body:#a6b4c8;--section-accent:#00bfa5;--section-accent-soft:#00bfa51a;--section-cover-border:#00bfa5ad;--section-technical:#00e5ff;--section-result:#ffd600}.site-nav--blog,.site-nav--projects{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#050a16f0;box-shadow:inset 0 -1px #82a6ca24}.site-nav--blog .site-nav__brand,.site-nav--blog .site-nav__link,.site-nav--projects .site-nav__brand,.site-nav--projects .site-nav__link{color:#edf2fa}.site-nav--blog .site-nav__link,.site-nav--projects .site-nav__link{border-color:#9aa7b847}.site-nav--blog .site-nav__link:hover,.site-nav--blog .site-nav__link.is-active{color:#00e5ff;border-color:#00e5ff}.site-nav--projects .site-nav__link:hover,.site-nav--projects .site-nav__link.is-active{color:#00bfa5;border-color:#00bfa5}.site-nav--blog .site-nav__link.is-active,.site-nav--projects .site-nav__link.is-active{background:0 0}.v2-page--blog .v2-title,.v2-page--blog .v2-card__title,.v2-page--blog .v2-detail__body h2,.v2-page--projects .v2-title,.v2-page--projects .v2-card__title,.v2-page--projects .v2-detail__body h2{color:var(--section-title)}.v2-page--blog .v2-lede,.v2-page--blog .v2-card__desc,.v2-page--blog .v2-detail__body p,.v2-page--projects .v2-lede,.v2-page--projects .v2-card__desc,.v2-page--projects .v2-detail__body p{color:var(--section-body)}.v2-page--blog .v2-eyebrow,.v2-page--blog .v2-card__kicker,.v2-page--blog .v2-back-link,.v2-page--blog .v2-tag,.v2-page--projects .v2-eyebrow,.v2-page--projects .v2-card__kicker,.v2-page--projects .v2-back-link,.v2-page--projects .v2-tag{color:var(--section-accent)}.v2-page--blog .v2-card,.v2-page--projects .v2-card{border-color:var(--section-border);background:var(--section-card);box-shadow:0 16px 36px var(--section-shadow)}.v2-page--blog .v2-card:hover,.v2-page--projects .v2-card:hover{border-color:var(--section-accent);box-shadow:0 20px 46px var(--section-shadow), inset 0 1px var(--section-accent-soft)}.v2-page--blog .v2-card__cover,.v2-page--projects .v2-card__cover{border-bottom-color:var(--section-cover-border);background:var(--section-card)}.v2-page--blog .v2-detail__cover,.v2-page--projects .v2-detail__cover{border-color:var(--section-border);background:var(--section-card);box-shadow:0 20px 48px var(--section-shadow)}.v2-page--blog .v2-tag,.v2-page--projects .v2-tag{border-color:var(--section-border);background:var(--section-accent-soft);text-decoration:none}.v2-page--projects .v2-card__kicker{color:var(--section-technical)}.v2-page--projects .v2-badge{background:var(--section-result);color:#101725}.v2-page--projects .project-lab-demo{background:#081426;border-color:#00bfa557;box-shadow:0 22px 54px #00050e80}.v2-page--projects .project-lab-action{border-color:var(--section-result);background:var(--section-result);color:#101725}.v2-page--projects .portfolio-text-button,.v2-page--projects .project-lab-result>span{color:var(--section-technical)}.v2-page--blog :focus-visible{outline-color:var(--section-accent)}.v2-page--projects :focus-visible{outline-color:var(--section-result)}@media (prefers-reduced-transparency:reduce){.site-nav--blog,.site-nav--projects{-webkit-backdrop-filter:none;backdrop-filter:none;background:#050a16}}.v2-page--projects.is-drawer-open{min-height:100dvh}.project-drawer__overlay{z-index:80;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);will-change:opacity;background:#01050ea3;position:fixed;inset:0}.project-drawer{z-index:81;color:#f3f7ff;will-change:transform;background:#081426;border-left:1px solid #00bfa56b;outline:none;grid-template-rows:auto minmax(0,1fr);width:min(760px,72vw);height:100dvh;display:grid;position:fixed;top:0;right:0;box-shadow:-28px 0 70px #00050e85}.project-drawer__header{border-bottom:1px solid #82a6ca2e;justify-content:space-between;align-items:center;gap:24px;min-height:92px;padding:20px clamp(24px,4vw,44px);display:flex}.project-drawer__header>div{min-width:0}.project-drawer__index{color:#00e5ff;font-family:var(--font-code);letter-spacing:.08em;text-transform:uppercase;margin-bottom:5px;font-size:.65rem;display:block}.project-drawer__title{color:#f3f7ff;font-family:var(--font-title-en);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:clamp(1.45rem,3vw,2.25rem);font-weight:900;line-height:1.08;overflow:hidden}.project-drawer__close{color:#f3f7ff;cursor:pointer;background:0 0;border:1px solid #a6b4c857;border-radius:50%;flex:0 0 42px;place-items:center;width:42px;height:42px;font-size:1.65rem;line-height:1;transition:border-color .18s,color .18s,transform .18s;display:grid}.project-drawer__close:hover{color:#00bfa5;border-color:#00bfa5}.project-drawer__close:active{transform:scale(.96)}.project-drawer__close:focus-visible{outline-offset:3px;outline:3px solid #ffd600}.project-drawer__scroll{overscroll-behavior:contain;scrollbar-color:#00bfa57a transparent;padding:clamp(24px,4vw,44px);overflow:hidden auto}.project-drawer__cover{aspect-ratio:16/8;background:#0e1b33;border:1px solid #00bfa547;border-radius:14px;margin-bottom:28px;overflow:hidden}.project-drawer__cover img{object-fit:cover;width:100%;height:100%;display:block}.project-drawer__lede{color:#a6b4c8;max-width:58ch;margin:0;font-size:clamp(1rem,1.7vw,1.18rem);line-height:1.7}.project-drawer__tags{flex-wrap:wrap;gap:8px;margin:20px 0 34px;display:flex}.project-drawer__tags span{color:#00bfa5;font-family:var(--font-code);background:#00bfa514;border:1px solid #00bfa54d;border-radius:999px;padding:5px 11px;font-size:.68rem}.project-drawer__facts{border-block:1px solid #82a6ca2e;grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.project-drawer__facts section{padding:26px 22px 28px 0}.project-drawer__facts section+section{border-left:1px solid #82a6ca2e;padding-left:22px}.project-drawer h2{color:#f3f7ff;margin:0 0 10px;font-size:.98rem;font-weight:700}.project-drawer__facts p,.project-drawer__demo>p{color:#a6b4c8;margin:0;font-size:.82rem;line-height:1.65}.project-drawer__deliverables{padding:30px 0}.project-drawer__section-heading{gap:6px;max-width:62ch;margin-bottom:18px;display:grid}.project-drawer__section-heading p,.project-drawer__deliverable-grid article>p,.project-drawer__disclosure{color:#a6b4c8;margin:0;font-size:.82rem;line-height:1.65}.project-drawer__deliverable-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.project-drawer__deliverable-grid article{background:#00bfa50e;border:1px solid #00bfa53d;border-radius:10px;padding:20px}.project-drawer__deliverable-grid h3{color:#f3f7ff;margin:0 0 8px;font-size:.94rem;line-height:1.4}.project-drawer__deliverable-grid ol{counter-reset:deliverable-section;gap:8px;margin:18px 0 0;padding:0;list-style:none;display:grid}.project-drawer__deliverable-grid li{color:#c6d1e1;counter-increment:deliverable-section;grid-template-columns:24px minmax(0,1fr);align-items:baseline;gap:8px;font-size:.76rem;line-height:1.45;display:grid}.project-drawer__deliverable-grid li:before{content:counter(deliverable-section, decimal-leading-zero);color:#00bfa5;font-family:var(--font-code);font-size:.64rem}.project-drawer__disclosure{color:#c9d1dc;border-left:2px solid #ffd600ad;margin-top:14px;padding:8px 0 8px 12px}.project-drawer__results{padding:30px 0}.project-drawer__results>div{grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:10px;display:grid}.project-drawer__results article{background:#ffd6000f;border:1px solid #ffd6003d;border-radius:10px;gap:4px;padding:14px;display:grid}.project-drawer__results strong{color:#ffd600;font-family:var(--font-code);font-size:1.05rem}.project-drawer__results span{color:#a6b4c8;font-size:.72rem;line-height:1.45}.project-drawer__demo{border-top:1px solid #82a6ca2e;padding-top:30px}.project-drawer__demo>p{margin-bottom:20px}.project-drawer .project-lab-demo{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;box-shadow:none;background:#050a16;border-color:#00bfa557}@media (width<=900px){.project-drawer{width:min(680px,88vw)}.project-drawer__facts{grid-template-columns:1fr}.project-drawer__facts section{padding:20px 0}.project-drawer__facts section+section{border-top:1px solid #82a6ca2e;border-left:0;padding-left:0}.project-drawer__deliverable-grid{grid-template-columns:1fr}}@media (width<=640px){.project-drawer__overlay{display:none}.project-drawer{border-left:0;width:100%}.project-drawer__header{min-height:76px;padding:16px 20px}.project-drawer__title{max-width:calc(100vw - 110px);font-size:1.35rem}.project-drawer__scroll{padding:20px}.project-drawer__cover{aspect-ratio:16/9;border-radius:10px}.project-drawer__deliverables{padding:24px 0}.project-drawer__deliverable-grid article{padding:17px}}@media (prefers-reduced-motion:reduce){.project-drawer__close{transition:none}}@media (prefers-reduced-transparency:reduce){.project-drawer__overlay{-webkit-backdrop-filter:none;backdrop-filter:none;background:#01050ed1}}.blog-drawer{background:#0d1422;border-left-color:#00e5ff61;width:min(820px,76vw)}.blog-drawer__cover{aspect-ratio:16/7;border-color:#00e5ff3d}.blog-drawer__lede{max-width:66ch}.blog-drawer__related{margin:22px 0 34px}.blog-drawer__related a{color:#00e5ff;background:#00e5ff14;border:1px solid #00e5ff52;border-radius:999px;padding:7px 13px;font-size:.76rem;font-weight:600;text-decoration:none;transition:border-color .18s,background .18s,transform .18s;display:inline-flex}.blog-drawer__related a:hover{background:#00e5ff21;border-color:#00e5ff}.blog-drawer__related a:active{transform:scale(.98)}.blog-drawer__related a:focus-visible{outline-offset:3px;outline:3px solid #00e5ff}.blog-drawer__article{border-top:1px solid #82a6ca2e;max-width:68ch;padding-top:10px}.blog-drawer__article section{padding:28px 0 4px}.blog-drawer__article h2{color:#edf2fa;margin-bottom:12px;font-size:clamp(1.1rem,2vw,1.35rem)}.blog-drawer__article p{color:#9aa7b8;margin:0 0 16px;font-size:.96rem;line-height:1.85}.blog-drawer__frame{background:#fff;border:1px solid #00e5ff38;border-radius:12px;width:100%;min-height:74dvh}.blog-drawer__article--html h3{color:#dce7f7;margin:22px 0 8px}.blog-drawer__article--html ul{color:#9aa7b8;line-height:1.75}.blog-notes-section+.blog-notes-section{margin-top:clamp(52px,7vw,84px)}.blog-notes-section__header{justify-content:space-between;align-items:baseline;gap:18px;margin-bottom:18px;display:flex}.blog-notes-section__header h2{color:var(--section-title);font-family:var(--font-title-en);margin:0;font-size:clamp(1.25rem,2.2vw,1.75rem)}.blog-notes-section__header span{color:var(--section-body);font-family:var(--font-code);letter-spacing:.08em;text-transform:uppercase;font-size:.66rem}.blog-concept-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.blog-concept-card{border:1px solid var(--section-border);background:var(--section-card);border-radius:14px;align-self:start;overflow:hidden}.blog-concept-card:hover,.blog-concept-card.is-expanded{border-color:var(--section-accent)}.blog-concept-card>button{width:100%;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;padding:22px 48px 22px 22px;position:relative}.blog-concept-card>button>span{color:var(--section-accent);font-family:var(--font-code);letter-spacing:.08em;text-transform:uppercase;margin-bottom:12px;font-size:.62rem;display:block}.blog-concept-card>button strong{color:var(--section-title);font-size:1.08rem;line-height:1.35;display:block}.blog-concept-card>button p{color:var(--section-body);margin:10px 0 0;font-size:.82rem;line-height:1.6}.blog-concept-card>button i{color:var(--section-accent);font-size:1.35rem;font-style:normal;position:absolute;top:18px;right:20px}.blog-concept-card__detail{border-top:1px solid var(--section-border);color:var(--section-body);will-change:transform, opacity;padding:4px 22px 22px;font-size:.78rem;line-height:1.65}.blog-concept-card__detail h2{display:none}.blog-concept-card__detail h3{color:var(--section-title);margin:18px 0 7px;font-size:.9rem}.blog-concept-card__detail p,.blog-concept-card__detail ul{margin:0 0 10px}.blog-concept-card__detail p:nth-of-type(n+4),.blog-concept-card__detail h3:nth-of-type(n+3),.blog-concept-card__detail ul:nth-of-type(n+2){display:none}.blog-note-card{min-height:250px}.blog-note-card .v2-card__body{flex-direction:column;height:100%;display:flex}.blog-note-card__action{color:var(--section-accent);margin-top:auto;padding-top:20px;font-size:.76rem;font-weight:700}.project-lab-product-switch{background:#050a16;border:1px solid #00bfa540;border-radius:10px;gap:4px;margin-bottom:14px;padding:4px;display:inline-flex}.project-lab-product-switch button{color:#8fa0b7;cursor:pointer;min-height:44px;font:inherit;background:0 0;border:0;border-radius:7px;padding:8px 12px;font-size:.76rem}.project-lab-product-switch button.is-active{color:#041319;background:#00bfa5}.admin-demo{color:#edf2fa;background:#081426;border:1px solid #00bfa547;border-radius:12px;overflow:hidden}.admin-demo__notice{background:#00e5ff0d;border-bottom:1px solid #82a6ca29;align-items:center;gap:10px;padding:12px 14px;display:flex}.admin-demo__notice strong{color:#00e5ff;flex:none;font-size:.72rem}.admin-demo__notice span{color:#94a6bd;font-size:.7rem;line-height:1.4}.admin-demo__workspace{grid-template-columns:132px minmax(0,1fr);min-height:390px;display:grid}.admin-demo__nav{background:#050a16;border-right:1px solid #82a6ca29;flex-direction:column;gap:5px;padding:12px 8px;display:flex}.admin-demo__nav button{color:#8fa0b7;cursor:pointer;min-height:44px;font:inherit;text-align:left;background:0 0;border:0;border-radius:7px;padding:9px 10px;font-size:.72rem}.admin-demo__nav button:hover,.admin-demo__nav button.is-active{color:#00bfa5;background:#00bfa521}.admin-demo__panel{padding:20px}.admin-demo__panel>header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.admin-demo__panel header span{color:#00e5ff;font-family:var(--font-code);margin-bottom:4px;font-size:.62rem;display:block}.admin-demo__panel h4{color:#edf2fa;margin:0;font-size:1rem}.admin-demo__panel em{color:#8fa0b7;border:1px solid #82a6ca3d;border-radius:999px;padding:4px 8px;font-size:.62rem;font-style:normal}.admin-demo__panel em.is-pending{color:#ffd600;border-color:#ffd6005c}.admin-demo__panel textarea{resize:vertical;color:#dce7f7;width:100%;min-height:112px;font:inherit;background:#050a16;border:1px solid #82a6ca3d;border-radius:9px;padding:12px;font-size:.78rem;line-height:1.55}.admin-demo__panel button,.admin-demo__panel select{color:#00bfa5;cursor:pointer;font:inherit;background:#00bfa51a;border:1px solid #00bfa557;border-radius:7px;padding:7px 10px;font-size:.7rem}.admin-demo__panel button:disabled{cursor:default;opacity:.4}.admin-demo__actions{gap:8px;margin-top:10px;display:flex}.admin-demo__panel>p{color:#8fa0b7;margin:12px 0 0;font-size:.7rem}.admin-demo__issues{gap:9px;display:grid}.admin-demo__issues article{border:1px solid #82a6ca2e;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;padding:12px;display:flex}.admin-demo__issues strong,.admin-demo__issues span{display:block}.admin-demo__issues strong{color:#edf2fa;margin-bottom:4px;font-size:.76rem}.admin-demo__issues span{color:#8fa0b7;font-size:.7rem}.admin-demo__panel blockquote{color:#c4d0e0;background:#050a16;border-left:2px solid #00e5ff;margin:0 0 14px;padding:12px 14px;font-size:.76rem;line-height:1.55}.admin-demo__evidence{border:1px solid #00e5ff33;border-radius:8px;gap:5px;margin-top:14px;padding:12px;display:grid}.admin-demo__evidence strong{color:#00e5ff;font-size:.72rem}.admin-demo__evidence span,.admin-demo__evidence small{color:#94a6bd;font-size:.68rem;line-height:1.5}.admin-demo__skill{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;display:grid}.admin-demo__skill button{text-align:left;align-content:space-between;min-height:88px;display:grid}.admin-demo__skill button span{color:inherit}.admin-demo__skill button.is-complete{color:#00e5ff;background:#00e5ff1a;border-color:#00e5ff}@media (width<=900px){.blog-drawer{width:min(720px,90vw)}.blog-concept-grid{grid-template-columns:1fr}}@media (width<=640px){.admin-demo__workspace{grid-template-columns:1fr}.admin-demo__nav{border-bottom:1px solid #82a6ca29;border-right:0;flex-direction:row;overflow-x:auto}.admin-demo__nav button{flex:none}.admin-demo__panel{padding:16px}.admin-demo__skill{grid-template-columns:repeat(2,minmax(0,1fr))}.blog-drawer__frame{min-height:68dvh}.blog-drawer{width:100%}.blog-drawer__cover{aspect-ratio:16/9}.blog-drawer__article p{font-size:.92rem;line-height:1.78}}@media (prefers-reduced-motion:reduce){.blog-drawer__related a{transition:none}}@media (width<=640px){.site-nav{gap:.5rem;padding:.7rem .65rem}.site-nav__brand{flex:none;font-size:.78rem}.site-nav__groups{gap:.25rem;min-width:0}.site-nav__link{white-space:nowrap;justify-content:center;align-items:center;min-height:44px;padding:.45rem .55rem;font-size:.7rem;display:inline-flex}.project-lab-tabs{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.project-lab-tabs button{min-width:0;min-height:44px;padding-inline:8px}.project-lab-product-switch{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.admin-demo__nav{grid-template-columns:repeat(2,minmax(0,1fr));padding:10px;display:grid;overflow:visible}.admin-demo__nav button{text-align:center;min-width:0;min-height:44px}}@media (width<=360px){.site-nav__brand{display:none}.site-nav__groups{justify-content:space-between;width:100%}}
