:root{color:#e8efec;background:#07100f;font-family:Inter,Segoe UI,Microsoft YaHei,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;scroll-behavior:smooth;--bg: #07100f;--surface: #0b1513;--surface-strong: #101c19;--surface-light: #15221f;--line: rgba(174, 201, 192, .18);--line-strong: rgba(94, 234, 212, .44);--text: #f4f7f5;--muted: #9bada7;--teal: #48d7c3;--teal-deep: #0f766e;--amber: #f5b942}*{box-sizing:border-box}html{background:var(--bg)}body{min-width:320px;margin:0;color:var(--text);background:var(--bg)}button,a{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}ul,ol,dl,dd,p{margin-top:0}.app-shell{min-height:100vh;overflow:clip}.site-header{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:28px;width:min(1240px,calc(100% - 64px));min-height:76px;margin:0 auto;border-bottom:1px solid transparent;background:#07100fe0;transition:border-color .18s ease,background-color .18s ease;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.site-header.is-scrolled{border-color:var(--line);background:#07100ffa}.brand{display:inline-flex;align-items:center;gap:12px;min-height:40px;flex:0 0 auto}.brand strong{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--line-strong);border-radius:4px;color:var(--text);background:var(--surface);font-size:15px}.brand span{color:var(--muted);font-size:11px;font-weight:700;letter-spacing:0}.header-actions,.site-header nav{display:flex;align-items:center}.header-actions{gap:14px;min-width:0}.site-header nav{gap:2px}.site-header nav a,.header-contact,.primary-action,.ghost-action,.project-link,.contact-actions a,.contact-actions button,.contact-card>a{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:4px;white-space:nowrap}.site-header nav a{padding:0 11px;color:var(--muted);font-size:13px;transition:color .16s ease,background-color .16s ease}.site-header nav a:hover,.site-header nav a.is-active{color:var(--text);background:var(--surface-strong)}.header-contact{border:1px solid var(--line-strong);padding:0 14px;color:#d9fffa;background:#0f766e38;font-size:13px}main{width:min(1240px,calc(100% - 64px));margin:0 auto}.section{padding:104px 0;border-top:1px solid var(--line);scroll-margin-top:90px}.hero{min-height:calc(100vh - 76px);display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);align-items:center;column-gap:72px;row-gap:54px;padding:70px 0 50px;border-top:0}.hero-copy{min-width:0}.availability{display:inline-flex;align-items:center;gap:10px;min-height:30px;border:1px solid var(--line);border-radius:4px;padding:0 10px;color:#cae0d8;background:#0b1513bf;font-size:12px}.availability>span,.system-status i{width:7px;height:7px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 4px #48d7c31c}.eyebrow,.section-heading>span{color:var(--teal);font-size:12px;font-weight:800;letter-spacing:0;text-transform:uppercase}.hero .eyebrow{margin:26px 0 10px}.hero h1{display:flex;align-items:flex-end;gap:20px;margin:0;color:var(--text);font-size:72px;line-height:1.04;letter-spacing:0}.hero h1 small{padding-bottom:8px;color:#789087;font-size:16px;font-weight:600}.hero-role{display:flex;flex-direction:column;gap:6px;margin:18px 0 0;color:#e9f4f0;font-size:23px;line-height:1.4}.hero-role strong{color:var(--amber);font-family:Cascadia Code,Consolas,monospace;font-size:13px;font-weight:600}.hero-summary,.section-heading p,.skill-index p,.project-problem p,.project-columns li,.timeline p,.education-body p,.contact-card p{color:var(--muted);line-height:1.75}.hero-summary{max-width:680px;margin:22px 0 0;font-size:16px}.hero-meta,.hero-actions{display:flex;flex-wrap:wrap;gap:10px}.hero-meta{margin-top:22px}.hero-meta span{display:inline-flex;align-items:center;gap:7px;color:#bed0c9;font-size:13px}.hero-meta svg{color:var(--teal)}.hero-actions{margin-top:24px}.primary-action,.ghost-action,.project-link,.contact-actions a,.contact-actions button,.contact-card>a{border:1px solid var(--line);padding:0 14px;color:#dfe9e5;background:var(--surface);transition:border-color .16s ease,color .16s ease,background-color .16s ease}.primary-action{border-color:#1e9d8f;color:#f2fffc;background:var(--teal-deep)}.primary-action:hover,.header-contact:hover{border-color:var(--teal);background:#116f68}.ghost-action:hover,.project-link:hover,.contact-actions a:hover,.contact-actions button:hover,.contact-card>a:hover{border-color:#f5b94280;color:#fff4d8;background:#f5b94214}.system-map,.project-visual{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:6px;background-color:var(--surface);background-image:linear-gradient(rgba(72,215,195,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(72,215,195,.045) 1px,transparent 1px);background-size:28px 28px}.system-map:before,.project-visual:before{content:"";position:absolute;inset:0 auto auto 0;width:72px;height:3px;background:var(--teal)}.system-map{min-height:430px;padding:28px}.system-map-head,.system-map-foot,.project-visual-head,.project-visual-signal{display:flex;align-items:center;justify-content:space-between;gap:18px}.system-map-head>div{display:grid;gap:7px}.system-map-head span,.project-visual-head span,.project-visual-head small{color:var(--teal);font-family:Cascadia Code,Consolas,monospace;font-size:11px;font-weight:700}.system-map-head strong{font-size:20px}.system-status{display:inline-flex;align-items:center;gap:8px;min-height:30px;border:1px solid var(--line);border-radius:4px;padding:0 10px;color:#bde4dc!important}.system-stages{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:34px 0}.system-stage-wrap{position:relative}.system-stage{min-height:106px;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px 12px;border:1px solid var(--line);border-radius:4px;padding:16px;background:#07100fd1}.system-stage svg{justify-self:end;color:var(--teal)}.system-code{color:var(--amber);font-family:Cascadia Code,Consolas,monospace;font-size:11px}.system-stage strong{font-size:14px}.system-stage small{grid-column:1 / -1;color:var(--muted);font-size:12px}.system-arrow{display:none}.system-map-foot{justify-content:flex-start;flex-wrap:wrap;padding-top:18px;border-top:1px solid var(--line)}.system-map-foot span{color:#8fa29b;font-family:Cascadia Code,Consolas,monospace;font-size:10px}.system-map-foot span:before{content:"+";margin-right:6px;color:var(--amber)}.hero-metrics{grid-column:1 / -1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.hero-metrics>div{min-height:104px;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:18px;padding:20px 28px;border-right:1px solid var(--line)}.hero-metrics>div:first-child{padding-left:0}.hero-metrics>div:last-child{border-right:0}.hero-metrics dt{color:var(--amber);font-family:Cascadia Code,Consolas,monospace;font-size:34px;font-weight:800}.hero-metrics dd{display:grid;gap:4px}.hero-metrics dd strong{font-size:14px}.hero-metrics dd span{color:var(--muted);font-size:11px}.section-heading{display:grid;grid-template-columns:180px minmax(0,1fr);column-gap:40px;max-width:980px;margin-bottom:44px}.section-heading>span{grid-row:1 / span 2;padding-top:10px}.section-heading h2{margin:0;color:var(--text);font-size:38px;line-height:1.22;letter-spacing:0}.section-heading p{max-width:760px;margin:14px 0 0;font-size:15px}.segmented-control{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.segmented-control button{min-height:50px;border:0;border-right:1px solid var(--line);border-radius:0;padding:0 12px;color:var(--muted);background:transparent;font-size:13px}.segmented-control button:last-child{border-right:0}.segmented-control button:hover,.segmented-control button.is-active{color:var(--text);background:var(--surface-strong)}.segmented-control button.is-active{box-shadow:inset 0 -2px var(--teal)}.skill-panel{display:grid;grid-template-columns:300px minmax(0,1fr);gap:54px;padding:40px 0 0;animation:content-in .26s ease both}.skill-index{min-width:0}.skill-index>span,.skill-index small{color:var(--amber);font-family:Cascadia Code,Consolas,monospace;font-size:11px}.skill-index h3{margin:14px 0 12px;font-size:25px}.skill-index p{margin-bottom:26px;font-size:14px}.skill-index small{color:#71847d}.skill-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;padding:1px;margin:0;list-style:none;background:var(--line)}.skill-grid li{min-height:76px;display:grid;align-content:center;gap:8px;padding:14px 16px;background:var(--surface)}.skill-grid li span{color:#62756e;font-family:Cascadia Code,Consolas,monospace;font-size:10px}.skill-grid li strong{color:#dce8e3;font-size:13px;font-weight:600}.project-showcase{display:grid;gap:28px}.project-selector{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.project-card{width:100%;min-height:88px;display:grid;grid-template-columns:34px 1fr;align-items:center;gap:14px;border:0;border-right:1px solid var(--line);border-radius:0;padding:16px 20px;color:var(--muted);background:transparent;text-align:left}.project-card:last-child{border-right:0}.project-card>span{color:var(--amber);font-family:Cascadia Code,Consolas,monospace;font-size:12px}.project-card>div{display:grid;gap:6px}.project-card strong{color:#cbd8d3;font-size:14px}.project-card small{color:#758980;font-size:11px}.project-card:hover,.project-card.is-active{background:var(--surface-strong)}.project-card.is-active strong{color:var(--text)}.project-card.is-active{box-shadow:inset 0 -2px var(--teal)}.project-case{padding:34px 0 0;animation:content-in .28s ease both}.project-case-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:28px}.project-case-head>div{max-width:840px}.project-case-head span{color:var(--teal);font-family:Cascadia Code,Consolas,monospace;font-size:11px}.project-case-head h3{margin:10px 0 0;font-size:28px;line-height:1.35}.project-visual{min-height:260px;padding:26px}.project-visual-flow{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;padding:0;margin:36px 0;list-style:none}.project-visual-flow li{position:relative;min-height:88px;display:grid;align-content:center;gap:8px;border:1px solid var(--line);border-radius:4px;padding:13px;background:#07100fd6}.project-visual-flow li>span{color:var(--amber);font-family:Cascadia Code,Consolas,monospace;font-size:10px}.project-visual-flow li strong{font-size:12px;line-height:1.45}.project-visual-flow li svg{position:absolute;top:50%;right:-15px;z-index:2;color:var(--teal);transform:translateY(-50%)}.project-visual-signal{justify-content:flex-start;min-height:44px;border-top:1px solid var(--line);padding-top:16px;color:var(--muted);font-size:12px}.project-visual-signal svg{color:var(--teal)}.project-visual-signal strong{margin-left:auto;color:#d6e5df;font-size:12px}.project-problem{display:grid;grid-template-columns:160px minmax(0,1fr);gap:28px;margin-top:38px;padding:26px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.project-problem>span{color:var(--amber);font-size:13px;font-weight:700}.project-problem p{margin:0}.project-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:52px;padding:38px 0}.project-columns h4{margin:0 0 18px;color:var(--text);font-size:17px}.project-columns h4 span{margin-right:8px;color:var(--teal);font-family:Cascadia Code,Consolas,monospace;font-size:11px}.project-columns ul{display:grid;gap:12px;padding:0;margin:0;list-style:none}.project-columns li{position:relative;padding-left:18px;font-size:13px}.project-columns li:before{content:"/";position:absolute;left:0;color:var(--amber)}.project-outcomes,.project-stack{display:flex;flex-wrap:wrap;padding:0;margin:0;list-style:none}.project-outcomes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.project-outcomes li{min-height:76px;display:flex;align-items:center;border-right:1px solid var(--line);padding:16px 20px;color:#f0d9a4;font-size:13px;line-height:1.5}.project-outcomes li:last-child{border-right:0}.project-stack{gap:8px;margin-top:22px}.project-stack li{border:1px solid var(--line);border-radius:4px;padding:7px 9px;color:#aabbb5;background:var(--surface);font-family:Cascadia Code,Consolas,monospace;font-size:10px}.timeline{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;padding:0;margin:0;border-top:1px solid var(--line);list-style:none}.timeline li{min-width:0;border-right:1px solid var(--line);padding:26px 22px 10px}.timeline li:last-child{border-right:0}.timeline-marker{position:relative;display:flex;align-items:center;margin-bottom:28px}.timeline-marker span{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--line-strong);border-radius:4px;color:var(--amber);background:var(--surface);font-family:Cascadia Code,Consolas,monospace;font-size:11px}.timeline-marker i{position:absolute;left:38px;width:calc(100% + 28px);height:1px;background:var(--line)}.timeline li:last-child .timeline-marker i{display:none}.timeline h3{margin:0 0 10px;font-size:15px}.timeline p{margin:0;font-size:12px}.education-panel{display:grid;grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr);gap:70px;padding:38px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.education-head span{color:var(--amber);font-family:Cascadia Code,Consolas,monospace;font-size:12px}.education-head h3{margin:18px 0 9px;font-size:26px}.education-head small{color:var(--muted)}.education-body>strong{display:block;margin-bottom:8px;color:var(--teal);font-size:18px}.education-body p{font-size:13px}.course-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;padding:1px;margin:20px 0 0;background:var(--line);list-style:none}.course-list li{min-height:46px;display:flex;align-items:center;gap:12px;padding:0 14px;color:#c8d5d0;background:var(--surface);font-size:12px}.course-list li span{color:#61736d;font-family:Cascadia Code,Consolas,monospace;font-size:10px}.contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;padding:1px;background:var(--line)}.contact-card{min-height:190px;display:grid;align-content:start;gap:14px;padding:24px;background:var(--surface)}.contact-card-head{display:flex;align-items:center;gap:9px;color:var(--teal)}.contact-card-head span{color:var(--muted);font-size:12px}.contact-card>strong{color:var(--text);font-size:18px;overflow-wrap:anywhere}.contact-card p{font-size:13px}.contact-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}.contact-actions button{cursor:pointer}.contact-card>a{justify-content:space-between}button:focus-visible,a:focus-visible{outline:3px solid rgba(72,215,195,.55);outline-offset:3px}.reveal{animation:section-in .52s ease both}@keyframes section-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes content-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1100px){.site-header{align-items:flex-start;flex-direction:column;gap:10px;padding:14px 0}.header-actions{width:100%}.site-header nav{flex:1 1 auto;flex-wrap:wrap}.hero{min-height:auto;grid-template-columns:1fr;padding-top:74px}.system-map{min-height:380px}.skill-panel{grid-template-columns:240px minmax(0,1fr);gap:34px}.skill-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-visual-flow{grid-template-columns:repeat(3,minmax(0,1fr))}.project-visual-flow li:nth-child(3) svg{display:none}.timeline{grid-template-columns:repeat(2,minmax(0,1fr));border-left:1px solid var(--line);border-bottom:1px solid var(--line)}.timeline li{border-top:0;border-bottom:1px solid var(--line)}.timeline-marker i{display:none}}@media(max-width:760px){main,.site-header{width:min(100% - 28px,1240px)}.section{padding:74px 0;scroll-margin-top:132px}.site-header{min-height:0}.brand span,.header-contact{display:none}.header-actions,.site-header nav{width:100%}.site-header nav a{flex:1 0 auto;min-height:34px;padding:0 8px;font-size:11px}.hero{row-gap:38px;padding:54px 0 36px}.hero h1{align-items:flex-start;flex-direction:column;gap:8px;font-size:42px}.hero h1 small{padding:0;font-size:13px}.hero-role{font-size:19px}.hero-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.hero-actions a{min-width:0;padding:0 10px;font-size:12px;white-space:normal;text-align:center}.system-map{min-height:0;padding:20px}.system-map-head{align-items:flex-start}.system-map-head strong{font-size:17px}.system-status{display:none}.system-stages{grid-template-columns:1fr;margin:26px 0}.system-stage{min-height:86px}.hero-metrics{grid-template-columns:1fr}.hero-metrics>div,.hero-metrics>div:first-child{min-height:88px;border-right:0;border-bottom:1px solid var(--line);padding:16px 0}.hero-metrics>div:last-child{border-bottom:0}.hero-metrics dt{min-width:88px;font-size:28px}.section-heading{grid-template-columns:1fr;gap:10px;margin-bottom:30px}.section-heading>span{grid-row:auto;padding:0}.section-heading h2{font-size:29px}.segmented-control{grid-template-columns:repeat(2,minmax(0,1fr))}.segmented-control button{border-bottom:1px solid var(--line);white-space:normal}.skill-panel,.education-panel{grid-template-columns:1fr;gap:30px}.skill-grid,.course-list,.project-selector,.project-columns,.project-outcomes,.contact-grid,.timeline{grid-template-columns:1fr}.project-card{border-right:0;border-bottom:1px solid var(--line)}.project-case-head{flex-direction:column}.project-case-head h3{font-size:23px}.project-visual{padding:20px}.project-visual-flow{grid-template-columns:1fr;gap:8px;margin:26px 0}.project-visual-flow li{min-height:68px}.project-visual-flow li svg{display:none}.project-visual-signal{align-items:flex-start;flex-wrap:wrap}.project-visual-signal strong{width:100%;margin:0}.project-problem{grid-template-columns:1fr;gap:12px}.project-columns{gap:32px}.project-outcomes li{min-height:64px;border-right:0;border-bottom:1px solid var(--line)}.project-outcomes li:last-child{border-bottom:0}.timeline li{border-right:0}.education-panel{padding:30px 0}.contact-card{min-height:170px}}@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
