:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#f3f7ff;font-synthesis:none;text-rendering:optimizelegibility;--ink:#07111f;--panel:#0d1b2f;--panel-soft:#10233d;--paper:#f3f7ff;--muted:#9eabc0;--line:#9cb3d72e;--blue:#48a8ff;--violet:#a96fff;--mint:#6be3c1;--amber:#f4c76b;--max:1220px;background:#07111f;font-family:Noto Sans TC,PingFang TC,Microsoft JhengHei,system-ui,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--ink);min-width:320px;margin:0}body:before{content:"";pointer-events:none;z-index:-1;background:radial-gradient(circle at 76% 6%,#5564f624,#0000 28%),linear-gradient(#7c9dcc09 1px,#0000 1px) 0 0/48px 48px,linear-gradient(90deg,#7c9dcc06 1px,#0000 1px) 0 0/48px 48px;position:fixed;inset:0}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}img{max-width:100%;display:block}[hidden]{display:none!important}:focus-visible{outline:3px solid var(--mint);outline-offset:4px}.skip-link{z-index:100;color:var(--ink);background:var(--mint);border-radius:8px;padding:10px 16px;transition:top .2s;position:fixed;top:-80px;left:16px}.skip-link:focus{top:16px}.site-shell{overflow:hidden}.section{width:min(var(--max), calc(100% - 48px));margin-inline:auto}.site-header{width:min(var(--max), calc(100% - 48px));z-index:20;justify-content:space-between;align-items:center;height:88px;margin-inline:auto;display:flex;position:relative}.brand{align-items:center;gap:12px;display:inline-flex}.brand-mark{aspect-ratio:1;width:42px;color:var(--mint);letter-spacing:-.04em;background:#6be3c114;border:1px solid #6be3c173;border-radius:11px;place-items:center;font:600 14px IBM Plex Mono,monospace;display:grid}.brand-copy{line-height:1.15;display:grid}.brand-copy strong{letter-spacing:.02em;font-size:14px}.brand-copy small{color:var(--muted);text-transform:uppercase;margin-top:4px;font:500 10px IBM Plex Mono,monospace}.nav-links{color:#bdc7d7;align-items:center;gap:32px;font-size:14px;display:flex}.nav-links a{transition:color .2s}.nav-links a:hover{color:var(--paper)}.nav-cta{border:1px solid var(--line);border-radius:99px;padding:11px 18px;color:var(--paper)!important}.nav-cta:hover{border-color:var(--blue)}.menu-button{color:var(--paper);background:0 0;border:0;display:none}.hero{grid-template-columns:minmax(0,1.05fr) minmax(380px,.78fr);align-items:center;gap:clamp(56px,8vw,112px);min-height:calc(100vh - 88px);padding:76px 0 108px;display:grid}.eyebrow{color:var(--blue);letter-spacing:.11em;align-items:center;gap:8px;margin:0 0 20px;font:600 12px IBM Plex Mono,monospace;display:flex}.hero h1{letter-spacing:-.055em;max-width:780px;margin:0;font-size:clamp(46px,5.5vw,78px);font-weight:900;line-height:1.12}.hero h1 span{color:#0000;background:linear-gradient(90deg,#ecf5ff 0%,#5eb4ff 42%,#b47aff 86%);-webkit-background-clip:text;background-clip:text;display:block}.hero-lead{color:#b6c2d5;max-width:680px;margin:30px 0 0;font-size:18px;line-height:1.9}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:38px;display:flex}.button{border-radius:9px;justify-content:center;align-items:center;gap:9px;min-height:48px;padding:0 20px;font-size:14px;font-weight:700;transition:transform .2s,border-color .2s,background .2s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button-primary{color:#03121f;background:var(--mint);box-shadow:0 14px 40px #6be3c12e}.button-ghost{border:1px solid var(--line);background:#ffffff06}.button-ghost:hover{border-color:#48a8ff99}.hero-proof{color:var(--muted);flex-wrap:wrap;gap:14px 24px;margin-top:30px;font-size:12px;display:flex}.hero-proof span{align-items:center;gap:7px;display:inline-flex}.hero-proof svg{color:var(--mint)}.hero-visual{justify-self:end;width:100%;max-width:490px;position:relative}.portrait-crop{aspect-ratio:.82;background:var(--panel);border:1px solid #7691c147;border-radius:32px 32px 128px;position:relative;overflow:hidden;box-shadow:0 40px 100px #00000061}.portrait-crop:after{content:"";border-radius:inherit;border:1px solid #ffffff14;position:absolute;inset:0;box-shadow:inset 0 -110px 100px #030b16b8}.portrait-crop img{object-fit:cover;object-position:88% 48%;width:100%;height:100%;transform:scale(1.16)}.status-chip{color:#bff6e7;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);letter-spacing:.08em;background:#07111fe0;border:1px solid #6be3c15c;border-radius:99px;align-items:center;gap:8px;padding:9px 13px;font:500 9px IBM Plex Mono,monospace;display:flex;position:absolute;top:24px;left:-18px}.status-chip span{background:var(--mint);width:7px;height:7px;box-shadow:0 0 14px var(--mint);border-radius:50%}.floating-log{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0a192ce6;border:1px solid #7594c745;border-radius:14px;gap:6px;width:250px;padding:17px 18px;display:grid;position:absolute;bottom:42px;right:-26px;box-shadow:0 20px 50px #00000047}.floating-log small{color:var(--violet);letter-spacing:.08em;font:500 9px IBM Plex Mono,monospace}.floating-log strong{font-size:14px}.floating-log span{color:var(--muted);font-size:11px;line-height:1.5}.results-strip{width:min(1380px,100% - 32px);padding:0 max(24px, calc((100% - var(--max)) / 2));border-block:1px solid var(--line);background:#0d1b2f9e;grid-template-columns:repeat(4,1fr);margin-inline:auto;display:grid}.result-item{border-right:1px solid var(--line);align-items:center;gap:18px;min-height:160px;padding:34px 30px;display:flex}.result-item:last-child{border-right:0}.result-item strong{color:var(--paper);letter-spacing:-.06em;font:600 clamp(36px,4vw,54px) IBM Plex Mono,monospace}.result-item strong small{color:var(--blue);font-size:.42em}.result-item span{color:var(--muted);font-size:12px;line-height:1.7}.work-section{padding-block:150px 120px}.section-heading{grid-template-columns:1.15fr .7fr;align-items:end;gap:80px;margin-bottom:58px;display:grid}.section-heading h2,.method-intro h2,.about-card h2,.contact-section h2{letter-spacing:-.045em;margin:0;font-size:clamp(38px,5vw,64px);line-height:1.2}.section-heading>p{max-width:470px;color:var(--muted);margin:0 0 6px;font-size:16px;line-height:1.85}.projects-grid{grid-template-columns:repeat(12,1fr);gap:24px;display:grid}.project-card{border:1px solid var(--line);background:#0d1b2fb8;border-radius:20px;grid-column:span 6;transition:transform .25s,border-color .25s;overflow:hidden}.project-card:hover{border-color:#48a8ff61;transform:translateY(-5px)}.project-1{grid-column:span 7}.project-2{grid-column:span 5}.project-5{grid-column:4/span 6}.project-image{aspect-ratio:16/9;background:#111d2c;position:relative;overflow:hidden}.project-image:after{content:"";background:linear-gradient(#0000 55%,#07111f8c);position:absolute;inset:0}.project-image img{object-fit:cover;object-position:top;width:100%;height:100%;transition:transform .5s}.ai-review-visual{background:radial-gradient(circle at 18% 25%,#48a8ff30,#0000 30%),linear-gradient(145deg,#0a1728,#12182f);place-items:center;display:grid}.review-pipeline{grid-template-columns:1.5fr auto .72fr auto .72fr;align-items:center;gap:10px;width:88%;display:grid}.review-message,.review-agent,.review-gate{background:#050f1dad;border:1px solid #9eb3d733;border-radius:12px;flex-direction:column;justify-content:center;gap:8px;min-height:88px;padding:14px;display:flex;box-shadow:0 14px 34px #00000038}.review-message span{color:var(--amber);letter-spacing:.1em;font-size:11px}.review-message p{color:#b7c4d6;margin:0;font-size:10px;line-height:1.5}.review-agent,.review-gate{color:var(--violet);align-items:center}.review-gate{color:var(--mint)}.review-agent span,.review-gate span{color:#c6d1e1;font:500 8px IBM Plex Mono,monospace}.review-arrow{color:#64748b;font:500 14px IBM Plex Mono,monospace}.project-card:hover .project-image img{transform:scale(1.025)}.project-label{z-index:2;color:var(--paper);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#07111fd1;border-radius:99px;padding:7px 11px;font:500 10px IBM Plex Mono,monospace;position:absolute;top:16px;left:16px}.project-content{padding:28px}.project-title-row{justify-content:space-between;align-items:start;gap:20px;display:flex}.project-title-row h3{letter-spacing:-.025em;margin:0;font-size:23px}.project-index{color:#9eabc073;font:500 12px IBM Plex Mono,monospace}.project-story{gap:13px;margin:24px 0 0;display:grid}.project-story div{grid-template-columns:45px 1fr;gap:10px;display:grid}.project-story dt{color:var(--blue);font:500 10px IBM Plex Mono,monospace}.project-story dd{color:#aebacf;margin:0;font-size:13px;line-height:1.7}.project-result{color:#dffcf4;border-left:2px solid var(--mint);background:#6be3c10e;align-items:center;gap:9px;margin:22px 0 0;padding:12px 14px;font-size:13px;font-weight:600;display:flex}.project-result svg{color:var(--mint);flex:none}.project-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;margin-top:24px;padding-top:20px;display:flex}.tag-list{flex-wrap:wrap;gap:6px;display:flex}.tag-list span{color:var(--muted);font:500 9px IBM Plex Mono,monospace}.project-links{gap:14px;display:flex}.project-links a,.text-link{color:var(--paper);white-space:nowrap;align-items:center;gap:4px;font-size:12px;display:inline-flex}.project-links a:hover,.text-link:hover{color:var(--mint)}.method-section{grid-template-columns:.72fr 1.28fr;align-items:start;gap:clamp(60px,9vw,130px);padding-block:130px;display:grid}.method-intro{position:sticky;top:80px}.method-intro p:last-child{color:var(--muted);margin:28px 0 0;font-size:15px;line-height:1.9}.build-console{background:#091523;border:1px solid #6be3c133;border-radius:18px;overflow:hidden;box-shadow:0 30px 80px #0000003d}.console-top{border-bottom:1px solid var(--line);background:#ffffff06;align-items:center;gap:7px;height:48px;padding:0 18px;display:flex}.console-top>span{background:#334158;border-radius:50%;width:8px;height:8px}.console-top>span:first-child{background:#ad6a80}.console-top small{color:#607089;margin-left:auto;font:400 9px IBM Plex Mono,monospace}.build-step{border-bottom:1px solid var(--line);grid-template-columns:80px 1fr auto;align-items:start;gap:12px;min-height:142px;padding:27px 24px 27px 0;display:grid}.build-step:last-child{border-bottom:0}.step-line{justify-content:center;align-self:stretch;display:flex;position:relative}.step-line:after{content:"";background:linear-gradient(var(--blue), #48a8ff1f);width:1px;position:absolute;top:29px;bottom:-40px}.build-step:last-child .step-line:after{display:none}.step-line span{z-index:1;width:28px;height:28px;color:var(--blue);background:#0b1a2b;border:1px solid #48a8ff5c;border-radius:8px;place-items:center;font:500 10px IBM Plex Mono,monospace;display:grid;position:relative}.build-step small{color:var(--violet);letter-spacing:.1em;font:600 9px IBM Plex Mono,monospace}.build-step h3{margin:6px 0 8px;font-size:17px}.build-step p{max-width:520px;color:var(--muted);margin:0;font-size:12px;line-height:1.75}.step-status{color:var(--mint);margin-top:3px;font:500 8px IBM Plex Mono,monospace}.more-work-section{padding-block:120px}.section-heading.compact{align-items:end}.section-heading.compact h2{font-size:clamp(36px,4vw,52px)}.more-work-grid{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(3,1fr);display:grid}.more-work-grid article{border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#0d1b2f47;min-height:185px;padding:25px;transition:background .2s}.more-work-grid article:hover{background:#10233db3}.more-work-grid span{color:var(--mint);font:500 9px IBM Plex Mono,monospace}.more-work-grid h3{margin:25px 0 8px;font-size:17px}.more-work-grid p{color:var(--muted);margin:0;font-size:12px;line-height:1.7}.about-section{padding-block:90px 140px}.about-card{color:var(--ink);background:var(--paper);border-radius:28px;padding:clamp(36px,7vw,86px)}.about-kicker{color:#48617b;letter-spacing:.13em;margin-bottom:26px;font:600 10px IBM Plex Mono,monospace}.about-card h2{max-width:960px}.about-columns{grid-template-columns:1fr 1fr;gap:60px;margin-top:50px;display:grid}.about-columns p{color:#425066;margin:0;font-size:15px;line-height:1.9}.skill-ribbon{border-top:1px solid #d4dce7;flex-wrap:wrap;gap:10px;margin-top:60px;padding-top:24px;display:flex}.skill-ribbon span{color:#33465e;border:1px solid #cdd7e4;border-radius:99px;padding:8px 12px;font:500 9px IBM Plex Mono,monospace}.contact-section{background:linear-gradient(135deg,#31557e40,#61318b3b);border:1px solid #a96fff47;border-radius:28px;grid-template-columns:1fr auto;align-items:end;gap:70px;margin-bottom:30px;padding:clamp(42px,7vw,78px);display:grid}.contact-section h2{font-size:clamp(36px,5vw,58px)}.contact-section>div>p:last-child{color:#aab7cb;max-width:700px;margin:22px 0 0;font-size:15px;line-height:1.8}.contact-actions{gap:10px;display:grid}.button-light{color:var(--ink);background:var(--paper)}.button-outline-light{border:1px solid #f3f7ff40}.site-footer{width:min(var(--max), calc(100% - 48px));color:#607089;justify-content:space-between;align-items:center;min-height:90px;margin-inline:auto;font:400 9px IBM Plex Mono,monospace;display:flex}@media (width<=1000px){.hero{grid-template-columns:1fr .8fr;gap:44px}.hero h1{font-size:clamp(43px,6vw,62px)}.floating-log{right:-12px}.results-strip{grid-template-columns:repeat(2,1fr)}.result-item:nth-child(2){border-right:0}.result-item:nth-child(-n+2){border-bottom:1px solid var(--line)}.project-1,.project-2,.project-5,.project-card{grid-column:span 6}.project-5{grid-column:4/span 6}.method-section{grid-template-columns:1fr}.method-intro{max-width:690px;position:static}.more-work-grid{grid-template-columns:repeat(2,1fr)}.contact-section{grid-template-columns:1fr;align-items:start}.contact-actions{flex-wrap:wrap;display:flex}}@media (width<=760px){.section,.site-header,.site-footer{width:min(100% - 32px, var(--max))}.site-header{height:72px}.menu-button{place-items:center;padding:8px;display:grid}.nav-links{border:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#07111ff7;border-radius:14px;flex-direction:column;align-items:stretch;gap:4px;padding:18px;display:none;position:absolute;top:66px;left:0;right:0;box-shadow:0 20px 60px #0006}.nav-links.is-open{display:flex}.nav-links a{padding:12px 10px}.nav-cta{text-align:center;margin-top:6px}.hero{grid-template-columns:1fr;gap:56px;min-height:auto;padding:56px 0 86px}.hero h1{font-size:clamp(42px,12vw,61px)}.hero-lead{font-size:16px}.hero-visual{justify-self:center;max-width:520px}.portrait-crop{aspect-ratio:.87;border-radius:24px 24px 86px}.portrait-crop img{object-position:88% 48%;transform:scale(1.12)}.floating-log{width:min(260px,72%);bottom:28px;right:-4px}.status-chip{left:12px}.results-strip{width:calc(100% - 16px);padding:0}.result-item{gap:3px;min-height:138px;padding:24px 18px;display:grid}.result-item strong{font-size:38px}.work-section{padding-block:105px 80px}.section-heading{grid-template-columns:1fr;gap:22px;margin-bottom:42px}.section-heading h2,.method-intro h2,.about-card h2{font-size:clamp(36px,10vw,50px)}.projects-grid{display:block}.project-card{margin-bottom:18px}.project-content{padding:23px 20px}.project-title-row h3{font-size:20px}.project-footer{align-items:flex-end}.method-section{gap:44px;padding-block:90px}.build-step{grid-template-columns:56px 1fr;padding-right:17px}.step-status{display:none}.more-work-section{padding-block:90px}.section-heading.compact .text-link{justify-self:start}.more-work-grid{grid-template-columns:1fr}.about-section{padding-block:70px 100px}.about-columns{grid-template-columns:1fr;gap:20px;margin-top:36px}.skill-ribbon{margin-top:40px}.contact-section{gap:40px;width:calc(100% - 24px);padding:38px 24px}.contact-actions{display:grid}.site-footer{flex-direction:column;align-items:flex-start;gap:10px;padding-block:28px}}@media (width<=430px){.brand-copy small{display:none}.hero-actions .button{width:100%}.hero-proof{display:grid}.result-item{border-right:0;border-bottom:1px solid var(--line)}.results-strip{grid-template-columns:1fr}.result-item:nth-child(2){border-bottom:1px solid var(--line)}.result-item:last-child{border-bottom:0}.project-story div{grid-template-columns:1fr;gap:4px}.project-footer{flex-direction:column;align-items:flex-start}.floating-log{bottom:18px}.review-pipeline{grid-template-columns:1.4fr auto 1fr}.review-agent,.review-message+.review-arrow{display:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
