:root{--ink:#090b10;--ink-soft:#11141c;--panel:#151923;--panel-strong:#1b202c;--paper:#f4f5f7;--paper-soft:#d9dce4;--muted:#9298a7;--line:#f4f5f724;--line-dark:#090b1024;--accent:#8ea6ff;--accent-dark:#5064b8;--blue:#7fd4ff;--coral:#ff8d77;--container:1240px;--scroll-progress:0}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;background:var(--ink);scroll-padding-top:92px}body{background:var(--ink);min-width:320px;color:var(--paper);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:Aptos,Segoe UI,Arial,sans-serif;font-size:16px;line-height:1.6;overflow-x:hidden}body.menu-open{overflow:hidden}::selection{background:var(--accent);color:var(--ink)}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.skip-link{z-index:1000;background:var(--accent);color:var(--ink);border-radius:4px;padding:12px 18px;font-weight:800;transition:top .18s;position:fixed;top:-80px;left:16px}.skip-link:focus{top:16px}.container{width:min(calc(100% - 48px), var(--container));margin-inline:auto}.sr-only{clip:rect(0, 0, 0, 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.scroll-progress{z-index:999;background:var(--accent);width:100%;height:3px;transform:scaleX(var(--scroll-progress));transform-origin:0;pointer-events:none;position:fixed;inset:0 auto auto 0}.site-header{z-index:100;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#090b10c2;border-bottom:1px solid #ffffff14;position:fixed;inset:0 0 auto}.header-inner{justify-content:space-between;align-items:center;min-height:76px;display:flex}.brand{letter-spacing:-.01em;align-items:center;gap:12px;font-size:.9rem;font-weight:800;display:inline-flex}.brand-mark,.footer-mark{background:var(--accent);width:38px;height:38px;color:var(--ink);letter-spacing:-.08em;border-radius:50%;place-items:center;font-family:Cascadia Code,SFMono-Regular,Consolas,monospace;font-size:.72rem;font-weight:900;display:grid}.main-nav{color:var(--paper-soft);align-items:center;gap:36px;font-size:.82rem;font-weight:700;display:flex}.main-nav a:not(.nav-contact){transition:color .18s;position:relative}.main-nav a:not(.nav-contact):after{background:var(--accent);content:"";transform-origin:100%;height:1px;transition:transform .18s;position:absolute;bottom:-7px;left:0;right:0;transform:scaleX(0)}.main-nav a:not(.nav-contact):hover{color:var(--paper)}.main-nav a:not(.nav-contact):hover:after{transform-origin:0;transform:scaleX(1)}.nav-contact{border:1px solid var(--line);border-radius:999px;padding:9px 17px;transition:border-color .18s,background .18s,color .18s}.nav-contact:hover{border-color:var(--accent);background:var(--accent);color:var(--ink)}.menu-button{border:1px solid var(--line);width:42px;height:42px;color:var(--paper);cursor:pointer;background:0 0;border-radius:50%;place-items:center;display:none}.hero{--grid-x:0px;--grid-y:0px;--orb-one-x:0px;--orb-one-y:0px;--orb-two-x:0px;--orb-two-y:0px;isolation:isolate;min-height:100svh;padding:154px 0 46px;position:relative;overflow:hidden}.hero-grid,.contact-grid{z-index:-3;background-image:linear-gradient(#ffffff09 1px,#0000 1px),linear-gradient(90deg,#ffffff09 1px,#0000 1px);background-size:56px 56px;position:absolute;inset:-32px;-webkit-mask-image:linear-gradient(#000 0%,#0000 92%);mask-image:linear-gradient(#000 0%,#0000 92%)}.hero-grid{transform:translate3d(var(--grid-x), var(--grid-y), 0);will-change:transform;transition:transform .14s ease-out}.hero-particle-network{z-index:-1;opacity:.68;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000 1%,#000 11% 78%,#0000 100%);mask-image:linear-gradient(#0000 1%,#000 11% 78%,#0000 100%)}.contact-grid{inset:0}.hero:after{z-index:-2;content:"";opacity:.72;background:radial-gradient(circle at 7% 17%,#8ea6ff14,#0000 24%),linear-gradient(105deg,#0000 50%,#ffffff05);position:absolute;inset:0}.hero-orb{z-index:-1;filter:blur(1px);opacity:.65;border-radius:50%;position:absolute}.hero-orb-one{width:360px;height:360px;translate:var(--orb-one-x) var(--orb-one-y);will-change:translate, transform;border:1px solid #8ea6ff40;transition:translate .18s ease-out;animation:12s ease-in-out infinite orb-drift;top:17%;right:-120px;box-shadow:inset 40px 0 80px #8ea6ff0d}.hero-orb-two{background:var(--accent);filter:blur(68px);width:90px;height:90px;translate:var(--orb-two-x) var(--orb-two-y);will-change:translate, transform;transition:translate .22s ease-out;animation:8s ease-in-out -2s infinite reverse orb-drift;bottom:12%;right:29%}.hero-layout{grid-template-columns:minmax(0,1.16fr) minmax(380px,.84fr);align-items:center;gap:clamp(48px,7vw,104px);display:grid}.availability{color:var(--paper-soft);letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:10px;margin-bottom:26px;font-family:Cascadia Code,SFMono-Regular,Consolas,monospace;font-size:.7rem;font-weight:700;display:inline-flex}.availability-dot{background:var(--accent);border-radius:50%;width:8px;height:8px;position:relative;box-shadow:0 0 18px #8ea6ffb8}.availability-dot:after{border:1px solid var(--accent);content:"";border-radius:50%;animation:2s ease-out infinite pulse-ring;position:absolute;inset:-5px}.hero-portrait{aspect-ratio:1;background:#06070c;border:1px solid #8ea6ff47;border-radius:50%;width:clamp(300px,31vw,430px);position:relative;overflow:hidden;box-shadow:0 0 0 10px #8ea6ff06,0 28px 90px #0000006b}.hero-portrait:after{border-radius:inherit;content:"";pointer-events:none;background:linear-gradient(145deg,#ffffff14,#0000 34%);position:absolute;inset:0}.hero-portrait img{object-fit:cover;object-position:center;width:100%;height:100%}.hero-intro{color:#b9becb;max-width:660px;margin-top:34px;font-size:clamp(1.06rem,1.35vw,1.25rem);line-height:1.75}.hero-intro strong{color:var(--paper);font-weight:700}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:36px;display:flex}.button{border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;gap:12px;min-height:54px;padding:0 22px;font-size:.88rem;font-weight:800;transition:transform .18s,background .18s,color .18s,border-color .18s;display:inline-flex}.button:hover{transform:translateY(-3px)}.button-primary{background:var(--accent);color:var(--ink);box-shadow:0 16px 50px #8ea6ff21}.button-primary:hover{background:#aebdff}.button-ghost{border-color:var(--line);color:var(--paper)}.button-ghost:hover{background:#ffffff0d;border-color:#ffffff61}.hero-social{align-items:center;gap:10px;margin-top:42px;display:flex}.hero-social>span{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin-right:8px;font-family:Cascadia Code,SFMono-Regular,Consolas,monospace;font-size:.68rem}.hero-social a{border:1px solid var(--line);width:40px;height:40px;color:var(--paper-soft);border-radius:50%;place-items:center;transition:border-color .18s,color .18s,transform .18s;display:grid}.hero-social a:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-3px)}.hero-visual{perspective:1000px;min-width:0;position:relative}.code-card{transform-origin:50%;background:#12161fe0;border:1px solid #ffffff24;border-radius:14px;animation:7s ease-in-out infinite card-float;position:relative;overflow:hidden;transform:rotateY(-4deg)rotateX(1deg);box-shadow:0 42px 100px #00000061}.code-card:before{z-index:2;content:"";pointer-events:none;background:linear-gradient(110deg,#0000 22%,#ffffff0e 48%,#0000 70%);animation:7s ease-in-out 2s infinite code-shine;position:absolute;inset:0;transform:translate(-120%)}.code-card-header{border-bottom:1px solid var(--line);color:var(--muted);grid-template-columns:1fr auto 1fr;align-items:center;padding:14px 16px;font-family:Cascadia Code,SFMono-Regular,Consolas,monospace;font-size:.68rem;display:grid}.window-dots{gap:6px;display:flex}.window-dots i{background:#566071;border-radius:50%;width:8px;height:8px}.window-dots i:first-child{background:var(--coral)}.window-dots i:nth-child(2){background:#ffd36d}.window-dots i:last-child{background:var(--accent)}.code-status{color:#aeb5c4;justify-content:flex-end;align-items:center;gap:6px;display:flex}.code-status i{background:var(--accent);border-radius:50%;width:6px;height:6px}.code-body{color:#dce1ea;white-space:nowrap;padding:38px 25px 36px;font-family:Cascadia Code,SFMono-Regular,Consolas,monospace;font-size:clamp(.75rem,1vw,.9rem);line-height:2.05}.code-line-text{white-space:pre}.typing-cursor{background:var(--accent);vertical-align:-.16em;width:.52em;height:1.1em;margin-left:2px;animation:.72s step-end infinite typing-cursor-blink;display:inline-block;box-shadow:0 0 10px #8ea6ff80}.line-number{color:#565f70;-webkit-user-select:none;user-select:none;width:38px;display:inline-block}.syntax-pink{color:#ff9bab}.syntax-blue{color:var(--blue)}.syntax-accent{color:var(--accent)}.code-card-footer{border-top:1px solid var(--line);color:var(--muted);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:20px;padding:16px;font-family:Cascadia Code,SFMono-Regular,Consolas,monospace;font-size:.63rem;display:flex}.code-card-footer div{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.code-card-footer i{border:1px solid var(--line);color:var(--paper-soft);letter-spacing:0;text-transform:none;border-radius:999px;padding:4px 8px;font-style:normal}.floating-badge{z-index:4;color:var(--paper-soft);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#191e2aeb;border:1px solid #ffffff29;border-radius:7px;align-items:center;gap:10px;padding:10px 14px;font-size:.72rem;font-weight:700;display:flex;position:absolute;box-shadow:0 18px 45px #0000003d}.floating-badge span{width:30px;height:30px;color:var(--accent);background:#8ea6ff21;border-radius:4px;place-items:center;font-family:Cascadia Code,SFMono-Regular,Consolas,monospace;font-size:.65rem;display:grid}.floating-badge-top{animation:5s ease-in-out infinite badge-drift;top:-30px;right:-26px}.floating-badge-bottom{animation:5s ease-in-out -2.5s infinite badge-drift;bottom:-25px;left:-35px}.hero-highlights{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);margin-top:clamp(80px,11vh,128px);display:grid}.highlight{border-right:1px solid var(--line);align-items:center;gap:18px;min-height:104px;padding:20px 34px;display:flex}.highlight:first-child{padding-left:0}.highlight:last-child{border-right:0}.highlight strong{color:var(--accent);letter-spacing:-.05em;white-space:nowrap;font-size:clamp(1.55rem,2.1vw,2.2rem);font-weight:800}.highlight span{max-width:150px;color:var(--muted);letter-spacing:.03em;text-transform:uppercase;font-size:.74rem;font-weight:700;line-height:1.45}.tech-marquee{background:var(--accent);color:var(--ink);border-top:1px solid #090b102e;border-bottom:1px solid #090b102e;overflow:hidden;transform:rotate(-1.2deg)scale(1.02)}.tech-marquee-track{width:max-content;animation:42s linear infinite marquee;display:flex}.tech-marquee span{letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;align-items:center;gap:30px;padding:17px 15px;font-size:.82rem;font-weight:900;display:inline-flex}.tech-marquee i{font-style:normal}.section{padding:clamp(110px,12vw,180px) 0;scroll-margin-top:75px}.eyebrow{color:var(--accent-dark);letter-spacing:.15em;text-transform:uppercase;margin-bottom:22px;font-family:Cascadia Code,SFMono-Regular,Consolas,monospace;font-size:.7rem;font-weight:800}.section-heading h2{letter-spacing:-.065em;max-width:850px;font-size:clamp(2.7rem,5vw,5.2rem);font-weight:750;line-height:.98}.section-heading-split{grid-template-columns:minmax(0,1fr) 340px;align-items:end;gap:60px;display:grid}.section-aside{max-width:340px;color:var(--muted);font-size:.95rem;line-height:1.7}.projects-section{background:var(--ink);padding:clamp(84px,8vw,120px) 0}.projects-section .eyebrow{color:var(--accent)}.projects-section .section-heading h2{font-size:clamp(2.5rem,4vw,4rem)}.project-list{gap:26px;margin-top:76px;display:grid}.project-card{--project-accent:var(--accent);border:1px solid var(--line);background:radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--project-accent) 9%, transparent), transparent 31%), var(--panel);border-radius:10px;padding:clamp(26px,4vw,50px);transition:border-color .26s,transform .26s,box-shadow .26s;position:relative;overflow:hidden}.project-card:before{background:var(--project-accent);content:"";transform-origin:top;width:3px;transition:transform .35s;position:absolute;inset:0 auto 0 0;transform:scaleY(.22)}.project-card:hover{border-color:color-mix(in srgb, var(--project-accent) 38%, transparent);transform:translateY(-5px);box-shadow:0 35px 75px #00000038}.project-card:hover:before{transform:scaleY(1)}.project-blue{--project-accent:var(--blue)}.project-coral{--project-accent:var(--coral)}.project-topline{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;font-family:Cascadia Code,SFMono-Regular,Consolas,monospace;font-size:.68rem;display:grid}.project-number{color:var(--project-accent);font-weight:800}.project-status{align-items:center;gap:8px;display:inline-flex}.project-status i{background:var(--project-accent);width:6px;height:6px;box-shadow:0 0 12px color-mix(in srgb, var(--project-accent) 55%, transparent);border-radius:50%}.project-topline time{text-align:right}.project-main{grid-template-columns:.85fr 1.15fr;gap:clamp(50px,7vw,110px);margin-top:50px;display:grid}.project-title>p:first-child{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:.76rem;font-weight:800}.project-title h3{color:var(--project-accent);letter-spacing:-.07em;margin:8px 0 24px;font-size:clamp(3rem,5vw,5.5rem);font-weight:800;line-height:.95}.project-summary{max-width:460px;color:var(--paper-soft);font-size:1rem;line-height:1.7}.project-details{gap:28px;display:grid}.project-details>div{border-top:1px solid var(--line);grid-template-columns:105px 1fr;gap:28px;padding-top:18px;display:grid}.project-details span{color:var(--project-accent);letter-spacing:.08em;text-transform:uppercase;font-family:Cascadia Code,SFMono-Regular,Consolas,monospace;font-size:.63rem;font-weight:800}.project-details p{color:#b1b7c3;font-size:.9rem;line-height:1.7}.project-feature-row{flex-wrap:wrap;gap:8px;margin-top:48px;display:flex}.project-feature-row span{border:1px solid var(--line);color:var(--paper-soft);border-radius:3px;padding:7px 11px;font-size:.68rem;font-weight:700}.project-bottom{border-top:1px solid var(--line);grid-template-columns:1fr auto;align-items:end;gap:30px;margin-top:38px;padding-top:25px;display:grid}.project-metrics,.project-stack{flex-wrap:wrap;gap:22px;display:flex}.project-metrics strong{color:var(--paper);font-size:.77rem;font-weight:800}.project-stack{justify-content:flex-end;gap:7px}.project-stack span{color:var(--muted);font-family:Cascadia Code,SFMono-Regular,Consolas,monospace;font-size:.62rem}.project-stack span:not(:last-child):after{color:#515868;content:"/";margin-left:7px}.case-study{--project-accent:var(--accent);border:1px solid var(--line);background:radial-gradient(circle at 100% 0%, #8ea6ff17, transparent 28%), var(--panel);border-radius:14px;margin-top:76px;position:relative;overflow:hidden;box-shadow:0 38px 100px #0003}.case-study:before{background:linear-gradient(to bottom, var(--project-accent), transparent 72%);content:"";width:3px;position:absolute;inset:0 auto 0 0}.case-study-header,.project-demo,.case-study-overview,.case-study-decisions,.case-study-features,.case-study-footer{padding-inline:clamp(24px,4vw,52px)}.case-study-header{padding-block:clamp(30px,4vw,54px) clamp(34px,5vw,68px)}.case-study-index{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;font-family:Cascadia Code,SFMono-Regular,Consolas,monospace;font-size:.68rem;display:grid}.case-study-index span:first-child{color:var(--project-accent);font-weight:800}.case-study-index span:nth-child(2):before{background:var(--project-accent);content:"";border-radius:50%;width:6px;height:6px;margin-right:9px;display:inline-block;box-shadow:0 0 12px #8ea6ff8c}.case-study-index time{text-align:right}.case-study-heading{grid-template-columns:.9fr 1.1fr;align-items:end;gap:clamp(48px,8vw,130px);margin-top:clamp(45px,6vw,82px);display:grid}.case-study-heading>div>p{color:var(--muted);letter-spacing:.07em;text-transform:uppercase;font-size:.72rem;font-weight:800}.case-study-heading h3{color:var(--project-accent);letter-spacing:-.085em;margin-top:10px;font-size:clamp(4.2rem,8.2vw,8.6rem);font-weight:820;line-height:.82}.case-study-summary{max-width:650px;color:var(--paper-soft);font-size:clamp(1.05rem,1.5vw,1.3rem);line-height:1.72}.case-study-labels{flex-wrap:wrap;gap:8px;margin-top:46px;display:flex}.case-study-labels span,.case-study-stack span{border:1px solid var(--line);color:var(--paper-soft);border-radius:999px;padding:7px 12px;font-size:.67rem;font-weight:750}.project-demo{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#ffffff05;padding-block:clamp(32px,4vw,54px) clamp(38px,5vw,64px)}.project-demo-heading{justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.project-demo-heading>div:first-child>span,.case-study-kicker,.case-study-section-title>span{color:var(--project-accent);letter-spacing:.1em;text-transform:uppercase;font-family:Cascadia Code,SFMono-Regular,Consolas,monospace;font-size:.66rem;font-weight:800}.project-demo-heading h4,.case-study-section-title h4{color:var(--paper);letter-spacing:-.055em;margin-top:8px;font-size:clamp(1.9rem,3.2vw,3.2rem);font-weight:760;line-height:1}.device-switch{border:1px solid var(--line);background:var(--ink-soft);border-radius:8px;gap:4px;padding:4px;display:inline-flex}.device-switch button{min-height:40px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:5px;align-items:center;gap:8px;padding:0 14px;font-size:.68rem;font-weight:800;transition:background .18s,color .18s;display:inline-flex}.device-switch button.is-active{background:var(--project-accent);color:var(--ink)}.device-icon{border:1px solid;display:inline-block;position:relative}.device-icon-desktop{border-radius:2px;width:14px;height:10px}.device-icon-desktop:after{content:"";border-bottom:1px solid;width:6px;position:absolute;bottom:-4px;left:4px}.device-icon-mobile{border-radius:2px;width:8px;height:14px}.project-demo-tabs{border:1px solid var(--line);border-bottom:0;border-radius:8px 8px 0 0;grid-template-columns:repeat(4,1fr);margin-top:34px;display:grid;overflow:hidden}.project-demo-tabs button{border:0;border-right:1px solid var(--line);min-height:58px;color:var(--muted);cursor:pointer;text-align:left;background:#ffffff05;align-items:center;gap:11px;padding:0 18px;font-size:.75rem;font-weight:800;transition:background .18s,color .18s;display:flex}.project-demo-tabs button:last-child{border-right:0}.project-demo-tabs button:hover,.project-demo-tabs button.is-active{color:var(--paper);background:#8ea6ff1c}.project-demo-tabs button.is-active{box-shadow:inset 0 -2px var(--project-accent)}.project-demo-tabs button span{color:var(--project-accent);font-family:Cascadia Code,SFMono-Regular,Consolas,monospace;font-size:.62rem}.project-video-stage{border:1px solid var(--line);background-color:#0b0e15;background-image:linear-gradient(#ffffff06 1px,#0000 1px),linear-gradient(90deg,#ffffff06 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:42px 42px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;place-items:center;min-height:420px;padding:clamp(14px,2.5vw,34px);transition:padding .22s;display:grid}.project-video-frame{background:#030406;border:1px solid #ffffff29;border-radius:9px;width:100%;transition:width .26s;overflow:hidden;box-shadow:0 28px 80px #0006}.project-video-stage.is-mobile .project-video-frame{border-radius:24px;width:min(100%,360px)}.project-browser-bar{background:#121722;border-bottom:1px solid #ffffff1a;align-items:center;gap:6px;min-height:38px;padding:0 13px;display:flex}.project-video-stage.is-mobile .project-browser-bar{justify-content:center;min-height:28px}.project-browser-bar>span{background:#5d6677;border-radius:50%;width:7px;height:7px}.project-browser-bar>span:first-child{background:#ff8d77}.project-browser-bar>span:nth-child(2){background:#ffd36d}.project-browser-bar>span:nth-child(3){background:var(--project-accent)}.project-browser-bar p{color:#737c8d;margin-left:auto;font-family:Cascadia Code,SFMono-Regular,Consolas,monospace;font-size:.58rem}.project-video-frame video{aspect-ratio:16/9;object-fit:contain;background:#030406;width:100%;display:block}.project-video-stage.is-mobile video{aspect-ratio:9/16}.project-demo-caption{border:1px solid var(--line);border-top:0;border-radius:0 0 8px 8px;grid-template-columns:.62fr 1.38fr;gap:40px;padding:24px;display:grid}.project-demo-caption>span{color:var(--project-accent);letter-spacing:.06em;text-transform:uppercase;font-family:Cascadia Code,SFMono-Regular,Consolas,monospace;font-size:.62rem;font-weight:800}.project-demo-caption h5{color:var(--paper);font-size:1.05rem}.project-demo-caption p{max-width:680px;color:var(--muted);margin-top:6px;font-size:.86rem;line-height:1.68}.case-study-overview{grid-template-columns:1.12fr .88fr;gap:clamp(55px,8vw,125px);padding-block:clamp(65px,8vw,105px);display:grid}.case-study-overview>div>p{color:#b1b7c3;max-width:700px;margin-top:24px;font-size:.96rem;line-height:1.82}.case-study-overview blockquote{border-left:2px solid var(--project-accent);color:var(--paper);letter-spacing:-.025em;align-self:center;padding-left:28px;font-size:clamp(1.3rem,2vw,1.85rem);font-weight:650;line-height:1.45}.case-study-decisions{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--line);grid-template-columns:repeat(3,1fr);gap:1px;padding-inline:0;display:grid}.case-study-decisions>div{background:var(--ink-soft);padding:clamp(28px,4vw,48px)}.case-study-decisions span,.feature-group>span{color:var(--project-accent);letter-spacing:.09em;text-transform:uppercase;font-family:Cascadia Code,SFMono-Regular,Consolas,monospace;font-size:.64rem;font-weight:800}.case-study-decisions p{color:var(--paper-soft);margin-top:18px;font-size:.88rem;line-height:1.74}.case-study-features{padding-block:clamp(65px,8vw,105px)}.case-study-section-title{grid-template-columns:.65fr 1.35fr;align-items:end;gap:40px;display:grid}.feature-groups{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);margin-top:52px;display:grid}.feature-group{border-right:1px solid var(--line);padding:30px 28px 34px 0}.feature-group+.feature-group{padding-left:28px}.feature-group:last-child{border-right:0}.feature-group h5{color:var(--paper);margin:16px 0 22px;font-size:1rem}.feature-group ul{gap:12px;list-style:none;display:grid}.feature-group li{color:var(--muted);padding-left:16px;font-size:.82rem;line-height:1.55;position:relative}.feature-group li:before{background:var(--project-accent);content:"";border-radius:50%;width:5px;height:5px;position:absolute;top:.62em;left:0}.case-study-footer{border-top:1px solid var(--line);background:#0000001f;grid-template-columns:1.25fr .75fr;gap:clamp(40px,7vw,100px);padding-block:clamp(35px,5vw,54px);display:grid}.case-study-stack{flex-wrap:wrap;gap:7px;margin-top:20px;display:flex}.case-study-note{color:var(--muted);grid-template-columns:24px 1fr;align-self:end;gap:11px;font-size:.75rem;line-height:1.6;display:grid}.case-study-note i{border:1px solid var(--line);width:24px;height:24px;color:var(--project-accent);border-radius:50%;place-items:center;font-family:Georgia,serif;font-style:normal;font-weight:700;display:grid}.experience-section{background:var(--paper);color:var(--ink)}.experience-section .eyebrow{color:var(--accent-dark)}.experience-layout{grid-template-columns:.74fr 1.26fr;gap:clamp(65px,9vw,145px);display:grid}.experience-intro{align-self:start;position:sticky;top:120px}.experience-intro>p{color:#666d7b;max-width:390px;margin-top:32px}.timeline{position:relative}.timeline:before{background:var(--line-dark);content:"";width:1px;position:absolute;top:16px;bottom:20px;left:20px}.timeline-item{grid-template-columns:42px 1fr;gap:26px;display:grid;position:relative}.timeline-item+.timeline-item{margin-top:72px}.timeline-marker{z-index:1;background:var(--paper);width:42px;height:42px;color:var(--accent-dark);border:1px solid #090b1047;border-radius:50%;place-items:center;font-family:Cascadia Code,SFMono-Regular,Consolas,monospace;font-size:.62rem;font-weight:800;display:grid;position:relative}.timeline-content{border-top:1px solid var(--line-dark);padding-top:22px}.timeline-heading{justify-content:space-between;align-items:flex-start;gap:30px;display:flex}.timeline-heading p{color:var(--accent-dark);letter-spacing:.08em;text-transform:uppercase;font-size:.74rem;font-weight:900}.timeline-heading h3{letter-spacing:-.04em;margin-top:5px;font-size:clamp(1.55rem,2.7vw,2.45rem);font-weight:720}.timeline-heading time{color:#6d7380;white-space:nowrap;font-family:Cascadia Code,SFMono-Regular,Consolas,monospace;font-size:.64rem;font-weight:700}.timeline-description{color:#626977;max-width:660px;margin-top:24px;font-size:.97rem}.timeline-tags{flex-wrap:wrap;gap:8px;margin-top:24px;display:flex}.timeline-tags span{border:1px solid var(--line-dark);color:#444b59;border-radius:999px;padding:6px 10px;font-size:.67rem;font-weight:700}.skills-section{background:var(--paper);color:var(--ink)}.skills-section .eyebrow{color:var(--accent-dark)}.skills-section .section-aside{color:#626977}.skills-grid{border-top:1px solid var(--line-dark);border-left:1px solid var(--line-dark);grid-template-columns:repeat(2,1fr);margin-top:78px;display:grid}.skill-group{border-right:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark);min-height:360px;padding:clamp(28px,4vw,50px);transition:background .24s}.skill-group:hover{background:#090b1006}.skill-group-heading{grid-template-columns:44px 1fr;gap:20px;display:grid}.skill-group-heading>span{border:1px solid var(--line-dark);width:36px;height:36px;color:var(--accent-dark);border-radius:50%;place-items:center;font-family:Cascadia Code,SFMono-Regular,Consolas,monospace;font-size:.62rem;display:grid}.skill-group h3{letter-spacing:-.045em;font-size:clamp(1.5rem,2.3vw,2.1rem);font-weight:720}.skill-group p{color:#626977;max-width:390px;margin-top:10px;font-size:.86rem}.skill-list{flex-wrap:wrap;gap:9px;margin-top:52px;display:flex}.skill-list span{border:1px solid var(--line-dark);color:#444b59;background:#090b1004;border-radius:4px;padding:9px 12px;font-family:Cascadia Code,SFMono-Regular,Consolas,monospace;font-size:.69rem;transition:border-color .18s,background .18s,color .18s}.skill-group:hover .skill-list span:hover{border-color:var(--accent-dark);color:var(--accent-dark);background:#8ea6ff14}.education-section{background:#171b25}.education-layout{grid-template-columns:.8fr 1.2fr;gap:clamp(65px,9vw,145px);display:grid}.education-list{border-top:1px solid var(--line)}.education-item{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:30px;padding:33px 0;display:flex}.education-item span{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;font-family:Cascadia Code,SFMono-Regular,Consolas,monospace;font-size:.62rem;font-weight:800}.education-item h3{letter-spacing:-.035em;max-width:520px;margin-top:7px;font-size:clamp(1.35rem,2.3vw,2rem);font-weight:700;line-height:1.2}.education-item p{color:var(--muted);margin-top:8px;font-size:.87rem}.education-item time{color:var(--paper-soft);white-space:nowrap;font-family:Cascadia Code,SFMono-Regular,Consolas,monospace;font-size:.68rem}.contact-section{background:var(--accent);color:var(--ink);isolation:isolate;padding:clamp(100px,11vw,160px) 0;scroll-margin-top:75px;position:relative;overflow:hidden}.contact-grid{z-index:-1;background-image:linear-gradient(#090b1014 1px,#0000 1px),linear-gradient(90deg,#090b1014 1px,#0000 1px);-webkit-mask-image:radial-gradient(circle at 80%,#000,#0000 74%);mask-image:radial-gradient(circle at 80%,#000,#0000 74%)}.contact-section:after{z-index:-1;content:"";border:1px solid #090b102b;border-radius:50%;width:520px;height:520px;position:absolute;bottom:-180px;right:-120px}.contact-inner{grid-template-columns:1.08fr .92fr;align-items:end;gap:clamp(60px,9vw,140px);display:grid}.contact-section .eyebrow{color:#35405f}.contact-section h2{letter-spacing:-.075em;max-width:720px;font-size:clamp(3rem,6vw,6.3rem);font-weight:790;line-height:.94}.contact-copy>p{color:#35405f;max-width:480px;font-size:1rem}.contact-email{border-top:1px solid #090b103d;border-bottom:1px solid #090b103d;grid-template-columns:auto 1fr auto;align-items:center;gap:15px;margin-top:34px;padding:20px 0;font-size:clamp(.84rem,1.4vw,1.08rem);font-weight:800;transition:padding .18s;display:grid}.contact-email:hover{padding-left:8px;padding-right:8px}.contact-location{color:#35405f;text-transform:uppercase;align-items:center;gap:9px;margin-top:25px;font-size:.78rem;font-weight:800;display:flex}.site-footer{background:var(--ink);color:var(--paper);padding:44px 0}.footer-inner{grid-template-columns:1fr auto auto;align-items:center;gap:50px;display:grid}.footer-inner>div:first-child{align-items:center;gap:15px;display:flex}.footer-inner p{color:var(--muted);font-size:.76rem}.footer-links{gap:25px;display:flex}.footer-links a{color:var(--paper-soft);align-items:center;gap:5px;font-size:.74rem;font-weight:800;display:inline-flex}.footer-links svg{width:15px;height:15px}.back-to-top{border:1px solid var(--line);border-radius:50%;place-items:center;width:42px;height:42px;transition:background .18s,color .18s,transform .18s;display:grid}.back-to-top:hover{background:var(--accent);color:var(--ink);transform:translateY(-3px)}[data-reveal]{opacity:0;transition:opacity .72s cubic-bezier(.2, .72, .2, 1) var(--delay,0s), transform .72s cubic-bezier(.2, .72, .2, 1) var(--delay,0s);transform:translateY(24px)}[data-reveal].is-visible{opacity:1;transform:translateY(0)}@keyframes pulse-ring{0%{opacity:.8;transform:scale(.7)}70%,to{opacity:0;transform:scale(1.6)}}@keyframes orb-drift{0%,to{transform:translate(0,0)}50%{transform:translate(-24px,28px)}}@keyframes card-float{0%,to{transform:rotateY(-4deg)rotateX(1deg)translateY(0)}50%{transform:rotateY(-2deg)rotateX(0)translateY(-10px)}}@keyframes badge-drift{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes code-shine{0%,30%{transform:translate(-120%)}55%,to{transform:translate(120%)}}@keyframes typing-cursor-blink{0%,48%{opacity:1}49%,to{opacity:0}}@keyframes marquee{to{transform:translate(-50%)}}@media (max-width:1080px){.hero-layout{grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);gap:50px}.hero-portrait{width:min(100%,360px)}.floating-badge-top{right:-8px}.floating-badge-bottom{left:-10px}.experience-layout,.education-layout{gap:70px}.project-main{gap:55px}}@media (max-width:900px){.main-nav{gap:24px}.hero{padding-top:132px}.hero-layout{grid-template-columns:1fr}.hero-copy{max-width:760px}.hero-portrait{width:min(62vw,390px);margin-inline:auto}.hero-visual{width:min(100%,610px);margin:40px auto 10px}.hero-highlights{margin-top:110px}.highlight{flex-direction:column;align-items:flex-start;gap:6px;padding:22px}.highlight:first-child{padding-left:0}.section-heading-split,.experience-layout,.education-layout,.contact-inner{grid-template-columns:1fr}.section-heading-split{align-items:start;gap:30px}.experience-layout,.education-layout{gap:60px}.experience-intro{position:static}.project-main{grid-template-columns:1fr}.project-title{max-width:650px}.project-details{max-width:760px}.project-bottom{grid-template-columns:1fr}.project-stack{justify-content:flex-start}.case-study-heading,.case-study-overview,.case-study-footer{grid-template-columns:1fr}.case-study-heading{align-items:start;gap:34px}.case-study-summary{max-width:720px}.case-study-decisions{grid-template-columns:1fr}.case-study-decisions>div+div{border-top:1px solid var(--line)}.case-study-section-title{grid-template-columns:1fr;align-items:start;gap:14px}.feature-groups{grid-template-columns:1fr}.feature-group,.feature-group+.feature-group{border-right:0;border-bottom:1px solid var(--line);padding:28px 0}.feature-group:last-child{border-bottom:0}.contact-inner{align-items:start}.contact-copy{max-width:620px}}@media (max-width:720px){.container{width:min(calc(100% - 32px), var(--container))}.header-inner{min-height:68px}.brand-name{display:none}.menu-button{z-index:3;width:44px;height:44px;display:grid;position:relative}.main-nav{visibility:hidden;overscroll-behavior:contain;min-height:100dvh;padding:max(88px, env(safe-area-inset-top)) max(32px, env(safe-area-inset-right)) max(36px, env(safe-area-inset-bottom)) max(32px, env(safe-area-inset-left));opacity:0;background:#090b10fa;flex-direction:column;justify-content:center;align-items:flex-start;gap:20px;transition:opacity .22s,transform .22s,visibility .22s;display:flex;position:fixed;inset:0;overflow-y:auto;transform:translateY(-12px)}.main-nav.is-open{visibility:visible;opacity:1;transform:translateY(0)}.main-nav a:not(.nav-contact){letter-spacing:-.04em;font-size:clamp(2rem,10vw,3rem);font-weight:750;line-height:1.05}.nav-contact{margin-top:12px;padding:12px 22px;font-size:1rem}.hero{min-height:auto;padding-top:118px}.hero-particle-network{opacity:.48}.hero-portrait{width:min(78vw,360px)}.hero-intro{margin-top:28px;font-size:1rem}.hero-visual{margin-top:52px}.code-card{animation:none;transform:none}.code-card-header{grid-template-columns:1fr auto}.code-card-header>span:nth-child(2),.floating-badge{display:none}.code-body{scrollbar-width:thin;padding:28px 18px;font-size:.69rem;overflow-x:auto}.code-card-footer{flex-direction:column;align-items:flex-start}.code-card-footer div{justify-content:flex-start}.hero-highlights{grid-template-columns:1fr;margin-top:70px}.highlight,.highlight:first-child{border-right:0;border-bottom:1px solid var(--line);flex-direction:row;align-items:center;min-height:88px;padding:19px 0}.highlight:last-child{border-bottom:0}.section{padding:78px 0}.section-heading h2{font-size:clamp(2.35rem,11vw,3.7rem)}.skills-grid{grid-template-columns:1fr}.project-list,.skills-grid{margin-top:55px}.project-card{padding:25px 20px}.project-topline{grid-template-columns:1fr auto}.project-status{display:none}.project-main{gap:42px;margin-top:40px}.project-title h3{font-size:clamp(3rem,16vw,4.5rem)}.project-details>div{grid-template-columns:1fr;gap:10px}.project-bottom{margin-top:30px}.project-metrics{flex-direction:column;gap:8px}.case-study{border-radius:10px;margin-top:55px}.case-study-header,.project-demo,.case-study-overview,.case-study-features,.case-study-footer{padding-inline:20px}.case-study-index{grid-template-columns:1fr auto}.case-study-index span:nth-child(2){display:none}.case-study-heading{margin-top:42px}.case-study-heading h3{font-size:clamp(4rem,23vw,6.5rem)}.case-study-labels{margin-top:34px}.project-demo-heading{flex-direction:column;align-items:flex-start}.device-switch{width:100%}.device-switch button{flex:1;justify-content:center}.project-demo-tabs{grid-template-columns:repeat(4,minmax(116px,1fr));overflow-x:auto}.project-demo-tabs button{min-height:54px;padding:0 14px}.project-video-stage{min-height:300px;padding:10px}.project-browser-bar p{display:none}.project-demo-caption{grid-template-columns:1fr;gap:12px;padding:20px}.case-study-overview{gap:48px}.case-study-overview blockquote{padding-left:20px;font-size:1.25rem}.case-study-decisions>div{padding:30px 20px}.case-study-footer{gap:38px}.skill-group{min-height:0;padding:30px 22px}.education-item,.timeline-heading{flex-direction:column;gap:16px}.contact-section{padding:80px 0}.contact-section h2{font-size:clamp(2.65rem,13vw,4.1rem)}.contact-email{overflow-wrap:anywhere;grid-template-columns:auto 1fr}.contact-email svg:last-child{display:none}.footer-inner{grid-template-columns:1fr auto;gap:25px}.footer-links{grid-area:2/1/auto/-1}}@media (max-width:440px){.main-nav{padding-right:max(24px, env(safe-area-inset-right));padding-left:max(24px, env(safe-area-inset-left));gap:16px}.main-nav a:not(.nav-contact){font-size:clamp(1.75rem,8.5vw,2.3rem)}.hero{padding-top:104px}.hero-portrait{width:min(78vw,300px)}.hero-actions{display:grid}.button{width:100%}.hero-social>span{display:none}.hero-social a{width:44px;height:44px}.code-body{padding:24px 12px;font-size:.61rem}.line-number{width:30px}.code-card-footer{gap:12px;padding:14px}.timeline-item{grid-template-columns:34px 1fr;gap:16px}.timeline:before{left:16px}.timeline-marker{width:34px;height:34px}.skill-group-heading{grid-template-columns:1fr}.footer-inner>div:first-child p{display:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}[data-reveal]{opacity:1;transform:none}}
